IEC 61131 es un compendio de recomendaciones y buenas prácticas publicados por la Comisión Electrotécnica Internacional, con el objeto de estandarizar aquellas acciones relacionadas a los autómatas, controladores programables y sus periféricos asociados. Dentro de sus divisiones se encuentra la sección 3, encaminada a los Lenguajes de Programación, la cual mencionaré a continuación.
Cuando se requiere programar un dispositivo es necesario configurar las funciones de dicho hardware a través de software. Es por ello que se hace necesario entender y apropiar el uso de un lenguaje de programación estructurado, organizado, que permita dar solución a una problemática determinada y garantice sacar el mejor provecho del hardware que se está configurando (PLC, PAC, etc.).
Dentro de lo contemplado en la IEC 61131-3 se recomienda el uso de algunos lenguajes de programación, subdivididos en lenguajes de tipo texto y lenguajes gráficos. Dentro de los lenguajes tipo texto se encuentra la lista de instrucciones (IL o AWL) y el texto estructurado. En referencia a los lenguajes gráficos se puede mencionar el lenguaje basado en esquema de contactos (Ladder o KOP), otro basado en diagrama de funciones o bloques de funciones (FBD o FUP), y también se puede mencionar el diagrama funcional de secuencias, denominado tambien Grafcet.
Asimismo, IEC 61131-3 recomienda algunos tipos de datos por su relevancia y uso a la hora de programar dispositivos autómatas. Se encuentran en esta categoria los datos tipo booleano, entero, real, byte, word, string. Existen otros tipos de datos especiales que varian segun el fabricante de determinado hardware. Dichos datos son almacenados en variables que pueden ser de instancia (permanentes) o temporales.
Otro aspecto a mencionar en relación a la organización de la programación de autómatas es el uso de funciones en el programa de común uso. En este caso la normativa define algunas funciones como estándares (ej: ADD adición, SIN seno) y otras como funciones de usuario. Adicionalmente, se permite el uso de bloques de funciones, en donde es posible guardar el estado de variables de proceso, realizar operaciones, trasladar y recibir datos, entre otros aspectos. Como ejemplo, la imagen superior muestra una posible jerarquía de los bloques funcionales y la interacción entre ellos dentro de la ejecución del algoritmo de programación.
Comparto un video donde muestro el uso de los diferentes lenguajes de programación basado en la IEC 61131-3.
Ingeniero Marroquin ®