Post on 03-Jun-2018
transcript
8/12/2019 STOE_03P
1/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 1
Siemens Ltda.Training Center
Sumrio Pgina
Introduo ......................................................................................................................................... 2
Variveis Temporrias ...................................................................................................................... 3Tamanho da Pilha de Dados Locais ................................................................................................. 4Bytes Necessrios de um Bloco na Pilha de Dados Locais ............................................................. 5Ocupao Total na Pilha de Dados Local ........................................................................................ 6Exerccio: Uso de Variveis Temporrias ............................................................................. 7Exemplo de uma Mensagem Mostrada Indicando um Problema no Processo ............................... 8Parmetros Atribuveis dos Blocos .................................................................................................. 9Declarao dos Parmetros Formais ............................................................................................... 10Editando um Parmetro Atribuvel de um Bloco .............................................................................. 11Chamando um Parmetro Atribuvel de um Bloco ........................................................................... 12Usando os Parmetros EN/ENO nas Chamadas de Bloco .............................................................. 13Exerccio: Criando um Parmetro Atribuvel de um Bloco FC ......................................................... 14Exerccio: Chamando um Parmetro Atribuvel de um Bloco FC .................................................... 15Blocos de Funes (FBs) ................................................................................................................. 16Blocos de Funes para Mostrar Mensagens ................................................................................. 17Gerando Blocos de Dados Instance ................................................................................................. 18O Modelo Mltiplo Instance .............................................................................................................. 19Inserindo/Apagando Parmetros de Bloco Posteriormente ............................................................. 20Correes Quando Chamando Blocos Modificados ........................................................................ 21Exerccio: Editando um Bloco de Funes ...................................................................................... 22Chamando e Testando um Bloco de Funes .................................................................................. 23Convertendo um FC em um FB usando Programas Fonte (1) ......................................................... 24Convertendo um FC em um FB usando Programas Fonte (2) ......................................................... 25
Exerccio: Reconhecendo Tipos de Variveis ................................................................................... 26Resumo: Chamada de Blocos ........................................................................................................... 27
Data: 04.10.2007Arquivo: STOE_03P.1Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Funes e Blocos de Funes
8/12/2019 STOE_03P
2/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 2
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.2Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Introduo
Variveis Temporrias
so apagadas aps o blocoassociado ter sido executado
armazenamento temporrio naPilha L
utilizvel em OBs / FCs / FBs
Variveis Estticas
so retidas mesmo aps aexecuo do bloco
armazenamentopermanente em DBs
s pode ser usado em FBs
Dados / Variveis Locais
(vlido somente em um bloco)
Dados / Variveis Globais
(vlidos no programa todo)
PII / PIQ
I/ O
M / T / C
reas DB
simblicoabsoluto
Acesso
Geral At agora, as entradas e sadas na planta de engarrafamento foramendereadas com seus parmetros atuais. Voc no pode atribuir parmetrosaos blocos.
Voc deveria escolher este procedimento, por exemplo, para criao de umprograma que somente utilizado uma vez com uma mquina especial.
Para freqentes funes recorrentes em grandes sistemas, voc criauniversalmente utilizveis blocos com parmetros atribuveis (FC, FB). Estestm parmetros formais de entrada e sada, que so atribudos parmetrosatuais quando o bloco chamado.
O ajuste da funcionalidade do bloco ao hardware toma lugar com o parmetroatribudo quando o bloco chamado; a vida interna do bloco no muda.
Variveis Locais At agora voc havia usado variveis globais (memrias bit e blocos de dados)para armazenar dados de produo, por exemplo. Neste captulo voc irencontrar mais sobre armazenamento de dados em variveis locais.
Variveis Variveis Temporrias so variveis que somente so armazenadas enquantoTemporrias o bloco est sendo executado. Eles podem ser usados em todos os blocos (OB,
FC, FB).
Variveis Estticas Se os dados esto sendo retidos mesmo aps o bloco ser executado, elesdevem ser armazenados em variveis estticas.Variveis estticas somente podem ser usadas em blocos de funes.
8/12/2019 STOE_03P
3/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 3
Siemens Ltda.Training Center
Geral Variveis temporrias podem ser usadas em blocos (OB, FC, FB). Eles sousados para armazenar temporariamente informaes enquanto o bloco estsendo executado. Os dados so perdidos quando o bloco terminado.
Os dados so armazenados na pilha L (pilha de dados locais). Esta uma reade memria separada na CPU.
Declarao Voc define as variveis na tabela de declarao do bloco. Na linha "temp"voc insere um nome de varivel e um tipo de dado associado.
Voc no pode pr-definir aqui um valor inicial ou de partida.
Aps voc ter salvo o bloco, a memria locada na pilha L mostrada na colunade Endereos".
Acesso No Network 1, voc v um exemplo de acesso simblico para uma variveltemporria.
O resultado da subtrao armazenado na varivel temporria result.Voc tambm pode fazer um acesso absoluto (T LW0). Voc deve,You can also make an absolute access (T LW0). You should, de qualquermodo, tentar escapar disto uma vez que o programa fica difcil para ler.
Nota # Nomes de variveis que comeam com o caractere especial # so variveislocais as quais so somente vlidas dentro do bloco no qual eles estodeclarados na tabela de declaraes.
O Editor de Programas insere automaticamente o caractere especial.
Data: 04.10.2007Arquivo: STOE_03P.3Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Variveis Temporrias
8/12/2019 STOE_03P
4/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 4
Siemens Ltda.Training Center
Pilha de Dados Local A pilha de dados local (pilha L) uma rea de memria que contem asvariveis temporrias (substitudas por memrias de rascunho no SIMATICS5) dos blocos.
Tamanho da Pilha Quando o sistema operacional chama um OB, uma rea na pilha L de 256de Dados Local bytes aberta enquanto o OB e os blocos chamados nele so executados.
Cada classe de prioridade so atribudos 256 bytes.A pilha L das CPUs 313..316 possuem um total de 1536 bytes (1.5kByte).
Classes de Existem um total de oito classes de prioridade com o S7-300. De qualquerPrioridade modo, no mais do que 6 classes de prioridade podem ser ativadas ao
mesmo tempo. Se, por exemplo, OB 100 est ativado (com classe deprioridade 27), ento OB 1 (classe de prioridade 1) jamais pode ser ativada.Alm disso, os OBs de erro 80 a 7 para erros assncronos somente podem terclasse de prioridade 28, se uma falha ocorre no programa de startup. Em
outras palavras, quando eles interrompem OB 100. Mais informaes podemser encontradas no captulo Blocos de Organizao.
S7-400 Com as CPUs S7-400, voc pode decidir qual o tamanho da pilha de dadoslocais para cada classe de prioridade (ferramenta: configurador de hardware).
Voc pode deselecionar a classe de prioridade a qual voc no necessita.Deste modo, voc pode fazer mais dados locais disponveis para outrasclasses de prioridade.
Data: 04.10.2007Arquivo: STOE_03P.4Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Execuo
Tamanho da Pilha de Dados Locais
For S7-300:
Tamanho daPilha
Classe dePrioridade
256 bytes1
27
Tamanho total:
1.5 Kbyte
(CPU 313..316)
Tamanho total:
1.5 Kbyte
(CPU 313..316)
Startup (executa uma nica vez)
Execuo cclica
256 bytes
256 bytes
256 bytes12
3
2Execuocontroladapor tempo
Interrupo Horrio-do-Dia
Interrupo Atraso-no-Tempo
Interrupo Cclica
Erro manipulao varredura
256 bytes16
28
26
256 bytes
Execuo ativadapor evento
Interrupo de Hardware
Erro manipulao no startup
8/12/2019 STOE_03P
5/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 5
Siemens Ltda.Training Center
Mostrando os Voc pode ver o nmero exato de bytes necessrios na pilha de dados localBytes Necessrios pela seleo das propriedades do bloco.
Ativar 1. No gerenciador SIMATIC, selecione o bloco com o boto direito do mouse eento -> Object Properties. ou2. No gerenciador SIMATIC, selecionar o bloco com o boto esquerdo do
mouse e ento a opo de menu Edit -> Object Properties.
Notas A soma dos dados locais para um nvel de execuo (OB) de um mximo de256 bytes com o S7-300. Cada OB individualmente sempre ocupa 20 ou 22bytes.Isto significa que um mximo de 234 bytes podem ser usados em um FC ou FB.
Se mais do que 256 bytes dos dados locais esto definidos em um bloco, obloco no pode ser transferido para dentro da CPU. A transmisso interrompida com uma mensagem de erro The block could not be copied" (obloco no pode ser copiado). Dentro desta mensagem de erro existe o boto
"Details". Se voc clicar nele, uma caixa de mensagem aparece com aexplicao Incorrect local data length" (tamanho errado dos dados locais).
Data: 04.10.2007Arquivo: STOE_03P.5Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Bytes Necessrios de um Bloco na Pilha de Dados Locais
rechts
8/12/2019 STOE_03P
6/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 6
Siemens Ltda.Training Center
Total Ocupao na Voc pode mostrar o nmero de bytes que um programa inteiro necessitaPilha de Dados Local na pilha de dados local com a ferramenta "Reference Data". Voc ir se
familiarizar com esta ferramenta no captulo Erros Lgicos".
A ocupao total da pilha de dados local e o nmero de bytes necessriospor caminho de chamada mostrado na tela.
Ativar a Opo No gerenciador SIMATIC voc seleciona a pasta de bloco e ento a opoReference Data de menu Options -> Reference Data -> Display.
Nota Se o nmero mximo dos dados locais foi excedido durante a execuo doprograma na CPU, a CPU vai para o modo Stop. STOP caused by errorwhen allocating local data" (Stop causado por erro quando alocando osdados locais) inserida como causa do erro no buffer de diagnstico.
Data: 04.10.2007Arquivo: STOE_03P.6Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
256
Bytes
Evento
Ocupaona pilha L
1
OB1
OB 1
1
Sistemaoperac.
Ocupao Total na Pilha de Dados Local
FC 2
c/variveistemporr.
OB1
FC2
FC1
3
3
OB1
FC1
4
4
OB1
FC1
6
6
FC 3
c/variveistemporr.
OB1
FC3
FC1
5
5
FC 1
c/variveistemporr.
2
OB1
FC1
2
7
OB1
7
8/12/2019 STOE_03P
7/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 7
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.7Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Exerccio: Uso de Variveis Temporrias
trocado pelavarivel temporria
"Packages"
Objetivo Voc no est usando qualquer memria bit como armazenamento temporriono bloco FC 19 do programa S7 "Fill". Estas esto sendo trocadas pela variveltemporria Packages" (pacote de garrafas).
Se voc escreveu um programa para o bloco em LAD ou FBD, as memrias bitforam necessrias para conectar a sada do divisor com a entrada do conversorde cdigo.Certamente se voc escreveu um program para o bloco em STL (onde nenhumamemria bit necessria) insira a varivel temporria Packages" paraarmazenamento.
O que fazer Abra o bloco FC 19 no programa S7 "FILL" .
Defina a varivel temporria com o nome Packages" e o tipo de dado"Integer na tabela de declarao.
Armazene o nmero de pacotes na varivel temporria.
Transfira o programa alterado e teste.
Resultado Voc agora conhece o uso de variveis temporrias.
8/12/2019 STOE_03P
8/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 8
Siemens Ltda.Training Center
Descrio Problemas (disturbances) que ocorrem esto sendo mostrados por um LED naconsole 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 oproblema continua, o LED muda para aceso at o problema ser corrigido.
Programa Ento para que se mantenham os problemas, que somente existem por umcurto intervalo de tempo, no sejam perdidos, um flip flop com set dominante(M40.0) usado.Um RLO de deteco de transio do sinal mensagem tambm executado,desde que a memria por outro lado imediatamente resetada quando umproblema existente reconhecido.
Se o report memory setado (mensagem no tinha sido ainda reconhecida), algica AND de cima leva o LED a piscar. Com isto, a memria bit M10.3, que foidefinida como uma memria clock quando o parmetro atribudo foi feito naCPU, gatilhado.
A lgica AND de baixo usada para deixar o LED aceso para um problema quefoi reconhecido mas ainda existe.
Data: 04.10.2007Arquivo: STOE_03P.8Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Exemplo de uma Mensagem Mostrada Indicando um Problema noProcesso
Disturbance
LED
Acknowledge
Report Memory
Edge Mem. Bit
Disturb. Input
Acknowl.
Flash Freq.
Disturb. Input
Display
RS
&
=
>=1&QS
RP
Report Memory
Report Memory
Sugesto de Soluo
Tarefa
8/12/2019 STOE_03P
9/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 9
Siemens Ltda.Training Center
Introduo Voc pode usar blocos de parmetros atribuveis para sesses de programarepetitivos. Isto tem as seguintes vantagens:
o programa somente precisa ser criado uma vez. o bloco somente armazenado uma nica vez na memria do usurio e
pode ser chamado quantas vezes voc quiser. o bloco pode ser programado com parmetros formais (parmetros input,
output ou in/out) e somente quando o bloco chamado ele d o endereoreal (parmetro atual).
Exemplo Quando o bloco executado, a instruo A Disturbance input" verificadavendo qual parmetro atual foi atribudo ao parmetro formal Disturbanceinput". Se, quando o bloco chamado, I 1.4 assumido como parmetro atual,ento a instruo A I 1.4" executada.
FC / FB Blocos com parmetro atribuveis podem deste modo ser FCs ou FBs.
FC20 com No exemplo, a mensagem mostrada requerida dez vezes no sistema.Parmetros Ele criado como bloco FC 20 com parmetros atribudos e ento chamadoAtribudos dez vezes com parmetros atuais diferentes.
Data: 04.10.2007Arquivo: STOE_03P.9Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Disturb.input
Reportmemory
Acknowledge
Edgemem.bit
Display
Flash freq.
FC 20
Chamada
Parmetros Atribuveis 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 comparmetros noatribudos
Parmetros formais
M 40.0
M 40.1I 1.3
I 1.2 A 8.3
M 10.3
Parmetros 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 parmetros atribudos
Programa
8/12/2019 STOE_03P
10/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 10
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.10Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Parmetros Atribuveis dos Blocos
Uso Mostra graficamente
Read only To the left of the block
Write only To the right of the block
Tipo de parmetro
Input parameter
Output parameter
In/out parameter
Declarao
in
out
In_out Read / write To the left of the block
Parmetros formais
Tabela de declarao do bloco FC 20
Endereos Formais Antes de voc poder criar o programa do bloco de parmetros atribuveis, voctem que definir os parmetros formais na tabela de declaraes.
Tipo de Parmetro Na tabela do slide, voc pode ver trs possveis tipos de parmetros e seususos. Favor certificar-se que quando voc tiver um acesso de leitura ou escrita aum endereo formal que voc usa como parmetro in/out.
Exemplo do FC20 Na parte de baixo do slide, voc pode ver a tabela de declarao para amensagem mostrada (message display) (ver pgina anterior).
Desde que a report memory acessada como leitura (set/reset) bem comoescrita (consulta), este tem que ser definido como um parmetro in/out.
Notas Existe somente uma linha para cado tipo de parmetro na tabela de declarao.Quando voc necessitar de diversos parmetros input, voc tem que usar atecla Return quando voc terminar de inserir uma linha. Uma linha adicionalpara este tipo de parmetro ento aberta. Aps voc ter selecionado uma linhade declarao, voc pode usar as opes de menu Insert -> Declaration Row ->Before Selection / After Selection para inserir uma linha adicional.
Ateno! Se voc deseja inserir ou apagar posteriormente uma linha depois do bloco jter sido chamado - , voc tem que atualizar esta chamada de bloco!
8/12/2019 STOE_03P
11/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 11
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.11Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Editando um Parmetro Atribuvel de um Bloco
Aqui foi, p.ex., de bloco FC s/ parmetro atribudo:
com endereamento absoluto: I1.3
com endereamento simblico: End_left"
Notas No faz diferena se os nomes dos parmetros formais so escritos com letrasmaisculas ou minsculas. O caractere "#" em frente ao nome automaticamente inserido pela PG. Isto para indicar a voc que esta uma
varivel local que foi definida na tabela de declarao deste bloco.
possvel que quando voc escreva o programa em LAD / FBD, que o nomeno seja completamente mostrado em uma linha. Isto depende de como vocconfigurou os ajustes no Editor de Programas (Options -> Customize ->"LAD/FBD" tab -> Width of address field largura dos campos de endereo).
Smbolos 1. Se voc usa um nome simblico quando voc edita o bloco, o Editorprocura a varivel na tabela de declaraes.
Se existir, o smbolo com o # em frente a ele aceita no programa comouma varivel local.
2. Se ela no pode ser encontrada como uma varivel local, o Editor procura na
tabela de smbolos para smbolos globais.Se esta encontrada l, o smbolo colocada entre aspas e aceita noprograma.
3. Se voc especificar o mesmo nome simblico como global (na tabela desmbolos) e como local (na tabela de declaraes de variveis), o Editor irsempre inserir a varivel local.
Se, de qualquer modo, voc deseja trabalhar com smbolos globais, vocdeve inserir o nome entre aspas quando voc estiver inserndo-a.
8/12/2019 STOE_03P
12/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 12
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.12Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Chamando um Parmetro Atribuvel de um Bloco
Network 3: Primeira chamada
Network 4: Segunda chamada
Disturb.input
Acknowledge
Flash freq.
Report memory
Edge mem. bit
Display
M40.1
Positionerror"
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
simblico
absoluto
Endereamento
Smbolos Smbolos Locais --> Parmetros formais
Tabela desmbolos
Smbolos Globais
Chamada Em LAD/FBD, voc pode selecionar a chamada do browser "ProgramElements". Pontos de interrogao (??.?) so mostrados nos parmetros input,output e in/out do bloco. Aqui voc insere o parmetro atual que voc deseja.
Nota Quando voc chama um bloco FC com parmetros atribuveis, voc deveatribuir todos os parmetros do bloco (exceto EN e ENO).
8/12/2019 STOE_03P
13/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 13
Siemens Ltda.Training Center
FCs Padres As seguintes regras existem para execuo dos FCs padres:
Se EN=0, o bloco no executado e ENO tambm =0. Se EN=1, o bloco executado e se ele executado sem erros ENO tambm =1.
Se um erro ocorre enquanto o bloco est sendo executado, ENO fica =0.
FCs do Usurio No tem problema se um bloco do usurio foi escrito em LAD, FBD ou STL,quando ele chamado em LAD/FBD, os parmetros EN e ENO soadicionados. Isto torna possvel a passagem de RLO.
EN/ENO no existe em STL. Voc pode, deste modo, emul-los.
Voc deve programar, independentemente da linguagem de programao, umaavaliao de erro.
Interconexo Em LAD/FBD, diversas caixas podem ser agrupadas juntas uma aps a outra econect-las logicamente com EN / ENO.
Data: 04.10.2007Arquivo: STOE_03P.13Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
LAD/FBD STL
Usando os Parmetros EN/ENO nas Chamadas de Bloco
CALL FC 1NOP 0
Exemplo
?? . ?
FC 1
EN ENO
FC 2
EN ENO
FC 3
EN ENO =
FC 1
EN ENO?? . ?Chamada incondicional
A I 0.1JNB _001CALL FC 1
_001: A BR= Q 9.0
FC 1EN ENOI 0.1 =
Q 9.0
Chamada condicional
8/12/2019 STOE_03P
14/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 14
Siemens Ltda.Training Center
Tarefa Escreva o programa para mostrar uma mensagem como um bloco comparmetro atribudo. No slide voc pode ver a tabela de declarao com osparmetros input e output e o incio 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.
Data: 04.10.2007Arquivo: STOE_03P.14Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Tabela de declarao do bloco FC 20
Exerccio: Criando um Parmetro Atribuvel de um Bloco FC
Bloco comparmetrosno atribudos
Bloco FC 20 comparmetrosatribudos
A I 1.2R M 40.0A I 1.3FP M 40.1S M 40.0A M 40.0
A M 10.3OAN M 40.0A I 1.3= Q 9.3(Q5.3)
A #AcknowledgeR #Report memoryA #Disturb. ...:::
:::::
2.
1.
8/12/2019 STOE_03P
15/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 15
Siemens Ltda.Training Center
Tarefa Chama o FC 20 no OB 1 duas vezes (com endereos 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 funo.
Nota: Durante a configurao de HW, voc deve usar o MB10 para parmetroatribudo do byte de memria clock. Entretanto se voc tiver realizado um resetde memria, voc deve transferir a configurao de HW mais uma vez para quea M10.3 pisque.
Data: 04.10.2007Arquivo: STOE_03P.15Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Exerccio: Chamando um Parmetro Atribuvel de um Bloco FC
Disturb. input
Report memory
Acknowledge
Edge mem. bitDisplay
Flash freq.Parmetros atribudosdo 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. bitDisplay
Flash freq.M 40.2
M 40.3I 1.4
I 1.2 Q 9.4 (Q 5.4)
M 10.3
FC 20
Parmetros atribudosdo FC20 na 2a. chamada
8/12/2019 STOE_03P
16/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 16
Siemens Ltda.Training Center
Caractersticas Diferentemente das funes (FCs), os blocos de funes (FBs) possuem umaEspeciais dos FBs memria (rechamada). Isto significa que um bloco de dados local associado ao
bloco de funes, o denominado bloco de dados instance. Quando voc
chama um FB, voc tambm tem que especificar o nmero do DB instance, oqual automaticamente aberto.
Um DB instance usado para salvar variveis estticas. Estas variveis locaissomente podem ser usadas em FB, nesta tabela de declaraes elas sodeclaradas. Quando o bloco deixa de ser executado, elas so salvas ou retidaspelo DB.
Parmetros Quando o bloco de funo chamado, os valores dos parmetros atuais estoarmazenados no DB instance.
Se nenhum parmetro atual foi atribudo ao parmetro formal em uma chamadade bloco, ento o ltimo valor armazenado no DB instance para este parmetro usado na execuo do programa.
Voc pode especificar diferentes parmetros atuais com cada chamada de FB.
Quando o bloco de funo terminado, os dados no DB so retidos.
Vantagens do FB Quando voc escreve um programa para um FC, voc deve procurar pormemrias bit vazias, reas de endereos ou reas de dados e voc devemant-los por si prprios. As variveis estticas de um FB, por outro lado,so mantidas pelo software STEP 7.
Quando voc usa variveis estticas voc evita o risco de atribuioduplicada de memrias bit, reas de endereos ou reas de dados.
Em vez dos parmetros formais Report memory" e Edge memorymarker" do FC20, voc usa as variveis estticas Report memory" eEdge memory marker" no FB. Isto torna a chamada do bloco segura e semduplicidade.
Data: 04.10.2007Arquivo: STOE_03P.16Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Blocos de Funes (FBs)
FB 2
EN
Disturb. input
Acknowledge Display
Flash freq. ENO
DB 2
OB 1
Tabela declarao do bloco de funes
8/12/2019 STOE_03P
17/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 17
Siemens Ltda.Training Center
Mostra de Mensagem Em um exerccio anterior voc criou um bloco FC 20 com parmetros atribudospara mostrar uma mensagem (indicando um problema).Ao invs de memrias bit, que eram usadas no FC 20 para salvar o sinal da
mensagem e seu RLO de deteco de transio, voc pode usar as conhecidasvariveis estticas em um FB. Elas so armazenadas em um DB instancereferenciado ao FB.
Estrutura do Quando um DB gerado e referenciado a um FB, o STEP7 criar a estrutura deDB Instance dados do bloco de dados usando a estrutura especificada na tabela de
declaraes do bloco de funes. Depois voc salva o DB, o bloco de dados criado e pode ento se usado como um DB instance.
Data: 04.10.2007Arquivo: STOE_03P.17Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Blocos de Funes para Mostrar Mensagens
Tabela dedeclarao dobloco de funo
Bloco de dados
instance
8/12/2019 STOE_03P
18/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 18
Siemens Ltda.Training Center
Gerando um Existem dois caminhos para gerao 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 ento aparecem:
"Instance data block DB x does not exist. Do you want to generate it?".("O bloco de dados instance DB x no existe. Voc deseja ger-lo?").
Quando voc cria um novo DB, voc seleciona a opo "Data blockreferencing a function block".
Notas Um DB instance somente pode ser referenciado a um FB. Deste modo, um FBpode ser referenciado por um DB instance diferente a cada vez que ele chamado.
Se voc modificar o FB (pela adio de parmetros ou variveis estticas), vocento atmbm deve gerar o DB instance novamente.
Data: 04.10.2007Arquivo: STOE_03P.18Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Gerando Blocos de Dados Instance
1. Gera o DB instance na chamada do FB 2. Criar um novo DB instance
8/12/2019 STOE_03P
19/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 19
Siemens Ltda.Training Center
Modelo Mltiplo At agora, voc tinha que usar diferentes DBs instance para cada chamada deInstance um FB. O nmero de DBs contudo limitado e por esta razo existe um mtodo
que permite a voc usar um DB instance comum para todas as chamadas do
FB.O modelo mltiplo instance agora habilita voc a usar um nico DB paradiversas chamadas. Para fazer isto voc necessita de um FB adicional paragerenciar estes instances.Para cada chamada do FB (FB 20), voc define uma varivel esttica do FB altonvel (FB 100). Neste bloco chama-se Call Dist_1, voc no tem ento queespecificar um DB instance.
O FB alto nvel (FB 100) chamado, por exemplo, no OB1, o DB instancecomum (DB 100) gerado somente uma vez.
Nota Mltiplos instances so em um curso de programao avanado.
Data: 04.10.2007Arquivo: STOE_03P.19Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
O Modelo Mltiplo Instance
DB10
O Modelo Instance
FB20
OB 1
Call FB20, DB10Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=
DB11
FB20
Call FB20, DB11Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=
DB12
FB20
Call FB20, DB12Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=
O Modelo Mltiplo Instance
FB 100
DB100
Call FB100, DB100OB 1
stat Dist_1 FB20
stat Dist_2 FB20
Parmetros evariveis estticasda 2a. chamadado FB20
Call Dist_2Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=
Parmetros evariveis estticasda 1a. chamadado FB20
Call Dist_1Disturb._Input:=Acknowledge:=Flash_Freq:=Display:=
8/12/2019 STOE_03P
20/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 20
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.20Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Inserindo/Apagando Parmetros de Bloco Posteriormente
Save
O Problema Quando voc acrescenta parmetros de bloco adicionais posteriormente a umbloco j chamado no programa, voc deve tambm atualizar o bloco chamado.Caso contrrio, a CPU acabar indo para Stop ou o bloco de funes no ser
garantido uma vez que os parmetros adicionais ainda tem que ser alimentadoscom os parmetros atuais da chamada.
No exemplo, um parmetro de entrada adicional Check_lights" foi inserido.
Atualizando a Quando voc salva o bloco no qual a tabela de declaraes foi modificada, uma
Chamada mensagem aparece avisando voc sobre possveis problemas.
8/12/2019 STOE_03P
21/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 21
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.21Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Correes Quando Chamando Blocos Modificados
Quando o bloco chamado aberto:
Com o boto direito
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 emvermelho.Com o boto direito do mouse, clique no bloco e selecione a opo de menuUpdate Call" (atualizar a chamada). O bloc chamado ento mostradonovamente e passa a conter, conforme nosso exemplo, o parmetro de entradaadicional Check_light. Este parmetro pode ento ser atribudo. No caso dosFBs, os DBs instance so ento gerados novamente.
8/12/2019 STOE_03P
22/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 22
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.22Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Exerccio: Editando um Bloco de Funes
Tabela de declarao do bloco FB 201.
Sesso de programa doFB 20
A #Acknowledge
R #Report memoryA #Disturb. ...::
2.
Tarefa O programa para mostrar uma mensagem (indicando um problema) agoraimplementado em um FB. Para salvar a memria bit de deteco de transio ea report memory voc est utilizando variveis estticas que esto
armazenadas no DB instance do FB. Neste caminho, voc no requer qualquermemria bit para salvar.
No slide voc pode ver a tabela de declarao com parmetros de entrada esada e o comeo 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.
8/12/2019 STOE_03P
23/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 23
Siemens Ltda.Training Center
O que fazer No programa S7 "My Program":
delete ambos networks com a chamada do FC20.
escreva um programa de duas chamadas do FB 20, como mostrado noslide.
transfira os blocos FB20, DB20, DB21 e OB 1.
teste a funcionalidade do programa.
FC -> FB Em nosso exemplo, o FB20 foi reescrito, apesar de que um FC20 com osmesmos contedos j existisse. Isto no foi difcil fazer.
Se um FC com um extenso programa est sendo convertido em um FB, voctem alguns caminhos alternativos:
Primeira possvel soluo:
insira um novo FB
copie a tabela de declarao do bloco FC no FB e o ajuste.
copie os networks do FC no FB
salve o FB.
Segunda possvel soluo :
gerar um arquivo fonte do bloco FC
fazer os ajustes no arquivo fonte
gerar o novo FB do arquivo fonte (ver prxima pgina).
Data: 04.10.2007Arquivo: STOE_03P.23Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Chamando e Testando um Bloco de Funes
(Q 5.3)
(Q 5.3)
8/12/2019 STOE_03P
24/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 24
Siemens Ltda.Training Center
Introduo Do mesmo modo que nas linguagens de programao de alto nvel, voctambm pode criar blocos usando um arquivo fonte (arquivo texto). Quandovoc compila este programa fonte, blocos executveis so gerados. Da mesma
forma, um arquivo fonte pode ser gerado de blocos existentes.Voc fazer uso disto para criar, com um mnimo de trabalho (digitao), um FB20 de um bloco FC 20.
O que fazer 1. Abra um bloco.
2. No Editor LAD/STL/FBD, escolha a opo de menu Options -> Customize,ento o "Editor tabula. Na caixa View" selecione a opo "Symbolicrepresentation".
3. No Editor LAD/STL/FBD selecione a opo de menu options File -> GenerateSource File...
4. Na janela "New, voc pode inserir um nome de sua escolha para o arquivofonte a ser gerado na caixa "Object name".
5. Na janela Generate Source File" que ento aparece, selecione os blocos deprograma que sero compilados um aps o outro na janela UnselectedBlocks.
6. Clique "OK" para iniciar a compilao dos blocos no cdigo fonte.Os blocos compilados so ento encontrados no arquivo fonte com seusnomes previamente definidos, na pasta Source Files" do programa S7.
Data: 04.10.2007Arquivo: STOE_03P.24Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Convertendo um FC em um FB usando Programas Fonte (1)
8/12/2019 STOE_03P
25/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 25
Siemens Ltda.Training Center
Fontes, Para Que? para refiao automtica usando smbolos
para atribuio de atributos de blocos, por exemplo, proteo de bloco
como proteo de dados do programa inteiro
mais liberdade na edio 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- programao simblica completa sem verificao 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 FB20. Aqui, as palavras chaves associadas para um bloco de funo foi inserido.Complementarmente, variveis estticas para a report memory e a memria dedeteco de transio esto definidas.Aps uma compilao, um FB 20 executvel existe uma vez mais.
Nota Se voc no conhecer as palavras chaves, voc pode inserir um bloco templateusando a opo de menu Insert -> Block Template -> FB.
O tpico Arquivos Fontes" discutido amplamente em detalhes em um cursoavanado de programao.
Data: 04.10.2007Arquivo: STOE_03P.25Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Convertendo um FC em um FB usando Programas Fonte (2)
::
::
8/12/2019 STOE_03P
26/27
ST-7STOEFunes e Blocos de Funes
Captulo 3Pgina 26
Siemens Ltda.Training Center
Data: 04.10.2007Arquivo: STOE_03P.26Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Exerccio: Reconhecendo Tipos de Variveis
Absoluta Simblica Temporria Esttica Parmetro
L #Number_1
T #Max_value
T MW 40
Instruo
L #Number_2
L #Intermediate_resultL Number_1"
T #Number_2
Global Local
Objetivo Voc ir reconhecer diferenas entre os diversos tipos de variveis.
O que fazer Na tabela, marque o tipo de dado associado com um X.
Responda as seguintes questes:O que no est correto na instruo T#Number_2 ?
.................................................................................
Resultado Voc pode reconhecer e usar os tipos de variveis.
8/12/2019 STOE_03P
27/27
CALL A instruo "CALL" usada para chamada de blocos de programa (FC, FB,SFC, SFB), independentemente do RLO ou quaisquer outras condies.
Se voc chamar um FB ou SFB com "CALL, voc deve tambm especificar ocorrespondente DB instance.Voc pode usar indiferentemente nomes absolutos ou simblico para o bloco deprograma. Por exemplo: "CALL FB2, DB2 ou "CALL valve, level.
A operao "CALL salva o endereo retornado, desativa a dependncia noMCR e cria a rea de dados locais para o bloco a ser chamado.
UC A instruo "UC" uma chamada incondicional de um bloco do tipo Fc ou FBsem atribuio de parmetros."UC" de outro modo idntica ao "CALL".
CC A instruo "CC" chama um bloco do tipo FC ou FB sem parmetros se RLO=1."CC" de outro modo idntica ao "CALL".
Parmetros Parmetros declarados na tabela de declarao so conhecidos comoparmetros formais. Os endereos ou valores especificados na chamada soreferidos como parmetros atuais.
Variveis estticas e temporrias no so especificadas na chamada.
Data: 04.10.2007Arquivo: STOE_03P.27Siemens AG 1999. All rights reserved.
Conhecimento em AutomaoTraining Center
SIMATIC S7
Resumo: Chamada de Blocos
CALL FC1
UC FC1 CC FC1
STL
LAD
FBDFC1
EN
ENO
FC1EN ENO
FC1
( CALL )
FB
Sem parm., sem DB inst.
UC FB1 CC FB1
FB1EN
ENO
FB1EN ENO
CALL
Com parmetros
CALL FC2
Par1: ...Par2: ...Par3: ...
FC2EN ENO
Par3
Par1
Par2
FC2EN
ENO
Par1
Par2
Par3
Com parm., c/ DB inst.
CALL FB2, DB3
Par1: ...Par2: ...Par3: ...
FB2EN ENO
Par3
Par1
Par2
DB3
FB2EN
ENO
Par3
Par1
Par2
DB3
Sem parmetrosLin-guagem
FC
FC1