O documento descreve como os dados são armazenados em blocos de dados (DBs) no sistema SIMATIC S7 da Siemens. Em 3 frases:
1) Os DBs fornecem armazenamento de dados globalmente acessíveis para todos os blocos de programa, funções e instâncias de blocos de função.
2) Os DBs podem conter variáveis elementares como BYTE, WORD, INT ou variáveis complexas como arrays, estruturas e tipos de dados definidos pelo usuário.
3) Os elementos de dados nos DBs podem ser endereçados e
1. Armazenamento de Dados em Blocos de Dados
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.1
2. Áreas de Armazenamento para Dados
Memórias Bit
DBz
PIQ
DBy
PII
DBx
Área de I/O
L stack
(Pilha Local)
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.2
Blocos de Dados
..
.
3. Blocos de Dados (DBs)
Acessível p/todos os blocos
OB1
Função
FC10
Dado global
DB20
Função
FC20
DB Instance do FB1
Bloco de
Função
FB1
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
Dados Instance
DB5
9/3/2014
S7-Service.3
4. Vista Geral dos Tipos de Dados em STEP 7
• Tipos de dados Binários
Tipos de dados
elementares
(até 32 bits)
(BOOL, BYTE, WORD, DWORD, CHAR)
• Tipos de dados Matemáticos (INT, DINT, REAL)
• Tipos Tempo (S5TIME, TIME, DATE, TIME_OF_DAY)
Tipos de dados
complexos
(maiores que 32 bits)
• Tempo (DATE_AND_TIME)
• Array (ARRAY)
• Estrutura (STRUCT)
• Cadeia de Caracteres (STRING)
Tipos de dados definidos pelo usuário
(User-defined data types)
(maiores que 32 bits)
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Tipo de Dado UDT(User Defined Type)
Data:
Arquivo:
9/3/2014
S7-Service.4
5. Tipos de Dados Elementares em STEP 7
Palavra chave
(Keyword)
Comprimento
(em bits)
Exemplo de uma constante deste tipo
BOOL
BYTE
WORD
DWORD
CHAR
1
8
16
32
8
1 ou 0
B#16#A9
W#16#12AF
DW#16#ADAC1EF5
'w'
S5TIME
16
S5T#5s_200ms
INT
DINT
REAL
16
32
32
123
65539
1.2 ou 34.5E-12
TIME
DATE
TIME_OF_DAY
32
16
32
T#2D_1H_3M_45S_12MS
D#1993-01-20
TOD#12:23:45.12
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.5
6. Tipos de Dados Complexos
Palavra chave
(Keyword)
Comprimento
(em bits)
Exemplo
DATE_AND_TIME
64
DT#97-09-24-12:14:55.0
STRING
(conjunto de caracteres com
máx. de 254 caracteres)
8 * (número de
caracteres +2)
´This is a string´
´SIEMENS´
ARRAY
(Grupo de elementos
do mesmo tipo de dado)
definido pelo
usuário
Valores medidos: ARRAY[1..20]
INT
STRUCT
(Grupo de elementos
de diferentes tipos de dados)
definido pelo
usuário
Motor: STRUCT
Speed : INT
Current: REAL
END_STRUCT
UDT
(User Defined Data Type =
“Template" consiste de
tipos de dados
elementares ou complexos
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
UDT como bloco
STRUCT
Speed : INT
Current: REAL
END_STRUCT
definido pelo
usuário
Data:
Arquivo:
UDT como array
Drive: ARRAY[1..4]
UDT1
9/3/2014
S7-Service.6
7. Exemplo de uma Estrutura
Motor_data
Operating Speed, tipo de dado Integer
Rated Current, tipo de dado Real
Startup Current, tipo de dado Real
Estrutura com o nome "Motor_data"
(diversos elementos
com diferentes tipos)
Turning Direction, tipo de dado Bool
Mostra no Editor de Programas (Bloco de Dados DB 1):
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.7
8. Exemplo de um Array
Measuring_point
1. Measuring_point, tipo de dado Real
2. Measuring_point, tipo de dado Real
3. Measuring_point, tipo de dado Real
•
•
•
10. Measuring_point, tipo de dado Real
Array com o nome "Measuring_point"
(diversos elementos
do mesmo stipo de dado)
Mostra no Editor de Programas (Bloco de Dados DB 2):
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.8
9. Criando um Novo Bloco de Dados
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.9
10. Inserindo, Salvando, Transferindo e Monitorando um Bloco de Dados
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.10
11. Endereçamento dos Elementos de Dados
8 Bits
7
0
Data Byte 0
DBB 0
Data Byte 1
DBW 0
Data Byte 2
DBD 0
Data Byte 3
DBX 4.1
DBD 8188
DBW 8190
DBB 8191
Data Byte 8191
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.11
12. Acessando Elementos de Dados
DB 19
(Nome simbólico: Values)
Acesso totalmente qualificado
Acesso
Tradicional
absoluto
simbólico
OPN DB19
A DBX 0.0
ou
A DB19.DBX0.0
ou
A “Values".Start
Number
OPN DB19
L DBW2
ou
L DB19.DBW2
ou
L “Values".Number
Loop
OPN DB19
L DBB5
ou
L DB19.DBB5
ou
L “Values".Loop
1)
0
1
2
3
4
5
6
7
8
9
1) Dado bit 0.0 com o
nome de elemento "Start"
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.12
13. Validade de um Open DB
OB 1
OPN
L
DB 4
DBW2
FC 1
DB 4
DBW 4 DB 4
OPN
L
CALL FC 1
T
DB 5
DBB6
T
DBW 2
DB 4
DBW 0 DB 5
L
DBW 8 DB 5
OPN
DB 6
L
DB 5
CALL FC 2
T
FC 2
DBB6
T DB2.DBB 0 DB 2
L
FB 1
CALL FB1, DB1
!
L
DBW 10
DB ??
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
???
Data:
Arquivo:
9/3/2014
S7-Service.13
DB 6
DBW 4 DB 2
14. Tipo de Dado Definido pelo Usuário (UDT)
Bloco UDT como Template
DB Global (Exemplo)
Flour
Flour
Milk
Milk
Eggs
Eggs
Yeast
Yeast
Sugar
Sugar
Receita
1
Flour
Milk
Eggs
Yeast
DB criado de acordo com o UDT
Receita
2
Array com
3 elementos
do tipo UDT
Sugar
Flour
Flour
Milk
Milk
Eggs
Eggs
Yeast
Yeast
Sugar
Sugar
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.14
Receita
3
15. Inserindo um Bloco UDT
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.15
16. Criando um Bloco de Dados Referenciado a um Tipo de Dado
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.16
17. Exemplo: Array de UDTs
Declaration View
Data View
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.17
18. Exercício: Programa para uma Planta de Engarrafamento –
Armazenamento de Dados
Bloco de dados DB5
Garrafas vazias (MW 100)
Variável: empty
Garrafas cheias (MW102)
Variável: full
Garrafas "Quebradas"(MW 104)
Variável: broken
SIMATIC S7
Siemens Serviços Técnicos 2004. Todos os direitos reservados.
Data:
Arquivo:
9/3/2014
S7-Service.18