Estándar industrial para controladores lógicos programables
La norma IEC 61131-3 es la tercera parte (de 10) de la norma internacional IEC 61131 para controladores lógicos programables . Fue publicada por primera vez en diciembre de 1993 [1] por la IEC ; la edición actual (tercera) se publicó en febrero de 2013. [2]
La Parte 3 de la norma IEC 61131 trata sobre la arquitectura básica del software y los lenguajes de programación del programa de control dentro de los PLC . Define tres estándares de lenguaje de programación gráfico y dos de texto:
Tipos de datos
- Tipo de datos elementales
- Cadenas de bits: grupos de valores de encendido y apagado
- BOOL - 1 bit (0,1)
- BYTE – 8 bits (1 byte)
- PALABRA – 16 bits (2 bytes)
- DWORD – 32 bits (4 bytes)
- LWORD – 64 bits (8 bytes)
- ENTERO – números enteros (considerando un tamaño de byte de 8 bits)
- SINT – entero corto con signo (1 byte)
- INT – entero con signo (2 bytes)
- DINT – entero doble con signo (4 bytes)
- LINT – entero largo con signo (8 bytes)
- USINT – Entero corto sin signo (1 byte)
- UINT – Entero sin signo (2 bytes)
- UDINT – Entero doble sin signo (4 bytes)
- ULINT – Entero largo sin signo (8 bytes)
- REAL – coma flotante IEC 60559 (igual que IEEE 754-2008 )
- REAL – (4 bytes)
- LREAL – (8 bytes)
- Duración [4]
- TIEMPO – (específico del implementador). Literales en formato T#5m90s15ms
- LTIME – (8 bytes). Los literales se extienden hasta nanosegundos en la forma T#5m90s15ms542us15ns
- Fecha
- FECHA – fecha del calendario (específica del implementador)
- LDATE – fecha del calendario (8 bytes, nanosegundos desde el 1 de enero de 1970, restringida a múltiplos de un día)
- Hora del día
- TIME_OF_DAY / TOD – hora del reloj (específica del implementador)
- LTIME_OF_DAY / LTOD – hora del reloj (8 bytes)
- Fecha y hora del día
- DATE_AND_TIME / DT: hora y fecha (específicas del implementador)
- LDATE_AND_TIME / LDT – hora y fecha (8 bytes, nanosegundos desde 1970-01-01)
- Carácter / Cadena de caracteres
- CHAR – Carácter de un solo byte (1 byte, limitado a los caracteres 0 a 255 de ISO/IEC 10646)
- WCHAR: carácter de doble byte (2 bytes, limitado a los caracteres 0 a 65535 de ISO/IEC 10646)
- STRING – Cadena de caracteres de un solo byte de longitud variable. Literales especificados con comillas simples, 'Este es un literal STRING'
- WSTRING: cadena de caracteres de doble byte y longitud variable. Los literales se especifican con comillas dobles: "Este es un literal WSTRING".
- Tipos de datos genéricos: solo disponibles para las variables de entrada/salida/entrada-salida de las unidades de organización del programa (POU) definidas por el sistema, consulte a continuación.
- CUALQUIER
- CUALQUIER_DERIVADO
- CUALQUIER_ELEMENTAL
- CUALQUIER_MAGNITUD
- CUALQUIER_NÚMERO
- CUALQUIER_REAL: LREAL, REAL
- CUALQUIER_INT
- CUALQUIER_SIN FIRMA: ULINT, UDINT, UINT, USINT
- CUALQUIER_SIGNO: LINT, DINT, INT, SINT
- CUALQUIER DURACIÓN: TIEMPO, TIEMPO LTIME
- CUALQUIER_BIT: PALABRA_LARGA, PALABRA_DUAL, PALABRA, BYTE, BOOL
- CUALQUIER_CARACTER
- CUALQUIER_CADENA: CADENA, WCADENA
- CUALQUIER_CARÁCTER: CARÁCTER, WCARÁCTER
- CUALQUIER FECHA: FECHA Y HORA (DT), FECHA Y HORA (LDT), FECHA, HORA DEL DÍA (TOD), HORA DEL DÍA (LTOD)
- Tipos de datos definidos por el usuario
- Tipo de datos enumerado
- Tipo de datos enumerado con valor nombrado
- Tipo de datos de subrango: establece límites en el valor, es decir, INT(4...20) para el valor actual.
- Tipo de datos de matriz: múltiples valores almacenados en la misma variable .
- Tipo de datos estructurado: compuesto de varias variables y tipos.
- Tipo de datos derivado directamente: tipo derivado de uno de los tipos anteriores para dar un nuevo nombre y valor inicial como tipo.
- Referencias: un tipo de puntero fuertemente tipado. Se prohíbe realizar operaciones aritméticas con valores de este tipo.
Variables
Atributos variables: RETAIN, CONSTANT, AT
- Global
- Directo (local)
- Mapeo de E/S : entrada, salida, E/S
- Externo
- Temporario
Configuración
- Recurso – Como una CPU
- Tareas: pueden ser múltiples por CPU .
- Programas : Se pueden ejecutar una vez, en un temporizador, en un evento.
Unidad organizativa del programa (POU)
- Funciones
- Estándar: ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc.
- Costumbre
- Bloques de funciones
- Estándar:
- Personalizado: las bibliotecas de funciones pueden ser suministradas por un proveedor o un tercero.
- Programas
Configuración, recursos, tareas
- Configuración: recursos de procesamiento, memoria para IO, tasas de ejecución, número de tareas.
Programación orientada a objetos (POO)
- La tercera revisión del estándar describe cómo implementar la POO dentro de la programación de aplicaciones.
Referencias
- ^ Stevic, Tom (5 de mayo de 2017). "Una historia muy breve de las plataformas de programación de PLC". Diseño de control . Consultado el 11 de septiembre de 2021 .
- ^ "IEC 61131-3:2013". Comisión Electrotécnica Internacional (IEC) . Consultado el 11 de septiembre de 2021 .
- ^ PLCopen: La tercera edición de IEC 61131-3
- ^ "Literales de duración de tiempo (IEC 61131-3)".
Enlaces externos
- PLC abierto
- IEC 61131-3:2013 Controladores programables. Parte 3: Lenguajes de programación
- Implementación importante de CODESYS independiente de los fabricantes de dispositivos, incluye programación orientada a objetos (OOP) como opción
- Implementación de STEP 7 solo para dispositivos Siemens