Você está na página 1de 35

Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis

Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.1 Instruções de Comparação


1.1.1 - Generalidades:
- Igual a ( EQU );
- Diferente ( NEQ );
- Menor que ( LES );
- Menor ou igual a ( LEQ );
- Maior que ( GRT );
- Maior ou igual a ( GEQ );
- Igual mascarada ( MEQ ).
- Teste limite ( LIM )

1.1.2 - Igual a ( EQU )


Figura 4.1

Formato da instrução EQU

EQU

EQUAL
( )
SOURCE A:

SOURCE B:

Quando os valores dos parâmetros Source A ( Fonte A ) e Source


B ( Fonte B ) forem iguais, esta instrução será logicamente
verdadeira. Se estes valores não forem iguais, a instrução será
falsa.

Parâmetros da Instrução EQU


Deve-se introduzir um endereço de palavra para Source A. Pode-se
introduzir uma constante de programa ou um endereço de palavra
Source B.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.1.3 - Diferente ( NEQ )


Figura 4.2

Formato da instrução NEQ

NEQ

NOT EQUAL
( )
SOURCE A:

SOURCE B:

Quando os valores dos parâmetros Source A e Source B não forem


iguais, esta instrução será logicamente verdadeira. Se esses dois
valores forem iguais, esta instrução será falsa.
Parâmetros da Instrução NEQ
Deve-se introduzir um endereço de palavra para o parâmetro
Source A. Pode-se introduzir uma constante de programa ou um
endereço de palavra para Source B.
1.1.4 - Menor que ( LES )
Figura 4.3

Formato da instrução LES

LES

LESS THAM
( )
SOURCE A:

SOURCE B:

Quando o valor do parâmetro Source A for menor que o valor de


Source B, esta instrução será logicamente verdadeira. Se o valor de
Source A for menor ou igual ao valor de Source B, esta instrução
será falsa.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Parâmetros da instrução LES


Deve-se introduzir um endereço de palavra para o parâmetro
Source A. Pode-se introduzir uma constante de programa ou
endereço de palavra para Source B. Números inteiros com sinal
são armazenados na forma de complemento de 2.
1.1.5 - Menor ou igual a ( LEQ )
Figura 4.4

Formato da instrução LEQ

LES

LESS THAM
( )
SOURCE A:

SOURCE B:

Quando o valor do parâmetro de Source A for menor ou igual ao


valor de Source B, esta instrução será logicamente verdadeira. Se o
valor de Source A for maior que o valor de Source B, esta
instrução será falsa.

Parâmetros da instrução LES


Deve-se introduzir um endereço de palavra para o parâmetro
Source A. Pode-se introduzir uma constante de programa ou um
endereço de palavra para Source B. Números inteiros com sinal
são armazenados na forma de complemento de 2.
1.1.6 - Maior que ( GRT )
Figura 4.5

Formato da instrução GRT

GRT

GREATER THAM
( )
SOURCE A:

SOURCE B:

Quando o valor do parâmetro Source A for maior que o valor de


Source B, esta instrução será logicamente verdadeira. Se o valor de
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Source A for menor ou igual ao valor de Source B, esta instrução


será falsa.
Parâmetros da instrução GRT
Deve-se introduzir um endereço de palavra para o parâmetro
Source A. Pode-se introduzir uma constante de programa ou um
endereço de palavra para Source B. Números inteiros com sinal
são armazenados na forma de complemento de 2.
1.1.7 - Maior ou igual a ( GEQ )
Figura 4.6

Formato da instrução GEQ

GEQ

GRTR THAN OR EQUAL


( )
SOURCE A:

SOURCE B:

Quando o valor do parâmetro de Source A for maior ou igual ao


valor de Source B, esta instrução será logicamente verdadeira.
Parâmetros da instrução GEQ
Deve-se introduzir um endereço de palavra para o parâmetro
Source A. Pode-se introduzir uma constante de programa ou um
endereço de palavra para Source B.
1.1.8 - Igual Mascarada ( MEQ )
Figura 4.7

Formato da instrução 4.7

MEQ

MASKED EQUAL
( )
SOURCE :

MASK:

COMPARE:

Esta instrução de entrada, compara dados de um endereço fonte


com dados de um endereço de referência, permitindo que parte
desses dados sejam mascaradas através de uma palavra.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Parâmetros da instrução MEQ


Os parâmetros da instrução MEQ são os seguintes:
- Source - endereço fonte do valor que se deseja comparar;
- Mask - endereço da máscara através da qual a instrução
movimenta os dados ou um valor hexadecimal;
- Compare - valor inteiro ou endereço de referência para a
comparação.
Se os 16 bits de dados de um endereço fonte forem iguais aos 16
bits de dados do endereço de referência ( exceto os bits
mascarados ), a instrução é verdadeira. A instrução é verdadeira.
Os bits da palavra de máscara iguais a 0 mascaram os dados, já os
bits iguais a 1 permitem que seja realizada a comparação.

1.1.9 - Teste limite ( LIM )


Figura 4.8

Formato da instrução LIM

LIM

LIMIT TEST
( )
LOW LIM:

TEST:

HIGH LIM:

Esta instrução de entrada testa os valores dentro ou fora de uma


faixa específica, dependendo de como foram ajustados os limites.
Parâmetros da instrução LIM
Os valores dos parâmetros identificados por Low Limit, Test e
High Limit podem ser programados com endereços de palavra ou
constantes do programa, observando-se as seguintes restrições:
- se o parâmetro Test for uma constante do programa, tanto o Low
Limit como o High Limit devem ter endereços de palavra;
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

- se o parâmetro Test for um endereço de palavra, o Low Limit e o


High Limit podem ser constante de programa ou um endereço de
palavra.
Estado Verdadeiro/Falso da Instrução
Se o Low Limit ( limite inferior ) possuir um valor menor que
High Limit ( limite superior ), a instrução será verdadeira quando o
valor estiver entre os limites ou for igual a um dos limites. Se o
valor de Test estiver fora dos limites, a instrução será falsa.
Se o Low Limit possui um valor maior que o High Limit, a
instrução será falsa quando o valor do parâmetro Test estiver entre
os limites. Se o valor de Test for igual a um dos limites ou estiver
fora dos limites, a instrução será verdadeira.

1.2 Instruções Matemáticas


1.2.1 - Generalidades:

- Adição ( ADD );
- Subtração ( SUB );
- Multiplicação ( MUL );
- Divisão ( DIV );
- Dupla Divisão ( DDV );
- Negação ( NEG );
- Zeramento ( CLR );
- Decodificação ( DCD ).
- Raiz quadrada ( SQR );
Parâmetros das Instruções
- Source - endereço (s) do (s) valor (res) em que a operação
matemática será executada; pode ser endereço (s) de palavra ou
constante (s) de programa. Se a instrução tiver dois operandos
Source, não é possível introduzir constantes de programas nos dois
operandos.
- Dest - endereço destino referente ao resultado da operação.
Bits de Estado Aritméticos
Depois que uma instrução for executada, os bits de estado
aritméticos ( C, V, Z e S ) do arquivo de estado são atualizados.
- Carry (C), S:0/0 - Energizado se for gerado um carry ( vai 1 );
caso contrário, desenergizado;
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

- Overflow (V), S:0/1 - Indica que o resultado de uma instrução


matemática é muito grande para o destino;
- Zero (Z), S:0/2 - Indica um valor 0 depois de uma instrução
matemática, movimentação ou lógica;
- Sinal (S), S:0/3 - Indica um valor negativo ( menor que 0 ) após
uma instrução matemática, movimentação ou lógica.

1.2.2 - Adição ( ADD )


Figura 5.1

Formato da instrução ADD

ADD

SOURCE A:

SOURCE B:

DEST:

O valor de Source A é somado ao valor de Source B e, então,


armazenado no destino.
Bits de Estado Aritméticos S:0

C - energizado se for gerado um carry ( vai 1 ); caso contrário,


desenergizado.
V - energizado se for detectado overflow no destino; caso
contrário, desenergizado. Em overflow, o bit de erro de overflow
também é energizado. O valor -32.768 ou 32.767 é introduzido no
destino.
Z - energizado se o resultado for zero; caso contrário,
desenergizado.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

S - energizado se o resultado for um valor negativo; caso contrário,


desenergizado.
1.2.3 - Subtração ( SUB )
Figura 5.2

Formato da Instrução SUB

SUB

SOURCE A:

SOURCE B:

DEST:

O valor do parâmetro Source B é subtraído do valor de Source A e,


então, armazenado no destino.
Bits de Estado Aritméticos
C - energizado se for gerado um borrow ( vem 1 ); caso contrário,
desenergizado.
V - energizado se for detectado underflow; caso contrário,
desenergizado. Em underflow, o bit de erro de overflow também é
energizado, e o valor -32.768 ou 32.767 é colocado no destino.
Z - energizado se o resultado for zero; caso contrário, é
desenergizado.
S - energizado se o resultado for negativo; caso contrário é
desenergizado.
1.2.4 - Multiplicação ( MUL )
Figura 5.4

Formato da Instrução MUL

MUL

SOURCE A:

SOURCE B:

DEST:

O valor do parâmetro Source A é multiplicado pelo valor de


Source B e, então, armazenado no destino.
Bits de Estado Aritméticos
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

C - sempre desenergizado;
V - energizado se um overflow for detectado no destino; caso
contrário, será desenergizado. Em overflow, o bit de erro de
overflow também é energizado. O valor 32.767 ou -32.768 é
introduzido no destino.
Z - energizado se o resultado for zero; caso contrário, é
desenergizado.
S - energizado se o resultado for um valor negativo; caso contrário,
é desenergizado.

1.2.5 - Divisão ( DIV )


Figura 5.5

Formato da Instrução DIV

DIV

SOURCE A:

SOURCE B:

DEST:

O valor do parâmetro Source A é dividido pelo valor de Source


B com o quociente arredondado sendo armazenado no destino. O
quociente não arredondado é armazenado na palavra mais
significativa do registrador matemático. O resto é colocado na
palavra menos significativa do registrador matemático.
Bits de Estado Aritméticos
C - sempre desenergizado;
V - energizado no caso de divisão por zero ou overflow; caso
contrário, desenergizado. Em overflow, o bit de erro de overflow é
energizado. O valor 32.767 é colocado no destino.
Z - energizado se o resultado for zero; caso contrário, é
desenergizado; indefinido se o bit de overflow estiver energizado.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

S - energizado se o resultado for um valor negativo; caso contrário,


será desenergizado; indefinido se o bit de overflow estiver
energizado.
1.2.6 - NEGAÇÃO ( NEG )
Figura 5.7

Formato de Instrução NEG

NEG

SOURCE:

DEST:

O valor do parâmetro Source é subtraído de 0 e armazenado no


destino.

Bits de Estado Aritméticos


C - desenergizado se 0 ou overflow; caso contrário, será
energizado;
V - energizado se overflow; caso contrário, desenergizado. Em
overflow, o bit de erro de overflow também é energizado. O valor
35.767 é colocado no destino.
Z - energizado se o resultado for zero; caso contrário, será
desenergizado.
S - energizado se o resultado for um valor negativo; caso contrário,
será desenergizado.
1.2.7 - ZERAMENTO ( CLR )
Figura 5.8

Formato de Instrução CLR

CLR

DEST

O valor destino é zerado.


Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.2.8 - RAIZ QUADRADA ( SQR )

A figura 5.17 apresenta o formato da Instrução de Raiz Quadrada (


SQR ).
Figura 5.17

Formato da instrução SQR

SQR

SQUARE ROAT:

SOURCE :

DEST:

Quando esta instrução é verdadeira, a raiz quadrada do valor


absoluto da fonte é calculada e o resultado arredondado é colocado
no destino.
A instrução irá calcular a raiz quadrada de um número negativo
sem apresente overflow ou falhas. Nas aplicações onde o valor do
endereço fonte pode ser negativo, deve-se utilizar uma instrução de
comparação para avaliar esse valor a fim de determinar se o
destino pode ser um número não-válido.
Bits de Estado Aritméticos
C - reservado;
V - sempre desenergizado;
Z - energizado quando o valor destino é zero; caso contrário,
desenergizado;
S - sempre desenergizado.

1.3 - Instruções Lógicas e de movimentação

1.3.1 - GENERALIDADES:
As instruções de saída utilizadas com os Controladores, permitem
realizar as operações lógicas e de movimentação. Essas instruções
são as seguintes:
- Movimentação ( MOV );
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

- Movimento com Máscara ( MVM );


- E ( AND );
- Ou ( OR );
- Ou Exclusivo ( XOR );
- Complementação ( NOT ).
Parâmetros das Instruções
- Source - Este é o endereço fonte referente ao valor onde a
operação lógica ou de movimentação é executada. Pode ser um
endereço de palavra ou uma constante de programa. Se a instrução
tiver dois operandos fonte, não é possível introduzir constantes de
programa nos dois operandos.
- Dest - Este é o endereço destino referente ao resultado da
operação lógica ou de movimentação. Deve ser um endereço de
palavra.
Bits de Estado Aritméticos
Depois que uma instrução for executada, os bits de estado
aritméticos ( C, V, Z e S ) do arquivo de estado são atualizados.
- Carry (C), - Energizado se for gerado um carry ( vai 1 ); caso
contrário, desenergizado;
- Overflow (V), - Indica que o resultado de uma instrução
matemática é muito grande para o destino;
- Zero (Z), - Indica um valor 0 depois de uma instrução
matemática, movimentação ou lógica;
- Sinal (S), S- Indica um valor negativo ( menor que 0 ) após uma
instrução matemática, movimentação ou lógica.
Bit de Erro de Overflow ( S:5/0 )
Bit de falha de advertência energizado na detecção de um overflow
ou divisão por 0. Se este bit estiver energizado na execução da
declaração de fim de programa ( END ) ou uma instrução TND,
uma falha grave será indicada.
Registrador Matemático ( S:13 e S:14 )
As instruções lógicas e de movimentação não afetam o registrador
matemático.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.3.2 - MOVIMENTAÇÃO ( MOV )


Figura 6.1

Formato de instrução MOV

MOV
MOVE

SOURCE :

DEST:

O controlador move o valor da fonte ( Source ) para o destino (


Dest ).
Parâmetros da Instrução MOV
- Source - endereço fonte do dado que se deseja mover;
- Dest - endereço destino para onde a instrução move o dado.
Bits de Estado Aritméticos
C - sempre desenergizado;
V - sempre desenergizado;
Z - energizado se o resultado for zero;
S - energizado se o resultado for um valor negativo ( bit mais
significativo é energizado ); caso contrário, será desenergizado.

1.3.3 - MOVIMENTO COM MÁSCARA ( MVM )


Figura 6.2

Formato da Instrução MVM

MVM
MASKED MOVE

SOURCE :
MASK
DEST:
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

A instrução de movimento com máscara é uma instrução de


palavra que move os dados de uma localização fonte para um
destino e permite que partes desses dados sejam mascarados por
uma palavra.
Parâmetros da Instrução MVM
- Source - endereço fonte dos dados que se deseja movimentar;
- Mask - endereço da máscara através do qual a instrução
movimenta os dados ( pode ser um valor em hexa ).
- Dest - endereço destino para onde a instrução move os dados.
Bits de estado Aritméticos
C - sempre desenergizado;
V - sempre desenergizado;
Z - energizado se o resultado for zero;
S - energizado se o resultado for uma valor negativo; caso
contrário, será desenergizado.
Operação da Instrução MVM
Quando a condição da linha que contém esta instrução for
verdadeira, os dados no endereço fonte passam através da máscara
para o endereço destino . Enquanto a linha permanecer verdadeira,
a instrução movimenta os mesmos dados a cada varredura.
Os dados são mascarados quando os bits da palavra de máscara
estão desenergizados e são transferidos quando os bits da palavra
de máscara estão energizados. Os bits da palavra de máscara
podem ser fixados utilizando-se um valor constante ou podem ser
alterados atribuindo à máscara um endereço direto. Os bits da
palavra de destino, palavra correspondente aos zeros da palavra de
máscara, não são alterados.
1.3.4 - E ( AND )
Figura 6.4

Formato da instrução AND

AND
1 1
BITWISE AND: 1

SOURCE A:
SOURCE B:

DEST:
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

É executado um AND, bit a bit, entre o valor do parâmetro Source


A e o valor de Source B e, então, armazenado no destino.
Bits de Estado Aritméticos
C - sempre desenergizado;
V - sempre desenergizado;
Z - energizado se o resultado for zero;
S - energizado se o bit mais significativo estiver energizado; caso
contrário, será desenergizado.
1.3.5 - OU ( OR )
Figura 6.5

Formato da Instrução OR

OR
1 X
BITWISE INCLUSIVE OR 1

SOURCE A:
SOURCE B:

DEST:

É executado um OR, bit a bit, entre o valor do parâmetro Source A


e o valor de Source B e, então, armazenado no destino.

Bits de Estado Aritméticos


C - sempre desenergizado;
V - sempre desenergizado;
Z - energizado se o resultado for zero; caso contrário, será
desenergizado;
S - energizado se o resultado for um valor negativo ( bit mais
significativo é energizado ); caso contrário, será desenergizado.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.3.6 - OU EXCLUSIVO ( XOR )


Figura 6.6

Formato da Instrução XOR


OR
= 0
BITWISE EXCLUSIVE OR # 1
SOURCE A:
SOURCE B:

DEST:

É executado um XOR, bit a bit, entre o valor do parâmetro Source


A e o valor de Source B e, então, armazenado no destino.
Bits de Estado Aritméticos
C - sempre desenergizado;
V - sempre desenergizado;
Z - energizado se o resultado for zero; caso contrário, será
desenergizado;
S - energizado se o resultado for um valor negativo ( bit mais
significativo é energizado ); caso contrário, será desenergizado.

1.3.7 - COMPLEMENTAÇÃO NOT


Figura 6.7

Formato da Instrução NOT


NOT

SOURCE

DEST:

O valor na fonte é complementado bit a bit e armazenado no


destino.

Bits de Estado Aritméticos


C - sempre desenergizado;
V - sempre desenergizado;
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Z - energizado se o resultado for zero; caso contrário, será


desenergizado;
S - energizado se o resultado for um valor negativo ( bit mais
significativo é energizado ); caso contrário, será desenergizado.

1.4 - Instruções de cópia e preenchimento de arquivo


1.4.1 - GENERALIDADES:
Este capítulo descreve as instruções de Cópia ( COP ) e
Preenchimento de arquivo ( FLL ).

A figura 7.1 apresenta o formato da instruções COP e FLL.

COP FLL

COP FILE FILL FILE

SOURCE SOURCE
DEST DEST

LENGHT LENGHT

O tipo de arquivo do parâmetro destino ( Dest ) determina o


número de palavras que a instrução transfere. Por exemplo, se o
arquivo destino ( Dest ) é do tipo contador e o arquivo fonte (
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Source ) inteiro, três palavras inteiras são transferidas para cada


elemento no arquivo do tipo contador.
1.4.2 - CÓPIA ARQUIVO ( COP )
Esta instrução copia dados de um local para outro e não utiliza bits
de estado. Caso seja necessário um bit de habilitação, pode-se
programar uma saída paralela utilizando-se um endereço de
armazenamento.
Os parâmetros a serem introduzidos na instrução COP são os
seguintes:
- Source - é o endereço fonte referente ao arquivo que se deseja
copiar. Deve-se utilizar o símbolo indicador de arquivo # no
endereço.
- Dest - é o endereço destino referente ao arquivo em que a
instrução armazena a cópia. Deve-se introduzir o símbolo
indicador de arquivo # no endereço.
- Length - é o número de elementos do arquivo que se deseja
copiar. Se o tipo de arquivo destino é de três palavras por
elemento, pode-se especificar um comprimento máximo de 42
elementos. Se o tipo de arquivo destino é uma palavra por
elemento, pode-se especificar um comprimento máximo de 128.
Os elementos são copiados do arquivo fonte para o arquivo destino
a cada varredura em que a linha é verdadeira e são copiados em
ordem crescente sem transformação dos dados. Os elementos são
copiados até totalizarem o valor especificado no campo length ou
até que o último elemento do arquivo destino seja atingido.
Se o destino for um temporizador, contador ou arquivo de controle,
certifique-se que as palavras do arquivo fonte corresponde às
palavras de estado do arquivo destino contenham zeros.
Certifique-se que o endereço da primeira palavra do arquivo e o
comprimento do bloco que se está copiando sejam devidamente
especificados. A instrução não irá escrever fora do limite do
arquivo ( como, por exemplo, entre os arquivos N16 e N17 ) no
destino.
Nota: Caso haja uma tentativa de escrever fora do limite do
arquivo, ocorrerá um erro.
O deslocamento de arquivo pode ser realizado especificando-se,
dentro do arquivo, o endereço do elemento fonte, maior que o
endereço do elemento destino. Deste modo, os dados são
deslocados para o endereço menor.
1.4.3 - PREENCHIMENTO DE ARQUIVO ( FLL )
Esta instrução carrega elementos de um arquivo com uma
constante de programa ou com um valor de um endereço de
elemento. Os parâmetros de FLL são os seguintes:
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

- Source - é a constante de programa ou endereço de elemento. ( O


símbolo indicador de arquivo # não é necessário para um endereço
de elemento ).
- Dest - é o endereço do arquivo que se deseja preencher. Deve-se
utilizar o símbolo indicador de arquivo # no endereço.
- Length - é o número de elementos no arquivo a ser preenchido.
Se o tipo de arquivo destino é de 3 palavras por elemento, pode-se
especificar um comprimento máximo de 42 elementos. Se o tipo de
arquivo destino é uma palavra por elemento, pode-se especificar
um comprimento máximo de 128.
Os elementos do valor fonte ( constante de programa ) preenchem
o arquivo destino a cada varredura em que a linha é verdadeira. Os
elementos são preenchidos na ordem crescente até que o número
de elementos ( comprimento inserido ) seja atingido.

Nota: Caso haja uma tentativa de escrever fora do limite do


arquivo, ocorrerá um erro.

1.5 . Instrução de Deslocamento de Bit, FIFO e LIFO


1.5.1 - GENERALIDADES:

Este capítulo descreve as seguintes funções de saída:


- Deslocamento de Bit à Esquerda ( BSL );
- Deslocamento de Bit à Direita ( BSR ).
Essas instruções de saída são utilizadas para construir e manipular
um registro de deslocamento síncrono de bit. Os dados são
deslocados através do registro e descarregados um bit de cada vez.
- Carga e Descarga FIFO ( FLL e FFU )
- Carga e Descarga LIFO ( LFL e LFU )
As instruções FIFO são utilizadas em conjunto para construir um
registro de deslocamento assíncrono de palavras. Eles permitem
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

transferir palavras para um arquivo e retirá-las na mesma ordem


em que foram introduzidas. O termo FIFO se refere à expressão
“first in first out ” ( 10 a entrar e 10 a sair ).
As aplicações das instruções FIFO e LIFO incluem as linhas de
transferência ou montagem, controle de inventário e diagnóstico do
sistema.

1.5.2 - INSTRUÇÕES DE DESLOCAMENTO DE BIT À


ESQUERDA ( BSL ) E À DIREITA ( BSR ).
Figura 8.1

Formato da Instrução BSL e BSR

BSL ( EN )
BIT SHIFT LEFT

FILE ( DN )
CONTROL

BIT ADRESS:

LENGHT

BSR ( EN )
BIT SHIFT RIGHT

FILE ( DN )
CONTROL

BIT ADRESS:

LENGHT

Parâmetros das Instruções


Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

- File - é o endereço da série de bits que se deseja manipular.


Deve-se utilizar o símbolo indicador de arquivo # no endereço da
série de bits.
- Control - é o endereço da instrução e o elemento de controle que
armazena o byte de estado da mesma, o tamanho da série ( em
número de bits ) e o apontador de bit ( figura 8.2 ).
Figura 8.2

Elemento de Controle da Instrução de Deslocamento de Bit


15 13 11 10 00
EN DN ER UL NÃO ULTILIZADO

ATENÇÃO: O endereço de controle não deve ser utilizado para


nenhuma outra instrução, pois pode ocorrer operação imprevista de
máquina resultando em possíveis avarias ao equipamentos e/ou
danos pessoais.

O byte de estado indica o estado da instrução, conforme o


seguinte:
- EN ( bit 15 ) - bit de habilitação. É energizado na transição da
linha de falsa para verdadeira e indica que a instrução foi
habilitada.
- DN ( bit 13 ) - bit de executado. Quando energizado, indica que a
série de bits deslocou uma posição.

- ER ( bit 11 ) - bit de erro. Quando energizado, indica que a


instrução detectou um erro, tal como inserção de um número
negativo para o comprimento ou posição. Quando este bit estiver
energizado, deve-se evitar a utilização do bit de saída.
- UL ( bit 10 ) - bit de descarga. Armazena o estado do bit retirado
da série cada vez que a instrução é habilitada. Depois de cada
deslocamento de bit, quando a condição de entrada passa a falsa,
esse bit é resetado. ( os bits de habilitação ( EN 15 ),
executado ( DN 13 ) e erro ( ER 11 ) também são resetados ). A
instrução invalida todos os bits que ultrapassem o último bit na
série, até o próximo limite de palavra.
- Bit Address - é o endereço do bit fonte que a instrução insere no
local do primeiro bit da série BSL ou do último bit da série BSR.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

- Lenght - é o número de bits na série, até 2047 bits. O valor 0 faz


com que o bit de entrada seja transferido para o bit UL.
Um valor que ultrapasse o fim do arquivo de programa faz com
que ocorra uma falha grave de run-time. Se o valor do
comprimento for alterado pelo programa de aplicação, certifique-
se que este valor seja válido.

• - Deslocamento de Bit à Esquerda:

Quando a condição da linha passa de falsa para verdadeira, o bit


de habilitação (EN 15) é energizado e o bloco de dados é
deslocado ( para um número de bit mais elevado ) uma posição à
esquerda. o bit especificado no bit fonte é deslocado para a
posição do primeiro bit. O último bit é deslocado para fora da série
e armazenado no bit de descarga
(UL 10 ) no byte de estado do elemento de controle. O
deslocamento é completado em uma varredura. Em operações
cíclicas, deve-se ajustar a posição do bit fonte para o ultimo bit da
série ou para o bit fonte para último bit da série ou para o bit UL.

• - Deslocamento de Bit à Direita:

Quando a condição da linha passa de falsa para verdadeira, o bit


de habilitação (EN 15) é energizado e o bloco de dados é
deslocado ( para um número de bit mais baixo ) uma posição à
direita. o bit especificado no bit fonte é deslocado para a posição
do ultimo bit. O primeiro bit é deslocado para fora da série e
armazenado no bit de descarga (UL 10 ) no byte de estado do
elemento de controle. O deslocamento é completado em uma
varredura. Em operações cíclicas, deve-se ajustar a posição do bit
fonte para o primeiro bit da série ou para o bit fonte para primeiro
bit da série ou para o bit UL.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.5.3 - CARGA E DESCARGA FFL E FFU.

Formato da instrução:

FFL

FIFO LOAD
( EN )
( DN )
SOURCE
FIFO ( EM )
CONTROL
LENGHT
POSITION

FFU

FIFO UNLOAD
( EN )
( DN )
FIFO
DEST ( EM )
CONTROL
LENGHT
POSITION

As instruções FFL e FFU são utilizadas em conjunto. A


instrução FFL transfere as palavras para um arquivo criado pelo
usuário e denominado pilha FIFO. A instrução FFU descarrega
palavras do arquivo FIFO na mesma ordem em que foram
introduzidas.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

N7:2

# N7:12
Length: 11
Position: 7

Quando a condição da linha passar de falsa para verdadeira o


conteúdo do parâmetro especificado em Source é carregado na
posição determinada pelo parâmetro Position à cada transição na
entrada da instrução o conteúdo X é transferido para uma posição
mais baixa na pilha FIFO em direção à posição 0 quando este
conteúdo X é carregado no parâmetro especificado em DEST .

Palavra de controle:
15 14 13 12...
00

EN EU DN EM

Tamanho

Posição
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Bits de Estado:

. EN ( bit 15 ) : Bit de habilitação da instrução FFL. Esse bit é


energizado em uma transição de falsa para verdadeira da condição
da linha (FFL) e é desenergizado em uma transição de verdadeiro
para falsa.
- EU ( bit 14 ) : Bit de habilitação da instrução FFU. Esse bit é
energizado em uma transição de falsa para verdadeira da condição
da linha (FFU) e é desenergizado numa transição de verdadeira
para falsa.
- DN ( bit 13 ) : Bit de executado. É energizado pela instrução
FFL para indicar que a pilha está cheia e inibe a carga da pilha.
- EM ( bit 12 ) : Bit de vazio. É energizado pela instrução FFU
para indicar que a pilha esta vazia.

1.5.4 - CARGA E DESCARGA LIFO:

LFL
( EN )
LIFO LOAD
( DN )
SOURCE
LIFO ( EM )
CONTROL
LENGHT
POSITION

LFU
( EN )
LIFO UNLOAD
( DN )
LIFO
DEST ( EM )
CONTROL
LENGHT
POSITION
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Essas instruções são idênticas ás instruções de carga e descarga


FIFO com exceção de que o último dado introduzido é o primeiro
dado a ser retirado

N7:2

# N7:12

Os dados são descarregados do ultimo elemento transferido para a


linha e o valor da posição é então diminuído. Portanto a cada
transição de falsa para verdadeira LFL carrega o conteúdo do
elemento source na pilha na posição indicada pelo parâmetro
Position. Esta posição (“n” ) é então decrementada ( “n - 1” ) com
o valor X sendo deslocado para ela. O conteúdo da posição atual (
“n - 1” ) será transferido para o destino quando ocorrer uma
transição de falsa para verdadeira da condição de linha da
instrução LFU.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

• - Instruções de sequenciador:
SQO : Saída de sequenciador. Transfere dados de 16 bits para
endereços de palavra a fim de controlar operações sequenciais de
maquina.
SQC : Sequenciador de Comparação. Compara dados de 16 bits
com dados armazenados para monitorar as condições de operação
da máquina ou para fins de diagnóstico . Compara dados de uma
palavra ou arquivo com uma referência se o estado do bits for
igual o bit de encontrado da instrução é energizado (FD).
SQL : Carga de sequenciador. Carrega dados de 16 bits em um
arquivo a cada etapa de operação do sequenciador. Carrega o
conteúdo de um endereço especificado no parâmetro source em
um arquivo especificado por FILE. A cada transição de falsa para
verdadeira da condição da linha a posição é incrementada e o
conteúdo de source é armazenado nesta.
1.5.5 - SQO:

SQO
( EN )
SEQUENCER OUTPUT
( DN )
FILE
MASK
DEST
CONTROL
LENGTH
POSITION

File : indica a pilha de dados ( # ) onde serão inseridos os passos


para a seqüência, ou seja qual os bits da palavra especificada em
dest deverão ser acionados em cada passo.
Mask: Código em Hexadecimal ou endereço do código por onde
se movimenta os dados ou pode-se bloquear determinados bit’s
durante a movimentação.
Dest : Endereço para onde deverão ser enviados os dados
referentes a cada passo.
Control : Endereço de controle da instrução.
OPERAÇÃO:
A cada transição de falsa para verdadeira da condição da linha os
elementos especificados em File são transferidos para o parâmetro
dest, e a posição na pilha é incrementada.
• TRANSFERE OS PASSOS DE 1 À 10.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.6 INSTRUÇÃO DE SALTO PARA SUBROTINA:


-
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.7 - INSTRUÇÃO PID:


1.7.1 - FUNÇÃO PID:
Consiste no controle de uma variável vindo do processo com a
comparação com um valor ideal (Set point) da mesma,gerando um
sinal que fará com que esta variável atinja este valor ideal de
acordo com um algoritmo proporcional,integral e derivativo. A
diferença entre este valor real e valor ideal da variável é chamado
de Erro, no inicio do ajuste este erro é chamado de Erro em regime
transitório (ert) e após Erro em regime permanente (erp). O
objetivo do algoritmo PID é diminuir este tempo em que ocorre o
"ert" e anular o "erp". Para tanto a parte proporcional (Kc) irá
atuar na variação do erro, a derivativa ( rate ) na velocidade com
que o algoritmo irá atuar no processo, e a integral (reset) atuará
eliminando o erro em regime permanente.

SET POINT + ERRO


Variável EQUAÇÃO PID

SP
CV
+
Controlada
PV
Variável
de processo

C(t)

Set
point

t
TS TA
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

1.7.2 - INSTRUÇÃO PID:

Devem ser configurados parâmetros neste instrução:


Control Block : Endereço do bloco de controle da instrução .
Process Variable : Variável de processo coletada no campo. A
entrada da PID recebe valores na faixa de 0 à 4095.
Control Variable : saída controlada.
Control block length: Tamanho do bloco de controle: 80
Words.

PID
Proporcional Integral Derivativo

Control Block
Process Variable
Control Variable
Control Block Length 23
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Palavra de controle:

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

EN DN PV SP LL UL DB TF SC OL CM AM TM 0

Codigo de Erro da Subrotina PID 1

Referência SP 2

Ganho Kc 3
Rearme Ti 4
Taxa Td 5

Feed Forwad Bias 6

Referência Max (Smax) 7

Referência Min (Smin) 8

Zona Morta 9

Uso interno 10

Saída Max 11

Saída Min 12

Atualização da Malha 13

Variável do processo em escala 14

Erro de escala SE 15

Saída de controle (0 - 100 %) 16

17

Uso interno ao

22
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Devem ser configurados parâmetros neste instrução:


Control Block : Endereço do bloco de controle da instrução .
Process Variable : Variável de processo coletada no campo. A
entrada da PID recebe valores na faixa de 0 à 16384. Portanto
deve-se converter a entrada analógica para este range.
Control Variable : saída controlada.
Control block length: Tamanho do bloco de controle

Na Tela da instrução configura-se:


( X / Y ) : X = PALAVRA DO BLOCO DE CONTROLE
Y = BIT DA PALAVRA

AUTO/MANUAL ( 0/1 ): Em Auto a PID está atuando no


processo e controlando a saída. Em Manual pode-se alterar o
valor da saída CV.
MODE ( 0/0 ) : Timed : PID atualiza a sua saída de acordo com
a atualização da malha.
STI : PID é colocada na subrotina STI ,que deverá ter um tempo
(S:11) igual ao da atualização da malha ( Loop update )
CONTROL ( 0/2 ) : Seleciona a ação de controle de controle
usada:
Direta: Ocorre quando têm-se uma variável de processo com
tendência
a ser inferior ao valor de set point - E = SP - PV : CV aumenta
se
PV < SP. ( Ex: um processo de aquecimento ).
Reversa: Ocorre quando têm-se uma variável de processo com
tendência
a ser superior ao valor de set point - E = PV - SP : CV aumenta
se
PV > SP. ( Ex: aplicação de resfriamento ).
SET POINT SP: ( WORD 2 ) , Valor ideal para variável de
processo de ( 0 à 16383 ).
SCALED PROCESS , PV , ( WORD 14 ) : Somente para
exibição .
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

SCALED ERROR ( WORD 15 ) : Erro em scala , para exibição


DEAD BAND ( WORD 9 ) : Zona Morta, Seleciona-se uma faixa
abaixo e acima da referência ( Set point ) .
OUTPUT CV ( WORD 10 ) : No modo AUTO este parâmetro
é somente para exibição; no modo MANUAL ,pode-se introduzir a
porcentagem de saída desejada. ( 0 à 100 ).
LOOP UPDATE: ( WORD 13 ) : Intervalo de tempo entre os
cálculos PID, introduzir um tempo 5 ou 10 vezes o período natural
da carga (Fazer reset e rate igual à 0 e aumentar o ganho ate à
saída começar a oscilar ).
Kc,GANHO PROPORCIONAL ( WORD 3 ) Ganho ajustado
para a metade do valor necessário para fazer com que a saída
oscile quando os termos reset e rate são ajustados em zero. ( 1 à
255 )
RESET TI ( WORD 4 ) TEMPO INTEGRAL ,ajustado igual
ao período natural medido na calibração do ganho. Responsável
pela eliminação do erro. ( 1 à 255 )
RATE TD ( WORD 5 ) TEMPO DERIVATIVO ,ajustado
para 1/8 do tempo integral ( 1 à 255 ) atua no tempo em que a
variável leva para se estabilizar.
MIN SCALED SMIN ( WORD 8 ) Valor mínimo da escala
interna da PID para a variável de processo.
MAX SCALED SMAX ( WORD 9 ) Valor máximo da escala
interna da PID para a variável de processo.
BITS INTERNOS DA PALAVRA 0:
0 - TM : modo timed =1, modo STI =0.
1 - AUTO =0 , MANUAL= 1
2 - CM = 1 ( AÇÃO DE CONTROLE DIRETA) , CM = 0 (
AÇÃO DE CONTROLE REVERSA )
3 - OL = 1 ( LIMITA A VARIÁVEL DE CONTROLE )
5 - SC = 1 , SC= 0 ( QUANDO FOR ESPECIFICADO O VALOR
DA ESCALA DE REFERENCIA )
6 - TF = 0 , TF = 1 ( Tempo de atualização da malha não pode
ser alcançado pelo programa fornecido,devido a limitações no
tempo de varredura ,procurar atualizar a PID em uma velocidade
mais lenta ou programar em STI
8 - DB= 1 , Variável de processo está dentro da faixa de zona
morta.
9 - UL = 1 , Ocorre quando a saída de controle CV, calculada
exceder o limite superior de CV.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

10 - LL = 1 , Saída de controle CV,calculada exceder o limite


inferior de CV.
11 - SP = 1 , Bit energizado quando a referência exceder o valor
máximo de escala ou o valor mínimo .
12 - PV =1 Quando PV > 16383
13 - DN = 1 , Durante as varreduras que o PID é computado.
15 - EN = 1 , Segue a linha da PID

OBS:
- Faixas de E/S: * Inserir um valor de SET POINT
multiplicado por 100 e ajustar Smáx e Smin também
multiplicado por 100,para facilitar ajustes da PID.
- Deve-se escalonar o variável de processo para valores de 0 à
16.383 , que é faixa interna de variação da PID.
- Com a zona morta a saída não é alterada enquanto o erro
permanecer dentro desta faixa, durante o tempo em que a PID
permanece na zona morta a instrução considera o valor de erro
igual a zero ou seja a PID não atua no processo.
- Pode-se limitar a saída ,para tanto basta energizar o bit de
habilitação de limite ( 3 )
- No Modo Manual Pode-se inserir um valor de CV de 0 à
100 % .
Este valor é convertido em um número de o à 16383 e escrito no
endereço da variável de controle.
- FEEDFORWARD: Valor que será adicionado à saída para
evitar distúrbios.
- Quando se utilizar válvula reversa na saída,pode-se subtrair o
valor máximo 16.384 do valor de CV.
- Pode-se estabelecer limites para as saídas de 0 à 100%.
- Um aumento de Kc, pode gerar instabilidade no sistema.
- Geralmente usa-se o termo derivativo para controles de
temperatura e controles de Pressão e Vazão usa-se controlador
PI, Proporcional e Integral.
Pós Graduação em Automação de Processos Industriais - Controladores Lógico Programáveis
Profs. Msc.Claiton M.Franchi/Valter L. A. Camargo

Você também pode gostar