PROGRAMACIÓN 2018-A El estándar IEC-61131 • Los lenguajes de programación de PLCs habituales (IL, ST, FBD, LD, SCL) se regulan por la norma IEC-61131-3.
• Esta norma fue establecida por la Comisión Electrotécnica
Internacional (IEC) en la década de los sesenta con el objetivo de estandarizar el mercado de los autómatas programables. Lenguajes Gráficos • Esquema de contactos (LD): • Ladder Diagram • Representación gráfica de los esquemas eléctricos de control tradicionales. • Lenguaje de programación de PLCs más utilizado.
• Diagrama de funciones (FBD):
• Function Block Diagram • Formado por un conjunto de bloques lógicos que se interconectan en cascada de forma similar a como se hace en electrónica digital. Lenguajes literales o textuales • Lista de instrucciones (IL): • Instruction List • Lenguaje de bajo nivel, tipo ensamblador • Permite crear programas de usuario propios de hardware y con optimización de tiempo de ejecución y espacio de almacenamiento.
• Texto estructurado (ST):
• Structured Text • Lenguaje de alto nivel que permite programación estructurada (división de tareas) • Facilita la programación de procesos que requieren instrucciones complejas o grandes cálculos. Lenguajes orientados a objetos
• Diagrama funcional de secuencias (SFC):
• Sequential Function Chart • Es sustituto del GRAFCET • Permite representar el desarrollo en el tiempo de las distintas acciones de un proceso • Describe con secuencias de pasos alternativas o paralelas. • Se emplea frecuentemente en el diseño de sistemas secuenciales, donde las acciones se ejecutan en orden conforme se cumplen ciertas condiciones. • Nota: ES ESTRUCTURA DE ORGANIZACIÓN DE LOS OTROS LENGUAJES ORIGEN ALEMÁN (SIEMENS) ORIGEN INGLÉS FUP FBD KOP LD AWL IL SCL ST GRAPH SFC El lenguaje CFC (Continuous Function Chart)
• Es una extensión no estandarizada del lenguaje FBD.
• Lenguaje gráfico, muy similar al empleado en diagramas de electrónica digital en el
que se interconectan elementos como bloques, entradas, salidas, etiquetas, etc.
• Se trata de un lenguaje de gran utilidad para aplicaciones con funciones aritméticas,
lógica combinacional y cálculos sencillos, pero no muy eficaz para lógica secuencial. ¿Qué lenguaje usar? Tener en cuenta: • El tipo de aplicación y su complejidad. • Los requisitos y prácticas del cliente final y de su departamento de mantenimiento. • El tiempo de implementación del proyecto. • Seguimiento del proyecto. • PLC y entorno de programación. • Aceptación universal del lenguaje. • Facilidad de portabilidad. • Facilidad de aprendizaje. LENGUAJE PUNTOS FUERTES PUNTOS DÉBILES Popular en el mundo de la Cálculos matemáticos. automatización. Procesamiento de datos Funciones binarias y (cadena de caracteres, E/S booleanas. analógicas, rutinas de comunicación). Procesado rápido. Bucles e instrucciones de LD Fácil integración de bloques repetición. funcionales estándar. Lógica secuencial con gran Programación visual y fácil número de secuencias. de interpretar. Creación de bloques Fácil de modificar funcionales de usuario con gran número de variables LENGUAJE PUNTOS FUERTES PUNTOS DÉBILES Funciones booleanas. Lógica secuencial con gran número de secuencias. Cálculos matemáticos simples. Bucles e instrucciones de repetición. Procesamiento de datos analógicos. Creación de bloques funcionales de usuario con FBD Fácil integración de bloques gran número de variables. funcionales - estándar. Modificación del programa. Programación visual y fácil de interpretar. Seguimiento e interpretación en programas complejos. LENGUAJE PUNTOS FUERTES PUNTOS DÉBILES Codificación rápida y simple Lógica combinacional introducción de datos. compleja.
Código compacto. Cálculos matemáticos y
procesamiento de datos. Rápido procesamiento y velocidad de ejecución (ciclos Difícil seguimiento optimizados). posterior (interpretación, comprensión y IL Bucles, instrucciones de modificación). repetición y saltos. Interpretación por usuarios Lógica secuencial simple. inexpertos
Representación ordenada.
Portabilidad, transferible a otras
plataformas. LENGUAJE PUNTOS FUERTES PUNTOS DÉBILES Codificación rápida y simple introducción de Lógica combinacional con una datos. cantidad significante de variables.
Programación estructurada similar a lenguajes de Requiere mayor habilidad de
alto nivel de programación de PCs. programación.
Código compacto y buena velocidad de Carencia de instrucciones de salto.
ejecución. Peligro de bucles grandes o infinitos Cálculos matemáticos y procesamiento de datos. (error de perro guardián). ST Bucles e instrucciones de repetición. Visualización e interpretación en caso de programas complejos con Fácil de usar y rápida asimilación por nuevos gran número de variables. usuarios. Modificaciones en el programa. Creación de bloques funcionales de usuario con gran número de variables.
Portabilidad a otras plataformas
LENGUAJE PUNTOS FUERTES PUNTOS DÉBILES Fácil realización de aplicaciones Difícil introducción de datos y secuenciales y tareas repetitivas. programación (gráficos, acciones, transiciones). Representación clara y precisa de las secuencias. No puede traducirse a otros lenguajes estándar. SFC Incorporación de secuencias complejas No es totalmente compatible Mantenimiento fácil por el usuario con GRAFCET. final. Requiere más recursos. Documentación de ayuda del proyecto.