El documento describe los diferentes lenguajes de programación para PLCs definidos por la norma IEC 1131-3. Explica que la norma estandariza cuatro lenguajes, dos gráficos (Diagrama de Ladder y Diagrama de Bloques de Funciones) y dos basados en texto (Lista de Instrucciones y Texto Estructurado). También describe brevemente cada uno de estos lenguajes y sus características principales.
0 calificaciones0% encontró este documento útil (0 votos)
1K vistas11 páginas
El documento describe los diferentes lenguajes de programación para PLCs definidos por la norma IEC 1131-3. Explica que la norma estandariza cuatro lenguajes, dos gráficos (Diagrama de Ladder y Diagrama de Bloques de Funciones) y dos basados en texto (Lista de Instrucciones y Texto Estructurado). También describe brevemente cada uno de estos lenguajes y sus características principales.
El documento describe los diferentes lenguajes de programación para PLCs definidos por la norma IEC 1131-3. Explica que la norma estandariza cuatro lenguajes, dos gráficos (Diagrama de Ladder y Diagrama de Bloques de Funciones) y dos basados en texto (Lista de Instrucciones y Texto Estructurado). También describe brevemente cada uno de estos lenguajes y sus características principales.
El documento describe los diferentes lenguajes de programación para PLCs definidos por la norma IEC 1131-3. Explica que la norma estandariza cuatro lenguajes, dos gráficos (Diagrama de Ladder y Diagrama de Bloques de Funciones) y dos basados en texto (Lista de Instrucciones y Texto Estructurado). También describe brevemente cada uno de estos lenguajes y sus características principales.
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Está en la página 1de 11
METODO DE PROGRAMACION DE PLCS
NORMA ANSSI IEC 1131-3
LENGUAJES DE PROGRAMACION DE PLCS
1. PROGRAMA Y LENGUAJE DE PROGRAMACIN
Se puede definir un programa como un conjunto de instrucciones, rdenes y smbolos reconocibles por el PLC, a travs de su unidad de programacin, que le permiten ejecutar una secuencia de control deseada. El Lenguaje de Programacin en cambio, permite al usuario ingresar un programa de control en la memoria del PLC, usando una sintaxis establecida.
Al igual como los PLCs se han desarrollado y expandido, los lenguajes de programacin tambin se han desarrollado con ellos. Los lenguajes de hoy en da tienen nuevas y ms verstiles instrucciones y con mayor poder de computacin. Por ejemplo, los PLCs pueden transferir bloques de datos de una localizacin de memoria a otra, mientras al mismo tiempo llevan cabo operaciones lgicas y matemticas en otro bloque. Como resultado de estas nuevas y expandidas instrucciones, los programas de control pueden ahora manejar datos ms fcilmente.
2. PROGRAMAS DE APLICACIN Y DEL SISTEMA
Los programas de aplicacin que crean los usuarios estn orientados a ejecutar, a travs del controlador, tareas de automatizacin y control. Para ello, el usuario escribe el programa en el lenguaje de programacin que mejor se adapte a su trabajo y con el que sienta poseer un mejor dominio. En este punto es importante sealar, que algunos fabricantes no ofrecen todas las formas de representacin de lenguajes de programacin, por lo que el usuario deber adaptarse a la representacin disponible. 3. TIPOS DE LENGUAJES DE PROGRAMACIN DE PLCS Actualmente existen tres tipos de lenguajes de programacin de PLCs como los ms difundidos a nivel mundial; estos son: - Lenguaje de contactos o Ladder - Lenguaje Booleano (Lista de instrucciones) - Diagrama de funciones
Es obvio, que la gran diversidad de lenguajes de programacin da lugar a que cada fabricante tenga su propia representacin, originando cierta incomodidad al usuario cuando programa ms de un PLC.
4. LA NORMA ANSSI IEC 1131-3 La Comisin Electrotcnica Internacional (IEC) desarroll el estndar IEC 1131, en un esfuerzo para estandarizar los Controladores Programables. Uno de los objetivos del Comit fue crear un conjunto comn de instrucciones que podra ser usado en todos los PLCs.
El estndar IEC 1131 para controladores programables consiste de cinco partes, una de las cuales hace referencia a los lenguajes de programacin y es referida como la IEC 1131-3.
El estndar IEC 1131-3 define dos lenguajes grficos y dos lenguajes basados en texto, para la programacin de PLCs. Los lenguajes grficos utilizan smbolos para programar las instrucciones de control, mientras los lenguajes basados en texto, usan cadenas de caracteres para programar las instrucciones.
Lenguajes Grficos
o Diagrama Ladder (LD) o Diagrama de Bloques de Funciones (FBD)
Lenguajes Textuales
o Lista de Instrucciones (IL) o Texto Estructurado (ST)
Adicionalmente, el estndar IEC 1131-3 incluye una forma de programacin orientada a objetos llamada Sequential Function Chart (SFC). SFC es a menudo categorizado como un lenguaje IEC 1131-3, pero ste es realmente una estructura organizacional que coordina los cuatro lenguajes estndares de programacin (LD, FBD, IL y ST).
5. LENGUAJES DE PROGRAMACION IEC 1131-3
El IEC 1131-3 est basado en la lgica de escalera utilizada en controladores (incluyendo bloques funcionales) por su simplicidad, representacin y programabilidad. Sin embargo el IEC 1131-3 disminuye la necesidad de usar circuitos con complejos entrecruzamientos, tpicos en diagramas de escalera. Mejora los lenguajes usados anteriormente e incorpora un poderoso entorno denominado diagrama de funciones secuenciales haciendo mucho ms fcil el entrecruzamiento de variables, la interpretacin del programa de control y la implementacin del sistema de control, tanto para el programador como para el usuario final.
5.1. LENGUAJE LADDER
El lenguaje Ladder o tambin llamado diagrama de escalera (LD) es un lenguaje de programacin grfico muy popular dentro de los Controladores Lgicos Programables (PLC), debido a que usa un conjunto estandarizado de smbolos de programacin en escalera, basado en los esquemas elctricos de control clsicos.
Su principal ventaja es que los smbolos bsicos estn normalizados segn normas NEMA y son empleados por todos los fabricantes.
En la siguiente tabla podemos observar los smbolos de los elementos bsicos junto con sus respectivas descripciones.
SIMBOLO
DESCRIPCION
Barra de alimentacin izquierda (con enlace horizontal acoplado).
Contactos
Bobinas
Bloques Funcionales Barra de alimentacin derecha (con enlace horizontal acoplado).
Smbolo de salto.
Smbolo de retorno.
Entrada EN.
Salida ENO.
ENLACES:
CONTACTOS
SIMBOLO
DESCRIPCION
Contacto Normalmente Abierto.
Contacto Normalmente Cerrado. Contacto de deteccin de Transicin Positiva (Flanco Ascendente). Contacto de deteccin de Transicin Negativa (Flanco Descendente).
BOBINAS
SIMBOLO
DESCRIPCION
Bobina Normalmente Abierto. Bobina de accionamiento directo.
Bobina Normalmente Cerrado. Bobina de accionamiento Indirecto.
Seteo de una salida
Reseteo de una salida.
Lenguaje Ladder - Procesamiento y Limitaciones
Las bobinas pueden ir precedidas de contactos, pero no pueden estar seguidas por ninguno.
Lo mismo se aplica a los bloques Funcin, por ejemplo el bloque funcin transferencia, ya que se comporta como bobina.
La cantidad de uniones "llamados NODOS" estn limitados, no puede superar cierto nmero.
Los bloques Timer, Contadores, etc. slo pueden aparecer una vez en el programa. Sin embargo pueden utilizarse contactos y bobinas referidos a stos en cualquier parte. No pueden editarse dos bloques Timer, etc. con el mismo nmero.
5.2. LENGUAJE BOOLEANO (Lista de Instrucciones IL)
Es un lenguaje de bajo nivel basado en operaciones Booleanas y cuya apariencia es similar al cdigo del lenguaje ensamblador; se podra afirmar tambin que este lenguaje no es ms que la representacin en forma de texto del lenguaje grfico "Ladder".
Una lista de instrucciones (IL) se compone de una serie de instrucciones. Cada instruccin empieza en una nueva lnea, contiene un operador y, segn sea el tipo de operacin, incluye uno o varios operandos separados por comas. Un comentario ha de ser el ltimo elemento de una lnea. Se pueden insertar lneas vacas entre las instrucciones.
A continuacin aparece una tabla de todos los operadores en lenguaje IL:
Operador
Modificadores
Significado LD N Establecer resultado actual igual al operando TE N Guardar resultado actual en la posicin del operando S Pone el resultado booleano en 1. R Poner el operando booleano en cero AND N, ( AND por bits OR N, ( OR por bits XOR ( OR exclusivo por bits ADD ( Suma SUB ( Resta MUL ( Multiplicacin DIV ( Divisin GT ( > GE ( >= EQ ( = NE ( <> LE ( <= LT ( < JMP CN Saltar a la marca CAL CN Llamar a Bloque de Funciones RET CN Volver de la llamada a un Bloque de Funciones ) Evaluar operacin de repuesta 5.3. DIAGRAMA DE BLOQUES FUNCIONALES (FBD)
Es un lenguaje grfico que permite al usuario programar elementos (bloque de funciones del PLC) en tal forma que ellos aparecen interconectados al igual que un circuito elctrico. Generalmente utilizan smbolos lgicos para representar al bloque de funcin. Las salidas lgicas no requieren incorporar una bobina de salida, porque la salida es representada por una variable asignada a la salida del bloque.
Adicionalmente a las funciones lgicas estndares y especficas del vendedor, el lenguaje FBD de la Norma IEC 1131-3 permite al usuario construir sus propios bloques de funciones, de acuerdo a los requerimientos del programa de control.
Algunos sistemas IEC 1131-3 usan smbolos lgicos para representar los bloques de funcin. No se requiere la representacin de bobinas de salida, ya que dicha salida es representada por la variable asignada al bloque.
Esta variable puede ser usada en otras instrucciones a lo largo del programa. El usuario puede sin embargo usar una representacin de bobina, si as lo desea; no obstante estar limitado al bloque de ms a la derecha. El lenguaje FBD usa bloques de funciones estndar y especficos del fabricante.
En adicin a los bloques de funcin especficos de cada fabricante, el IEC 1131-3 permite la construccin de funciones por parte del usuario, de acuerdo a los requerimientos del programa de control. Esto es llamado encapsulamiento. La ventaja de crear bloques de funcin definidos por el usuario es que pueden contener otros bloques de funcin, listas de instrucciones o texto estructurado con o sin instrucciones en diagrama de escalera. Esto le da una gran flexibilidad a la programacin con bloques de funciones. El encapsulamiento permite que el usuario almacene los bloques que haya creado en una librera que le permitir usarlo tantas veces como lo requiera el programa, de la misma manera en que lo hara con cualquier otro bloque de funcin.
5.4. LENGUAJE DE TEXTO ESTRUCTURADO (ST).
Texto estructurado (ST) es un lenguaje de alto nivel que permite la programacin estructurada, lo que significa que muchas tareas complejas pueden ser divididas en unidades ms pequeas. ST se parece mucho a los lenguajes de computadoras BASIC o PASCAL, que usa subrutinas para llevar a cabo diferentes partes de las funciones de control y paso de parmetros y valores entre las diferentes secciones del programa.
Al igual que LD, FBD e IL, el lenguaje de texto estructurado utiliza la definicin de variables para identificar entradas y salidas de dispositivos de campo y cualquier otra variable creada internamente.
Incluye estructuras de clculo repetitivo y condicional, tales como: FOR ... TO; REPEAT..... UNTIL X; WHILE X...; IF... THEN...ELSE. Adems soporta operaciones Booleanas (AND, OR, etc.) y una variedad de datos especficos, tales como fecha, hora.
ST es el mejor lenguaje para la implementacin de aplicaciones de inteligencia artificial, lgica difusa, toma de decisiones, etc.
A continuacin se muestra una tabla con los operadores ST por orden de fuerza de enlace.
Operacin Smbolo Fuerza de enlace Entre parntesis (expresin) E. ms fuerte Llamada a funciones Nombre de funcin (lista de parmetros) Potenciar EXPT Negar Formacin de complemento - NOT
Multiplicar Dividir Mdulo * / MOD
Sumar Restar + -
Comparar <,>,<=,>= Igualdad Desigualdad = <>
Bool AND AND Bool XOR XOR Bool OR OR E. ms dbil
A continuacin se indican las siguientes instrucciones en ST ordenadas en forma de tabla y con un ejemplo:
Tipo de instruccin
Ejemplo Asignacin A:=B; CV := CV + 1; C:=SIN(X); Llamada a un Bloque de Funciones y uso de la salida FB
CMD_TMR(IN := %IX5, PT := 300);A:=CMD_TMR.Q; RETURN RETURN; IF IF D:=B*B;IF D<0.0 THEN C:=A;ELSIF D=0.0 THEN C:=B;ELSE C:=D;END_IF; CASE CASE INT1 OF1: BOOL1 := TRUE;2: BOOL2 := TRUE;ELSE BOOL1 := FALSE; BOOL2 := FALSE;END_CASE; FOR FOR J:=101;FOR I:=1 TO 100 BY 2 DO IF ARR[I] = 70 THEN J:=I; EXIT; END_IF;END_FOR; WHILE WHILE J<= 100 AND ARR[J] <> 70 DO J:=J+2;END_WHILE; REPEAT REPEAT J:=J+2;UNTIL J= 101 OR ARR[J] = 70END_REPEAT; EXIT EXIT; Instruccin vaca ;
5.5. SEQUENTIAL FUNCTION CHART (SFC) Es un lenguaje grfico que provee una representacin diagramtica de secuencias de control en un programa. Bsicamente, SFC es similar a un diagrama de flujo, en el que se puede organizar los subprogramas o subrutinas (programadas en LD, FBD, IL y/o ST) que forman el programa de control. SFC es particularmente til para operaciones de control secuencial, donde un programa fluye de un punto a otro una vez que una condicin ha sido satisfecha (cierta o falsa).
El marco de programacin de SFC contiene tres principales elementos que organizan el programa de control:
El programa ir activando cada una de las etapas y desactivando la anterior conforme se vayan cumpliendo cada una de las condiciones. Las acciones se realizarn en funcin de la etapa activa a la que estn asociadas. Por ejemplo, la etapa 1 activa tras arrancar el programa, al cumplirse la "Condicin 1", se activar la etapa 2, se desactivar la 1, y se realizar la "Accin 1".
WHILE <expresin bool> DO <instruccin>; <instruccin>; END_WHILE;
SENTENCIA REPEAT
REPEAT <instruccin>; <instruccin>;
UNTIL <expresin booleana> END_REPEAT;
EXIT Sentencia Vaco
Ejemplo:
CONCLUSIONES Las implicaciones tcnicas de la norma IEC 1131-3 son altas, dejando suficiente espacio para el crecimiento futuro y la diferenciacin. IEC 1131-3 tendr un gran impacto en toda la industria del control y automatizacin industrial. Hoy en da, se puede observar que ha sido adoptado por el mercado de control de movimiento, sistemas distribuidos, sistemas de control basados en computadoras personales con lgica por software (softlogic), incluyendo sistemas SCADAs.
Teniendo una norma sobre tan amplia rea de aplicacin, trae numerosos beneficios para usuarios y programadores. Solo para mencionar algunas:
Reduce el desperdicio en recursos humanos, en entrenamiento, depurado, mantenimiento e ingeniera de consulta. Reduce los malentendidos y errores. Se crea un enfoque a la resolucin del problema mediante reciclaje o reutilizacin del software de alto nivel. Tcnicas de programacin utilizables en un ambiente amplio: control industrial en general. Combinacin de diferentes componentes en diferentes programas, proyectos, localizaciones, compaas y/o pases.
BIBLIOGRAFIA
Estndar de Programacin IEC 1131-3. Dpto. de Sistemas Electrnicos y de control. Estandarizacin de programacin de control Industrial. Facultad de Ingeniera Elctrica. Universidad de Oriente, Tecnologas emergentes en automatizacin.