Sie sind auf Seite 1von 26

PROGRAMACION AVANZADA DE

PLC’s

Énfasis en Automatización

Martha Lucia Orozco Gutiérrez

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 1
PROGRAMACION AVANZADA DE
PLC`s

Tipos de Datos
•Un programa PLC contiene diferentes tipos de datos
(punto flotante, codigo BCD, Contadores) que tienen
formatos incompatibles y es más crítico en diferentes
fabricantes
•La portabilidad del programa requerirá grandes modificaciones
debido al cambio de tipo de datos
•Por esto se definió el tipo de datos uniforme (útil
cuando se tienen diferentes fabricantes en un solo
proyecto)
Universidad del Cauca
Martha Lucia Orozco G. Programación Avanzada de PLC's 2
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales: Grupo predefinido y


estandarizado
Boolean/ Signed Integer Unsigned Floating Point Time, Duration, Date
Bit String Integer (real) and Character String

BOOL INT UINT REAL TIME


BYTE SINT USINT LREAL DATE
WORD DSINT UDINT TIME_OF_DAY
DWORD LINT ULINT DATE_AND_TIME
LWOPRD STRING

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 3
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales estandarizados IEC:

Grupos Información para cada


Tipo de dato

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 4
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales estandarizados IEC:

Tipo de dato Boolean y Bit String

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 5
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales estandarizados IEC:

Tipo de dato signed Integer

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 6
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales estandarizados IEC:

Tipo de dato Unsigned Integer

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 7
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales estandarizados IEC:

Tipo de dato Real Number

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 8
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales estandarizados IEC:

Tipo de dato Date y Time

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 9
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales estandarizados IEC:

Tipo de dato Duration y Character String

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 10
PROGRAMACION AVANZADA DE
PLC`s

Tipos de datos elementales estandarizados IEC:

Valor inicial diferente al dado por el estándar

TYPE
LongFloatNum : LREAL;
FloatingPoint : LongFloatNum;
InitFloatNum : LREAL :=1.0;
tControl : BOOL :=TRUE;
END_TYPE

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 11
PROGRAMACION AVANZADA DE
PLC`s

Propiedades adicionales para tipos de datos elementales


Propiedad Significado
Initial Value La variable toma un valor inicial particular

eEnumeration La variable puede tomar un valor de una lista especificada

Range La variable puede tomar valores dentro de un rango especifico

Array Varios elementos de un mismop tipo son agrupados en un arreglo


(no se debe exceder el máximo índice permitido)

Structure Varios tipos de datos son agrupados para formar un tipo de dato.
Las variables se acceden por nombre del componente

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 12
PROGRAMACION AVANZADA DE
PLC`s

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

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 13
PROGRAMACION AVANZADA DE
PLC`s

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
Universidad del Cauca
Martha Lucia Orozco G. Programación Avanzada de PLC's 14
PROGRAMACION AVANZADA DE
PLC`s
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
Universidad del Cauca
Martha Lucia Orozco G. Programación Avanzada de PLC's 15
PROGRAMACION AVANZADA DE
PLC`s
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
Universidad del Cauca
Martha Lucia Orozco G. Programación Avanzada de PLC's 16
PROGRAMACION AVANZADA DE
PLC`s
Structure:
TestBench es una estructura de datos compuesta
de datos elementales y derivados
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
Universidad del Cauca
Martha Lucia Orozco G. Programación Avanzada de PLC's 17
PROGRAMACION AVANZADA DE
PLC`s

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

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 18
PROGRAMACION AVANZADA DE
PLC`s

TYPE
Meas_1Dim : ARRAY[1..45] OF Sensor;
Meas_2Dim : ARRAY[1..10,1..45] OF Sensor;
END_TYPE

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 19
PROGRAMACION AVANZADA DE
PLC`s

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

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 20
PROGRAMACION AVANZADA DE
PLC`s

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

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 21
PROGRAMACION AVANZADA DE
PLC`s

Varias variables del mismo tipo estructura

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

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 22
PROGRAMACION AVANZADA DE
PLC`s
Ilegal: Recursividad de la estructura A
TYPE
StructureA:
STRUCT
Element1 : INT;
Element2 : StructureB;
Element3 : BYTE;
END_STRUCT;
StructureB:
STRUCT
Elemen1 : LINT;
Element2 : StructureA;
Element3 : WORD;
END_STRUCT;
END_TYPE

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 23
PROGRAMACION AVANZADA DE
PLC`s

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

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 24
PROGRAMACION AVANZADA DE
PLC`s

Forma Abreviada

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

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 25
PROGRAMACION AVANZADA DE
PLC`s
Tipos de Datos Genéricos

ANY
ANY_BIT ANY_NUM ANY_DATE
ANY_INT ANY_REAL

BOOL DATE TIME


INT REAL
BYTE TIME_OF_DAY STRING
SINT LREAL
WORD DATE_AND_TIME derived
DINT
DWORD LINT
LWORD UINT
USINT
UDINT
ULINT

Universidad del Cauca


Martha Lucia Orozco G. Programación Avanzada de PLC's 26

Das könnte Ihnen auch gefallen