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

Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Embed Size (px)

Citation preview

Page 1: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

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

Page 2: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Registradores e Áreas de Memória em uma CPU S7

Acumuladores

ACCU1

ACCU4

ACCU3

ACCU2

SomenteS7-400

AR2

AR1

Registradores de Endereços

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 Bit16 Bit

16 Bit

Memória de Carga- Blocos Lógicos- Blocos de Dados

Memória de Trabalho- Blocos Lógicos- Blocos de Dados

Área de I/O

Memória de Sistema- Imagem de processo de entrada- Imagem de processo de saída- Bit de memória- Temporizadores- Contadores

- Pilha de Dados Locais- Pilha de Interrupção- Pilha de Blocos

Registradores na CPU S7 Áreas de Memórias na CPU S7

T, S, =,...

L, A, O,...

Tamanho DB

Tamanho DI

Page 3: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Estrutura da 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...15 sem 29 ..210

função

Significado dos bits na palavra de status

Page 4: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Checando os Bits de Status

OVS>0

M 4.0M 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 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

Page 5: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

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.1

CLR Fixa RLO em "0" CLR //RLO-0-bit de memória

NOT Inverte o RLO O Manual O Automático NOT; = modo de operação = M0.0

SAVE Salva o RLO no resultado binário

A BR Verifica o resultado binário

I 1.0 I 1.1 I 1.2

BR Q 4.2 Q 5.0

SAVE

Page 6: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Bit BR e ENO em uma Chamada de Bloco ou Função Complexa

LAD STL

Network 1: Programa Cíclico

FC23I0.0EN

MW12Step_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 Cíclico

A I 0.0JNB _001CALL FC 23

Step_bit_memory :=MW12 Step_display :=QW12

_001:A BR= M 10.0

Network 2: ???

L 345L 987+IT MW 100AN OVSAVECLRA BR= M 10.1

Page 7: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

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

Page 8: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

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

Page 9: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Programação do Distribuidor de Saltos

Carrega o número do salto

JL Over

...

Instruções paraACCU1 > n

Exemplo: Distribuidor de saltos com 3 entradas

L Recipe no // Carrega o número 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 Operação

Label_n:

JU Label_1

JU Label_n

Instruções para ACCU1 = 0

...

Instruções para ACCU1 = n

Over:

Label_1:

Page 10: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Programação de Instruções de Loop (voltas)

Inicializa ocontador de voltas

LOOP NEXT(Decrementa ACCU1

ACCU1<>0?)

Sim

NãoContinuar

NEXT:

Sessão de códigos a serem executados

diversas vezes

Carrega o contador devoltas no ACCU1.

Exemplo: Instruções de Loop (voltas) com 4 varreduras

L +4 // Carrega o contador de voltas

NEXT: T MW10 // Início do loop

. // Código

. // Código

. // Código

L MW10 // Carrega o contador de voltas

// novamente

LOOP NEXT // Contador de voltas -1 e // salta para o rótulo NEXT// se Accu 1> 0

Modo de Operação

Transfere para ocontador de voltas

Page 11: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

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

Instruções de Fim de Bloco

RET

Page 12: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Exercício 1.1: Salto após uma Subtração

Chave rotativa

1 2 3 4

- D

Resultado positivo (>=0)

Escreve o valor de IW 4no 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)

20215 27

Chaves de teste no simulador

0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0

Page 13: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Exercício 1.2: Salto após uma Multiplicação

*I

Sem estouro

Escreve o resultadono display

Apaga o display

Estouro

[JO Label]

DTB Converte o resultadopara 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 BTD20215 27

Chaves de teste no simulador

0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0

Page 14: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

Exercício 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

Função:

[JL Label]

Label:

Endereços: S7-300 (16-Bit) S7-300 (32-Bit)

I0.0 I0.0 Q8.0 Q4.0

Motor_direita: Q20.5 Q8.5Motor_esquerda: Q20.6 Q8.6Buzina: Q20.7 Q8.7

Page 15: Instruções Dependentes do Estado Lógico Binário. Registradores e Áreas de Memória em uma CPU S7 Acumuladores ACCU1 ACCU4 ACCU3 ACCU2 Somente S7-400 AR2

www.apostilastecnicas.com