DB 2
OB 1 FB 1
Address Decl. nome tipo
0.0 in Start BOOL
. 0.1 in Stop BOOL
2.0 out Motor_on BOOL
. 4.0 out Speed INT
6.0 stat Speed_old INT
chamada FB1, DB2 0.0 temp Calc_1 INT
Start :=I 0.0
Stop :=I 0.1 .
.
Motor_on :=Q12.0 .
Speed :=QW14 A #Start
. AN #Stop
= #Motor_on
. .
Bloco de Dados do
- bloco de dados para configuração de dados e parâmetros
Sistema (SDB)
Parâmetros Elementares
atuais na:
área de endereço de memória M
IB0 1 0 0 1 0 0 1 0
imagem de processo
...
pilha L p/o chamador
DB5 "Temperature"
chamada FC 21
Mes_Val:="Temperature".seqüência
FB
Declarações ...
stat Motor_1 FBx Dados de
dentro de FBs
stat Motor_2 FBx FBx estados p/
(Multi-instances)
Drive_2
chamada Algorítmos
#Motor_1 p/ controle Drive_2
. Dados de
chamada estados p/
#Motor_2 Drive_3
Drive_3
1 DB16
IB0 1 0 0 0 0 0 1 1
.. .. .. .. .. .. 0 1
.. .. .. .. .. .. .. ..
QB8 1 0 0 1 0 0 1 0
3 .. .. .. .. .. .. .. 1
...
... ...
BLD 3
OB1 = L 24.0 FB10
TDB
0.0 in Start BOOL
Execução do OPN DI 16 0.1 in Stop BOOL
Programa TAR2 LD 20 2.0 out Motor_on BOOL
A I 0.0 4.0 out Speed INT
= DIX 0.0 ...
chamada FB5, DB16 A I 0.4
= DIX 0.1
Start :=I 0.0
Stop :=I 0.4 LAR2 P#DBX 0.0 ...
Motor_on :=Q8.0 AC FB 10 2 A #Start
Speed :=QW12 LAR2 LD 20 AN #Stop
A DIX 2.0 = #Motor_on
= Q 8.0 ...
L DIW 4
T QW 12
Parâmetros TDB Parâmetros
Parâmetros
do Bloco Atuais BLD 4 Formal
DB2 "Temperature"
chamada FB 17, DB 30
Meas_1 :="Temperature".Cylinder
Sum_1 :=MD20
Sum_2 :=MD30
Meas_2 :="Temperature".Shaft
Recipiente principal
DB10
FB10
FB1
...
p.ex. OB1 stat Drill FB1 Algorítmo
stat Motor_1 FB2 da Dados p/
stat Motor_2 FB2 furadeira furadeira
.
Call FB10,DB10
Call Drill
. Dados p/
. FB2
Motor_1
Call Motor_1 Controle
de motor
.
Call Motor_2 Dados p/
Motor_2
DB instance do FB10
FB: #Guarda
Puncionador
Guarda
FB: #Prensa_2
FB: # Puncionador
FB: #Guarda
Transportador
FB: #Transportador
Divisão Tecnológica
Divisão Tecnológica do
programa com a ajuda de
FB instance
NOTA: Punc. =
Puncionador
SIMATIC S7 Date: 14.05.21 Conhecimento em Automação
Training Center
Siemens AG 1999. All rights reserved. File: PRO2_06P.18
Propriedades do Modelo Multi-instance
Vantagens do modelo Multi-instance :
Somente um DB é necessário para diversos instances.
Nenhum gerenciamento adicional é necessário na montagem das
áreas de dados "privados" para os respectivos instances.
O modelo multi-instance opera como "estilo de programação orientada
a objeto" (reutilização por meio de "Agregação").
Maximum nesting depth of 8
Nota:
Dado instance também pode ser acessado do „lado de fora"
p.ex. no OB1: L "Linha de Prensa".Prensa_2.Puncionador.<VarName>
Chaves de proximidade
"INI1", "INI2", "INI3" Barreira de luz
"LB1"
LED "H4"
LEDs Chave de
Chaves de reconhecimento
"H1", "H2", "H3" reconhecimento "S4"
"S1", "S2", "S3"
FB2: "Transporte"
Espera
IN-Parameter: Tipo de dado: O LED está
Initial BOOL desligado
L_Barrier BOOL
Acknowledge BOOL
AN #Tansp_req A #Transp_req
Transp_req BOOL
Clock_bit BOOL
OUT-Parameter:
LED BOOL
Conv_right BOOL Transportador
Conv_left BOOL
Transportador
p/esquerda p/direita
Stat. Var.: O LED pisca O LED pisca
estado STRUCT
Waiting BOOL
Conv_right BOOL
Assembly BOOL AN #L_Barrier
Conv_left BOOL A #Acknowledge
END_STRUCT Montagem
O LED está
aceso
DB10
FB10
...
OB1 stat Estação_1 FB1 Dado para
stat Estação_2 FB1 Estação_1
stat Estação_3 FB1
stat Transporte FB2
.
FB1 Dado para
Call FB10,DB10
Call Estação_1 Estação_2
.
Call Estação_2
Call Estação_3 Dado para
Estação_3
FB2
Call Transporte
Dado para
Transporte
DB Instance do FB10
#Estação_1
I 0.0 Initial LED "H1"
Proxy_switch Transp_req
FB10: "linha_montagem"
"INI1"
"S1" Acknowledge
M10.1 Clock_bit_q
M10.3 Clock_bit_s
Conv_busy
#Estação_2
I 0.0 Initial #estação_2 LED "H2" #Transporte
"INI2" Proxy_ switch Transp_req
I 0.0 Initial LED "H4"
"S2" Acknowledge
M10.1 Clock_bit_q "LB1" L_Barrier Conv_right "K1_CONVR"
M10.3 Clock_bit_s "S4" Acknowledge Conv_left "K2_CONVL"
Conv_busy
Transp_req
M10.1 Clock_bit
#Estação_3
#estação_3
I 0.0 Initial LED "H3"
"INI3" Proxy_ switch Transp_req
"S3" Acknowledge
M10.1 Clock_bit_q
M10.3 Clock_bit_s
Conv_busy