Estándar industrial para controladores lógicos programables
IEC 61131-3 es la tercera parte (de 10) de la norma internacional IEC 61131 para controladores lógicos programables . Fue publicado 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 IEC 61131 trata sobre la arquitectura de software básica y los lenguajes de programación del programa de control dentro del PLC . Define tres estándares de lenguajes de programación gráficos y dos textuales:
Tipos de datos
- Tipo de datos elemental
- Cadenas de bits: grupos de valores de activación/desactivación
- 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)
- INTEGER – 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 – punto flotante IEC 60559 (igual que IEEE 754-2008 )
- REAL – (4 bytes)
- LREAL – (8 bytes)
- Duración [4]
- TIEMPO – (específico del implementador). Literales en forma de T#5m90s15ms
- LTIME – (8 bytes). Los literales se extienden a nanosegundos en forma de T#5m90s15ms542us15ns
- Fecha
- FECHA: fecha del calendario (específica del implementador)
- LDATE: fecha del calendario (8 bytes, nanosegundos desde 1970-01-01, restringido a múltiplos de un día)
- Hora del día
- TIME_OF_DAY / TOD – hora del reloj (específico 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ífico 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 caracteres del 0 al 255 de ISO/IEC 10646)
- WCHAR: carácter de doble byte (2 bytes, limitado a caracteres del 0 al 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 de longitud variable. Literales especificados con una comilla doble, "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, por sus siglas en inglés) definidas por el sistema, ver más abajo.
- CUALQUIER
- CUALQUIER_DERIVADO
- CUALQUIER_ELEMENTARIO
- CUALQUIER_MAGNITUD
- CUALQUIER_NUM
- CUALQUIER_REAL: LREAL, REAL
- CUALQUIER_INT
- CUALQUIER_UNSIGNED: ULINT, UDINT, UINT, USINT
- CUALQUIER_SIGNADO: PELUSA, DINT, INT, SINT
- CUALQUIER_DURACIÓN: HORA, LTIME
- CUALQUIER_BIT: LWORD, DWORD, PALABRA, BYTE, BOOL
- ANY_CHARS
- ANY_STRING: STRING, WSTRING
- ANY_CHAR: CAR, WCHAR
- CUALQUIER_FECHA: FECHA_Y_HORA (DT), FECHA_Y_HORA(LDT), FECHA, HORA_DÍA_DÍA (TOD), LTIME_OF_DAY(LTOD)
- Tipos de datos definidos por el usuario
- Tipo de datos enumerados
- Tipo de datos enumerados con valor con nombre
- Tipo de datos de subrango: pone límites al valor, es decir, INT(4 .. 20) para corriente
- Tipo de datos de matriz: múltiples valores almacenados en la misma variable .
- Tipo de datos estructurados: 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: una especie de puntero fuertemente tipado. Está prohibida la operación aritmética del valor de este tipo.
variables
Atributos variables: RETENCIÓN, CONSTANTE, EN
- 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 de organización del programa (POU)
- Funciones
- Estándar: AGREGAR, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc.
- Costumbre
- Bloques de funciones
- Estándar:
- Personalizado: las bibliotecas de funciones pueden ser proporcionadas 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 POO dentro de la programación de aplicaciones.
Referencias
- ^ Stevic, Tom (5 de mayo de 2017). "Una muy breve historia de las plataformas de programación de PLC". Diseño de controles . 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
- PLCabierto
- IEC 61131-3: 2013 Controladores programables - Parte 3: Lenguajes de programación
- Importante implementación 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