IEC 61131-3

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)
Literales de duración
UnidadDescripción
dDía
yoHora
metroMinuto
sSegundo
EMMilisegundo
a nosotrosMicrosegundo
nsNanosegundo
    • 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".
Secuencias de escape STRING
Secuencia de escapeProduce
$$$
$''
$Lsalto de línea
$Nnueva línea
$Ppágina (avance de formulario)
$Rdevolver
$Tpestaña
$xxvalor hexadecimal
  • 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

  1. ^ 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 .
  2. ^ "IEC 61131-3:2013". Comisión Electrotécnica Internacional (IEC) . Consultado el 11 de septiembre de 2021 .
  3. ^ PLCopen: La tercera edición de IEC 61131-3
  4. ^ "Literales de duración de tiempo (IEC 61131-3)".
  • 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
Obtenido de "https://es.wikipedia.org/w/index.php?title=IEC_61131-3&oldid=1218228466"