Propiedades adicionales para tipos de datos elementales TYPE Colour : (red, yellow, green); Sensor : INT (-56..128); Measure : ARRAY [1..45] OF Sensor; TestBench STRUCT Place : UINT; Ligth : Colour:=red; Meas1 : Measure; Meas2 : Measure; Meas3 : Measure; END_STRUCT; END_TYPE
TYPE Colour : (red, yellow, green); Sensor : INT (-56..128); Measure : ARRAY [1..45] OF Sensor; TestBench STRUCT Place : UINT; Ligth : Colour:=red; Meas1 : Measure; Meas2 : Measure; Meas3 : Measure; END_STRUCT; END_TYPE Enumeration: Colour puede tomar 1 de 3 valores posibles
TYPE Colour : (red, yellow, green); Sensor : INT (-56..128); Measure : ARRAY [1..45] OF Sensor; TestBench STRUCT Place : UINT; Ligth : Colour:=red; Meas1 : Measure; Meas2 : Measure; Meas3 : Measure; END_STRUCT; END_TYPE Range: Sensor es una variable de temperatura puede tomar valores entre –56 y 128
TYPE Colour : (red, yellow, green); Sensor : INT (-56..128); Measure : ARRAY [1..45] OF Sensor; TestBench STRUCT Place : UINT; Ligth : Colour:=red; Meas1 : Measure; Meas2 : Measure; Meas3 : Measure; END_STRUCT; END_TYPE
Array: Measure es un arreglo de datos tipo Sensor Máximo soporta 45 datos
TYPE Colour : (red, yellow, green); Sensor : INT (-56..128); Measure : ARRAY [1..45] OF Sensor; TestBench STRUCT Place : UINT; Ligth : Colour:=red; Meas1 : Measure; Meas2 : Measure; Meas3 : Measure; END_STRUCT; END_TYPE
Structure: TestBench es una estructura de datos compuesta de datos elementales y derivados
ARRAY
Arrays son elementos, de un mismo tipo de datos, ordenados consecutivos en memoria. Los elementos del arreglos son accesados a través del índice Los sistemas PLC deben generar mensajes de error en caso de exceder el tamaño del arreglo Se pueden crear arreglos de varias dimensiones
TYPE Meas_1Dim : ARRAY[1..45] OF Sensor; Meas_2Dim : ARRAY[1..10,1..45] OF Sensor; END_TYPE
Data Structures
Se usan las palabras claves STRUCT y END_STRUCT Puede contener tipos de datos elementales y/o derivados Puede tener sub-elementos tipo estructura (anidadas) La complejidad depende del programador y la aplicación
TYPE LimitedRevol : UINT (0..230); TypLevel : (Idling, SpeedUP1, SpeedUp2, MaxPower); MotorState STRUCT Revolutions : LimitedRevol; Level : TypLevel; MaxReached : BOOL; Failure : BOOL; Brake : BYTE; END_STRUCT; END_TYPE
TYPE MultiMotState : ARRAY [1..4] OF MotorState; END_TYPE
VAR (*Case 1:*) Motor1 : MotorState; (*Case 2:*) Motors : ARRAY [1..4] OF MotorState; (*Case 3:*) FourMotors : MultiMotState; END_VAR
Varias variables del mismo tipo estructura
TYPE StructureA: STRUCT Element1 : INT; Element2 : StructureB; Element3 : BYTE; END_STRUCT; StructureB: STRUCT Elemen1 : LINT; Element2 : StructureA; Element3 : WORD; END_STRUCT;END_TYPE Ilegal: Recursividad de la estructura A
Valores Iniciales en la definición de tipos
TYPE MotorState: STRUCT Revolutions : LimitedRevol:=0; Level : TypeLevel:=Idling; MaxReached : BOOL:=FALSE; Failure : BOOL:=FALSE; Brake : BYTE:=16#FF; END_STRUCT; END_TYPE
Valores Iniciales en la definición de tipos
VAR Field1: ARRAY[1..12] OF SINT:=[3,16#FF,-5,-9,-5,-9,-5,-9,-5,-9,0,0]; Field2: ARRAY[1..12] OF SINT:=[3,16#FF,4(-5,-9),2(0)]; Text: STRING[4]:=‘stop’; END_VAR
Forma Abreviada
Tipos de Datos Genéricos
Página anterior | Volver al principio del trabajo | Página siguiente |