You are on page 1of 15

Instruções Dependentes do Estado Lógico Binário

AR2 32 Bit Registrador de Bloco de Dados Memória de Sistema . Blocos de Dados Registradores de Endereços AR1 32 Bit Área de I/O T. A. =. Contadores 16 Bit 16 Bit . Blocos Lógicos L. . Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU4 32 Bit Somente Memória de Carga S7-400 ACCU3 32 Bit . Pilha de Blocos Status Bits 16 Bit Registradores na CPU S7 Áreas de Memórias na CPU S7 ... S. O.. Bit de memória DI aberto Tamanho DI .. Pilha de Dados Locais .. Blocos Lógicos . Blocos de Dados ACCU2 32 Bit ACCU1 32 Bit Memória de Trabalho . Temporizadores . Imagem de processo de saída .. Pilha de Interrupção Palavra de Status . Imagem de processo de entrada DB aberto Tamanho DB .

15 sem 29 . Estrutura da Palavra de Status Significado dos bits na palavra de status Bit Tarefa Grandeza Significado 0 /FC 20 Primeiro Cheque 1 RLO 21 Resultado Lógico da Operação 2 STA 22 Status 3 OR 23 Or (ou) 4 OS 24 Estouro Armazenado 5 OV 25 Estouro 6 CC0 26 Bit de Resultado 7 CC1 27 Bit de Resultado 8 BR 28 Resultado Binário 9..210 função ...

0 S >0 S . Checando os Bits de Status  Cheque em STL A OV Verifica o estouro de capacidade A OS Verifica o estouro de capacidade memorizado A BR Verifica o bit de memória BR  Cheque do Resultado Binário (CC0. CC1) A ==0 Resultado igual a 0 A >0 Resultado maior que 0 A <>0 Resultado não igual a 0 A =<0 Resultado menor que ou igual a 0 etc. A UO Operação não permitida  Cheque em LAD e em FBD OV M 4.0 M 4.

1 CLR Fixa RLO em "0" CLR //RLO-0-bit de memória NOT Inverte o RLO O Manual O Automático NOT. Instruções com Bits de Status Instrução Significado Exemplo SET Fixa o RLO em "1" SET //RLO-1-bit de memória = M 0.2 SAVE Salva o RLO no resultado binário SAVE BR Q 4.0 I 1.0 A BR Verifica o resultado binário . = modo de operação = M0.2 Q 5.0 I 1.1 I 1.

1 .0 JNB _001 EN ENO ( ) CALL FC 23 Step_bit_memory :=MW12 Step_bit Step_ Step_display :=QW12 MW12 _memory display QW12 _001: A BR = M 10.0 I0.0 FC23 M10.Bit BR e ENO em uma Chamada de Bloco ou Função Complexa LAD STL Network 1: Programa Cíclico Network 1: Programa Cíclico A I 0.1 L 987 EN ENO ( ) +I T MW 100 345 IN1 OUT MW100 AN OV SAVE 987 IN2 CLR A BR = M 10.0 Network 2: ??? Network 2: ??? L 345 ADD_I M10.

Funções de salto (Jump) dependentes dos Bits de Status JU Label1) Salto Incondicional JC Label1) salta se o bit "RLO" =1 JCN Label1) salto se o bit "RLO" = 0 JCB Label1) salto se o bit "RLO" = 1 e salva RLO JNB Label1) salto se o bit "RLO" = 0 e salva RLO JBI Label1) salto se o bit "BR" = 1 JBNI Label1) salto se o bit "BR" = 0 JO Label1) salto se o bit "OV" na palavra de status =1 JOS Label1) salto se o bit "OS" na palavra de status =1 1) Rótulo (Label) pode ser constituído de até 4 dígitos alfanuméricos .

Funções de Salto dependentes dos Códigos de Condição JZ Label1) Salta se na palavra de status o bit "CC1"=0 e "CC0"=0 (Resultado = 0) JN Label1) Salta se na palavra de status o bit "CC1" não for igual a "CC0" (Resultado <> 0) JP Label1) Salta se na palavra de status o bit "CC1"=1 e "CC0"=0 (Resultado > 0) JM Label1) Salta se na palavra de status o bit "CC1"=0 e "CC0"=1 (Resultado < 0) JPZ Label1) Combina os saltos JZ e JP (Resultado >= 0) JMZ Label1) Combina os saltos JM e JZ (Resultado <= 0) JUO Label1) Salta se: número real inválido “desordenado” ou divisão por zero 1) Rótulo (Label) pode ser constituído de até 4 dígitos alfanuméricos .

.. ERROR: CLR .. Label_n: Instruções para ACCU1 = n Rec2: L DBW8 . JU Label_n JU Rec2 // Salta para receita No. 1 (ACCU1 = 1) . . Programação do Distribuidor de Saltos Modo de Operação Exemplo: Distribuidor de saltos com 3 entradas Carrega o L Recipe no // Carrega o número da receita número do salto JL Over JL OVER // Distribuidor de saltos com 3 entradas JU Label_1 JU Rec0 // Salta para receita No... . JU Rec1 // Salta para receita No.. Label_1: Instruções para Rec0: L DBW4 ACCU1 = 0 ... 2 (ACCU1 = 2) Instruções para OVER:JU ERROR // Salta se ACCU1 > 2 Over: ACCU1 > n ... 0 (ACCU1 = 0) .. . Rec1: L DBW6 ..

// Código Carrega o contador de . // Código voltas no ACCU1. // Código a serem executados diversas vezes . Programação de Instruções de Loop (voltas) Modo de Operação Exemplo: Instruções de Loop (voltas) com 4 varreduras Inicializa o contador de voltas L +4 // Carrega o contador de voltas Transfere para o NEXT: NEXT: T MW10 // Início do loop contador de voltas Sessão de códigos . L MW10 // Carrega o contador de voltas LOOP NEXT // novamente Sim (Decrementa ACCU1 ACCU1<>0?) LOOP NEXT // Contador de voltas -1 e Não // salta para o rótulo NEXT // se Accu 1> 0 Continuar .

Instruções de Fim de Bloco  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 RET mostrado em FBD .

mod. Exercício 1.1: Salto após uma Subtração Chave rotativa Chaves de teste no simulador 1 2 3 4 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 215 27 20 converte p/ BTD BTD converte p/ DINT DINT -D Resultado positivo (>=0) Resultado negativo [JM Label] Deleta o display Escreve o valor de IW 4 no display Chave rotativa: IW4 (IW2. 32 bit) Chaves de teste: IW0 (IW0. mod. 32 bit) Display: QW12 (QW6. mod. 32 bit) .

32 bit) Display: QW12 (QW6. mod.2: Salto após uma Multiplicação Chave rotativa Chaves de teste no simulador 1 2 3 4 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 215 27 20 converte p/ BTD BTD converte p/ DINT DINT *I Sem estouro Estouro DTB Converte o resultado para BCD [JO Label] Apaga o display Escreve o resultado no display Chave rotativa: IW4 (IW2. mod. mod. 32 bit) Chaves de teste: IW0 (IW0. Exercício 1. 32 bit) .

7 Q8.6 Q8.0 Q4.6 Buzina: Q20.5 Motor_esquerda: Q20.7 . Exercício 1.0 I0.0 Q8.5 Q8.3: Programando um Distribuidor de Saltos Função: Chave rotativa 1 [JL Label] 1 Motor_girar para direita 2 Motor_girar para esquerda 3 Desligar motor 4 Ligar buzina 5 Desligar buzina Label: Saltar via salto para lista Endereços: S7-300 (16-Bit) S7-300 (32-Bit) I0.0 Motor_direita: Q20.

www.apostilastecnicas.com .