Blocos de Dados
[Link]
Áreas de Armazenamento para Dados
Bit memories
DBz
PIQ
DBy . .
PII .
DBx
Área de I/O
L stack Blocos de Dados
[Link]
Blocos de Dados (DBs)
Accessível a todos os blocos
Função
OB1
FC10
Global data
DB20
Função
FC20
Instance DB para o FB1
Bloco de Instance data
Função
FB1 DB5
[Link]
Visão Geral dos Tipos de Dados no STEP 7
Tipos de dados • Dados do tipo bit (BOOL, BYTE, WORD, DWORD, CHAR)
elementares
• Dados do tipo matemáticos (INT, DINT, REAL)
(máx. 32 bits)
• Dados do tipo tempo (S5TIME, TIME, DATE, TIME_OF_DAY)
• Tempo (DATE_AND_TIME)
Tipos de dados
complexos • Matriz (ARRAY)
(maiores que 32 bits)
• Estrutura (STRUCT)
• Cadeia de caracteres (STRING)
Tipos de dados definidos pelo usuário
(maiores que 32 bits) Tipo de dados UDT (User Defined Type)
[Link]
Tipos de Dados Elementares no STEP 7
Palavra-chave Comprimento Exemplo de uma constante deste tipo
(em bits)
BOOL 1 1 ou 0
BYTE 8 B#16#A9
WORD 16 W#16#12AF
DWORD 32 DW#16#ADAC1EF5
CHAR 8 'w'
S5TIME 16 S5T#5s_200ms
INT 16 123
DINT 32 L#65539
REAL 32 1.2 ou 34.5E-12
TIME 32 T#2D_1H_3M_45S_12MS
DATE 16 D#1993-01-20
TIME_OF_DAY 32 TOD#12:23:45.12
[Link]
Criando um Novo Bloco de Dados
[Link]
Editando, Salvando, Transferindo e Monitorando um DB
[Link]
Endereçando os Dados
8 Bits
7 0
Byte 0 DBB 0
Byte 1 DBW 0
Byte 2
DBD 0
Byte 3
DBX 4.1
DBD 8188
DBW 8190
Byte 8191 DBB 8191
[Link]
Acessando os Dados
DB 19 "Valores" Accesso Accesso Completo
Tradicional
Add. Name Type absoluto simbólico
0.0 Status BOOL OPN "Valores"
ou A DB99.DBX0.0 ou A "Valores".Status
A DBX 0.0
1.0 Modos BYTE
2.0 Numero INT
OPN DB 99
ou L DB99.DBB1 ou L "Valores".Modos
L DBB 1
4.0 Peso[1] REAL
OPN "Valores"
ou L DB99.DBW2 ou L "Valores".Numero
T DBW 2
OPN DB 99
8.0 Peso[2] REAL ou L DB99.DBD8 ou L "Valores".Peso[1]
L DBD 8
[Link]
Exercício: Contando as Peças Transportadas (FC 18)
[Link]
Tipos de Dados Complexos
Palavra-chave Compr. (bits) Exemplo
DATE_AND_TIME 64 DT#97-09-24-12:14:55.0
STRING 8 * (número de ´Isto é uma string´
(max. 254 caracteres) caracteres) ´SIEMENS´
+ 16 bits
ARRAY definido pelo Valores Medidos: ARRAY[1..20]
(Grupo de elementos usuário INT
do mesmo formato de dados)
STRUCT definido pelo Motor: STRUCT
(Grupo de elementos usuário Velocidade: INT
de diferentes tipos de dados) Corrente: REAL
END_STRUCT
UDT UDT como bloco UDT como elemento
(User Defined Data Type) definido pelo
“Modelo" composto de usuário STRUCT Drive: ARRAY[1..4]
dados elementares ou Velocidade: INT UDT1
complexos Corrente: REAL
END_STRUCT
[Link]
Exemplo de uma Matriz
Measuring_point
1. Measuring_point, data type Real
2. Measuring_point, data type Real
Matriz de nome "Measuring_point"
3. Measuring_point, data type Real (vários elementos do mesmo
• tipo de dado)
•
•
10. Measuring_point, data type Real
Exibição no Editor de Programa (Bloco de Dados DB 2):
[Link]
Exemplo de uma Estrutura
Motor_data
Operating Speed, data type Integer
Rated Current, data type Real Estrutura com o nome "Motor_data"
(vários elementos
Startup Current, data type Real com diferentes tipos de dados)
Turning Direction, data type Bool
Exibição no Editor de Programa (Bloco de Dados DB 1):
[Link]