SlideShare uma empresa Scribd logo
1 de 27
Data: 22.04.14
Arquivo: STOE_03P.1Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Funções e Blocos de Funções
Data: 22.04.14
Arquivo: STOE_03P.2Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Introdução
Variáveis Temporárias
• são apagadas após o bloco
associado ter sido executado
• armazenamento temporário na
Pilha L
• utilizável em OBs / FCs / FBs
Variáveis Estáticas
• são retidas mesmo após a
execução do bloco
• armazenamento
permanente em DBs
• só pode ser usado em FBs
Dados / Variáveis Locais
(válido somente em um bloco)
Dados / Variáveis Globais
(válidos no programa todo)
• PII / PIQ
• I/ O
• M / T / C
• áreas DB
simbólicoabsoluto
Acesso
Data: 22.04.14
Arquivo: STOE_03P.3Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Variáveis Temporárias
Data: 22.04.14
Arquivo: STOE_03P.4Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Execução
Tamanho da Pilha de Dados Locais
For S7-300:
Tamanho da
Pilha
Classe de
Prioridade
256 bytes
1
27
Tamanho total:
1.5 Kbyte
(CPU 313..316)
Tamanho total:
1.5 Kbyte
(CPU 313..316)
Startup (executa uma única vez)
Execução cíclica
256 bytes
256 bytes
256 bytes12
3
2Execução
controlada
por tempo
Interrupção Horário-do-Dia
Interrupção Atraso-no-Tempo
Interrupção Cíclica
Erro manipulação varredura
256 bytes16
28
26
256 bytes
Execução ativada
por evento
Interrupção de Hardware
Erro manipulação no startup
Data: 22.04.14
Arquivo: STOE_03P.5Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Bytes Necessários de um Bloco na Pilha de Dados Locais
rechts
Data: 22.04.14
Arquivo: STOE_03P.6Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7 256Bytes
Evento
Ocupação
na pilha L
1
OB1
OB 1
1
Sistema
operac.
Ocupação Total na Pilha de Dados Local
FC 2
c/variáveis
temporár.
OB1
FC2
FC1
3
3
OB1
FC1
4
4
OB1
FC1
6
6
FC 3
c/variáveis
temporár.
OB1
FC3
FC1
5
5
FC 1
c/variáveis
temporár.
2
OB1
FC1
2
7
OB1
7
Data: 22.04.14
Arquivo: STOE_03P.7Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Exercício: Uso de Variáveis Temporárias
trocado pela
variável temporária
"Packages"
Data: 22.04.14
Arquivo: STOE_03P.8Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Exemplo de uma Mensagem Mostrada Indicando um Problema no
Processo
Disturbance
LED
Acknowledge
Report Memory
Edge Mem. Bit
Disturb. Input
Acknowl.
Flash Freq.
Disturb. Input
Display
RS
&
=
>=1&QS
R
P
Report Memory
Report Memory
Sugestão de Solução
Tarefa
Data: 22.04.14
Arquivo: STOE_03P.9Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Disturb.
input
Report
memory
Acknowledge
Edge
mem.bit
Display
Flash freq.
FC 20
Chamada
Parâmetros Atribuíveis dos Blocos
A I 1.2
R M 40.0
A I 1.3
FP M 40.1
S M 40.0
A M 40.0
A M 10.3
O
ANM 40.0
A I 1.3
= Q 8.3
Bloco com
parâmetros não
atribuídos
Parâmetros formais
M 40.0
M 40.1I 1.3
I 1.2 A 8.3
M 10.3
Parâmetros atuais
A #Acknowledge
R #Report Memory
U #Disturb. input
FP #Edge mem. bit
S #Report memory
A #Report memory
A #Flashing freq.
O
AN #Reportmemory
A #Disturb. input
= #Display
Bloco com parâmetros atribuídos
Programa
Data: 22.04.14
Arquivo: STOE_03P.10Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Parâmetros Atribuíveis dos Blocos
Uso Mostra graficamente
Read only To the left of the block
Write only To the right of the block
Tipo de parâmetro
Input parameter
Output parameter
In/out parameter
Declaração
in
out
In_out Read / write To the left of the block
Parâmetros formais
Tabela de declaração do bloco FC 20
Data: 22.04.14
Arquivo: STOE_03P.11Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Editando um Parâmetro Atribuível de um Bloco
Aqui foi, p.ex., de bloco FC s/ parâmetro atribuído:
• com endereçamento absoluto: I1.3
• com endereçamento simbólico: “End_left"
Data: 22.04.14
Arquivo: STOE_03P.12Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Chamando um Parâmetro Atribuível de um Bloco
Network 3: Primeira chamada
Network 4: Segunda chamada
Disturb.input
Acknowledge
Flash freq.
Report memory
Edge mem. bit
Display
M40.1
“Position
error"
ENO
EN
“End left"
....
“Acknow.button"
M10.3
M40.0
FC20
Disturb.input
Acknowledge
Flash freq.
Report memory
Edge mem. bit
Display
M40.3
Q9.4
ENO
EN
“End right"
A8.1
“Acknow.button"
M10.3
M40.2
FC20
simbólico
absoluto
Endereçamento
Símbolos Símbolos Locais --> Parâmetros formais
Tabela de
símbolos
Símbolos Globais
Data: 22.04.14
Arquivo: STOE_03P.13Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
LAD/FBD STL
Usando os Parâmetros EN/ENO nas Chamadas de Bloco
CALL FC 1
NOP 0
Exemplo
?? . ?
FC 1
EN ENO
FC 2
EN ENO
FC 3
EN ENO =
FC 1
EN ENO?? . ?Chamada incondicional
A I 0.1
JNB _001
CALL FC 1
_001: A BR
= Q 9.0
FC 1
EN ENOI 0.1 =
Q 9.0
Chamada condicional
Data: 22.04.14
Arquivo: STOE_03P.14Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Tabela de declaração do bloco FC 20
Exercício: Criando um Parâmetro Atribuível de um Bloco FC
Bloco com
parâmetros
não atribuídos
Bloco FC 20 com
parâmetros
atribuídos
A I 1.2
R M 40.0
A I 1.3
FP M 40.1
S M 40.0
A M 40.0
A M 10.3
O
AN M 40.0
A I 1.3
= Q 9.3(Q5.3)
A #Acknowledge
R #Report memory
A #Disturb. ...
:
:
:
:
:
:
:
:
2.
1.
Data: 22.04.14
Arquivo: STOE_03P.15Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Exercício: Chamando um Parâmetro Atribuível de um Bloco FC
Disturb. input
Report memory
Acknowledge
Edge mem. bit
Display
Flash freq.
Parâmetros atribuídos
do FC20 na 1a. chamada
M 40.0
M 40.1I 1.3
I 1.2 Q 9.3 (Q 5.3)
M 10.3
FC 20
Disturb. input
Report memory
Acknowledge
Edge mem. bit
Display
Flash freq.
M 40.2
M 40.3I 1.4
I 1.2 Q 9.4 (Q 5.4)
M 10.3
FC 20
Parâmetros atribuídos
do FC20 na 2a. chamada
Data: 22.04.14
Arquivo: STOE_03P.16Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Blocos de Funções (FBs)
FB 2
EN
Disturb. input
Acknowledge Display
Flash freq. ENO
DB 2
OB 1
Tabela declaração do bloco de funções
Data: 22.04.14
Arquivo: STOE_03P.17Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Blocos de Funções para Mostrar Mensagens
Tabela de
declaração do
bloco de função
Bloco de dados
instance
Data: 22.04.14
Arquivo: STOE_03P.18Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Gerando Blocos de Dados Instance
1. Gera o DB instance na chamada do FB 2. Criar um novo DB instance
Data: 22.04.14
Arquivo: STOE_03P.19Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
O Modelo Múltiplo Instance
DB10
O Modelo Instance
FB20
OB 1
Call FB20, DB10
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=
DB11
FB20
Call FB20, DB11
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=
DB12
FB20
Call FB20, DB12
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=
O Modelo Múltiplo Instance
FB 100
DB100
Call FB100, DB100
OB 1
stat Dist_1 FB20
stat Dist_2 FB20
Parâmetros e
variáveis estáticas
da 2a. chamada
do FB20
Call Dist_2
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=
Parâmetros e
variáveis estáticas
da 1a. chamada
do FB20
Call Dist_1
Disturb._Input:=
Acknowledge:=
Flash_Freq:=
Display:=
Data: 22.04.14
Arquivo: STOE_03P.20Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Inserindo/Apagando Parâmetros de Bloco Posteriormente
Save
Data: 22.04.14
Arquivo: STOE_03P.21Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Correções Quando Chamando Blocos Modificados
Quando o bloco chamado é aberto:
Com o botão direito
Data: 22.04.14
Arquivo: STOE_03P.22Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Exercício: Editando um Bloco de Funções
Tabela de declaração do bloco FB 201.
Sessão de programa do
FB 20
A #Acknowledge
R #Report memory
A #Disturb. ...
:
:
2.
Data: 22.04.14
Arquivo: STOE_03P.23Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Chamando e Testando um Bloco de Funções
(Q 5.3)
(Q 5.3)
Data: 22.04.14
Arquivo: STOE_03P.24Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Convertendo um FC em um FB usando Programas Fonte (1)
Data: 22.04.14
Arquivo: STOE_03P.25Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Convertendo um FC em um FB usando Programas Fonte (2)
:
:
:
:
Data: 22.04.14
Arquivo: STOE_03P.26Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Exercício: Reconhecendo Tipos de Variáveis
Absoluta Simbólica Temporária Estática Parâmetro
L #Number_1
T #Max_value
T MW 40
Instrução
L #Number_2
L #Intermediate_result
L “Number_1"
T #Number_2
Global Local
Data: 22.04.14
Arquivo: STOE_03P.27Siemens AG 1999. All rights reserved.
Conhecimento em Automação
Training Center
SIMATIC S7
Resumo: Chamada de Blocos
• CALL FC1
• UC FC1
• CC FC1
STL
LAD
FBD
FC1
EN
ENO
FC1
EN ENO
FC1
( CALL )
FB
Sem parâm., sem DB inst.
• UC FB1
• CC FB1
FB1
EN
ENO
FB1
EN ENO
CALL
Com parâmetros
• CALL FC2
Par1: ...
Par2: ...
Par3: ...
FC2
EN ENO
Par3
Par1
Par2
FC2
EN
ENO
Par1
Par2
Par3
Com parâm., c/ DB inst.
• CALL FB2, DB3
Par1: ...
Par2: ...
Par3: ...
FB2
EN ENO
Par3
Par1
Par2
DB3
FB2
EN
ENO
Par3
Par1
Par2
DB3
Sem parâmetros
Lin-
guagem
FC
FC1

Mais conteúdo relacionado

Mais procurados

Mais procurados (8)

CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
Stoe 01 p
Stoe 01 pStoe 01 p
Stoe 01 p
 
Stoe 04 p
Stoe 04 pStoe 04 p
Stoe 04 p
 
03 funções e blocos de funções
03   funções e blocos de funções03   funções e blocos de funções
03 funções e blocos de funções
 
S7 bas-09
S7 bas-09S7 bas-09
S7 bas-09
 
Stoe 06 p
Stoe 06 pStoe 06 p
Stoe 06 p
 
15 soluções
15   soluções15   soluções
15 soluções
 

Destaque (20)

Stoe 09 p
Stoe 09 pStoe 09 p
Stoe 09 p
 
Profibus s7
Profibus s7Profibus s7
Profibus s7
 
Configuração
ConfiguraçãoConfiguração
Configuração
 
S7 bas-08
S7 bas-08S7 bas-08
S7 bas-08
 
E multiclient server_wincc60engl
E multiclient server_wincc60englE multiclient server_wincc60engl
E multiclient server_wincc60engl
 
Stoe 05 p
Stoe 05 pStoe 05 p
Stoe 05 p
 
A3 rede automação
A3 rede automação  A3 rede automação
A3 rede automação
 
Configuração
ConfiguraçãoConfiguração
Configuração
 
Stoe 06 p
Stoe 06 pStoe 06 p
Stoe 06 p
 
Stoe 07 p
Stoe 07 pStoe 07 p
Stoe 07 p
 
Stoe 11 p
Stoe 11 pStoe 11 p
Stoe 11 p
 
Stoe 10 p
Stoe 10 pStoe 10 p
Stoe 10 p
 
09 tia portal hands on - pcba-v1
09 tia portal   hands on - pcba-v109 tia portal   hands on - pcba-v1
09 tia portal hands on - pcba-v1
 
Stoe 08 p
Stoe 08 pStoe 08 p
Stoe 08 p
 
Instalação material adicional
Instalação   material adicionalInstalação   material adicional
Instalação material adicional
 
Field wireless 2011
Field wireless 2011Field wireless 2011
Field wireless 2011
 
Teoria sobre conversores de frequência danfoss
Teoria sobre conversores de frequência danfossTeoria sobre conversores de frequência danfoss
Teoria sobre conversores de frequência danfoss
 
Rota
RotaRota
Rota
 
Teoria sobre motores e uso com drives ac
Teoria sobre motores e uso com drives acTeoria sobre motores e uso com drives ac
Teoria sobre motores e uso com drives ac
 
Edmv reg clientes_rev0
Edmv reg clientes_rev0Edmv reg clientes_rev0
Edmv reg clientes_rev0
 

Semelhante a Stoe 03 p (20)

Stoe03p
Stoe03p Stoe03p
Stoe03p
 
Pro2 06p
Pro2 06pPro2 06p
Pro2 06p
 
Pro2 01p
Pro2 01pPro2 01p
Pro2 01p
 
Stoe01p
Stoe01p Stoe01p
Stoe01p
 
S7 bas-05
S7 bas-05S7 bas-05
S7 bas-05
 
Stoe13p
Stoe13p Stoe13p
Stoe13p
 
S7 SIEMENS SPS AVANÇADO .pdf
S7 SIEMENS SPS AVANÇADO .pdfS7 SIEMENS SPS AVANÇADO .pdf
S7 SIEMENS SPS AVANÇADO .pdf
 
Pro2 14p
Pro2 14pPro2 14p
Pro2 14p
 
01 introdução e revisão
01   introdução e revisão01   introdução e revisão
01 introdução e revisão
 
Stoe04p
Stoe04p Stoe04p
Stoe04p
 
10 blocos de organização
10   blocos de organização10   blocos de organização
10 blocos de organização
 
Ko 7 kdp-06
Ko 7 kdp-06Ko 7 kdp-06
Ko 7 kdp-06
 
Pro2 10p
Pro2 10pPro2 10p
Pro2 10p
 
Ko 7 kdp-04
Ko 7 kdp-04Ko 7 kdp-04
Ko 7 kdp-04
 
Pro2 15p
Pro2 15pPro2 15p
Pro2 15p
 
S7 bas-14
S7 bas-14S7 bas-14
S7 bas-14
 
Pro2 08p
Pro2 08pPro2 08p
Pro2 08p
 
TIA PORTALSitrain blocos de programação
TIA PORTALSitrain  blocos de programaçãoTIA PORTALSitrain  blocos de programação
TIA PORTALSitrain blocos de programação
 
06 blocos de_programação
06 blocos de_programação06 blocos de_programação
06 blocos de_programação
 
Stoe14p
Stoe14p Stoe14p
Stoe14p
 

Mais de confidencial

19 exercises v1.00_en
19 exercises v1.00_en19 exercises v1.00_en
19 exercises v1.00_enconfidencial
 
18 syntax rules v1.0
18 syntax rules v1.018 syntax rules v1.0
18 syntax rules v1.0confidencial
 
17 demonstration server client system-v1.00_en
17 demonstration server client system-v1.00_en17 demonstration server client system-v1.00_en
17 demonstration server client system-v1.00_enconfidencial
 
15 final steps of configuration v1.00_en
15 final steps of configuration v1.00_en15 final steps of configuration v1.00_en
15 final steps of configuration v1.00_enconfidencial
 
14 mass data engineering v1.00_en
14 mass data engineering v1.00_en14 mass data engineering v1.00_en
14 mass data engineering v1.00_enconfidencial
 
13 locking functions and operating modes v1.00_en
13 locking functions and operating modes v1.00_en13 locking functions and operating modes v1.00_en
13 locking functions and operating modes v1.00_enconfidencial
 
12 archiving system v1.00_en
12 archiving system v1.00_en12 archiving system v1.00_en
12 archiving system v1.00_enconfidencial
 
11 customizing the os v1.00_en
11 customizing the os v1.00_en11 customizing the os v1.00_en
11 customizing the os v1.00_enconfidencial
 
10 basics automatic mode control v1.00_en
10 basics automatic mode control v1.00_en10 basics automatic mode control v1.00_en
10 basics automatic mode control v1.00_enconfidencial
 
09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_en09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_enconfidencial
 
08 basics control functions v1.00_en
08 basics control functions v1.00_en08 basics control functions v1.00_en
08 basics control functions v1.00_enconfidencial
 
07 connection to the process v1.00_en
07 connection to the process v1.00_en07 connection to the process v1.00_en
07 connection to the process v1.00_enconfidencial
 
06 station and network configuration v1.00_en
06 station and network configuration v1.00_en06 station and network configuration v1.00_en
06 station and network configuration v1.00_enconfidencial
 
05 project setup v1.00_en
05 project setup v1.00_en05 project setup v1.00_en
05 project setup v1.00_enconfidencial
 
03 requirements and functional process description v1.00_en
03 requirements and functional process description v1.00_en03 requirements and functional process description v1.00_en
03 requirements and functional process description v1.00_enconfidencial
 
02 pcs 7 documentation and support v1.00 en
02 pcs 7 documentation and support v1.00 en02 pcs 7 documentation and support v1.00 en
02 pcs 7 documentation and support v1.00 enconfidencial
 
01 introduction v1.00_en
01 introduction v1.00_en01 introduction v1.00_en
01 introduction v1.00_enconfidencial
 
00 st pcs7-sys_v8.0_register 20 en
00 st pcs7-sys_v8.0_register 20 en00 st pcs7-sys_v8.0_register 20 en
00 st pcs7-sys_v8.0_register 20 enconfidencial
 
Fluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeFluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeconfidencial
 
01tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp0101tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp01confidencial
 

Mais de confidencial (20)

19 exercises v1.00_en
19 exercises v1.00_en19 exercises v1.00_en
19 exercises v1.00_en
 
18 syntax rules v1.0
18 syntax rules v1.018 syntax rules v1.0
18 syntax rules v1.0
 
17 demonstration server client system-v1.00_en
17 demonstration server client system-v1.00_en17 demonstration server client system-v1.00_en
17 demonstration server client system-v1.00_en
 
15 final steps of configuration v1.00_en
15 final steps of configuration v1.00_en15 final steps of configuration v1.00_en
15 final steps of configuration v1.00_en
 
14 mass data engineering v1.00_en
14 mass data engineering v1.00_en14 mass data engineering v1.00_en
14 mass data engineering v1.00_en
 
13 locking functions and operating modes v1.00_en
13 locking functions and operating modes v1.00_en13 locking functions and operating modes v1.00_en
13 locking functions and operating modes v1.00_en
 
12 archiving system v1.00_en
12 archiving system v1.00_en12 archiving system v1.00_en
12 archiving system v1.00_en
 
11 customizing the os v1.00_en
11 customizing the os v1.00_en11 customizing the os v1.00_en
11 customizing the os v1.00_en
 
10 basics automatic mode control v1.00_en
10 basics automatic mode control v1.00_en10 basics automatic mode control v1.00_en
10 basics automatic mode control v1.00_en
 
09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_en09 basics operating and monitoring v1.00_en
09 basics operating and monitoring v1.00_en
 
08 basics control functions v1.00_en
08 basics control functions v1.00_en08 basics control functions v1.00_en
08 basics control functions v1.00_en
 
07 connection to the process v1.00_en
07 connection to the process v1.00_en07 connection to the process v1.00_en
07 connection to the process v1.00_en
 
06 station and network configuration v1.00_en
06 station and network configuration v1.00_en06 station and network configuration v1.00_en
06 station and network configuration v1.00_en
 
05 project setup v1.00_en
05 project setup v1.00_en05 project setup v1.00_en
05 project setup v1.00_en
 
03 requirements and functional process description v1.00_en
03 requirements and functional process description v1.00_en03 requirements and functional process description v1.00_en
03 requirements and functional process description v1.00_en
 
02 pcs 7 documentation and support v1.00 en
02 pcs 7 documentation and support v1.00 en02 pcs 7 documentation and support v1.00 en
02 pcs 7 documentation and support v1.00 en
 
01 introduction v1.00_en
01 introduction v1.00_en01 introduction v1.00_en
01 introduction v1.00_en
 
00 st pcs7-sys_v8.0_register 20 en
00 st pcs7-sys_v8.0_register 20 en00 st pcs7-sys_v8.0_register 20 en
00 st pcs7-sys_v8.0_register 20 en
 
Fluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeFluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verde
 
01tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp0101tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp01
 

Stoe 03 p

  • 1. Data: 22.04.14 Arquivo: STOE_03P.1Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Funções e Blocos de Funções
  • 2. Data: 22.04.14 Arquivo: STOE_03P.2Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Introdução Variáveis Temporárias • são apagadas após o bloco associado ter sido executado • armazenamento temporário na Pilha L • utilizável em OBs / FCs / FBs Variáveis Estáticas • são retidas mesmo após a execução do bloco • armazenamento permanente em DBs • só pode ser usado em FBs Dados / Variáveis Locais (válido somente em um bloco) Dados / Variáveis Globais (válidos no programa todo) • PII / PIQ • I/ O • M / T / C • áreas DB simbólicoabsoluto Acesso
  • 3. Data: 22.04.14 Arquivo: STOE_03P.3Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Variáveis Temporárias
  • 4. Data: 22.04.14 Arquivo: STOE_03P.4Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Execução Tamanho da Pilha de Dados Locais For S7-300: Tamanho da Pilha Classe de Prioridade 256 bytes 1 27 Tamanho total: 1.5 Kbyte (CPU 313..316) Tamanho total: 1.5 Kbyte (CPU 313..316) Startup (executa uma única vez) Execução cíclica 256 bytes 256 bytes 256 bytes12 3 2Execução controlada por tempo Interrupção Horário-do-Dia Interrupção Atraso-no-Tempo Interrupção Cíclica Erro manipulação varredura 256 bytes16 28 26 256 bytes Execução ativada por evento Interrupção de Hardware Erro manipulação no startup
  • 5. Data: 22.04.14 Arquivo: STOE_03P.5Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Bytes Necessários de um Bloco na Pilha de Dados Locais rechts
  • 6. Data: 22.04.14 Arquivo: STOE_03P.6Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 256Bytes Evento Ocupação na pilha L 1 OB1 OB 1 1 Sistema operac. Ocupação Total na Pilha de Dados Local FC 2 c/variáveis temporár. OB1 FC2 FC1 3 3 OB1 FC1 4 4 OB1 FC1 6 6 FC 3 c/variáveis temporár. OB1 FC3 FC1 5 5 FC 1 c/variáveis temporár. 2 OB1 FC1 2 7 OB1 7
  • 7. Data: 22.04.14 Arquivo: STOE_03P.7Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Exercício: Uso de Variáveis Temporárias trocado pela variável temporária "Packages"
  • 8. Data: 22.04.14 Arquivo: STOE_03P.8Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Exemplo de uma Mensagem Mostrada Indicando um Problema no Processo Disturbance LED Acknowledge Report Memory Edge Mem. Bit Disturb. Input Acknowl. Flash Freq. Disturb. Input Display RS & = >=1&QS R P Report Memory Report Memory Sugestão de Solução Tarefa
  • 9. Data: 22.04.14 Arquivo: STOE_03P.9Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Disturb. input Report memory Acknowledge Edge mem.bit Display Flash freq. FC 20 Chamada Parâmetros Atribuíveis dos Blocos A I 1.2 R M 40.0 A I 1.3 FP M 40.1 S M 40.0 A M 40.0 A M 10.3 O ANM 40.0 A I 1.3 = Q 8.3 Bloco com parâmetros não atribuídos Parâmetros formais M 40.0 M 40.1I 1.3 I 1.2 A 8.3 M 10.3 Parâmetros atuais A #Acknowledge R #Report Memory U #Disturb. input FP #Edge mem. bit S #Report memory A #Report memory A #Flashing freq. O AN #Reportmemory A #Disturb. input = #Display Bloco com parâmetros atribuídos Programa
  • 10. Data: 22.04.14 Arquivo: STOE_03P.10Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Parâmetros Atribuíveis dos Blocos Uso Mostra graficamente Read only To the left of the block Write only To the right of the block Tipo de parâmetro Input parameter Output parameter In/out parameter Declaração in out In_out Read / write To the left of the block Parâmetros formais Tabela de declaração do bloco FC 20
  • 11. Data: 22.04.14 Arquivo: STOE_03P.11Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Editando um Parâmetro Atribuível de um Bloco Aqui foi, p.ex., de bloco FC s/ parâmetro atribuído: • com endereçamento absoluto: I1.3 • com endereçamento simbólico: “End_left"
  • 12. Data: 22.04.14 Arquivo: STOE_03P.12Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Chamando um Parâmetro Atribuível de um Bloco Network 3: Primeira chamada Network 4: Segunda chamada Disturb.input Acknowledge Flash freq. Report memory Edge mem. bit Display M40.1 “Position error" ENO EN “End left" .... “Acknow.button" M10.3 M40.0 FC20 Disturb.input Acknowledge Flash freq. Report memory Edge mem. bit Display M40.3 Q9.4 ENO EN “End right" A8.1 “Acknow.button" M10.3 M40.2 FC20 simbólico absoluto Endereçamento Símbolos Símbolos Locais --> Parâmetros formais Tabela de símbolos Símbolos Globais
  • 13. Data: 22.04.14 Arquivo: STOE_03P.13Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 LAD/FBD STL Usando os Parâmetros EN/ENO nas Chamadas de Bloco CALL FC 1 NOP 0 Exemplo ?? . ? FC 1 EN ENO FC 2 EN ENO FC 3 EN ENO = FC 1 EN ENO?? . ?Chamada incondicional A I 0.1 JNB _001 CALL FC 1 _001: A BR = Q 9.0 FC 1 EN ENOI 0.1 = Q 9.0 Chamada condicional
  • 14. Data: 22.04.14 Arquivo: STOE_03P.14Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Tabela de declaração do bloco FC 20 Exercício: Criando um Parâmetro Atribuível de um Bloco FC Bloco com parâmetros não atribuídos Bloco FC 20 com parâmetros atribuídos A I 1.2 R M 40.0 A I 1.3 FP M 40.1 S M 40.0 A M 40.0 A M 10.3 O AN M 40.0 A I 1.3 = Q 9.3(Q5.3) A #Acknowledge R #Report memory A #Disturb. ... : : : : : : : : 2. 1.
  • 15. Data: 22.04.14 Arquivo: STOE_03P.15Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Exercício: Chamando um Parâmetro Atribuível de um Bloco FC Disturb. input Report memory Acknowledge Edge mem. bit Display Flash freq. Parâmetros atribuídos do FC20 na 1a. chamada M 40.0 M 40.1I 1.3 I 1.2 Q 9.3 (Q 5.3) M 10.3 FC 20 Disturb. input Report memory Acknowledge Edge mem. bit Display Flash freq. M 40.2 M 40.3I 1.4 I 1.2 Q 9.4 (Q 5.4) M 10.3 FC 20 Parâmetros atribuídos do FC20 na 2a. chamada
  • 16. Data: 22.04.14 Arquivo: STOE_03P.16Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Blocos de Funções (FBs) FB 2 EN Disturb. input Acknowledge Display Flash freq. ENO DB 2 OB 1 Tabela declaração do bloco de funções
  • 17. Data: 22.04.14 Arquivo: STOE_03P.17Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Blocos de Funções para Mostrar Mensagens Tabela de declaração do bloco de função Bloco de dados instance
  • 18. Data: 22.04.14 Arquivo: STOE_03P.18Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Gerando Blocos de Dados Instance 1. Gera o DB instance na chamada do FB 2. Criar um novo DB instance
  • 19. Data: 22.04.14 Arquivo: STOE_03P.19Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 O Modelo Múltiplo Instance DB10 O Modelo Instance FB20 OB 1 Call FB20, DB10 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= DB11 FB20 Call FB20, DB11 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= DB12 FB20 Call FB20, DB12 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= O Modelo Múltiplo Instance FB 100 DB100 Call FB100, DB100 OB 1 stat Dist_1 FB20 stat Dist_2 FB20 Parâmetros e variáveis estáticas da 2a. chamada do FB20 Call Dist_2 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= Parâmetros e variáveis estáticas da 1a. chamada do FB20 Call Dist_1 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:=
  • 20. Data: 22.04.14 Arquivo: STOE_03P.20Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Inserindo/Apagando Parâmetros de Bloco Posteriormente Save
  • 21. Data: 22.04.14 Arquivo: STOE_03P.21Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Correções Quando Chamando Blocos Modificados Quando o bloco chamado é aberto: Com o botão direito
  • 22. Data: 22.04.14 Arquivo: STOE_03P.22Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Exercício: Editando um Bloco de Funções Tabela de declaração do bloco FB 201. Sessão de programa do FB 20 A #Acknowledge R #Report memory A #Disturb. ... : : 2.
  • 23. Data: 22.04.14 Arquivo: STOE_03P.23Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Chamando e Testando um Bloco de Funções (Q 5.3) (Q 5.3)
  • 24. Data: 22.04.14 Arquivo: STOE_03P.24Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Convertendo um FC em um FB usando Programas Fonte (1)
  • 25. Data: 22.04.14 Arquivo: STOE_03P.25Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Convertendo um FC em um FB usando Programas Fonte (2) : : : :
  • 26. Data: 22.04.14 Arquivo: STOE_03P.26Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Exercício: Reconhecendo Tipos de Variáveis Absoluta Simbólica Temporária Estática Parâmetro L #Number_1 T #Max_value T MW 40 Instrução L #Number_2 L #Intermediate_result L “Number_1" T #Number_2 Global Local
  • 27. Data: 22.04.14 Arquivo: STOE_03P.27Siemens AG 1999. All rights reserved. Conhecimento em Automação Training Center SIMATIC S7 Resumo: Chamada de Blocos • CALL FC1 • UC FC1 • CC FC1 STL LAD FBD FC1 EN ENO FC1 EN ENO FC1 ( CALL ) FB Sem parâm., sem DB inst. • UC FB1 • CC FB1 FB1 EN ENO FB1 EN ENO CALL Com parâmetros • CALL FC2 Par1: ... Par2: ... Par3: ... FC2 EN ENO Par3 Par1 Par2 FC2 EN ENO Par1 Par2 Par3 Com parâm., c/ DB inst. • CALL FB2, DB3 Par1: ... Par2: ... Par3: ... FB2 EN ENO Par3 Par1 Par2 DB3 FB2 EN ENO Par3 Par1 Par2 DB3 Sem parâmetros Lin- guagem FC FC1

Notas do Editor

  1. SumárioPágina Introdução .........................................................................................................................................2 Variáveis Temporárias ......................................................................................................................3 Tamanho da Pilha de Dados Locais .................................................................................................4 Bytes Necessários de um Bloco na Pilha de Dados Locais .............................................................5 Ocupação Total na Pilha de Dados Local ........................................................................................6 Exercício: Uso de Variáveis Temporárias ..………...........................................................................7 Exemplo de uma Mensagem Mostrada Indicando um Problema no Processo ...............................8 Parâmetros Atribuíveis dos Blocos ..................................................................................................9 Declaração dos Parâmetros Formais ...............................................................................................10 Editando um Parâmetro Atribuível de um Bloco ..............................................................................11 Chamando um Parâmetro Atribuível de um Bloco ...........................................................................12 Usando os Parâmetros EN/ENO nas Chamadas de Bloco ..............................................................13 Exercício: Criando um Parâmetro Atribuível de um Bloco FC .........................................................14 Exercício: Chamando um Parâmetro Atribuível de um Bloco FC ....................................................15 Blocos de Funções (FBs) .................................................................................................................16 Blocos de Funções para Mostrar Mensagens .................................................................................17 Gerando Blocos de Dados Instance .................................................................................................18 O Modelo Múltiplo Instance ..............................................................................................................19 Inserindo/Apagando Parâmetros de Bloco Posteriormente .............................................................20 Correções Quando Chamando Blocos Modificados ........................................................................21 Exercício: Editando um Bloco de Funções ......................................................................................22 Chamando e Testando um Bloco de Funções ..................................................................................23 Convertendo um FC em um FB usando Programas Fonte (1) .........................................................24 Convertendo um FC em um FB usando Programas Fonte (2) .........................................................25 Exercício: Reconhecendo Tipos de Variáveis ...................................................................................26 Resumo: Chamada de Blocos ...........................................................................................................27
  2. GeralAté agora, as entradas e saídas na planta de engarrafamento foram endereçadas com seus parâmetros atuais. Você não pode atribuir parâmetros aos blocos. Você deveria escolher este procedimento, por exemplo, para criação de um programa que é somente utilizado uma vez com uma máquina especial. Para freqüentes funções recorrentes em grandes sistemas, você cria universalmente utilizáveis blocos com parâmetros atribuíveis (FC, FB).Estes têm parâmetros formais de entrada e saída, que são atribuídos parâmetros atuais quando o bloco é chamado. O ajuste da funcionalidade do bloco ao hardware toma lugar com o parâmetro atribuído quando o bloco é chamado; a “vida interna“ do bloco não muda. Variáveis LocaisAté agora você havia usado variáveis globais (memórias bit e blocos de dados) para armazenar dados de produção, por exemplo. Neste capítulo você irá encontrar mais sobre armazenamento de dados em variáveis locais. Variáveis Variáveis Temporárias são variáveis que somente são armazenadas enquanto Temporárias o bloco está sendo executado. Eles podem ser usados em todos os blocos (OB, FC, FB). Variáveis Estáticas Se os dados estão sendo retidos mesmo após o bloco ser executado, eles devem ser armazenados em variáveis estáticas.Variáveis estáticas somente podem ser usadas em blocos de funções.
  3. GeralVariáveis temporárias podem ser usadas em blocos (OB, FC, FB). Eles são usados para armazenar temporariamente informações enquanto o bloco está sendo executado. Os dados são perdidos quando o bloco é terminado. Os dados são armazenados na pilha L (pilha de dados locais). Esta é uma área de memória separada na CPU. DeclaraçãoVocê define as variáveis na tabela de declaração do bloco. Na linha "temp" você insere um nome de variável e um tipo de dado associado. Você não pode pré-definir aqui um valor inicial ou de partida. Após você ter salvo o bloco, a memória locada na pilha L é mostrada na coluna de “Endereços". AcessoNo Network 1, você vê um exemplo de acesso simbólico para uma variável temporária. O resultado da subtração é armazenado na variável temporária “result“.Você também pode fazer um acesso absoluto (T LW0). Você deve, You can also make an absolute access (T LW0). You should, de qualquer modo, tentar escapar disto uma vez que o programa fica difícil para ler. Nota #Nomes de variáveis que começam com o caractere especial # são variáveis locais as quais são somente válidas dentro do bloco no qual eles estão declarados na tabela de declarações. O Editor de Programas insere automaticamente o caractere especial.
  4. Mostrando os Você pode ver o número exato de bytes necessários na pilha de dados local Bytes Necessáriospela seleção das propriedades do bloco. Ativar1. No gerenciador SIMATIC, selecione o bloco com o botão direito do mouse e então -> Object Properties. ou2. No gerenciador SIMATIC, selecionar o bloco com o botão esquerdo do mouse e então a opção de menu Edit -> Object Properties. NotasA soma dos dados locais para um nível de execução (OB) é de um máximo de 256 bytes com o S7-300. Cada OB individualmente sempre ocupa 20 ou 22 bytes.Isto significa que um máximo de 234 bytes podem ser usados em um FC ou FB.Se mais do que 256 bytes dos dados locais estão definidos em um bloco, o bloco não pode ser transferido para dentro da CPU. A transmissão é interrompida com uma mensagem de erro “The block could not be copied" (o bloco não pode ser copiado). Dentro desta mensagem de erro existe o botão "Details". Se você clicar nele, uma caixa de mensagem aparece com a explicação “Incorrect local data length" (tamanho errado dos dados locais).
  5. ObjetivoVocê não está usando qualquer memória bit como armazenamento temporário no bloco FC 19 do programa S7 "Fill". Estas estão sendo trocadas pela variável temporária “Packages" (pacote de garrafas). Se você escreveu um programa para o bloco em LAD ou FBD, as memórias bit foram necessárias para conectar a saída do divisor com a entrada do conversor de código. Certamente se você escreveu um program para o bloco em STL (onde nenhuma memória bit é necessária) insira a variável temporária “Packages" para armazenamento. O que fazer•Abra o bloco FC 19 no programa S7 "FILL" . •Defina a variável temporária com o nome “Packages" e o tipo de dado "Integer“ na tabela de declaração. •Armazene o número de pacotes na variável temporária. •Transfira o programa alterado e teste. ResultadoVocê agora conhece o uso de variáveis temporárias.
  6. DescriçãoProblemas (disturbances) que ocorrem estão sendo mostrados por um LED na console do operador. Quando o problema (I1.3) ocorre, o LED (Q8.3 ou Q4.3) pisca com 2Hz. O problema é detectado na entrada de reconhecimento (acknowledge) I 1.2. Se o problema for corrigido, o LED para de piscar. Se o problema continua, o LED muda para aceso até o problema ser corrigido. ProgramaEntão para que se mantenham os problemas, que somente existem por um curto intervalo de tempo, não sejam perdidos, um flip flop com set dominante (M40.0) é usado. Um RLO de detecção de transição do sinal mensagem também é executado, desde que a memória é por outro lado imediatamente resetada quando um problema existente é reconhecido. Se o “report memory“ é setado (mensagem não tinha sido ainda reconhecida), a lógica AND de cima leva o LED a piscar. Com isto, a memória bit M10.3, que foi definida como uma memória clock quando o parâmetro atribuído foi feito na CPU, é gatilhado. A lógica AND de baixo é usada para deixar o LED aceso para um problema que foi reconhecido mas ainda existe.
  7. IntroduçãoVocê pode usar blocos de parâmetros atribuíveis para sessões de programa repetitivos. Isto tem as seguintes vantagens: •o programa somente precisa ser criado uma vez.•o bloco somente é armazenado uma única vez na memória do usuário e pode ser chamado quantas vezes você quiser. •o bloco pode ser programado com parâmetros formais (parâmetros input, output ou in/out) e somente quando o bloco é chamado ele dá o endereço “real“ (parâmetro atual). ExemploQuando o bloco é executado, a instrução “A Disturbance input" é verificada vendo qual parâmetro atual foi atribuído ao parâmetro formal “Disturbance input". Se, quando o bloco é chamado, I 1.4 é assumido como parâmetro atual, então a instrução “A I 1.4" é executada. FC / FBBlocos com parâmetro atribuíveis podem deste modo ser FCs ou FBs. FC20 com No exemplo, a mensagem mostrada é requerida dez vezes no sistema. Parâmetros Ele é criado como bloco FC 20 com parâmetros atribuídos e é então chamado Atribuídos dez vezes com parâmetros atuais diferentes.
  8. Endereços FormaisAntes de você poder criar o programa do bloco de parâmetros atribuíveis, você tem que definir os parâmetros formais na tabela de declarações. Tipo de ParâmetroNa tabela do slide, você pode ver três possíveis tipos de parâmetros e seus usos. Favor certificar-se que quando você tiver um acesso de leitura ou escrita a um endereço formal que você usa como parâmetro in/out. Exemplo do FC20Na parte de baixo do slide, você pode ver a tabela de declaração para a mensagem mostrada (message display) (ver página anterior). Desde que a “report memory“ é acessada como leitura (set/reset) bem como escrita (consulta), este tem que ser definido como um parâmetro in/out. NotasExiste somente uma linha para cado tipo de parâmetro na tabela de declaração. Quando você necessitar de diversos parâmetros input, você tem que usar a tecla “Return“ quando você terminar de inserir uma linha. Uma linha adicional para este tipo de parâmetro é então aberta. Após você ter selecionado uma linha de declaração, você pode usar as opções de menu Insert -> Declaration Row -> Before Selection / After Selection para inserir uma linha adicional. Atenção!Se você deseja inserir ou apagar posteriormente uma linha – depois do bloco já ter sido chamado - , você tem que atualizar esta chamada de bloco!
  9. NotasNão faz diferença se os nomes dos parâmetros formais são escritos com letras maiúsculas ou minúsculas. O caractere "#" em frente ao nome é automaticamente inserido pela PG. Isto é para indicar a você que esta é uma variável local que foi definida na tabela de declaração deste bloco. É possível que quando você escreva o programa em LAD / FBD, que o nome não seja completamente mostrado em uma linha. Isto depende de como você configurou os ajustes no Editor de Programas (Options -> Customize -> "LAD/FBD" tab -> Width of address field – largura dos campos de endereço). Símbolos1.Se você usa um nome simbólico quando você edita o bloco, o Editor procura a variável na tabela de declarações. Se existir, o símbolo com o # em frente a ele é aceita no programa como uma variável local. 2.Se ela não pode ser encontrada como uma variável local, o Editor procura na tabela de símbolos para símbolos globais. Se esta é encontrada lá, o símbolo é colocada entre aspas e é aceita no programa. 3.Se você especificar o mesmo nome simbólico como global (na tabela de símbolos) e como local (na tabela de declarações de variáveis), o Editor irá sempre inserir a variável local. Se, de qualquer modo, você deseja trabalhar com símbolos globais, você deve inserir o nome entre aspas quando você estiver inseríndo-a.
  10. ChamadaEm LAD/FBD, você pode selecionar a chamada do browser "Program Elements". Pontos de interrogação (??.?) são mostrados nos parâmetros input, output e in/out do bloco. Aqui você insere o parâmetro atual que você deseja. NotaQuando você chama um bloco FC com parâmetros atribuíveis, você deve atribuir todos os parâmetros do bloco (exceto EN e ENO).
  11. FCs Padrões As seguintes regras existem para execução dos FCs padrões: •Se EN=0, o bloco não é executado e ENO é também =0. •Se EN=1, o bloco é executado e se ele é executado sem erros ENO é também =1. Se um erro ocorre enquanto o bloco está sendo executado, ENO fica =0. FCs do UsuárioNão tem problema se um bloco do usuário foi escrito em LAD, FBD ou STL, quando ele é chamado em LAD/FBD, os parâmetros EN e ENO são adicionados. Isto torna possível a passagem de RLO. EN/ENO não existe em STL. Você pode, deste modo, emulá-los. Você deve programar, independentemente da linguagem de programação, uma avaliação de erro. InterconexãoEm LAD/FBD, diversas caixas podem ser agrupadas juntas uma após a outra e conectá-las logicamente com EN / ENO.
  12. TarefaEscreva o programa para mostrar uma mensagem como um bloco com parâmetro atribuído. No slide você pode ver a tabela de declaração com os parâmetros input e output e o início do programa. O que fazer•Inserir um bloco FC 20 no programa S7 "My Program" .•Escreva o programa no FC 20.•Salve o FC 20.
  13. TarefaChama o FC 20 no OB 1 duas vezes (com endereços absolutos diferentes). Teste a funcionalidade do programa. O que fazer•Inserir dois networks no OB 1 do program S7 "My Program".•Criar duas chamadas do FC 20, conforme aparece no slide,•Transfira os blocos FC20 e OB 1,•Testar a função. Nota: Durante a configuração de HW, você deve usar o MB10 para parâmetro atribuído do byte de memória clock. Entretanto se você tiver realizado um reset de memória, você deve transferir a configuração de HW mais uma vez para que a M10.3 pisque.
  14. CaracterísticasDiferentemente das funções (FCs), os blocos de funções (FBs) possuem uma Especiais dos FBsmemória (rechamada). Isto significa que um bloco de dados local é associado ao bloco de funções, o denominado bloco de dados instance. Quando você chama um FB, você também tem que especificar o número do DB instance, o qual é automaticamente aberto. Um DB instance é usado para salvar variáveis estáticas. Estas variáveis locais somente podem ser usadas em FB, nesta tabela de declarações elas são declaradas. Quando o bloco deixa de ser executado, elas são salvas ou retidas pelo DB. ParâmetrosQuando o bloco de função é chamado, os valores dos parâmetros atuais estão armazenados no DB instance. Se nenhum parâmetro atual foi atribuído ao parâmetro formal em uma chamada de bloco, então o último valor armazenado no DB instance para este parâmetro é usado na execução do programa. Você pode especificar diferentes parâmetros atuais com cada chamada de FB. Quando o bloco de função é terminado, os dados no DB são retidos. Vantagens do FB•Quando você escreve um programa para um FC, você deve procurar por memórias bit vazias, áreas de endereços ou áreas de dados e você deve mantê-los por si próprios. As variáveis estáticas de um FB, por outro lado, são mantidas pelo software STEP 7. •Quando você usa variáveis estáticas você evita o risco de atribuição duplicadade memórias bit, áreas de endereços ou áreas de dados. •Em vez dos parâmetros formais “Report memory" e “Edge memory marker" do FC20, você usa as variáveis estáticas “Report memory" e “Edge memory marker" no FB. Isto torna a chamada do bloco segura e sem duplicidade.
  15. Mostra de Mensagem Em um exercício anterior você criou um bloco FC 20 com parâmetros atribuídos para mostrar uma mensagem (indicando um problema). Ao invés de memórias bit, que eram usadas no FC 20 para salvar o sinal da mensagem e seu RLO de detecção de transição, você pode usar as conhecidas variáveis estáticas em um FB. Elas são armazenadas em um DB instance referenciado ao FB. Estrutura do Quando um DB é gerado e referenciado a um FB, o STEP7 criar a estrutura de DB Instance dados do bloco de dados usando a estrutura especificada na tabela de declarações do bloco de funções. Depois você salva o DB, o bloco de dados é criado e pode então se usado como um DB instance.
  16. Gerando um Existem dois caminhos para geração de um novo DB instance: DB Instance •Quando você chama um FB, você especifica com qual DB instance o FB irá trabalhar. As seguintes mensagens então aparecem: "Instance data block DB x does not exist. Do you want to generate it?". ("O bloco de dados instance DB x não existe. Você deseja gerá-lo?"). •Quando você cria um novo DB, você seleciona a opção "Data block referencing afunction block". NotasUm DB instance somente pode ser referenciado a um FB. Deste modo, um FB pode ser referenciado por um DB instance diferente a cada vez que ele é chamado. Se você modificar o FB (pela adição de parâmetros ou variáveis estáticas), você então atmbém deve gerar o DB instance novamente.
  17. Modelo Múltiplo Até agora, você tinha que usar diferentes DBs instance para cada chamada de Instance um FB. O número de DBs contudo é limitado e por esta razão existe um método que permite a você usar um DB instance comum para todas as chamadas do FB. O modelo múltiplo instance agora habilita você a usar um único DB para diversas chamadas. Para fazer isto você necessita de um FB adicional para gerenciar estes instances. Para cada chamada do FB (FB 20), você define uma variável estática do FB alto nível (FB 100). Neste bloco chama-se Call Dist_1, você não tem então que especificar um DB instance.O FB alto nível (FB 100) é chamado, por exemplo, no OB1, o DB instance comum (DB 100) é gerado somente uma vez. NotaMúltiplos instances são em um curso de programação avançado.
  18. O ProblemaQuando você acrescenta parâmetros de bloco adicionais posteriormente a um bloco já chamado no programa, você deve também atualizar o bloco chamado. Caso contrário, a CPU acabará indo para Stop ou o bloco de funções não será garantido uma vez que os parâmetros adicionais ainda tem que ser alimentados com os parâmetros atuais da chamada. No exemplo, um parâmetro de entrada adicional “Check_lights" foi inserido. Atualizando a Quando você salva o bloco no qual a tabela de declarações foi modificada, uma Chamada mensagem aparece avisando você sobre possíveis problemas.
  19. Atualizando a Quando o bloco chamado é aberto, a seguinte mensagem aparece: Chamada “Time stamp conflict with at least one block call" e a chamada é mostrada em vermelho.Com o botão direito do mouse, clique no bloco e selecione a opção de menu “Update Call" (atualizar a chamada). O bloc chamado é então mostrado novamente e passa a conter, conforme nosso exemplo, o parâmetro de entrada adicional “Check_light“. Este parâmetro pode então ser atribuído. No caso dos FBs, os DBs instance são então gerados novamente.
  20. TarefaO programa para mostrar uma mensagem (indicando um problema) é agora implementado em um FB. Para salvar a memória bit de detecção de transição e a “report memory“ você está utilizando variáveis estáticas que estão armazenadas no DB instance do FB. Neste caminho, você não requer qualquer memória bit para salvar. No slide você pode ver a tabela de declaração com parâmetros de entrada e saída e o começo do programa. O que fazer•Inserir um bloco FB 20 no programa S7 "My Program".•Escreva o programa no FB 20.•Salve o FB 20.
  21. O que fazerNo programa S7 "My Program": • delete ambos networks com a chamada do FC20. •escreva um programa de duas chamadas do FB 20, como mostrado no slide. •transfira os blocos FB20, DB20, DB21 e OB 1. •teste a funcionalidade do programa. FC -> FBEm nosso exemplo, o FB20 foi reescrito, apesar de que um FC20 com os mesmos conteúdos já existisse. Isto não foi difícil fazer. Se um FC com um extenso programa está sendo convertido em um FB, você tem alguns caminhos alternativos: Primeira possível solução: • insira um novo FB • copie a tabela de declaração do bloco FC no FB e o ajuste. • copie os networks do FC no FB • salve o FB. Segunda possível solução : • gerar um arquivo fonte do bloco FC • fazer os ajustes no arquivo fonte • gerar o novo FB do arquivo fonte (ver próxima página).
  22. IntroduçãoDo mesmo modo que nas linguagens de programação de alto nível, você também pode criar blocos usando um arquivo fonte (arquivo texto). Quando você compila este programa fonte, blocos executáveis são gerados. Da mesma forma, um arquivo fonte pode ser gerado de blocos existentes. Você fazer uso disto para criar, com um mínimo de trabalho (digitação), um FB 20 de um bloco FC 20. O que fazer1.Abra um bloco. 2. No Editor LAD/STL/FBD, escolha a opção de menu Options -> Customize, então o "Editor“ tabula. Na caixa “View" selecione a opção "Symbolic representation". 3.No Editor LAD/STL/FBD selecione a opção de menu options File -> Generate Source File... 4.Na janela "New“, você pode inserir um nome de sua escolha para o arquivo fonte a ser gerado na caixa "Object name". 5.Na janela “Generate Source File" que então aparece, selecione os blocos de programa que serão compilados um após o outro na janela “Unselected Blocks“. 6.Clique "OK" para iniciar a compilação dos blocos no código fonte. Os blocos compilados são então encontrados no arquivo fonte com seus nomes previamente definidos, na pasta “Source Files" do programa S7.
  23. Fontes, Para Que?•para refiação automática usando símbolos•para atribuição de atributos de blocos, por exemplo, proteção de bloco•como proteção de dados do programa inteiro•mais liberdade na edição e processamento dos blocos:-modificando o tipo do bloco- inserindo / deletando separadores de network- moldando elementos de programa e comentando em novos blocos- criando programas fonte em outros editores de texto (WORD, WordPad), sem ter que instalar o STEP7 no PC-programação simbólica completa sem verificação de sintaxe, etc. Programa Fonte No lado esquerdo do slide você pode ver o programa fonte para o bloco FC 20. No lado direito do slide, o programa fonte é mostrado para o programa como FB 20. Aqui, as palavras chaves associadas para um bloco de função foi inserido. Complementarmente, variáveis estáticas para a “report memory“ e a memória de detecção de transição estão definidas.Após uma compilação, um FB 20 executável existe uma vez mais. NotaSe você não conhecer as palavras chaves, você pode inserir um bloco template usando a opção de menu Insert -> Block Template -> FB.O tópico “Arquivos Fontes" é discutido amplamente em detalhes em um curso avançado de programação.
  24. ObjetivoVocê irá reconhecer diferenças entre os diversos tipos de variáveis. O que fazerNa tabela, marque o tipo de dado associado com um X.Responda as seguintes questões:O que não está correto na instrução T#Number_2 ?................................................................................. ResultadoVocê pode reconhecer e usar os tipos de variáveis.
  25. CALLA instrução "CALL" é usada para chamada de blocos de programa (FC, FB, SFC, SFB), independentemente do RLO ou quaisquer outras condições. Se você chamar um FB ou SFB com "CALL“, você deve também especificar o correspondente DB instance. Você pode usar indiferentemente nomes absolutos ou simbólico para o bloco de programa. Por exemplo: "CALL FB2, DB2“ ou "CALL valve, level“. A operação "CALL“ salva o endereço retornado, desativa a dependência no MCR e cria a área de dados locais para o bloco a ser chamado. UCA instrução "UC" é uma chamada incondicional de um bloco do tipo Fc ou FB sem atribuição de parâmetros."UC" é de outro modo idêntica ao "CALL". CCA instrução "CC" chama um bloco do tipo FC ou FB sem parâmetros se RLO=1."CC" é de outro modo idêntica ao "CALL". ParâmetrosParâmetros declarados na tabela de declaração são conhecidos como “parâmetros formais“. Os endereços ou valores especificados na chamada são referidos como “parâmetros atuais“. Variáveis estáticas e temporárias não são especificadas na chamada.