Escolar Documentos
Profissional Documentos
Cultura Documentos
N 1 ( )
--------------------------------------------------------------------
Desvio Padro =
x
start i + ( )
i 1 =
N
N
-----------------------------------------
Uma falha grave ocorrer se: Tipo de falha: Cdigo de
falha:
.POS < 0 ou .LEN < 0 4 21
o operando Dimension to vary no existe
para a matriz especificada
4 20
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Arquivo/Diversos (FAL, FSC, COP, FLL, AVE, SRT, STD) 7-49
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura O bit .EN desenergizado.
O bit .DN desenergizado.
O bit .ER desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A instruo STD calcula o desvio padro dos elementos especificados.
Internamente, a instruo usa uma instruo FAL para calcular a mdia.
Expresso = clculo do desvio padro
Modo = ALL
Para detalhes sobre como a instruo FAL executada, consulte a pgina 7-9.
examinar bit .DN
bit .DN = 0
bit .DN = 1
entrada da condio da linha for falsa
sada da condio da linha
definida como falsa
fim
bit .EN desenergizado.
bit .ER desenergizado.
bit .DN desenergizado.
valor .POS desenergizado
Publicao 1756-RM003C-PT-P - Novembro 2000
7-50 Instrues de Arquivo/Diversos (FAL, FSC, COP, FLL, AVE, SRT, STD)
Exemplo de Lgica
Ladder:
Execuo de Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
exemplo 1
array_dint DINT[4,5]
dimenso 1
dimenso 0
0 20 19 18 17 16
15 14 13 12 11
10 9 8 7 6
5 4 3 2 1
1
2
3
0 1 2 3 4
STD
16 8.5
2
11 8.5
2
6 8.5
2
1 8.5
2
+ + +
4 1
--------------------------------------------------------------------------------------------------------------------------- 6.454972 = =
AVE
16 11 6 1 + + +
4
-------------------------------------
34
4
------ 8.5 = = =
s
u
b
s
c
r
i
t
o
s
real_std = 6,454972
exemplo 2
array_dint DINT[4.5]
dimenso 1
dimenso 0
0 20 19 18 17 16
15 14 13 12 11
10 9 8 7 6
5 4 3 2 1
1
2
3
0 1 2 3 4
STD
20 18
2
19 18
2
18 18
2
17 18
2
16 18
2
+ + + +
5 1
------------------------------------------------------------------------------------------------------------------------------------------------------------ 1.581139 = =
AVE
20 19 18 17 16 + + + +
5
-------------------------------------------------------
90
5
------ 18 = = =
s
u
b
s
c
r
i
t
o
s
real_std = 1,581139
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Arquivo/Diversos (FAL, FSC, COP, FLL, AVE, SRT, STD) 7-51
Notas:
Publicao 1756-RM003C-PT-P - Novembro 2000
7-52 Instrues de Arquivo/Diversos (FAL, FSC, COP, FLL, AVE, SRT, STD)
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 8
Instrues de Deslocamento/Matriz (Arquivo)
(BSL, BSR, FFL, FFU, LFL, LFU)
Introduo
Use as instrues de deslocamento/matriz (arquivo) para modificar a
localizao dos dados dentro das matrizes.
possvel misturar os tipos de dados, mas podem ocorrer perda de
preciso e erro de arredondamento.
Para instrues de lgica ladder, os tipos de dados em negrito
indicam os tipos de dados timos. Uma instruo executa mais
rapidamente e requer menos memria se todos os operandos da
instruo usam o mesmo tipo de dados timo, geralmente DINT ou
REAL.
Se voc quiser: Use esta instruo: Consulte
pgina:
carregar bits, deslocar bits e descarregar bits
de uma matriz de bits, um bit de cada vez.
BSL 8-2
BSR 8-6
carregar e descarregar os valores na
mesma seqncia.
FFL 8-10
FFU 8-16
carregar e descarregar os valores em
ordem reversa.
LFL 8-22
LFU 8-28
Publicao 1756-RM003C-PT-P - Novembro 2000
8-2 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Deslocamento de Bit para a
Esquerda (BSL)
A instruo BSL desloca os bits especificados dentro da Matriz uma
posio para a esquerda.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando habilitada, a instruo descarrega o bit mais significativo dos
bits especificados para o bit .UL, desloca os bits restantes uma posio
para a esquerda e carrega o bit Source no bit 0 da Matriz.
A instruo BSL opera na memria de dados contnua.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Array DINT tag da
matriz
matriz a ser modificada
especifique o primeiro elemento do grupo de
elementos
no use CONTROL.POS no subscrito
Control CONTROL tag estrutura de controle para a operao
Bit Source BOOL tag bit a ser deslocado
Length DINT imediato nmero de bits da matriz a ser deslocada
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit habilitado indica que a instruo BSL est habilitada.
.DN BOOL O bit executado energizado para indicar que os bits foram deslocados uma posio para a
esquerda.
.UL BOOL O bit de descarga a sada da instruo. O bit .UL armazena o status do bit que foi deslocado
fora da faixa dos bits.
.ER BOOL O bit de erro energizado quando .LEN < 0.
.LEN DINT O comprimento especifica o nmero de bits na matriz a ser deslocado.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-3
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura O bit .EN desenergizado.
O bit .DN desenergizado.
O bit .ER desenergizado.
O valor .POS desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit .EN desenergizado.
O bit .DN desenergizado.
O bit .ER desenergizado.
O valor .POS desenergizado.
A sada da condio da linha definida como falsa.
Publicao 1756-RM003C-PT-P - Novembro 2000
8-4 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Exemplo de Lgica
Ladder:
Condio: Ao:
entrada da condio da linha for verdadeira
examinar bit .EN
bit .EN = 1
bit .EN = 0
fim
bit .DN energizado.
deslocar matriz da esquerda uma posio
para a esquerda
bit .EN energizado
sada da condio da linha
definida como verdadeira
bit .DN energizado.
.POS = .LEN
.LEN = 0
sim
no
.LEN < 0
sim
no
Bit
Source
bit .UL matriz
examinar bit source
.source bit = 1
.source bit = 0
bit .UL permanece
energizado
bit .UL energizado
bit .ER
energizado
exemplo 1
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-5
9 8 7 6 5 4 3 2 1 0
array_dint[0]
antes do
deslocamento
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
9 8 7 6 5 4 3 2 1 0
array_dint[0]d
epois do
deslocamento
0 1 1 1 1 0 0 0 0 1
Quando habilitada, a instruo BSL inicia no bit 0 em array_dint[0]. A instruo descarrega array_dint[0].9 no bit .UL, desloca os
bits restantes e carrega input_1 em array_dint[0].0. Os valores nos bits restantes (10-31) so invlidos.
1
input_1
0
bit .UL
esses bits foram
deslocados esquerda
31 0
array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
31 0
array_dint[1] 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
Quando habilitada, a instruo BSL inicia no bit 0 em array_dint[0]. A instruo descarrega array_dint[1].25 no bit .UL, desloca os
bits restantes e carrega input_1 em array_dint[0].0. Os valores nos bits restantes (31-26 in array_dint[1]) so invlidos. Observe
como array_dint[0].31 desloca-se atravs das palavras para array_dint[1].0.
exemplo 2
1
input_1
esses bits foram deslocados esquerda
0
bit .UL
esses bits foram deslocados esquerda
Publicao 1756-RM003C-PT-P - Novembro 2000
8-6 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Deslocamento de Bit para a
Direita (BSR)
A instruo BSR desloca os bits especificados dentro da Matriz uma
posio para a direita.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando habilitada, a instruo descarrega o valor do bit da Matriz
para o bit .UL, desloca os bits restantes uma posio para a direita e
carrega o bit Source no bit mais significativo dos bits especificados.
A instruo BSR opera na memria de dados contnua.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Array DINT tag da
matriz
matriz a ser modificada
especifica o elemento onde o deslocamento
deve comear
no use CONTROL.POS em subscrito
Control CONTROL tag estrutura de controle para a operao
Bit Source BOOL tag bit a ser deslocado
Length DINT imediato nmero de bits da matriz a ser deslocada
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit habilitado indica que a instruo BSR est habilitada.
.DN BOOL O bit executado energizado para indicar que os bits foram deslocados uma posio para a
direita.
.UL BOOL O bit de descarga a sada da instruo. O bit .UL armazena o status do bit que foi deslocado
fora da faixa dos bits.
.ER BOOL O bit de erro energizado quando .LEN < 0.
.LEN DINT O comprimento especifica o nmero de bits na matriz a ser deslocado.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-7
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura O bit .EN desenergizado.
O bit .DN desenergizado.
O bit .ER desenergizado.
O valor .POS desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit .EN desenergizado.
O bit .DN desenergizado.
O bit .ER desenergizado.
O valor .POS desenergizado.
A sada da condio da linha definida como falsa.
Publicao 1756-RM003C-PT-P - Novembro 2000
8-8 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Exemplo de Lgica
Ladder:
Condio: Ao:
entrada da condio da linha for verdadeira
examinar bit .EN
bit .EN = 1
bit .EN = 0
fim
bit .DN energizado.
deslocar matriz uma posio para a esquerda
bit .EN energizado
sada da condio da linha
definida como verdadeira
bit .DN energizado.
.POS = .LEN
.LEN = 0
sim
no
.LEN < 0
sim
no
Bit
Source
bit .UL matriz
examinar bit source
.source bit = 1
.source bit = 0
bit .UL permanece
energizado
bit .UL energizado
bit .ER
energizado
exemplo 1
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-9
9 8 7 6 5 4 3 2 1 0
array_dint[0]
antes do
deslocamento
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
9 8 7 6 5 4 3 2 1 0
array_dint[0]d
epois do
deslocamento
1 0 0 1 1 1 1 0 0 0
Quando habilitada, a instruo BSR inicia no bit 9 em array_dint[0]. A instruo descarrega array_dint[0].0no bit .UL, desloca os
bits restantes para a direita e carrega input_1 em array_dint[0].9. Os valores nos bits restantes (10-31) so invlidos.
esses bits foram deslocados direita
0
bit .UL
1
input_1
31 0
array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
31 0
array_dint[1] 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
Quando habilitada, a instruo BSR inicia no bit 25 em array_dint[1]. A instruo descarrega array_dint[0].0 no bit .UL , desloca
os bits restantes para a direita e carrega input_1 em array_dint[1].25. Os valores nos bits restantes (31-26 em dint_array[1]) so
invlidos. Observe como array_dint[0].0 desloca-se atravs das palavras para array_dint[1].31.
exemplo 2
esses bits foram deslocados direita
0
bit .UL
esses bits foram deslocados direita
1
input_1
Publicao 1756-RM003C-PT-P - Novembro 2000
8-10 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Carga FIFO (FFL)
A instruo FFL copia o valor Source para FIFO.
Operandos de Lgica
Ladder:
Se voc usar uma estrutura definida pelo usurio como tipo de dados
para o operando Source ou FIFO, use a mesma estrutura para os dois
operandos.
Estrutura:
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
estrutura
imediato
tag
dados a serem armazenados em FIFO
Source converte para o tipo de dados do tag da matriz. Um inteiro menor
converte para um inteiro maior pela extenso do sinal.
FIFO SINT
INT
DINT
REAL
estrutura
tag da
matriz
FIFO a ser modificado
especifique o primeiro elemento de FIFO
no use CONTROL.POS em subscrito
Control CONTROL tag estrutura de controle para a operao
geralmente usa o mesmo CONTROL,
conforme associado a FFU
Length DINT imediato nmero mximo de elementos que FIFO pode
controlar de uma vez.
Position DINT imediato prxima localizao em FIFO onde a instruo
carrega os dados.
valor inicial normalmente 0
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit habilitado indica que a instruo FFL est habilitada.
.DN BOOL O bit executado energizado para indicar que FIFO est cheio (.POS=LEN). O bit .DN inibe a
carga de FIFO at .POS < .LEN.
.EM BOOL O bit vazio indica que FIFO est vazio. Se .LEN 0 ou .POS < 0, tanto o bit .EM quanto o bit
.DN esto energizados.
.LEN DINT O comprimento especifica o nmero mximo de elementos que FIFO pode controlar de uma
vez.
.POS DINT A posio identifica a localizao em FIFO onde a instruo carregar o prximo valor.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-11
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Use a instruo FFL com a instruo FFU para armazenar e recuperar
dados na seqncia primeiro a entrar, primeiro a sair. Quando usada
em pares, as instrues FFL e FFU estabelecem um registro de
deslocamento assncrono.
Geralmente, Source e FIFO so do mesmo tipo de dados.
Quando habilitada, a instruo FFL carrega o valor Source na posio
FIFO identificada pelo valor .POS. A instruo carrega um valor cada
vez que a instruo habilitada, at que FIFO fique cheio.
A instruo FFL opera na memria de dados contnua.
Flags de Status Aritmtico: no afetados
Condies de Falha:
Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:
(elemento de incio + .POS) > tamanho da
matriz de FIFO
4 20
Publicao 1756-RM003C-PT-P - Novembro 2000
8-12 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura
fim
o bit .EN energizado para evitar uma
carga falsa quando a varredura comear
sada da condio da linha
definida como falsa
.LEN < 0
sim
no
.POS < 0
sim
.EM desenergizado.
bit .DN desenergizado.
no
.POS = 0
sim
no
.EM energizado
.POS .LEN
sim
no
.DN energizado
.EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-13
Condio: Ao:
entrada da condio da linha for falsa
fim
bit .EN desenergizado.
sada da condio da linha
definida como falsa
.LEN < 0
sim
no
.POS < 0
sim
.EM desenergizado.
bit .DN desenergizado.
no
.POS = 0
sim
no
.EM energizado
.POS .LEN
sim
no
.DN energizado
.EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
8-14 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Condio: Ao:
entrada da condio da linha for verdadeira
fim
sada da condio da linha definida
como verdadeira
examinar bit .EN
.EN = 0
.EN = 1
bit .EN energizado
.LEN < 0
sim
no
.POS < 0
sim
no
bit .EM energizado
.DN energizado
bit .EM desenergizado.
bit .DN desenergizado.
.POS = .POS + 1
.POS .LEN
sim
no
bit .DN energizado.
.POS ou
.LEN >
tamanho da
matriz
sim
no
falha grave
.POS > .LEN
sim
no
.POS = .POS -1
FIFO[.POS - 1] = source
.LEN < 0
sim
no
.POS < 0
sim
no
bit .EM desenergizado.
bit .DN desenergizado.
.POS = 0
sim
no
bit .EM energizado
.POS .LEN
sim
no
bit .DN energizado.
bit .EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-15
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
antes da carga FIFO depois da carga FIFO
array_dint[0] 00000 00000
11111 11111
22222 22222
33333 control_1.pos = 5 33333
44444 value_1 = 55555 44444
array_dint[5] 00000 55555
00000 00000 control_1.pos = 6
00000 00000
00000 00000
00000 00000
Quando habilitada, a instruo FFL carrega value_1 para a prxima posio em FIFO, que array_dint[5] nesse exemplo.
Publicao 1756-RM003C-PT-P - Novembro 2000
8-16 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Descarga FIFO (FFU)
A instruo FFU descarrega o valor da posio 0 (primeira posio) de
FIFO e armazena esse valor em Destination. Os dados restantes em
FIFO se deslocam uma posio para baixo.
Operandos de Lgica
Ladder:
Se voc usar uma estrutura definida pelo usurio como tipo de dados
para o operando FIFO ou Destination, use a mesma estrutura para os
dois operandos.
Estrutura:
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
FIFO SINT
INT
DINT
REAL
estrutura
tag da
matriz
FIFO a ser modificado
especifique o primeiro elemento de FIFO
no use CONTROL.POS em subscrito
Destination SINT
INT
DINT
REAL
estrutura
tag valor que saiu de FIFO
O valor Destination converte para o tipo de dados do tag Destination. Um
inteiro menor converte para um inteiro maior pela extenso do sinal.
Control CONTROL tag estrutura de controle para a operao
geralmente usa o mesmo CONTROL, como a
FFL associada
Length DINT imediato nmero mximo de elementos que FIFO pode
controlar de uma vez.
Position DINT imediato prxima localizao em FIFO onde a instruo
descarrega os dados.
valor inicial normalmente 0
Mnemnico: Tipo de Dados: Descrio:
. EU BOOL O bit de descarga habilitado indica que a instruo FFU est habilitada. O bit .EU
energizado para pr-programar uma descarga falsa quando a varredura do programa inicia.
.DN BOOL O bit executado energizado para indicar que FIFO est cheio (.POS=LEN).
.EM BOOL O bit vazio indica que FIFO est vazio. Se .LEN 0 ou .POS < 0, os bits .EM e .DN estaro
energizados.
.LEN DINT O comprimento especifica o nmero mximo de elementos em FIFO.
.POS DINT A posio identifica o fim dos dados que foram carregados em FIFO.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-17
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Use a instruo FFU com a instruo FFL para armazenar e recuperar
dados na seqncia primeiro a entrar, primeiro a sair.
Se FIFO for um tipo de dados DINT, Destination dever ser do tipo
DINT; se FIFO for um tipo de dados REAL, Destination dever ser um
tipo de dados REAL.
Quando habilitada, a instruo FFU descarrega os dados do primeiro
elemento de FIFO e coloca esse valor em Destination. A instruo
descarrega um valor cada vez que a instruo habilitada, at que
FIFO fique vazio. Se FIFO estiver vazio, FFU retorna 0 para
Destination.
A instruo FFU opera na memria de dados contnua.
Flags de Status Aritmtico: no afetados
Condies de Falha:
Uma falha grave ocorrer se: Tipo de falha: Cdigo de
falha:
Length > FIFO tamanho da matriz 4 20
Publicao 1756-RM003C-PT-P - Novembro 2000
8-18 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura
fim
o bit .EU energizado para evitar
uma descarga falsa quando a
varredura comear
sada da condio da linha
definida como falsa
.LEN < 0
sim
no
.POS < 0
sim
.EM desenergizado.
bit .DN desenergizado.
no
.POS = 0
sim
no
.EM energizado
.POS .LEN
sim
no
.DN energizado
.EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-19
Condio: Ao:
entrada da condio da linha for falsa
fim
bit .EU desenergizado.
sada da condio da linha
definida como falsa
.LEN < 0
sim
no
.POS < 0
sim
.EM desenergizado.
bit .DN desenergizado.
no
.POS = 0
sim
no
.EM energizado
.POS .LEN
sim
no
.DN energizado
.EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
8-20 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Condio: Ao:
entrada da condio da linha for verdadeira
fim
examinar bit .EU
.EU = 0
.EU = 1
bit .EU energizado
.LEN < 0
sim
no
.POS < 0
sim
no
bit .EM energizado
.DN energizado
bit .EM
desenergizado.
bit .DN
.LEN >
tamanho da
sim
no
falha grave
.POS 1
sim
no
bit .EM energizado
.LEN < 0
sim
no
.POS < 0
sim
no
bit .EM desenergizado.
bit .DN desenergizado.
.POS = 0
sim
no
bit .EM energizado
.POS .LEN
sim
no
bit .DN energizado.
bit .EM energizado
.DN energizado
.POS < 1
sim
no
Destination = 0
.POS = .POS -1
Destination = FIFO[0]
i = 1
FIFO[i - 1] = FIFO[i]
i = i +1
i < .LEN
sim
no
sada da condio da linha
definida como
verdadeira
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-21
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
antes da descarga FIFO depois da descarga FIFO
array_dint[0] 00000 11111
11111 22222
22222 33333
33333 44444
44444 55555
array_dint[5] 55555 00000 control_1.pos = 5
00000 control_1.pos = 6 00000 value_2 = 00000
00000 00000
00000 00000
00000 00000
Quando habilitada, a instruo FFU descarrega array_dint[0] em value_2 e desloca os elementos restantes para array_dint.
Publicao 1756-RM003C-PT-P - Novembro 2000
8-22 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Carga LIFO (LFL)
A instruo LFL copia o valor Source para LIFO.
Operandos de Lgica
Ladder:
Se voc usar uma estrutura definida pelo usurio como tipo de dados
para o operando Source ou LIFO, use a mesma estrutura para os dois
operandos.
Estrutura:
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
estrutura
imediato
tag
dados a serem armazenados em LIFO
Source converte para o tipo de dados do tag da matriz. Um inteiro menor
converte para um inteiro maior pela extenso do sinal.
LIFO SINT
INT
DINT
REAL
estrutura
tag da
matriz
LIFO a ser modificado
especifique o primeiro elemento de LIFO
no use CONTROL.POS em subscrito
Control CONTROL tag estrutura de controle para a operao
geralmente usa o mesmo CONTROL,
conforme a LFU associada
Length DINT imediato nmero mximo de elementos que LIFO pode
controlar de uma vez.
Position DINT imediato prxima localizao em LIFO onde a instruo
carrega os dados.
valor inicial normalmente 0
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit habilitado indica que a instruo LFL est habilitada.
.DN BOOL O bit executado energizado para indicar que LIFO est cheio (.POS=LEN). O bit .DN inibe a
carga de LIFO at .POS < .LEN.
.EM BOOL O bit vazio indica que LIFO est vazio. Se .LEN 0 ou .POS < 0, tanto o bit .EM quanto o bit
.DN esto energizados.
.LEN DINT O comprimento especifica o nmero mximo de elementos que LIFO pode controlar de uma
vez.
.POS DINT A posio identifica a localizao em LIFO onde a instruo carregar o prximo valor.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-23
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Use a instruo LFL com a instruo LFU para armazenar e recuperar
dados na seqncia ltimo a entrar, primeiro a sair. Quando usada em
pares, as instrues LFL e LFU estabelecem um registro de
deslocamento assncrono.
Geralmente, Source e LIFO so do mesmo tipo de dados.
Quando habilitada, a instruo LFL carrega o valor Source na posio
LIFO identificada pelo valor .POS. A instruo carrega um valor cada
vez que a instruo habilitada, at que LIFO fique cheia.
A instruo LFL opera na memria de dados contnua.
Flags de Status Aritmtico: no afetados
Condies de Falha:
Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:
(elemento de incio + .POS) > tamanho da
matriz de LIFO
4 20
Publicao 1756-RM003C-PT-P - Novembro 2000
8-24 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura
fim
o bit .EN energizado para evitar
uma carga falsa quando a varredura
comear
sada da condio da linha
definida como falsa
.LEN < 0
sim
no
.POS < 0
sim
.EM desenergizado.
bit .DN desenergizado.
no
.POS = 0
sim
no
.EM energizado
.POS .LEN
sim
no
.DN energizado
.EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-25
Condio: Ao:
entrada da condio da linha for falsa
fim
bit .EN desenergizado.
sada da condio da linha
definida como falsa
.LEN < 0
sim
no
.POS < 0
sim
.EM desenergizado.
bit .DN desenergizado.
no
.POS = 0
sim
no
.EM energizado
.POS .LEN
sim
no
.DN energizado
.EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
8-26 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Condio: Ao:
entrada da condio da linha for verdadeira
fim
sada da condio da linha definida
como verdadeira
examinar bit .EN
.EN = 0
.EN = 1
bit .EN energizado
.LEN < 0
sim
no
.POS < 0
sim
no
bit .EM energizado
.DN energizado
bit .EM desenergizado.
bit .DN desenergizado.
.POS = .POS + 1
.POS .LEN
sim
no
bit .DN energizado.
.POS ou .LEN >
tamanho da
matriz
sim
no
falha grave
.POS > .LEN
sim
no
.POS = .POS -1
LIFO[.POS - 1] = source
.LEN < 0
sim
no
.POS < 0
sim
no
bit .EM desenergizado.
bit .DN desenergizado.
.POS = 0
sim
no
bit .EM energizado
.POS .LEN
sim
no
bit .DN energizado.
bit .EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-27
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
antes da carga LIFO depois da carga LIFO
array_dint[0] 00000 00000
11111 11111
22222 22222
33333 control_1.pos = 5 33333
44444 value_1 = 55555 44444
array_dint[5] 00000 55555
00000 00000 control_1.pos = 6
00000 00000
00000 00000
00000 00000
Quando habilitada, a instruo LFL carrega value_1 para a prxima posio em LIFO, que array_dint[5] nesse exemplo.
Publicao 1756-RM003C-PT-P - Novembro 2000
8-28 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Descarga LIFO (LFU)
A instruo LFU descarrega o valor em .POS de LIFO e armazena 0
naquele local.
Operandos de Lgica
Ladder:
Se voc usar uma estrutura definida pelo usurio como tipo de dados
para o operando LIFO ou Destination, use a mesma estrutura para os
dois operandos.
Estrutura:
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
LIFO SINT
INT
DINT
REAL
estrutura
tag da
matriz
LIFO a ser modificado
especifique o primeiro elemento de LIFO
no use CONTROL.POS em subscrito
Destination SINT
INT
DINT
REAL
estrutura
tag valor que saiu de LIFO
O valor Destination converte para o tipo de dados do tag Destination. Um
inteiro menor converte para um inteiro maior pela extenso do sinal.
Control CONTROL tag estrutura de controle para a operao
geralmente usa o mesmo CONTROL,
conforme a LFL associada
Length DINT imediato nmero mximo de elementos que LIFO pode
controlar de uma vez.
Position DINT imediato prxima localizao em LIFO onde a
instruo descarrega os dados.
valor inicial normalmente 0
Mnemnico: Tipo de Dados: Descrio:
. EU BOOL O bit de descarga habilitado indica que a instruo LFU est habilitada. O bit .EU
energizado para pr-programar uma descarga falsa quando a varredura do programa inicia.
.DN BOOL O bit executado energizado para indicar que LIFO est cheio (.POS=LEN).
.EM BOOL O bit vazio indica que LIFO est vazio. Se .LEN 0 ou .POS < 0, tanto o bit .EM quanto o bit
.DN esto energizados.
.LEN DINT O comprimento especifica o nmero mximo de elementos que LIFO pode controlar de uma
vez.
.POS DINT A posio identifica o fim dos dados que foram carregados em LIFO.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-29
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Use a instruo LFU com a instruo LFL para armazenar e recuperar
dados na seqncia ltimo a entrar, primeiro a sair.
Se LIFO for um tipo de dados DINT, Destination dever ser do tipo
DINT; se LIFO for um tipo de dados REAL, Destination dever ser um
tipo de dados REAL.
Quando habilitada, a instruo LFU descarrega o valor em .POS de
LIFO e o coloca em Destination. A instruo descarrega um valor e o
substitui com 0 cada vez que a instruo est habilitada at que LIFO
fique vazia. Se LIFO estiver vazia, LFU retorna 0 para Destination.
A instruo LFU opera na memria de dados contnua.
Flags de Status Aritmtico: no afetados
Condies de Falha:
Uma falha grave ocorrer se: Tipo de falha: Cdigo de
falha:
Length > LIFO tamanho da matriz 4 20
Publicao 1756-RM003C-PT-P - Novembro 2000
8-30 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Execuo de Lgica
Ladder
Condio: Ao:
pr-varredura
fim
o bit .EU energizado para evitar uma
descarga falsa quando a varredura
comear
sada da condio da linha
definida como falsa
.LEN < 0
sim
no
.POS < 0
sim
.EM desenergizado.
bit .DN desenergizado.
no
.POS = 0
sim
no
.EM energizado
.POS .LEN
sim
no
.DN energizado
.EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-31
Condio: Ao:
entrada da condio da linha for falsa
fim
bit .EU desenergizado.
sada da condio da linha
definida como falsa
.LEN < 0
sim
no
.POS < 0
sim
.EM desenergizado.
bit .DN desenergizado.
no
.POS = 0
sim
no
.EM energizado
.POS .LEN
sim
no
.DN energizado
.EM energizado
.DN energizado
Publicao 1756-RM003C-PT-P - Novembro 2000
8-32 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Condio: Ao:
entrada da condio da linha for verdadeira
fim
sada da condio da linha
definida como verdadeira
examinar bit .EU
.EU = 0
.EU = 1
bit .EU energizado
.LEN < 0
sim
no
.POS < 0
sim
no
bit .EM energizado
.DN energizado
bit .EM
desenergizado.
bit .DN
.LEN >
tamanho da
matriz
sim
no
falha grave
.POS 1
sim
no
bit .EM energizado
.LEN < 0
sim
no
.POS < 0
sim
no
bit .EM desenergizado.
bit .DN desenergizado.
.POS = 0
sim
no
bit .EM energizado
.POS .LEN
sim
no
bit .DN energizado.
bit .EM energizado
.DN energizado
.POS < 1
sim
no
.POS > .LEN
sim
no
.POS = .LEN
Destination = 0
Destination = LIFO[control.POS]
LIFO[control.POS) = 0
.POS = .POS -1
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU) 8-33
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
antes da descarga LIFO depois da descarga LIFO
array_dint[0] 00000 00000
11111 11111
22222 22222
33333 33333
44444 44444
array_dint[5] 55555 00000 control_1.pos = 5
00000 control_1.pos = 6 00000 value_2 = 55555
00000 00000
00000 00000
00000 00000
Quando habilitada, a instruo LFU descarrega array_dint[5] em value_2.
Publicao 1756-RM003C-PT-P - Novembro 2000
8-34 Instrues de Deslocamento/Matriz (Arquivo) (BSL, BSR, FFL, FFU, LFL, LFU)
Notas:
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 9
Instrues de Seqenciador
(SQI, SQO, SQL)
Introduo
Instrues de sequenciador monitoram operaes consistentes e
repetitivas.
Para instrues de lgica ladder, os tipos de dados em negrito
indicam os tipos de dados timos. Uma instruo executa mais
rapidamente e requer menos memria se todos os operandos da
instruo usam o mesmo tipo de dado timo, geralmente DINT ou
REAL.
Se voc quiser: Use esta instruo: Consulte
pgina:
Detectar quando uma etapa est concluda. SQI 9-2
Estabelecer condies de sada para a
prxima etapa.
SQO 9-7
Carregar as condies de referncia nas
matrizes de seqenciador
SQL 9-12
Publicao 1756-RM003C-PT-P - Novembro 2000
9-2 Instrues de Seqenciador (SQI, SQO, SQL)
Entrada do Sequenciador
(SQI)
A instruo SQI detecta quando uma etapa concluda no par de
seqenciador das instrues SQO/SQI.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Array DINT tag da
matriz
matriz do seqenciador
especifica o primeiro elemento da matriz do
seqenciador
no use CONTROL.POS em subscrito
Mask SINT
INT
DINT
tag
imediato
quais bits devem ser bloqueados ou podem
passar
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Source SINT
INT
DINT
tag dados de entrada para a matriz do
seqenciador
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Control CONTROL tag estrutura de controle para a operao
geralmente usa o mesmo CONTROL das
instrues SQO e SQL
Length DINT imediato nmero de elementos na Matriz (tabela do
seqenciador) a serem comparados
Position DINT imediato posio atual na matriz
valor inicial normalmente 0
Mnemnico: Tipo de Dados: Descrio:
.ER BOOL O bit de erro energizado quando .LEN 0, .POS < 0 ou .POS > .LEN.
.LEN DINT O comprimento especifica o nmero de etapas da matriz do seqenciador.
.POS DINT A posio identifica o elemento que a instruo est comparando atualmente.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Seqenciador (SQI, SQO, SQL) 9-3
Descrio: Quando habilitada, a instruo SQI compara um elemento Source
atravs de uma Mscara com o elemento Array para verificar
a igualdade.
geralmente usa a mesma estrutura CONTROL das instrues SQO
e SQL
A instruo SQI opera na memria de dados contnua.
Insero de um valor de mscara imediato
Ao inserir uma mscara, o software de programao retorna ao
padro dos valores decimais. Caso voc queira inserir uma mscara
usando outro formato, coloque o prefixo correto antes do valor.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011
Publicao 1756-RM003C-PT-P - Novembro 2000
9-4 Instrues de Seqenciador (SQI, SQO, SQL)
Execuo do Lgica
Ladder:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira
.LEN 0
.POS < 0
ou
.POS > .LEN
no
sim
fim
bit .ER energizado
sada da condio da linha
definida como falsa
Source mascarada=
Array mascarada[.POS]
sim
bit .ER desenergizado.
no
sada da condio da linha definida
como verdadeira
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Seqenciador (SQI, SQO, SQL) 9-5
Exemplo de Lgica
Ladder:
Um 0 na mscara significa que o bit no foi comparado (identificado
por xxxx nesse exemplo).
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Quando habilitada, a instruo SQI passa o value_2 pela mscara para determinar se o
resultado igual ao elemento atual em array_dint. A comparao mascarada verdadeira,
portanto a sada da condio da linha se torna verdadeira.
Operando SQI: Valores de exemplo (DINTs exibidos em binrio):
Source xxxxxxxx xxxxxxxx xxxx0101 xxxx1010
Mask 00000000 00000000 00001111 00001111
Array xxxxxxxx xxxxxxxx xxxx0101 xxxx1010
Publicao 1756-RM003C-PT-P - Novembro 2000
9-6 Instrues de Seqenciador (SQI, SQO, SQL)
Utilizao de SQI sem SQO
Se voc usar a instruo SQI sem uma instruo SQO no par, ser
necessrio incrementar externamente a matriz do seqenciador.
A instruo SQI compara o valor de fonte.
A instruo ADD incrementa na matriz do seqenciador
A GRT determinou se h outro valor disponvel para ser verificado na matriz do seqenciador.
A instruo MOV reseta o valor da posio depois de analisar por completo a matriz do seqenciador uma vez.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Seqenciador (SQI, SQO, SQL) 9-7
Sada do Sequenciador
(SQO)
A instruo SQO define as condies de sada para a prxima etapa
de um par de seqncia de instrues SQO/SQI.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Array DINT tag da matriz matriz do seqenciador
especifica o primeiro elemento da matriz do
seqenciador
no use CONTROL.POS em subscrito
Mask SINT
INT
DINT
tag
imediato
quais bits devem ser bloqueados ou podem
passar
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination DINT tag dados de sada da matriz de seqenciador
Control CONTROL tag estrutura de controle para a operao
geralmente usa o mesmo CONTROL das
instrues SQI e SQL
Length DINT imediato nmero de elementos na Matriz (tabela do
seqenciador) a serem colocados na sada
Position DINT imediato posio atual na matriz
valor inicial normalmente 0
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit habilitado indica que a instruo SQO est habilitada.
.DN BOOL O bit executado energizado quando todos os elementos especificados foram movidos
para Destination.
.ER BOOL O bit de erro energizado quando .LEN 0, .POS < 0 ou .POS > .LEN.
.LEN DINT O comprimento especifica o nmero de etapas da matriz do seqenciador.
.POS DINT A posio identifica o elemento que o controlador est manipulando atualmente.
Publicao 1756-RM003C-PT-P - Novembro 2000
9-8 Instrues de Seqenciador (SQI, SQO, SQL)
Descrio: Quando habilitada, a instruo SQO incrementa a posio, move os
dados na posio atravs de Mask e armazena o resultado em
Destination. Se .POS > .LEN, a instruo volta para o incio da matriz
do seqenciador e continua com .POS = 1.
Geralmente usa a mesma estrutura CONTROL das instrues SQI e
SQL
A instruo SQO opera na memria de dados contnua.
Insero de um valor de mscara imediato
Ao inserir uma mscara, o software de programao retorna ao
padro dos valores decimais. Caso voc queira inserir uma mscara
usando outro formato, coloque o prefixo correto antes do valor.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011
Condio: Ao:
pr-varredura O bit .EN energizado para evitar uma carga falsa quando a varredura do programa
comear.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit .EN desenergizado.
A sada da condio da linha definida como falsa.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Seqenciador (SQI, SQO, SQL) 9-9
Condio: Ao:
entrada da condio da linha for verdadeira
.LEN 0 ou
.POS < 0
no
sim
bit .DN energizado.
.POS = .LEN
no
sim
examinar bit .EN
.EN = 0
.EN = 1
bit .EN energizado
bit .ER
desenergizado.
bit .DN energizado.
.POS .LEN
sim
no
.POS = .POS + 1
valor .POS
renova
sim
no
bit .ER energizado
fim
sada da condio da linha
definida como verdadeira
bit .DN energizado. .POS = .LEN
sim
no
Destination = (Destination AND (NOT(Mask)))
OR (Array[control.POS] AND Mask)
.POS > .LEN
no
sim
.POS = 1
ir para
erro
erro
Publicao 1756-RM003C-PT-P - Novembro 2000
9-10 Instrues de Seqenciador (SQI, SQO, SQL)
Exemplo de Lgica
Ladder:
Um 0 na mscara significa que o bit no foi comparado (designado
por xxxx nesse exemplo).
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Quando habilitada, a instruo SQO incrementa a posio, passa os dados naquela posio
em array_dint atravs da mscara e armazena o resultado emvalue_1.
Operando SQO: Valores de exemplo (uso de INTs exibidos em binrio):
Array xxxxxxxx xxxxxxxx xxxx0101 xxxx1010
Mask 00000000 00000000 00001111 00001111
Destination xxxxxxxx xxxxxxxx xxxx0101 xxxx1010
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Seqenciador (SQI, SQO, SQL) 9-11
Utilizao de SQI com SQO
Se uma instruo SQI for colocada em par com a instruo SQO,
certifique-se de que as duas instrues usam os mesmos valores em
Control, Length e Position.
Reset da posio de SQO
Cada vez que o controlador passa do modo Program para Run, a
instruo SQO zera (inicializa) o valor .POS. Para resetar .POS para o
valor de reinicializao (.POS = 0), use uma instruo RES para zerar o
valor da posio. Esse exemplo usa o status do bit da primeira
varredura para zerar o valor .POS.
Publicao 1756-RM003C-PT-P - Novembro 2000
9-12 Instrues de Seqenciador (SQI, SQO, SQL)
Carga do Sequenciador
(SQL)
A instruo SQL carrega as condies de referncia em uma matriz do
seqenciador.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Array DINT tag da matriz matriz do seqenciador
especifica o primeiro elemento da matriz do
seqenciador
no use CONTROL.POS em subscrito
Source SINT
INT
DINT
tag
imediato
dados de entrada a serem carregados na
matriz do seqenciador
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Control CONTROL tag estrutura de controle para a operao
geralmente usa o mesmo CONTROL das
instrues SQO e SQI
Length DINT imediato nmero de elementos na Matriz (tabela do
sequenciador) a serem carregados
Position DINT imediato posio atual na matriz
valor inicial normalmente 0
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit habilitado indica que a instruo SQL est habilitada.
.DN BOOL O bit executado energizado quando todos os elementos especificados foram carregados
em Array.
.ER BOOL O bit de erro energizado quando .LEN 0, .POS < 0 ou .POS > .LEN.
.LEN DINT O comprimento especifica o nmero de etapas da matriz do seqenciador.
.POS DINT A posio identifica o elemento que o controlador est manipulando atualmente.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Seqenciador (SQI, SQO, SQL) 9-13
Descrio: Quando habilitada, a instruo SQL incrementa para a prxima
posio na matriz do seqenciador e carrega o valor Source
naquela posio. Se o bit .DN estiver energizado ou se .POS .LEN, a
instruo configura .POS=1.
Geralmente usa a mesma estrutura CONTROL das instrues SQO e
SQI
A instruo SQL opera na memria de dados contnua.
Flags de Status Aritmtico: no afetados
Condies de Falha:
Execuo de Lgica
Ladder:
Uma falha grave ocorrer se: Tipo de falha: Cdigo de
falha:
Length > tamanho de Array 4 20
Condio: Ao:
pr-varredura O bit .EN energizado para evitar uma carga falsa quando a varredura do programa
comear.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit .EN desenergizado.
A sada da condio da linha definida como falsa.
Publicao 1756-RM003C-PT-P - Novembro 2000
9-14 Instrues de Seqenciador (SQI, SQO, SQL)
Condio: Ao:
entrada da condio da linha for verdadeira
.LEN 0 ou
.POS < 0
no
sim
bit .DN energizado.
.POS = .LEN
no
sim
examinar bit .EN
.EN = 0
.EN = 1
bit .EN energizado
bit .ER
desenergizado.
bit .DN energizado.
.POS .LEN
sim
no
.POS = .POS + 1
valor .POS
renova
sim
no
bit .ER energizado
fim
sada da condio da linha
definida como verdadeira
bit .DN energizado. .POS = .LEN
sim
no
.POS > .LEN
no
sim
.POS = 1
ir para
erro
erro
.LEN >
tamanho da
matriz
sim
no
Array[control.POS] = Source
falha grave
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Seqenciador (SQI, SQO, SQL) 9-15
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
antes da carga depois da carga
array_dint[0] 00000 00000
11111 11111
22222 22222
33333 control_1.pos = 5 33333
44444 value_3 = 55555 44444
array_dint[5] 00000 55555
00000 00000 control_1.pos = 6
00000 00000
00000 00000
00000 00000
Quando habilitada, a instruo SQL carrega value_3 na prxima posio na matriz do sequenciador, que array_dint[5] nesse
exemplo.
Publicao 1756-RM003C-PT-P - Novembro 2000
9-16 Instrues de Seqenciador (SQI, SQO, SQL)
Notas:
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 10
Instrues de Controle de Programa
(JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Introduo
Use as instrues de controle de programa para alterar o fluxo da
lgica.
Se voc quiser: Use esta instruo: Consulte
pgina:
Saltar uma seo da lgica que nem sempre
precisa ser executada.
JMP
LBL
10-2
Saltar para uma rotina separada, passar
dados para a rotina, executar a rotina e
retornar os resultados.
JSR
SBR
RET
10-4
Marcar um fim temporrio que interrompa a
execuo da rotina.
TND 10-11
Desabilitar todas as linhas em uma seo
de lgica.
MCR 10-13
Desabilitar as tarefas do usurio. UID 10-15
Habilitar as tarefas do usurio. UIE 10-11
Desabilitar uma linha. AFI 10-17
Inserir um placeholder na lgica. NOP 10-18
Publicao 1756-RM003C-PT-P - Novembro 2000
10-2 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Salto para Label (JMP)
Label (LBL)
As instrues JMP e LBL ignoram as partes da lgica de diagrama
ladder.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estas instrues no esto disponveis no bloco de funo.
Descrio: Quando habilitada, a instruo JMP ignora a instruo LBL citada e o
controlador continua a executar a partir desse ponto. Quando
desabilitada, a instruo JMP no afeta a execuo do diagrama
ladder.
A instruo JMP pode mover a execuo do diagrama ladder para
frente e para trs. O salto para frente para um label economiza tempo
de varredura do programa, pois omite um segmento de lgica at que
o mesmo seja necessrio. O salto para trs permite que o controlador
repita a lgica.
Recomenda-se no realizar muitos saltos para trs. O temporizador de
watchdog pode entrar em perodo de espera porque o controlador nunca
alcana o fim da lgica que, por usa vez, coloca o controlador em falha.
A instruo LBL est no alvo da instruo JMP que tem o mesmo
nome de label. Certifique-se de que a instruo LBL a primeira
instruo na linha.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Instruo JMP
Label name; nome do
label;
insere o nome para a instruo LBL
associada
Instruo LBL
Label name; nome do
label;
a execuo salta para a instruo LBL
quando o nome do label citado
ATENO
!
No se realiza varredura na lgica com salto.
Coloque uma lgica crtica fora da zona de salto.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-3
Um nome de label deve ser nico dentro de uma rotina. O nome pode:
ser composto por at 40 caracteres
conter letras, nmeros e sublinhados (_)
Flags de Status Aritmtico: no afetados
Condies de Falha:
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Estas instrues no esto disponveis no bloco de funo.
Uma falha grave ocorrer se: Tipo de falha: Cdigo de
falha:
label no existe 4 42
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A sada da condio da linha est definida como verdadeira.
A execuo salta para a linha que contm a instruo LBL com o nome de
label referenciado.
Quando a instruo JMP est habilitada, a execuo salta linhas sucessivas da lgica at
alcanar a linha que contm a instruo LBL com label_20.
[outras linhas de cdigo]
Publicao 1756-RM003C-PT-P - Novembro 2000
10-4 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Salto para Sub-rotina (JSR)
Sub-rotina (SBR)
Retorno (RET)
A instruo JSR salta para uma rotina separada. A instruo SBR passa
dados para e executa uma rotina. A instruo RET devolve
os resultados.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estas instrues no esto disponveis no bloco de funo.
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Instruo JSR
Routine name ROUTINE nome rotina a ser executada
Input par SINT
INT
DINT
REAL
estrutura
imediato
tag
tag da matriz
parmetros (0-n) a serem passados
para rotina
Return par SINT
INT
DINT
REAL
estrutura
tag
tag da matriz
parmetros (0-n) a serem recebidos
da rotina
Instruo SBR
Input par SINT
INT
DINT
REAL
estrutura
tag
tag da matriz
parmetros (0-n) recebidos de JSR
Instruo RET
Return par SINT
INT
DINT
REAL
estrutura
imediato
tag
tag da matriz
parmetros (0-n) a serem retornados
para JSR
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-5
Descrio: Quando a entrada da condio da linha for verdadeira, a instruo JSR
inicia a execuo da rotina especfica, a qual referida como uma
sub-rotina:
A sub-rotina executada uma vez.
Depois da sub-rotina executada, a execuo da lgica retorna
para a instruo que segue a instruo JSR.
Quando a entrada da condio da linha para a instruo JSR for falsa:
A sub-rotina no executada.
As sadas na sub-rotina permanecem em seus ltimos estados.
No h restries, a no ser a memria do controlador, em relao s
rotinas encadeadas que possam existir ou ao nmero de parmetros
passados ou retornados.
Para programar um salto para a sub-rotina, siga estas orientaes:
1. No ponto na lgica onde a sub-rotina for executada, insira a
instruo JSR.
2. Voc quer copiar o(s) valor(es) para um tag diferente na
sub-rotina?
15294
rotina principal
nvel 1
sub-rotina action_1
nvel 3
sub-rotina action_3
nvel 2
sub-rotina action_2
JSR JSR
JSR
SBR SBR SBR
RET RET RET
action_1
action_2 action_3
Se: Ento:
sim A. Na instruo JSR, operando Input par, digite o tag que contm
o(s) valor (es) a serem copiados.
B. Para cada entrada, repita a Etapa A.
no Omita os parmetros de entrada
Publicao 1756-RM003C-PT-P - Novembro 2000
10-6 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
3. Quando a sub-rotina completa sua execuo, voc quer copiar
o(s) valor (es) para um tag na rotina que contm a instruo JSR?
4. Na instruo JSR, voc especificou um operando Input par?
5. Na instruo JSR, voc especificou um operando Return par?
Se: Ento:
sim A. Na instruo JSR, operando Return par, digite o tag que recebe
o(s) valor (es).
B. Para cada valor de retorno, repita a Etapa A.
no Omita os parmetros de entrada
Se: Ento:
sim A. Como a primeira instruo na sub-rotina, digite uma instruo
SBR.
B. No operando Input par da instruo SBR, digite o tag que
recebe o(s) valor (es) da instruo JSR.
C. Para cada operando Input par na instruo JSR, repita a
Etapa B.
no V para a Etapa 5.
ATENO
!
Para cada operando Input par em uma
instruo SBR, use o mesmo tipo de dados
(incluir qualquer dimenso de matriz) como
um operando Input par correspondente na
instruo JSR. O uso de tipos de dados
diferentes pode produzir resultados
inesperados.
Se: Ento:
sim A. No fim da sub-rotina, adicione uma linha e digite uma instruo
RET.
B. No operando Return par da instruo RET, digite o tag que
fornece o(s) valor (es) para a instruo JSR.
C. Para cada parmetro de retorno na instruo JSR, repita a
Etapa B.
no V para a Etapa 6.
ATENO
!
Para cada operando Return par em uma
instruo RET, use o mesmo tipo de dados
(incluir qualquer dimenso de matriz) como o
operando Return par correspondente na
instruo JSR. O uso de tipos de dados
diferentes pode produzir resultados
inesperados.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-7
6. H condies quando voc quer sair da sub-rotina antes do
final?
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha:
Execuo de Lgica
Ladder:
Se: Ento:
sim A. No local da sub-rotina onde voc quer sair, digite uma linha.
B. Digite as condies para sair do local da sub-rotina.
C. Digite uma instruo RET.
D. Digite parmetros de retorno, se necessrio. Consulte as
etapas4. e5.
no Omita esta etapa.
Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:
a instruo JSR tem menos parmetros
de entrada do que a instruo SBR
4 31
a instruo JSR salta para a rotina de
falha
4 ou fornecido pelo
usurio
0 ou fornecido pelo
usurio
a instruo RET tem menos parmetros
de retorno do que a instruo JSR
4 31
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
O controlador executa todas as sub-rotinas independente da condio da linha,. Para
assegurar-se de que todas as linhas da sub-rotina passem por pr- varredura, o
controlador ignora as instrues RET (ou seja, as instrues RET no saem da
sub-rotina).
Verso 6.x e anterior, parmetros de entrada e retorno so passados.
Verso 7.x e posterior, parmetros de entrada e retorno no so passados.
Caso haja chamadas recorrentes para a mesma sub-rotina, realiza-se uma pr-varredura
na sub-rotina somente na primeira vez. Caso haja vrias chamadas (no recorrentes)
para a mesma sub-rotina, realiza-se uma pr-varredura na sub-rotina todas as vezes.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
Publicao 1756-RM003C-PT-P - Novembro 2000
10-8 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Condio: Ao:
parmetros de
entrada
sim
no
JSR copia os parmetros de entrada para as
variveis SBR apropriadas
entrada da condio da linha for verdadeira
fim
a execuo da lgica comea na
rotina identificada por JSR
fim da sub-rotina
sim
no
sada da condio da linha
definida como falsa
continua a executar a rotina
parmetros de
retorno
sim
no
RET copia os parmetros de
retorno para as variveis JSR
apropriadas
sada da condio da linha definida como
verdadeira
a execuo da lgica retorna para JSR
Instruo RET
sim
no
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-9
Exemplo de Lgica
Ladder:
Quando habilitada, a instruo JSR passa value_1 e value_2 para routine_1.
[outras linhas de cdigo]
A instruo SBR recebe value_1 e value_2 da instruo JSR e copia esses
valores em value_a e value_b, respectivamente. A execuo da lgica continua
nessa rotina.
Quando habilitada, a instruo RET envia float_a para a instruo JSR. A
instruo JSR recebe float_a e copia o valor em float_value_1. A execuo da
lgica continua na prxima instruo aps a instruo JSR.
exemplo 1
Publicao 1756-RM003C-PT-P - Novembro 2000
10-10 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Execuo do Bloco de
Funo:
Estas instrues no esto disponveis no bloco de funo.
exemplo 2
Rotina Principal
Quando abc estiver energizado a sub-rotina_1 executa, calcula o nmero de cookies, e coloca um valor em cookies_1.
Soma o valor em cookies_1 a cookies_2e armazena o resultado em total_cookies.
Sub-routine_1
Quando def estiver energizado, a instruo RET retornavalue_1para o parmetro JSRcookies_1e uma varredura no realizada no restante da
sub-rotina.
Quandodefestiver desenergizado (linha anterior) eghiestiver energizado, a instruo RET retorna value_2 para o parmetro cookies_1 de JSR e
uma varredura no realizada no restante da sub-rotina.
Quando defe ghiestiverem desenergizados (linhas anteriores) a instruo RET retorna value_3para o parmetro cookies_1 de JSR.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-11
Fim Temporrio (TND)
A instruo TND atua como um limite.
Operandos de Lgica
Ladder:
nenhuma
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando habilitada, a instruo TND permite que o controlador
execute a lgica somente at essa instruo.
Quando habilitada, a instruo TND atua como o final da rotina.
Quando o controlador realiza uma varredura em uma instruo TND,
o controlador se movimenta para o final da rotina atual. Se a instruo
TND estiver em uma sub-rotina, o controle retorna para a rotina
chamada. Se a instruo TND estiver em uma rotina principal, o
controle retorna para o prximo programa dentro da tarefa atual.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Linguagens Disponveis:
Lgica Ladder
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A sada da condio da linha est definida como verdadeira.
A rotina atual termina.
Publicao 1756-RM003C-PT-P - Novembro 2000
10-12 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Exemplo de Lgica
Ladder:
possvel usar a instruo TND na depurao ou localizao de falhas
para executar a lgica at um determinado ponto. Progressivamente,
mova a instruo TND atravs da lgica medida que se realiza a
depurao em cada seo nova.
Execuo de Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Quando a instruo TND estiver habilitada, o controlador interrompe a varredura da rotina atual.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-13
Rearme do Controle Mestre
(MCR)
A instruo MCR, usada em pares, cria uma zona de programa que
pode desabilitar todas as linhas dentro das instrues MCR.
Operandos de Lgica
Ladder:
nenhuma
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando a zona MCR estiver habilitada, realiza-se uma varredura nas
linhas da zona MCR para verificar as condies normais de verdadeiro
e falso. Quando desabilitada, o controlador ainda realiza varredura
nas linhas que esto dentro de uma zona MCR, mas o tempo de
varredura reduzido porque as sadas no retentivas na zona esto
desabilitadas. A entrada da condio da linha falsa para todas as
instrues que esto dentro da zona MCR desabilitada.
Ao programar uma zona MCR, observe o seguinte:
Voc deve finalizar a zona com uma instruo MCR incondicional.
Voc no pode encadear zonas MCR entre si.
No realize um salto em uma zona MCR. Se a zona for falsa, o salto
na zona ativa a zona desde o ponto do salto at o fim da mesma.
Se uma zona MCR continuar at o fim da rotina, no
necessrio programar uma instruo MCR at o final da zona.
A instruo MCR no substitui a instalao de um rel de controle
mestre com capacidade para permitir uma parada de emergncia.
Voc dever, ainda, instalar um rel de controle mestre para fornecer
um desligamento de emergncia da alimentao de E/S .
Linguagens Disponveis:
Lgica Ladder
ATENO
!
No sobreponha ou monte em cadeia as zonas MCR.
Cada zona MCR deve ser separada e completa. Se
houver sobreposio ou encadeamento, uma operao
imprevisvel de mquina pode ocorrer com possveis
danos ao equipamento ou ferimentos pessoais.
Coloque operaes crticas fora da zona MCR. Se
voc iniciar instrues como, por exemplo,
temporizadores em uma zona MCR, a execuo da
instruo pra quando a zona desabilitada e o
tempo for removido.
Publicao 1756-RM003C-PT-P - Novembro 2000
10-14 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Exemplo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
Realiza-se varredura nas instrues da zona, mas a entrada da condio da linha e as
sadas no retentivas na zona so desabilitadas.
entrada da condio da linha for verdadeira A sada da condio da linha est definida como verdadeira.
As instrues na zona so varridas normalmente.
Quando a primeira instruo MCR estiver habilitada (input_1, input_2 e input_3 esto energizados), o controlador executa as linhas na
zona MCR (entre as duas instrues MCR) e energiza ou desenergiza as sadas, dependendo das condies de sada.
Quando a primeira instruo MCR estiver desabilitada (input_1, input_2 e input_3 no esto todos energizados), o controlador executa as linhas na
zona MCR (entre as duas instrues MCR) e a entrada da condio da linha se torna falsa para todas as linhas na zona MCR, independente das
condies de entrada.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-15
Desabilitao da
Interrupo pelo Usurio
(UID)
Habilitao da Interrupo
pelo Usurio
(UIE)
A instruo UID e a instruo UIE trabalham juntas para evitar que um
nmero pequeno de linhas crticas sejam interrompidas por outras
tarefas.
Operandos de Lgica
Ladder:
nenhuma
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando a entrada da condio de linha for verdadeira, a:
instruo UID previne que tarefas com prioridade mais alta
interrompam a tarefa atual mas no desabilita a execuo de
uma rotina de falha ou a Rotina de Falha do Controlador.
instruo UIE habilita outras tarefas a interromperem a tarefa
atual.
Para evitar que uma srie de linhas sejam interrompidas:
1. Limite o nmero de linhas que voc no quer que sejam
interrompidas no menor nmero possvel. A desabilitao de
interrupes por um longo perodo de tempo pode produzir
perda de comunicao.
2. Acima da primeira linha que voc no quer interromper, insira
uma linha e uma instruo UID.
3. Depois da ltima linha da srie que voc no quer interromper,
insira uma linha e uma instruo UIE.
4. Se preciso, voc pode encadear pares das instrues UID/UIE.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Linguagens Disponveis:
Lgica Ladder
Publicao 1756-RM003C-PT-P - Novembro 2000
10-16 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira Interrupo por tarefas de prioridade mais elevada habilitada.
A sada da condio da linha est definida como verdadeira.
UID
error_bit
EN
DN
ER
File Search/Compare
Control error_check
Length 10
Position 8
Mode ALL
Expression error_code=error_list[error_check.POS]
FSC
error_check.FD
alarm
UIE
Quando um erro ocorre (error_bit est energizado), a instruo FSC verifica o cdigo do
erro em relao a uma lista de erros crticos. Se a instruo FSC encontra um erro que
seja crtico (error_check.FD is on), um alarme acionado. As instrues UID e UIE evitam
que outras tarefas interrompam a verificao e o acionamento de alarmes.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-17
Instruo Sempre Falsa
(AFI)
A instruo AFI configura a sua sada da condio da linha como falsa.
Operandos de Lgica
Ladder:
nenhuma
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: A instruo AFI configura a sua sada da condio da linha como falsa.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Use a instruo AFI para desabilitar temporariamente uma linha,
enquanto estiver depurando um programa.
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A sada da condio da linha definida como falsa.
Quando habilitada, AFI desabilita todas as instrues nessa linha.
Publicao 1756-RM003C-PT-P - Novembro 2000
10-18 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Sem Operao (NOP)
Ainstruo NOP funciona como um placeholder
Operandos de Lgica
Ladder:
nenhuma
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: possvel colocar a instruo NOP em qualquer ponto de uma linha.
Quando habilitada, a instruo NOP no realiza nenhuma operao.
Quando desabilitada, a instruo NOP no realiza nenhuma operao.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Essa instruo til para localizar ramificaes incondicionais quando
se coloca a instruo NOP na ramificao.
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A sada da condio da linha est definida como verdadeira.
A instruo NOP realiza bypass na instruo XIC para habilitar a sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-19
Notas:
Publicao 1756-RM003C-PT-P - Novembro 2000
10-20 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 11
Instrues For/Break
(FOR, BRK, RET)
Introduo
Use a instruo FOR para chamar repetidamente uma sub-rotina. Use
a instruo BRK para interromper a execuo de uma sub-rotina.
Se voc quiser: Use esta instruo: Consulte
pgina:
Executar repetidamente a rotina. FOR 11-2
Terminar a execuo repetida de uma rotina. BRK 11-5
Retornar para a instruo FOR. RET 11-6
Publicao 1756-RM003C-PT-P - Novembro 2000
11-2 Instrues For/Break (FOR, BRK, RET)
For (FOR)
A instruo FOR executa repetidamente uma sub-rotina.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando habilitada, a instruo FOR executa repetidamente Routine
at que o valor Index exceda o valor Terminal. Essa instruo no
passa parmetros para a rotina.
Cada vez que a instruo FOR executa a rotina, a mesma adiciona o
tamanho Step a Index.
Tome cuidado para no realizar uma malha vrias vezes em uma
nica varredura. Um nmero excessivo de repeties pode fazer com
que o temporizador do watchdog do controlador expire e cause uma
falha grave.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Routine
name
ROUTINE nome da
rotina
rotina a ser executada
Index DINT tag conta quantas vezes a rotina foi executada
Initial value SINT
INT
DINT
imediato
tag
valor onde se inicia o ndice
Terminal
value
SINT
INT
DINT
imediato
tag
valor onde parar a execuo da rotina
Step size SINT
INT
DINT
imediato
tag
quantidade a ser acrescentada ao ndice
cada vez que a instruo FOR executar a
rotina
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues For/Break (FOR, BRK, RET) 11-3
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
O controlador executa a sub-rotina uma vez.
Caso haja instrues FOR recorrentes na mesma sub-rotina, uma pr-varredura
realizada somente na primeira vez na sub-rotina. Caso haja vrias instrues FOR (no
recorrentes) na mesma sub-rotina, realiza-se uma pr-varredura na sub-rotina todas as
vezes.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
index valor terminal
no
sim
executar rotina
index =(index + step_size)
entrada da condio da linha for verdadeira
fim
index = initial_value
sada da condio da linha definida
como verdadeira
tamanho step < 0
no
sim
index valor terminal
no
sim
ir para o
fim
fim
ir para
o fim
Publicao 1756-RM003C-PT-P - Novembro 2000
11-4 Instrues For/Break (FOR, BRK, RET)
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Quando habilitada, a instruo FOR executa repetidamente routine_2 e incrementa value_2em 1 todas as vezes.
Quando value_2 > 10 ou uma instruo BRK estiver habilitada, a instruo FOR no mais executa routine_2.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues For/Break (FOR, BRK, RET) 11-5
Break (BRK)
A instruo BRK interrompe a execuo de uma rotina que foi
chamada por uma instruo FOR.
Operandos de Lgica
Ladder:
nenhuma
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando habilitada, a instruo BRK sai da rotina e retorna o
controlador instruo aps FOR.
Se houver instrues FOR encadeadas, uma instruo BRK retornar o
controle para a instruo FOR mais profunda.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A sada da condio da linha est definida como verdadeira.
A execuo retorna para a instruo que segue a instruo FOR que est chamando.
Quando habilitada, a instruo BRK pra de executar a rotina atual e
retorna para a instruo que segue a instruo FOR que est chamando.
Publicao 1756-RM003C-PT-P - Novembro 2000
11-6 Instrues For/Break (FOR, BRK, RET)
Retorno (RET)
A instruo RET retorna para a instruo FOR que est chamando.
Operandos de Lgica
Ladder:
nenhuma
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando habilitada, a instruo RTE retorna para a instruo FOR. A
instruo FOR incrementa o valor Index pelo tamanho de Step e
executa a sub-rotina novamente. Se o valor Index exceder o valor
Terminal, a instruo FOR ser concluda e a execuo se
movimentar para a instruo que segue a instruo FOR.
A instruo FOR no usa parmetros. A instruo FOR ignora os
parmetros inseridos em uma instruo RET.
possvel usar tambm uma instruo TND para finalizar a execuo
de uma sub-rotina.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Linguagens Disponveis:
Lgica Ladder
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A sada da condio da linha est definida como verdadeira.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues For/Break (FOR, BRK, RET) 11-7
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Quando habilitada, a instruo RTE retorna para a instruo FOR que est
chamando. A instruo FOR executa a sub-rotina novamente e
incrementa o valor Index pelo tamanho Step ou se o valor Index exceder o
valor Terminal, a instruo FOR concluda e a execuo se movimenta
para a instruo que segue a instruo FOR.
Quando habilitada, a instruo FOR executa repetidamente
routine_2 e incrementa value_2em 1 todas as vezes.
Quando value_2 > 10 ou uma instruo BRK estiver
habilitada, a instruo FOR no mais executa routine_2.
rotina que est chamando sub-rotina
Publicao 1756-RM003C-PT-P - Novembro 2000
11-8 Instrues For/Break (FOR, BRK, RET)
Notas:
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 12
Instrues Especiais
(FBC, DDT, DTR, PID)
Introduo
As instrues especiais realizam operaes especficas aplicao.
Se voc quiser: Use esta instruo: Consulte
pgina:
Comparar os dados com uma boa referncia
j conhecida e registrar quaisquer
diferenas.
FBC 12-2
Comparar os dados com uma boa referncia
j conhecida, registrar quaisquer diferenas
e atualizar a referncia para combinar com a
fonte.
DDT 12-10
Passar os dados da fonte pela mscara e
comparar o resultado com os dados de
referncia. Em seguida, escrever a fonte na
referncia para a prxima comparao.
DTR 12-18
Controlar uma malha de PID. PID 12-21
Publicao 1756-RM003C-PT-P - Novembro 2000
12-2 Instrues Especiais (FBC, DDT, DTR, PID)
Comparao de Bit de
Arquivo (FBC)
A instruo FBC compara os bits em uma matriz Source com os bits
em uma matriz Reference.
Operandos de Lgica
Ladder:
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Source DINT tag da matriz matriz a ser comparada com a referncia
no use CONTROL.POS em subscrito
Reference DINT tag da matriz matriz a ser comparada com a fonte
no use CONTROL.POS em subscrito
Result: DINT tag da matriz matriz para armazenar o resultado
no use CONTROL.POS em subscripts
Cmp control CONTROL estrutura estrutura de controle para a comparao
Length DINT imediato nmero de bits a ser comparado
Position DINT imediato posio atual na fonte
valor inicial normalmente 0
Result
control
CONTROL estrutura estrutura de controle para os resultados
Length DINT imediato nmero de locais de armazenamento
no resultado
Position DINT imediato posio atual no resultado
valor inicial normalmente 0
ATENO
!
Use tags diferentes para comparar a estrutura de
controle e a estrutura de controle do resultado. O
uso do mesmo tag para ambas as estruturas pode
resultar em operao no previsvel, com
possibilidade de causar danos ao equipamento e/ou
ferimentos pessoais.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-3
Estrutura de Comparao:
Estrutura de Resultado:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando habilitada, a instruo FBC compara os bits na matriz Source
com os bits na matriz Reference e registra o nmero do bit de cada
diferena na matriz Result.
A instruo FBC opera na memria de dados contnua.
A diferena entre as instrues DDT e FBC que cada vez que a
instruo DDT encontra uma diferena, a instruo altera o bit de
referncia para estabelecer correspondncia com o bit da fonte. A
instruo FBC no altera o bit de referncia.
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit habilitado indica que a instruo FBC est habilitada.
.DN BOOL O bit executado energizado quando a instruo FBC compara o ltimo bit nas matrizes
Source e Reference.
.FD BOOL O bit encontrado energizado cada vez que a instruo FBC registra uma diferena (operao
uma de cada vez) ou depois de registrar todas as diferenas (operao todas por varredura).
.IN BOOL O bit inibido indica o modo de busca de FBC.
0 = todos os modos
1 = uma diferena em um modo de tempo
.ER BOOL O bit de erro energizado se a comparao for .POS < 0, .LEN < 0, o resultado .POS < 0 ou o
resultado .LEN < 0. A instruo pra a execuo at que o programa desenergize o bit .ER.
.LEN DINT O valor do comprimento identifica o nmero de bits a ser comparado.
.POS DINT O valor da posio identifica o bit atual.
Mnemnico: Tipo de Dados: Descrio:
.DN BOOL O bit executado energizado quando a matriz Result est cheia.
.LEN DINT O valor do comprimento identifica o nmero de locais de armazenamento na matriz Result.
.POS DINT O valor da posio identifica a posio atual na matriz Result.
Publicao 1756-RM003C-PT-P - Novembro 2000
12-4 Instrues Especiais (FBC, DDT, DTR, PID)
Seleo do modo de busca
Flags de Status Aritmtico: no afetados
Condies de Falha:
Se voc quiser detectar: Selecione este modo:
Uma diferena de vez em
quando
Energizar o bit .IN na estrutura CONTROL de comparao.
Cada vez que a entrada da condio da linha passar de falsa para verdadeira, a
instruo FBC busca a prxima diferena entre as matrizes Source e Reference. Ao
encontrar uma diferena, a instruo energiza o bit .FD, registra a posio da diferena
e interrompe a execuo.
Todas as diferenas Zerar o bit .IN na estrutura CONTROL de comparao.
Cada vez que a entrada da condio da linha passar de falsa para verdadeira, a
instruo FSC busca todas as diferenas entre as matrizes Source e Reference.
Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:
Result.POS > tamanho da matriz de resultado 4 20
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-5
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura
fim
o bit compare.EN
desenergizado.
o bit compare.FD desenergizado.
sada da condio da linha
definida como falsa
examinar bit
compare.DN
compare .DN = 0
compare .DN = 1
o bit compare.DN desenergizado.
o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
12-6 Instrues Especiais (FBC, DDT, DTR, PID)
Condio: Ao:
entrada da condio da linha for falsa
fim
o bit compare .EN desenergizado.
o bit compare.FD desenergizado.
sada da condio da linha
definida como falsa
examinar bit
compare.DN
compare.DN = 0
compare.DN = 1
o bit compare.DN desenergizado.
o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-7
Condio: Ao:
examinar bit
compare.EN
compare.EN = 1
compare.EN = 0
entrada da condio da linha for verdadeira
examinar bit
compare.DN
compare.DN = 1
compare.DN = 0
o bit compare .EN
energizado.
o bit compare.ER
desenergizado.
o bit compare.FD
desenergizado.
compare.LEN 0
sim
no
compare.POS < 0
sim
no
o bit compare.ER energizado.
comparar
pgina 12-8
fim
sada da condio da linha
definida como verdadeira
ir para a
sada
sair
ir para a
sada
ir para
a sada
Publicao 1756-RM003C-PT-P - Novembro 2000
12-8 Instrues Especiais (FBC, DDT, DTR, PID)
Condio: Ao:
compare.POS
compare.LEN
sim
no
compare.POS = compare.LEN
o bit compare.DN energizado.
compara
ir para a
sada
source[compare.POS] =
reference[compare.POS]
no
sim
examinar o bit
result.DN
result.DN = 1
result.DN = 0
compare.POS =
compare.POS + 1
o bit compare.FD
energizado.
o bit result.DN
desenergizado.
o valor result.POS
desenergizado.
result.POS < 0
sim
no
result.LEN 0
sim
no
o bit compare.ER energizado.
ir para a
sada
sim
no
falha grave
result[result.POS] = compare.POS
result.POS = result.POS + 1
result.POS >
result.LEN
no
sim
o bit result.DN energizado.
pgina 12-7
pgina12-7
result.POS >
tamanho da matriz de
resultado
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-9
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
fonte
array_dint1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
referncia
array_dint2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
resultado
array_dint3
5 3
Quando habilitada, a instruo FBC compara a fonte array_dint1 com a referncia array_dint2 e armazena os
locais das diferenas no resultado array_dint3.
Publicao 1756-RM003C-PT-P - Novembro 2000
12-10 Instrues Especiais (FBC, DDT, DTR, PID)
Deteco de Diagnstico
(DDT)
A instruo DDT compara bits em uma matriz Source com os bits em
uma matriz Reference para determinar as alteraes de estado.
Operandos de Lgica
Ladder:
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Source DINT tag da
matriz
matriz a ser comparada com a referncia
no use CONTROL.POS em subscrito
Reference DINT tag da
matriz
matriz a ser comparada com a fonte
no use CONTROL.POS em subscrito
Result: DINT tag da
matriz
matriz para armazenar os resultados
no use CONTROL.POS em subscrito
Cmp control CONTROL estrutura estrutura de controle para a comparao
Length DINT imediato nmero de bits a ser comparado
Position DINT imediato posio atual na fonte
valor inicial normalmente 0
Result
control
CONTROL estrutura estrutura de controle para os resultados
Length DINT imediato nmero de locais de armazenamento
no resultado
Position DINT imediato posio atual no resultado
valor inicial normalmente 0
ATENO
!
Use tags diferentes para comparar a estrutura de
controle e a estrutura de controle do resultado. O
uso do mesmo tag para ambas as estruturas pode
resultar em operao no previsvel, com
possibilidade de causar danos ao equipamento e/ou
ferimentos pessoais.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-11
Estrutura de Comparao:
Estrutura de Resultado:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando habilitada, a instruo DDT compara os bits na matriz Source
com os bits na matriz Reference, registra o nmero de bit de cada
diferena na matriz Result e altera o valor do bit Reference para
corresponder ao valor do bit Source correspondente.
A instruo DDT opera na memria de dados contnua.
A diferena entre as instrues DDT e FBC que cada vez que a
instruo DDT encontra uma diferena, a instruo DDT altera o bit
de referncia para estabelecer correspondncia com o bit da fonte. A
instruo FBC no altera o bit de referncia.
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit habilitado indica que a instruo DDT est habilitada.
.DN BOOL O bit executado energizado quando a instruo DDT compara o ltimo bit nas matrizes
Source e Reference.
.FD BOOL O bit encontrado energizado cada vez que a instruo DDT registra uma diferena
(operao uma de cada vez) ou depois de registrar todas as diferenas (operao todas por
varredura).
.IN BOOL O bit inibido indica o modo de busca de DDT.
0 = todos os modos
1 = uma diferena em um modo de tempo
.ER BOOL O bit de erro energizado se a comparao for .POS < 0, .LEN < 0, o resultado .POS < 0 ou o
resultado .LEN < 0. A instruo pra a execuo at que o programa desenergize o bit .ER.
.LEN DINT O valor do comprimento identifica o nmero de bits a ser comparado.
.POS DINT O valor da posio identifica o bit atual.
Mnemnico: Tipo de Dados: Descrio:
.DN BOOL O bit executado energizado quando a matriz Result est cheia.
.LEN DINT O valor do comprimento identifica o nmero de locais de armazenamento na matriz Result.
.POS DINT O valor da posio identifica a posio atual na matriz Result.
Publicao 1756-RM003C-PT-P - Novembro 2000
12-12 Instrues Especiais (FBC, DDT, DTR, PID)
Seleo do modo de busca
Flags de Status Aritmtico: no afetados
Condies de Falha:
Se voc quiser detectar: Selecione este modo:
Uma diferena de vez em
quando
Energizar o bit .IN na estrutura CONTROL de comparao.
Cada vez que a entrada da condio da linha passar de falsa para verdadeira, a
instruo DDT busca a prxima diferena entre as matrizes Source e Reference. Ao
encontrar uma diferena, a instruo energiza o bit .FD, registra a posio da diferena
e interrompe a execuo.
Todas as diferenas Zerar o bit .IN na estrutura CONTROL de comparao.
Cada vez que a entrada da condio da linha passar de falsa para verdadeira, a
instruo DDT busca todas as diferenas entre as matrizes Source e Reference.
Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:
Result.POS > tamanho da matriz de
resultado
4 20
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-13
Execuo de Lgica
Ladder:
Condio: Ao:
pr-varredura
fim
o bit compare .EN desenergizado.
o bit compare.FD desenergizado.
sada da condio da linha
definida como falsa
examinar bit
compare.DN
compare.DN = 0
compare.DN = 1
o bit compare.DN desenergizado.
o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
12-14 Instrues Especiais (FBC, DDT, DTR, PID)
Condio: Ao:
entrada da condio da linha for falsa
fim
o bit compare .EN desenergizado.
o bit compare.FD desenergizado.
sada da condio da linha
definida como falsa
examinar bit
compare.DN
compare.DN = 0
compare.DN = 1
o bit compare.DN desenergizado.
o valor compare.POS
desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-15
Condio: Ao:
examinar o bit
compare.EN
compare.EN = 1
compare.EN = 0
entrada da condio da linha for verdadeira
examinar bit
compare.DN
compare.DN bit = 1
compare.DN bit = 0
o bit compare .EN
energizado.
o bit compare.ER
desenergizado.
o bit compare.FD
desenergizado.
compare.LEN 0
sim
no
compare.POS < 0
sim
no
o bit compare.ER energizado.
Comparar
pgina 12-16
fim
sada da condio da linha
definida como verdadeira
ir para a
sada
sair
ir para a
sada
ir para
a sada
Publicao 1756-RM003C-PT-P - Novembro 2000
12-16 Instrues Especiais (FBC, DDT, DTR, PID)
Condio: Ao:
compare.POS
compare.LEN
sim
no
compare.POS = compare.LEN
o bit compare.DN energizado.
compara
ir para a
sada
source[compare.POS] =
reference[compare.POS]
no
sim
examinar o bit
result.DN
result.DN = 1
result.DN = 0
compare.POS =
compare.POS + 1
o bit compare.FD
energizado.
reference[compare.POS]
= source[compare.POS]
o bit result.DN
desenergizado.
o valor result.POS
desenergizado.
result.POS < 0
sim
no
result.LEN 0
sim
no
o bit compare.ER energizado.
ir
para
sim
no
falha grave
result[result.POS] = compare.POS
result.POS = result.POS + 1
result.POS
result.LEN
no
sim
o bit result.DN energizado.
pgina 12-15
pgina 12-7
result.POS >
tamanho da matriz de
resultado
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-17
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
fonte
array_dint1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
referncia (antes da
comparao)
array_dint2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
resultado:
array_dint3
5 3
referncia (depois da
comparao)
array_dint2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Quando habilitada, a instruo DDT compara a fonte array_dint1 com a referncia array_dint2 e armazena os
locais das diferenas no resultado array_dint3. O controlador tambm altera os bits de diferena na referncia
array_dint2 para corresponder fonte array_dint1.
Publicao 1756-RM003C-PT-P - Novembro 2000
12-18 Instrues Especiais (FBC, DDT, DTR, PID)
Dados Transicionais (DTR)
A instruo DTR passa o valor Source por Mask e compara o resultado
com o valor Reference.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: A instruo DTR passa o valor Source por Mask e compara o resultado
com o valor Reference. A instruo DTR tambm escreve o valor
Source mascarado no valor Reference para a prxima comparao.
Source permanece inalterado.
Um 1 na mscara significa que o bit de dados passou. Um 0 na
mscara significa que o bit de dados foi bloqueado.
Quando Source mascarado for diferente de Reference, a sada da
condio da linha se torna verdadeira durante uma varredura.
Quando Source mascarado for igual a Reference, a sada da condio
da linha se torna falsa.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
Source DINT imediato
tag
matriz a ser comparada com a referncia
Mask DINT imediato
tag
quais bits devem ser bloqueados ou podem
passar
Reference DINT tag matriz a ser comparada com a fonte
ATENO
!
A programao online com essa instruo pode ser
perigosa. Se o valor Reference for diferente de
Source, a sada da condio da linha se torna
verdadeira. Tome cuidado se voc inserir essa
instruo quando o controlador estiver no modo Run
ou Remote Run.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-19
Insero de uma valor de mscara imediato
Ao inserir uma mscara, o software de programao retorna ao
padro dos valores decimais. Caso voc queira inserir uma mscara
usando outro formato, coloque o prefixo correto antes do valor.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011
Condio: Ao:
pr-varredura The Reference = Source AND Mask.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa The Reference = Source AND Mask.
A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira
fim
masked source =
reference
no
sim
referncia definida igual fonte mascarada
sada da condio da linha energizada quando
verdadeira
sada da condio da
linha energizada
quando falsa
Publicao 1756-RM003C-PT-P - Novembro 2000
12-20 Instrues Especiais (FBC, DDT, DTR, PID)
Exemplo de Lgica
Ladder:
Um 0 na mscara no altera o bit.
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Quando habilitada, a instruo DTR coloca uma mscara em value_1. Se houver diferena
entre dois valores, a sada da condio da linha definida como verdadeira.
13385
A linha permanecer falsa enquanto o
valor de entrada no for alterado.
A linha permanecer verdadeira durante uma
varredura quando uma alterao for detectada.
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
1 8 3 1 8 7
mscara = 0FFF
1 8 7
fonte
value_1
referncia
value_2
1 8 3
1 8 3
1 8 3
varredura atual
varredura
anterior
varredura
anterior
varredura atual
exemplo 1 exemplo 2
9
7
0
0
0
0
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-21
Proporcional, Integral e
Derivativo (PID)
A instruo PID controla um tag de processo como, por exemplo,
fluxo, presso, temperatura ou nvel.
Operandos de Lgica
Ladder:
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Descrio:
PID PID estrutura estrutura PID
Process
variable
SINT
INT
DINT
REAL
tag valor a ser controlado
Tieback SINT
INT
DINT
REAL
imediato
tag
(opcional)
sada de uma estao manual/automtica de
hardware que est realizando bypass da
sada do controlador
insira 0 se voc no quiser usar esse
parmetro
Control
variable
SINT
INT
DINT
REAL
tag valor que vai para o dispositivo de controle
final (vlvula, amortecedor etc.)
se voc estiver usando a zona morta, Control
variable deve ser do tipo REAL ou o mesmo
ser forado em 0 quando houver um erro
dentro da zona morta
PID master
loop
PID estrutura opcional
tag PID para o PID mestre
Se voc estiver realizando o controle em
cascata e esse PID for uma malha escrava,
insira o nome do PID mestre.
insira 0 se voc no quiser usar esse
parmetro
Inhold bit BOOL tag opcional
status atual do bit inhold de um canal de
sada analgico 1756 para suportar uma
reinicializao ininterrupta
insira 0 se voc no quiser usar esse
parmetro
Inhold value SINT
INT
DINT
REAL
tag opcional
valor de nova leitura de dados de uma canal
de sada analgica 1756 para suportar uma
reinicializao ininterrupta.
insira 0 se voc no quiser usar esse
parmetro
Publicao 1756-RM003C-PT-P - Novembro 2000
12-22 Instrues Especiais (FBC, DDT, DTR, PID)
Estrutura: Especifique uma estrutura PID nica para cada instruo PID.
Setpoint somente display
valor atual do setpoint.
Process
variable
somente display
valor atual de Process Variable convertido
em escala
Output % somente display
valor de porcentagem da sada da corrente
Operando Tipo: Formato: Descrio:
Mnemnico: Tipo de Dados: Descrio:
.CTL DINT O membro .CTL fornece acesso aos membros de status (bits) em uma palavra de 32 bits. A
instruo PID energiza os bits 07 -15.
Este bit: Corresponde a este membro:
31 .EN
30 .CT
29 .CL
28 .PVT
27 .DOE
26 .SWM
25 .CA
24 .MO
23 .PE
22 .NDF
21 .NOBC
20 .NOZC
Este bit: Este membro que configurado pela instruo PID:
15 .INI
14 .SPOR
13 .OLL
12 .OLH
11 .EWD
10 .DVNA
09 .DVPA
08 .PVLA
07 .PVHA
SP REAL setpoint
.KP REAL independente ganho proporcional (sem unidade)
dependente ganho do controlador (sem unidade)
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-23
.KI REAL independente ganho integral (1/s)
dependente tempo de reset (minutos por repetio)
.KD REAL independente ganho derivativo (segundos)
dependente tempo da taxa (minutos)
.BIAS REAL feedforward ou bias %
.MAXS REAL valor de converso de escala da unidade de medida mxima
.MINS REAL valor de converso de escala da unidade de medida mnima
.DB REAL unidades de medida da zona morta
.SO REAL defininir % da sada
.MAXO REAL limite de sada mximo (% da sada)
.MINO REAL limite de sada mnimo (% da sada)
.UPD REAL tempo de atualizao da malha (segundos)
.PV REAL valor PV em escala
.ERR REAL valor de erro em escala
.OUT REAL % da sada
.PVH REAL limite de alarme superior para o tag do processo
.PVL REAL limite de alarme inferior para o tag do processo
.DVP REAL limite de alarme de desvio positivo
.DVN REAL limite de alarme de desvio negativo
.PVDB REAL zona morta do alarme do tag de processo
.DVDB REAL zona morta do alarme de desvio
.MAXI REAL valor mximo de PV (entrada sem escala)
.MINI REAL valor mnimo de PV (entrada sem escala)
.TIE REAL valor de tieback para controle manual
.MAXCV REAL valor mximo de CV (corresponde a 100%)
.MINCV REAL valor mnimo de CV (corresponde a 0%)
.MINTIE REAL valor mnimo de tieback (corresponde a 100%)
.MAXTIE REAL valor mximo de tieback (corresponde a 0%)
Mnemnico: Tipo de Dados: Descrio:
Publicao 1756-RM003C-PT-P - Novembro 2000
12-24 Instrues Especiais (FBC, DDT, DTR, PID)
.DATA REAL[17] O membro .DATA armazena:
Elemento Descrio:
.DATA[0] acmulo integral
.DATA[1] valor temporrio de filtro derivativo
.DATA[2] valor .PV anterior
.DATA[3] valor .ERR anterior
.DATA[4] valor .SP vlido anterior
.DATA[5] constante de converso de escala em porcentagem
.DATA[6] constante de converso em escala .PV
.DATA[7] constante de converso em escala derivativa
.DATA[8] valor .KP anterior
.DATA[9] valor .KI anterior
.DATA[10] valor .KD anterior
.DATA[11] ganho .KP dependente
.DATA[12] ganho .KI dependente
.DATA[13] ganho .KD dependente
.DATA[14] valor .CV anterior
.DATA[15] constante .CV para desfazer a converso
.DATA[16] constante tieback para desfazer a converso
.EN BOOL habilitado
.CT BOOL tipo cascata (0=escravo; 1=mestre)
.CL BOOL malha da cascata (0=no; 1=sim)
.PVT BOOL rastreamento do tag do processo (0=no; 1=sim)
.DOE BOOL derivativa de (0=PV; 1=erro)
.SWM BOOL modo manual do software (0=no - automtico; 1=sim- manual com chave)
.CA BOOL ao de controle (0 significa E=SP-PV; 1 significa E=PV-SP)
.MO BOOL modo de estao (0=automtico; 1=manual)
.PE BOOL equao PID (0=independente; 1=dependente)
.NDF BOOL filtro derivativo (0=no; 1=sim)
.NOBC BOOL clculo de volta para bias (0=no; 1=sim)
.NOZC BOOL cruzamento zero para zona morta (0=no; 1=sim para zona morta)
.INI BOOL PID inicializada (0=no; 1=sim)
.SPOR BOOL setpoint fora da faixa (0=no; 1=sim)
.OLL BOOL CV est abaixo do limite de sada mnimo (0=no; 1=sim)
.OLH BOOL CV est acima do limite de sada mximo (0=no; 1=sim)
.EWD BOOL o erro est dentro da zona morta (0=no; 1=sim)
.DVNA BOOL o desvio est definido como alarme baixo (0=no; 1=sim)
Mnemnico: Tipo de Dados: Descrio:
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-25
Operandos do Bloco de
Funo
Esta instruo no est disponvel no bloco de funo.
Descrio: A instruo PID geralmente recebe a varivel de processo (PV) de um
mdulo de entrada analgica e modula uma sada da varivel de
controle (CV) em um mdulo de sada analgica a fim de manter a
varivel de processo no setpoint desejado.
O bit .EN indica o status de execuo. O bit .EN energizado quando
a entrada da condio da linha passa de falsa para verdadeira. O bit
.EN desenergizado quando a entrada da condio da linha se torna
falsa. A instruo PID no utiliza um bit .DN. A instruo PID
executada a cada varredura, sempre que a entrada da condio da
linha for verdadeira.
Flags de Status Aritmtico: no afetados
Condies de Falha:
.DVPA BOOL o desvio est definido como alarme alto (0=no; 1=sim)
.PVLA BOOL o PV est definido como alarme baixo (0=no; 1=sim)
.PVHA BOOL o PV est definido como alarme alto (0=no; 1=sim)
Mnemnico: Tipo de Dados: Descrio:
estado da linha
execuo da instruo PID
bit .EN
41027
IMPORTANTE
Estas falhas eram graves no controlador CLP-5.
Uma falha de advertncia ocorrer se: Tipo de falha: Cdigo de falha:
.UPD 0 4 35
setpoint fora de faixa 4 36
Publicao 1756-RM003C-PT-P - Novembro 2000
12-26 Instrues Especiais (FBC, DDT, DTR, PID)
Execuo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Configurao de uma
Instruo PID
Depois de inserir a instruo PID e especificar a estrutura PID, use a
guia Configuration para especificar como a instruo PID
deve funcionar.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A sada da condio da linha est definida como verdadeira.
Clique aqui para configurar a
instruo PID
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-27
Especificao do ajuste
Selecione a guia Tuning. As alteraes passam a ser aceitas, assim que
clicar em outro campo, OK, Apply ou Enter.
Especificao da configurao
Selecione a guia Configuration. Voc deve clicar em OK ou Apply
para que as alteraes tenham validade.
No campo: Especifique
Setpoint (SP) Insira um valor de setpoint (.SP).
Set output % Insira uma porcentagem de sada (.SO).
No modo manual do software, esse valor usado para a sada.
No modo automtico, esse valor exibe a % da sada.
Output bias Insira a procentagem de bias de sada (.BIAS).
Ganho proporcional (K
p
) Insira o ganho proporcional (.KP).
Para ganhos independentes, este o ganho proporcional (sem unidade).
Para ganhos dependentes, este o ganho do controlador (sem unidade).
Ganho Integral (K
i
) Insira o ganho integral (.KI).
Para os ganhos independentes, este o ganho integral (1/s).
Para os ganhos dependentes, este o tempo de reset (minutos por repetio).
Tempo derivativo (K
d
) Insira o ganho derivativo (.KD).
Para ganhos independentes, este o ganho derivativo (segundos).
Para os ganhos dependentes, este o tempo da taxa em minutos.
Manual mode Selecione o manual (.MO) ou o manual do software (.SWM).
O modo Manual se sobrepe ao manual do software se os dois forem selecionados.
No campo: Especifique
PID equation Selecione os ganhos independentes ou ganhos dependentes (.PE).
Use independente, caso seja necessrio que os trs ganhos (P, I e D) operem de forma
independente. Use dependente, caso seja necessrio que um ganho geral do
controlador afete os trs termos (P, I e D).
Control action Selecione E=PV-SP ou E=SP-PV para control action (.CA).
Derivative of Selecione PV ou erro (.DOE).
Use o derivativo de PV para eliminar os impulsos de sada resultantes das alteraes de
setpoint. Use o derivativo do erro para as respostas rpidas para as alteraes de
setpoint quando o algoritmo pode tolerar excedentes.
Loop update time Insira o tempo de atualizao (.UPD) para a instruo (maior do que ou igual a 0,01
segundo).
CV high limit Insira um limite superior para a varivel de controle (.MAXO).
CV low limit Insira um limite inferior para a varivel de controle (.MINO).
Deadband value Insira o valor da zona morta (.DB).
No derivative smoothing Habilita ou desabilita essa seleo (.NDF).
Publicao 1756-RM003C-PT-P - Novembro 2000
12-28 Instrues Especiais (FBC, DDT, DTR, PID)
Especificao de alarmes
Selecione a guia Alarms. Voc deve clicar em OK ou Apply para que
as alteraes tenham validade.
No bias calculation Habilita ou desabilita essa seleo (.NOBC).
No zero crossing in
deadband
Habilita ou desabilita essa seleo (.NOZC).
PV tracking Habilita ou desabilita essa seleo (.PVT).
Cascade loop Habilita ou desabilita essa seleo (.CL).
Cascade type Se a malha da cascata estiver habilitada, selecione escravo ou mestre (.CT).
No campo: Especifique
No campo: Especifique
PV high Insira um valor de limite superior para o alarme alto para a PV (.PVH).
PV low Insira um valor de limite inferior para o alarme baixo para a PV (.PVL).
PV deadband Insira um valor de zona morta para o alarme de PV (.PVDB).
positive deviation Insira um valor de desvio positivo (.DVP).
negative deviation Insira um valor de desvio negativo (.DVN).
deviation deadband Insira um valor de zona morta para o alarme de desvio (.DVDB).
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-29
Especificao de converso de escala
Selecione a guia Scaling. Voc deve clicar em OK ou Apply para que
as alteraes tenham validade.
Utilizao das Instrues
PID
O controle de malha fechada PID mantm uma varivel de processo
em um setpoint desejado. A figura a seguir mostra um exemplo de
nvel de taxa de fludo/fluxo:
No exemplo acima, o nvel no tanque comparado com o setpoint.
Se o nvel for mais elevado do que o set point, a equao PID
aumenta a varivel de controle e abre a vlvula de sada do tanque,
diminuindo, portanto, o nvel no tanque.
No campo: Especifique
PV unscaled maximum Insira um valor mximo de PV (.MAXI) igual ao valor mximo sem escala recebido do
canal de entrada analgica para o valor PV.
PV unscaled minimum Insira um valor mnimo de PV (.MINI) igual ao valor mnimo sem escala recebido do
canal de entrada analgica para o valor PV.
PV engineering units
maximum
Insira as unidades de medida mximas correspondentes a .MAXI (.MAXS)
PV engineering units
minimum
Insira as unidades de medida mnimas correspondentes a .MINII (.MINS)
CV maximum Insira um valor mximo de CV correspondente a 100% (.MAXCV).
CV minimum Insira um valor mnimo de CV correspondente a 0% (.MINCV).
Tieback maximum Insira um valor mximo de tieback (.MAXTIE) igual ao valor mximo sem escala
recebido do canal de entrada analgica para o valor de tieback.
Tieback minimum Insira um valor mnimo de tieback (.MINTIE) que seja igual ao valor mnimo sem escala
recebido do canal de entrada analgica para o valor de tieback.
PID Initialized Se voc alterar as constantes de converso de escala durante o modo Run, desligue
para reincializar os valores internos, anteriores converso de escala (.INI).
-
+
14271
setpoint
taxa de fluxo
erro
equao PID
varivel de
controle
varivel de processo
detector de nvel
Publicao 1756-RM003C-PT-P - Novembro 2000
12-30 Instrues Especiais (FBC, DDT, DTR, PID)
A equao PID usada na instruo PID uma equao de forma
posicional com a opo de usar ganhos independentes ou
dependentes. Ao usar ganhos independentes, os ganhos proporcional,
integral e derivativo afetam apenas seus termos proporcional, integral
ou derivativo especficos, respectivamente. Ao usar os ganhos
dependentes, o ganho proporcional substitudo por um ganho de
controlador que afeta todos os trs termos. possvel usar a forma da
equao para realizar o mesmo tipo de controle. Os dois tipos de
equao so fornecidos apenas para que voc use o tipo com o qual
est mais familiarizado.
Opo de Ganhos: Derivativo de Equao:
Ganhos dependentes
(padro ISA)
error (E)
process variable (PV)
Ganhos independentes error (E)
process variable (PV)
CV K
C
E
1
T
i
---- Edt T
d
dE
dt
------- +
0
t
+ BIAS + =
CV K
C
E
1
T
i
---- Edt T
d
dPV
dt
-----------
0
t
+ BIAS + =
E = SP - PV
CV K
C
E
1
T
i
---- Edt T
d
dPV
dt
----------- +
0
t
+ BIAS + =
E = PV - SP
CV K
P
E K
i
+ Edt K
d
dE
dt
------- +
0
t
BIAS + =
CV K
P
E K
i
+ Edt K
d
dPV
dt
-----------
0
t
BIAS + =
E = SP - PV
CV K
P
E K
i
+ Edt K
d
dPV
dt
----------- +
0
t
BIAS + =
E = PV - SP
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-31
Onde:
Se voc no quiser usar um termo particular da equao de PID,
defina o ganho em zero. Por exemplo, se voc no quiser nenhuma
ao derivativa, defina K
d
ou T
d
igual a zero.
Windup anti-reset e transferncia ininterrupta de manual para
automtico
A instruo PID automaticamente previne o windup de reset, evitando
que o termo integral acumule sempre que a sada CV alcanar os seus
valores mximo ou mnimo, conforme definido por .MAXO e .MINO.
O termo integral acumulado permanece congelado at que a sada CV
fique abaixo do seu limite mximo ou fique acima do seu limite
mnimo. Em seguida, o acmulo normal integral reinicia
automaticamente.
Varivel: Descrio:
K
P
ganho proporcional (sem unidade)
K
p
= K
c
sem unidade
K
i ganho integral (segundos
-1
)
Para converter entre K
i
(ganho integral) e T
i
(tempo de reset), use:
K
d
ganho derivativo (segundos)
Para converter entre K
d
(ganho derivativo) e T
d
(tempo da taxa), use:
K
d
= K
c
(T
d
) 60
K
C
ganho do controlador (sem unidade)
T
i
tempo de reset (minutos/repetio)
T
d
tempo da taxa (minutos)
SP setpoint
PV varivel de processo
E erro [(SP-PV) ou (PV-SP)]
BIAS feedforward ou bias
CV varivel de controle
dt tempo de atualizao de malha
K
i
K
C
60T
i
----------- =
Publicao 1756-RM003C-PT-P - Novembro 2000
12-32 Instrues Especiais (FBC, DDT, DTR, PID)
A instruo PID suporta dois modos manuais de controle:
A instruo PID tambm fornece automaticamente transferncias
ininterruptas do modo manual do software para o automtico ou do
manual para o automtico. A instruo PID calcula novamente o valor
do termo de acmulo integral requerido para fazer com que o
caminho da sada CV energize o valor da sada (.SO) no modo manual
do software ou a entrada tieback no modo manual. Dessa forma,
quando a malha chavear para o modo automtico, a sada CV inicia a
partir da sada configurada ou do valor de tieback e no ocorre
nenhuma "interrupo" no valor de sada.
A instruo PID tambm pode fornecer automaticamente uma
transferncia ininterrupta do manual para o automtico, mesmo que o
controle integral no seja usado (por ex.: K
i
= 0). Nesse caso, a
instruo modifica o termo .BIAS para fazer com que o caminho da
sada CV energize a sada ou os valores tieback. Quando o controle
automtico for reiniciado, o termo .BIAS manter o seu ltimo valor.
Voc pode desabilitar o novo clculo do termo .BIAS, configurando o
bit .NOBC na estrutura de dados PID. Preste ateno, pois se voc
definir .NOBC em verdadeiro, a instruo PID no fornecer mais
uma transferncia ininterrupta de manual para automtico quando o
controle integral no for usado.
Temporizao da instruo PID
A instruo PID e a amostra da varivel de processo precisam ser
atualizadas periodicamente. Esse tempo de atualizao est
relacionado ao processo fsico que est sendo controlado. Para malhas
muito lentas como, por exemplo, malhas de temperatura, um tempo
de atualizao de uma vez por segundo ou mais geralmente
suficiente para se obter bom controle. Malhas um pouco mais rpidas
como, por exemplo, malhas de fluxo ou presso, podem requerer um
Modo Manual de Controle: Descrio:
software manual (.SWM) tambm conhecido como modo de sada configurado
permite ao usurio definir a % da sada do software
O valor de sada configurado (.SO) usado como a sada da malha. O valor de sada
configurado geralmente se origina de uma entrada de operao de um dispositivo de
interface de operao.
manual (.MO) pega o valor de tieback como uma entrada e ajusta as suas variveis internas para gerar
o mesmo valor na sada.
A entrada tieback para a instruo PID convertida em uma escala de 0-100%, de
acordo com os valores de .MINTIE e .MAXTIE e usada como a sada da malha. A
entrada tieback geralmente se origina da sada da estao manual/automtica do
hardware, que est realizando o bypass da sada do controlador.
Nota: O modo Manual sobrepe ao modo Manual do software se os dois bits de modo
estiverem energizados.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-33
tempo de atualizao de uma vez a cada 250 milissegundos. Somente
em casos raros como, por exemplo, controle de tenso em um carretel
de desbobinador, requerem atualizaes de malha a cada
10 milissegundos ou mais rpido.
Como a instruo PID usa uma base de tempo no seu clculo,
necessrio sincronizar a execuo da instruo com a amostra da
varivel de processo (PV).
A forma mais fcil de executar a instruo PID coloc-la em uma
tarefa peridica. Defina o tempo de atualizao de malha (.UPD) igual
taxa da tarefa peridica e certifique-se de que a instruo PID seja
executada a cada varredura da tarefa peridica. Por exemplo, use uma
linha de diagrama ladder no condicionada.
Ao usar uma tarefa peridica, certifique-se de que a entrada analgica
para a varivel de processo seja atualizada para o controlador a uma
taxa que significativamente mais rpida do que a taxa da tarefa
peridica. Na forma ideal, a varivel de processo deve ser enviada
para o controlador pelo menos cinco a dez vezes mais rpido do que
a taxa da tarefa peridica. Isto reduz a diferena de tempo entre as
amostras atuais da varivel de processo e a execuo da malha PID.
Por exemplo, se a malha PID estiver em uma tarefa peridica de 250
milissegundos, use um tempo de atualizao de malha de 250
milissegundos (.UPD = .25) e configure o mdulo de entrada
analgica para produzir dados a, pelo menos, cada 25 e 50 ms.
Publicao 1756-RM003C-PT-P - Novembro 2000
12-34 Instrues Especiais (FBC, DDT, DTR, PID)
Outro mtodo, um pouco menos preciso de execuo da instruo
PID colocar a instruo em uma tarefa contnua e usar um bit
executado do temporizador para disparar a execuo da instruo
PID.
Nesse mtodo, o tempo de atualizao de malha da instruo PID
deve ser configurado igual ao valor pr-programado do temporizador.
No caso de usar uma tarefa peridica, voc deve ajustar o mdulo de
entrada analgica para produzir a varivel do processo a uma taxa
significativamente mais elevada do que o tempo de atualizao da
malha. Voc deve usar somente o mtodo do temporizador da
execuo de PID para as malhas com os tempos de atualizao que
so vrias vezes mais longas do que o tempo de execuo do pior
caso para a tarefa contnua.
A forma mais precisa de executar uma instruo PID usar o recurso
de amostragem em tempo real (RTS) dos mdulos de entrada
analgica 1756. O mdulo de entrada analgica realiza uma amostra
das suas entradas taxa de amostragem em tempo real definida na
configurao do mdulo. Quando o perodo de amostra em tempo
real do mdulo expira, o mdulo atualiza as suas entradas e atualiza
os dados para impresso da data e hora (representado pelo membro
.RollingTimestamp da estrutura de dados de entrada analgica)
produzidos pelo mdulo. Os dados de impresso de hora e data
variam de 0-32767 milissegundos. Monitore os dados de impresso de
data e hora. Quando o mesmo alterado, uma nova amostra da
varivel de processo foi recebida. Cada vez que a data e a hora so
alteradas, execute a instruo PID uma vez. Como a amostra da
varivel de processo direcionada pelo mdulo de entrada analgica,
o tempo de amostra de entrada muito preciso e o tempo de
atualizao da malha usado pela instruo PID deve ser configurado
igual ao tempo RTS do mdulo de entrada analgica.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-35
Para certificar-se de que no haja perda de amostras da varivel de
processo, execute a sua lgica em uma taxa mais rpida do que o tempo de
RTS. Por exemplo, se o tempo RTS for de 250 ms, possvel colocar a
instruo PID em uma tarefa peridica que executada a cada 100 ms para
garantir que nenhuma amostra seja perdida. possvel colocar a lgica PID
em uma tarefa contnua, contanto que voc se certifique de que a lgica
ser atualizada com uma freqncia maior do que 250 milissegundos.
Um exemplo do mtodo RTS de execuo mostrado abaixo. A execuo da
instruo PID depende da recepo de novos dados de entrada analgica. Se
o mdulo de entrada analgica apresentar falha ou for removido, o
controlador pra de receber impresses de data e hora atualizadas e a malha
de PID pra a execuo. Voc deve monitorar o bit de status da entrada
analgica PV, e se isso mostrar um status deficiente, force a malha no modo
manual do software e execute a malha a cada varredura. Isto permite que o
operador ainda altere manualmente a sada da malha PID.
Reinicializao ininterrupta
A instruo PID pode interagir com os mdulos de sada analgica 1756
para suportar uma reincializao ininterrupta quando o controlador
mudar do modo Program para Run ou na energizao do controlador.
Quando um mdulo de sada analgica 1756 perde comunicao com o
controlador ou detecta que o controlador est no modo Program, o mdulo
de sada analgica energiza as suas sadas para os valores de condio de
falha especificados na configurao do mdulo. Quando o controlador
retorna para o modo Run ou re-estabelece comunicao com o mdulo de
sada analgica, voc pode fazer com que a instruo PID reset
automaticamente a sada da varivel de controle igual sada analgica,
usando o bit Inhold e os parmetros Inhold Value na instruo PID.
Publicao 1756-RM003C-PT-P - Novembro 2000
12-36 Instrues Especiais (FBC, DDT, DTR, PID)
Para configurar uma reinicializao initerrupta:
A seguinte instruo PID usa o bit Inhold e o valor Inhold:
Polarizao derivativa
O clculo da derivativa melhorado por um filtro de polarizao derivativa.
Esse filtro digital de primeira ordem e de passa/baixa ajuda a reduzir os
grandes impulsos do termo derivativo causados por rudo na PV. Essa
polarizao se torna mais agressiva com valores maiores de ganho derivativo.
possvel desabilitar a polarizao derivativa se o processo necessitar de
valores muito grandes de ganho derivativo (K
d
> 10, por exemplo). Para
desabilitar a polarizao derivativa, selecione a opo No derivative
smoothing na guia Configuration ou energize o bit .NDF na estrutura PID.
Faa o seguinte: Detalhes:
Configure o canal do mdulo de sada
analgica 1756 que recebe a varivel de
controle da instruo PID.
Selecione hold for initialization na pgina de propriedades para o canal especfico do
mdulo.
Isto informa ao mdulo de sada analgica que, quando o controlador retornar para o modo
Run ou re-estabelecer comunicao com o mdulo, o mdulo deve manter a sada analgica
no seu valor atual at que o valor enviado do controlador corresponda (com uma amplitude
de 0,1%) ao valor atual usado pelo canal de sada. A sada do controlador aumentar
seguindo em rampa at o valor de sada atualmente mantido, usando-se o termo .BIAS.
Esse aumento em rampa semelhante transferncia ininterrupta.
Insira o tag do bit Inhold e o tag Inhold
Value na instruo PID
O mdulo de sada analgica 1756 retorna dois valores para cada canal na sua estrutura de
dados de entrada. Quando verdadeiro, o bit de status InHold (.Ch2InHold, por exemplo)
indica que o canal de sada analgica est mantendo o seu valor. O valor de nova leitura de
Data (.Ch2Data, por exemplo) mostra o valor de sada atual em unidades de medida.
Insira o tag no bit de status InHold como o parmetro do bit InHold da instruo PID. Insira o
tag do valor de nova leitura de Data como o parmetro Inhold Value.
Quando o bit Inhold passar para verdadeiro, a instruo PID move Inhold Value para a sada
do tag de Controle e re-inicializa para fornecer suporte para uma reinicializao initerrupta
nesse valor. Quando o mdulo de sada analgica receber esse valor de volta do
controlador, o mesmo desenergiza o bit de status InHold, o que permite que a instruo PID
inicie o controle normalmente.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-37
Configurao da zona morta
A zona morta ajustvel permite que voc selecione uma faixa de erro
acima e abaixo do setpoint, onde as sadas no sero alteradas desde
que o erro permanea dentro da faixa. Essa zona morta permite o
controle do nvel de correspondncia entre a varivel de processo e o
setpoint, sem que a sada seja alterada. A zona morta tambm ajuda a
reduzir o desgaste no seu dispositivo de controle final.
O cruzamento zero um controle de zona morta que permite que a
instruo utilize o erro para clculos, conforme a varivel de processo
atravessa a zona morta, at que a varivel de processo cruze o
setpoint. Quando a varivel de processo cruzar o setpoint (o erro
cruza o valor zero e altera o sinal) e durante o tempo em que a
varivel de processo permanecer na zona morta, a sada no ser
alterada.
A zona morta se estende acima e abaixo do setpoint, de acordo com o
valor especificado por voc. Insira zero para inibir a zona morta. A
zona morta possui as mesmas unidades convertidas do setpoint.
possvel usar a zona morta sem recurso de cruzamento zero,
selecionando-se a opo no zero crossing for deadband na guia
Configuration ou energizando-se o bit .NOZC na estrutura PID.
Se voc estiver usando a zona morta, Control variable deve ser do tipo
REAL ou o mesmo ser forado em 0 quando houver um erro dentro
da zona morta
Uso da limitao de sada
possvel definir um limite de sada (% da sada) na sada de controle.
Quando a instruo detectar que a sada atingiu um limite, ela
energizar o bit de alarme e impedir que a sada ultrapasse o limite
superior ou inferior.
erro dentro da faixa da zona
morta
+ zona morta
setpoint
- zona morta
tempo 41026
Publicao 1756-RM003C-PT-P - Novembro 2000
12-38 Instrues Especiais (FBC, DDT, DTR, PID)
Feedforward ou polarizao da sada (bias)
possvel direcionar (feedforward) um distrbio do sistema, alimentando
o valor .BIAS no valor de bias/feedforward da instruo PID.
O valor feedforward representa um distrbio alimentado na instruo
PID antes que o distrbio tenha chance de alterar a varivel de
processo. Feedforward geralmente usado para controlar processos
com um atraso de transporte. Por exemplo, um valor feedforward
representando gua fria sendo jogada em uma mistura quente
poderia impulsionar o valor de sada mais rpido do que esperar que
a varivel de processo consegue alterar o resultado da mistura.
Um valor bias geralmente usado quando nenhum controle integral
usado. Nesse caso, o valor de bias pode ser ajustado para manter a
sada na faixa requerida para manter o PV prximo ao setpoint.
Malhas em cascata
A PID forma cascata com duas malhas, atribuindo a sada na
porcentagem da malha de mestre para o setpoint da malha de escravo.
A malha de escravo automaticamente converte a sada da malha de
mestre em unidades de medida corretas para o setpoint da malha de
escravo, com base nos valores da malha de escravo para .MAXS e .MINS.
Controle de um ndice
possvel manter dois valores em um ndice, usando-se a instruo
MUL com estes parmetros:
valor no controlado
valor controlado (o setpoint resultante a ser usado pela
instruo PID)
razo entre esses dois valores
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Especiais (FBC, DDT, DTR, PID) 12-39
Na instruo MUL, insira:
Para este parmetro MUL: Insira este valor:
destination valor controlado
source A valor no controlado
source B razo
Publicao 1756-RM003C-PT-P - Novembro 2000
12-40 Instrues Especiais (FBC, DDT, DTR, PID)
Teoria PID
Os nmeros a seguir mostram o fluxo do processo para as instrues PID.
processo PID
processo PID com malhas mestre/escravo
+
-
-1
+
SP
Exibido
como EUs
Erro Exibido
como EUs
Software A/M
ou
Modo A/M Station
Ao de
Controle
Auto SP-PV
(Erro)
Manual
no
sim
PVT
SP
PV-SP
Converte Binrio para
Unidades de Medida
(PV-mn)(mx-mn)
+ min
mx-min
PV
PV
Exibido
como EUs
Converte Unidades
em %
Erro X 100
mx-mn.
Clculo PID
Polarizao
da Sada %
Software A/M
Mode
Auto
Auto (Out%)
Define
Sada %
Converte Unidades de
Tieback em %
tieback-mintie
maxtie-mintie
x100
Manual
Manual
Limitao
da Sada
Define
Sada %
A/M Station
Mode
Sada (CV) Exibida
em % do Fator de
Escala EU
Converte % em Unidades CV
CV%(mxcv-mncv)
100
+ mncv
CV
+
-
-1
+
+
-
-1
+
SP
Auto
Manual
PVT
no
sim
Converte Binrio em
Unidades de Medida
(PV-mn)(mx-mn)
maxi-mini
+ mn
PV
SP-PV
PV-SP
(Erro)
Converte Unidade
em %
Erro X 100
mx-mn
Clculo PID
Polarizao
da Sada %
Software A/M
Mode
Auto
Auto (Out%)
Limitao
da Sada
Define
Sada %
A/M Station
Mode
Define
Sada %
Manual
Manual
(Master.Out)
SP
PV
Malha
Mestre
Software A/M
ou
A/M Station Mode
Ao de
Controle
Malha
Escravo
(Master.Out)
Converte Binrio em
Unidades de Medida
(PV-mn)(mx-mn)
maxi-mini
+ mn
(SP)
PV
Converte % em
Unidades de Medida
Converte Unidades
Tieback em %
tieback-mintie
maxtie-mintie
x100
Converte Unidades
em %
Erro X 100
mx-mn
Converte Unidades
em %
Erro X 100
mx-mn
X (mx-mn)
100
+ mn
Ao de
Controle
SP-PV
PV-SP
Clculo PID
Polarizao
da Sada %
Define
Sada %
Auto
Auto
Manual
Manual
A/M Station
Mode
Limitao
da Sada
Software A/M
Mode
Define
Sada %
Converte % em
CV%(maxcv-mincv)
100
+ mincv
Os itens relacionados nesta caixa
so parmetros, unidades e modos
pois pertencem malha Escrava
Manual
Manual
Auto
Software
A/M Mode
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 13
Instrues Trigonomtricas
(SIN, COS, TAN, ASN, ACS, ATN)
Introduo
As instrues trigonomtricas avaliam as operaes aritmticas usando
as operaes trigonomtricas.
possvel misturar tipos de dados, mas podem ocorrer perda de
preciso e erros de arredondamentos e a instruo demorar mais
tempo para executar. Verifique o bit de status de overflow (S:V) para
ver se o resultado foi truncado.
Para as instrues de lgica ladder, o tipo de dados em negrito indica
os tipos de dados timos. Uma instruo executa mais rapidamente e
requer menos memria se todos os operandos da instruo usam o
mesmo tipo de dado timo, geralmente DINT ou REAL.
Se voc quiser: Use esta instruo: Consulte
pgina:
Calcular o seno de um valor SIN 13-2
Calcular o co-seno de um valor COS 13-5
Calcular a tangente de um valor TAN 13-8
Calcular o arco seno de um valor ASN 13-11
Calcular o arco co-seno de um valor ACS 13-14
Calcular o arco tangente de um valor ATN 13-16
Publicao 1756-RM003C-PT-P - Novembro 2000
13-2 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Seno (SIN)
A instruo SIN calcula o seno do valor de Source (em radianos) e
coloca o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo Lgica Ladder
Idiomas disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
calcula o seno desse valor
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura SIN
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo matemtica.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta
sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-3
Descrio: A Fonte deve ser maior ou igual a -205887,4 (-2x2
15
) e menor ou
igual a 205887,4 (2x2
15
). O valor resultante em Destination sempre
maior ou igual a -1 e menor ou igual a 1.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador calcula o seno de Source e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo SIN calcula o seno de <1><8><1>. e coloca o resultado em
result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
13-4 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Exemplo do Bloco de
Funo:
O valor da sada de function_block_A se torna o valor de entrada para Source. A instruo
calcula o seno de Source e coloca o valor em Dest, que se torna um parmetro de entrada para
function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-5
Co-seno (COS)
A instruo COS calcula o co-seno do valor de Source (em radianos) e
coloca o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
calcula o co-seno desse valor
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura COS
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo matemtica.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmtico so definidos para esta
sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
13-6 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Descrio: A Fonte deve ser maior ou igual a -205887,4 (-2x2
15
) e menor ou
igual a 205887,4 (2x2
15
). O valor resultante em Destination sempre
maior ou igual a -1 e menor ou igual a 1.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador calcula o co-seno de Source e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo COS calcula o co-seno de <1><19><1> e coloca o resultado em result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-7
Exemplo do Bloco de
Funo:
O valor da sada de function_block_A se torna o valor da entrada para Source. A instruo calcula
o co-seno de Source e coloca o valor em Dest, que se torna o parmetro de entrada para
function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
13-8 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Tangente (TAN)
A instruo TAN calcula a tangente do valor de Source (em radianos)
e coloca o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
calcula a tangente desse valor
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura TAN
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se energizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo matemtica.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmtico so definidos para esta
sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-9
Descrio: A Fonte deve ser maior ou igual a -102943,7(-2x2
14
) e menor ou
igual a 102943,7 (2x2
14
).
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador calcula a tangente de Source e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo TAN calcula a tangente de <1><19><1>e coloca o resultado
emresult.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
13-10 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Exemplo do Bloco de
Funo:
O valor da sada de function_block_A se torna o valor da entrada para Source. A instruo calcula a
tangente de Source e coloca o valor em Dest, que se torna o parmetro da entrada para
function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-11
Arco Seno (ASN)
A instruo ASN calcula o arco seno do valor de Source (em radianos)
e coloca o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
calcula o arco seno desse valor
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ASN
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo matemtica.
vlido = qualquer flutuante
Publicao 1756-RM003C-PT-P - Novembro 2000
13-12 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Parmetros de sada
Descrio: Source deve ser maior ou igual a -1 e menor ou igual a 1. O valor
resultante em Destination sempre maior ou igual a -/2 e menor ou
igual a /2 (onde = 3,141593).
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmtico so definidos para esta
sada.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador calcula o arco seno de Source e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo ASN calcula o arco seno de <1><19><1> e coloca o resultado em result.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-13
Execuo do Bloco de
Funo:
Exemplo do Bloco de
Funo:
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo calcula o
arco seno de Source e coloca o valor em Dest, que se torna o parmetro de entrada para
function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
13-14 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Arco Co-seno (ACS)
A instruo ACS calcula o arco co-seno do valor de Source (em
radianos) e coloca o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
calcula o arco co-seno desse valor
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ACS
Parmetro de
entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo matemtica.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta
sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-15
Descrio: Source deve ser maior ou igual a -1 e menor ou igual a 1. O valor
resultante em Destination sempre maior ou igual a 0 ou menor ou
igual a (onde = 3,141593).
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador calcula o arco co-seno de Source e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo ACS calcula o arco co-seno de <1><19><1> e coloca o resultado em result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
instruction first run Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
13-16 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Exemplo do Bloco de
Funo:
Arco Tangente (ATN)
A instruo ATN calcula o arco tangente do valor de Source e coloca o
resultado em Destination (em radianos).
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo calcula o
arco co-seno de Source e coloca o valor em Dest, que se torna o parmetro de entrada para
function_block_C.
function_block_A function_block_C
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
calcula o arco tangente desse valor
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ATN
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-17
Estrutura: Parmetros de entrada
Parmetros de sada
Descrio: O valor resultante em Destination sempre maior ou igual a -/2 e
menor ou igual a /2 (onde = 3,141593).
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo matemtica.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta
sada.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador calcula o arco tangente de Source e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
Publicao 1756-RM003C-PT-P - Novembro 2000
13-18 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Exemplo do Bloco de
Funo:
Quando habilitada, a instruo ATN calcula o arco tangente de <1><19><1> e coloca o
resultado em result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo calcula o
arco tangente de Source e coloca o valor em Dest, que se torna o parmetro de entrada para
function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-19
Notas:
Publicao 1756-RM003C-PT-P - Novembro 2000
13-20 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 14
Instrues Matemticas Avanadas
(LN, LOG, XPY)
Introduo
As instrues matemticas avanadas incluem estas instrues:
possvel misturar tipos de dados, mas podem ocorrer perda de
preciso e erros de arredondamentos e a instruo demorar mais
tempo para executar. Verifique o bit S:V para observar se o resultado
foi truncado.
Para instrues de lgica ladder, os tipos de dados em negrito
indicam os tipos de dados timos. Uma instruo executa mais
rapidamente e requer menos memria se todos os operandos da
instruo usam o mesmo tipo de dado timo, geralmente DINT ou
REAL.
Se voc quiser: Use esta instruo: Consulte
pgina:
Calcular o log natural de um valor LN 14-2
Calcular o log da base 10 de um valor LOG 14-4
Elevar um valor potncia de outro valor XPY 14-7
Publicao 1756-RM003C-PT-P - Novembro 2000
14-2 Instrues Matemticas Avanadas (LN, LOG, XPY)
Log Natural (LN)
A instruo LN calcula o log natural de Source e coloca o resultado
em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo
Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
encontrar o log natural desse valor.
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura LN
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
Source REAL Entrada para instruo matemtica.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmticos so energizados para esta
sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Matemticas Avanadas (LN, LOG, XPY) 14-3
Descrio: O Source deve ser maior que zero, ou o bit de status de overflow
(S:V) energizado. O valor resultante em Destination maior do que
ou igual a -87,33655 e menor do que ou igual a 88,72284.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O controlador calcula o log natural de Source e coloca o resultado em Destination.
A sada da condio da linha est definida como verdadeira.
Quando habilitada, a instruo LN calcula o log natural de value<F1> e coloca o resultado em <F19><F1>result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
14-4 Instrues Matemticas Avanadas (LN, LOG, XPY)
Exemplo do Bloco de
Funo:
Base Log de 10 (LOG)
A instruo LOG calcula a base log de 10 de Source e coloca o
resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo calcula o
log natural de Source e coloca o valor em Dest, que se torna o parmetro de entrada para
function_block_C.
function_block_A function_block_C
Bloco de Funo
Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
encontrar o log natural desse valor.
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura LOG
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Matemticas Avanadas (LN, LOG, XPY) 14-5
Estrutura: Parmetros de entrada
Parmetros de sada
Descrio: O Source deve ser maior que zero, ou o bit de status overflow (S:V)
energizado. O valor resultante em Destination maior do que ou
igual a -37,92978 e menor do que ou igual a 38,53184.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
Source REAL Entrada para instruo matemtica.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta
sada.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O controlador calcula o log de Source e coloca o resultado em Destination.
A sada da condio da linha est definida como verdadeira.
Publicao 1756-RM003C-PT-P - Novembro 2000
14-6 Instrues Matemticas Avanadas (LN, LOG, XPY)
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Exemplo do Bloco de
Funo:
Quando habilitada, a instruo LOG calcula o log natural de value<F1> e coloca o resultado em <F19><F1>result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.
O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo calcula a
base de log 10 de Source e coloca o valor em Dest, que se torna o parmetro de entrada para
function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Matemticas Avanadas (LN, LOG, XPY) 14-7
X Elevado Potncia de Y
(XPY)
A instruo XPY calcula Source A (X) elevado potncia de Source B
(Y) e armazena o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Bloco de Funo Lgica Ladder
Linguagens
Operando Tipo: Formato: Descrio:
Source A SINT
INT
DINT
REAL
imediato
tag
valor de base
Source B SINT
INT
DINT
REAL
imediato
tag
exponente
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH estrutura estrutura XPY
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
Source A REAL Valor base.
vlido = qualquer flutuante
Source B REAL Exponente.
vlido = qualquer flutuante
Publicao 1756-RM003C-PT-P - Novembro 2000
14-8 Instrues Matemticas Avanadas (LN, LOG, XPY)
Parmetros de sada
Descrio: Se Source A for negativo, Source B deve ser um valor inteiro ou uma
falha de advertncia ocorrer.
A instruo XPY usa esse algoritmo: Destination = X**Y
O controlador avalia x
0
=1 e 0
x
=0.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha:
Execuo de Lgica
Ladder:
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta
sada.
Uma falha de advertncia ocorrer se: Tipo de falha: Cdigo de
falha:
Source A negativa e Source B no um valor
inteiro
4 4
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O controlador calcula Source A elevado potncia de Source B e coloca o resultado em
Destination.
A sada da condio da linha est definida como verdadeira.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues Matemticas Avanadas (LN, LOG, XPY) 14-9
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Quando habilitada, a instruo XPY calcula value_1 elevado potncia de value_2 e coloca o resultado em result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
14-10 Instrues Matemticas Avanadas (LN, LOG, XPY)
Exemplo do Bloco de
Funo:
Os valores de sada de function_block_A e function_block_B se tornam os valores de entrada para
SourceA e SourceB, respectivamente. A instruo eleva SourceA potncia de SourceB e coloca o
resultado em Dest, que se torna o parmetro de entrada para function_block_C.
function_block_A
function_block_B
function_block_C
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 15
Instrues de Converso Matemtica
(DEG, RAD, TOD, FRD, TRN)
Introduo
As instrues de converso matemtica convertem valores.
possvel misturar tipos de dados, mas podem ocorrer perda de
preciso e erros de arredondamentos e a instruo demorar mais
tempo para executar. Verifique o bit S:V para observar se o resultado
foi truncado.
Para instrues de lgica ladder, os tipos de dados em negrito
indicam os tipos de dados timos. Uma instruo executa mais
rapidamente e requer menos memria se todos os operandos da
instruo usam o mesmo tipo de dado timo, geralmente DINT ou
REAL.
Se voc quiser: Use esta instruo: Consulte
pgina:
Converter radianos em graus. DEG 15-2
Converter graus em radianos. RAD 15-5
Converter um valor inteiro em um valor BCD. TOD 15-8
Converter um valor BCD em um valor inteiro. FRD 15-12
Remover a parte fracionria de um valor TRN 15-15
Publicao 1756-RM003C-PT-P - Novembro 2000
15-2 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
Graus (DEG)
A instruo DEG converte Source (em radianos) para graus e coloca o
resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo
Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
valor a ser convertido em graus.
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura DEG
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sada no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo de converso.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo de converso. Os flags de status aritmtico so energizados para
esta sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-3
Descrio: A instruo DEG usa este algoritmo:
Source*180/ (onde = 3,141593)
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador converte Source em graus e coloca o resultado em Destination.
A sada da condio da linha est definida como verdadeira.
Quando habilitada, a instruo DEG converte <1><19><1> em graus e coloca o resultado em result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
15-4 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
Exemplo do Bloco de
Funo:
O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo converte
Source (em radianos) para graus e coloca o resultado em Dest, que se torna o parmetro de entrada
para function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-5
Radianos (RAD)
A instruo RAD converte Source (em graus) para radianos e coloca o
resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo
Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
REAL
imediato
tag
valor a ser convertido em radianos
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura RAD
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo de converso.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest REAL Resultado da instruo de converso. Os flags de status aritmtico so energizados para
esta sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
15-6 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
Descrio: A instruo RAD usa esse algoritmo:
Source*/180 (onde = 3,141593)
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador converte Source em radianos e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo RAD converte <1><19><1> em radianos e coloca o resultado em result.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-7
Exemplo do Bloco de
Funo:
O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo converte
Source (em graus) para radianos e coloca o resultado em Dest, que se torna o parmetro de entrada
para function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
15-8 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
Converso para BCD (TOD)
A instruo TOD converte um valor decimal (0 Source 99.999.999) para
um valor BCD e coloca o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
imediato
tag
valor a ser convertido em decimal.
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT
INT
DINT
tag armazena o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_CONVERT estrutura estrutura TOD
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source DINT Entrada para a instruo de converso.
vlido = qualquer inteiro
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-9
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da instruo de converso. Os flags de status aritmtico so energizados para
esta sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
15-10 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
Descrio: BCD um sistema numrico Decimal de Cdigo Binrio que expressa
dgitos decimais individuais (0-9) em uma notao binria de 4 bits.
Se voc inserir um valor de Source negativo, a instruo gerar uma
falha de advertncia e zerar Destination.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha:
Execuo de Lgica
Ladder:
Uma falha de advertncia ocorrer
se:
Tipo de falha: Cdigo de falha:
source < 0 4 4
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador converte Source em BCD e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
entrada se a condio da linha for verdadeira
fim
source < 0
no
sim
source > 99.999.999
no
sim
converter fonte para BCD
S:V definido em 1
a sada da condio da linha
energizada quando verdadeira
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-11
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Exemplo do Bloco de
Funo:
Quando habilitada, a instruo TOD converte value_1 em um valor BCD e coloca o resultado em result_a.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
O valor de sada de function_block_A se torna os valores de entrada para Source. A instruo converte
Source (valor decimal) para um valor BCD e coloca o resultado em Dest, que se torna OREF Test_value.
function_block_A
Publicao 1756-RM003C-PT-P - Novembro 2000
15-12 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
Converso para Inteiro
(FRD)
A instruo FRD converte um valor BCD (Source) para um valor
decimal e armazena o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source SINT
INT
DINT
imediato
tag
valor a ser convertido em decimal.
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT
INT
DINT
tag armazena o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_CONVERT estrutura estrutura FRD
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source DINT Entrada para instruo de converso.
vlido = qualquer inteiro
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-13
Parmetros de sada
Descrio: A instruo FRD converte um valor BCD (Source) para um valor
decimal e armazena o resultado em Destination.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da instruo de converso. Os flags de status aritmtico so energizados para
esta sada.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador converte Source em valor decimal e coloca o resultado em Destination.
A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo FRD converte value_a para um valor decimal e coloca o resultado em result_1.
Publicao 1756-RM003C-PT-P - Novembro 2000
15-14 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
Execuo do Bloco de
Funo:
Exemplo do Bloco de
Funo:
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
O valor IREF se torna no valor de entrada para Source. A instruo converte Source
(valor BCD) em um valor decimal e coloca o resultado em Dest, que se torna o
parmetro de entrada para function_block_C.
function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-15
Truncagem (TRN)
A instruo TRN remove (trunca) a parte fracional de Source e
armazena o resultado em Destination.
Operandos de Lgica
Ladder:
Operandos do Bloco de
Funo:
Estrutura: Parmetros de entrada
Parmetros de sada
Bloco de Funo Lgica Ladder
Linguagens Disponveis:
Operando Tipo: Formato: Descrio:
Source REAL imediato
tag
valor a ser truncado
Destination SINT
INT
DINT
REAL
tag tag para armazenar o resultado
Operando Tipo: Formato: Descrio:
tag do bloco FBD_TRUNCATE estrutura estrutura TRN
Parmetro de
Entrada:
Tipo de Dados: Descrio:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Entrada para a instruo de converso.
vlido = qualquer flutuante
Parmetro de Sada: Tipo de Dados: Descrio:
EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da instruo de converso. Os flags de status aritmtico so energizados para
esta sada.
Publicao 1756-RM003C-PT-P - Novembro 2000
15-16 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
Descrio: A truncagem no arredonda o valor; ao invs disso, a parte no
fracionria permanece a mesma, independente do valor da parte
fracionria.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados.
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada se a condio da linha for falsa A sada da condio da linha definida como falsa.
entrada se a condio da linha for verdadeira O controlador remove a parte fracionria de Source e coloca o resultado em
Destination.
A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo TRN remove a parte fracionria de float_value_1, sem alterar a parte no
fracionria e coloca o resultado em float_value_1_truncated.
Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-17
Exemplo do Bloco de
Funo:
O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo trunca a parte fracional do
valor de Source e coloca o resultado em Dest, que se torna o parmetro de entrada para function_block_C.
function_block_A function_block_C
Publicao 1756-RM003C-PT-P - Novembro 2000
15-18 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Captulo 16
Instrues de Porta Serial ASCII
(ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Introduo
Use as instrues de porta serial para ler e escrever os caracteres
ASCII.
Para informaes sobre a configurao de porta serial do controlador
para usar as instrues ASCII, consulte o Manual do Usurio dos
Controladores Logix5000, publicao 1756-6.5.12PT.
Se voc quiser: Por exemplo: Use esta instruo: Consulte
pgina:
determinar quando o buffer contm
caracteres de terminao
verificar os dados que contenham caracteres
de terminao
ABL 16-5
contar os caracters no buffer verificar o nmero solicitado dos caracteres
antes de ler o buffer
ACB 16-7
remover o buffer remover dados antigos do buffer no
start-up
sincronizar o buffer com um
dispositivo
ACL 16-9
desenergizar as instrues ASCII que esto
sendo executadas no momento ou que esto
na fila
obter o status das linhas de controle da porta
serial
AHL 16-11
ligar ou desligar o sinal DTR
ligar ou desligar o sinal RTS
ler um nmero fixo de caracteres ler um dado de um dispositivo que envia o
mesmo nmero de caracteres em cada
transmisso
ARD 16-14
ler um nmero de caracteres varivel, at e
incluindo o primeiro conjunto de caracteres
de terminao
ler os dados a partir de um dispositivo que
envia um nmero de caracteres varivel em
cada transmisso
ARL 16-17
enviar caracteres e, automaticamente,
acrescentar um ou dois caracteres adicionais
para marcar o fim dos dados
enviar mensagens que sempre usam o(s)
mesmo(s) caracter(es) de extremidade
AWA 16-21
enviar caracteres enviar mensagens que usam vrios
caracteres de terminao
AWT 16-24
Publicao 1756-RM003C-PT-P - Novembro 2000
16-2 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
A instruo ASCII executada de forma assncrona para a varredura
da lgica:
Cada instruo ASCII, exceto a ACL, contm um operando SerialPort
Control , o qual precisa de um tag de tipo de dado
SERIAL_PORT_CONTROL. O operando SerialPort Control executa
estas funes:
controla a execuo da instruo
fornece as informaes de status sobre a instruo
A instruo entra na
fila ASCII.
Fila ASCII
Instruo 1 Instruo na parte
superior da fila
executada.
Buffer
Serial Port
Instruo 2
Instruo 3
Instruo 4
Quando a entrada da
condio da linha passa de
falsa para verdadeira
Os dados fluem
entre a tarefa e o
buffer.
Os dados fluem entre o
buffer e a porta serial
Lgica Tarefa ASCII
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-3
O diagrama de temporizao representa as mudanas nos bits de
status conforme uma instruo ABL testa o buffer quanto aos
caracteres de terminao
varredura varredura
varredura varredura
entra na fila reseta os bits de status
executa
quando efetuada a varredura e .DN
ou .ER forem definidos, o bit .EM
energiza
neste exemplo,
encontra os caracteres
de terminao.
entrada da
condio da linha
falsa verdadeira falsa verdadeira falsa
.EN off on off on off
. EU off on
RN off on off on off
.DN ou .ER off on off on
.FD off on off on
.EM off on off on
Publicao 1756-RM003C-PT-P - Novembro 2000
16-4 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
A fila ASCII suporta at 16 instrues. Quando a fila est cheia, uma
instruo tenta entrar na fila em cada varredura subsequente da
instruo, como representado abaixo:
Cdigos de Erro ASCII
Para determinar o motivo de falha da instruo, monitore ou examine
o membro SERIAL_PORT_CONTROL.ERROR para um cdigo de erro
hexadecimal. Use a tabela seguinte para interpretar o cdigo de erro:
varredura varredura varredura varredura
tenta entrar na fila, mas a fila est cheia
entrada da
condio da linha
falsa verdadeira falsa
.EN off on
. EU off on
Este cdigo
hex:
Indica que:
16#2 modem passou para o modo offline.
16#3 O sinal CTS foi perdido durante a comunicao.
16#4 A porta serial estava em modo de sistema.
16#A Antes da execuo da instruo o bit .UL foi energizado. Isto evita a execuo
da instruo.
16#C O controlador mudou do modo Run para o modo Program. Isto pra a
execuo de uma instruo ASCII e remove a fila.
16#D Na janela Properties do Controlador, guia User Protocol, o tamanho de buffer
ou parmetros de modo de eco so mudados e aplicados. Isto pra a
execuo de uma instruo ASCII e remove a fila.
16#E A instruo ACL foi executada.
16#F A configurao da porta serial mudou do modo do Usurio para o modo do
Sistema. Isto pra a execuo de uma instruo ASCII e remove a fila da
instruo ASCII.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-5
Teste ASCII Para Linha do
Buffer (ABL)
A instruo ABL conta os caracteres no buffer at o primeiro conjunto
de caracteres da extremidade.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando a entrada da condio da linha passa de falsa para
verdadeira, a instruo ABL conta os caracteres no buffer at e
incluindo o primeiro conjunto de caracteres de terminao. A janela
Properties do Controlador, guia User Protocol, define os caracteres
ASCII que a instruo considera como caracteres de terminao.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Insira:
Channel: DINT imediato
tag
0
Porta Serial
Control
SERIAL_PORT_
CONTROL
tag tag que controla a operao
Character
Count
DINT imediato 0
Durante a execuo, exibe o nmero de
caracteres no buffer, at e incluindo o
primeiro conjunto dos caracteres de
terminao.
EN
DN
ER
ASCII Test For Buffer Line
Channel ?
SerialPort Control ?
Character Count ?
ABL
ACL
42225
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit de habilitao indica que a instruo est habilitada.
RN BOOL O bit de operao indica que a instruo est executando.
.EM BOOL O bit vazio indica que a instruo est concluda.
.ER BOOL O bit de erro indica quando a instruo falha (erros).
.FD BOOL O bit encontrado indica que a instruo encontra os caracteres de terminao
.POS DINT A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de
caracteres de terminao.
.ERRO DINT O erro contm um valor hexadecimal que identifica a causa de um erro.
Publicao 1756-RM003C-PT-P - Novembro 2000
16-6 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Para programar a instruo ABL, siga estas orientaes:
1. Configure a porta serial do controlador para o modo do usurio
e defina os caracteres que servem como caracteres de
terminao.
2. Passe a entrada da condio de linha para a instruo ABL de
falsa para verdadeira toda vez que o buffer estiver para ser
contado. Por exemplo, para contar repetidamente o buffer, use
uma instruo XIO para examinar o bit .EN da instruo ABL.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O bit .EN est energizado.
Os bits de status restantes, exceto .UL, so desenergizados.
A instruo tenta entrar na fila ASCII.
A sada da condio da linha est definida como verdadeira.
Quando temp_high_write est concluda (EM est energizado), a instruo testa continuamente o buffer quanto aos caracteres de
terminao
42226
temp_high_write.EM
/
ack.EN
EN
DN
ER
ASCII Test For Buffer Line
Channel 0
SerialPort Control ack
Character Count 0
ABL
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-7
Caracteres ASCII no Buffer
(ACB)
A instruo ACB conta os caracteres no buffer.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando a entrada de condio de linha passa de falsa para
verdadeira, a instruo ACB conta os caracteres no buffer.
Para programar a instruo ACB, siga estas orientaes:
1. Configure a porta serial do controlador para modo de usurio.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Insira:
Channel: DINT imediato
tag
0
Porta Serial
Control
SERIAL_PORT_
CONTROL
tag tag que controla a operao
Character
Count
DINT imediato 0
Durante a execuo, exibe o nmero de
caracteres no buffer.
EN
DN
ER
ASCII Chars in Buffer
Channel ?
SerialPort Control ?
Character Count ?
ACB
EN CII Handshake Lines
AHL
42225
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit de habilitao indica que a instruo est habilitada.
RN BOOL O bit de operao indica que a instruo est executando.
.EM BOOL O bit vazio indica que a instruo est concluda.
.ER BOOL O bit de erro indica quando a instruo falha (erros).
.FD BOOL O bit encontrado indica que a instruo encontra os caracteres de terminao
.POS DINT A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de
caracteres de terminao.
.ERRO DINT O erro contm um valor hexadecimal que identifica a causa do erro.
Publicao 1756-RM003C-PT-P - Novembro 2000
16-8 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
2. Passe a entrada da condio de linha para a instruo ACB de
falsa para verdadeira toda vez que o buffer estiver para ser
contado. Por exemplo, para contar repetidamente o buffer, use
uma instruo XIO para examinar o bit .EN da instruo ACB.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O bit .EN est energizado.
Os bits de status restantes, exceto .UL, so desenergizados.
A instruo tenta entrar na fila ASCII.
A sada da condio da linha est definida como verdadeira.
Contar continuamente os caracteres no buffer
42227
/
weight_count.EN
EN
DN
ER
ASCII Chars in Buffer
Channel 0
SerialPort Control weight_count
Character Count 0
ACB
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-9
Remoo de Buffer e da
Fila ASCII (ACL)
A instruo ACL imediatamente remove o buffer e a fila ASCII.
Operandos de Lgica
Ladder:
Operandos de Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando a entrada da condio da linha for verdadeira, a instruo
ACL imediatamente realiza uma ou ambas das seguintes aes:
remove o buffer de caracteres e remove a fila ASCII das instrues de
leitura
remove a fila ASCII das instrues de escrita
Para programar a instruo ACL, siga estas orientaes:
1. Configure a porta serial do controlador:
2. Para determinar se uma instruo foi removida da fila ou
abortada, examine as seguintes instrues apropriadas:
bit .ER est energizado
membro .ERROR 16#E
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Insira:
Channel: DINT imediato
tag
0
Clear Serial
Port Read
BOOL imediato
tag
Para esvaziar o buffer e remover as
instrues ARD e ARL da fila, digite Yes.
Clear Serial
Port Write
BOOL imediato
tag
Para remover as instrues AWA e AWT da
fila, digite Yes.
ASCII Clear Buffer
Channel ?
Clear Serial Port Read ?
Clear Serial Port Write ?
ACL
42225
Se sua aplicao: Ento:
usa as instrues ARD or ARL Selecione modo do Usurio
no usa as instrues ARD ou ARL Selecione ou o modo do Sistema ou do
Usurio
Publicao 1756-RM003C-PT-P - Novembro 2000
16-10 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Exemplo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira A instruo remove as instrues especficas e o(s) buffer(s).
A sada da condio da linha est definida como verdadeira.
Quando o controlador entra no modo Run, remove o buffer e a fila ASCII
42228
S:FS
ASCII Clear Buffer
Channel 0
Clear Serial Port Read 1
Clear Serial Port Write 1
ACL
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-11
Linhas ASCII Handshake
(AHL)
A instruo AHL obtm o status das linhas de controle e liga e desliga
os sinais DTR e RTS.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Insira:
Channel: DINT tag
imediato
0
ANDMask DINT imediato
tag
Consulte a descrio.
ORMask DINT imediato
tag
Porta Serial
Control
SERIAL_PORT_
CONTROL
tag tag que controla a operao
Channel
Status
(Decimal)
DINT imediato 0
Durante a execuo, exibe o status das
linhas de controle.
EN
DN
ER
ASCII Handshake Lines
Channel ?
AND Mask ?
??
OR Mask ?
??
SerialPort Control ?
Channel Status(Decimal) ?
AHL
ARL
42225
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit de habilitao indica que a instruo est habilitada.
RN BOOL O bit de operao indica que a instruo est executando.
.EM BOOL O bit vazio indica que a instruo est concluda.
.ER BOOL O bit de erro indica quando a instruo falha (erros).
.FD BOOL O bit encontrado indica que a instruo encontra os caracteres de terminao
.POS DINT A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de
caracteres de terminao.
.ERROR DINT O erro contm uma valor hexadecimal que identifica a causa de um erro.
Publicao 1756-RM003C-PT-P - Novembro 2000
16-12 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Descrio: Quando a entrada de condio da linha passa de falsa para
verdadeira, a instruo AHL pode realizar estas aes:
obter o status das linhas de controle da porta serial
ligar ou desligar o sinal (DTR) pronto do terminal de dados
ligar ou desligar o pedido para enviar o sinal (RTS)
Para programar a instruo AHL, siga estas orientaes:
1. Configure a porta serial do controlador:
2. Use as tabelas seguintes para selecionar os valores corretos para
os operandos ANDMask e ORMask:
3. Passe a entrada da condio de linha para a instruo AHL de
falsa para verdadeira toda vez que a instruo estiver para
executar.
Flags de Status Aritmtico: no afetados
Condies de Falha: nenhuma
Se sua aplicao: Ento:
usa as instrues ARD or ARL Selecione modo do Usurio
no usa as instrues ARD ou ARL Selecione ou o modo do Sistema ou do
Usurio
DTR: RTS: Digite este valor
ANDMask:
E digite este valor
ORMask:
off off 3 0
on 1 2
no mudado 1 0
on off 2 1
on 0 3
no mudado 0 1
no mudado off 2 0
on 0 2
no mudado 0 0
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-13
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O bit .EN est energizado.
Os bits de status restantes, exceto .UL, so desenergizados.
A instruo tenta entrar na fila ASCII.
A sada da condio da linha est definida como verdadeira.
Quando get_control_line_status est on, a instruo AHL obtm o status das linhas de controle da porta serial e exibe o status no
operando Channel Status. Para vizualizar o status de uma linha de controle especfica, monitore a tag SerialPort Control e expanda o
membro POS.
42230
get_control_line_status
EN
DN
ER
ASCII Handshake Lines
Channel 0
AND Mask 0
OR Mask 0
SerialPort Control serial_port
Channel Status(Decimal) 29
AHL
Publicao 1756-RM003C-PT-P - Novembro 2000
16-14 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Leitura ASCII (ARD)
A instruo ARD remove os caracteres do buffer e armazena-os em
Destination.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Insira:
Channel: DINT imediato
tag
0
Destination SINT
INT
DINT
elemento
de uma tag
de matriz
primeiro elemento da matriz na qual os
caracteres so movidos (leitura)
Porta Serial
Control
SERIAL_PORT_
CONTROL
tag tag que controla a operao
String
Length
DINT imediato nmero de caracteres para mover para
destination (leitura)
Characters
Read
DINT imediato 0
Durante a execuo, exibe o nmero de
caracteres que foram lidos.
EN
DN
ER
ASCII Read
Channel ?
Destination ?
??
SerialPort Control ?
String Length ?
Characters Read ?
ARD
EN ASCII W it A d
AWA
42225
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit de habilitao indica que a instruo est habilitada.
RN BOOL O bit de operao indica que a instruo est executando.
.EM BOOL O bit vazio indica que a instruo est concluda.
.ER BOOL O bit de erro indica quando a instruo falha (erros).
.FD BOOL O bit encontrado indica que a instruo encontra os caracteres de terminao
.POS DINT A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de
caracteres de terminao.
.ERROR DINT O erro contm um valor hexadecimal que identifica a causa de um erro.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-15
Descrio: Quando a entrada da condio da linha passa de falsa para
verdadeira, a instruo ARD remove o nmero especfico de
caracteres do buffer e armazena-os em Destination.
A instruo continua a executar at remover o nmero
especfico de caracteres (operando String Length).
Enquanto a instruo ARD est sendo executada, nenhuma
outra instruo ASCII executada.
Para programar a instruo ARD, siga estas orientaes:
1. Configure a porta serial do controlador para modo de usurio.
2. Use os resultados de uma instruo ACB para iniciar a instruo
ARD. Isto previne a instruo ARD de segurar a fila ASCII
enquanto ela espera o nmero de caracteres requisitado.
Consulte "Exemplo de Lgica Ladder:" na pgina 16-16.
3. Passe a entrada da condio de linha da instruo ARD de falsa
para verdadeira toda vez que o buffer estiver para ser lido.
4. Use uma matriz de SINTs para Destination. Cada caracter ASCII
usa oito bits (um SINT), para que cada elemento da matriz tenha
armazenado um caracter.
5. Voc quer que a primeira varredura do programa atualize o
operando String Length de acordo com o comprimento da
matriz Destination ou o tamanho do buffer, o que for menor?
6. Se o dado um valor, tal como um peso, converta-o em um
valor inteiro ou valor de ponto flutuante.
Flags de Status Aritmtico: no afetados
Condies de Falha:
Se: Ento, no operando String Length:
sim Digite 0.
no Digite o nmero de caracteres para mover para o destination.
Se: Uma falha de advertncia ocorre:
Tipo: Cdigo:
operando String Length negativo. 4 30
Publicao 1756-RM003C-PT-P - Novembro 2000
16-16 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
O exemplo seguinte representa o uso de uma instruo ACB para
verificar se o nmero correto de caracteres est no buffer antes que a
instruo ARD execute e leia os caracteres.
Execu do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O bit .EN energizado.
Os bits de status restantes, exceto .UL, so desenergizados.
A instruo tenta entrar na fila ASCII.
A sada da condio da linha est definida como verdadeira.
Uma balana envia os valores de pesos para a porta serial (canal 0) do controlador. Cada peso sempre contm sete caracteres. Para
determinar quando o controlador recebe um peso, a instruo ACB inclui continuamente os caracteres no buffer.
Quando o buffer contm ao menos sete caracteres, o controlador recebeu um peso. A instruo ARD move o peso para o tag weight_ascii,
que uma matriz de SINTs.
Quando o controlador termina de ler o peso (weight_read.EM est energizado), a sub-rotina Ascii_To_Real executa uma vez para
converter o peso para um valor de ponto flutuante (REAL) para uso na aplicao.
42227
/
weight_count.EN
EN
DN
ER
ASCII Chars in Buffer
Channel 0
SerialPort Control weight_count
Character Count 0
ACB
Grtr Than or Eql (A>=B)
Source A weight_count.pos
0
Source B 7
GEQ
EN
DN
ER
ASCII Read
Channel 0
Destination weight_ascii[0]
'$00'
SerialPort Control weight_read
String Length 7
Characters Read 0
ARD
weight_read.EM
ONS
weight_convert
Jump to Subroutine
Routine name Ascii_To_Real
Return par weight
JSR
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-17
Linha de Leitura ASCII
(ARL)
A instruo ARL remove caracteres do buffer e armazena-os em
Destination.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Insira:
Channel: DINT imediato
tag
0
Destination SINT
INT
DINT
elemento
de um tag
de matriz
primeiro elemento da matriz na qual os
caracteres so movidos (leitura)
Porta Serial
Control
SERIAL_PORT_
CONTROL
tag tag que controla a operao
String
Length
DINT imediato nmero de caracteres mximo para mover
para destination (ex.: quando parar de ler
se nenhum caracter de terminao for
encontrado)
Characters
Read
DINT imediato 0
Durante a execuo, exibe o nmero de
caracteres que foram lidos.
EN
DN
ER
ASCII Read Line
Channel ?
Destination ?
??
SerialPort Control ?
String Length ?
Characters Read ?
ARL
EN ASCII W it
AWT
42225
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit de habilitao indica que a instruo est habilitada.
RN BOOL O bit de operao indica que a instruo est executando.
.EM BOOL O bit vazio indica que a instruo est concluda.
.ER BOOL O bit de erro indica quando a instruo falha (erros).
.FD BOOL O bit encontrado indica que a instruo encontra os caracteres de terminao
.POS DINT A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de
caracteres de terminao.
.ERROR DINT O erro contm um valor hexadecimal que identifica a causa de um erro.
Publicao 1756-RM003C-PT-P - Novembro 2000
16-18 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Descrio: Quando a entrada da condio da linha passa de falsa para
verdadeira, a instruo ARL remove os caracteres do buffer e
armazena-os em Destination como segue:
A instruo ARL continua a ser executada at remover ou
primeiro conjunto de caracteres de terminao
nmero especfico de caracteres (operando String Length)
Enquanto a instruo ARL est sendo executada, nenhuma outra
instruo ASCII executada.
Para programar a instruo ARL, siga estas orientaes:
1. Configure a porta serial do controlador:
a. Selecione modo do Usurio
b. Defina os caracteres que servem como caracteres de
terminao.
2. Use os resultados de uma instruo ABL para iniciar a instruo
ARL. Isto previne a instruo ARL de segurar a fila ASCII
enquanto espera pelos caracteres de terminao. Consulte
"Exemplo de Lgica Ladder:" na pgina 16-19.
3. Passe a entrada da condio de linha para a instruo ARL de
falsa para verdadeira toda vez que o buffer estiver para ser lido.
4. Use uma matriz de SINTs para destination. Cada caracter ASCII
usa oito bits (um SINT), para que cada elemento da matriz
armazene um caracter.
5. Voc quer que a primeira varredura do programa atualize o
operando String Length de acordo com o comprimento da
matriz Destination ou o tamanho do buffer, o que for menor?
6. Se o dado um valor, tal como um peso, converta-o em um
valor inteiro ou valor de ponto flutuante.
Se: Ento, no operando String Length:
sim Digite 0.
no Digite o nmero de caracteres mximo que qualquer mensagem
incluir (ex.: quando parar de ler se nenhum caracter de terminao
for encontrado).
Por exemplo, se as mensagens variam de 3 a 6 caracteres no
comprimento, digite 6.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-19
Flags de Status Aritmtico: no afetados
Condies de Falha:
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
O seguinte exemplo representa o uso de uma instruo ABL para
testar o buffer quanto ao final da mensagem antes da instruo ARL
ler a mensagem.
Se: Uma falha de advertncia ocorre:
Tipo: Cdigo:
operando String Length negativo. 4 30
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O bit .EN est energizado.
Os bits de status restantes, exceto .UL, esto desenergizados.
A instruo tenta entrar na fila ASCII.
A sada da condio da linha est definida como verdadeira.
Depois de enviar uma mensagem para o terminal MessageView, como indicado por temp_high_write.EM, o controlador espera que um
operador reconhea a mensagem. Cada reconhecimento varia de 3 a 6 caracteres, mas sempre termina em $r. Como $r configurado
como o caracter de terminao na janela Properties do Controlador, guia User Protocol, a instruo ABL testa continuamente o buffer
quanto ao $r.
temp_high_write.EM
/
ack.EN
EN
DN
ER
ASCII Test For Buffer Line
Channel 0
SerialPort Control ack
Character Count 0
ABL
Publicao 1756-RM003C-PT-P - Novembro 2000
16-20 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Quando a instruo ABL encontra o $r (ack.FD energizado), o controlador recebeu o reconhecimento pelo operador. A instruo ARL
remove os caracteres do buffer, at e incluindo o $r, e coloca-os no tag temp_high_ack tag, que uma matriz SINT.
42226
ack.FD
EN
DN
ER
ASCII Read Line
Channel 0
Destination temp_high_ack[0]
'$00'
SerialPort Control temp_high_ack_read
String Length 6
Characters Read 0
ARL
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-21
Anexar Leitura ASCII (AWA)
A instruo AWA envia caracteres da matriz Source para um
dispositivo serial e anexa um ou dois caracteres pr-definidos.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Insira:
Channel: DINT imediato
tag
0
Source SINT
INT
DINT
elemento
de uma tag
de matriz
primeiro elemento de matriz que contm
o dado a ser enviado
Porta Serial
Control
SERIAL_PORT_
CONTROL
tag tag que controla a operao
String
Length
DINT imediato nmero de caracteres a serem enviados
Characters
sent
DINT imediato 0
Durante a execuo, exibe o nmero de
caracteres que foram enviados
EN
DN
ER
ASCII Write Append
Channel ?
Source ?
??
SerialPort Control ?
String Length ?
Characters Sent ?
AWA
42225
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit de habilitao indica que a instruo est habilitada.
RN BOOL O bit de operao indica que a instruo est executando.
.EM BOOL O bit vazio indica que a instruo est concluda.
.ER BOOL O bit de erro indica quando a instruo falha (erros).
.FD BOOL O bit encontrado indica que a instruo encontra os caracteres de terminao
.POS DINT A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de
caracteres de terminao.
.ERROR DINT O erro contm um valor hexadecimal que identifica a causa de um erro.
Publicao 1756-RM003C-PT-P - Novembro 2000
16-22 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Descrio: Quando a entrada da condio da linha passa de falsa para
verdadeira, a instruo AWA:
envia o nmero de caracteres especfico (String Length) da
matriz Source para o dispositivo que est conectado porta
serial do controlador
adiciona no fim do dado (anexa) um ou dois caracteres que so
definidos na janela Properties do Controlador, guia User
Protocol
Para programar a instruo AWA, siga estas orientaes:
1. Configure a porta serial do controlador:
a. Sua aplicao tambm inclui as instrues ARD ou ARL?
b. Defina os caracteres para anexar os dados.
2. Passe a entrada da condio de linha para a instruo AWA de
falsa para verdadeira toda vez que os caracteres estiverem para
ser enviados.
3. Use uma matriz de SINTs para o source. Cada caracter ASCII usa
oito bits (um SINT), para que cada elemento da matriz armazene
um caracter.
4. Voc quer que a primeira varredura do programa atualize o
operando de Comprimento da matriz Fonte ou o tamanho do
buffer, o que for menor?
5. Na matriz Source, digite os caracteres a serem enviados. Omita
os caracteres que a instruo acrescentar automaticamente.
Se: Ento:
sim Selecione modo do Usurio
no Selecione ou o modo do Sistema ou do
Usurio
Se: Ento, no operando String Length:
sim Digite 0.
no Digite o nmero de caracteres a serem enviados.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-23
Flags de Status Aritmtico: no afetados
Condies de Falha:
Execuo de Lgica
Ladder:
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Se: Uma falha de advertncia ocorre:
Tipo: Cdigo:
operando String Length negativo. 4 30
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O bit .EN est energizado.
Os bits de status restantes, exceto .UL, est desenergizados.
A instruo tenta entrar na fila ASCII.
A sada da condio da linha est definida como verdadeira.
Quando a temperatura exceder o limite superior (temp_high is on), a instruo AWA envia uma mensagem para o terminal MessageView
que est conectado porta serial do controlador. A mensagem contm nove caracteres da matriz msg_5. A instruo tambm envia
(anexa) os caracteres definidos nas propriedades do controlador. Neste exemplo, a instruo AWA envia um caracterer $0D, que marca o
fim da mensagem
42226
temp_high
EN
DN
ER
ASCII Write Append
Channel 0
Source msg_5[0]
'$14'
SerialPort Control temp_high_write
String Length 9
Characters Sent 0
AWA
Publicao 1756-RM003C-PT-P - Novembro 2000
16-24 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Escrita ASCII (AWT)
A instruo AWT envia caracteres da matriz Source para um
dispositivo serial.
Operandos de Lgica
Ladder:
Estrutura:
Operandos do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Descrio: Quando a entrada da condio de linha faz a transio de falsa para
verdadeira, a instruo AWT envia o nmero especificado de
caracteres (Comprimento do String) da matriz Source para o
dispositivo que est conectado porta serial do controlador.
Linguagens Disponveis:
Lgica Ladder
Operando Tipo: Formato: Insira:
Channel: DINT imediato
tag
0
Source SINT
INT
DINT
elemento
de uma tag
de matriz
primeiro elemento de matriz que contm
o dado a ser enviado
Porta Serial
Control
SERIAL_PORT_
CONTROL
tag tag que controla a operao
String
Length
DINT imediato nmero de caracteres a serem enviados
enviar
caracteres
DINT imediato 0
Durante a execuo, exibe o nmero de
caracteres que foram enviados
EN
DN
ER
ASCII Write
Channel ?
Source ?
??
SerialPort Control ?
String Length ?
Characters Sent ?
AWT
42225
Mnemnico: Tipo de Dados: Descrio:
.EN BOOL O bit de habilitao indica que a instruo est habilitada.
RN BOOL O bit de operao indica que a instruo est executando.
.EM BOOL O bit vazio indica que a instruo est concluda.
.ER BOOL O bit de erro indica quando a instruo falha (erros).
.FD BOOL O bit encontrado indica que a instruo encontra os caracteres de terminao
.POS DINT A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de
caracteres de terminao.
.ERRO DINT O erro contm um valor hexadecimal que identifica a causa de um erro.
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-25
Para programar a instruo AWT, siga estas orientaes:
1. Configure a porta serial do controlador:
2. Passe a entrada da condio de linha para a instruo AWT de
falsa para verdadeira toda vez que os caracteres estiverem para
ser enviados.
3. Use uma matriz de SINTs para o source. Cada caracter ASCII usa
oito bits (um SINT), para que cada elemento da matriz tenha
armazenado um caracter.
4. Voc quer que a primeira varredura do programa atualize o
operando de Comprimento da matriz Fonte ou o tamanho do
buffer, o que for menor?
5. Na matriz Source, digite os caracteres a serem enviados.
Flags de Status Aritmtico: no afetados
Condies de Falha:
Execuo de Lgica
Ladder:
Se sua aplicao: Ento:
usa as instrues ARD or ARL Selecione modo do Usurio
no usa as instrues ARD ou ARL Selecione ou o modo do Sistema ou do Usurio
Se: Ento, no operando String Length:
sim Digite 0.
no Digite o nmero de caracteres a serem enviados.
Se: Uma falha de advertncia ocorre:
Tipo: Cdigo:
operando String Length negativo. 4 30
Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O bit .EN est energizado.
Os bits de status restantes, exceto .UL, esto desenergizados.
A instruo tenta entrar na fila ASCII.
A sada da condio da linha est definida como verdadeira.
Publicao 1756-RM003C-PT-P - Novembro 2000
16-26 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Exemplo de Lgica
Ladder:
Execuo do Bloco de
Funo:
Esta instruo no est disponvel no bloco de funo.
Quando a temperatura alcana o limite inferior (temp_low est energizado), a instruo AWT envia uma mensagem para o terminal
MessageView que est conectado porta serial do controlador. A mensagem contm os primeiros 10 caracteres da matriz msg_4. O
dcimo caracter um $0D, que marca o fim da mensagem.
42229
temp_low
EN
DN
ER
ASCII Write
Channel 0
Source msg_4[0]
'$00'
SerialPort Control temp_low_msg_send
String Length 10
Characters Sent 0
AWT
Publicao 1756-RM003C-PT-P - Novembro 2000
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-27
Notas:
Publicao 1756-RM003C-PT-P - Novembro 2000
16-28 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Apndice A
Atributos Comuns
Introduo
Este apndice descreve os atributos comuns s instrues Logix .
Valores Imediatos
Sempre que voc inserir um valor imediato (constante) no formato
decimal (por ex.:-2,3), o controlador armazenar o valor usando 32
bits. Se voc inserir um valor em uma base diferente da decimal
como, por exemplo, binria ou hexadecimal, e no especificar todos
os 32 bits, o controlador colocar um zero nos bits no especificados
(preenchimento com zero).
Converses de Dados
As converses de dados ocorrem quando se combina tipos de dados
na sua programao:
Para mais informaes sobre: Consulte pgina:
Valores Imediatos A-1
Converses de Dados A-1
EXEMPLO
Preenchimento com zero de valores imediatos
Se voc inserir: O controlador armazenar:
-1 16#ffff ffff (-1)
16#ffff (-1) 16#0000 ffff (65535)
8#1234 (668) 16#0000 029 c (668)
2#1010 (10) 16#0000 000a (10)
Ao programar em: As converses podem ocorrer quando:
lgica ladder se combina tipos de dados para os parmetros dentro de
uma instruo
bloco de funo se liga dois parmetros que possuem tipos diferentes de
dados
Publicao 1756-RM003C-PT-P - Novembro 2000
A-2 Atributos Comuns
As instrues executam mais rpido e necessitam de menos memria
se todos os operandos da instruo usarem:
os mesmos tipos de dados
um tipo de dado timo:
Na seo Operandos de cada instruo neste manual, um
tipo de dados em negrito indica um tipo de dado timo.
Os tipos de dados DINT e REAL so geralmente os tipos de
dados timos.
A maioria das instrues do bloco de funo somente suporta
um tipo de dados (o tipo de dados timo) para os operandos.
Se voc combinar os tipos de dados e usar os tags que no so do
tipo de dado timo, o controlador converter os dados de acordo
com estas regras
Alguns operandos so um valor REAL?
Depois da execuo da instruo, o resultado (um valor DINT
ou REAL) convertido para o tipo de dado de destino, se
necessrio.
No se pode especificar um tag BOOL na instruo que opera em
tipos de dados inteiros ou REAL.
Como a converso de dados precisa de memria e tempo adicionais,
possvel aumentar a eficincia dos programas atravs:
do uso do mesmo tipo de dado em toda a instruo
da reduo do uso de tipos de dados SINT ou INT
Em outras palavras, use todos os tags DINT ou REAL, juntamente com
os valores imediatos, nas suas instrues.
As sees a seguir explicam como os dados sero convertidos ao usar
os tags SINT ou INT ou ao combinar tipos de dados.
Se: Ento os operandos de entrada (por ex.: fonte, tag em uma
expresso, limite) so convertidos em:
sim REALs
no DINTs
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos Comuns A-3
SINT ou INT para DINT
Para aquelas instrues que convertem os valores SINT ou INT em
valores DINT, as sees Operandos neste manual identificam o
mtodo de converso.
O exemplo a seguir mostra os resultados da converso de um valor
usando uma extenso de sinal e preenchimento com zero.
Como os valores imediatos so sempre preenchidos com zero, a
converso de um valor SINT ou INT pode produzir resultados
inesperados. No exemplo a seguir, a comparao falsa porque
Source A, tipo INT, converte por extenso de sinal; enquanto que
Source B, valor imediato, preenchida com zero.
Este mtodo de converso: Converte os dados, colocando:
extenso de sinal o valor do bit mais esquerda (o sinal do valor) em cada
posio de bit esquerda dos bits existentes at que
haja 32 bits.
Preenchimento com zero zeros esquerda dos bits existentes at que haja 32 bits
Este valor. 2#1111_1111_1111_1111 (-1)
Converte para este
valor por extenso
de sinal
2#1111_1111_1111_1111_1111_1111_1111_1111 (-1)
Converte este valor
por preenchimento
com zero
2#0000_0000_0000_0000_1111_1111_1111_1111 (65535)
der Logic Listing - Total number of rungs: 3
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B 2#1111_1111_1111_1111
EQU
42093
Publicao 1756-RM003C-PT-P - Novembro 2000
A-4 Atributos Comuns
Se voc usar um tag SINT ou INT e um valor imediato em uma
instruo que converte dados por extenso de sinal, use um destes
mtodos para manusear os valores imediatos:
Especifique um valor imediato na base decimal
Se voc estiver inserindo o valor em uma base diferente da
decimal, especifique todos os 32 bits do valor imediato. Para
tanto, insira o valor no bit esquerda em cada posio de bit a
sua esquerda at que haja 32 bits.
Crie um tag para cada operando e use o mesmo tipo de dados
em toda a instruo. Para atribuir um valor constante, possvel:
Insirir um valor em uma dessas variveis
Acrescentar uma instruo MOV que move o valor para um
dos tags.
Use uma instruo MEQ para verificar somente os bits
requisitados.
Os exemplos a seguir mostram duas formas de misturar um valor
imediato com um tag INT. Os dois exemplos verificam os bits de um
mdulo 1771 de E/S para determinar se todos os bits esto
energizados. Como a palavra de dados de entrada de um mdulo
1771 de E/S um tag INT, mais fcil usar um valor constante de 16
bits.
EXEMPLO
Exemplo :Combinao de um tag INT com um valor
imediato
J que remote_rack_1:I.Data[0] um tag INT, o valor
com o qual deve ser comparado tambm inserido
como um tag INT.
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B int_0
2#1111_1111_1111_1111
EQU
42093
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos Comuns A-5
Inteiro para REAL
O controlador armazena os valores REAL em uma preciso nica
IEEE, formato de nmero de ponto flutuante. Use um bit para o sinal
do valor, 23 bits para o valor base e 8 bits para o expoente (total de 32
bits). Se combinar um tag de inteiro (SINT, INT ou DINT) e um tag
REAL como entradas na mesma instruo, o controlador converte o
valor inteiro em REAL antes da instruo ser executada.
Um valor SINT ou INT sempre convertido para o mesmo valor
REAL.
Um valor DINT pode no ser convertido para o mesmo valor
REAL:
Um valor REAL usa at 24 bits para o valor base (23 bits
armazenados mais um bit "escondido").
Um valor DINT usa at 32 bits para o valor (um para o sinal e
31 para o valor).
Se o valor DINT requerer mais do que 24 bits significativos,
pode no converter para o mesmo valor REAL. Se no
converter, o controlador arredonda para o valor REAL mais
prximo, usando 24 bits significativos.
DINT para SINT para INT
Para converter um valor DINT para um valor SINT ou INT, o
controlador trunca a parte superior de DINT e energiza o flag de
EXEMPLO
Exemplo: Combinao de um tag INT com um valor
imediato
J que remote_rack_1:I.Data[0] um tag INT, o valor com o
qual deve ser comparado primeiro se move para int_0, em
um tag INT, tambm. Em seguida, a instruo EQU
compara os dois tags.
2#1111_1111_1111_1111
Move
Source 2#1111_1111_1111_1111
Dest int_0
2#1111_1111_1111_1111
MOV
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B int_0
2#1111_1111_1111_1111
EQU
42093
Publicao 1756-RM003C-PT-P - Novembro 2000
A-6 Atributos Comuns
status de overflow, se necessrio. O exemplo a seguir mostra o
resultado de um converso de DINT para SINT ou INT.
REAL para um inteiro
Para converter um valor REAL para um valor inteiro, o controlador
arredonda a parte fracionria e trunca a parte superior da parte no
fracionria. Se os dados forem perdidos, o controlador energiza o flag
de status de overflow. Os nmeros so arredondados da seguinte
forma:
Nmeros diferentes de x,5 so arredondados para o nmero
inteiro mais prximo.
X,5 arredondado para o nmero par mais prximo.
O exemplo a seguir mostra o resultado da converso de valores REAL
em valores DINT.
EXEMPLO
Converso de um DINT para um INT e um SINT
EXEMPLO
Converso de valores REAL em valores DINT
Este valor DINT: Converte para este valor menor:
16#0001_0081 (65.665) INT: 16#0081 (129)
SINT: 16#81 (-127)
Este valor REAL: Converte para este valor DINT:
-2,5 -2
-1,6 -2
-1,5 -2
-1,4 -1
1,4 1
1,5 2
1,6 2
2,5 2
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos Comuns A-7
IMPORTANTE
Os flags de status aritmtico so baseados no valor a ser
armazenado. As instrues que normalmente no afetam as
palavras-chaves do status aritmtico podem parecer faz-lo
se a converso de tipo ocorrer por causa dos tipos de dados
para os parmetros da instruo. O processo de converso
de tipo define as palavras-chaves do status aritmtico.
Publicao 1756-RM003C-PT-P - Novembro 2000
A-8 Atributos Comuns
1 Publicao 1756-RM003C-PT-P - Novembro 2000
Apndice B
Atributos de Bloco de Funo
Introduo
Este apndice descreve caractersticas nicas das instrues de bloco
de funo. Estude as informaes deste apndice para entender
corretamente como as rotinas de bloco de funo operaro.
Dados Retentivos
Se usar um IREF para especificar dados de entrada para uma instruo
de bloco de funo, os dados neste IREF sero retidos para a
varredura da rotina do bloco de funo. O IREF retm dados de tags
de uso geral do controlador e especficos do programa. O controlador
atualiza todos os dados IREF no incio de cada varredura.
IMPORTANTE
Quando programar no bloco de funo, limite a faixa de unidade de
medida para +/-10
+/-15
pois os clculos internos de ponto flutuante
so feitos usando ponto flutuante de preciso nica. As unidades de
medida fora desta faixa podem acarretar em perda de preciso se os
resultados se aproximarem das limitaes do ponto flutuante de
preciso nica (+/-10
+/-38
).
IREF
Publicao 1756-RM003C-PT-P - Novembro 2000
B-2 Atributos de Bloco de Funo
Neste exemplo, o valor de tagA armazenado no incio da execuo
da rotina. O valor armazenado usado na execuo do Block_01.
Este mesmo valor tambm usado na execuo do Block_02. Se o
valor de tagA se altera durante a execuo da rotina, o valor
armazenado de tagA no IREF no se altera at a prxima execuo da
rotina.
Este exemplo igual ao do anterior. O valor de tagA armazenado
somente uma vez no incio da execuo da rotina. A rotina usa este
valor armazenado durante toda a rotina.
Ordem de Execuo
O software de programao RSLogix 5000 determina automaticamente
a ordem de execuo para os blocos de funo na rotina quando:
se verifica uma rotina de bloco de funo
se verifica um projeto que contm uma rotina de bloco de
funo
se descarrega um projeto que contm uma rotina de bloco de
funo
Define-se a ordem de execuo atravs da conexo de blocos de
funo juntos e da indicao de fios localizados de feedback, se
necessrio.
tagA
Block_01
Block_02
tagA
Block_01
Block_02
tagA
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos de Bloco de Funo B-3
Se os blocos de funo no so conectados juntos, no existe ordem
de execuo para determinar.
Se os blocos so conectados sequencialmente, a ordem de execuo
se move da entrada para sada. As entradas de um bloco devem estar
disponveis antes que o controlador possa executar este bloco. Por
exemplo, o bloco 2 deve executar antes do bloco 3, pois as sadas do
bloco 2 alimentam as entradas do bloco 3.
A ordem de execuo se refere somente aos blocos que so
conectados juntos. O exemplo a seguir est correto pois os dois
grupos de blocos no esto conectados juntos. Os blocos dentro de
um grupo especfico executam a ordem apropriada em relao aos
blocos daquele grupo.
1 2 3
1 3 5
2 4 6
Publicao 1756-RM003C-PT-P - Novembro 2000
B-4 Atributos de Bloco de Funo
Se um grupo de blocos estiver em uma malha, o controlador no
pode determinar que entradas devem estar disponveis primeiro. Use
um fio de feedback localizado para determin-las. Se um pino de
entrada estiver conectado a um fio de feedback localizado, a entrada
no deve estar disponvel antes que o bloco possa executar. Neste
exemplo, o bloco 1 usa a sada do bloco 3 que foi produzido na
execuo anterior da rotina.
Em resumo, uma rotina de bloco de funo executa nesta ordem:
1. O controlador retm todos os valores de dados nos IREFs.
2. O controlador executa os outros blocos de funo para determinar
como so conectados.
3. O controlador escreve sadas nos OREFs.
1 2 3
fio de feedback localizado
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos de Bloco de Funo B-5
Respostas de Bloco de
Funo para Condies de
Overflow
Em geral, as instrues de bloco de funo que mantm o histrico
no o atualiza com valores NAN, ou INF quando um overflow
ocorre. Cada instruo tem uma destas respostas para uma condio
de overflow:
Modos de Temporizao
Estas instrues de controle de processo e inversor suportam modos
diferentes de temporizao.
DEDT NTCH
DERV PI
HPF PIDE
INTG RLIM
LDLG SCRV
LDL2 SOC
LPF TOT
Resposta 1:
Os blocos executam seus algoritmos e
verificam o resultado para NAN ou INF.
Se NAN ou INF, as sadas de bloco
NAN ou INF.
Resposta 2:
Os blocos com sadas de limitao
executam seus algoritmos e verificam o
resultado por NAN ou INF. Os limites
de sada so definidos pelos parmetros de
entrada HighLimit e LowLimit. Se INF, o
bloco produz um resultado limitado.
Se NAN, os limites da sada no so
usados e os blocos produzem NAN.
Resposta 3:
A condio de overflow no se aplica. Estas
instrues possuem geralmente uma sada
booleana.
ALM NTCH
DEDT PMUL
DERV POSP
ESEL RLIM
FGEN RMPS
HPF SCRV
LDL2 SEL
LDLG SNEG
LPF SRTP
MAVE SSUM
MAXC TOT
MINC UPDN
MSTD
MUX
HLL
INTG
PI
PIDE
SCL
SOC
BAND OSRI
BNOT RESD
BOR RTOR
BXOR SETD
CUTD TOFR
D2SD TONR
D3SD
DFF
JKFF
OSFI
Publicao 1756-RM003C-PT-P - Novembro 2000
B-6 Atributos de Bloco de Funo
Existem trs modos de temporizao diferentes:
As instrues baseadas no tempo requerem um valor constante para o
DeltaT, para que o algoritmo de controle calcule adequadamente a
sada do processo. Se o DeltaT varia, uma descontinuidade ocorre na
sada do processo. A gravidade da descontinuidade depende da
instruo e a faixa da variao do DeltaT. Uma descontinuidade
ocorre se:
a instruo no executada durante uma varredura.
a instruo executada mltiplas vezes durante uma tarefa.
a tarefa estiver operando e a taxa de varredura da tarefa ou o
tempo de amostra da entrada do processo se altera.
o usurio altera o modo de base de tempo enquanto a tarefa
estiver operando.
O parmetro de ordem alterado no bloco de filtro enquanto a
tarefa est operando. A alterao do parmetro Order seleciona
um algoritmo de controle diferente dentro da instruo.
Modo de Temporizao: Descrio:
peridico No modo peridico, o perodo delta (Delta T) usado pela instruo a taxa de varredura da tarefa quando a
instruo executada dentro de uma tarefa peridica. Se a instruo for executada em uma tarefa contnua,
o Delta T igual ao tempo transcorrido desde a execuo anterior.
A atualizao da entrada do processo deve ser sincronizada com a execuo da tarefa ou amostragem 5-10
vezes mais rpida do que a da tarefa, a fim de minimizar o erro de amostragem entre a entrada e
a instruo.
amostragem configurada No modo de amostragem configurada, o perodo delta (Delta T) usado pela instruo o valor escrito no
parmetro OversampleDT da instruo. Use este modo quando a instruo executa em uma tarefa contnua
e a entrada do processo no tem timestamp associado com as atualizaes. Se a entrada do processo tiver
timestamp, prefira usar o modo de amostragem em tempo real.
Adicione lgica para o programa controlar quando a instruo executa. Por exemplo, pode-se usar um
temporizador ajustado para o valor OversampleDeltaT para controlar a execuo usando a entrada EnableIn
da instruo.
A entrada do processo deve ser amostrada 5-10 vezes mais rpido do que a execuo da instruo, a fim de
minimizar o erro de amostragem entre a entrada e a instruo.
amostragem em tempo real No modo de amostragem em tempo real, o perodo delta (Delta T) usado pela instruo a diferena entre
dois valores de registro de data e hora que correspondem s atualizaes da entrada do processo. Use este
modo quando a instruo executa em uma tarefa contnua e a entrada do processo tem um registro de data
e hora associado s atualizaes.
O valor de registro de data e hora lido a partir do nome do tag inserido no parmetro RTSTimeStamp da
instruo. Normalmente, este nome de tag um parmetro no mdulo de entrada associado com a entrada
do processo.
A instruo compara o valor configurado RTSTime (perodo programado de atualizao) com o DeltaT
calculado para determinar se todas as atualizaes da entrada do processo esto sendo lidas pela
instruo. Se o DeltaT no estiver dentro de 1 milissegundo do tempo de configurao, a instruo ajusta o
bit de status RTSMissed para indicar que um problema existe na leitura de atualizaes para a entrada no
mdulo.
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos de Bloco de Funo B-7
Parmetros comuns de instruo para modos de temporizao
As instrues que suportam modos de base de tempo possuem estes
parmetros de entrada e sada:
Parmetros de entrada
Parmetro de
Entrada:
Tipo de Dados: Descrio:
TimingMode DINT Seleciona modo de execuo de temporizao.
Valor: Descrio:
0 modo peridico
1 modo de amostragem configurada
2 modo de amostragem em tempo real
vlido = 0 a 2
valor inicial = 0
Quando TimingMode = 0 e a tarefa peridica, a temporizao peridica habilitada e o
DeltaT ajustado para a taxa de varredura da tarefa. Quando TimingMode = 0 e a tarefa
contnua, a temporizao peridica habilitada e o DeltaT ajustado amplitude do tempo
transcorrido desde a ltima vez que a instruo foi executada.
Quando TimingMode = 1, a temporizao da amostragem configurada habilitada e o DeltaT
ajustado para o valor do parmetro OversampleDT.
Quando TimingMode = 2, a temporizao da amostragem em tempo real habilitada e o
DeltaT a diferena entre os valores atual e anterior de registro de data e hora lidos a partir
do mdulo associado com a entrada.
Se TimingMode for invlido, a instruo energiza o bit apropriado em Status.
OversampleDT REAL Tempo de execuo para temporizao de oversample. O valor usado para DeltaT est em
segundos. Se TimingMode = 1, ento OversampleDT = 0,0 desabilita a execuo do
algoritmo de controle. Se invlido, a instruo ajusta DeltaT=0,0 e energiza o bit apropriado
em Status.
vlido = 0 a 4194,303 segundos
valor inicial = 0,0
RTSTime DINT Perodo de atualizao do mdulo para temporizao de amostragem em tempo real. O
perodo programado de atualizao DeltaT est em milissegundos. O perodo de atualizao
normalmente o valor que foi usado para configurar o tempo de atualizao do mdulo. Se
invlido, a instruo energiza o bit apropriado em Status e desabilita a verificao
RTSMissed.
vlido = 1 a 32.767 ms
valor inicial = 1
RTSTimeStamp DINT Valor de registro de data e hora do mdulo para temporizao da amostragem em tempo
real. O valor de registro de data e hora que corresponde ltima atualizao do sinal de
entrada. Este valor usado para calcular o DeltaT. Se invlido, a instruo energiza o bit
apropriado em Status, desabilita a execuo do algoritmo de controle e desabilita a
verificao do RTSMissed.
vlido =1 a 32.767 ms (varia de 32767 a 0)
1 pulso = 1 milissegundo
valor inicial = 0
Publicao 1756-RM003C-PT-P - Novembro 2000
B-8 Atributos de Bloco de Funo
Parmetros de sada
Parmetro de Sada: Tipo de Dados: Descrio:
DeltaT REAL Tempo transcorrido entre atualizaes. Este o tempo transcorrido em segundos usado pelo
algoritmo de controle para calcular a sada de processo.
Peridico: DeltaT = taxa de varredura da tarefa se a tarefa for Periodic, DeltaT = tempo
transcorrido desde a execuo da instruo anterior se a tarefa for Continuous
Amostragem Configurada: DeltaT = OversampleDT
Amostragem em Tempo Real: DeltaT = (RTSTimeStamp
n
- RTSTimeStamp
n-1
)
Status: DINT Status do bloco de funo.
TimingModeInv
(Status.27)
BOOL Valor Invalid TimingMode.
RTSMissed (Status.28) BOOL Usado somente no modo de amostragem em tempo real. Ajustado quando o ABS | DeltaT -
RTSTime | > 1 (,001 segundo).
RTSTimeInv
(Status.29)
BOOL Valor Invalid RTSTime.
RTSTimeStampInv
(Status.30)
BOOL Valor Invalid RTSTimeStamp.
DeltaTInv (Status.31) BOOL Valor Invalid DeltaT.
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos de Bloco de Funo B-9
Caractersticas dos modos de temporizao
O diagrama a seguir mostra como uma instruo determina o modo
apropriado de temporizao.
TimingMode = 2 TimingMode = 1 TimingMode = 0
Determina o modo baseado
no tempo
Temporizao em tempo real
Temporizao na
amostragem configurada
Temporizao peridica
Determine o tipo de tarefa
Tarefa peridica Tarefa no peridica
DeltaT = OversampleDT
Se DeltaT < 0 ou DeltaT > 4194,303 segs.
a instruo ajusta DeltaT = 0,0 e
energiza o bit apropriado em Status.
Se DeltaT > 0, a instruo executa.
DeltaT = RTSTimeStamp
n
- RTSTimeStamp
n-1
Se DeltaT > 0, a instruo executa.
Se |RTSTIME - DeltaT| > 1, a instruo energiza o bit
RTSMissed em Status.
DeltaT = tempo de varredura da tarefa
Se DeltaT > 0, a instruo executa.
DeltaT = tempo transcorrido desde a
ltima execuo
Se DeltaT > 0, a instruo executa.
Publicao 1756-RM003C-PT-P - Novembro 2000
B-10 Atributos de Bloco de Funo
Controle de Programa/pelo
Operador
Diversas instrues suportam o conceito de controle de
Programa/pelo Operador. Estas instrues incluem:
Enhanced Select (ESEL)
Totalizer (TOT)
Enhanced PID (PIDE)
Ramp/Soak (RMPS)
Discrete 2-State Device (D2SD)
Discrete 3-State Device (D3SD)
O controle de programa/pelo operador permite que se controle estas
instrues simultaneamente tanto a partir do programa do usurio
como do dispositivo de interface de operao. Quando estiver em
controle de Programa, a instruo controlada pelas entradas de
Programa para a instruo; quando estiver em controle pelo
Operador, a instruo controlada pelas entradas do Operador para
a instruo.
O controle de Program ou pelo Operador determinado atravs do
uso destas entradas:
Para determinar se uma instruo est no controle de Programa ou
pelo Operador, examine a sada ProgOper. Se ProgOper estiver
energizado, a instruo est no controle de Programa; se ProgOper
estiver desenergizado, a instruo est no controle pelo Operaor.
O controle pelo Operador precede o controle de Programa se ambos
os bits de solicitaes forem energizados. Por exemplo, se ambos
ProgProgReq e ProgOperReq estiverem energizados, a instruo vai
para o controle pelo Operador.
Entrada: Descrio:
.ProgProgReq Um programa solicita para ir ao controle de
Programa.
.ProgOperReq Um programa solicita para ir ao controle pelo
Operador.
.OperProgReq Um operador solicita para ir ao controle de
Programa.
.OperOperReq Um operador solicita para ir ao controle pelo
Operador.
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos de Bloco de Funo B-11
As entradas de solicitao de Program precedem as entradas de
solicitao do Operador. Isto possibilita que as entradas ProgProgReq
e ProgOperReq travem uma instruo em um controle desejado. Por
exemplo, supondo que uma instruo Totalizer ir sempre ser usada
no controle pelo Operador e o programa do usurio nunca controlar
a operao ou desligamento de Totalizer. Neste caso, seria possvel
ligar um valor literal de 1 em ProgOperReq. Isto preveniria o
operador de colocar o Totalizer no controle de Programa atravs do
ajuste de OperProgReq a partir do dispositivo da interface de
operao.
Uma vez que a entrada ProgOperReq
sempre est energizada, nada
acontece ao apertar o boto
Program na tela de operao (que
energiza a entrada OperProgReg).
Normalmente, o ajuste de
OperProgReq coloca TOT no controle
Ligar um 1 em ProgOperReq significa
que o programa do usurio deseja que
TOT esteja no controle pelo Operador.
Publicao 1756-RM003C-PT-P - Novembro 2000
B-12 Atributos de Bloco de Funo
Da mesma maneira, o ajuste constante do ProgProgReq pode "travar"
a instruo no controle de Programa. Isto til para sequncias de
startup automtico quando se deseja que o programa controle a ao
da instruo sem se preocupar se um operador est assumindo o
controle inadvertidamente da instruo. Neste exemplo, o programa
est energizando a entrada ProgProgReq durante o startup e depois
desenergizando a entrada ProgProgReq assim que o startup
concludo. Uma vez que a entrada ProgProgReq for desenergizada, a
instruo se mantm no controle de Programa at que receba um
pedido de alterao. Por exemplo, o operador pode energizar a
entrada OperOperReq na tela de operao para assumir o controle da
instruo. O exemplo a seguir mostra como se trava uma instruo no
controle de Programa.
As entradas de pedido do operador sempre so desenergizadas pela
instruo quando esta executa. Isto permite que as interfaces de
operao trabalhem com estas instrues pela simples energizao do
bit de solicitao no modo desejado. No preciso programar a
interface de operao para resetar os bits solicitados. Por exemplo, se
uma interface de operao energiza a entrada OperAutoReq para uma
instruo PIDE, quando a instruo PIDE executa, ela determina qual
seria a resposta apropriada e desenergiza o OperAutoReq.
Quando StartupSequenceActive
energizada, a instruo PIDE
colocada no controle de
Programa e no modo Manual. O
valor StartupCV usado como
uma sada de malha.
Publicao 1756-RM003C-PT-P - Novembro 2000
Atributos de Bloco de Funo B-13
As entradas de solicitao do programa so normalmente
desenergizadas pela instruo pois estas so normalmente conectadas
como entradas na instruo. Se a instruo desenergiza estas entradas,
a entrada seria apenas energizada novamente pela entrada conectada.
Pode haver situaes onde se deseja usar outra lgica para ajustar as
solicitaes de Programa de maneira que estas sejam desenergizadas
pela instruo. Neste caso, pode-se energizar a entrada
ProgValueReset e a instruo sempre desenergizar as entradas de
solicitao do modo de Programa ao execut-la..
Neste exemplo, uma linha de lgica de diagrama ladder em outra
rotina usada para reter em monoestvel um ProgAutoReq para uma
instruo PIDE quando um boto pressionado. Como a instruo
PIDE desenergiza automaticamente as solicitaes do modo de
Programa, no preciso escrever qualquer lgica de diagrama ladder
para desenergizar o ProgAutoReq aps a execuo da rotina e a
instruo PIDE ir receber somente uma solicitao para passar para
Auto toda vez que o boto for apertado.
Quando o Boto TIC101AutoReq for pressionado, monoestvel retm ProgAutoReq para a instruo PIDE
TIC101. O TIC101 foi configurado com o ajuste da entrada ProgValueReset, ento quando a instruo PIDE
executa, esta desenergiza automaticamente ProgAutoReq.
Publicao 1756-RM003C-PT-P - Novembro 2000
B-14 Atributos de Bloco de Funo
Notas:
Publicao 1756-RM003C-PT-P - Noverbro 2000
ndice
A
adio 5-6
AHL 16-11
ajuste 12-27
alarmes 12-28
anexar leitura ASCII 16-21
arco co-seno 13-14
arco seno 13-11
arco tangente 13-16
arquivamento aritmtico e lgico 7-7
atributos
converso de tipos de dados A-1
valores imediatos A-1
atributos comuns A-1
converso de tipos de dados A-1
valores imediatos A-1
B
base log de 10 14-4
bitwise AND 6-17
bitwise exclusive OR 6-25
bitwise NOT 6-29
bitwise OR 6-21
break 11-5
C
clculo 5-2
caracteres ASCII no buffer 16-7
carga do sequenciador 9-12
carga FIFO 8-10
carga LIFO 8-22
classificao 7-43
cdigos de erro
ASCII 16-4
instruo MSG 3-8
combinao de tipos de dados A-1
comparao 4-2
comparao de bit de arquivo 12-2
comparao e busca de arquivo 7-19
condies de overflow B-5
configurao 3-14
instruo MSG 3-14
instruo PID 12-26
contagem crescente 2-23
contagem crescente/decrescente 2-31
contagem decrescente 2-27
controle de programa/pelo operador
caractersticas gerais B-10
converso de tipos de dados A-1
converso para BCD 15-8
converso para inteiro 15-12
cpia 7-30
co-seno 13-5
D
dados retentivos B-1
dados transicionais 12-18
definio do valor do sistema 3-30
desabilitao da interrupo pelo usurio 10-15
descarga FIFO 8-16
descarga LIFO 8-28
desenergizar sada com reteno 1-7
deslocamento de bit para a direita 8-6
deslocamento de bit para a esquerda 8-2
desvio padro 7-47
deteco de diagnstico 12-10
diferente de 4-32
distribuio do campo do bit 6-10
distribuio do campo do bit com target 6-13
diviso 5-15
diviso do mdulo 5-19
E
energizar sada 1-5
energizar sada com reteno 1-6
entrada do sequenciador 9-2
escala 12-29
escrita ASCII 16-24
estrutura CONTROL 7-7, 7-19, 7-39, 7-43, 7-47, 8-2,
8-6, 8-10, 8-16, 8-22, 8-28, 9-2, 9-7, 9-12,
12-3, 12-11
estrutura da MENSAGEM 3-2
estrutura do CONTADOR 2-23, 2-27
estrutura FBD_BIT_FIELD_DISTRIBUTE 6-13
estrutura FBD_COMPARE 4-7, 4-10, 4-13, 4-16, 4-19,
4-32
estrutura FBD_CONVERT 6-29, 15-8, 15-12
estrutura FBD_COUNTER 2-31
estrutura FBD_LIMIT 4-23
estrutura FBD_LOGICAL 6-17, 6-21, 6-25
estrutura FBD_MASK_EQUAL 4-28
estrutura FBD_MASKED_MOVE 6-7
estrutura FBD_MATH 5-7, 5-10, 5-13, 5-16, 5-20,
14-7
Publicao 1756-RM003C-PT-P - Noverbro 2000
2 ndice
estrutura FBD_MATH_ADVANCED 5-23, 5-26, 5-29,
13-2, 13-5, 13-8, 13-11, 13-14, 13-17, 14-2,
14-5, 15-2, 15-5
estrutura FBD_TIMER 2-14, 2-17, 2-20
estrutura FBD_TRUNCATE 15-15
estrutura SERIAL_PORT_CONTROL 16-2, 16-5, 16-7,
16-11, 16-14, 16-17, 16-21, 16-24
estrutura TEMPORIZADOR 2-2, 2-6, 2-10
estruturas
CONTADOR 2-23, 2-27
CONTROL 7-7, 7-19, 7-39, 7-43, 7-47, 8-2, 8-6,
8-10, 8-16, 8-22, 8-28, 9-2, 9-7, 9-12,
12-3, 12-11
FBD_BIT_FIELD_DISTRIBUTE 6-13
FBD_COMPARE 4-7, 4-10, 4-13, 4-16, 4-19, 4-32
FBD_CONVERT 6-29, 15-8, 15-12
FBD_COUNTER 2-31
FBD_LIMIT 4-23
FBD_LOGICAL 6-17, 6-21, 6-25
FBD_MASK_EQUAL 4-28
FBD_MASKED_MOVE 6-7
FBD_MATH 5-7, 5-10, 5-13, 5-16, 5-20, 14-7
FBD_MATH_ADVANCED 5-23, 5-26, 5-29, 13-2,
13-5, 13-8, 13-11, 13-14, 13-17, 14-2,
14-5, 15-2, 15-5
FBD_TIMER 2-14, 2-17, 2-20
FBD_TRUNCATE 15-15
instruo RES 2-35
MSG 3-2
PID 12-22
SERIAL_PORT_CONTROL 16-2, 16-5, 16-7, 16-11,
16-14, 16-17, 16-21, 16-24
TEMPORIZADOR 2-2, 2-6, 2-10
examinar se energizado 1-3
exponencial 14-7
expresses
formato 4-5, 5-4, 7-18, 7-28
operadores vlidos 4-5, 5-4, 7-17, 7-28
seqncia de operao 4-6, 5-5, 7-18, 7-29
F
feedforward 12-38
fim temporrio 10-11
flags de status aritmtico
overflow B-5
G
grau 15-2
I
igual a 4-6
instruo 16-11
instruo ABL 16-5
instruo ABS 5-29
instruo ACB 16-7
instruo ACL 16-9
instruo ACS 13-14
instruo ADD 5-6
instruo AFI 10-17
instruo AND 6-17
instruo ARD 16-14
instruo ARL 16-17
instruo ASN 13-11
instruo ATN 13-16
instruo AVE 7-39
instruo AWA 16-21
instruo AWT 16-24
instruo BRK 11-5
instruo BSL 8-2
instruo BSR 8-6
instruo BTD 6-10
instruo BTDT 6-13
instruo CLR 6-16
instruo CMP 4-2
instruo COP 7-30
instruo COS 13-5
instruo CPT 5-2
instruo CTD 2-27
instruo CTU 2-23
instruo CTUD 2-31
instruo DDT
modo de busca 12-12
operandos 12-10
instruo de converso
TOD 15-8
instruo DEG 15-2
instruo DIV 5-15
instruo DTR 12-18
instruo EQU 4-6
instruo FAL
modo de operao 7-1
operandos 7-7
instruo FBC
modo de busca 12-4
operandos 12-2
instruo FFL 8-10
instruo FFU 8-16
instruo FLL 7-35
Publicao 1756-RM003C-PT-P - Noverbro 2000
ndice 3
instruo FRD 15-12
instruo FSC
modo de operao 7-1
operandos 7-19
instruo GEQ 4-10
instruo GRT 4-13
instruo GSV
objetos 3-32
operandos 3-30
instruo JMP 10-2
instruo JSR 10-4
instruo LBL 10-2
instruo LEQ 4-16
instruo LES 4-19
instruo LFL 8-22
instruo LFU 8-28
instruo LIM 4-22
instruo LN 14-2
instruo LOG 14-4
instruo MCR 10-13
instruo MEQ 4-27
instruo MOD 5-19
instruo MOV 6-2
instruo MSG 3-14
cdigos de erro 3-8
conexo de cache 3-29
estrutura 3-2
mtodo de comunicao 3-28
operandos 3-2
instruo MUL 5-12
instruo MVM 6-4
instruo MVMT 6-7
instruo NEG 5-26
instruo NEQ 4-32
instruo NOP 10-18
instruo NOT 6-29
instruo ONS 1-8
instruo OR 6-21
instruo OSF 1-13
instruo OSFI 1-17
instruo OSR 1-10
instruo OSRI 1-15
instruo OTE 1-5
instruo OTL 1-6
instruo OTU 1-7
instruo PID
ajuste 12-27
alarmes 12-28
configurao 12-26
converso de escala 12-29
estrutura 12-22
feedforward 12-38
polarizao da sada (bias) 12-38
zona morta 12-37
instruo RAD 15-5
instruo RES 2-35
instruo RET 10-4, 11-6
instruo RTO 2-10
instruo RTOR 2-20
instruo SBR 10-4
instruo sempre falsa 10-17
instruo SIN 13-2
instruo SQI 9-2
instruo SQL 9-12
instruo SQO 9-7
instruo SQR 5-23
instruo SRT 7-43
instruo SSV
objetos 3-32
operandos 3-30
instruo SUB 5-9
instruo TAN 13-8
instruo TND 10-11
instruo TOD 15-8
instruo TOF 2-6
instruo TOFR 2-17
instruo TON 2-2
instruo TONR 2-14
instruo TRN 15-15
instruo UID 10-15
instruo XIO 1-3
instruo XOR 6-25
instruo XPY 14-7
instruces
ASCII 16-1
instrues
binrias 1-1
clculo 5-1
comparao 4-1
contador 2-1
controle de programa 10-1
converso 15-1
converso matemtica 15-1
deslocamento 8-1
entrada/sada 3-1
especiais 12-1
for/break 11-1
lgica 6-1
Publicao 1756-RM003C-PT-P - Noverbro 2000
4 ndice
matemticas avanadas 14-1
matriz
movimentao 6-1
porta serial 16-1
seqenciador 9-1
temporizador 2-1
trigonomtrica 13-1
instrues ASCII
ABL 16-5
ACB 16-7
ACL 16-9
AHL 16-11
ARD 16-14
ARL 16-17
AWA 16-21
AWT 16-24
introduo 16-1
instrues binrias
introduo 1-1
ONS 1-8
OSF 1-13
OSFI 1-17
OSR 1-10
OSRI 1-15
OTE 1-5
OTL 1-6
OTU 1-7
XIO 1-3
instrues de arquivo. Consulte instrues de matriz
instrues de clculo
ABS 5-29
ADD 5-6
CPT 5-2
DIV 5-15
formato da expresso 5-4, 7-18
introduo 5-1
MOD 5-19
MUL 5-12
NEG 5-26
operadores vlidos 5-4, 7-17
seqncia de operao 5-5, 7-18
SQR 5-23
SUB 5-9
instrues de comparao
CMP 4-2
EQU 4-6
formato da expresso 7-28
formato de expresso 4-5
GEQ 4-10
GRT 4-13
introduo 4-1
LEQ 4-16
LES 4-19
LIM 4-22
MEQ 4-27
NEQ 4-32
operadores vlidos 4-5, 7-28
seqncia de operao 4-6, 7-29
instrues de controle de programa
introduo 10-1
instrues de controle do programa
AFI 10-17
JMP 10-2
JSR 10-4
LBL 10-2
MCR 10-13
NOP 10-18
RET 10-4
SBR 10-4
TND 10-11
UID 10-15
instrues de converso
DEG 15-2
FRD 15-12
introduo 15-1
RAD 15-5
TRN 15-15
instrues de converso matemtica
DEG 15-2
FRD 15-12
introduo 15-1
RAD 15-5
TOD 15-8
TRN 15-15
instrues de deslocamento
BSL 8-2
BSR 8-6
FFL 8-10
FFU 8-16
introduo 8-1
LFL 8-22
LFU 8-28
instrues de entrada/sada
GSV 3-30
introduo 3-1
MSG 3-2
SSV 3-30
instrues de lgica
Publicao 1756-RM003C-PT-P - Noverbro 2000
ndice 5
introduo 6-1
instrues de matemtica avanada
LOG 14-4
XPY 14-7
instrues de matriz
arquivo/diversos. 7-1
AVE 7-39
BSL 8-2
BSR 8-6
COP 7-30
DDT 12-10
deslocamento 8-1
FBC 12-2
FFL 8-10
FFU 8-16
FLL 7-35
FSC 7-19
LFL 8-22
LFU 8-28
modo de operao 7-1
seqenciador 9-1
SQI 9-2
SQL 9-12
SQO 9-7
SRT 7-43
STD 7-47
instrues de matriza
FAL 7-7
instrues de movimentao
BTD 6-10
BTDT 6-13
CLR 6-16
introduo 6-1
MOV 6-2
MVM 6-4
MVMT 6-7
instrues de porta serial
ABL 16-5
ACB 16-7
ACL 16-9
AHL 16-11
ARD 16-14
ARL 16-17
AWA 16-21
AWT 16-24
introduo 16-1
instrues de seqenciador
introduo 9-1
instrues de srie
RES 2-35
instrues de temporizador
TOF 2-6
TOFR 2-17
instrues do contador
CTD 2-27
CTU 2-23
CTUD 2-31
introduo 2-1
RES 2-35
instrues do sequenciador
SQI 9-2
SQL 9-12
SQO 9-7
instrues do temporizador
introduo 2-1
RES 2-35
RTO 2-10
RTOR 2-20
TON 2-2
TONR 2-14
instrues especiais
DDT 12-10
DTR 12-18
FBC 12-2
introduo 12-1
PID 12-21
instrues FOR 11-2
instrues for/break
BRK 11-5
FOR 11-2
introduo 11-1
RET 11-6
instrues lgicas
AND 6-17
NOT 6-29
OR 6-21
XOR 6-25
instrues matemticas avanadas
introduo 14-1
LN 14-2
instrues PID
operandos 12-21
instrues STD 7-47
instrues trigonomtricas
ACS 13-14
ASN 13-11
ATN 13-16
COS 13-5
Publicao 1756-RM003C-PT-P - Noverbro 2000
6 ndice
introduo 13-1
SIN 13-2
TAN 13-8
L
label 10-2
leitura ASCII 16-14
limite 4-22
linha de leitura ASCII 16-17
linhas ASCII handshake 16-11
log
base 10 14-4
natural 14-2
log natural 14-2
M
maior ou igual a 4-10
maior que 4-13
mascarado igual a 4-27
mscaras 12-19
mdia 7-39
menor ou igual a 4-16
menor que 4-19
mensagem 3-2
modo All (todos) 7-2
modo de busca 12-4, 12-12
modo de operao 7-1
modo Incremental (Incremento) 7-5
modo Numerical (numrico) 7-3
modos de temporizao B-5
monoestvel 1-8
monoestvel borda de descida com entrada 1-17
monoestvel com borda de descida 1-13
monoestvel com borda de subida 1-10
monoestvel com borda de subida com entrada 1-15
movimentao 6-2
movimentao mascarada 6-4
movimentao mascarada com target 6-7
multiplicao 5-12
N
negao 5-26
O
objeto AXIS 3-33
objeto CONTROLLER 3-42
objeto CONTROLLERDEVICE 3-42
objeto CST 3-44
objeto DF1 3-45
objeto FAULTLOG 3-48
objeto MESSAGE 3-48
objeto MODULE 3-51
objeto MOTIONGROUP 3-52
objeto PROGRAM 3-53
objeto ROUTINE 3-54
objeto SERIALPORT 3-54
objeto TASK 3-56
objeto WALLCLOCKTIME 3-57
objetos
AXIS 3-33
CONTROLLER 3-42
CONTROLLERDEVICE 3-42
CST 3-44
DF1 3-45
FAULTLOG 3-48
instruo GSV/SSV 3-32
MESSAGE 3-48
MODULE 3-51
MOTIONGROUP 3-52
PROGRAM 3-53
ROUTINE 3-54
SERIALPORT 3-54
TASK 3-56
WALLCLOCKTIME 3-57
obteno do valor do sistema 3-30
operadores 4-5, 5-4, 7-17, 7-28
ordem de execuo B-2
P
polarizao da sada (bias) 12-38
preenchimento de arquivo 7-35
proporcional, integral e derivativo 12-21
R
radianos 15-5
raiz quadrada 5-23
rearme do controle mestre 10-13
remoo de buffer e da fila ASCII 16-9
reset 2-35
retorno 10-4, 11-6
S
sada do sequenciador 9-7
salto 10-2
salto para sub-rotina 10-4
Publicao 1756-RM003C-PT-P - Noverbro 2000
ndice 7
sem operao 10-18
seno 13-2
seqncia de operao 4-6, 5-5, 7-18, 7-29
sub-rotina 10-4
subtrao 5-9
T
tangente 13-8
temporizador de desenergizao 2-6
temporizador de desenergizao com reset 2-17
temporizador de energizao 2-2
temporizador de energizao com reset 2-14
temporizador retentivo energizado com reset 2-20
temporizador retentivo ligado 2-10
teste ASCII para linha buffer 16-5
truncagem 15-15
V
valor absoluto 5-29
valores imediatos A-1
X
X elevado potncia de Y 14-7
Z
zeramento 6-16
zona morta 12-37