IEC 61131-3
# IEC 61131-3

IEC 61131-3 es la tercera parte (de 8) del estándar internacional IEC 61131 para Controladores Lógicos Programables (PLC). Fue publicada por primera vez en diciembre de 1993 por la Comisión Electrotécnica Internacional. La edición actual fue publicada en febrero del 2013.

Esta parte trata los lenguajes de programación y define los estándares de dos lenguajes gráficos y dos lenguajes textuales para PLC:

* Diagrama de contactos (LD - Ladder Diagram), gráfico.
* Diagrama de bloques de funciones (FBD - Function Block Diagram), gráfico.
* Texto estructurado (ST - Structured Text), textual.
* Lista de instrucciones (IL - Instruction List), textual.
* Bloques de función secuenciales (SFC - Sequential Function Chart), con elementos para organizar programas de computación paralela y secuencial.

## Unidades de Organización del Programa (POUs)

Los programas, funciones, y bloques de funciones dentro del estándar IEC 61131-3 son llamados Unidades de Organización del Programa (POU - Program Organization Unit).

El IEC 61131-3 incluye instancias de funciones estándares definidas:

* ADD
* ABS
* SQRT
* SIN
* COS

El usuario puede crear sus propios bloques de funciones y usarlos múltiples veces. Dichos bloques de funciones son objetos de software que representan un control detallado. Pueden tener datos, así como algoritmos.

## Tipos de datos

Los tipos de datos son un elemento común del estándar, con el propósito de prevenir errores en el desarrollo de programas. Los distintos tipos de datos compatibles con el estándar son Booleanos (BOOL), Enteros (INTEGER), Reales (REAL), BYTE, WORD, DATE, TIME-OF-DAY y STRING. El estándar también permite a los usuarios definir sus propias variables. Esto se conoce como Tipo de Datos Derivados. De esta manera, un programador es capaz de definir un canal de entrada analógica como un tipo de dato y usarlo múltiples veces.

Las variables son asignadas a direcciones específicas del hardware, o a entradas y salidas específicas. El alcance de dichas variables está limitado a la unidad de organización en la que se declara. Esto permite que el mismo nombre pueda ser utilizado en distintas unidades de organizaciones sin conflicto. Si se desea que las variables tengan alcance global, pueden ser declaradas como tales.

