Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2 AR1 Registradores de Endereos DB aberto Registrador de Bloco de Dados DI aberto Status Bits Palavra de Status 32 Bit 32 Bit 32 Bit 32 Bit 32 Bit 32 Bit 16 Bit 16 Bit 16 Bit Memria de Carga - Blocos Lgicos - Blocos de Dados Memria de Trabalho - Blocos Lgicos - Blocos de Dados rea de I/O Memria de Sistema - Imagem de processo de entrada - Imagem de processo de sada - Bit de memria - Temporizadores - Contadores
- Pilha de Dados Locais - Pilha de Interrupo - Pilha de Blocos Registradores na CPU S7 reas de Memrias na CPU S7 T, S, =,... L, A, O,... Tamanho DB Tamanho DI Estrutura da Palavra de Status Bit Tarefa Grandeza Significado
0 /FC 2 0 Primeiro Cheque
1 RLO 2 1 Resultado Lgico da Operao
2 STA 2 2 Status
3 OR 2 3 Or (ou)
4 OS 2 4 Estouro Armazenado
5 OV 2 5 Estouro
6 CC0 2 6 Bit de Resultado
7 CC1 2 7 Bit de Resultado
8 BR 2 8 Resultado Binrio
9...15 sem 2 9 ..2 10
funo Significado dos bits na palavra de status Checando os Bits de Status OV S >0 M 4.0 M 4.0 S Cheque em STL A OV Verifica o estouro de capacidade A OS Verifica o estouro de capacidade memorizado A BR Verifica o bit de memria BR Cheque do Resultado Binrio (CC0, CC1) A ==0 Resultado igual a 0 A > 0 Resultado maior que 0 A <>0 Resultado no igual a 0 A =<0 Resultado menor que ou igual a 0 etc. A UO Operao no permitida Cheque em LAD e em FBD Instrues com Bits de Status Instruo Significado Exemplo
SET Fixa o RLO em "1" SET //RLO-1-bit de memria = M 0.1
CLR Fixa RLO em "0" CLR //RLO-0-bit de memria
NOT Inverte o RLO O Manual O Automtico NOT; = modo de operao = M0.0
SAVE Salva o RLO no resultado binrio
A BR Verifica o resultado binrio I 1.0 I 1.1 I 1.2 BR Q 4.2 Q 5.0 SAVE Bit BR e ENO em uma Chamada de Bloco ou Funo Complexa LAD STL Network 1: Programa Cclico FC23 I0.0 EN MW12 Step_bit _memory Step_ display ENO ( ) M10.0 QW12 Network 2: ??? ADD_I EN 345 IN1 OUT ENO ( ) M10.1 MW100 987 IN2 Network 1: Programa Cclico A I 0.0 JNB _001 CALL FC 23 Step_bit_memory :=MW12 Step_display :=QW12 _001: A BR = M 10.0 Network 2: ??? L 345 L 987 +I T MW 100 AN OV SAVE CLR A BR = M 10.1 Funes de salto (Jump) dependentes dos Bits de Status JU Label 1) Salto Incondicional
JC Label 1) salta se o bit "RLO" =1
JCN Label 1) salto se o bit "RLO" = 0
JCB Label 1) salto se o bit "RLO" = 1 e salva RLO
JNB Label 1) salto se o bit "RLO" = 0 e salva RLO
JBI Label 1) salto se o bit "BR" = 1
JBNI Label 1) salto se o bit "BR" = 0
JO Label 1) salto se o bit "OV" na palavra de status =1
JOS Label 1) salto se o bit "OS" na palavra de status =1
1) Rtulo (Label) pode ser constitudo de at 4 dgitos alfanumricos
Funes de Salto dependentes dos Cdigos de Condio JZ Label 1) Salta se na palavra de status o bit "CC1"=0 e "CC0"=0 (Resultado = 0)
JN Label 1) Salta se na palavra de status o bit "CC1" no for igual a "CC0" (Resultado <> 0)
JP Label 1) Salta se na palavra de status o bit "CC1"=1 e "CC0"=0 (Resultado > 0)
JM Label 1) Salta se na palavra de status o bit "CC1"=0 e "CC0"=1 (Resultado < 0)
JPZ Label 1) Combina os saltos JZ e JP (Resultado >= 0)
JMZ Label 1) Combina os saltos JM e JZ (Resultado <= 0)
JUO Label 1) Salta se: nmero real invlido desordenado ou diviso por zero
1) Rtulo (Label) pode ser constitudo de at 4 dgitos alfanumricos Programao do Distribuidor de Saltos Carrega o nmero do salto JL Over . . . Instrues para ACCU1 > n Exemplo: Distribuidor de saltos com 3 entradas L Recipe no // Carrega o nmero da receita JL OVER // Distribuidor de saltos com 3 entradas JU Rec0 // Salta para receita No. 0 (ACCU1 = 0) JU Rec1 // Salta para receita No. 1 (ACCU1 = 1) JU Rec2 // Salta para receita No. 2 (ACCU1 = 2) OVER: JU ERROR // Salta se ACCU1 > 2 ... Rec0: L DBW4 ... Rec1: L DBW6 ... Rec2: L DBW8 ... ERROR: CLR ... Modo de Operao Label_n: JU Label_1 JU Label_n Instrues para ACCU1 = 0 . . . Instrues para ACCU1 = n Over: Label_1: Programao de Instrues de Loop (voltas) Inicializa o contador de voltas LOOP NEXT (Decrementa ACCU1 ACCU1<>0?) Sim No Continuar NEXT: Sesso de cdigos a serem executados diversas vezes Carrega o contador de voltas no ACCU1. Exemplo: Instrues de Loop (voltas) com 4 varreduras L +4 // Carrega o contador de voltas NEXT: T MW10 // Incio do loop . // Cdigo . // Cdigo . // Cdigo L MW10 // Carrega o contador de voltas // novamente LOOP NEXT // Contador de voltas -1 e // salta para o rtulo NEXT // se Accu 1> 0 Modo de Operao Transfere para o contador de voltas
BE Fim de Bloco
BEU Fim de Bloco Incondicional (dentro de um bloco)
BEC Fim de Bloco Condicional (dependente do RLO)
(RET) mostrado em LAD
mostrado em FBD
Instrues de Fim de Bloco RET Exerccio 1.1: Salto aps uma Subtrao Chave rotativa 1 2 3 4 - D Resultado positivo (>=0) Escreve o valor de IW 4 no display Deleta o display Resultado negativo [JM Label] converte p/ DINT converte p/ DINT BTD BTD Chave rotativa: IW4 (IW2, mod. 32 bit) Chaves de teste: IW0 (IW0, mod. 32 bit) Display: QW12 (QW6, mod. 32 bit)
2 0 2 15 2 7 Chaves de teste no simulador 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 Exerccio 1.2: Salto aps uma Multiplicao *I Sem estouro Escreve o resultado no display Apaga o display Estouro [JO Label] DTB Converte o resultado para BCD Chave rotativa: IW4 (IW2, mod. 32 bit) Chaves de teste: IW0 (IW0, mod. 32 bit) Display: QW12 (QW6, mod. 32 bit)
Chave rotativa 1 2 3 4 converte p/ DINT converte p/ DINT BTD BTD 2 0 2 15 2 7 Chaves de teste no simulador 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 Exerccio 1.3: Programando um Distribuidor de Saltos Chave rotativa 1 1 2 3 4 5 Motor_girar para direita Motor_girar para esquerda Desligar motor Ligar buzina Desligar buzina Saltar via salto para lista Funo: [JL Label] Label: Endereos: S7-300 (16-Bit) S7-300 (32-Bit) I0.0 I0.0 Q8.0 Q4.0 Motor_direita: Q20.5 Q8.5 Motor_esquerda: Q20.6 Q8.6 Buzina: Q20.7 Q8.7 www.apostilastecnicas.com