Você está na página 1de 14

Mdulos de Datos

Tipos de datos
Automatizacin Industrial

ndice
TEMA Mdulos de Datos y Tipos de Datos 1. Tipos de Mdulos de Datos 2. Edicin de Mdulos de Datos 3. Llamada a Mdulos de Datos 4. Acceso a Mdulos de Datos 5. Tipos de Datos 5.1 Tipos de Datos Elementales 5.2 Tipos de Datos Estructurados

Introduccin
DB OB Mdulo de organizacin FB FB DB FB FC DB SFC SFB DB

OB = FB = FC = SFB = SFC = SDB = DB =

Mdulo de Organizacin Mdulo de Funcin Funcin Mdulo de Funcin de Sistema Funcin de Sistema Mdulo de Datos de Sistema Mdulo de Datos

Leyenda:

Mdulo de datos a instancia

Tipos de Mdulos de Datos


8 bits
Global (normalmente usados)

Byte datos 0
El mximo tamao del mdulo para la CPU 314 es 8 kBytes. La cantidad de memoria disponible para los mdulos de datos depende de la CPU.

Instancia (local)

Byte datos 8191

Edicin de Mdulos de Datos (I)

Edicin de Mdulos de Datos (II)


STEP 7 Direccin de memoria Nombre local Valor inicial Datablock c:\class\machine1\db10

Tipo de datos

Comentario

Llamada a Mdulos de Datos


Del OB 1

FC 15
:OPN DB 12 : : :L DB :T DB : : CALL FC 16 : : :L DB :T DB : : :BE

FC 16
: : : :L DB :T DB : : : :OPN DB 13 : :L DB :T DB : : :BE

DB 12

DB 13

Al OB 1

Acceso a Elementos de Datos


Abrir mdulo de datos
OPN DB 19 OPN valores

Carga y Transferencia en Mdulos de Datos


L DBB 1 L DBW 2 L5 T DBW 4 L 'A' L DBB28 ==I U DBX 3.1 L DB19.DBW4 L valores.N1 Cargar el byte de datos 1. Cargar la palabra de datos 2 (byte 2/3). Cargar el nmero 5. Transferir a la palabra 4. Cargar el carcter ASCII A. Cargar el byte de datos 28. Comparar. Consultar el bit 1 del byte 3. Cargar la palabra de datos 4 del DB19 (incluye OPN DB 19). Acceso simblico a la variable N1. valores es el nombre simblico del DB que contiene dicha variable

Notas de Acceso a Elementos de Datos


Direccionamiento
STEP 7 permite tener dos DBs abiertos simultneamente Uno se referencia por DB (global) y el otro por DI (instancia) La forma de abrirlos: OPN DB 5, OPN DI 7 Para cargar o transferir al DB: L DBB 0, T DBB 1 Para cargar o transferir al DI: L DIB 0, T DIB 3 Otra forma de direccionar sin abrir el DB: L DB5.DBB 0, T DB7.DBB 1 Para direccionamiento de bit, byte, palabra y doble palabra: A DB5.DBX 0.7, para direccionar un bit L DB5.DBB 7, para direccionar un byte L DB5.DBW 7, para direccionar una palabra L DB5.DBD 7, para direccionar una doble palabra

Tipos de Datos Elementales


Las variables de tipos de datos bsicos tiene una longitud mxima de doble palabra Son procesadas con instrucciones de carga y transferencia o con operaciones lgicas binarias Los tipos de datos elementales pueden ocupar un bit, un byte, una palabra o una doble palabra Declaracin: Varname : datatype := pre-assignment Varname es el nombre de la variable datatype es un tipo de dato elemental pre-assignment es el valor asignado Una variable pude ser declarada global en la tabla de simblicos o locamente en la seccin de declaraciones

Tabla de Tipos de Datos Elementales


Tipo de Datos Tamao Descripcin
(Bit) 1 8 16 32 8 BOOL BYTE WORD DWORD CHAR STRING INT DINT REAL TIME DATE TOD S5TIME Bit. Rango: true o false Byte. Rango: 0 a 255 Palabra. Rango: 0 a 65.53532-1 Doble Palabra. Rango: 0 a 2 Carcter. Cada carcter imprimible (Cdigo ASCII >31) 8 X 254 Cadena de caracteres desde 2 a 254 16 Entero. Rango: -32.768 a 32.767 31 32 Doble entero. Rango: -2 a 231-1 32 Nmero en coma flotante. (IEEE) 32 Tiempo en intervalos de 1 ms (IEC) 16 Fecha en intervalos de 1 da (IEC) 32 Hora y da en intervalos de 1 ms: hora (0 a 23), minutos (0 a 59), segundos (0 a 59), ms (0 a 999) 16 Valor de tiempo para los temporizadores. Rango: 0H_0M_0S_0MS a 2H_46M_30_0MS

Bit, Byte, Palabra y Doble Palabra


BIT Una variable tipo BOOL representa un bit (p.e. entrada I 0.0) Una variable tipo BYTE es un conjunto de 8 bits (p.e.salidas QB 5) Una variable tipo WORD es un conjunto de 16 bits (p.e. marcas MW 7) Una variable tipo DWORD es un conjunto de 32 bits Longitud = 1 BIT BYTE Longitud = 8 BITS
7 6 5 4 3 2 1 0

PALABRA Longitud = 16 BITS


7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

DOBLE PALABRA Longitud = 32 BITS


7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Representacin en BCD
Se pueden introducir datos en BCD con tipo de dato 16# (hexa) y usar slo dgitos de 0 a 9 (p.e. L W#16#2468) Para temporizadores est definido el tipo de datos S5TIME# (p.e. L S5TIME#30s.) Para contadores est definido el tipo de datos C# o 16# (p.e. L C#368)

Nmero BCD, 3 dcadas


Byte m
15 12 11 8 7

Byte m+1
4 3 0

Signo

10 2

101

100
Byte m+1
4 3 0 15

Nmero BCD, 7 dcadas


Byte m
12 11 15 8 7

Byte m+2
12 11 8 7

Byte m+3
4 3 0

Signo

106

105

104

103

102

101

100

Tipo de Dato CHAR


EL tipo de datos CHAR representa un carcter en cdigo ASCII. Cada variable de tipo CHAR ocupa un byte (p.e. L A)

Dato tipo CHAR


Byte m
7 6 5 4 3 2 1 0

Cdigo ASCII

Representacin de Nmeros (I)


INT:
Una variable de tipo de dato INT representa un entero que es almacenado en 16 bits (una palabra) en coma fija No tiene un identificador especial Los bits 0-14 representan el valor de la variable El bit 15 representa el signo (0 -> positivo ; 1 -> negativo) Nmeros negativos son almacenados en forma de complemento a dos El rango posible desde +32.767 (7FFFhex) a -32.768 (8000hex) 15 14 .......0

S 2 .....

14

..... 2 2 21 2 0

Representacin de Nmeros (II)


DINT:
Una variable de tipo de dato DINT representa un entero que es almacenado en 32 bits (doble palabra) en coma fija Un entero es almacenado como una variable DINT: si es mayor de 32.767 o menor de -32.768 si el identificador L # precede al nmero Los bits 0-30 representan el valor de la variable El bit 31 representa el signo (0 -> positivo ; 1 -> negativo) Nmeros negativos son almacenados en forma de complemento a dos El rango posible desde: +2,147,483,647 (7FFF FFFFhex) a -2,147,483,648 (8000 0000hex) 31 30 .......16 15..... .......0

S 2 .....

30

....2 2 ....

16

15

..... 2 21 2 0
2

L -100 // Se carga un nmero INT en ACU1. Palabra izquierda ACU1 (0000hex) L L#-100 //se carga un nmero DINT en ACU1. Palabra izquierda ACU1 (FFFFhex)

Representacin de Nmeros (III)


REAL:
Una variable de tipo de dato REAL representa una fraccin que es almacenado en 32 bits (doble palabra) en coma flotante Un entero es almacenado como una variable REAL: - si el punto decimal es seguido por un cero (L 100.0 o L 1.0e+2) La variable real consiste internamente en tres partes: - el signo (bit 31) ( 0 -> positivo; 1 -> negativo) - 8 bits para el exponente (en base 2) (bits 23 a 30) - 23 bits de mantisa (bits 0 a 29) Nmeros normalizados en coma flotante: - rango desde -3.402 823 x 10 +38 a -1.175 494 x 10 -38) - +1.175 494 x 10 -38 a 3.402 823 x 10 +38 Nmeros no normalizados en coma flotante: - - 1.17 494 x 10 -38 a -1.401 298 x 10 -45 - + 1.401 298 x 10 -45 a +1.175 494 x 10 -38 .23 22..... .......0

31 30....

S 2 ...

....2 2 2 ....
Mantisa

1 2

..... 2 23

Exponente

Representacin de Nmeros (IV)


REAL:

Representacin de Tiempos (I)


S5TIME:
Una variable de tipo de dato S5TIME es usada para inicializar temporizadores en STL, LAD y FBD Ocupa una palabra de 16 bits con 1 + 3 dcadas El tiempo se especifica en horas, minutos, segundos y milisegundos La conversin a la representacin interna la realiza el STEP 7 El nmero es representado internamente en BCD de 000 a 999 El tiempo base puede se: 10 ms (00), 100ms (01), 1s (10) y 10s (11) El tiempo es el producto del valor por la base 15 14 .......0
0

10

10

10

10

Base de tiempo

Valor de tiempo

S5TIME#500ms S5T#2h46m30s

(=0050hex) (=3999hex)

Representacin de Tiempos (II)


DATE:
Una variable de tipo de dato DATE es almacenada en una palabra como un nmero sin signo en coma fija El contenido de la variable corresponde al nmero de das desde el 01.01.1990. La representacin contiene el ao, el mes y el ao, cada uno separado por (-) 15 14 .......0

215 214.....
Ejemplos:
DATE#1990-01-01 D#2168-12-31 (=0000hex) (=FF62hex)

..... 2 2 21 20

Representacin de Tiempos (III)


TIME:
Una variable de tipo de dato TIME ocupa una doble palabra La representacin contiene especificacin de da (d), hora (h), minutos (m), segundos (s) y milisegundos (ms) El contenido de la variable es interpretado como milisegundos (ms) y almacenados como un nmero de 32 bits en coma fija con signo 31 30 .......16 15..... .......0

S 2 ..... Ejemplos:

30

....2 2 ....

16

15

..... 2 21 20
2

TIME#24d20h31m23s647ms TIME#0ms

(=7FFF_FFFFhex) (=0000_0000hex)

Representacin de Tiempos (IV)


TIME_OF_DAY:
Una variable de tipo de dato TIME_OF_DAY ocupa una doble palabra Contiene el nmero de milisegundos desde el comienzo del da (0:00) como un nmero si signo en coma fija La representacin contiene la especificacin de horas, minutos, segundos y milisegundos. 31 30 .......16 15..... .......0

2 2 .....
Ejemplos:

31

30

....2 2 ....

16

15

..... 2 21 20
2

TIME_OF_DAY#00:00:00 TOD#23:59:59.999

(=0000_0000hex) (=0526_5BFFhex)

Representacin de Tiempos (V)


DATE_AND_TIME:
El tipo de dato DATE_AND_TIME representa un tiempo consistente en fecha y momento del da Se puede utilizar la abreviacin DT en lugar de DATE_AND_TIME como un nmero si signo en coma fija La representacin interna es de 64 bits Se indica como Ao-Mes-Da -h:min:s.ms

Ejemplo: DT#1995-02-02-08:30:01.999

Tipos de Datos Estructurados y Arrays


Estructura Array

COMPONENTES GEOMTRICOS

TIPO

GEO_COMPONENTES STRUCT CIRCULO: TRIANGULO:

ENTERO PALABRA REAL ENTERO FUNCTION_BLOCK: EJEMPLO VAR GEOMETRY: ARRAY [1...3 ] of GEO_COMPONENTS END_VAR

CUADRADO: RECTANGULO: END_STRUCT END_TYPE

Strings

Antes de utilizar los datos locales dinmicos del tipo STRING, el usuario los debe inicializar p.ej. mediante una secuencia AWL tal como: LAR1 P#lokal_string_var // lokal_string_var est declarada en VAR_TEMP como STRING[200] L 200 // longitud de STRING indicada arriba T LB [AR1, P#0.0] // introducido en el MAX Len Byte de la cadena L 5 // longitud real de la cadena T LB [AR1, P#1.0] // introducir longitud real de la cadena

UDT: Tipos de Datos de Usuario


UDT
Son estructuras de datos creadas por el usuario y que, una vez definidas, pueden utilizarse en todo el programa. Los tipos de datos de usuario (UDTs) se crean en el Administrador SIMATIC o con el editor incremental.

Estructura de un UDT
Despus de abrir un UDT se visualiza en una nueva ventana de trabajo la tabla de este tipo de datos de usuario en modo "Declaracin". La primera y la ltima lnea contienen ya las declaraciones STRUCT y END_STRUCT, respectivamente, que indican el comienzo y el fin del tipo de datos de usuario. Puede editar el tipo de datos de usuario comenzando a partir de la segunda lnea de la tabla de declaracin en las columnas correspondientes. Los tipos de datos de usuario pueden estar formados por: tipos de datos simples, tipos de datos compuestos o tipos de datos de usuario ya existentes

UDT: Ejemplo en AWL


TYPE UDT 20 STRUCT arranque : BOOL; //variable del tipo BOOL terico : INT; //variable del tipo INT alor : WORD; //variable del tipo WORD END_STRUCT; END_TYPE

Você também pode gostar