Sie sind auf Seite 1von 26

Martha Lucia Orozco G.

Universidad del Cauca


Programacin Avanzada de PLC's 1
PROGRAMACION AVANZADA DE
PLCs


nfasis en Automatizacin

Martha Lucia Orozco Gutirrez
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 2
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 ms crtico 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)
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 3
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales: Grupo predefinido y
estandarizado
Boolean/
Bit String
Signed Integer Unsigned
Integer
Floating Point
(real)
Time, Duration, Date
and Character String
BOOL
BYTE
WORD
DWORD
LWOPRD
INT
SINT
DSINT
LINT
UINT
USINT
UDINT
ULINT
REAL
LREAL
TIME
DATE
TIME_OF_DAY
DATE_AND_TIME
STRING
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 4
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales estandarizados IEC:
Grupos
Informacin para cada
Tipo de dato
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 5
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales estandarizados IEC:
Tipo de dato Boolean y Bit String
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 6
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales estandarizados IEC:
Tipo de dato signed Integer
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 7
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales estandarizados IEC:
Tipo de dato Unsigned Integer
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 8
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales estandarizados IEC:
Tipo de dato Real Number
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 9
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales estandarizados IEC:
Tipo de dato Date y Time
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 10
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales estandarizados IEC:
Tipo de dato Duration y Character String
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 11
PROGRAMACION AVANZADA DE
PLC`s
Tipos de datos elementales estandarizados IEC:
TYPE
LongFloatNum : LREAL;
FloatingPoint : LongFloatNum;
InitFloatNum : LREAL :=1.0;
tControl : BOOL :=TRUE;
END_TYPE
Valor inicial diferente al dado por el estndar
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 12
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 mximo ndice permitido)
Structure Varios tipos de datos son agrupados para formar un tipo de dato.
Las variables se acceden por nombre del componente
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 13
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
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 14
PROGRAMACION AVANZADA DE
PLC`s
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
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 15
PROGRAMACION AVANZADA DE
PLC`s
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
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 16
PROGRAMACION AVANZADA DE
PLC`s
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
Mximo soporta 45 datos

Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 17
PROGRAMACION AVANZADA DE
PLC`s
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

Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 18
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 travs del ndice
Los sistemas PLC deben generar mensajes de error en caso
de exceder el tamao del arreglo
Se pueden crear arreglos de varias dimensiones
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 19
PROGRAMACION AVANZADA DE
PLC`s
TYPE
Meas_1Dim : ARRAY[1..45] OF Sensor;
Meas_2Dim : ARRAY[1..10,1..45] OF Sensor;
END_TYPE
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 20
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 aplicacin



Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 21
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
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 22
PROGRAMACION AVANZADA DE
PLC`s
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

Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 23
PROGRAMACION AVANZADA DE
PLC`s
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
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 24
PROGRAMACION AVANZADA DE
PLC`s
Valores Iniciales en la definicin 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

Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 25
PROGRAMACION AVANZADA DE
PLC`s
Valores Iniciales en la definicin 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
Martha Lucia Orozco G.
Universidad del Cauca
Programacin Avanzada de PLC's 26
PROGRAMACION AVANZADA DE
PLC`s
Tipos de Datos Genricos
ANY
ANY_BIT ANY_NUM ANY_DATE


TIME
STRING
derived


BOOL
BYTE
WORD
DWORD
LWORD
ANY_INT ANY_REAL

DATE
TIME_OF_DAY
DATE_AND_TIME


INT
SINT
DINT
LINT
UINT
USINT
UDINT
ULINT

REAL
LREAL