Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.1
Conhecimento em Automao
Training Center
Pg.
Contedo
Significado das Variveis e Tipos de Dados .....................................................................................
2
Propriedades e Declarao de Variveis ..............................................................................
3
Vista Geral dos Tipos de Dados no STEP 7 ......................................................................................
4
Tipos de Dados Elementares no STEP 7 ............................................................................................ 5
Importncia dos Tipos de Dados Complexos ......................................................................
6
Tipos de Dados Complexos no STEP 7 .....................................................................................
7
Tipos de Parmetros no STEP 7 ........................................................................................................ 8
reas para gravao de Variveis ............................................................................................... 9
Funcionamento da metodologia da Pilha de Dados Local ................................................................. 10
Exemplo: Utilizao como memria para rascunho ........................................................................... 11
Blocos de Dados (DB) ..................................................................................................................... 12
Tipo de Dado: ARRAY ........................................................................................................................ 13
Declarao e Inicializao dos ARRAYs ............................................................................................ 14
Armazenagem das Variveis ARRAY na Memria ............................................................................ 15
Tipo de Dado: STRUCT ...................................................................................................................... 16
Declarao dos STRUCTs .................................................................................................................. 17
Armazenagem das Variveis STRUCT na Memria .......................................................................... 18
Tipos de Dados Definido pelo Usurio: UDTs ..................................................................................... 19
Uso dos UDTs .................................................................................................................... 20
Tipo de Dado: DATE_AND_TIME
.................................................................................................. 21
Funes para processamento de Variveis DT ................................................................................. 22
Tipo de Dado: STRING ..................................................................................................................... 23
Armazenagem das Variveis STRING na Memria ........................................................................... 24
Funes para processamento de Variveis STRING ........................................................................ 25
Exerccio 5.1: Uso dos Tipos de Dados Complexos ................................................................... 26
Exerccio 5.2: Acessando Tipos de Dados Complexos .................................................................. 27
Exerccio Adicional 5.3: Lendo Time-of-Day com SFC 1 (READ_CLK) ......................................... 28
Siemens Ltda.
Training Center
Pgina 1
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Actual_speed: REAL
Set_speed: REAL
Disturbance: BOOL
Enable:
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.2
BOOL
Conhecimento em Automao
Training Center
Vista Geral
Tipos de Dados
Significado das
Variveis
Siemens Ltda.
Training Center
Pgina 2
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Meas_point: ARRAY[1..10]
Meas_point[1]: Real
Meas_point[2]: Real
Meas_point[3]: Real
Meas_point[10]: Real
SIMATIC S7
Siemens AG 1999. All rights reserved.
Variveis
"Convencionais"
Declarao de
Variveis
Faixa de Validade
Siemens Ltda.
Training Center
Date:
File:
04.10.2007
PRO2_05P.3
Conhecimento em Automao
Training Center
Pgina 3
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Tipos de Dados
Elementares
(at 32 bit)
Tempo (DATE_AND_TIME)
Tipos de Dados
Complexos
(maiores que 32 bits)
Matriz (ARRAY)
Estrutura (STRUCT)
Cadeia de Caracteres (STRING)
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.4
Conhecimento em Automao
Training Center
Vista Geral
Siemens Ltda.
Training Center
Pgina 4
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Palavra-chave
Dimenso
(em bits)
BOOL
BYTE
WORD
DWORD
CHAR
1
8
16
32
8
1 or 0
B#16#A9
W#16#12AF
DW#16#ADAC1EF5
'w'
S5TIME
16
S5T#5s_200ms
INT
DINT
REAL
16
32
32
123
65539 or L#-1
1.2 or 34.5E-12
TIME
DATE
TIME-OF-DAY
32
16
32
T#2D_1H_3M_45S_12MS
D#1999-06-14
TOD#12:23:45.12
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.5
Conhecimento em Automao
Training Center
BOOL, BYTE, WORD Variveis do tipo de dado BOOL consiste de um bit, variveis de tipos de
DWORD, CHAR
dados BYTE, WORD, DWORD so seqncias de 8, 16 e 32 bits
respectivamente. Os bits individuais no so avaliados neste tipo de dado.
Formas especiais destes tipos de dados so nmeros BCD e o valor de
contagem usado em conjunto com a funo de contagem, bem como o tipo de
dado CHAR, os quais representam um caractere em cdigo ASCII.
S5TIME
TIME
Uma varivel do tipo de dado TIME formada por uma palavra dupla. Esta
varivel usada, por exemplo, por valores de tempo especfico em funes
de temporizao IEC.
Os contedos das variveis so interpretadas como um nmero DINT em
milisegundos e pode ser positivo ou negativo (p.ex.: T#-1s=L#-1 000,
T#24d20h31m23s647msw = L#214748647).
DATE
TIME_OF_DAY
Siemens Ltda.
Training Center
Pgina 5
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Set_speed:
REAL
Actual_speed: REAL
Enable:
BOOL
Disturbance:
BOOL
END_STRUCT
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
in
Drive
UDT1
out ...
...
stat Control. FB1
.
.
CALL #Controller
5
Motor:="Hall_1".M5
...
in Motor UDT1
out ...
...
.
.
A #Motor.Enable
.
.
.
.
04.10.2007
PRO2_05P.6
Conhecimento em Automao
Training Center
Tipos de dados
Complex
Programao
Estruturada
Software
Reutilizvel
Siemens Ltda.
Training Center
Pgina 6
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Palavra chave
DATE_AND_TIME
(Data e Horrio)
DT#99-06-14-12:14:55.0
64
STRING
(Caracter string com
mx. 254 caracteres)
8 * (nmero de
caracteres +2)
ARRAY
(Grupo de elementos
do mesmo tipo de dado)
definido pelo
usurio
STRUCT
(Estrutura, Grupo de
elementos de diferentes
tipos de dados)
definido pelo
usurio
UDT
(User Defined Data Type =
"Template" constitudo de
tipos de dados elementares
e/ou complexos)
definido pelo
usurio
SIMATIC S7
Siemens AG 1999. All rights reserved.
Arrays e
Estruturas
Exemplo
Date:
File:
Motor: STRUCT
Speed : INT
Current : REAL
END_STRUCT
UDT como bloco
STRUCT
Speed : INT
Current : REAL
END_STRUCT
04.10.2007
PRO2_05P.7
Conhecimento em Automao
Training Center
Tipo de dado
Com a ajuda dos tipos de dados definidos pelo usurio (UDT), voc pode
definido pelo usurio definir tipos de dados especiais (estruturas) que podem ser ento usadas to
freqntemente quanto voc queira na declarao de parmetros e variveis.
A estrutura de dados armazenada em um bloco UDT (UDT1 ... UDT65535)
e pode ser usado como um "template" na declarao do tipo de dado de
uma varivel ou um parmetro em OBs, FCs, FBs e DBs.
Com a ajuda de UDTs, voc pode salvar tempo de digitao uma vez que a
mesma estrutura solicitada diversas vezes.
Exemplo: Voc requer a mesma estrutura 10 vezes em um bloco de dados.
Primeiro voc define a estrutura e a salva como UDT1, por exemplo.
No DB, voc define a varivel "Drive como um array com 10 elementos do
tipo UDT1:
Drive: array[1..10]
UDT 1
Ento, voc criou faixas de 10 dados com a estrutura definida em UDT 1 sem
digitao adicional.
Siemens Ltda.
Training Center
Pgina 7
ST-7PRO2
Tipos de Dados e Variveis STEP 7
COUNTER
BLOCK_FB
BLOCK_FC
BLOCK_DB
BLOCK_SDB
Pointer
ANY
SIMATIC S7
Siemens AG 1999. All rights reserved.
Dimenso
(em bits)
Exemplo
16
16
NoCompParts: COUNTER
.
LC #No_Comp_Parts
16
Recall: BLOCK_FB
.
UC #Recall
48
Measure: POINTER
.
L P##Measure
.
80
Date:
File:
04.10.2007
PRO2_05P.8
Conhecimento em Automao
Training Center
Tipos de
Parmetros
TIMER e
COUNTER
BLOCK_xx
POINTER
POINTER usado quando tipo de dado any pode ser o tipo de dado do
parmetro atual. O POINTER contem o endereo inicial completo (nmero do
DB, rea de dado, endereo do byte e endereo do bit) do parmetro atual.
Voc pode determinar um parmetro formal do tipo POINTER pela atribuio
do endereo do parmetro atual, p.ex.: P#M50.0.
ANY
ANY usado quando o tipo de dado any pode ser o tipo de dado do
parmetro atual. Em adio ao endereo inicial completo, informaes sobre
o tipo de dado e a dimenso tambm passado em um ponteiro tipo ANY.
P#M10.0 Byte 10 (Campo de 10 componentes do tipo de dado BYTE
comeando com MB 10).
Siemens Ltda.
Training Center
Pgina 8
ST-7PRO2
Tipos de Dados e Variveis STEP 7
memria M
PIQ
DBz
PII
DBy
SIMATIC S7
Siemens AG 1999. All rights reserved.
DBx
reas "clssicas"
de PLCs
Pilha de
dado local
Date:
File:
04.10.2007
PRO2_05P.9
blocos de dados
Conhecimento em Automao
Training Center
Vista Geral
Pilha de Dados Local A Pilha de Dados Local (L stack) uma rea para armazenamento:
variveis temporrias de um bloco lgico, incluindo informaes de partida
de OB
parmetros atuais podem ser passados quando chamando funes
resultados lgicos intermedirios em programas LAD
reas na pilha L para variveis so atribudas dinamicamente quando o
programa executado no bloco e so habilitadas uma vez novamente depois
da execuo do bloco.
Blocos de Dados
Siemens Ltda.
Training Center
Pgina 9
ST-7PRO2
Tipos de Dados e Variveis STEP 7
OB1
.
.
CALL FB1
.
.
.
.
CALL FC5
.
.
.
.
CALL FC10
.
.
LD for OB1
FC10
Alocao
da Pilha L
para OB1
FC5
2
LD for OB1
LD for OB1
LD for OB1
LD for FB1
LD for FB1
LD for FB1
LD for OB1
LD for OB1
LD for OB1
LD for FC10
LD for FC5
livre
livre
livre
livre
livre
livre
livre
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.10
Conhecimento em Automao
Training Center
Pilha de Dados Local Para cada classe de prioridade, isto , para cada OB alocada sua prpria
Pilha L para variveis temporrias dos OBs ou dos blocos chamados
adicionalmente.
Antes de um bloco (OB, FB ou FC) ser processado, o sistema reserva
memria dinmica na Pilha L para variveis temporrias declaradas na parte
da declarao dos blocos. A memria habilitada aps BE (fim de bloco).
Seqncia
3
4
5
Vantagem
Siemens Ltda.
Training Center
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Representao STL
Locais de ramificao
Variveis auxiliares da
Pilha de Dados Local
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.11
Conhecimento em Automao
Training Center
Ramificao no
Editor LAD
Memria Rascunho
e Conectores
Editor LAD
Variveis
Temporrias
Siemens Ltda.
Training Center
Pgina 11
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Funo
FC10
Dados Globais
DB20
Funo
FC20
DB Instance DB p/ FB1
Bloco de
Funo
FB1
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.12
Dados Instance
DB5
Conhecimento em Automao
Training Center
Vista Geral
rea de
Aplicao
Criao de DBs
Registrador
Siemens Ltda.
Training Center
Pgina 12
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Meas_value: ARRAY[1..10]
Meas_value[1]:
Real
Meas_value[2]:
Real
Meas_value[3]:
Real
.
.
.
.
Meas_value[10]: Real
Uni dimensional:
Fieldname: ARRAY[minIndex..maxindex] OF data type;
Multi-dimensional:
Fieldname: ARRAY[mindex1..maxindex1,mindex2..maxindex2,...] OF data type;
Index: Data type INT (-32768...32767)
Exemplos:
Declarao da varivel:
Uni dimensional: Meas_value: ARRAY[1..10] OF REAL;
Multi-dimensional: Position:
ARRAY[1..5,2..8,...] OF INT;
T #Result[10,5]
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.13
Conhecimento em Automao
Training Center
Vista Geral
Acesso
Instrues STL podem ser usadas para acessar componentes array dos tipos
de dados elementares. Um componente array endereado com o nome
array e um ndice entre colchetes.
O ndice deve ser um valor fixado, isto , um termo constante. Indexao
varivel durante a execuo do programa no possvel em STL..
Nota
Siemens Ltda.
Training Center
Pgina 13
ST-7PRO2
Tipos de Dados e Variveis STEP 7
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.14
Conhecimento em Automao
Training Center
Vista Geral
Inicializao
dos ARRAYs
Exemplo
Aceitao da
Inicializao
dos Valores
Siemens Ltda.
Training Center
Pgina 14
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Byte n1)
Byte n+1
Arrays multidimensionais
2
8 7 6 5 4 3 2 1
etc.
12 11 10 9
n1)
Exemplo.
ARRAY[1..2,1..3,1..2] OF BYTE
Byte n1)
Byte 1.1.1
Byte n+1
Byte 1.1.2
Byte n+2
Byte 1.2.1
..
.
Byte 1.2.2
Byte 1
Byte n+1
Byte 2
Byte 1.3.1
Byte n+2
Byte 3
Byte 1.3.2
..
.
Byte 2.1.1
Byte 2.1.2
Byte 2.2.1
Byte 2.2.2
Word 1
Byte 2.3.1
Byte n+1
Byte n+2
Byte n+2
1) n
= par
SIMATIC S7
Siemens AG 1999. All rights reserved.
Byte 2.3.2
Byte 3
Word 2
..
.
Date:
File:
04.10.2007
PRO2_05P.15
Conhecimento em Automao
Training Center
Vista Geral
Armazenamento
de Variveis
Nota
Siemens Ltda.
Training Center
Pgina 15
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Motor: STRUCT
Set_Speed:
Actual_Speed: REAL
StructName: STRUCT
Comp1Name: data type;
Comp2Name: data type;
...
END_STRUCT
SIMATIC S7
Vista Geral
Siemens Ltda.
Training Center
Disturbance:
BOOL
: STRUCT
: BOOL;
: BOOL;
: INT;
: INT;
S #MotorControl.ON
L #MotorControl.ActualSpeed
T #MotorControl.SetSpeed
...
Conhecimento em Automao
Training Center
04.10.2007
PRO2_05P.16
Acesso aos
Componentes
BOOL
Acesso varivel
Date:
File:
Enable:
END_STRUCT
Exemplo:
Declarao de uma varivel:
MotorControl
ON
OFF
SetSpeed
ActualSpeed
END_STRUCT;
REAL
Pgina 16
ST-7PRO2
Tipos de Dados e Variveis STEP 7
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.17
Conhecimento em Automao
Training Center
Vista Geral
Acesso
Inicializao
de STRUCTs
Aceitao da
Inicializao
de Valores
Siemens Ltda.
Training Center
Pgina 17
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Byte n1)
Byte de enchimento
Byte n+2
Byte 1
Byte n+3
Byte 2
Byte n+4
Byte 3
Byte n+5
Byte de enchimento
Byte n+7
Byte n+8
Limite de palavra
6 5 4 3 2 1
Byte n+1
Byte n+6
Componentes
com tipos de
dados elementares
Limite de palavra
Componentes
com tipos de
dados ARRAY
6 5 4 3 2 1
Byte de enchimento
Limite de palavra
Word 1
Componentes
com tipos de
dados STRUCT
Byte n+9
..
.
Byte 3
Word 2
..
.
1) n
..
.
= par
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.18
Conhecimento em Automao
Training Center
Vista Geral
Armazenamento
de Variveis
Siemens Ltda.
Training Center
Pgina 18
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Exemplo:
Definio de um novo tipo de dado (Estrutura):
UDT1 STRUCT
SetSpeed
: REAL;
...
ActualSpeed : REAL;
Enable
: BOOL;
Disturbance : BOOL;
END_STRUCT;
Declarao das variveis:
Motor_1:
UDT1;
Motor_2:
UDT1;
Acesso a variveis:
L #Motor_1.ActualSpeed
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.19
UDT1: STRUCT
Set_Speed:
REAL
Actual_Speed: REAL
Enable:
BOOL
Disturbance:
BOOL
END_STRUCT
Conhecimento em Automao
Training Center
Vista Geral
Criao de UDTs
Siemens Ltda.
Training Center
Pgina 19
ST-7PRO2
Tipos de Dados e Variveis STEP 7
FC23
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.20
Conhecimento em Automao
Training Center
Vista Geral
Valores Iniciais
para UDTs
Criao de DBs
Um UDT pode tambm ser usado como um modelo para criao ( Dilogo:
New Data Block ) de um DB global. Neste caso, um DB criado com a
mesma estrutura e com os valores iniciais do respectivo UDT.
Siemens Ltda.
Training Center
Pgina 20
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Ano
(90 ... 89)
Byte n+2
Dia
(01 ... 31)
Hora
(00 ... 23)
Byte n+3
Byte n+4
Minuto
(00 ... 59)
Segundo
(00 ... 59)
Byte n+5
Byte n+6
1) n
Ms
(01 ... 12)
Milisegundos
(000 ... 999)
Dia da
semana
(1..7)
Byte n+1
Byte n+7
1=Domingo
2=Segunda-feira
3=Tera-feira
4=Quarta-feira
5=Quinta-feira
6=Sexta-feira
7=Sbado
Formao da varivel:
DT#Ano-Ms-Dia-Hora:Minutos:Segundos.[Milisegundos]
Exemplo: DT#1998-03-21-17:23:00:00
= par
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.21
Conhecimento em Automao
Training Center
Vista Geral
Pr ajuste
Uma varivel pode ser presetada com um valor inicial na declarao (no
como parmetro de bloco em um FC, como parmetro in/out em um FB ou
como varivel temporria).
O formato deve ser do tipo:
DT#Ano-Ms-Dia-Horas:Minutos:Segundos.Milisegundos
Especificao de milisegundos pode ser suprimida.
Processamento
Nota
Siemens Ltda.
Training Center
Pgina 21
ST-7PRO2
Tipos de Dados e Variveis STEP 7
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.22
Conhecimento em Automao
Training Center
Vista Geral
Notas
FC1, FC35
FC34
Funes de
Comparao
Siemens Ltda.
Training Center
Pgina 22
ST-7PRO2
Tipos de Dados e Variveis STEP 7
Exemplos:
Declarao de variveis:
Fault signal :
STRING
'Motor failure_4'
(varivel Fault signal inicializada com o texto acima)
Warning : STRING[50] ' '
("empty" varivel Warning, pode aceitar at 50 caracteres)
Processamento:
Acessos elementares:
L #Fault signal[5]
(carrega o quinto caracter do Fault signal)
Processamento por meio dos FCs da biblioteca IEC
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.23
Conhecimento em Automao
Training Center
Vista Geral
Acesso as
Variveis STRING
Inicializao
Siemens Ltda.
Training Center
Pgina 23
ST-7PRO2
Tipos de Dados e Variveis STEP 7
1) n
mx. comprimento= 8
Byte n+1
comprim. corrente= 4
Byte n+2
1o caracter = 'O'
Byte n+3
2o caracter = 'T'
Byte n+4
3o
caracter = 'T'
Byte n+5
4o
caracter = 'O'
Byte n+6
B#16#00
Byte n+7
B#16#00
Byte n+8
B#16#00
Byte n+9
B#16#00
..
.
= par
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.24
Conhecimento em Automao
Training Center
Vista Geral
Armazenamento
de Variveis
Passagem de
Parmetros
Siemens Ltda.
Training Center
Pgina 24
ST-7PRO2
Tipos de Dados e Variveis STEP 7
FC2 (CONCAT): A funo FC2 combina duas variveis STRING no caracter string.
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.25
Conhecimento em Automao
Training Center
Vista Geral
Notas
Comparao
Functions
Siemens Ltda.
Training Center
Pgina 25
ST-7PRO2
Tipos de Dados e Variveis STEP 7
DB51 "Conv_area_Motors"
...
Hall_1
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.26
Conhecimento em Automao
Training Center
Objetivo:
Tarefa
O que fazer
Siemens Ltda.
Training Center
Pgina 26
ST-7PRO2
Tipos de Dados e Variveis STEP 7
SIMATIC S7
Siemens AG 1999. All rights reserved.
Date:
File:
04.10.2007
PRO2_05P.27
Conhecimento em Automao
Training Center
Objetivo:
Tarefa
O que fazer
Siemens Ltda.
Training Center
Pgina 27
ST-7PRO2
Tipos de Dados e Variveis STEP 7
SFC1
EN
ENO
RET_VAL
??.?
CDT
??.?
Parameter
Parameter
CDT
Memory Area
D, L
RET_VAL
OUTPUT
I, Q, M, D, L
SIMATIC S7
Siemens AG 1999. All rights reserved.
INT
Date:
File:
04.10.2007
PRO2_05P.28
Description
Output of the current time-of-day and
the current date
Return value of SFC
Conhecimento em Automao
Training Center
Objetivo:
Tarefa
O que fazer
Siemens Ltda.
Training Center
Pgina 28
ST-7PRO2
Tipos de Dados e Variveis STEP 7