lunes, 4 de noviembre de 2013

IEC 61131-3: INTRODUCCIÓN


Norma para la estandarización de los autómatas programables (AP) y sus periféricos.
Se divide en:


1.     Vista general
2.     Hardware
3.     Lenguaje de programación
4.     Guías de usuario
5.     Comunicación


Otra visión distinta sería dividir el estándar en dos partes:



 











ELEMENTOS COMUNES
v      Tipos de datos: Previenen de errores en una fase inicial. Los tipos comunes son:

Identificativo
Tipo de dato
Tamaño
Representación
Tipo bit
BOOL
Variable booleana
1 bit
FALSE, TRUE
BYTE
Serie de 8 bits o valor hexadecimal
8 bit
(B#) 16# 00 … FF
WORD
Serie de 16 bits o valor hexadecimal
16 bit
(W#) 16# 0000 … FFFF
DWORD
Serie de 32 bit o valor hexadecimal
32 bit
(DW#) 16# 0000_0000 … FFFF_FFFF
STRING
Carácter ASCII
Bit (dependiente de la implementación)
Cadena de caracteres de tamaño variable.
Tipo aritmético
INT
Nº entero
16 bit
-32768 a +32767
DINT
Nº entero
32 bit
L# -2147483648 a +2147483647
REAL
Nº real
32 bit
Decimal con punto: 341.7 ó
Exponencial: 3.417 E+02
Tipo tiempo
TIME
Duración
32 bit
t # 12h20m30s
TIME OF DAY
Hora
32 bit
tod #08:36:12
DATE
Fecha
16 bit
d #1990-01-01
Basándonos en éstos se pueden definir tipos de datos propios, que serían los Datos derivados. La declaración de nuevos tipos de datos se realiza con la construcción TYPE … END_TYPE.

v       Variables: Identifican los objetos de datos cuyo contenido pude cambiar. Pueden definirse como tipos de datos comunes y o derivados y crean un alto nivel de independencia con el HW.
La extensión de las variables queda limitada a la unidad de organización en la cual han sido declaradas como locales.
Para asignarle un valor a una variable se hace uso de “:=”.
En funciones y bloques de funciones se recomienda utilizar variables que no estén fijadas a cualquier entrada/salida, sensor, contador, temporizador, etc. real, con el fin de que éstos se puedan reutilizar en diferentes programas. Se recomienda utilizar este tipo de variables en el nivel de programa (PRG).
El IEC 61131-3 diferencia las variables según:
-          La cantidad en elementos del dato, en variables de un elemento o de varios elementos.
-          La extensión, en variables locales y globales. Las locales sólo serán válidas en el bloque que se hayan declarado. Las globales son aquellas que mediante la construcción VER_GLOBAL…END_VAR, son válidas en todos los bloques del SPS. Las variables globales se declararán en la zona de organización del programa (PRG).
Variables de un solo elemento:
Solo pueden representar un único elemento de dato con tipos de datos comunes o derivados. Otra distinción de las variables de un solo elemento es que pueden estar representadas de forma directa o simbólica.
La representación simbólica de variables se realiza con un nombre (identificador) dentro de las declaraciones de variables VAR, VAR_INPUT, VAR_OUTPUT, VARI_IN_OUT, VAR_TEMP y END_VAR, con la introducción de un tipo de dato. El lugar de almacenamiento de la variable se fija automáticamente.
La representación directa de la variable se realiza con % seguido de un prefijo para la ubicación y otro para el tamaño según la siguiente tabla.

Prefijo
Significado
Ejemplo para variables directas
I
Ubicación entrada
Entrada-Individual      
%IX0.7 … %IX0.0
Q
Ubicación salida
Salida-Individual          
%QX0.7 … %QX0.0
M
Ubicación flag
Byte de entrada
%IB = %IX0.7 … %IX0.0
X
Tamaño 1 bit
Byte de salida
% QB = %QX0.7 … %QX0.0
B
Tamaño 1 byte (8bits)
Palabra de entrada
%IW0 = %IB0+%IB1
W
Palabra (16 bits)
Palabra de salida
%QW0 = %QB0+%QB1
D
Doble palabra (32 bits)
Palabra doble de entrada
%ID = %IW0+%IW1
Declaración de una variable con representación directa (genérico, ejemplo y ejemplo con nombre asignado a la variable):
VAR                                                                      VAR                                             VAR
      AT %Operand: Tipo de dato;                      AT %IX4.7: BOOL;                   Nom AT %IX4.7 : BOOL;
END_VAR                                                           END_VAR                                  END_VAR
Variable de múltiples elementos
Contienen varios elementos de datos, agrupados en campos o estructuras. Se pueden utilizar en caso de necesidad según unas normas fijas.
Campos:
Conjunto de datos del mismo tipo, que pueden abordarse mediante uno o varios índices de campo indicados entre corchetes []. La declaración de este tipo de variables tiene la siguiente estructura:
VAR
      Nombre: ARRAY [n0 … ni] OF Tipo de dato: <inicialización de cada dato>;
END_VAR
Ejemplo:
VAR
      Tabla: ARRAY [0…3] OF BYTE:= 16#00, 16#0F, 16#80, 16#FF;
END_VAR
Existen campos de una y de varias dimensiones.
Estructuras
Conjunto de diferentes tipos de datos con un nombre que deben ser almacenados en conjunto. Cada dato de una estructura se declara como una variable o contante con nombre propio. La declaración de una estructura se realiza como sigue:
TYPE <Nombre de la estructura>;
      STRUCT
                <Declaración de variable 1>
               
                <Declaración de variable n>
      END_STRUCT
END_TYPE
El <Nombre de la estructura> es un tipo de dato generado por la declaración, conocido en todo el proyecto y que se puede utilizar como un tipo de dato común.
Para acceder a una variable dentro de la estructura:
<Nombre de la variable de la estructura>.<Nombre del componente>
Para acceder al valor de retorno de una función:
<Nombre de la función>.<Nombre del componente>



v  Configuración, recursos y tareas:

  • Configuración: elemento del SW requerido para solucionar un problema de control particular. Es específica para un tipo de sistema de control. 
  • Recurso: procesador capaz de ejecutar programas IEC. Dentro de una configuración se pueden definir uno o más. 
  • Tarea: controlan la ejecución de un conjunto de programas y/o FB. Con un recurso pueden estar definidas una o más tareas.
  • Programas: diseñados a partir de un diferente nº de elementos de SW. Es una interacción de funciones y bloques funcionales con capacidad para intercambiar datos. Las funciones y FB son partes básicas de construcción de un programa, que contienen una declaración de datos y variables, con un conjunto de instrucciones. 

No hay comentarios:

Publicar un comentario