+ All Categories
Home > Documents > STOE_03P

STOE_03P

Date post: 03-Jun-2018
Category:
Upload: chnandu
View: 220 times
Download: 0 times
Share this document with a friend

of 27

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