You are on page 1of 16

LENGUAJES DE

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.