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