Está en la página 1de 3

E LECTRONICA I NDUSTRIAL

PLCs
Controladores Lgicos Multipropsito
EN LAS NOTAS ANTERIORES SE ANALIZARON CONTROLADORES LOGICOS PROGRAMABLES CON ENTRADAS SALIDAS DIGITALES. EN ESTA NOTA ANALIZAREMOS UN NUEVO CONTROLADOR CON ENTRADAS SALIDAS ANALOGICAS, SALIDAS DE PWM, ENTRADAS/SALIDAS DIGITALES, ETC. ESTE NOS PERMITIRA REALIZAR CONTROLES INTERESANTES DONDE PUEDAN PARTICIPAR VARIABLES DE CAMPO COMO SER: TEMPERATURAS, PRESIONES, TENSIONES, CORRIENTES, ETC.
Por: Gustavo Reimondo Dpto. Tcnico de SCM International www.cybernomo.com

ablaremos del controlador SCMT100MX que es un producto revolucionario en muchos sentidos. Por primera vez est disponible en la industria, un controlador programable, con excelentes prestaciones a un precio mucho menor que el de un PLC ordinario de entradas y salidas on/off. Pero lo verdaderamente sorprendente del SCMT100MX es su facilidad de uso, debido al empleo de una versin de software simplificada, la cual veremos luego. Puede ser programado combinando la potencia del software Ladder con el Basic. Es decir, se puede utilizar la eficiencia y facilidad de entendimiento de los programas Ladder para la programacin lgica, y utilizar la potencia del lenguaje BASIC para soportar tareas intensas de procesamiento de datos, anlisis de lectoras de cdigos de barras o envo de informacin a una computadora cen-

tral. Soporta matemtica entera de 32-bit, "arrays" unidimensionales, IF THEN ELSE, WHILE, FOR-NEXT, etc. El lenguaje de programacin es muy parecido en su sintaxis al BASICA o QBASIC de las PCs; lenguajes con los cuales muchos programadores estn familiarizados. El software de desarrollo puede ser ejecutado en cualquier PC y tiene un SIMULADOR. Con l podr testear sus programas y simular sus procesos en su PC antes de construir su tablero o mquina. Una vez que el operador est conforme con sus programas, simplemente deber conectar el PLC a su PC a travs de una interfase RS232. Es posible transferir el programa a la memoria EEPROM del PLC. Como sabemos, los esfuerzos de debugging (seguimiento del programa) consumen una gran cantidad de tiempo en el diseo y por lo cual, contar con una buena herramienta,

es invaluable para un programador. Para ello el SCMT100 ofrece herramientas de monitoreo On-Line, las cuales le permitirn ver el valor de todas las variables internas y los estados lgicos de todos los I/Os (elementos conectados en las entradas/salidas del PLC), timers y contadores en tiempo real. Podr setear Break points (interrupciones de procesamiento) para generar pausas en el procesamiento y poder analizar el estado del programa. Los estados lgicos de los I/Os y los valores de las variables pueden ser modificados desde su PC, esto le dar una increble flexibilidad en la puesta en marcha del sistema (vea la figura 1 la imagen del SCMT100 con el opcional de display 4 lneas x 16 caracteres).

Caractersticas tcnicas de la configuracin estndar


* 2 canales para control de motores paso a paso y servo motores.

SABER ELECTRONICA N 134

34

C ONTROLADORES L OGICOS M ULTIPROPOSITO


* 2 canales de salida por modulacin por ancho de pulso (PWM). * 2 contadores de alta velocidad (acepta conexin a encoders). * 4 entradas con interrupcin. * 8 canales analgicos digitales de 10-bit A/D (D/A sin uso), o 6 canales analgicos digitales de 10 bit + 2 canales digitales analgicos. * 2 canales digitales analgicos de 8-bit. * Reloj de tiempo real y calendario (ao, da, mes, hora, minutos, segundos, semana). 1 * 2 puertos RS232 y uno RS485, para conectarse con terminales, lectoras de cdigos de barra, mdem, etc. * PID interno. * Programable en Ladder + BASIC. * 256 rels internos, 64 timers. (0.1s o 0.01s de resolucin), 64 contadores. * 3616 Words de memoria EEPROM de programa. * 128 Words de memoria EEPROM de datos. Entradas/salidas de ON/OFF, desde 16 entradas optoaisladas y 16 salidas a 64 entradas y 64 salidas. ga las nuevas herramientas de programacion TBASIC y de esta manera soporta procesamientos complejos que de otra forma seran muy complicados de escribir si usamos el Ladder tradicional. Para compatibilizar la programacin Ladder con el Basic, se implementaron las funciones de cliente, Custom-Function (abreviadas como CusFn), la cual puede conectarse como una funcin especial de una bobina. Los comandos TBASIC son ingresados a travs de un editor de texto que le permitir definir la funcin CusFn. Podr definir hasta 128 CusFns. Una CusFn puede ser conectada a una terminal de un programa Ladder, o a una bobina con entrada diferencial [dCusF] lo cual har que el programa sea ejecutado slo una vez, y cuando la transicin de la bobina sea de OFF a ON. Cualquier CusFn podr ser invocada por otra CusFns y que acte como una subrutina.

DM[1]..DM[4000] (Total = 4000), input[n], output[n], relay[n], timerbit[n], ctrbit[n], timerPV[n],ctrPV[n], HSCPV[n], (High Speed Counter). TIME[n], DATE[n].

Descripcin del TBASIC


El TBASIC soporta clculos de enteros de 32-bit. Todas las constantes son tomadas como enteros de 32-bits y hay 26 variables (A a Z ) de 32 bits de largo. Estas variables pueden representar nmeros desde -231 a +231. Los datos restantes, variables del sistema y datos en memoria son todos de 16 bits, lo que significa que pueden ser almacenados entre -32768 a +32767. Las variables de 16 bits son:

Sin embargo, todos los cmputos numricos en TBASIC se efectan en 32 bits enteros, sin considerar la longitud de las variables involucraOperadores enteros das en la expresin numrica. a) Operadores aritmticos: Todas las variables usadas en +, -, *, /, MOD TBASIC son del tipo GLOBALES, esb) Operadores lgicos: to significa que estas variables se Se dan en la tabla 1. comparten y pueden ser accesibles c) Operadores relacionales, utilipor cualquier de las 128 funciones. zados en estructuras IF...THEN, El nuevo ladder Version 4.0 es el WHILE... editor, compilador y simulador de Los mismos se dan en la tabla 2. software para programar la nueva serie de PLCs M-series. Esta versin Manejo de strings ha sido creada especialmente para TBASIC maneja y opera string de esta nueva serie por consiguiente no 0 a 70 caracteres de largo. puede ser utilizada con la serie H o E que fue analizada en otros artculos. Smbolo Operacin Ejemplo & lgica & Y lgica IF input[1] & &H02... La Version 4.0 expande el | O lgica output[1] = A | &H08 lenguaje ladder de las versio^ O exclusiva A = RELAY[2] ^ B nes 3.x (el cual es el editor ~ Inversin lgica A = ~timerPV[1] estndar para la programaTabla 1 cin de la serie H), as agre-

SABER ELECTRONICA N 134

35

C ONTROLADORES L OGICOS M ULTIPROPOSITO


Smbolo Operacin = Igual a <> Distinto a > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que AND Y relacional OR O relacional Tabla 2 Ejemplo & Lgica IF A=100 WHILE CTR_PV[0]<>0 IF B> C/(D+10) IF TIME[3] < 59 WHILE X >= 10 IF DM[I] <= 5678 IF A>B AND C<=D IF A<>0 OR B=100

3
Las funciones y sentencias de TBASIC se dan en la tabla 3. Montaje e instalacin Debido al compacto diseo del SCMT100MX , podr instalarlo en una gran variedad de gabinetes plsticos o metlicos. Slo necesitar de 4, 6 u 8 aisladores para sujecin de tarjetas (o simplemente tuercas y tornillos) para ajustar el controlador al tablero, bandeja o gabinete donde se lo instalar. Posee borneras "extrables" para una sencilla instalacin, que facilitan la instalacin y mantenimientoi de los sistemas (vea la figura 2).

Fuente de alimentacin Los modelos pequeos del SCMT100MX como ser el SCMT100MX-1616 y SCMT100MX-3224R requieren de una fuente regulada de 24V (+/- 15%) de corriente continua. Aunque el CPU slo requiere de 12V DC, los rels precisan +17V para poder operar. Para los modelos con salida de transistor (SCMT100MX-1616 a SCMT100MX-6464) el PLC podr operar en un rango de tensin de 12 a 24V DC. Los modelos con gran cantidad de entradas/salidas como ser: el SCMT100MX-4832 y T100MX-6464 poseen dos conectores de alimentacion independientes: uno pra el CPU y otro para las salidas de potencia (vea la figura 3). Si utiliza una nica fuente de alimentacin la recomendacin es utilizar dos pares de alimentacin por separado. Hasta aqu se ha visto una descripcin de hardware y sistemas de desarrollo de algunos de los controladores lgicos programables. En las prximas notas se analizarn aplicaciones diversas.

ABS(x): devuelve el valor entero de x ADC(n): lee un canal A/D ASC(x$,n): devuelve el cdigo ascii CALL n: llama a una funcin de usuario CHR$(n): convierte un nmero en su equivalente ascii CLRBIT v,n: pone a cero un bit de una variable FOR ... NEXT: para ejecutar una serie de instrucciones una cantidad de veces GetCtrSV (n) y GetTimerSV (n): devuelven el valor del contador o timmer GETHIGH16(v): devuelve los 16 bits ms altos de un entero GOTO @ n: para saltar a una lnea especfica de programa HEX$(n): devuelve la expresin hexadecimal del nmero como un string HSTIMER n: para definir un timer como de alta velocidad HSCDEF ch, fn,v: setea un timer de alta velocidad HSCOFF ch: des habilita un contador IF .. THEN .. ELSE .. ENDIF : salto condicional INPUT$(ch): para obtener un string de un puerto de comunicacin INTRDEF ch, fn,e: habilita un canal de interrupcin CusFn # fnINTROFF ch: deshabilita un canal de interrupcin LEN(x$): devuelve la cantidad de caracteres en un string LOAD_EEP(addr): para obtener datos de EEPROM LSHIFT i,n: shift a izquierda MID$(x$,n,m): para extraer un string de n caracteres de otro string PAUSE: pausa CusFnPIDdef ch, lmt, P,I,D: para setear los parmetros de un PID PRINT# n x$;.. y; z....: manda un string al port de comunicaciones PMON ch y PMOFF ch: Medicin de ancho de pulsos PULSEFREQUENCY, PULSEPERIOD y PULSEWIDTH: medicin de pulsos y frecuencias REFRESH: refresco inmediato de una salida RESET: reset por software RETURN: retorno de subrutina REM (o '): para poner comentarios en el programa RSHIFT i,n: shift a derecha SAVE_EEP data, addr: guarda datos en EEPROM SETBAUD ch, baud: setea la velocidad de comunicacin de un puerto de comunicaciones SETBIT v,n: poner un bit a uno. SetCtrSV n, val y SetTimerSV n, val: setea un contador o timmer SETDAC n, x: para setear un canal A/D SETTHIGH16 v,d: para setear los 16 bits altos de un entero SETPWM n, x, y: para setear un canal de PWM STEPCOUNT(ch): cuenta la cantidad de pasos desde STEPMOVE STEPSPEED ch, pps, accSet: cuenta la velocidad en pulsos por segundo para el generador de pulsos de la salida para motores paso a paso. STEPMOVE ch, count, rActivate: cantidad de pulsos a generarse para los pasos del motor paso a paso STEPSTOP: detiene la generacin de pulsos STR$(n): convierte el numero n en un string STRCMP(A$, B$): comparacin de dos string STRUPR$(A$): devuelve un string en maysculas STRLWR$(A$): devuelve un string en minsculas TESTBIT (v,n): devuelve el estado de un bit en una variable WHILE expresion .... ENDWHILE: ejecuta una serie de sentencias mientras sea vlida la expresin VAL(x$): devuelve el valor de un nmero en un string

Tabla 3

SABER ELECTRONICA N 134

36