Você está na página 1de 536

Controladores

Logix5000
1756-L1, -L1Mx

Manual de Referncia Geral do


Conjunto de Instrues
-2

Informaes Importantes Por causa da diversidade de usos de produtos descritos nesta


publicao, os responsveis pela aplicao e usos deste equipamento
ao Usurio de controle devem certificar-se de que todas as etapas necessrias
foram seguidas para garantir que cada aplicao e uso cumpram todos
os requisitos de desempenho e segurana, incluindo todas as leis,
regulamentaes, cdigos e padres aplicveis.

As ilustraes, grficos, exemplos de programas e de layout mostrados


neste manual so apenas para fins ilustrativos. Visto que h diversas
variveis e requisitos associados a qualquer instalao em especial, a
Rockwell Automation no assume a responsabilidade (incluindo
responsabilidade por propriedade intelectual) pelo uso baseado nos
exemplos mostrados nesta publicao.

A publicao Allen-Bradley SGI-1.1, Diretrizes de Segurana para


Aplicao, Instalao e Manuteno dos Dispositivos de Controle do
Estado Slido (disponvel no escritrio local da Rockwell Automation),
descreve algumas diferenas importantes entre os equipamentos
eletrnicos e dispositivos eletromecnicos, que devem ser levadas em
considerao ao utilizar produtos como os descritos nesta publicao.

proibida a reproduo, parcial ou total, deste manual sem a


permisso por escrito da Rockwell Automation.

Ao longo deste manual, usamos notas para chamar a sua ateno para
consideraes de segurana::

Identifica informaes sobre prticas ou


ATENO
circunstncias que podem causar ferimentos ou
morte, danos patrimoniais ou perda financeira.

!
As instrues de ateno ajudam voc a :

identificar e evitar um perigo


reconhecer as conseqncias

IMPORTANTE Identifica informaes crticas para a aplicao e


compreenso bem-sucedidas do produto.

Allen-Bradley, ControlLogix, DH+, Logix5000, Logix5550, CLP-2, CLP-3, CLP-5, RSLinx, RSLogix 5000, RSNetWorx e SLC so
marcas da Rockwell Automation.

ControlNet uma marca da ControlNet International, Ltd.

Ethernet uma marca da Digital Equipment Corporation, Intel e Xerox Corporation.

Publicao 1756-RM003D-PT-P - Junho 2001


Resumo das Alteraes

Introduo A verso desse documento contm informaes novas e atualizadas.

Informaes Atualizadas Este documento contm as seguintes alteraes::

Estas instrues: Consulte:


Obteno do Valor do Sistema (GSV) e Definio do Valor do 3-28
Sistema (SSV)
Acesso ao objeto MESSAGE 3-47
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, 4-1
MEQ, NEQ)
Tamanho em Elementos (SIZE) 7-53
Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, 8-1
FFU, LFL, LFU)
Salto para Sub-rotina (JSR) Sub-rotina (SBR) Retorno (RET) 10-4
For (FOR) 11-2

1 Publicao 1756-RM003D-PT-P - Junho 2001


2 Resumo das Alteraes

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Localizador de Instruo

Onde Encontrar uma Use este localizador para encontrar detalhes de referncia sobre as
instrues do Logix (as instrues em cinza esto disponveis em
Instruo outros manuais). Este localizador tambm lista as linguagens de
programao que esto disponveis para as instrues.

Se o localizador listar: A instruo est documentada em:


um nmero de pgina este manual
controle de processo Manual de Referncia do Conjunto de Instrues dos Inversores e
Controle de Processo dos Controladores Logix5000,
publicao 1756-RM006
posicionamento Logix5000 Controllers Motion Instruction Set Reference Manual,
publicao 1756-RM007

Instruo: Local: Linguagens: Instruo: Local: Linguagens:


ABL 16-7 lgica ladder BOR controle de bloco de funo
processo
ABS 5-29 lgica ladder
bloco de funo BRK 11-5 lgica ladder
ACB 16-10 lgica ladder BSL 8-2 lgica ladder
ACL 16-12 lgica ladder BSR 8-6 lgica ladder
ACS 13-14 lgica ladder BTD 6-10 lgica ladder
bloco de funo
BTDT 6-13 bloco de funo
adio 5-6 lgica ladder
bloco de funo BTR (tipo MSG) 3-2 lgica ladder

AFI 10-20 lgica ladder BTW (tipo MSG) 3-2 lgica ladder

AHL 16-14 lgica ladder BXOR controle de bloco de funo


processo
ALM controle de bloco de funo
processo CLR 6-16 lgica ladder

AND 6-17 lgica ladder CMP 4-2 lgica ladder


bloco de funo CONCAT 17-3 lgica ladder
ARD 16-17 lgica ladder COP 7-32 lgica ladder
ARL 16-20 lgica ladder COS 13-5 lgica ladder
ASN 13-11 lgica ladder bloco de funo
bloco de funo CPS 7-32 lgica ladder
ATN 13-16 lgica ladder CPT 5-2 lgica ladder
bloco de funo
CTD 2-27 lgica ladder
AVE 7-41 lgica ladder
CTU 2-23 lgica ladder
AWA 16-24 lgica ladder
CTUD 2-31 bloco de funo
AWT 16-28 lgica ladder
D2SD controle de bloco de funo
BAND controle de bloco de funo processo
processo
D3SD controle de bloco de funo
BNOT controle de bloco de funo processo
processo

1 Publicao 1756-RM003D-PT-P - Junho 2001


2 Localizador de Instruo

Instruo: Local: Linguagens: Instruo: Local: Linguagens:


DDT 12-10 lgica ladder INSERT 17-9 lgica ladder
DEDT controle de bloco de funo INTG controle de bloco de funo
processo processo
DEG 15-2 lgica ladder JKFF controle de bloco de funo
bloco de funo processo
DELETE 17-5 lgica ladder JMP 10-2 lgica ladder
DERV controle de bloco de funo JSR 10-4 lgica ladder
processo
LBL 10-2 lgica ladder
DFF controle de bloco de funo
processo LDL2 controle de bloco de funo
processo
DIV 5-15 lgica ladder
bloco de funo LDLG controle de bloco de funo
processo
DTOS 18-7 lgica ladder
LEQ 4-19 lgica ladder
DTR 12-18 lgica ladder bloco de funo
EQU 4-7 lgica ladder LES 4-23 lgica ladder
bloco de funo bloco de funo
ESEL controle de bloco de funo LFL 8-22 lgica ladder
processo
LFU 8-28 lgica ladder
FAL 7-7 lgica ladder
LIM 4-27 lgica ladder
FBC 12-2 lgica ladder bloco de funo
FFL 8-10 lgica ladder LN 14-2 lgica ladder
bloco de funo
FFU 8-16 lgica ladder
LOG 14-4 lgica ladder
FGEN controle de bloco de funo bloco de funo
processo
LPF controle de bloco de funo
FIND 17-7 lgica ladder processo
FLL 7-37 lgica ladder MAAT posicionamento lgica ladder
FOR 11-2 lgica ladder MAFR posicionamento lgica ladder
FRD 15-12 lgica ladder MAG posicionamento lgica ladder
bloco de funo
MAH posicionamento lgica ladder
FSC 7-20 lgica ladder
MAHD posicionamento lgica ladder
GEQ 4-11 lgica ladder
bloco de funo MAJ posicionamento lgica ladder
GRT 4-15 lgica ladder MAM posicionamento lgica ladder
bloco de funo
MAPC posicionamento lgica ladder
GSV 3-28 lgica ladder
MAR posicionamento lgica ladder
HLL controle de bloco de funo
processo MAS posicionamento lgica ladder

HPF controle de bloco de funo MASD posicionamento lgica ladder


processo MASR posicionamento lgica ladder

Publicao 1756-RM003D-PT-P - Junho 2001


Localizador de Instruo 3

Instruo: Local: Linguagens: Instruo: Local: Linguagens:


MATC posicionamento lgica ladder MUX controle de bloco de funo
processo
MAVE controle de bloco de funo
processo MVM 6-4 lgica ladder
MAW posicionamento lgica ladder MVMT 6-7 bloco de funo
MAXC controle de bloco de funo NEG 5-26 lgica ladder
processo bloco de funo
MCCP posicionamento lgica ladder NEQ 4-38 lgica ladder
bloco de funo
MCD posicionamento lgica ladder
NOP 10-21 lgica ladder
MCR 10-15 lgica ladder
NOT 6-29 lgica ladder
MDF posicionamento lgica ladder bloco de funo
MDO posicionamento lgica ladder NTCH controle de bloco de funo
MDR posicionamento lgica ladder processo

MDW posicionamento lgica ladder ONS 1-8 lgica ladder

MEQ 4-33 lgica ladder OR 6-21 lgica ladder


bloco de funo bloco de funo

MGPS posicionamento lgica ladder OSF 1-13 lgica ladder

MGS posicionamento lgica ladder OSFI 1-17 bloco de funo

MGSD posicionamento lgica ladder OSR 1-10 lgica ladder

MGSP posicionamento lgica ladder OSRI 1-15 bloco de funo

MGSR posicionamento lgica ladder OTE 1-5 lgica ladder

MID 17-11 lgica ladder OTL 1-6 lgica ladder

MINC controle de bloco de funo OTU 1-7 lgica ladder


processo PI controle de bloco de funo
MOD 5-19 lgica ladder processo
bloco de funo PID 12-21 lgica ladder
MOV 6-2 lgica ladder PIDE controle de bloco de funo
MRAT posicionamento lgica ladder processo

MRHD posicionamento lgica ladder PMUL controle de bloco de funo


processo
MRP posicionamento lgica ladder
POSP controle de bloco de funo
MSF posicionamento lgica ladder processo
MSG 3-2 lgica ladder RAD 15-5 lgica ladder
bloco de funo
MSO posicionamento lgica ladder
RES 2-35 lgica ladder
MSTD controle de bloco de funo
processo RESD controle de bloco de funo
processo
MUL 5-12 lgica ladder
bloco de funo RET 10-4 e 11-7 lgica ladder

Publicao 1756-RM003D-PT-P - Junho 2001


4 Localizador de Instruo

Instruo: Local: Linguagens: Instruo: Local: Linguagens:


RLIM controle de bloco de funo TAN 13-8 lgica ladder
processo bloco de funo
RMPS controle de bloco de funo TND 10-13 lgica ladder
processo
TOD 15-8 lgica ladder
RTO 2-10 lgica ladder bloco de funo
RTOR 2-20 bloco de funo TOF 2-6 lgica ladder
RTOS 18-9 lgica ladder TOFR 2-17 bloco de funo
SBR 10-4 lgica ladder TON 2-2 lgica ladder
SCL controle de bloco de funo TONR 2-14 bloco de funo
processo
TOT controle de bloco de funo
SCRV controle de bloco de funo processo
processo
TRN 15-15 lgica ladder
SEL controle de bloco de funo bloco de funo
processo
UID 10-18 lgica ladder
SETD controle de bloco de funo
processo UIE 10-18 lgica ladder

SIN 13-2 lgica ladder UPDN controle de bloco de funo


bloco de funo processo

SIZE 7-53 lgica ladder XIC 1-1 lgica ladder

SNEG controle de bloco de funo XIO 1-3 lgica ladder


processo XOR 6-25 lgica ladder
SOC controle de bloco de funo bloco de funo
processo XPY 14-7 lgica ladder
SQI 9-2 lgica ladder bloco de funo

SQL 9-12 lgica ladder


SQO 9-7 lgica ladder
SQR 5-23 lgica ladder
bloco de funo
SRT 7-45 lgica ladder
SRTP controle de bloco de funo
processo
SSUM controle de bloco de funo
processo
SSV 3-28 lgica ladder
STD 7-49 lgica ladder
STOD 18-3 lgica ladder
STOR 18-5 lgica ladder
SUB 5-9 lgica ladder
bloco de funo

Publicao 1756-RM003D-PT-P - Junho 2001


Prefcio

Introduo Este manual um dos diversos documentos de instruo baseado em Logix.

Tarefa/Meta: Documentos:
Programao do controlador para aplicaes Manual de Referncia Geral do Conjunto de Instrues dos Controladores Logix5000,
sequenciais publicao 1756-RM003
Voc est aqui

Programao do controlador para aplicaes Manual de Referncia do Conjunto de Instrues dos Inversores e Controle de
de processo ou inversores Processo , publicao 1756-RM006
Programao do controlador para aplicaes Logix5000 Controllers Motion Instruction Set Reference Manual,
de posicionamento publicao 1756-RM007
Importao de um arquivo de texto ou tags Manual de Referncia de Exportao/Importao do Controlador Logix5000,
em um projeto publicao 1756-6.8.4PT
Exportao de um projeto ou tags para um
arquivo texto
Converso de uma aplicao CLP-5 ou SLC Manual de Referncia do Controlador Logix5550 para Converso da Lgica do CLP-5
500 para uma aplicao Logix5000 ou SLC500 para a Lgica do Logix5000, publicao 1756-6.8.5PT

Quem Deve Utilizar este Este documento fornece ao programador detalhes sobre cada
instruo disponvel para um controlador baseado em Logix. Voc j
Manual deve estar familiarizado de como o controlador baseado em Logix
armazena e processa dados.

Os programadores novos devem ler todos os detalhes sobre uma


instruo antes de us-la. Os programadores experientes podem
consultar as informaes sobre as instrues para verificar os detalhes.

1 Publicao 1756-RM003D-PT-P - Junho 2001


2 Prefcio

Objetivo do Manual Este manual fornece uma descrio de cada instruo neste formato.

Essa seo: Fornece este tipo de informao:


Nome da instruo identifica a instruo
define se a instruo de entrada ou de sada
Operandos de Lgica lista todos os operandos da instruo se esta estiver disponvel na Lgica Ladder
Ladder exibe um instruo inicial

Operandos do bloco de lista todos os operandos da instruo se esta estiver disponvel no bloco de funo
funo exibe um bloco de funo inicial

Os pinos mostrados no bloco de funo inicial so somente pinos bsicos. A tabela de


operandos lista todos os pinos possveis para um bloco de funo.
Estrutura da insturo lista os valores e os bits de status de controle da instruo, se houver
Descrio descreve o uso da instruo
define quaisquer diferenas quando a instruo estiver habilitada e desabilitada, se
apropriado
Flags de Status Aritmtico: define se a instruo interfere ou no nos flags de status aritmtico
consulte o apndice Atributos Comuns
Condies de Falha: define se a instruo gera falhas graves ou de advertncia
se necessrio, define o cdigo e o tipo da falha
Execuo de Lgica Ladder Se disponvel na Lgica Ladder, define os detalhes de como a instruo opera durante:
pr-varredura
entrada da condio da linha for falsa
entrada da condio da linha for verdadeira
Exemplo de Lgica Ladder Se disponvel na Lgica Ladder, fornece pelo menos um exemplo de programao
inclui uma descrio explicando cada exemplo
Execuo do bloco de Se disponvel no bloco de funo, define os detalhes de como a instruo opera durante:
funo pr-varredura
primeira varredura da instruo
primeira operao da instruo
EnableIn falso
EnableIn verdadeiro
Exemplo do bloco de Se disponvel no bloco de funo, fornece pelo menos um exemplo de programao
funo inclui uma descrio explicando cada exemplo

Os cones a seguir ajudam a identificar as informaes especficas da


linguagem:

Este cone: Indica esta linguagem de


programao:
Lgica Ladder

bloco de funo

Publicao 1756-RM003D-PT-P - Junho 2001


Prefcio 3

Informaes Comuns para O conjunto de instrues do Logix5000 possui alguns atributos comuns:
Todas as Instrues Para obter esta Consulte este apndice
informao:
atributos comuns apndice Atributos Comuns define:
flags de status aritmtico:
tipos de dados
palavras-chaves
atributos do bloco de apndice Atributos de Bloco de Funo define:
funo controle do programa e operador
modos de temporizao

Convenes e Termos Energizar e desenergizar (zerar)


Relacionados
Este manual usa energizar e desenergizar para definir o status de bits
(booleanos) e valores (no booleanos):

Este termo: Significa:


energizar o bit est energizado em 1 (ON)
um valor est energizado em um nmero diferente de
zero
desenergizar o bit est desenergizado em 0 (OFF)
todos os bits em um valor so desenergizados em 0

Se um operando ou parmetro suporta mais do que um tipo de dados,


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.

Condio de linha de Lgica Ladder

O controlador avalia as instrues de lgica ladder com base na condio


da linha que antecede a instruo (entrada da condio da linha). Com
base na entrada da condio da linha e na instruo, o controlador define
a condio da linha seguindo a instruo (sada da condio da linha)
que, por sua vez, afeta qualquer instruo subseqente.

instruo de entrada instruo de sada

condio da entrada da linha condio da sada da linha

Publicao 1756-RM003D-PT-P - Junho 2001


4 Prefcio

Se a condio da entrada da linha para uma instruo de entrada for


verdadeira, o controlador avalia a instruo e energiza a condio da
sada da linha com base nos resultados da instruo. Se a instruo
avaliar em verdadeira, a condio da sada da linha verdadeira; se a
instruo avaliar em falsa, a condio da sada da linha falsa.

O controlador tambm efetua a pr-varredura das instrues. A


pr-varredura uma varredura especial de todas as rotinas no
controlador. O controlador efetua a varredura de todas as rotinas e
sub-rotinas principais durante a pr-varredura, mas ignora os saltos
que poderiam pular a execuo das instrues. O controlador executa
todas as malhas FOR e chamadas de sub-rotinas. Se uma sub-rotina
for chamada mais do que uma vez, ela executada toda vez que
chamada. O controlador usa a pr-varredura de instrues de Lgica
Ladder para resetar as E/S no retentivas e os valores internos.

Durante a pr-varredura, os valores de entrada no so atuais e as


sadas no so escritas. As condies a seguir geram a pr-varredura:

Passagem de modo de Programa para Operao


Entrada automtica no modo de Operao de uma condio de
energizao.

A pr-varredura no ocorre para um programa quando:

O programa se torna determinado enquanto o controlador est


operando.
O programa no determinado quando o controlador entra no
modo de Operao.

Estados do bloco de funo

O controlador avalia as instrues do bloco de funo baseado no


estado de diferentes condies.

Condio Possvel: Descrio:


pr-varredura A pr-varredura para as rotinas do bloco de funo igual a das rotinas de Lgica Ladder. A
nica diferena que o parmetro EnableIn para cada instruo do bloco de funo
desenergizada durante a pr-varredura.
primeira varredura da A primeira varredura da instruo se refere primeira vez que uma instruo executada
instruo aps pr-varredura. O controlador usa a primeira varredura da instruo para ler as
entradas em corrente e determinar o estado apropriado em que se deve estar.
primeira operao da A primeira operao da instruo se refere primeira vez que a instruo executa com uma
instruo nova instncia de estrutura de dados. O controlador usa a primeira operao da instruo
para gerar coeficientes e outros armazenamentos de dados que no se alteram para um
bloco de funo aps o descarregamento inicial.

Publicao 1756-RM003D-PT-P - Junho 2001


Prefcio 5

Toda instruo do bloco de funo tambm inclui os parmetros


EnableIn e EnableOut:

as instrues do bloco de funo executam normalmente


quando o EnableIn energizado.

Quando o EnableIn desenergizado, a instruo do bloco de


funo executa a lgica da pr-varredura, a lgica da
ps-varredura ou apenas pula a execuo do algoritmo normal.

O EnableOut espelha o EnableIn, porm, se a execuo do


bloco de funo detecta uma condio de overflow, o
EnableOut tambm desenergizado.

a execuo do bloco de funo reinicia onde parou quando o


EnableIn passa de desenergizado para energizado. Porm
existem algumas instrues de bloco de funo que especificam
funcionalidade especial, como re-inicializao, quando o
EnableIn passa de desenergizado para energizado. Para
instrues do bloco de funo com parmetros baseados no
tempo, sempre quando o modo de temporizao estiver no
Oversample, a instruo sempre reiniciar onde parou quando o
EnableIn passa de desenergizado para energizado.

Se o parmetro EnableIn no estiver conectado, a instruo sempre


executa como normal e o EnableIn se mantm energizado. Se
desenergizar o EnableIn, este se alterar para energizar na prxima
vez que a instruo executar.

IMPORTANTE Ao programar o bloco de funo, limite a amplitude das unidades


de medida para +/-10+/-15 pois os clculos de ponto flutuante
interno so feitos atravs de um nico ponto flutuante de preciso.
As unidades de medida fora desta amplitude podem resultar em
perda de preciso se os resultados ficarem prximos s limitaes
do nico ponto flutuante de preciso (+/-10+/-38).

Publicao 1756-RM003D-PT-P - Junho 2001


6 Prefcio

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Sumrio

Informaes Importantes ao Usurio . . . . . . . . . . . . . . . . .. . 2


Resumo das Alteraes Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 1
Informaes Atualizadas . . . . . . . . . . . . . . . . . . . . . . . . . .. . 1
Localizador de Instruo Onde Encontrar uma Instruo . . . . . . . . . . . . . . . . . . . . .. . 1
Prefcio Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 1
Quem Deve Utilizar este Manual . . . . . . . . . . . . . . . . . . . .. . 1
Objetivo do Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 2
Informaes Comuns para Todas as Instrues. . . . . . . . . .. . 3
Convenes e Termos Relacionados . . . . . . . . . . . . . . . . .. . 3
Energizar e desenergizar (zerar) . . . . . . . . . . . . . . . . . .. . 3
Condio de linha de Lgica Ladder . . . . . . . . . . . . . . .. . 4
Estados do bloco de funo . . . . . . . . . . . . . . . . . . . . .. . 5

Captulo 1
Instrues Binrias Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
(XIC, XIO, OTE, OTL, OTU, ONS, Examinar Se Desenergizado (XIC) . . . . . . . . . . . . . . . . . . . 1-1
OSR, OSF, OSRI, OSFI) Examinar Se Energizado (XIO) . . . . . . . . . . . . . . . . . . . . . 1-3
Energizar Sada
(OTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Energizar Sada com Reteno (OTL) . . . . . . . . . . . . . . . . . 1-6
Desenergizar Sada com Reteno (OTU) . . . . . . . . . . . . . . 1-7
Monoestvel (ONS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Monoestvel com Borda de Subida (OSR) . . . . . . . . . . . . . 1-10
Monoestvel com Borda de Descida (OSF). . . . . . . . . . . . . 1-13
Monoestvel com Borda de Subida com Entrada (OSRI) . . . 1-15
Monoestvel com Borda de Descida com Entrada (OSFI) . . 1-17

Captulo 2
Instrues do Temporizador e do Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Contador Temporizador de Energizao (TON). . . . . . . . . . . . . . . . . 2-2
(TON, TOF, RTO, TONR, TOFR, Temporizador de Desenergizao (TOF) . . . . . . . . . . . . . . 2-6
Temporizador Retentivo Ligado (RTO) . . . . . . . . . . . . . . . . 2-10
RTOR, CTU, CTD, CTUD, RES)
Temporizador de Energizao com Reset (TONR) . . . . . . . 2-14
Temporizador de Desenergizao com Reset (TOFR) . . . . . 2-17
Temporizador Retentivo Energizado com Reset (RTOR) . . . 2-20
Contagem Crescente (CTU) . . . . . . . . . . . . . . . . . . . . . . . . 2-23
Contagem Decrescente (CTD) . . . . . . . . . . . . . . . . . . . . . . 2-27
Contagem Crescente/Decrescente (CTUD) . . . . . . . . . . . . . 2-31
Reset (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35

Captulo 3
Instrues de Entrada/Sada Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
(MSG, GSV, SSV) Mensagem (MSG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Cdigos de Erro MSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Cdigos de erro do ControlLogix (CIP) . . . . . . . . . . . . . 3-7

i Publicao 1756-RM003D-PT-P - Junho 2001


ii Sumrio

Cdigos de erros estendidos do ControlLogix . . . . . . . . 3-8


Cdigos de erro do CLP e SLC (.ERR) . . . . . . . . . . . . . . 3-9
Cdigos de erro estendiddos do CLP e SLC (.EXERR) . . 3-10
Cdigos de erro de Block-Transfer . . . . . . . . . . . . . . . . 3-11
Cdigos de erro do Logix5550 . . . . . . . . . . . . . . . . . . . 3-12
Cdigos de erros estendidos do Logix5550 . . . . . . . . . . 3-12
Especificao dos Detalhes de Configurao
(Guia Configuration) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Especificao de Mensagens CIP. . . . . . . . . . . . . . . . . . 3-14
Uso de mensagens CIP genricas para resetar os
mdulos de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Especificao das mensagens do CLP-5. . . . . . . . . . . . . 3-16
Especificao de Mensagens do SLC . . . . . . . . . . . . . . . 3-17
Especificao das mensagens de block-transfer . . . . . . . 3-18
Especificao das mensagens do CLP-3. . . . . . . . . . . . . 3-19
Especificao das mensagens do CLP-2. . . . . . . . . . . . . 3-20
Exemplos de Configurao MSG . . . . . . . . . . . . . . . . . . . . 3-21
Especificaes dos Detalhes de Comunicao (Guia
Communication) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
Especificao de um percurso de conexo . . . . . . . . . . 3-22
Especificao de um mtodo de comunicao: . . . . . . . 3-26
Seleo de uma opo de cache: . . . . . . . . . . . . . . . . . 3-27
Obteno do Valor do Sistema (GSV) e Definio
do Valor do Sistema (SSV) . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
Objetos GSV/SSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
Acesso ao objeto AXIS (Eixo) . . . . . . . . . . . . . . . . . . . . 3-31
Acesso ao objeto CONTROLLER . . . . . . . . . . . . . . . . . 3-39
Acesso ao objeto CONTROLLERDEVICE . . . . . . . . . . . . 3-39
Acesso ao objeto CST. . . . . . . . . . . . . . . . . . . . . . . . . . 3-41
Acesso ao objeto DF1 . . . . . . . . . . . . . . . . . . . . . . . . . 3-42
Acesso ao objeto FAULTLOG . . . . . . . . . . . . . . . . . . . . 3-45
Acesso ao objeto MESSAGE . . . . . . . . . . . . . . . . . . . . . 3-46
Acesso ao objeto MODULE . . . . . . . . . . . . . . . . . . . . . 3-48
Acesso ao objeto MOTIONGROUP . . . . . . . . . . . . . . . 3-49
Acesso ao objeto PROGRAM . . . . . . . . . . . . . . . . . . . . 3-50
Acesso ao objeto ROUTINE . . . . . . . . . . . . . . . . . . . . . 3-51
Acesso ao objeto SERIALPORT . . . . . . . . . . . . . . . . . . . 3-52
Acesso ao objeto TASK . . . . . . . . . . . . . . . . . . . . . . . . 3-54
Acesso ao objeto WALLCLOCKTIME . . . . . . . . . . . . . . . 3-55
Exemplo de Programao GSV/SSV . . . . . . . . . . . . . . . . . . 3-56
Obteno de informaes de falha . . . . . . . . . . . . . . . . 3-56
Configurao de flags de habilitao e desabilitao . . . 3-57

Captulo 4
Instrues de Comparao Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
(CMP, EQU, GEQ, GRT, LEQ, LES, Comparao (CMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
LIM, MEQ, NEQ) Expresses CMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Operadores vlidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Formatao de expresses . . . . . . . . . . . . . . . . . . . . . . 4-6

Publicao 1756-RM003D-PT-P - Junho 2001


Sumrio iii

Determinao da seqncia de operao . . . . . . . . . . . 4-6


Igual a (EQU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
Maior ou Igual a (GEQ). . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Maior que (GRT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
Menor ou Igual a (LEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Menor Que (LES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
Limite (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Mscara Igual a (MEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
Insero de um valor de mscara imediato . . . . . . . . . . 4-34
Diferente de (NEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38

Captulo 5
Instrues Matemticas/Clculo Introduo . . . . . . . . . . . . . . . .......... . . . . . . . . . . . 5-1
(CPT, ADD, SUB, MUL, DIV, MOD, Clculo (CPT) . . . . . . . . . . . . . .......... . . . . . . . . . . . 5-2
SQR, NEG, ABS) Operadores vlidos . . . . . . .......... . . . . . . . . . . . 5-4
Formatao de expresses . .......... . . . . . . . . . . . 5-4
Determinao da seqncia de operao . . . . . . . . . . . 5-5
Adio (ADD) . . . . . . . . . . . . . .......... . . . . . . . . . . . 5-6
Subtrao (SUB) . . . . . . . . . . . .......... . . . . . . . . . . . 5-9
Multiplicao (MUL) . . . . . . . . .......... . . . . . . . . . . . 5-12
Diviso (DIV) . . . . . . . . . . . . . .......... . . . . . . . . . . . 5-15
Mdulo (MOD) . . . . . . . . . . . . .......... . . . . . . . . . . . 5-19
Raiz Quadrada (SQR) . . . . . . . .......... . . . . . . . . . . . 5-23
Negao (NEG). . . . . . . . . . . . .......... . . . . . . . . . . . 5-26
Valor Absoluto (ABS) . . . . . . . .......... . . . . . . . . . . . 5-29

Captulo 6
Instrues de Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Movimentao/Lgica Movimentao (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
(MOV, MVM, BTD, MVMT, BTDT, Movimentao Mascarada (MVM). . . . . . . . . . . . . . . . . . . . 6-4
Insero de um valor de mscara imediato . . . . . . . . . . 6-5
CLR, AND, OR, XOR, NOT)
Movimentao Mascarada com Target (MVMT). . . . . . . . . . 6-7
Distribuio do Campo do Bit (BTD) . . . . . . . . . . . . . . . . . 6-10
Distribuio do Campo do Bit com Target (BTDT) . . . . . . . 6-13
Zeramento (CLR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
Bitwise AND (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
Bitwise OR (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
Bitwise Exclusive OR (XOR) . . . . . . . . . . . . . . . . . . . . . . . 6-25
Bitwise NOT (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29

Captulo 7
Instrues Array Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
(File/Miscellaneous) Seleo do Modo de Operao . . . . . . . . . . . . . . . . . . . . . 7-2
(FAL, FSC, COP, CPS, FLL, AVE, Modo All (Todos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Modo Numerical (numrico) . . . . . . . . . . . . . . . . . . . . 7-3
SRT, STD, SIZE)
Modo Incremental (incremento) . . . . . . . . . . . . . . . . . 7-5
Arquivamento Aritmtico e Lgico (FAL) . . . . . . . . . . . . . . 7-7
Expresses FAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18
Operadores vlidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18

Publicao 1756-RM003D-PT-P - Junho 2001


iv Sumrio

Expresses de formatao . . . . . . . . . . . . . . . . . . . . . . 7-19


Determinao da seqncia de operao . . . . . . . . . . . 7-19
Comparao e Busca de Arquivo (FSC) . . . . . . . . . . . . . . . 7-20
Expresses FSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
Operadores vlidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30
Formatao das expresses . . . . . . . . . . . . . . . . . . . . . 7-30
Determinao da seqncia de operao . . . . . . . . . . . 7-31
Cpia de Arquivo (COP) Cpia Sncrona de Arquivo (CPS). 7-32
Preenchimento de Arquivo (FLL) . . . . . . . . . . . . . . . . . . . . 7-37
Mdia de Arquivo (AVE) . . . . . . . . . . . . . . . . . . . . . . . . . . 7-41
Classificao de Arquivo (SRT) . . . . . . . . . . . . . . . . . . . . . 7-45
Desvio Padro do Arquivo (STD) . . . . . . . . . . . . . . . . . . . 7-49
Tamanho em Elementos (SIZE) . . . . . . . . . . . . . . . . . . . . . 7-53

Captulo 8
Instrues de Matriz Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
(Arquivo)/Deslocamento Deslocamento de Bit para a Esquerda (BSL). . . . . . . . . . . . 8-2
(BSL, BSR, FFL, FFU, LFL, LFU) Deslocamento de Bit para a Direita (BSR) . . . . . . . . . . . . . 8-6
Carga FIFO (FFL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10
Descarga FIFO (FFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16
Carga LIFO (LFL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22
Descarga LIFO (LFU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28

Captulo 9
Instrues de Seqenciador Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
(SQI, SQO, SQL) Entrada do Sequenciador (SQI) . . . . . . . . . . . . . . . . . . . . . 9-2
Insero de um valor de mscara imediato . . . . . . . . . . 9-3
Utilizao de SQI sem SQO . . . . . . . . . . . . . . . . . . . . . 9-6
Sada do Sequenciador (SQO) . . . . . . . . . . . . . . . . . . . . . . 9-7
Insero de um valor de mscara imediato . . . . . . . . . . 9-8
Utilizao de SQI com SQO . . . . . . . . . . . . . . . . . . . . . 9-11
Reset da posio de SQO . . . . . . . . . . . . . . . . . . . . . . . 9-11
Carga do Sequenciador (SQL) . . . . . . . . . . . . . . . . . . . . . . 9-12

Captulo 10
Instrues de Controle de Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
Programa Salto para Label (JMP)
(JMP, LBL, JSR, RET, SBR, TND, Label (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Salto para Sub-rotina (JSR)
MCR, UID, UIE, AFI, NOP)
Sub-rotina (SBR)
Retorno (RET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
Fim Temporrio (TND) . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13
Rearme do Controle Mestre (MCR). . . . . . . . . . . . . . . . . . 10-15
Desabilitao da Interrupo pelo Usurio (UID)
Habilitao da Interrupo pelo Usurio (UIE) . . . . . . . . . 10-18
Instruo Sempre Falsa (AFI) . . . . . . . . . . . . . . . . . . . . . . 10-20
Sem Operao (NOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21

Publicao 1756-RM003D-PT-P - Junho 2001


Sumrio v

Captulo 11
Instrues For/Break Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
(FOR, BRK, RET) For (FOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
Break (BRK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
Retorno (RET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7

Captulo 12
Instrues Especiais Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1
(FBC, DDT, DTR, PID) Comparao de Bit de Arquivo (FBC) . . . . . . . . . . . . . . . . 12-2
Seleo do modo de busca. . . . . . . . . . . . . . . . . . . . . . 12-4
Deteco de Diagnstico (DDT) . . . . . . . . . . . . . . . . . . . 12-10
Seleo do modo de busca. . . . . . . . . . . . . . . . . . . . . 12-12
Dados Transicionais (DTR) . . . . . . . . . . . . . . . . . . . . . . . 12-18
Insero de uma valor de mscara imediato . . . . . . . . 12-19
Proporcional, Integral e Derivativo (PID) . . . . . . . . . . . . . 12-21
Configurao de uma Instruo PID. . . . . . . . . . . . . . . . . 12-26
Especificao do ajuste . . . . . . . . . . . . . . . . . . . . . . . 12-27
Especificao da configurao . . . . . . . . . . . . . . . . . . 12-27
Especificao de alarmes . . . . . . . . . . . . . . . . . . . . . . 12-28
Especificao de converso de escala . . . . . . . . . . . . . 12-29
Utilizao das Instrues PID. . . . . . . . . . . . . . . . . . . . . . 12-29
Windup anti-reset e transferncia ininterrupta de
manual para automtico . . . . . . . . . . . . . . . . . . . . . . . 12-31
Temporizao da instruo PID . . . . . . . . . . . . . . . . . 12-32
Reinicializao ininterrupta. . . . . . . . . . . . . . . . . . . . . 12-35
Polarizao derivativa . . . . . . . . . . . . . . . . . . . . . . . . 12-36
Configurao da zona morta. . . . . . . . . . . . . . . . . . . . 12-37
Uso da limitao de sada. . . . . . . . . . . . . . . . . . . . . . 12-37
Feedforward ou polarizao da sada (bias) . . . . . . . . 12-38
Malhas em cascata . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-38
Controle de um ndice . . . . . . . . . . . . . . . . . . . . . . . . 12-38
Teoria PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-40
processo PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-40
processo PID com malhas mestre/escravo. . . . . . . . . . 12-40

Captulo 13
Instrues Trigonomtricas Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
(SIN, COS, TAN, ASN, ACS, ATN) Seno (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2
Co-seno (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5
Tangente (TAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
Arco Seno (ASN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-11
Arco Co-seno (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14
Arco Tangente (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16

Captulo 14
Instrues Matemticas Introduo . . . . . . . . . . ....... . . . . . . . . . . . . . . . . . . . 14-1
Avanadas Log Natural (LN) . . . . . . ....... . . . . . . . . . . . . . . . . . . . 14-2
(LN, LOG, XPY) Base Log de 10 (LOG). . ....... . . . . . . . . . . . . . . . . . . . 14-4
X Elevado Potncia de Y (XPY) . . . . . . . . . . . . . . . . . . . 14-7

Publicao 1756-RM003D-PT-P - Junho 2001


vi Sumrio

Captulo 15
Instrues de Converso Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
Matemtica Graus (DEG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2
(DEG, RAD, TOD, FRD, TRN) Radianos (RAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5
Converso para BCD (TOD) . . . . . . . . . . . . . . . . . . . . . . . 15-8
Converso para Inteiro (FRD) . . . . . . . . . . . . . . . . . . . . . 15-12
Truncagem (TRN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-15

Captulo 16
Instrues de Porta Serial ASCII Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
(ABL, ACB, ACL, AHL, ARD, ARL, Execuo da Instruo . . . . . . . . . . . . . . . . . . . . . . . . . 16-2
AWA, AWT) Cdigos de Erro ASCII . . . . . . . . . . . . . . . . . . . . . . . . . 16-5
Tipos de String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-6
Teste ASCII Para Linha do Buffer (ABL) . . . . . . . . . . . . . . . 16-7
Caracteres ASCII no Buffer (ACB) . . . . . . . . . . . . . . . . . . 16-10
Remoo de Buffer e da Fila ASCII (ACL). . . . . . . . . . . . . 16-12
Linhas ASCII Handshake (AHL) . . . . . . . . . . . . . . . . . . . . 16-14
Leitura ASCII (ARD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-17
Linha de Leitura ASCII (ARL) . . . . . . . . . . . . . . . . . . . . . . 16-20
Anexar Leitura ASCII (AWA) . . . . . . . . . . . . . . . . . . . . . . 16-24
Escrita ASCII (AWT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-28

Captulo 17
Instrues de String ASCII Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1
(CONCAT, DELETE, FIND, INSERT, Tipos de String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
MID) Concatenao de String (CONCAT) . . . . . . . . . . . . . . . . . . 17-3
Remoo de String (DELETE) . . . . . . . . . . . . . . . . . . . . . . 17-5
Encontro de String (FIND) . . . . . . . . . . . . . . . . . . . . . . . . . 17-7
Insero de String (INSERT). . . . . . . . . . . . . . . . . . . . . . . . 17-9
Meio do String (MID) . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11

Captulo 18
Instrues de Coverso ASCII Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1
(STOD, STOR, DTOS, RTOS) Tipos de String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2
String Para DINT (STOD) . . . . . . . . . . . . . . . . . . . . . . . . . 18-3
String Para REAL (STOR) . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5
DINT Para String (DTOS) . . . . . . . . . . . . . . . . . . . . . . . . . 18-7
REAL Para String (RTOS) . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9

Apndice A
Atributos Comuns Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Valores Imediatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Converses de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
SINT ou INT para DINT . . . . . . . . . . . . . . . . . . . . . . . . A-3
Inteiro para REAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
DINT para SINT para INT. . . . . . . . . . . . . . . . . . . . . . . A-5
REAL para um inteiro . . . . . . . . . . . . . . . . . . . . . . . . . . A-6

Publicao 1756-RM003D-PT-P - Junho 2001


Sumrio vii

Apndice B
Atributos de Bloco de Funo Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Dados Retentivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Ordem de Execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Respostas de Bloco de Funo para Condies de Overflow B-5
Modos de Temporizao . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
Parmetros comuns de instruo para modos de
temporizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7
Caractersticas dos modos de temporizao. . . . . . . . . . B-9
Controle de Programa/pelo Operador . . . . . . . . . . . . . . . B-10
Index

Publicao 1756-RM003D-PT-P - Junho 2001


viii Sumrio

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 1

Instrues Binrias
(XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

Introduo Use as instrues binrias (tipo rel) para monitorar e controlar o


status dos bits.

Se voc quiser: Use esta instruo: Consulte


pgina:
habilitar as sadas quando o bit estiver energizado XIC 1-1
habilitar as sadas quando o bit for desenergizado XIO 1-3
energizar o bit OTE 1-5
energizar um bit (retentivo) OTL 1-6
desenergizar um bit (retentivo) OTU 1-7
energizar as sadas para uma varredura cada vez ONS 1-8
que uma linha se torna verdadeira
energizar o bit para uma varredura cada vez que OSR 1-10
uma linha se torna verdadeira
energizar o bit para uma varredura cada vez que OSF 1-13
uma linha se torna falsa
energizar um bit para uma varredura toda vez que OSRI 1-15
o bit de entrada for energizado no bloco de funo
energizar um bit para uma varredura toda vez que OSFI 1-17
o bit de entrada for desenergizado no bloco da
funo

Examinar Se Linguagens Disponveis:

Desenergizado (XIC)
Lgica Ladder

A instruo XIC examina os dados binrios para ver se esto


energizados.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
dados BOOL tag bit para ser testado
binrios

Operandos de Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

1 Publicao 1756-RM003D-PT-P - Junho 2001


1-2 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

Descrio: A instruo XIC examina os dados binrios para ver se esto


energizados.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo da 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

dado binrio = 0 sada da condio da linha


examinar dados energizada quando falsa
binrios

dado binrio = 1

sada da condio da linha


energizada quando
verdadeira
fim

Exemplo de Lgica
Ladder:
exemplo 1 Se limit_switch_1 estiver energizado, isto habilitar a prxima
instruo (a sada da condio da linha verdadeira).

exemplo 2 Se S:V estiver energizado (indica que um overflow ocorreu), isto


habilitar a prxima instruo (a sada da condio da linha
verdadeira).

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-3

Examinar Se Energizado Linguagens Disponveis:

(XIO)
Lgica Ladder

A instruo XIO examina os dados binrios para ver se foram


desenergizados.

Operandos de Lgica
Ladder
Operando Tipo: Formato: Descrio:
dados BOOL tag bit para ser testado
binrios

Operandos de Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Descrio: A instruo XIO examina os dados binrios para ver se foram


desenergizados.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo da 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

examinar dados dado binrio = 0 sada da condio da linha


binrios energizada quando verdadeira

dado binrio = 1

sada da condio da linha


energizada quando falsa
fim

Publicao 1756-RM003D-PT-P - Junho 2001


1-4 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

Exemplo da Lgica
Ladder :
exemplo 1 Se limit_switch_2 for desenergizado, isto habilitar a prxima
instruo (a sada da condio da linha verdadeira).

exemplo 2 Se S:V for desenergizado (indica que nenhum overflow ocorreu),


isto habilitar a prxima instruo (a sada da condio da linha
verdadeira).

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Energizar Sada Linguagens Disponveis:

(OTE)
Lgica Ladder

A instruo OTE energiza ou desenergiza o dado binrio.

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
dados BOOL tag bit para ser energizado ou desenergizado
binrios

Operandos de Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Descrio: Quando a instruo OTE est habilitada, o controlador energiza o


dado binrio. Quando a instruo OTE est desabilitada, o
controlador desenergiza o dado binrio.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-5

Execuo de Lgica
Ladder :

Condio: Ao:
pr-varredura O dado binrio est desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O dado binrio est desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O dado binrio est energizado.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder :

Quando habilitada, a instruo OTE energiza (acende) light_1. Quando desabilitada, a instruo OTE desenergiza (apaga) light_1.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Energizar Sada com Linguagens Disponveis:

Reteno (OTL)
Lgica Ladder

A instruo OTL energiza (com reteno) o dado binrio.

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
dados BOOL tag bit para ser energizado
binrios

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Descrio: Quando habilitada, a instruo OTL energiza o dado binrio. O dado


binrio permanece energizado at ser desenergizado, geralmente por
uma instruo OTU. Quando desabilitada, a instruo OTL no muda
o status do dado binrio.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


1-6 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

Execuo de Lgica
Ladder :

Condio: Ao:
pr-varredura O dado binrio no modificado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O dado binrio no modificado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O dado binrio est energizado.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder :

Quando habilitada, a instruo OTL energiza light_2. Este bit permanece energizado
at ser desenergizado, geralmente por uma instruo OTU.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Desenergizar Sada com Linguagens Disponveis:

Reteno (OTU)
Lgica Ladder

A instruo OTU desenergiza (com reteno) o dado binrio.

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
dados BOOL tag bit para ser desenergizado
binrios

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Descrio: Quando habilitada, a instruo OTU desenergiza o dado binrio.


Quando desabilitada, a instruo OTU no muda o status do
dado binrio.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-7

Execuo de Lgica
Ladder :

Condio: Ao:
pr-varredura O dado binrio no modificado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O dado binrio no modificado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira O dado binrio est desenergizado.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder :

Quando habilitada, a instruo OTU desenergizalight_2.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Monoestvel (ONS) Linguagens Disponveis:

Lgica Ladder

A instruo ONS habilita ou desabilita o restante da linha,


dependendo do status do bit de armazenamento.

Operandos de Lgica
Ladder : Operando Tipo: Formato: Descrio:
bit de BOOL tag bit de armazenamento interno
armazenam armazena a entrada da condio da linha
ento desde a ltima vez que a instruo
foi executada

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


1-8 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

Descrio: Quando habilitada e o bit de armazenamento est desenergizado, a


instruo ONS habilita o restante da linha. Quando habilitada ou
quando o bit de armazenamento est energizado, a instruo ONS
desabilita o restante da linha.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder :

Condio: Ao:
pr-varredura O bit de armazenamento est energizado para prevenir um disparo invlido durante a
primeira varredura.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit de armazenamento desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira

bit de armazenamento bit de armazenamento est


=0 energizado
examinar o bit de
sada da condio da linha
armazenamento
energizada quando verdadeira

bit de armazenamento = 1

bit de armazenamento
permanece energizado
sada da condio da linha
energizada quando falsa
fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-9

Exemplo de Lgica Geralmente, voc antecede a instruo ONS com uma instruo de
Ladder : entrada porque realiza a varredura da instruo ONS quando a mesma
est habilitada e quando est desabilitada para que a mesma opere
corretamente. Uma vez que a instruo ONS est habilitada, a
condio de entrada de linha deve ser desenergizada ou o bit de
armazenamento deve ser desenergizado para a instruo ONS ser
habilitada novamente.

Em qualquer varredura para a qual o limit_switch_1 est desenergizado ou o storage_1 est energizado, esta linha no tem efeito. Em qualquer
varredura para a qual o limit_switch_1 est energizado e o storage_1 est desenergizado, a instruo ONS energiza o storage_1 e a instruo ADD
incrementa a soma (ADD) em 1. Durante o perodo em que o limit_switch_1 permanece energizado, a soma permanece no mesmo valor. O
limit_switch_1 deve ir de desenergizado para energizado novamente para que a soma seja incrementada novamente.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Monoestvel com Borda de Linguagens Disponveis:

Subida (OSR)
Lgica Ladder

A instruo OSR energiza ou desenergiza o bit de sada, dependendo


do status do bit de armazenamento.

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
bit de BOOL tag bit de armazenamento interno
armazenam armazena a entrada da condio da linha
ento desde a ltima vez que a instruo
foi executada
bit de sada BOOL tag bit para ser energizado

Operandos do Bloco de Esta instruo est disponvel no bloco de funo como OSRI,
Funo: consulte a pgina 1-15.

Descrio: Quando habilitada e o bit de armazenamento est desenergizado, a


instruo OSR energiza o bit de sada. Quando habilitada e o bit de

Publicao 1756-RM003D-PT-P - Junho 2001


1-10 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

armazenamento est energizado ou quando desabilitada, a instruo


OSR desenergiza o bit de sada

entrada da condio da

bit de armazenamento

bit de sada

a instruo instruo resetada durante a prxima


executada execuo de varredura

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder :

Condio: Ao:
pr-varredura O bit de armazenamento est energizado para prevenir um disparo invlido durante a
primeira varredura.
O bit de sada desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit de armazenamento desenergizado.
O bit de sada no modificado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for verdadeira

bit de armazenamento est


bit de armazenamento = 0 energizado
examinar o bit de
bit de sada energizado
armazenamento
sada da condio da linha
energizada quando verdadeira

bit de armazenamento = 1

bit de armazenamento
permanece energizado
bit de sada desenergizado
sada da condio da linha
energizada quando verdadeira
fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-11

Exemplo de Lgica
Ladder :

Cada vez que limit_switch_1 vai de desenergizado para energizado, a instruo OSR energiza o output_bit_1 e a instruo ADD incrementa a soma
em 5. Durante o perodo em que olimit_switch_1 permanece energizado, a soma permanece no mesmo valor. O limit_switch_1 deve ir de
desenergizado para energizado novamente para que a soma seja incrementada novamente. Voc pode usar o output_bit_1 em mltiplas linhas para
disparar outras operaes.

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como OSRI,
Funo: consulte a pgina 1-15.

Monoestvel com Borda de Linguagens Disponveis:

Descida (OSF)
Lgica Ladder

A instruo OSF energiza ou remove o bit de sada, dependendo do


status do bit de armazenamento.

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
bit de BOOL tag bit de armazenamento interno
armazenam armazena a entrada da condio da linha
ento desde a ltima vez que a instruo
foi executada
bit de sada BOOL tag bit para ser energizado

Operandos do Bloco de Esta instruo est disponvel no bloco de funo como OSFI,
Funo: consulte a pgina 1-17.

Descrio: Quando desabilitada e o bit de armazenamento est energizado, a


instruo OSF energiza o bit de sada. Quando desabilitada e o bit de

Publicao 1756-RM003D-PT-P - Junho 2001


1-12 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

armazenamento est desenergizado, ou quando habilitada, a instruo


OSF remove o bit de sada.

entrada da

bit de

bit de sada

a instruo instruo resetada


executada durante a prxima
execuo de varredura

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder :

Condio: Ao:
pr-varredura O bit de armazenamento desenergizado para prevenir um disparo invlido durante a
primeira varredura.
O bit de sada desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa

bit de
bit de armazenamento
armazenamento = 0
permanece desenergizado
examinar o bit de bit de sada desenergizado
armazenamento sada da condio da linha
energizada quando falsa

bit de armazenamento = 1

bit de armazenamento
desenergizado
bit de sada energizado
sada da condio da linha
energizada quando falsa
fim

entrada da condio da linha for verdadeira O bit de armazenamento energizado.


O bit de sada desenergizado.
A sada da condio da linha est definida como verdadeira.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-13

Exemplo de Lgica
Ladder :

Cada vez que o limit_switch_1 vai de energizado para desenergizado, a instruo OSF energiza o output_bit_2 e a instruo ADD incrementa a soma
em 5. Durante o perodo que limit_switch_1 permanece desenergizado, a soma permanece no mesmo valor. O limit_switch_1 deve ir de energizado
para desenergizado novamente para que a soma seja incrementada novamente. Voc pode usar o output_bit_2 em linhas mltiplas para disparar
outras operaes.

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como OSFI,
Funo: consulte a pgina 1-17.

Monoestvel com Borda de Linguagens Disponveis:

Subida com Entrada (OSRI)


Bloco de Funo

A instruo OSRI energiza o bit de sada para um ciclo de execuo


quando o bit de entrada passa de desenergizado para energizado.

Operandos de Lgica Esta instruo est disponvel em lgica ladder como OSR, consulte a
Ladder : pgina 1-10.

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag de bloco FBD_ONESHOT estrutura Estrutura OSRI

Publicao 1756-RM003D-PT-P - Junho 2001


1-14 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial energizado
InputBit BOOL Bit de entrada. Isto equivalente condio de linha para a instruo OSR de lgica ladder .
o valor inicial desenergizado

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
OutputBit BOOL Bit de sada

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-15

Descrio: Quando o InputBit energizado e o InputBitn-1 desenergizado, a


instruo OSRI energiza o OutputBit. Quando o InputBitn-1
energizado ou quando o bit de entrada desenergizado, a instruo
OSRI desenergiza o OutputBit.

InputBit

InputBitn-1

OutputBit

a instruo instruo resetada durante a prxima


40048
executada execuo de varredura

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica Esta instruo est disponvel em lgica ladder como OSR, consulte a
Ladder : pgina 1-10.

Execuo do Bloco de
Funo:

Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeiro a instruo efetua a varredura InputBit n-1 energizado.
primeiro a instruo efetua a operao InputBit n-1 energizado.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado Em uma transio de desenergizado para energizado do EnableIn, a instruo energiza o
InputBit n-1.
A instruo executada.
EnableOut energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


1-16 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

Exemplo do Bloco de
Funo:

Quando limit_switch1 vai de desenergizado para energizado, a instruo OSRI energiza o OutputBit para uma varredura. Quando o OutputBit
energizado, ele habilita a instruo ADD para incrementar o valor em SourceB pelo valor em SourceA.

Monoestvel com Borda de Linguagens Disponveis:

Descida com Entrada (OSFI)


Bloco de Funo

A instruo OSFI energiza OutputBit para um ciclo de execuo


quando o InputBit passa de energizado para desenergizado.

Operandos de Lgica Esta instruo est disponvel na lgica ladder como OSF, consulte a
Ladder : pgina 1-13.

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag de bloco FBD_ONESHOT estrutura Estrutura OSFI

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial energizado
InputBit BOOL Bit de entrada. Isto equivalente condio de linha para a instruo OSF de lgica ladder
o valor inicial desenergizado

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-17

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
OutputBit BOOL Bit de sada

Descrio: Quando o InputBit desenergizado e o InputBit n-1 energizado, a


instruo OSFI energiza o OutputBit. Quando o InputBit n-1
desenergizado ou quando o InputBit energizado, a instruo OSFI
desenergiza o bit de sada.

InputBit

InputBit n-1

OutputBit 40047

a instruo a instruo resetada durante a prxima


executada execuo de varredura

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica Esta instruo est disponvel na lgica ladder como OSF, consulte a
Ladder : pgina 1-13.

Execuo do Bloco de
Funo:

Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeiro a instruo efetua a varredura InputBit n-1 desenergizado.
primeiro a instruo efetua a operao InputBit n-1 desenergizado.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado Em uma transio de desenergizado para energizado do EnableIn, a instruo
desenergiza o InputBit t n-1.
A instruo executada.
EnableOut energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


1-18 Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)

Exemplo do Bloco de
Funo:

Quando o limit_switch1 vai de energizado para desenergizado, a instruo OSFI energiza o OutputBit para uma varredura. Quando o OutputBit
energizado, ele habilita a instruo ADD para incrementar o valor em SourceB pelo valor em SourceA.

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 2

Instrues do Temporizador e do Contador


(TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Introduo Operaes de controle de temporizador e contador baseado no tempo


ou nmero de eventos.

Se voc quiser: Use esta instruo: Consulte


pgina:
cronometrar em quanto tempo o TON 2-2
temporizador habilitado
cronometrar em quanto tempo um TOF 2-6
temporizador desabilitado
acumular tempo RTO 2-10
determinar por quanto tempo o temporizador TONR 2-14
habilitado com um reset incorporado ao
bloco de funo
determinar por quanto tempo um TOFR 2-17
temporizador desabilitado com um reset
incorporado ao bloco de funo
acumular tempo com o reset incorporado ao RTOR 2-20
bloco de funo
realizar uma contagem crescente CTU 2-23
realizar um contagem decrescente CTD 2-27
realizar uma contagem crescente e CTUD 2-31
decrescente no bloco de funo
resetar um temporizador ou contador RES 2-35

A base de tempo para todos os temporizadores 1 ms.

1 Publicao 1756-RM003D-PT-P - Junho 2001


2-2 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Temporizador de Linguagens Disponveis:

Energizao (TON)
Lgica Ladder

A instruo TON um temporizador no retentivo que acumula


tempo quando a instruo habilitada (entrada da condio da linha
verdadeira).

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
Temporizado TIMER tag estrutura do temporizador
r
Preset DINT imediato Quanto tempo para retardar (tempo
acumulado)
Accum DINT imediato totalizar os ms que o temporizador contou
valor inicial normalmente 0

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.EN BOOL O bit habilitado indica que a instruo TON est habilitada.
.TT BOOL O bit de temporizao indica que uma operao de temporizao est em andamento.
.DN BOOL O bit executado est definido quando .ACC .PRE.
.PRE DINT O valor pr-selecionado especifica o valor (unidades de 1 ms) que o acumulador deve atingir
antes da instruo energizar o bit .DN.
.ACC DINT O valor acumulado especifica a quantidade de milissegundos que transcorreram desde o
momento em que a instruo TON foi habilitada.

Operandos do Bloco de Esta instruo est disponvel no bloco de funo como TONR,
Funo: consulte a pgina 2-14.

Descrio: Quando habilitada, a instruo TON acumula tempo at que:


a instruo TON seja desabilitada
o .ACC .PRE

A base de tempo sempre 1 ms. Por exemplo, para um temporizador


de 2 segundos, entre com 2000 para o valor .PRE.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-3

Quando a instruo TON desabilitada, o valor .ACC


desenergizado.

entrada da condio da linha

bit habilitado do temporizador (.EN)

bit de temporizao do temporizador (.TT)

bit executado do temporizador (.DN)


em
atraso
valor pr-programado
temporizador no
atingiu o valor .PRE
valor acumulado do temporizador 0 16649

Flags de Status Aritmtico: no afetados

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de


falha:
.PRE < 0 4 34
.ACC < 0 4 34

Publicao 1756-RM003D-PT-P - Junho 2001


2-4 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Execuo da Lgica
Ladder :

Condio: Ao:
pr-varredura O bit .EN desenergizado.
O bit .TT desenergizado.
O bit .DN desenergizado.
O valor .ACC desenergizado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit .EN desenergizado.
O bit .TT desenergizado.
O bit .DN desenergizado.
O valor .ACC desenergizado.
A sada da condio da linha definida como falsa.

entrada da condio da linha for verdadeira

bit .DN = 1
examinar bit .DN

bit .DN = 0

bit .EN energizado


bit .EN = 0 bit .TT energizado
examinar bit .EN
last_time = current_time

bit .EN = 1

bit .TT energizado .ACC .PRE


examinar .ACC
.ACC = .ACC + (current_time - last_time)
last_time = current_time

.ACC < .PRE

.DN energizado
bit .TT desenergizado
bit .EN energizado
valor .ACC no
renova

sim sada da condio da linha


definida como verdadeira

.ACC = 2.147.483.647
fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-5

Exemplo de Lgica
Ladder :

Quando o limit_switch_1 energizado, olight_2 fica aceso durante 180 ms (o timer_1 est cronometrando). Quando o timer_1.acc atinge 180, o
light_2 desenergiza e o light_3 energiza. O Light_3 permanece energizado at que a instruo TON seja desabilitada. Se o limit_switch_1 for
desenergizado enquanto otimer_1 est cronometrando, o light_2 desenergiza.

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como TONR,
Funo: consulte a pgina 2-14.

Publicao 1756-RM003D-PT-P - Junho 2001


2-6 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Temporizador de Linguagens Disponveis:

Desenergizao (TOF)
Lgica Ladder

A instruo TOF um temporizador no retentivo que acumula tempo


quando a instruo est habilitada (entrada da condio da linha
falsa).

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
Temporizador TIMER tag estrutura do temporizador
Preset DINT imediato Quanto tempo para retardar (tempo
acumulado)
Accum DINT imediato totalizar os ms que o temporizador contou
valor inicial normalmente 0

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.EN BOOL O bit habilitado indica que a instruo TOF est habilitada.
.TT BOOL O bit de temporizao indica que uma operao de temporizao est em andamento.
.DN BOOL O bit executado est definido quando .ACC .PRE.
.PRE DINT O valor pr-determinado especifica o valor (unidades de 1 ms) que o acumulado deve atingir
antes da instruo desenergizar o bit .DN.
.ACC DINT O valor acumulado especifica o nmero de milissegundos que transcorreram desde o
momento em que a instruo TOF foi habilitada.

Operandos do Bloco de Esta instruo est disponvel no bloco de funo como TOFR,
Funo: consulte a pgina 2-17.

Descrio: Quando habilitada, a instruo TOF acumula tempo at que:


a instruo TOF seja desabilitada
o .ACC .PRE

A base de tempo sempre 1 ms. Por exemplo, para um temporizador


de 2 segundos, entre com 2000 para o valor .PRE.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-7

Quando a instruo TOF desabilitada, o valor .ACC desenergizado.

entrada da condio da linha

bit habilitado do temporizador (.EN)

bit de temporizao do temporizador (.TT)


bit executado do temporizador (.DN)
atraso na
desenergizao
valor pr-programado

valor acumulado do temporizador (.ACC)


0 16650

temporizador no atingiu o valor .PRE

Flags de Status Aritmtico: no afetados

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de


falha:
.PRE < 0 4 34
.ACC < 0 4 34

Publicao 1756-RM003D-PT-P - Junho 2001


2-8 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Execuo de Lgica
Ladder :

Condio: Ao:
pr-varredura O bit .EN desenergizado.
O bit .TT desenergizado.
O bit .DN desenergizado.
O valor .ACC energizado para igualar-se ao valor .PRE.
A sada da condio da linha definida como falsa.

entrada da condio da linha for falsa

bit .DN = 0
examinar bit .DN

bit .DN = 1

bit .EN desenergizado.


bit .EN = 1 bit .TT energizado
examinar bit .EN
last_time = current_time

bit .EN = 0

bit .TT energizado .ACC .PRE


examinar .ACC
.ACC = .ACC + (current_time - last_time)
last_time = current_time

.ACC < .PRE


bit .DN desenergizado.
bit .TT desenergizado
bit .EN desenergizado.

valor .ACC no
renova

sim sada de condio da linha


definida como falsa

.ACC = 2.147.483.647

fim

entrada da condio da linha for verdadeira O bit .EN energizado.


O bit .TT desenergizado.
O bit .DN energizado.
O valor .ACC desenergizado.
A sada da condio da linha est definida como verdadeira.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-9

Exemplo de Lgica
Ladder :

Quando o limit_switch_2 desenergizado, o light_2 fica energizado durante 180 ms (otimer_2 est cronometrando). Quando o timer_2.acc atinge
180, o light_2 desenergiza e o light_3 energiza. O Light_3 permanece energizado at que a instruo TOF seja habilitada. Se olimit_switch_2for
energizado enquanto o timer_2 est cronometrando, o light_2 desenergiza.

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como TOFR,
Funo: consulte a pgina 2-17.

Publicao 1756-RM003D-PT-P - Junho 2001


2-10 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Temporizador Retentivo Linguagens Disponveis:

Ligado (RTO)
Lgica Ladder

A instruo RTO um temporizador retentivo que acumula tempo


quando a instruo habilitada.

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
Temporizador TIMER tag estrutura do temporizador
Preset DINT imediato Quanto tempo para retardar (tempo
acumulado)
Accum DINT imediato quantidade de ms que o temporizador
contou
valor inicial normalmente 0

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.EN BOOL O bit habilitado indica que a instruo RTO est habilitada.
.TT BOOL O bit de temporizao indica que uma operao de temporizao est em andamento.
.DN BOOL O bit executado indica que .ACC .PRE.
.PRE DINT O valor pr-selecionado especifica o valor (unidades de 1 ms) que o acumulado deve atingir
antes da instruo energizar o bit .DN.
.ACC DINT O valor acumulado especifica o nmero de milissegundos que transcorreram desde o
momento em que a instruo RTO foi habilitada.

Operandos do Bloco de Esta instruo est disponvel no bloco de funo como RTOR,
Funo: consulte a pgina 2-20.

Descrio: Quando habilitada, a instruo RTO acumula tempo at ser


desabilitada. Quando a instruo RTO desabilitada, ela retm o valor
ACC. Deve-se remover o valor .ACC, tipicamente com uma instruo
RES fazendo referncia mesma estrutura TIMER.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-11

A base de tempo sempre 1 ms. Por exemplo, para um temporizador


de 2 segundos, insira 2000 para o valor .PRE.

entrada da condio da linha

bit habilitado do temporizador (.EN)

condio da linha que controla a instruo RES

bit de temporizao do temporizador (.TT)

bit executado do temporizador (.DN)

valor
pr-programado

16651
valor acumulado do temporizador (.ACC)
0
temporizador no atingiu o valor .PRE

Flags de Status Aritmtico: no afetados

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de


falha:
.PRE < 0 4 34
.ACC < 0 4 34

Publicao 1756-RM003D-PT-P - Junho 2001


2-12 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Execuo Lgica
Ladder :

Condio: Ao:
pr-varredura O bit .EN desenergizado.
O bit .TT desenergizado.
O bit .DN desenergizado.
O valor .ACC no modificado.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit .EN desenergizado.
O bit .TT desenergizado.
O bit .DN no modificado.
O valor .ACC no modificado.
A sada da condio da linha definida como falsa.

entrada da condio da linha for verdadeira

bit .DN = 1
examinar bit .DN

bit .DN = 0

bit .EN est energizado


bit .EN = 0 bit .TT est energizado
examinar bit .EN
last_time = current_time

bit .EN = 1

.ACC .PRE
bit .TT est energizado examinar .ACC
.ACC = .ACC + (current_time - last_time)
last_time = current_time

.ACC < .PRE


.DN energizado
bit .TT desenergizado
bit .EN est energizado

valor .ACC no
renova

sim sada da condio da linha


definida como verdadeira

.ACC = 2.147.483.647
fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-13

Exemplo de Lgica
Ladder :

Quando o limit_switch_1 energizado, o light_1 fica ligado durante 180 ms (o timer_2 est cronometrando). Quando o timer_3.acc atinge 180, o
light_1 apaga e o light_2 acende. O Light_2 permanece at que o timer_3 seja resetado. Se o light_switch_1 for desenergizado enquanto o timer_3
est cronometrando, o light_1 permanece aceso. Quando o limit _switch_2 est energizado, a instruo RES reseta o timer_3 (remove os bits de
status e o valor .ACC).

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como RTOR,
Funo: consulte a pgina 2-20.

Publicao 1756-RM003D-PT-P - Junho 2001


2-14 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Temporizador de Linguagens Disponveis:

Energizao com Reset


(TONR) Bloco de Funo

A instruo TONR um temporizador no retentivo que acumula


tempo quando TimerEnable energizado.

Operandos de Lgica Esta instruo est disponvel em Lgica Ladder como duas
Ladder : instrues separadas: TON (consulte a pgina 2-2) e RES (consulte a
pgina 2-35).

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag de bloco FBD_TIMER estrutura estrutura TONR

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial energizado
TimerEnable BOOL Se energizada, habilita o temporizador a operar e acumular tempo.
o valor inicial desenergizado
PRE DINT Valor pr-selecionado do temporizador. Este o valor em 1 unidade de milissegundo que o
ACC deve alcanar antes que a temporizao termine. Se invlido, a instruo energiza o bit
apropriado em Status e o temporizador no executa.
vlido = 0 ao nmero inteiro positivo mximo
Reset BOOL Solicitao para zerar o temporizador. Quando energizado, o temporizador zera.
o valor inicial desenergizado

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-15

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
ACC BOOL Tempo acumulado em milissegundos.
EN BOOL Sada habilitada de temporizador. indica que a instruo do temporizador est habilitada.
TT BOOL Sada de temporizao do temporizador. Quando energizado, uma operao de temporizao
est em progresso.
DN BOOL Sada da temporizao concluda. Indica quando o tempo acumulado for maior ou igual ao
valor pr-selecionado.
Status: DINT Status do bloco de funo.
InstructFault (Status.0) BOOL A instruo detectou um dos seguintes erros de execuo. Isto no um erro grave ou de
advertncia do controlador. Verifique os bits de status restantes para determinar o que
ocorreu.
PresetInv (Status.1) BOOL O valor pr-selecionado invlido.

Descrio: Quando habilitada, a instruo TONR acumula tempo at que:


a instruo TONR seja desabilitada
ACC PRE

A base de tempo sempre 1 ms. Por exemplo, para um temporizador


de 2 segundos, digite 2000 para o valor PRE.

TimerEnable

bit habilitado (EN)

bit de temporizao do temporizador (TT)

bit executado de temporizador (DN)


em
atraso
valor pr-programado
16649
o temporizador no
valor acumulado do temporizador (ACC) 0 alcanou o valor PRE

Energize o parmetro de entrada Reset para resetar a instruo. Se


TimerEnable for energizado quando Reset energizado, a instruo
TONR inicia a temporizao novamente quando Reset for
desenergizado.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica Esta instruo est disponvel na Lgica Ladder como duas instrues
Ladder : separadas: TON (consulte a pgina 2-2) e RES (consulte a pgina
2-35).

Publicao 1756-RM003D-PT-P - Junho 2001


2-16 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Execuo do Bloco de
Funo:

Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo EN, TT e DN so desenergizados.
o valor ACC definido em 0.
primeira operao da instruo EN, TT e DN so desenergizados.
o valor ACC definido em 0.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado Quando o EnableIn efetua a transio de desenergizado para energizado, a instruo
inicializa como descrito para a primeira varredura da instruo.
A instruo executada.
EnableOut energizado.
reset Quando o parmetro de entrada Reset energizado, a instruo desenergiza EN, TT e
DN e define ACC = zero.

Exemplo do Bloco de
Funo:

Para cada varredura cujo limit_switch1 energizado, a instruo TONR incrementa o valor ACC
pelo tempo transcorrido at que o valor ACC alcance o valor PRE. Quando ACC PRE, o parmetro
DN energizado, o que habilita a instruo do bloco de funo seguindo a instruo TONR.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-17

Temporizador de Linguagens Disponveis:

Desenergizao com Reset


(TOFR) Bloco de Funo

A instruo TOFR um temporizador no retentivo que acumula


tempo quando TimerEnable desenergizado.

Operandos de Lgica Esta instruo est disponvel na Lgica Ladder como duas instrues
Ladder : separadas: TOF (consulte a pgina 2-6) e RES (consulte a pgina
2-35).

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag de bloco FBD_TIMER estrutura estrutura TOFR

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial energizado
TimerEnable BOOL Se desenergizado, habilita o temporizador para operar e acumular tempo.
o valor inicial desenergizado
PRE DINT Valor pr-selecionado do temporizador. Este o valor em unidades de 1 ms que o ACC deve
alcanar antes que a temporizao termine. Se invlido, as instrues energizam o bit
apropriado em Status e o temporizador no executa.
vlido = 0 ao inteiro positivo mximo
Reset BOOL Solicitao para zerar o temporizador. Quando energizado, o temporizador reseta.
o valor inicial desenergizado

Publicao 1756-RM003D-PT-P - Junho 2001


2-18 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
ACC BOOL Tempo acumulado em milissegundos.
EN BOOL Sada habilitada pelo temporizador. Indica que a instruo do temporizador est habilitada.
TT BOOL Sada de temporizao do temporizador. Quando energizada, uma operao de temporizao
est em progresso.
DN BOOL Sada concluda de temporizao. Indica quando o tempo acumulado maior ou igual ao
pr-selecionado.
Status: DINT Status do bloco de funo.
InstructFault (Status.0) BOOL A instruo detectou um dos seguintes erros de execuo. Isto no um erro grave ou de
advertncia do controlador. Verifique os bits de status restantes para determinar o que
ocorreu.
PresetInv (Status.1) BOOL O valor pr-selecionado invlido.

Descrio: Quando habilitada, a instruo TOFR acumula tempo at que:


a instruo TOFR seja desabilitada
ACC PRE

A base de tempo sempre 1 ms. Por exemplo, para um temporizador


de 2 segundos, digite 2000 para PRE value.

TimerEnable

bit habilitado (EN)

bit de temporizao do temporizador (TT)


bit executado do temporizador (DN)
atraso na
desenergizao
valor pr-programado

valor acumulado do temporizador (ACC)


0 16650

o temporizador no atingiu o PRE value

Energize o parmetro de entrada Reset para resetar a instruo. Se o


TimerEnable for desenergizado quando o Reset for energizado, a
instruo TOFR no inicia a temporizao novamente quando o Reset
for desenergizado.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-19

Execuo da Lgica Esta instruo est disponvel na Lgica Ladder como duas instrues
Ladder : separadas: TOF (consulte a pgina 2-6) e RES (consulte a pgina
2-35).

Execuo do Bloco de
Funo:

Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo EN, TT e DN so desenergizados.
o valor ACC energizado para PRE.
primeira varredura da instruo EN, TT e DN so desenergizados.
o valor ACC energizado para PRE.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado Quando EnableIn faz a transio de desenergizado para energizado, a instruo se
inicializa como descrito para a primeira varredura da instruo.
A instruo executada.
EnableOut energizado.
reset Quando o parmetro de entrada Reset for energizado, a instruo desenergizar o EN,
TT e DN e definir o ACC = PRE. Note que isto diferente de usar uma instruo RES em
uma instruo TOF.

Exemplo do Bloco de
Funo:

Cada varredura aps limit_switch1 desenergizada, a instruo TOFR incrementa o valor ACC atravs do
tempo transcorrido at que o valor ACC alcance o valor PRE. Quando ACC PRE, o parmetro DN
desenergizado, o que desabilita a instruo do bloco de funo que segue a instruo TOFR.

Publicao 1756-RM003D-PT-P - Junho 2001


2-20 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Temporizador Retentivo Linguagens Disponveis:

Energizado com Reset


(RTOR) Funo

A instruo RTOR um temporizador retentivo que acumula tempo


quando o TimerEnable energizado.

Operandos de Lgica Esta instruo est disponvel na Lgica Ladder como duas instrues
Ladder : separadas: RTO (consulte a pgina 2-10) e RES (consulte a pgina
2-35).

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_TIMER estrutura estrutura RTOR

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial energizado
TimerEnable BOOL Se energizado, habilita o temporizador para operar e acumular tempo.
o valor inicial desenergizado
PRE DINT Valor pr-selecionado do temporizador. Este o valor em unidades de 1 ms que o ACC deve
alcanar antes que a temporizao termine. Se invlida, a instruo energiza o bit apropriado
em Status e o temporizador no executa.
vlido = 0 ao inteiro positivo mximo
Reset BOOL Solicitao para resetar o temporizador. Quando energizado, o temporizador reseta.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-21

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
ACC DINT Tempo acumulado em milissegundos. Este valor retido at durante a desenergizao da
entrada TimerEnable. Isto torna o comportamento deste bloco diferente do bloco TONR.
EN BOOL Sada habilitada do temporizador. Indica que a instruo do temporizador habilitada.
TT BOOL Sada de temporizao do temporizador. Quando energizada, a operao de temporizao
est em progresso.
DN BOOL Sada de temporizao concluda. Indica quando o tempo acumulado superior ou igual ao
pr-selecionado.
Status: DINT Status do bloco de funo.
InstructFault (Status.0) BOOL Esta instruo detectou um dos seguintes erros de execuo. Esto no um erro grave ou de
advertncia do controlador. Verifique os bits de status restantes para determinar o que
ocorreu.
PresetInv (Status.1) BOOL O valor pr-selecionado invlido.

Descrio: Quando habilitada, a instruo RTO acumula tempo at que seja


desabilitada. Quando a instruo RTO desabilitada, ela retm o valor
ACC. Deve-se desenergizar o valor ACC atravs da entrada Reset.

A base de tempo sempre 1 ms. Por exemplo, para um temporizador


de 2 segundos, digite 2000 para o PRE value.

TimerEnable

bit habilitado (EN)

Reset

bit de temporizao do temporizador (TT)

bit executado do temporizador (DN)

valor pr-programado

16651
valor acumulado do temporizador (ACC)
0
o temporizador no alcanou o PRE value

Energize o parmetro de entrada Reset para resetar a instruo. Se o


TimerEnable for energizado quando o Reset for energizado, a instruo
RTOR inicia a temporizao novamente quando o Reset for desenergizado.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


2-22 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Execuo de Lgica Esta instruo est disponvel na Lgica Ladder como duas instrues
Ladder : separadas: RTO (consulte a pgina 2-10) e RES (consulte a pgina
2-35).

Execuo do Bloco de
Funo:

Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo EN, TT e DN so desenergizados
o valor ACC no alterado
primeira operao da instruo EN, TT e DN so desenergizados
o valor ACC no alterado
primeira operao do OLC EN, TT e DN so desenergizados
o valor ACC no alterado
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado Quando EnableIn faz a transio de desenergizado para energizado, a instruo
inicializa como descrito para a primeira varredura da instruo.
A instruo executada.
EnableOut energizado.
reset Quando o parmetro de entrada Reset for energizado, a instruo desenergiza EN, TT e
DN e define ACC = zero.

Exemplo do Bloco de
Funo:

Para cada varredura cujo limit_switch1 energizado, a instruo RTOR incrementa o valor ACC
atravs do tempo transcorrido at que o valor ACC alcance o valor PRE. Quando ACC PRE, o
parmetro DN energizado, o que habilita a instruo do bloco de funo seguindo a instruo

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-23

Contagem Crescente (CTU) Linguagens Disponveis:

Lgica Ladder

A instruo CTU conta em ordem crescente.

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
Contador COUNTER tag estrutura do contador
Preset DINT imediato valor mximo de contagem
Accum DINT imediato quantidade de vezes que o contador contou
valor inicial normalmente 0

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.CU BOOL O bit de habilitao do contador crescente indica que a instruo CTU est habilitada.
.DN BOOL O bit executado indica que .ACC .PRE.
.OV BOOL O bit de overflow indica que o contador ultrapassou o limite superior de 2.147.483.647. O
contador volta para -2.147.483.648 e inicia a contagem crescente novamente.
.UN BOOL O bit de underflow indica que o contador ultrapassou o limite inferior de - 2.147.483.647. O
contador volta para 2.147.483.647 e inicia a contagem decrescente novamente.
.PRE DINT O valor pr-programado especifica o valor que o acumulado deve atingir antes da instruo
energizar o bit .DN.
.ACC DINT O valor acumulado especifica o nmero de transies que a instruo contou.

Operandos do Bloco de Esta instruo est disponvel no bloco de funo como CTUD,
Funo: consulte a pgina 2-31.

Publicao 1756-RM003D-PT-P - Junho 2001


2-24 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Descrio: Quando habilitada e o bit .CU estiver desenergizado, a instruo CTU


incrementa o contador em um. Quando habilitada e o bit .CU estiver
energizado ou quando desabilitada, a instruo CTU retm o seu valor
.ACC>

entrada da condio da linha

bit de contagem crescente (.CU)

bit executado de contagem crescente (.DN)

valor pr-programado

valor acumulado do contador (.ACC)


16636

O valor acumulado continua a incrementar, mesmo depois que o bit


.DN energizado. Para remover o valor acumulado, use uma
instruo RES que se refira estrutura do contador ou escreva 0 no
valor acumulado.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-25

Execuo de Ladder
Rel:

Condio: Ao:
pr-varredura O bit .CU est energizado para prevenir incrementos invlidos durante a primeira
varredura do programa.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit .CU desenergizado.
A sada da condio da linha definida como falsa.

entrada da condio da linha for verdadeira

bit .CU = 0 bit .CU est sim


examinar bit .CU energizado valor .ACC renova
.ACC = .ACC + 1

bit .CU = 1 no

bit .UN desenergizado bit .UN = 1


bit .DN desenergizado. examinar bit .UN
bit . OV desenergizado

bit .UN = 0

bit .UN = 0 bit .OV = 0


examinar bit .UN examinar bit .OV

bit . OV est energizado


bit .UN = 1 bit .OV = 1

.ACC .PRE
examinar .ACC

.ACC < .PRE


bit .DN desenergizado.
bit .DN est energizado.

sada da condio da linha


definida como verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


2-26 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Exemplo de Lgica
Ladder :

Depois que o limit_switch_1 passa de desabilitado para habilitado 10 vezes, o bit .DN energizado e o light_1 acende. Se olimit_switch_1 continuar a
mudar de desabilitado para habilitado, o counter_1 continuar a incrementar a sua contagem e o bit .DN permanecer energizado. Quando o
limit_switch_2 estiver habilitado, a instruo RES resetar o counter_1 (desenergizar os bits de status e o valor .ACC) e o light_1 ser desligado.

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como CTUD,
Funo: consulte a pgina 2-31.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-27

Contagem Decrescente Linguagens Disponveis:

(CTD)
Lgica Ladder

A instruo CTD conta no sentido decrescente.

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
Contador COUNTER tag estrutura do contador
Preset DINT imediato valor mnimo de contagem
Accum DINT imediato quantidade de vezes que o contador contou
valor inicial normalmente 0

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.CD BOOL O bit de habilitao do contador decrescente indica que a instruo CTD est habilitada.
.DN BOOL O bit executado indica que .ACC .PRE.
.OV BOOL O bit de overflow indica que o contador ultrapassou o limite superior de 2.147.483.647. O
contador volta para -2.147.483.648 e inicia a contagem crescente novamente.
.UN BOOL O bit de underflow indica que o contador ultrapassou o limite inferior de - 2.147.483.647. O
contador volta para 2.147.483.647 e inicia a contagem decrescente novamente.
.PRE DINT O valor pr-programado especifica o valor que o acumulado deve atingir antes da instruo
energizar o bit .DN.
.ACC DINT O valor acumulado especifica o nmero de transies que a instruo contou.

Operandos de Bloco de Esta instruo est disponvel no bloco de funo como CTUD,
Funo: consulte a pgina 2-31.

Publicao 1756-RM003D-PT-P - Junho 2001


2-28 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Descrio: A instruo CTD tipicamente usada com uma instruo CTU que
refere mesma estrutura do contador.

Quando habilitada e o bit .CD estiver removido, a instruo CTD


decrementa o contador em um. Quando habilitada e o bit .CD estiver
energizado ou quando desabilitada, a instruo CTD retm o seu valor
.ACC.

entrada da condio da linha

bit de habilitao de contagem decrescente (.CD)

bit executado de contagem decrescente (.DN)

valor acumulado do contador (.ACC)

valor pr-programado

16637

O valor acumulado continua a decrementar mesmo depois que o


bit .DN for energizado. Para remover o valor acumulado, use uma
instruo RES que se refira estrutura do contador ou escreva 0 no
valor acumulado.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-29

Execuo da Lgica
Ladder :

Condio: Ao:
pr-varredura O bit .CD est energizado para prevenir decrementos invlidos durante a primeira
varredura do programa.
A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa O bit .CD desenergizado.
A sada da condio da linha definida como falsa.

entrada da condio da linha for verdadeira

bit .CD = 0 bit .CD est valor .ACC sim


examinar bit .CD energizado renova
.ACC = .ACC - 1

bit .CD = 1 no

bit . OV desenergizado bit .OV = 1


bit .DN desenergizado. examinar bit .OV
bit .UN desenergizado

bit .OV = 0

bit .UN = 0 bit .OV = 0


examinar bit .UN examinar bit .OV

bit .UN est energizado


bit .UN = 1 bit .OV = 1

.ACC .PRE
examinar .ACC

.ACC < .PRE


bit .DN desenergizado. bit .DN est energizado.

sada da condio da linha


definida como verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


2-30 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Exemplo de Lgica
Ladder :

Um esteira transportadora traz peas para uma zona de buffer. Cada vez que uma pea entra, o limit_switch_1 habilitado e o counter_1
incrementa em 1. Cada vez que uma pea sai, o limit_switch_2 habilitado e o counter_1 decrementa em 1. Se houver 100 peas em uma zona
de buffer (o counter_1.dn estiver energizado), o conveyor_a liga e interrompe a operao da esteira, impedindo que mais peas sejam trazidas,
at que o buffer tenha espao.

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como CTUD,
Funo: consulte a pgina 2-31.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-31

Contagem Linguagens Disponveis:

Crescente/Decrescente
(CTUD) Bloco de Funo

A instruo CTUD faz a contagem crescente em um quando o


CUEnable faz a transio de desenergizado para energizado. Esta
instruo faz a contagem decrescente em um quando o CDEnable faz
a transio de desenergizado para energizado.

Operandos de Lgica Esta instruo est disponvel em Lgica Ladder como instrues
Ladder : separadas, CTU (pgina 2-23), CTD (pgina 2-27), e RES (pgina
2-35).

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_COUNTER estrutura estrutura CTUD

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial energizado
CUEnable BOOL Habilita a contagem crescente. Quando a entrada passa de desenergizada para energizada, o
acumulador faz a contagem crescente em um.
o valor inicial desenergizado
CDEnable BOOL Habilita a contagem decrescente. Quando a entrada passa de desenergizada para
energizada, o acumulador faz a contagem decrescente em um.
o valor inicial desenergizado
PRE DINT Valor pr-selecionado do contador. Este o valor que o valor acumulado deve alcanar antes
que o DN seja energizado.
vlido = qualquer inteiro
o valor inicial 0
Reset BOOL Solicita que o temporizador seja zerado. Quando energizado, o contador zera.
o valor inicial desenergizado

Publicao 1756-RM003D-PT-P - Junho 2001


2-32 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
ACC DINT Valor acumulado.
CU BOOL Contagem crescente habilitada.
CD BOOL Contagem decrescente habilitada.
DN BOOL Contagem concluda. Energiza quando o valor acumulado for maior ou igual ao
pr-selecionado.
OV BOOL Overflow do contador. Indica que o contador excedeu o limite mximo de 2.147.483.647.
O contador ento reverte para 2.147.483.648 e inicia a contagem decrescente novamente.
UN BOOL Underflow do contador. Indica que o contador excedeu o limite inferior de 2.147.483.648.
O contador reverte para 2.147.483.647 e indica a contagem decrescente novamente.

Descrio: Quando habilitadas e o CUEnable est energizado, as instrues


CTUD incrementam o contador em um. Quando habilitada e o
CDEnable est energizado, a instruo CTUD decrementa o contador
em um.

Tanto o parmetro de entrada CUEnable como o CDEnable podem ser


alternados durante a mesma varredura. A instruo executa a
contagem crescente antes da decrescente.

Efetuando a contagem crescente

CUEnable

bit de contagem crescente (CU)

bit executado de contagem crescente (DN)

valor pr-programado

valor acumulado do contador (ACC)


16636

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-33

Efetuando a contagem decrescente

CDEnable

bit de contagem decrescente (CD)

bit executado de contagem decrescente (DN)

valor acumulado do contador (ACC)

valor pr-programado

16637

Quando desabilitada, a instruo CTUD retm seu valor acumulado.


Energize o parmetro de entrada Reset para resetar a instruo.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica Esta instruo est disponvel na Lgica Ladder como trs instrues
Ladder : separadas, CTU (pgina 2-23), CTD (pgina 2-27) e RES (pgina 2-35).

Execuo do Bloco de
Funo:

Condio: Ao:
pr-varredura No requer inicializao.
primeira varredura da instruo o CUEnablen-1 e o CDEnablen-1 esto energizados.
primeira operao da instruo o CUEnablen-1 e o CDEnablen-1 esto energizados.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado Em uma transio de desenergizado para energizado de EnableIn, a instruo energiza
CUEnablen-1 e CDEnablen-1.
A instruo executada.
EnableOut energizado.
reset Quando energizada, a instruo desenergiza CUEnablen-1, CDEnablen-1, CU, CD, DN, OV e UN
e define ACC = zero.

Publicao 1756-RM003D-PT-P - Junho 2001


2-34 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Exemplo do Bloco de
Funo:

Quando limit_switch1 vai de desenergizado para energizado, o CUEnable energizado para uma
varredura e a instruo CTUD incrementa o valor ACC em 1. Quando ACC PRE, o parmetro DN
energizado, o que habilita a instruo do bloco de funo seguindo a instruo CTUD.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-35

Reset (RES) Linguagens Disponveis:

Lgica Ladder

A instruo RES reseta uma estrutura de TEMPORIZADOR,


CONTADOR ou CONTROLE .

Operandos de Lgica
Ladder :
Operando Tipo: Formato: Descrio:
estrutura TIMER tag estrutura para reset
CONTROL
COUNTER

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Descrio: Quando habilitada, a instruo RES desenergiza esses elementos:

Ao usar a instruo RES


para um: A instruo desenergiza:
TIMER valor .ACC
bits de status de controle
COUNTER valor .ACC
bits de status de controle
CONTROL valor .POS
bits de status de controle

Como a instruo RES desenergiza o valor .ACC, o


ATENO
bit .DN e o bit .TT, no use a instruo RES para
resetar um temporizador TOF.

!
Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


2-36 Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)

Execuo de 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 instruo RES reseta a estrutura especificada.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder :
Exemplo: Descrio:
Quando habilitado, resete o timer_3.

Quando habilitado, resete o counter_1.

Quando habilitado, resete o control_1.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 3

Instrues de Entrada/Sada
(MSG, GSV, SSV)

Introduo As instrues de entrada/sada realizam a leitura ou escrevem do/para


o controlador ou um bloco de dados de/para outro mdulo em
outra rede.

Se voc quiser: Use esta instruo: Consulte pgina:


enviar dados de/para outro mdulo MSG 3-2
obter informaes de status do GSV 3-28
controlador
definir informaes de status do SSV 3-28
controlador

1 Publicao 1756-RM003D-PT-P - Junho 2001


3-2 Instrues de Entrada/Sada (MSG, GSV, SSV)

Mensagem (MSG) Linguagens Disponveis:

Lgica Ladder a Rel

A instruo MSG realiza a leitura ou escreve de forma assncrona em


um bloco de dados para outro mdulo em uma rede.

Operandos de Lgica
Ladder a Rel:
Operando: Tipo: Formato: Descrio:
Controle de MESSAGE tag estrutura da mensagem
mensagem

Estrutura:

Mnemnico: Tipo de Descrio:


Dados:
.FLAGS INT O membro .FLAGS fornece acesso aos membros de status (bits) em uma palavra de 16 bits.
Este Corresponde a este membro:
bit:
2 .EW
4 .ER
5 .DN
6 .ST
7 .EN
8 .TO
9 .EN_CC
Importante: Enquanto uma MSG est habilitada, o reset dos bits de status MSG pode romper a
comunicao.
.ERR INT Se o bit .ER for energizado, a palavra de cdigo de erro identifica os cdigos de erro para a instruo MSG.
.EXERR INT A palavra de cdigo de erro estendido especifica as informaes de cdigo de erro adicionais para alguns
cdigos de erro.
.REQ_LEN INT O comprimento requisitado especifica quantas palavras a instruo de mensagem tentar transferir.
.DN_LEN INT O comprimento executado identifica quantas palavras realmente foram transferidas.
.EW BOOL O bit de espera habilitado est energizado quando o controlador detecta que um pedido de mensagem
entrou na fila. O controlador reseta o bit.EW quando o bit .ST estiver energizado.
.ER BOOL O bit de erro energizado quando o controlador detecta uma falha na transferncia. O bit .ER resetado
na prxima vez que a entrada da condio da linha passar de falsa para verdadeira.
.DN BOOL O bit executado energizado quando o ltimo pacote de mensagens for transferido com sucesso. O bit .DN
resetado na prxima vez que a entrada da condio da linha passar de falsa para verdadeira.
.ST BOOL O bit de partida energizado quando o controlador comear a executar a instruo MSG. O bit .ST
resetado quando o bit .DN ou o bit .ER for energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-3

Mnemnico: Tipo de Descrio:


Dados:
.EN BOOL O bit habilitado energizado quando a entrada da condio da linha se tornar verdadeira e permanecer
energizada at que o bit .DN ou .ER for energizado e a entrada da condio da linha se tornar falsa. Se a
entrada da condio da linha se tornar falsa, mas os bits .DN e .ER forem desenergizados, o bit .EN
permanecer energizado.
.TO BOOL Se voc energizar o bit .TO manualmente, o controlador interrompe o processamento da mensagem e
energiza o bit .ER.
.EN_CC BOOL O bit habilitado do cache determina como controlar a conexo MSG. Consulte "Seleo de uma opo de
cache:" na pgina 3-27 As conexes para as instrues MSG que saem da porta serial no so copiadas
para o cache, mesmo que o bit .EN_CC seja energizado.

O controlador processa os bits .ST, .EW, .DN e .DR de forma


ATENO
assncrona para a varredura do programa. Para verificar estes
bits em lgica de diagrama ladder, copie as palavras .FLAGS

! para um tag INT e verifique os bits a partir deste ponto. Caso


contrrio, problemas de temporizao podem invalidar a sua
aplicao com possveis danos ao equipamento e ferimentos
pessoais.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio A instruo MSG transfere os elementos dos dados. O tamanho de


cada elemento depende dos tipos de dados especificados e do tipo de
comando de mensagem usado.

conexo com .EN_CC = 1

entrada da condio da linha

bit .EN

bit .EW

conexo com .EN_CC = 0

bit .ST

bit .DN ou .ER

41382

1 2 3 4 5 6 7

Publicao 1756-RM003D-PT-P - Junho 2001


3-4 Instrues de Entrada/Sada (MSG, GSV, SSV)

Onde: Descrio:
1 entrada da condio da linha for verdadeira
.EN est energizado
.EW est energizado
a conexo est aberta*
2 a mensagem enviada
.ST est energizado
.EW desenergizado
3 a mensagem foi executada ou apresentou erro e a entrada da
condio da linha falsa
.DN ou .ER est energizado
.ST desenergizado
a conexo fechada (se .EN_CC = 0)
.EN desenergizado (porque a entrada da condio da linha falsa)
4 a entrada da condio da linha verdadeira e .DN ou .ER foi
energizado anteriormente
.EN est energizado
.EW est energizado
a conexo est aberta*
.DN ou .ER desenergizado
5 a mensagem enviada
.ST est energizado
.EW desenergizado.
6 a mensagem foi executada ou apresentou erro e a entrada da
condio da linha ainda verdadeira
.DN ou .ER est energizado
.ST desenergizado
a conexo fechada (se .EN_CC = 0)
7 a entrada da condio da linha se torna falsa e .DN ou .ER
energizado
.EN desenergizado
*O bit .EW no energizado se a mensagem no puder ser executada.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-5

Execuo de Lgica
Ladder a Rel:
Condio: Ao:

entrada da condio da linha for falsa


bit .EN = 1
examinar bit .EN
bit .EN = 0

bit .EW = 1
examinar o bit .EW

bit .EW = 0

bit .ST = 1
examinar o bit .ST

bit .ST = 0

bit .DN = 1
examinar bit .DN

bit .DN = 0

bit .ER = 1 bit .ER = 0 sim no


comando de
examinar bit .ER caminho vlido do
block-transfer
mdulo

no sim

bit .DN = 1
examinar bit .DN sim no
conexo do mdulo
em funcionamento

bit .DN = 0
bit .EN desenergizado executar pedido de mensagem

bit .ER = 1
examinar bit .ER bit .EW est energizado bit .ER est energizado

bit .ER = 0

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


3-6 Instrues de Entrada/Sada (MSG, GSV, SSV)

Condio: Ao:

entrada da condio da linha for verdadeira


bit .EN = 1 bit .EN = 0
examinar bit .EN

bit .EW = 1 bit .EW = 1


examinar o bit .EW examinar o bit .EW

bit .EW = 0 bit .EW = 0

bit .ST = 1 bit .ST = 1


examinar o bit .ST examinar o bit .ST

bit .ST = 0 bit .ST = 0

bits .EW, .ST, .TO, .DN e .ER so desenergizados


bit .DN = 1 bit .EN est energizado
examinar bit .DN

bit .DN = 0 bit .EN est


energizado

bit .ER = 1 bit .ER = 0 sim no


comando de
examinar bit .ER caminho vlido do
block-transfer
mdulo

no sim

sim no
conexo do mdulo
em funcionamento

bits .EW, .ST, .TO, .DN e .ER so desenergizados


bit .EN est energizado
executar pedido de mensagem
bit .EW est energizado

bit .ER est energizado

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-7

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Cdigos de Erro MSG Os cdigos de erro dependem do tipo dos cdigos de erro do
ControlLogix (CIP) da instruo MSG.

Cdigos de erro do ControlLogix (CIP)

Para os cdigos de erro do ControlLogix (CIP), o software de


programao nem sempre exibe a descrio completa.

Cdigo de erro Descrio: Display do software:


(hex):
0001 Falha de conexo (consulte os cdigos de erro estendidos) igual descrio
0002 Recurso insuficiente igual descrio
0003 Valor invlido igual descrio
0004 Erro de sintaxe IOI (consulte os cdigos de erro estendidos) igual descrio
0005 Destino desconhecido, classe no suportada, instncia igual descrio
indefinida ou elemento de estrutura indefinida (consulte os
cdigos de erro estendidos)
0006 Espao insuficiente no pacote igual descrio
0007 Perda de conexo igual descrio
0008 Servio no suportado igual descrio
0009 Erro no segmento de dados ou valor de atributo invlido igual descrio
000A Erro na lista de atributo igual descrio
000B Estado j existe igual descrio
000C Conflito no modelo do objeto igual descrio
000D Objeto j existe igual descrio
000E Atributo no configurvel igual descrio
000F Permisso negada igual descrio
0010 Conflito com o estado do dispositivo igual descrio
0011 A resposta no ser adequada igual descrio
0012 Fragmento primitivo igual descrio
0013 Dados de comando insuficientes igual descrio
0014 Atributo no suportado igual descrio
0015 Excesso de dados igual descrio
001A Pedido de ponte muito grande igual descrio
001B Resposta da ponte muito grande igual descrio
001C Falta de lista de atributos igual descrio
001D Lista de atributos invlidos igual descrio
001E Erro no servio incorporado igual descrio

Publicao 1756-RM003D-PT-P - Junho 2001


3-8 Instrues de Entrada/Sada (MSG, GSV, SSV)

Cdigo de erro Descrio: Display do software:


(hex):
001F Falha relacionada conexo (consulte os cdigos de erro igual descrio
estendidos)
0022 Resposta recebida invlida igual descrio
0025 Erro de segmento principal igual descrio
0026 Erro de IOI invlido igual descrio
0027 Atributo inesperado na lista igual descrio
0028 Erro na DeviceNet Identificao de membro invlido igual descrio
0029 Erro na DeviceNet membro no configurvel igual descrio

Cdigos de erros estendidos do ControlLogix

Estes so os cdigos de erros estendidos do ControlLogix (CIP). O


software no exibe texto para estes cdigos de erros. Estes so os
cdigos de erro estendidos para o cdigo de erro 0001.

Cdigo de Descrio: Cdigo de Descrio:


erro erro
estendido estendido
(hex): (hex):
0100 Conexo em uso 011A Aplicao fora das conexes
0103 Transporte no suportado 0203 Perodo de espera da conexo
0106 Conflito de Dispositivo de Armazenamento de 0204 Perodo de espera de mensagem no conectada
Configurao
0205 Erro de parmetro enviado no conectado
0107 Conexo no encontrada
0206 Mensagem muito grande
0108 Tipo de conexo invlida
0301 Sem espao de memria no buffer
0109 Tamanho de conexo invlida
0302 Largura de faixa no disponvel
0110 Mdulo no configurado
0303 No h disponibilidade de screeners
0111 EPR no suportado
0305 Correspondncia de assinatura
0114 Mdulo errado
0311 Porta no disponvel
0115 Tipo de dispositivo errado
0312 Endereo de rede no disponvel
0116 Reviso errada
0315 Tipo de segmento invlido
0118 Formato de configurao invlido
0317 Conexo no programada

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-9

Estes so os cdigos de erro estendidos para o cdigo de erro 001F.

Cdigo de erro Descrio:


estendido (hex):
0203 Perodo de espera da conexo

Estes so os cdigos de erro estendidos para os cdigos de erro 0004


e 0005.

Cdigo de erro Descrio:


estendido (hex):
0000 status estendido fora da memria
0001 status estendido fora dos exemplos

Cdigos de erro do CLP e SLC (.ERR)

Para os cdigos de erro do CLP e SLC, o software de programao


nem sempre exibe a descrio completa.

Cdigo de erro Descrio: Display do software:


(hex):
0010 Comando ilegal ou formato do controlador local Conflito com o estado do dispositivo
0020 Mdulo de comunicao no est funcionando erro desconhecido
0030 N remoto est faltando, desconectado ou desligado erro desconhecido
0040 Controlador conectado, mas com falha (hardware) erro desconhecido
0050 Nmero de estao errado erro desconhecido
0060 Funo requisitada no est disponvel erro desconhecido
0070 Controlador est no modo de Programa erro desconhecido
0080 Arquivo de compatibilidade do controlador no existe erro desconhecido
0090 N remoto no consegue comandar o buffer erro desconhecido
00B0 Controlador est descarregando, portanto no pode ser erro desconhecido
acessado
00F0 Erro de PCCC (consulte os cdigos de erro estendidos) erro desconhecido

Publicao 1756-RM003D-PT-P - Junho 2001


3-10 Instrues de Entrada/Sada (MSG, GSV, SSV)

Cdigos de erro estendiddos do CLP e SLC (.EXERR)

O software no exibe texto para estes cdigos de erros. Estes so os


cdigos de erro estendidos para o cdigo de erro 00F0.

Cdigo de Descrio: Cdigo de Descrio:


erro erro
estendido estendido
(hex): (hex):
0001 Controlador converteu incorretamente o 0011 Tipo de dados requisitados no corresponde
endereo aos dados disponveis
0002 Endereo incompleto 0012 Parmetros de comando incorretos
0003 Endereo incorreto 0013 Referncia de endereo existe para uma rea
apagada
0004 Formato ilegal do endereo smbolo no
encontrado 0014 Falha na execuo do comando por motivo
desconhecido
0005 Formato ilegal do endereo o smbolo tem o
Overflow do histograma do CLP-3
valor 0 ou maior do que o nmero mximo de
caracteres suportados pelo dispositivo 0015 Erro na converso dos dados
0006 Arquivo de endereo no existe no controlador 0016 Scanner no est disponvel para comunicao
alvo com um adaptador de gaveta 1771
0007 Arquivo de destino muito pequeno para o 0017 Adaptador no est disponvel para
nmero de palavras solicitado. comunicao com o mdulo
0008 No consegue completar o pedido 0018 Resposta do mdulo 1771 no foi vlida
Situao alterada durante operao com vrios
pacotes 0019 Etiqueta duplicada
001A Controlador que armazena a configurao do
0009 Dados ou arquivo muito grande
arquivo ativo o arquivo est sendo usado
Memria no disponvel
000A Controlador alvo no consegue colocar as 001B Controlador que armazena a configurao do
programa ativo algum est descarregando
informaes requisitadas em pacotes
dados ou fazendo edio online
000B Erro de privilgio; acesso negado
001C Arquivo do disco est protegido contra
000C Funo requisitada no est disponvel gravao ou no pode ser acessado (somente
offline)
000D Pedido redundante
001D Arquivo do disco est sendo usado por outra
000E Comando no pode ser executado aplicao
000F Overflow; overflow do histograma Atualizao no realizada (somente offline)
0010 Sem acesso

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-11

Cdigos de erro de Block-Transfer

Estes so os cdigos de erro especficos para block-transfer no


ControlLogix.

Cdigo de erro Descrio: Display do software:


(hex):
00D0 O scanner no recebeu uma resposta de block-transfer do mdulo de block-transfer dentro erro desconhecido
de 3,5 s do pedido
00D1 O checksum da resposta de leitura no corresponde ao checksum do conjunto de dados erro desconhecido
00D2 O scanner solicitou uma leitura ou escrita, mas o mdulo de block-transfer forneceu uma erro desconhecido
resposta contrria
00D3 O scanner solicitou um comprimento e o mdulo de block-transfer respondeu com um erro desconhecido
comprimento diferente
00D6 O scanner recebeu uma resposta do mdulo de block-transfer, indicando que o pedido de erro desconhecido
escrita apresentou falha
00EA O scanner no foi configurado para comunicar-se com a gaveta que teria este mdulo de erro desconhecido
block-transfer
00EB A ranhura lgica especfica no est disponvel para o tamanho de gaveta determinado erro desconhecido
00EC No momento, h um pedido de block-transfer em andamento e uma resposta requerida erro desconhecido
antes que outro pedido possa ser iniciado
00ED O tamanho de pedido de block-transfer no est de acordo com os pedidos de tamanho erro desconhecido
vlidos para block-transfer
00EE O tipo de pedido de block-transfer no est de acordo com o BT_READ ou BT_WRITE erro desconhecido
previsto
00EF O scanner no conseguiu encontrar uma ranhura disponvel na tabela de block-transfer erro desconhecido
para acomodar o pedido de block-transfer
00F0 O scanner recebeu um pedido para resetar os canais de E/S remota enquanto havia erro desconhecido
block-transfers em aberto
00F3 As filas para block-transfers remotos esto cheias erro desconhecido
00F5 Nenhum canal de comunicao est configurado para a ranhura ou gaveta solicitada erro desconhecido
00F6 Nenhum canal de comunicao est configurado para E/S remota erro desconhecido
00F7 O perodo de espera de block-transfer configurado na instruo encerrou a temporizao erro desconhecido
antes da concluso
00F8 Erro no protocolo de block-transfer block-transfer no solicitado erro desconhecido
00F9 Os dados de block-transfer foram perdidos devido a um canal de comunicao em ms erro desconhecido
condies
00FA O mdulo de block-transfer solicitou um comprimento diferente daquele associado erro desconhecido
instruo de block-transfer
00FB O checksum dos dados de leitura do block-transfer estava errado erro desconhecido
00FC Houve uma transferncia invlida dos dados de escrita de block-transfer entre o adaptador erro desconhecido
e o mdulo de block-transfer
00FD O tamanho do block-transfer mais o tamanho do ndice na tabela de dados de erro desconhecido
block-transfer era maior do que o tamanho do arquivo da tabela de dados de block-transfer

Publicao 1756-RM003D-PT-P - Junho 2001


3-12 Instrues de Entrada/Sada (MSG, GSV, SSV)

Cdigos de erro do Logix5550

Estes so os cdigos de erro do Logix5550.

Cdigo de erro Descrio: Display do software:


(hex):
00D0 Instncia de mapa indefinido erro desconhecido
00D1 Mdulo no est no estado de operao erro desconhecido
00FB Porta de mensagem no suportada erro desconhecido
00FC Tipo de dados no suportados pela mensagem erro desconhecido
00FD Mensagem no inicializada erro desconhecido
00FE Perodo de espera de mensagem erro desconhecido
00FF Erro geral (consulte os cdigos de erro estendidos) erro desconhecido

Cdigos de erros estendidos do Logix5550

Estes so os cdigos de erros estendidos do Logix5550. O software


no exibe texto para estes cdigos de erros. Estes so os cdigos de
erro estendidos para o cdigo de erro 00FF.

Cdigo de Descrio: Cdigo de Descrio:


erro erro
estendido estendido
(hex): (hex):
2001 Excesso de IOI 2108 Controlador no modo de carga ou descarga
2002 Valor deficiente para o parmetro 2109 Tentativa de alterar o nmero das dimenses da
matriz
2018 Sinalizao rejeitada
210A Nome invlido do smbolo
201B Tamanho muito pequeno
210B Smbolo no existe
201C Tamanho invlido
210E Busca apresentou falha
2100 Falha de privilgio
210F Tarefa no pode ser iniciada
2101 Posio da chave seletora de modo invlida
2110 No h condies de escrita (gravao)
2102 Senha invlida
2111 No h condies de leitura
2103 Sem emisso de senha
2112 Rotina compartilhada que no pode ser editada
2104 Endereo fora da faixa
2113 Controlador no modo de falha
2105 Endereo e quantidade esto fora da faixa
2114 Modo de operao inibido
2106 Dados em uso
2107 Tipo invlido ou no suportado

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-13

Especificao dos Detalhes Depois de inserir a instruo MSG e especificar a estrutura MESSAGE,
use a janela Message Configuration no software de programao para
de Configurao especificar os detalhes da mensagem.
(Guia Configuration)

Clique aqui para configurar a instruo MSG

Os detalhes de configurao dependem do tipo de mensagem


selecionado.

Se o dispositivo alvo for um: Selecione um dos seguintes tipos de Consulte pgina:
mensagens:
Dispositivo ControlLogix ou mdulo de leitura da tabela de dados CIP 3-14
E/S 1756
escrita da tabela de dados CIP
CIP genrico
controlador CLP-5 leitura de tipo para CLP-5 3-16
escrita de tipo para CLP-5
leitura da faixa de palavras do CLP-5
escrita da faixa de palavras do CLP-5
controlador SLC leitura de tipo para SLC 3-17
leitura de tipo para SLC
Mdulo de block-transfer em uma rede de leitura de block-transfer 3-18
E/S Remota Universal
escrita de block-transfer
Controlador CLP-3 leitura de tipo para CLP-3 3-19
escrita de tipo para CLP-3
leitura da faixa de palavra do CLP-3
escrita da faixa de palavra do CLP-3
Controlador CLP-2 leitura sem proteo do CLP-2 3-20
escrita sem proteo do CLP-2

Publicao 1756-RM003D-PT-P - Junho 2001


3-14 Instrues de Entrada/Sada (MSG, GSV, SSV)

Voce deve especificar essa informao de configurao:

No campo: Especifique:
Source Element/Tag Se voc selecionar um tipo de mensagem de leitura, o Source Element o endereo de
dados que voc realizar a leitura no dispositivo alvo. Use a sintaxe de endereamento
do dispositivo alvo.
Se voc selecionar um tipo de mensagem de escrita, o Source Tag ser o tag do dado no
controlador Logix5550 que voc enviar para o dispositivo alvo.
Nmero de Elementos O nmero de elementos que voc l/grava depende do tipo de dado que est sendo
usado. Um elemento se refere a um "fragmento" dos dados relacionados. Por exemplo,
o tag temporizador1 um elemento composto de uma estrutura de controle
do temporizador.
Destination Element/Tag Se voc selecionar um tipo de mensagem de leitura, o Destination Tag ser o tag no
controlador Logix5550 onde voc armazenar os dados lidos do dispositivo alvo.
Se voc selecionar o tipo de mensagem de escrita, o Destination Element o endereo
do local no dispositivo alvo onde voc escrever os dados.

Se voc especificar um tag na matriz do Logix5550 como Source ou


Destination, especifique somente o nome do tag da matriz. No inclua
entre colchetes ou subscrito de posio.

Especificao de Mensagens CIP

Os tipos de mensagem CIP so determinados para transferir dados


de/para outros dispositivos do ControlLogix, como por exemplo,
enviar uma mensagem de um controlador Logix5550 para outro.

Selecione este comando: Se voc quiser:


CIP Data Table Read ler os dados a partir de outro controlador.
Os tipos Source e Destination devem corresponder.
CIP Data Table Write escrever os dados em outro controlador.
Os tipos Source e Destination devem corresponder.
Generic CIP configurar uma mensagem customizada para enviar os dados de configurao para um
mdulo de E/S.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-15

Uso de mensagens CIP genricas para resetar os mdulos de E/S


Especifique esta informao para criar uma mensagem customizada,
usando o tipo de mensagem Generic CIP.

Se voc quiser: No campo: Insira:


Realizar um teste de pulso em Service Code 4c
um mdulo de sada digital (Cdigo de Servio)
Object Type 1e
(Tipo de Objeto)
Object ID 1
(Identificao do Objeto)
Object Attribute deixe em branco
(Atributo do Objeto)
Source tag_name do tipo INT [5]
Esta matriz contm:
tag_name[0] mscara de bit dos pontos para teste (teste
somente um ponto de cada vez)
tag_name[1] reservado, coloque 0
tag_name[2] largura de pulso (centenas de s, geralmente 20)
tag_name[3] atraso para cruzamento zero para o ControlLogix I/O
(centenas de s, geralmente 40)
tag_name[4] verifique o atraso
Nmero de Elementos 10
Destination deixe em branco
Resetar os fusveis eletrnicos Service Code 4d
em um mdulo de sada digital (Cdigo de Servio)
Object Type 1e
(Tipo de Objeto)
Object Attribute deixe em branco
(Atributo do Objeto)
Object ID 1
(Identificao do Objeto)
Source tag_name do tipo DINT
Este tag representa uma mscara de bit dos pontos para resetar os fusveis
para energizado.
Nmero de Elementos 4
Destination deixe em branco
Resete o diagnstico de Service Code 4b
retentivo em um mdulo de E/S (Cdigo de Servio)
digital Object Type para um mdulo de 1d
(Tipo de Objeto) entrada
para um mdulo de 1e
sada
Object Attribute deixe em branco
(Atributo do Objeto)
Object ID 1
(Identificao do Objeto)
Source tag_name do tipo DINT
Esse tag representa uma mscara de bit dos pontos para resetar o
diagnstico para energizado.
Nmero de Elementos 4
Destination deixe em branco

Publicao 1756-RM003D-PT-P - Junho 2001


3-16 Instrues de Entrada/Sada (MSG, GSV, SSV)

Se voc quiser: No campo: Insira:


Resetar um status retentivo em Service Code 4b
um mdulo analgico (Cdigo de Servio)
Object Type a
(Tipo de Objeto)
Object Attribute insira o cdigo para o atributo desejado
(Atributo do Objeto)
Object ID 0
(Identificao do Objeto)
Source deixe em branco
Nmero de Elementos 0
Destination deixe em branco

Especificao das mensagens do CLP-5

Os tipos de mensagem do CLP-5 so determinados para os


controladores CLP-5.

Selecione este comando: Se voc quiser:


Leitura do Tipo para CLP-5 leitura de inteiros ou dados do tipo REAL.
Para os inteiros, este comando l os inteiros de 16 bits do controlador CLP-5 (tipos de
arquivo S, B e N), armazena-os nas matrizes de dados SINT, INT ou DINT no controlador
Logix5550 e mantm a integridade dos dados.
Este comando tambm l os dados de ponto flutuante do controlador CLP-5 (tipo de
arquivo F) e armazena-os em um tag com tipo de dados REAL em um controlador
Logix5550.
Escrita de tipo para CLP-5 escrita de inteiros ou dados do tipo REAL.
Este comando grava os dados SINT ou INT para um controlador CLP-5 (tipos de arquivo
S, B e N) e mantm a integridade dos dados. Voc pode gravar os dados DINT desde
que os dados se adequem a um tipo de dados INT (32,768 dados 32,767).
Este comando tambm grava os dados do tipo REAL do controlador Logix5550 para um
arquivo de ponto flutuante do CLP-5 (tipo de arquivo F).
Leitura da faixa de palavras do realiza a leitura de uma faixa contnua de palavras de 16 bits na memria do CLP-5,
CLP-5 independente do tipo de dados.
Este comando comea no endereo especificado como Source Element e realiza uma
leitura seqencial das palavras de 16 bits solicitadas.
Os dados do Source Element (Elemento da Fonte) so armazenados, iniciando no
endereo especificado como Destination Tag (tag de Destino).
Escrita da Faixa de Palavras do escreve (grava) uma faixa contnua de palavras de 16 bits da memria do Logix5550,
CLP-5 independente do tipo de dados para a memria do CLP-5.
Este comando comea no endereo especificado como Source Tag (Tag da Fonte) e
realiza uma leitura seqencial das palavras de 16 bits solicitadas.
Os dados de Source Tag so armazenados, iniciando no endereo especificado como
Destination Element (Elemento do Destino) no controlador CLP-5.

Os comandos Typed Read e Typed Write tambm funcionam com os


controladores SLC 5/03 (OS303 e acima), controladores SLC 5/04
(OS402 e acima) e os controladores SLC 5/05.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-17

Os diagramas a seguir mostram como os comandos de faixa de


palavra e de tipo so diferentes. O exemplo usa os comandos de
leitura de um controlador CLP-5 para um controlador Logix5550.
Comando de leitura de tipo Comando de leitura da faixa de palavra

palavras de 16 bits no palavras de 32 bits no palavras de 16 bits no palavras de 32 bits no


controlador CLP-5 controlador Logix5550 controlador CLP-5 controlador Logix5550

1 1 1 2 1

2 2 2 4 3

3 3 3

4 4 4

Os comandos de tipo mantm o valor e a estrutura dos dados. Os comandos de faixa de palavra preenchem o tag de destino
de forma contnua. O valor e a estrutura dos dados so
modificados dependendo do tipo de dado de destino.

Especificao de Mensagens do SLC

Os tipos de mensagem do SLC so elaboradas para os controladores


SLC e MicroLogix1000.

Selecione este Se voc quiser:


comando:
leitura de tipo para SLC realizar a leitura de dados INT ou DINT.
leitura de tipo para SLC escrever dados do tipo INT ou DINT.

O tipo de tag do Logix5550 deve estar de acordo com o tipo de dado


do SLC. Voc s pode transferir dados DINT (que so mapeados para
o tipo de dados binrios do SLC) ou dados INT (que so mapeados
para o tipo de dados inteiros do SLC).

Publicao 1756-RM003D-PT-P - Junho 2001


3-18 Instrues de Entrada/Sada (MSG, GSV, SSV)

Especificao das mensagens de block-transfer

Os tipos de mensagem de block-transfer so usados para


comunicao com mdulos de block-transfer em uma rede de E/S
Remota Universal.

Selecione este Se voc quiser:


comando:
Leitura de Block-Transfer ler dados de um mdulo de block-transfer.
Este tipo de mensagem substitui a instruo BTR.
Escrita de Block-Transfer escrever dados em um mdulo de block-transfer.
Este tipo de mensagem substitui a instruo BTW.

Os tags de fonte (para BTW) e destino (para BTR) devem ser grandes
para aceitar os dados solicitados, exceto para as estruturas MESSAGE,
AXIS e MODULE.

Alm disso, voc deve especificar quantos inteiros de 16 bits (INT)


sero enviados ou recebidos. possvel especificar de 0 a 64 inteiros.
Se voc especificar 0 para uma mensagem BTR, o mdulo de
block-transfer determinar quantos inteiros de 16 bits sero enviados.
Se voc especificar 0 para uma mensagem BTW, o controlador enviar
64 inteiros.

O mdulo de E/S que receber o block-transfer dever estar


identificado no organizador do controlador.

Ao selecionar um tipo de mensagem block-transfer, voc no


seleciona um mtodo de comunicao na guia Configuration. As
selees CIP e DH+ so acinzentadas.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-19

Especificao das mensagens do CLP-3

Os tipos de mensagem do CLP-3 so determinados para os


controladores CLP-3.

Selecione este comando: Se voc quiser:


Leitura de Tipo para CLP-3 leitura de inteiros ou dados do tipo REAL.
Para os inteiros, este comando l os inteiros de 16 bits do controlador CLP-3,
armazena-os nas matrizes de dados SINT, INT ou DINT no controlador Logix5550 e
mantm a integridade dos dados.
Este comando tambm l os dados de ponto flutuante do controlador CLP-3 e
armazena-os em um tag com tipo de dados REAL em um controlador Logix5550.
Escrita de Tipo para CLP-3 escrita de inteiros ou dados do tipo REAL.
Este comando grava os dados SINT ou INT em um arquivo de inteiros do controlador
CLP-3 e mantm a integridade dos dados. Voc pode gravar os dados DINT desde que os
dados se adequem a um tipo de dados INT (32,768 dados 32,767).
Este comando tambm grava os dados do tipo REAL do controlador Logix5550 para um
arquivo de ponto flutuante do CLP-3.
Leitura da Faixa de Palavra do realiza a leitura de uma faixa contnua de palavras de 16 bits na memria do CLP-3,
CLP-3 independente do tipo de dados.
Este comando comea no endereo especificado como Source Element e realiza uma
leitura seqencial das palavras de 16 bits solicitadas.
Os dados do Source Element (Elemento da Fonte) so armazenados, iniciando no
endereo especificado como Destination Tag (tag de Destino).
Escrita da Faixa de Palavra do escreve (grava) uma faixa contnua de palavras de 16 bits na memria do Logix5550,
CLP-3 independente do tipo de dado para a memria do CLP-3.
Este comando comea no endereo especificado como Source Tag (Tag da Fonte) e
realiza uma leitura seqencial das palavras de 16 bits solicitadas.
Os dados de Source Tag so armazenados, iniciando no endereo especificado como
Destination Element (Elemento do Destino) no controlador CLP-3.

Publicao 1756-RM003D-PT-P - Junho 2001


3-20 Instrues de Entrada/Sada (MSG, GSV, SSV)

Os diagramas a seguir mostram como os comandos de faixa de


palavra e de tipo so diferentes. O exemplo usa os comandos de
leitura de um controlador CLP-3 para um controlador Logix5550.

Comando de leitura de tipo Comando de leitura da faixa de palavra

palavras de 16 bits no palavras de 32 bits no palavras de 16 bits no palavras de 32 bits no


controlador CLP-3 controlador Logix5550 controlador CLP-3 controlador Logix5550

1 1 1 2 1

2 2 2 4 3

3 3 3

4 4 4

Os comandos de tipo mantm o valor e a estrutura dos dados. Os comandos de faixa de palavra preenchem o tag de destino
de forma contnua. O valor e a estrutura dos dados so
modificados dependendo do tipo de dado de destino.

Especificao das mensagens do CLP-2

Os tipos de mensagem do CLP-2 so determinados para os


controladores CLP-2.

Selecione este comando: Se voc quiser:


Leitura sem Proteo do CLP-2 realizar a leitura de palavras de 16 bits de qualquer rea da tabela de dados do CLP-2 ou
do arquivo de compatibilidade do CLP-2 de outro controlador.
Escrita sem Proteo do CLP-2 escrever (gravar) palavras de 16 bits para qualquer rea da tabela de dados do CLP-2 ou
do arquivo de compatibilidade do CLP-2 de outro controlador.

A transferncia de mensagem usa palavras de 16 bits; portanto,


certifique-se de que o tag do Logix5550 armazena os dados
transferidos de forma adequada (geralmente como uma matriz INT).

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-21

Exemplos de Configurao Os exemplos a seguir mostram os tags de fonte e destino do exemplo


e os elementos para as diferentes combinaes de controladores.
MSG
Para as instrues MSG geradas em um controlador Logix5550 e
gravadas em outro controlador:

Percurso da Mensagem: Exemplo de Fonte e Destino:


Logix5550 Logix5550 tag da fonte array_1
tag de destino array_2
possvel usar um tag com alias/smbolo para o tag fonte (no controlador Logix5550 de
origem). Se voc quiser comear com um offset dentro de uma matriz, use um
alias/smbolo para indicar o offset.
Voc no pode usar um alias/smbolo para o tag de destino. O destino deve ser um
tag de base.
Logix5550 CLP-5 tag da fonte array_1
Logix5550 SLC
elemento de destino N7:10
possvel usar um tag com alias/smbolo para o tag fonte (no controlador Logix5550 de
origem). Se voc quiser comear com um offset dentro de uma matriz, use um
alias/smbolo para indicar o offset.
Logix5550 CLP-2 tag da fonte array_1
elemento de destino 010

Para as instrues MSG geradas em um controlador Logix5550 e lidas


em outro controlador:

Percurso da Mensagem: Exemplo de Fonte e Destino:


Logix5550 Logix5550 tag da fonte array_1
tag de destino array_2
Voc no pode usar um tag com alias/smbolo para o tag de fonte. A fonte deve ser
um tag de base.
possvel usar um tag com alias/smbolo para o tag destino (no controlador Logix5550
de origem). Se voc quiser comear com um offset dentro de uma matriz, use um
alias/smbolo para indicar o offset.
Logix5550 CLP-5 elemento fonte N7:10
Logix5550 SLC
tag de destino array_1
possvel usar um tag com alias/smbolo para o tag destino (no controlador Logix5550
de origem). Se voc quiser comear com um offset dentro de uma matriz, use um
alias/smbolo para indicar o offset.
Logix5550 CLP-2 elemento fonte 010
tag de destino array_1

Publicao 1756-RM003D-PT-P - Junho 2001


3-22 Instrues de Entrada/Sada (MSG, GSV, SSV)

Especificaes dos Ao configurar uma instruo MSG, voc especifica estes detalhes na
guia Communication.
Detalhes de Comunicao
(Guia Communication)

Especificao de um percurso de conexo

O percurso de conexo descreve o caminho que a mensagem


transcorrer para chegar ao mdulo ou controlador destino. O
percurso usa nmeros, onde os pares de nmeros o deslocam de um
mdulo para outro atravs de uma placa de fundo do ControlLogix ou
da rede de comunicao.

Use o fluxograma abaixo para determinar se voc deve inserir um


percurso.

A mensagem para um mdulo de sim A. Acrescente o mdulo rvore de


block-transfer est em uma rede Configurao de E/S do
de E/S Remota Universal. controlador.

no B. Na guia Communication, da tela


Message Configuration, clique
em Browse e selecione o
mdulo.

A mensagem para um sim Especifique um percurso para o mdulo


controlador CLP-2, 3, 5 ou SLC 1756-DHRIO que esteja na mesma rede
est em uma rede DH+? DH+ do controlador. Consulte o
procedimento seguinte.
no
Especifique um percurso para o
controlador ou mdulo. Consulte o
procedimento seguinte.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-23

Para especificar um percurso:

NOTA Se a rvore de Configurao de E/S contm um


mdulo ou controlador destino ao invs de
especificar um percurso, clique em Browse para
selecionar o dispositivo.

1. Na caixa de texto Path, digite o seguinte, separando cada


nmero com uma vrgula [,]:

a. Especifique a porta pela qual a mensagem sai. (Para o


primeiro nmero no percurso, geralmente o 1 que designa
a porta da placa de fundo do controlador Logix5550 que est
enviando a mensagem.):

Para a: Especifique:
placa de fundo de qualquer mdulo ou controlador 1756 1
a porta DF1 de um controlador 1756-L1 2
a porta ControlNet de um mdulo 1756-CNB
a porta Ethernet de um mdulo 1756-ENET
a porta DH+ em um canal A de um mdulo 1756-DHRIO
a porta DH+ em um canal B de um mdulo 1756-DHRIO 3

b. Especifique o prximo mdulo:

Para um mdulo em uma: Especifique o:


placa de fundo do chassi de nmero da ranhura
E/S ControlLogix
rede DF1 endereo da estao (0-254)
rede ControlNet nmero do n (1-99 decimal)
rede DH+ nmero do n (1-77 octal)
rede Ethernet Pode-se especificar o mdulo na rede
Ethernet usando qualquer um dos seguintes
formatos:

endereo IP (ex.: 130.130.130.5)


endereo IP:Porta (ex.: 130.130.130.5:24)
nome DNS (ex.: tanks)
nome DNS:Porta (ex.: tanks:24)

2. Repita a Etapa 1. at que voc especifique o mdulo ou


controlador destino.

Publicao 1756-RM003D-PT-P - Junho 2001


3-24 Instrues de Entrada/Sada (MSG, GSV, SSV)

As pginas a seguir mostram exemplos de percursos de conexo:

em ControlNet, pgina 3-24


em Ethernet, pgina 3-25
para uma mensagem DH+, pgina 3-25

Os dois exemplos a seguir mostram os percursos de conexo entre os


controladores Logix5550 nas redes ControlNet e Ethernet. O
controlador que envia a mensagem est no chassi local e o que
recebe a mensagem localiza-se no chassi remoto.

EXEMPLO Especificao de um caminho pela ControlNet

chassi local chassi remoto


ControlNet n 49 ControlNet n 42
na ranhura 0 na ranhura 0
rede ControlNet
42042

Percurso: 1, 0, 2, 42, 1, 3

Onde: Indica:
1 a porta da placa de fundo do controlador Logix5550 no chassi local
0 o nmero da ranhura do mdulo 1756-CNB no chassi local
2 a porta da ControlNet do mdulo 1756-CNB na ranhura do chassi local
42 o n da ControlNet do mdulo 1756-CNB na ranhura do chassi remoto
1 a porta da placa de fundo do mdulo 1756-CNB no chassi remoto
3 o nmero da ranhura do controlador no chassi remoto

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-25

EXEMPLO Especificao de um caminho pela Ethernet

chassi local mdulo chassi remoto mdulo


Ethernet na ranhura 1 Ethernet na ranhura 2 ende
reo IP 127.127.127.12
rede Ethernet
42043

Percurso: 1, 1, 2, 127.127.127.12, 1, 3

Onde: Indica:
1 a porta da placa de fundo do controlador Logix5550 no chassi local
1 o nmero da ranhura do mdulo 1756-ENET no chassi local
2 a porta da Ethernet do mdulo 1756-ENET no chassi local
127.127.127.12 o endereo IP do mdulo 1756-ENET no chassi remoto
1 a porta da placa de fundo do mdulo 1756-ENET no chassi remoto
3 o nmero da ranhura do controlador no chassi remoto

O exemplo a seguir mostra o percurso de conexo usado em uma


mensagem para um controlador CLP-5. Neste caso, o percurso termina
no mdulo 1756-DHRIO que est na mesma rede DH+ do controlador
CLP-5.

EXEMPLO Especificao de um caminho para uma mensagem


DH+

chassi local chassi 1771 com


DH+ = n 37 controlador
CLP-5 DH+ = n 24
rede DH+
42044

Percurso: 1, 1

Onde: Indica:
1 a porta da placa de fundo do controlador Logix5550 no chassi local
1 o nmero da ranhura do mdulo 1756-DHRIO no chassi local

Publicao 1756-RM003D-PT-P - Junho 2001


3-26 Instrues de Entrada/Sada (MSG, GSV, SSV)

Especificao de um mtodo de comunicao:

Use a tabela a seguir para selecionar um mtodo de comunicao


para a mensagem.

NOTA Para um tipo de mensagem de block-transfer ou CIP


genrica, voc no seleciona um mtodo de
comunicao. (A seo no est disponvel.)

Se o dispositivo destino for Ento selecione: E especifique:


um:
controlador ControlLogix CIP outras especificaes no so necessrias
controlador ControlNet CLP-5
controlador CLP-5 DH+ Canal: Canal A ou B do mdulo 1756-DHRIO que est
conectado rede DH+
controlador SLC Rede Fonte: IIdentificao do rede atribuda placa de fundo
do controlador na tabela de roteamento do
mdulo 1756-DHRIO. (O n fonte na tabela de
roteamento corresponde automaticamente ao
nmero da ranhura do controlador.)
controlador CLP-3 Rede Destino: Identificao da rede DH+ remota onde o
dispositivo alvo reside
controlador CLP-2 N Destino: Endereo da estao do dispositivo alvo
Se houver somente uma rede DH+ e voc no usou o software Gateway
para configurar o mdulo DH/RIO para as redes remotas, especifique 0
tanto para a Rede Fonte quanto para a Destino.
Aplicao em uma estao de CIP com Identificao Rede Fonte: Identificao da rede dos dados (0-65535)
trabalho que est recebendo de Fonte fornecidos pela aplicao para RSLinx
uma mensagem no requisitada
Rede Destino: Identificao de rede virtual configurado no
conectada rede Ethernet ou (Isto permite que a
RSLinx (0-65535)
ControlNet atravs de RSLinx aplicao receba dados de
um controlador.) N Destino: Identificao de destino (0-77 octal) fornecida
pela aplicao para RSLinx
O nmero da ranhura do controlador Logix5550 usado como N Fonte.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-27

Seleo de uma opo de cache:

Alguns tipos de mensagens usam uma conexo para enviar ou receber


dados. Alguns possibilitam duas opes: deixar a conexo aberta
(cache) ou fechar a conexo quando a transmisso da mensagem
terminar. A tabela a seguir mostra quais mensagens usam uma
conexo e se voc pode ou no copiar no cache a conexo:

Esse tipo de mensagem: Usando esse mtodo de Usa uma Que voc
comunicao: conexo: pode colocar
no cache:
leitura ou escrita da tabela de CIP
dados CIP
CLP2, CLP3, CLP5 ou SLC CIP
(todos os tipos)
CIP com Identificao de
Fonte
DH+
CIP genrico N/A
leitura ou escrita em N/A
block-transfer

Use a tabela a seguir para selecionar uma opo de cache para uma
mensagem.

Se a mensagem Ento: Porque:


executar:
repetidamente Selecione a caixa de Isto manter a conexo aberta e otimizar o tempo
verificao Cache de execuo. A abertura da conexo cada vez que a
Connections mensagem executar, aumenta o tempo de execuo.
no Retire a seleo da Isto fechar a conexo na concluso, que liberar
frequentemente caixa de verificao aquela conexo para outros usos.
Cache Connections

Publicao 1756-RM003D-PT-P - Junho 2001


3-28 Instrues de Entrada/Sada (MSG, GSV, SSV)

Obteno do Valor do Linguagens Disponveis:

Sistema (GSV) e Definio


Lgica Ladder a Rel
do Valor do Sistema (SSV)
As instrues GSV/SSV obtm e definem os dados do sistema do
controlador que esto armazenados nos objetos.

Operandos de Lgica
Ladder a Rel:

Operando: Tipo: Formato: Descrio:


Nome da classe nome nome do objeto
Nome da instncia nome nome do objeto especfico, quando o objeto requisitar um
nome
Nome do Atributo nome atributo do objeto
o tipo de dados depende do atributo que voc selecionou
Destination (GSV) SINT tag destino para os dados de atributo
INT
DINT
REAL
Source (SSV) SINT tag tag que contm os dados que voc quer copiar para o
INT atributo
DINT
REAL

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: As instrues GSV/SSV obtm e definem os dados do sistema do


controlador que esto armazenados nos objetos. O controlador
armazena os dados do sistema nos objetos. No h arquivo de status,
como no controlador CLP-5.

Quando habilitada, a instruo GSV recupera a informao especfica


e a coloca no destino. Quando habilitada, a instruo SSV define o
atributo especificado com os dados da fonte.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-29

Ao inserir uma instruo GSV/SSV, o software de programao exibe


as classes vlidas de objeto, os nomes do objeto e os nomes de
atributo para cada instruo. Para a instruo GSV, voc pode obter
valores para todos os atributos disponveis. Para a instruo SSV, o
software exibe somente aqueles atributos, cuja configurao
permitida.

Use as instrues GSV/SSV cuidadosamente. As


ATENO
alteraes realizadas nos objetos podem causar
operao inesperada do controlador ou danos

! pessoais.

Se o tamanho da Fonte ou Destino for muito pequeno, a instruo


no executa e uma falha de advertncia registrada. A seo a seguir,
Objetos GSV/SSV, define os atributos de cada objeto e seus tipos de
dados associados. Por exemplo, o atributo MajorFaultRecord (Registro
de Falha Grave) do objeto Programa requer um tipo de dado
DINT[11].

Flags de Status Aritmtico: no afetados

Condies de Falha:

Uma falha de advertncia ocorrer se: Tipo de falha: Cdigo de


falha:
endereo de objeto invlido 4 5
objeto especificado que no suporta GSV/SSV 4 6
atributo invlido 4 6
no se forneceu informaes suficientes para 4 6
uma instruo SSV
o destino GSV no era grande o suficiente para 4 7
suportar os dados requisitados.

Execuo de Lgica
Ladder a Rel:

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 Obtenha ou configure o valor especificado.
verdadeira A sada da condio da linha est definida como verdadeira.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


3-30 Instrues de Entrada/Sada (MSG, GSV, SSV)

Objetos GSV/SSV Ao inserir uma instruo GSV/SSV, voc especifica o objeto e atributo
que voc acessar. Em alguns casos, haver mais do que um exemplo
do mesmo tipo de objeto, de forma que voc tambm possa
especificar o nome do objeto. Por exemplo, a sua aplicao pode ter
vrias tarefas. Cada tarefa tem o seu prprio objeto TASK (TAREFA)
que acessado pelo nome da tarefa.

Para a instruo GSV, somente o tamanho


ATENO
especificado do dado copiado para o destino. Por
exemplo, se o atributo for especificado como um

! SINT e o destino um DINT, somente os 8 bits


menos significativos do destino DINT so
atualizados, sendo que os 24 bits restantes
permanecem inalterados.

possvel acessar estes objetos:

Para informaes sobre este Consulte pgina:


objeto:
AXIS 3-31
CONTROLLER 3-39
CONTROLLERDEVICE 3-39
CST 3-41
DF1 3-42
FAULTLOG 3-45
MESSAGE 3-46
MODULE 3-48
MOTIONGROUP 3-49
PROGRAM 3-50
ROUTINE 3-51
SERIALPORT 3-52
TASK 3-54
WALLCLOCKTIME 3-55

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-31

Acesso ao objeto AXIS (Eixo)

O objeto AXIS fornece as informaes de status de um eixo de


servomdulo. Especifique o nome do tag do eixo para selecionar o
objeto AXIS desejado.

Para mais informaes sobre o objeto AXIS, consulte Logix5550


Motion Module User Manual, publicao 1756-6.5.16.

Quando um atributo est marcado com um asterisco (*), significa que


o atributo localiza-se tanto no controlador ControlLogix quanto no
mdulo de movimento. Quando voc usa uma instruo SSV para
escrever um destes valores, o controlador automaticamente atualiza a
cpia no mdulo. Entretanto, este processo no imediato. Para
certificar-se de que o novo valor tenha sido atualizado no mdulo,
use um mecanismo de intertravamento, atravs dos bits booleanos no
UpdateStatus do tag Axis.

Por exemplo, se voc executar uma SSV para o


PositionLockTolerance, o PositionTolStatus do tag Axis configurado
at que uma atualizao para o mdulo seja feita com xito. Portanto,
a lgica que segue a SSV poderia acompanhar este reset de bit antes
de continuar no programa.

Atributo: Tipo de Instruo: Descrio:


Dados:
* AccelerationFeedforwardGain REAL GSV O valor usado para fornecer a sada de comando de torque para gerar
SSV a acelerao do comando.
*AxisType INT GSV O tipo de eixo que est sendo usado.
SSV Valor: Significado:
0 eixo no usado
1 eixo de posicionamento
2 eixo fsico
*DriveFaultAction SINT GSV A operao realizada quando a falha do inversor ocorre.
SSV Valor: Significado:
0 desligar o eixo
1 desabilitar o inversor
2 parar o movimento comandado
3 alterar somente o bit de status
*EncoderLossFaultAction SINT GSV A operao realizada quando uma falha por perda de encoder ocorre.
SSV Valor: Significado:
0 desligar o eixo
1 desabilitar o inversor
2 parar o movimento comandado
3 alterar somente o bit de status
*EncoderNoiseFaultAction SINT GSV A operao realizada quando uma falha por rudo no encoder ocorre.
SSV Valor: Significado:
0 desligar o eixo
1 desabilitar o inversor
2 parar o movimento comandado
3 alterar somente o bit de status
*FrictionCompensation REAL GSV O nvel de sada fixa usado para compensar a frico esttica.
SSV

Publicao 1756-RM003D-PT-P - Junho 2001


3-32 Instrues de Entrada/Sada (MSG, GSV, SSV)

Atributo: Tipo de Instruo: Descrio:


Dados:
*MaximumNegativeTravel REAL GSV O limite de percurso negativo mximo.
SSV
*MaximumPositiveTravel REAL GSV O limite de percurso positivo mximo.
SSV
*OutputFilterBandwidth REAL GSV A largura de faixa do filtro de sada digital servo de passa/baixa.
SSV
*OutputLimit REAL GSV O valor da tenso mxima de sada do servo do eixo.
SSV
*OutputOffset REAL GSV O valor usado para compensar os efeitos dos offsets cumulativos da
SSV sada DAC do servomdulo e da entrada do servoinversor.
*OutputScaling REAL GSV O valor usado para converter a sada da malha do servo na tenso
SSV equivalente a do inversor.
*PositionErrorFaultAction SINT GSV A operao realizada quando a falha por erro de posio ocorre.
SSV Valor: Significado:
0 desligar o eixo
1 desabilitar o inversor
2 parar o movimento comandado
3 alterar somente o bit de status
*PositionErrorTolerance REAL GSV O volume de erro de posio que o servo tolera antes de emitir uma
SSV falha de erro de posio.
*PositionIntegralGain REAL GSV O valor usado para se atingir um preciso posicionamento de eixo,
SSV apesar de perturbaes como, por exemplo, gravidade e frico
esttica.
*PositionProportionalGain REAL GSV O valor que o controlador multiplica pelo erro de posio para corrigir
SSV o erro de posio.
*PositionUnwind DINT GSV O valor usado para realizar o desenrolamento automtico do eixo de
SSV rotao.
*ServoConfigurationBits DINT GSV Os bits de configurao do servo para a malha de servo.
SSV Bit: Significado:
0 eixo de rotao
1 servoinversor com velocidade externa
2 negativo da polaridade de encoder
3 negativo da polaridade do servo
4 verificao da ultrapassagem de percurso do software
5 verificao de erro de posio
6 verificao da falha de perda de encoder
7 verificao da falha por rudo no encoder
8 verificao da falha do inversor
9 falha de normalmente fechado do inversor
*SoftOvertravelFaultAction SINT GSV A operao realizada quando a falha por ultrapassagem de percurso
SSV do software ocorre.
Valor: Significado:
0 desligar o eixo
1 desabilitar o inversor
2 parar o movimento comandado
3 alterar somente o bit de status
*VelocityFeedforwardGain REAL GSV A sada do comando de velocidade necessria para gerar a
SSV velocidade comandada.
*VelocityIntegralGain REAL GSV O valor que o controlador multiplica pelo valor VelocityIntegratorError
SSV para corrigir o erro de velocidade.
*VelocityProportionalGain REAL GSV O valor que o controlador multiplica pelo valor VelocityError para
SSV corrigir o erro de velocidade.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-33

Atributo: Tipo de Instruo: Descrio:


Dados:
ActualPosition REAL GSV A posio real do eixo.
ActualVelocity REAL GSV A velocidade real do eixo.
AverageVelocity REAL GSV A velocidade mdia do eixo.
AverageVelocityTimebase REAL GSV A base de tempo da velocidade mdia do eixo.
SSV
AxisConfigurationState SINT GSV O estado da configurao do eixo.
AxisState SINT GSV O estado de operao do eixo.
Valor: Significado:
0 eixo pronto
1 controle direto do inversor
2 servocontrole
3 eixo com falha
4 desligamento do eixo
C2CConnectionInstance DINT GSV A instncia de conexo do controlador produzindo os dados do eixo.
C2CMapTableInstance DINT GSV A instncia de mapa do controlador produzindo os dados do eixo.
CommandPosition REAL GSV A posio de comando do eixo.
CommandVelocity REAL GSV A velocidade de comando do eixo.
ConversionConstant REAL GSV O fator de converso usado para converter as unidades do usurio os
SSV pulsos de realimentao.
DampingFactor REAL GSV O valor usado no clculo da largura de faixa mxima do
SSV servoposicionamento durante a execuo da instruo MRAT
Motion Run Axis Tuning (Ajuste do Eixo de Operao em Movimento).
EffectiveInertia REAL GSV O valor de inrcia para o eixo, conforme calculado a partir das
medies do controlador realizadas durante a ltima instruo MRAT
Motion Run Axis Tuning.
GroupInstance DINT GSV O nmero de exemplo do grupo de movimento que contm o eixo.
HomeMode SINT GSV O modo de posio inicial do eixo.
SSV Valor: Significado:
0 posio inicial passiva
1 posio inicial ativa (padro)
HomePosition REAL GSV A posio de incio do eixo.
SSV
HomeReturnSpeed REAL GSV A velocidade de retorno de posio inicial do eixo.
SSV
HomeSequenceType SINT GSV O tipo de seqncia de posio inicial para o eixo.
SSV Valor: Significado:
0 posio inicial imediata
1 alternar posio inicial
2 posio inicial do marcador
3 posio inicial do marcador de alternao (valor inicial)
HomeSpeed REAL GSV A velocidade de posio inicial do eixo.
SSV
Instance DINT GSV O nmero de instncia do eixo.

Publicao 1756-RM003D-PT-P - Junho 2001


3-34 Instrues de Entrada/Sada (MSG, GSV, SSV)

Atributo: Tipo de Instruo: Descrio:


Dados:
InterpolatedActualPosition REAL GSV Para capturas de posio com base no tempo, este atributo fornece a
posio do eixo real interpolado.
A posio especificada em unidades de posio e baseada
no valor do atributo InterpolationTime.
Para interpolar uma posio de eixo real, use uma instruo
SSV para configurar o atributo InterpolationTime.
InterpolatedCommandPosition REAL GSV Para capturas de posio com base no tempo, este atributo fornece a
posio do eixo de comando interpolado.
A posio especificada em unidades de posio e baseada
no valor do atributo InterpolationTime.
Para interpolar uma posio de eixo de comando, use uma
instruo SSV para configurar o atributo InterpolationTime.
InterpolationTime DINT GSV Use este atributo para fornecer a referncia para capturas de posio
SSV com base no tempo:
Para interpolar uma posio, use uma instruo SSV para
configurar o atributo InterpolationTime. O controlador, ento,
atualiza os seguintes atributos:
InterpolatedActualPosition
InterpolatedCommandPosition
Para fornecer um valor para InterpolationTime, voc pode usar
qualquer evento que produza um registro de data e hora CST,
como:
RegistrationTime attribute
Registro de data e hora de uma entrada digital
O atributo InterpolationTime usa somente os 32 bits mais
baixos de uma registro de data e hora CST.
MapTableInstance DINT GSV O exemplo de mapa de E/S do servomdulo.
MasterOffset REAL GSV Offset da posio que est atualmente aplicada ao mestre de um
came de posio. Especificado em unidades de posio do eixo
mestre.
MaximumAcceleration REAL GSV A acelerao mxima do eixo.
SSV
MaximumDeceleration REAL GSV A desacelerao mxima do eixo.
SSV
MaximumSpeed REAL GSV A velocidade mxima do eixo.
SSV
ModuleChannel SINT GSV O canal do mdulo do servomdulo.
MotionConfigurationBits DINT GSV Os bits de configurao de movimento para o eixo.
SSV Bit: Significado:
0 reverso da direo da posio inicial
1 chave na posio inicial normalmente fechado
2 negativo da borda de marcador na posio inicial
MotionFaultBits DINT GSV Os bits de falha de movimento para o eixo. (Na estrutura AXIS, este
o membro MotionFault.)
Bit: Nome do Bit: Significado:
0 ACAsyncConnFault falha na conexo assncrona
1 ACSyncConnFault falha na conexo sncrona

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-35

Atributo: Tipo de Instruo: Descrio:


Dados:
MotionStatusBits DINT GSV Os bits de status de movimento para o eixo. (Na estrutura AXIS, este
o membro MotionStatus.)

Bit: Nome do Bit: Significado:


0 AccelStatus acelerao
1 DecelStatus desacelerao
2 MoveStatus movimento
3 JogStatus jog
4 GearingStatus engrenagem
5 HomingStatus guiamento orientado
6 StoppingStatus desligamento
7 AxisHomedStatus status inicial
8 PositionCamStatus came de posio
9 TimeCamStatus came de tempo
10 PositionCamPendingStatus came de posio pendente
11 TimeCamPendingStatus came de tempo pendente
12 GearingLockStatus trava de engrenagem
13 PositionCamLockStatus trava do came de posio
14 MasterOffsetMoveStatus movimento do offset mestre

MotorEncoderTestIncrement REAL GSV A quantidade de movimento necessria para iniciar o teste MRHD
SSV Motion Run Hookup Diagnostic.
PositionError REAL GSV A diferena entre a posio de comando e a real de um eixo.
PositionIntegratorError REAL GSV A soma do erro de posio para um eixo.
PositionLockTolerance REAL GSV O volume de erro de posio que o servomdulo tolera ao fornecer
SSV uma indicao de status travado na posio verdadeira.
PositionServoBandwidth REAL GSV A largura de faixa de ganho da unidade que o controlador usa para
SSV calcular os ganhos para a instruo MAAT Motion Apply Axis
Tuning (Ajuste do Eixo para Aplicao de Movimento).
ProgrammedStopMode SINT GSV O tipo de parada a ser realizada no eixo.
SSV Valor: Significado:
0 parada rpida
1 desligamento rpido
2 desligamento do hardware
RegistrationPosition REAL GSV A posio de registro para o eixo.
RegistrationTime DINT GSV Voc pode usar este atributo para fornecer um registro de data e hora
para capturas com base no tempo:
O atributo RegistrationTime contm os 32 bits mais baixos do
registro de data e hora CST de um evento de registro de eixo.
O registro de data e hora CST medido em microssegundos.
Para interpolar uma posio baseada no evento de registro de
um eixo:
1. Use uma instruo GSV para obter o valor do atributo
RegistrationTime.
2. Use uma instruo SSV para configurar o atributo
InterpolationTime para o valor do atributo RegistrationTime.

Publicao 1756-RM003D-PT-P - Junho 2001


3-36 Instrues de Entrada/Sada (MSG, GSV, SSV)

Atributo: Tipo de Instruo: Descrio:


Dados:
ServoConfigurationUpdateBits DINT GSV Os bits de status de configurao do servo para a malha de servo. (Na
estrutura AXIS, este o membro UpdateStatus.)
Bit: Nome do Bit: Significado:
0 AxisTypeStatus tipo de eixo
1 PosUnwndStatus desenrolamento da posio
2 MaxPTrvlStatus percurso positivo mximo
3 MaxNTrvlStatus percurso negativo mximo
4 PosErrorTolStatus tolerncia de erro de posio
5 PosLockTolStatus tolerncia de travamento na posio
6 PosPGainStatus ganho proporcional de posio
7 PosIGainStatus ganho integral de posio
8 VelFfGainStatus ganho de feedforward na velocidade
9 AccFfGainStatus ganho de feedforward
na acelerao
10 VelPGainStatus ganho proporcional de velocidade
11 VelIGainStatus ganho integral de velocidade
12 OutFiltBwStatus largura de faixa do filtro de sada
13 OutScaleStatus converso de escala na sada
14 OutLimitStatus limite de sada
15 OutOffsetStatus offset de sada
16 FricCompStatus compensao de frico
17 POtrvlFaultActStatus ao de falha de ultrapassagem de
percurso de software
18 PosErrorFaultActStatus ao de falha de erro de posio
19 EncLossFaultActStatus ao de falha de perda de encoder
20 EncNsFaultActStatus ao de falha por rudo no encoder
21 DriveFaultActStatus ao de falha do inversor
ServoEventBits DINT GSV Os bits de eventos do servo para a malha de servo. (Na estrutura
AXIS, este o membro EventStatus.)
Bit: Nome do Bit: Significado:
0 WatchEvArmStatus evento de observao armado
1 WatchEvStatus evento de observao
2 RegEvArmStatus evento de registro armado
3 RegEvStatus evento de registro
4 HomeEvArmStatus evento de posio inicial armado
5 HomeEvStatus evento de posio inicial
ServoFaultBits DINT GSV Os bits de falha do servo para a malha de servo. (Na estrutura AXIS,
este o membro ServoFault.)
Bit: Nome do Bit: Significado:
0 POtrvlFault falha de ultrapassagem de percurso
positivo
1 NOtrvlFault falha de ultrapassagem de percurso
negativo
2 PosErrorFault falha de erro de posio
3 EncCHALossFault falha de perda do canal A do encoder
4 EncCHBLossFault falha de perda do canal B do encoder
5 EncCHZLossFault falha de perda do canal Z do encoder
6 EncNsFault falha por rudo do encoder
7 DriveFault falha do inversor
8 SyncConnFault falha de conexo sncrona
9 HardFault falha no hardware do servo
ServoOutputLevel REAL GSV O nvel de tenso de sada para a malha do servo do eixo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-37

Atributo: Tipo de Instruo: Descrio:


Dados:
ServoStatusBits DINT GSV Os bits de status para a malha de servo. (Na estrutura AXIS, este o
membro ServoStatus.)
Bit: Nome do Bit: Significado:
0 ServoActStatus ao do servo
1 DriveEnableStatus inversor habilitado
2 OutLmtStatus limite de sada
3 PosLockStatus trava da posio
13 TuneStatus processo de ajuste
14 TestStatus diagnstico de teste
15 ShutdownStatus desligamento do eixo
ServoStatusUpdateBits DINT GSV Os bits de atualizao de status do servo para o eixo.
Bit: Significado:
0 atualizao do erro de posio
1 atualizao do erro do integrador de posio
2 atualizao do erro de velocidade
3 atualizao do erro do integrador de velocidade
4 atualizaodo comando de velocidade
5 atualizao da realimentao de velocidade
6 atualizao do nvel de sada do servo
StartActualPosition REAL GSV A posio real do eixo quando se inicia um novo movimento
comandado para o eixo.
StartCommandPosition REAL GSV A posio de comando do eixo quando se inicia um novo movimento
comandado para o eixo.
StartMasterOffset REAL GSV O mestre faz o offset quando a ltima instruo Motion Axis Move
(MAM) foi executada em um destes tipos de movimentos:
AbsoluteMasterOffset
IncrementalMasterOffset
Especificado em unidades de posio do eixo mestre.
StrobeActualPosition REAL GSV A posio real de um eixo quando a instruo MGSP Motion Group
Strobe Position (Posio da Sonda do Grupo de Movimento)
executada.
StrobeCommandPosition REAL GSV A posio de comando de um eixo quando a instruo MGSP
Motion Group Strobe Position (Posio da Sonda do Grupo de
Movimento) executada.
StrobeMasterOffset REAL GSV O mestre faz o offset quando a instruo Motion Group Strobe
Position (MGSP) executada. Especificado em unidades de posio
do eixo mestre.
TestDirectionForward SINT GSV A direo do percurso do eixo durante a instruo MRHD Motion
Run Hookup Diagnostic (Diagnstico) como visto pelo servomdulo.
Valor: Significado:
0 direo negativa (reversa)
1 (ff) direo positiva (para frente)
TestStatus INT GSV O status da ltima instruo MRHD Motion Run Hookup Diagnostic.
Valor: Significado:
0 processo do teste com sucesso
1 teste em andamento
2 processo de teste abortado pelo usurio
3 perodo de espera de 2 segundos excedido pelo teste
4 processo de teste com falha devido falha do servo
5 incremento insuficiente de teste
TuneAcceleration REAL GSV O valor de acelerao medido durante a instruo MRAT Motion
Run Axis Tuning (Ajuste do Eixo de Operao de Movimento).
TuneAccelerationTime REAL GSV O tempo de acelerao medido durante a instruo MRAT Motion
Run Axis Tuning (Ajuste do Eixo de Operao de Movimento).

Publicao 1756-RM003D-PT-P - Junho 2001


3-38 Instrues de Entrada/Sada (MSG, GSV, SSV)

Atributo: Tipo de Instruo: Descrio:


Dados:
TuneDeceleration REAL GSV O valor de desacelerao medido durante a instruo MRAT Motion
Run Axis Tuning (Ajuste do Eixo de Operao de Movimento).
TuneDecelerationTime REAL GSV O tempo de desacelerao medido durante a instruo MRAT
Motion Run Axis Tuning (Ajuste do Eixo de Operao de Movimento).
TuneRiseTime REAL GSV O tempo de elevao do eixo medido durante a instruo MRAT
Motion Run Axis Tuning (Ajuste do Eixo de Operao de Movimento).
TuneSpeedScaling REAL GSV O fator de converso da escala do inversor do eixo medido durante a
ltima instruo MRAT Motion Run Axis Tuning (Ajuste do Eixo de
Operao de Movimento).
TuneStatus INT GSV O status da ltima instruo MRAT Motion Run Axis Tuning.
Valor: Significado:
0 processo de ajuste com sucesso
1 ajuste em andamento
2 processo de ajuste abortado pelo usurio
3 perodo de espera de 2 segundos excedeu o ajuste
4 processo de ajuste com falha devido falha do servo
5 eixo atingiu o limite do percurso de ajuste
6 polaridade do eixo definida incorretamente
7 velocidade do ajuste muito baixa para realizar medies
TuneVelocityBandwidth REAL GSV A largura de faixa do inversor, conforme calculado a partir das
medies do controlador realizadas durante a ltima instruo MRAT
Motion Run Axis Tuning.
TuningConfigurationBits DINT GSV Os bits de configurao de ajuste para o eixo.
SSV Bit: Significado:
0 direo de ajuste (0 = para frente, 1 = reversa)
1 integrador de erro de posio de ajuste
2 integrador de erro da velocidade de ajuste
3 bit feedforward da velocidade de ajuste
4 feedforward de acelerao
5 filtro passa/baixa de velocidade de ajuste
TuningSpeed REAL GSV A velocidade mxima iniciada pela instruo MRAT Motion Run
SSV Axis Tuning (Ajuste do Eixo de Operao de Movimento).
TuningTravelLimit REAL GSV O limite de percurso usado pela instruo MRAT Motion Run Axis
SSV Tuning para limitar a ao da ao durante o ajuste.
VelocityCommand REAL GSV A referncia de velocidade atual para a malha de servovelocidade
para um eixo.
VelocityError REAL GSV A diferena entre a velocidade real e a comandada de um eixo do
servo.
VelocityFeedback REAL GSV A velocidade real do eixo estimada pelo servomdulo.
VelocityIntegratorError REAL GSV A soma do erro de velocidade para um eixo especificado.
WatchPosition REAL GSV A posio de observao do eixo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-39

Acesso ao objeto CONTROLLER

O objeto CONTROLLER fornece as informaes de status sobre a


execuo do controlador.

Atributo: Tipo de Dados: Instruo: Descrio:


TimeSlice INT GSV Porcentagem de CPU disponvel atribuda para a comunicao.
SSV Os valores vlidos so 10-90. Este valor no pode ser alterado
quando a chave seletora de modo estiver posicionada em Run.

Acesso ao objeto CONTROLLERDEVICE

O objeto CONTROLLERDEVICE identifica o hardware fsico do


controlador.

Atributo: Tipo de Dados: Instruo: Descrio:


DeviceName SINT[33] GSV String ASCII que identifica o cdigo de catlogo do controlador
e placa de memria.
O primeiro byte contm uma contagem do nmero de
caracteres ASCII que retornaram no string da matriz.
ProductCode INT GSV Identifica o tipo de controlador
Este cdigo de Identifica este controlador
produto: Logix:
3 5550
15 5860
41 5433
42 5434
43 5320
50 5553
51 5555

ProductRev INT GSV Identifica a reviso atual do produto. O display deve ser
hexadecimal.
O byte desenergizado contm a reviso principal; o byte
energizado contm a reviso secundria.
SerialNumber DINT GSV Nmero serial do dispositivo.
O nmero serial atribudo quando o dispositivo construdo.

Publicao 1756-RM003D-PT-P - Junho 2001


3-40 Instrues de Entrada/Sada (MSG, GSV, SSV)

Atributo: Tipo de Dados: Instruo: Descrio:


Status INT GSV Os bits identificam o status:
Os bits 3-0 so reservados

Bits de Status do Dispositivo


Bits 7-4: Significado:
0000 reservado
0001 atualizao flash em andamento
0010 reservado
0011 reservado
0100 flash est deficiente
0101 em falha
0110 operao
0111 programa

Bits de Status de Falha


Bits 11-8: Significado:
0001 falha de advertncia recupervel
0010 falha de advertncia no recupervel
0100 falha grave recupervel
1000 falha grave no recupervel

Bits de Status Especficos do Logix5550


Bits 13-12: Significado:
01 chave seletora em Run (operao)
10 chave seletora em Program (programa)
11 chave seletora em Remote (remota)
Bits 15-14: Significado:
01 controlador est alterando os modos
10 modo de depurao se o controlador estiver
no modo Run
Type INT GSV Identifica o dispositivo como um controlador.
Controlador = 14
Fornecedor INT GSV Identifica o fornecedor do dispositivo.
Allen-Bradley = 0001

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-41

Acesso ao objeto CST

O objeto CST (coordinated system time) fornece um tempo de sistema


coordenado para os dispositivos em um chassi.

Atributo: Tipo de Dados: Instruo: Descrio:


CurrentStatus INT GSV Status atual do tempo de sistema coordenado. Os bits identificam o
status:
Bit: Significado:
0 falha no hardware do temporizador: o hardware do
temporizador interno do dispositivo est em falha
1 rampa habilitada: o valor atual dos 16 bits menos
significativos do temporizador aumentam em rampa at o
valor requisitado, ao invs de permanecer no valor menor.
Estes bits so manipulados pelo mtodo de sincronizao
de seleo especfica da rede.
2 mestre do tempo do sistema: o objeto CST uma fonte de
tempo mestre no sistema ControlLogix
3 sincronizado: o CurrentValue de 64 bits do objeto
sincronizado por um objeto CST mestre atravs de uma
atualizao de tempo do sistema.
4 mestre da rede local: o objeto CST a fonte de tempo
mestre da rede local
5 modo do rel de entrada: o objeto CST est agindo em um
modo de rel de tempo
6 deteco de mestre duplicado: um mestre de tempo
duplicado na rede local foi detectado. Este bit sempre 0
para os ns que dependem do tempo.
7 no usado
8-9 00 = n que depende do tempo
01 = n do mestre de tempo
10 = n do rel de tempo
11 = no usado
10-15 no usado
CurrentValue DINT[2] GSV Valor atual do temporizador. DINT[0] contm 32 bits desenergizados;
DINT[1] contm 32 bits energizados.
A fonte do temporizador ajustada para corresponder ao valor
fornecido nos servios de atualizao e da sincronizao da rede de
comunicao local. O ajuste pode ser tanto um aumento em rampa
at atingir o valor requisitado como uma configurao imediata no
valor requisitado, conforme definido no atributo CurrentStatus.

Publicao 1756-RM003D-PT-P - Junho 2001


3-42 Instrues de Entrada/Sada (MSG, GSV, SSV)

Acesso ao objeto DF1

O objeto DF1 fornece uma interface para o driver de comunicao


DF1 que pode ser configurada para a porta serial.

Atributo: Tipo de Instruo: Descrio:


Dados:
ACKTimeout DINT GSV Quantidade de tempo que se espera para se reconhecer uma
transmisso de mensagem (somente mestre e ponto-a-ponto)
Valor vlido 0-32.767. Atraso nas contagens de perodos de 20 ms.
O valor inicial de 50 (1 segundo).
DiagnosticCounters INT[19] GSV Srie de contadores de diagnstico para o driver de comunicao
DF1.
offset da palavra DF1 ponto-a-ponto DF1 escravo mestre
0 assinatura (0x0043) assinatura (0x0042) assinatura (0x0044)
1 bits do modem bits do modem bits do modem
2 pacotes enviados pacotes enviados pacotes enviados
3 pacotes recebidos pacotes recebidos pacotes recebidos
4 pacotes no entregues pacotes no entregues pacotes no entregues
5 no usado tentativas de mensagens tentativas de mensagens
6 NAKs recebidos NAKs recebidos no usado
7 ENQs recebidos poll de pacotes recebidos no usado
8 pacotes NAKed defeituosos pacotes not ACKed defeituosos pacotes not ACKed defeituosos
9 nenhuma memria enviou um NAK nenhuma memria not ACKed no usado
10 pacotes duplicados recebidos pacotes duplicados recebidos pacotes duplicados recebidos
11 caracteres defeituosos recebidos no usado no usado
12 contagem de recuperaes DCD contagem de recuperaes DCD contagem de recuperaes DCD
13 contagem de modem perdida contagem de modem perdida contagem de modem perdida
14 no usado no usado prioridade do tempo de varredura mximo
15 no usado no usado ltima prioridade do tempo de varredura
16 no usado no usado tempo de varredura normal mximo
17 no usado no usado ltimo tempo normal de varredura
18 ENQs enviados no usado no usado
DuplicateDetection SINT GSV Habilita a deteco de mensagem duplicada.
Valor: Significado:
0 deteco de mensagem duplicada desabilitada
diferente de zero deteco de mensagem duplicada desabilitada
EmbeddedResponseEnable SINT GSV Habilita funcionalidade de resposta incorporada (somente
ponto-a-ponto).
Valor: Significado:
0 iniciado somente depois que um recebido
(padro)
1 habilitado incondicionalmente
ENQTransmitLimit SINT GSV O nmero de pedidos (ENQs) a serem enviados aps um perodo
de espera ACK (somente ponto-a-ponto).
Valor vlido 0-127. Ajuste inicial 3.
EOTSuppression SINT GSV Habilita a supresso de transmisses EOT em resposta ao poll de
pacotes (somente escravo).
Valor: Significado:
0 supresso de EOT desabilitada (desabilitado)
diferente de zero supresso de EOT habilitada
ErrorDetection SINT GSV Especifica o esquema de deteco de erro.
Valor: Significado:
0 BCC (padro)
1 CRC

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-43

Atributo: Tipo de Instruo: Descrio:


Dados:
MasterMessageTransmit SINT GSV Valor atual da transmisso de mensagem mestre (somente
mestre).
Valor: Significado:
0 entre os polls da estao
1 na seqncia do poll (no lugar do nmero da
estao do mestre)
Valor inicial 0.
NAKReceiveLimit SINT GSV O nmero de NAKs recebidos em resposta a uma mensagem
antes da interrupo da transmisso (somente comunicao
ponto-a-ponto).
Valor vlido 0-127. Ajuste inicial 3.
NormalPollGroupSize INT GSV Nmero de estaes para ser distribudo na matriz normal de ns
do poll, depois de realizar um polling de todas as estaes na
matriz de ns de poll de prioridade (somente mestre).
Valor vlido 0-255. Ajuste inicial 0.
PollingMode SINT GSV Modo de polling atual (somente mestre).
Valor: Significado:
0 baseado em mensagem, mas no permite escravos
para iniciar as mensagens
1 baseado em mensagens, mas permite escravos
para iniciar as mensagens (padro)
2 transferncia padro de uma nica mensagem por
varredura do n
3 transferncia padro de vrias mensagens por
varredura do n
O ajuste inicial 1.
ReplyMessageWait DINT GSV O tempo (atuando como mestre) para esperar o recebimento de
um ACK antes de realizar um polling do escravo para uma
resposta (somente mestre).
Valor vlido 0-65.535. Atraso nas contagens de perodos de 20 ms.
O ajuste inicial de 5 perodos (100 ms).
StationAddress INT GSV Endereo atual da estao da porta serial.
Valor vlido 0-254. Ajuste inicial 0.
SlavePollTimeout DINT GSV A quantidade de tempo em ms que o escravo espera pelo mestre
para realizar um polling, antes que o escravo declare que no
tenha condies de transmitir porque o mestre est inativo
(somente escravo).
Valor vlido 0-32.767. Atraso nas contagens de perodos de 20 ms.
O valor inicial de 3.000 perodos (1 minuto).
TransmitRetries SINT GSV Nmero de vezes para reenviar uma mensagem sem obter um
reconhecimento (somente mestre e escravo).
Valor vlido 0-127. Ajuste inicial 3.
PendingACKTimeout DINT SSV Valor pendente para o atributo ACKTimeout.
PendingDuplicateDetection SINT SSV Valor pendente para o atributo DuplicateDetection.
PendingEmbeddedResponse SINT SSV Valor pendente para o atributo EmbeddedResponse.
Enable
PendingENQTransmitLimit SINT SSV Valor pendente para o atributo ENQTransmitLimit.
PendingEOTSuppression SINT SSV Valor pendente para o atributo EOTSuppression.
PendingErrorDetection SINT SSV Valor pendente para o atributo ErrorDetection.
PendingNormalPollGroupSize INT SSV Valor pendente para o atributo NormalPollGroupSize.
PendingMasterMessage SINT SSV Valor pendente para o atributo MasterMessageTransmit.
Transmit

Publicao 1756-RM003D-PT-P - Junho 2001


3-44 Instrues de Entrada/Sada (MSG, GSV, SSV)

Atributo: Tipo de Instruo: Descrio:


Dados:
PendingNAKReceiveLimit SINT SSV Valor pendente para o atributo NAKReceiveLimit.
PendingPollingMode SINT SSV Valor pendente para o atributo PollingMode.
PendingReplyMessageWait DINT SSV Valor pendente para o atributo ReplyMessageWait.
PendingStationAddress INT SSV Valor pendente para o atributo StationAddress.
PendingSlavePollTimeout DINT SSV Valor pendente para o atributo SlavePollTimeout.
PendingTransmitRetries SINT SSV Valor pendente para o atributo TransmitRetries.

Para aplicar os valores para qualquer um dos atributos pendentes de


DF1:

1. Use uma instruo SSV para definir o valor para o atributo


pendente.

possvel definir a quantidade de atributos que desejar, usando


uma instruo SSV para cada atributo pendente.

2. Use uma instruo MSG para aplicar o valor. A instruo MSG se


aplica para cada atributo pendente configurado. Configure a
instruo MSG da seguinte forma:

Guia MSG Configuration: Campo: Valor:


Configuration Message Type CIP Generic
Service Code 0d hex
(Cdigo de Servio)
Object Type a2
(Tipo de Objeto)
Object ID 1
(Identificao do Objeto)
Object Attribute deixe em branco
(Atributo do Objeto)
Source deixe em branco
Nmero de Elementos 0
Destination deixe em branco
Communication Path percurso de comunicao
automtico (1,s onde s =
nmero da ranhura do
controlador)

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-45

Acesso ao objeto FAULTLOG

O objeto FAULTLOG fornece informaes de falha sobre o


controlador.

Atributo: Tipo de Dados: Instruo: Descrio:


MajorEvents INT GSV Quantas falhas graves ocorreram desde a ltima vez que este
SSV contador foi resetado.
MinorEvents INT GSV Quantas falhas de advertncia ocorreram desde a ltima vez
SSV que este contador foi resetado.
MajorFaultBits DINT GSV Os bits individuais indicam o motivo da falha grave atual.
SSV Bit: Significado:
1 perda de alimentao
3 E/S
4 execuo da instruo (programa)
5 rotina de falhas
6 watchdog
7 stack
8 alterao de modo
11 movimento
MinorFaultBits DINT GSV Os bits individuais indicam o motivo da falha de advertncia
SSV atual.
Bit: Significado:
4 execuo da instruo (programa)
6 watchdog
9 porta serial
10 bateria

Publicao 1756-RM003D-PT-P - Junho 2001


3-46 Instrues de Entrada/Sada (MSG, GSV, SSV)

Acesso ao objeto MESSAGE

possvel acessar o objeto MESSAGE atravs das instrues GSV/SSV.


Especifique o nome do tag da mensagem para determinar qual objeto
MESSAGE voc quer. O objeto MESSAGE fornece uma interface para
configurao e disparo das comunicaes peer-to-peer. Este objeto
substitui o tipo de dados MG do controlador CLP-5.

Atributo: Tipo de Dados: Instruo: Descrio:


ConnectionPath SINT[130] GSV Dados para configurao do percurso de conexo. Os primeiros
SSV dois bytes (byte desenergizado e byte energizado) so o
comprimento em bytes do percurso de conexo.
ConnectionRate DINT GSV Taxa (velocidade) requisitada para o pacote da conexo.
SSV
MessageType SINT GSV Especifica o tipo de mensagem.
SSV Valor: Significado:
0 no inicializado
Port SINT GSV Indica por qual porta a mensagem deve ser enviada.
SSV Valor: Significado:
1 placa de fundo
2 porta serial
TimeoutMultiplier SINT GSV Determina o trmino da temporizao de uma conexo e quando
SSV deve ser fechada.
Valor: Significado:
0 conexo interromper a temporizao em 4 vezes a
taxa de atualizao (padro)
1 conexo interromper a temporizao em 8 vezes a
taxa de atualizao
2 conexo interromper a temporizao em 16 vezes
a taxa de atualizao
UnconnectedTimeout DINT GSV Perodo de espera em microssegundos para todas as mensagens
SSV no conectadas. O valor inicial de 30.000.000 microssegundos
(30 segundos).

Para alterar o atributo MESSAGE, siga essas etapas:

1. Use uma instruo GSV para obter o atributo MessageType e


salv-lo em um tag.

2. Use uma instruo SSV para configurar MessageType em 0.

3. Use uma instruo SSV para configurar um atributo MESSAGE


que voc deseja alterar.

4. Use uma instruo SSV para configurar o atributo MessageType


no valor original novamente obtido na etapa 1.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-47

O seguinte exemplo muda o atributo ConnectionPath, de forma que a


mensagem v para um controlador diferente.

EXEMPLO Mudana de um atributo do objeto MESSAGE


Quando msg_path estiver energizado, configure o caminho da mensagem msg_1 para o
valor de msg_1_path. Isto envia a mensagem para um controlador diferente.

msg_path GSV SSV


Get System Value Set System Value
Class name MESSAGE Class name MESSAGE
Instance name msg_1 Instance name msg_1
Attribute Name MessageType Attribute Name MessageType
Dest msg_1_type Source tag_a
2 0

SSV SSV
Set System Value Set System Value
Class name MESSAGE Class name MESSAGE
Instance name msg_1 Instance name msg_1
Attribute Name ConnectionPath Attribute Name MessageType
Source msg_1_path[0] Source msg_1_type
6 2

msg_1.EN MSG
/ Type - CIP Data Table Write EN
Message Control msg_1 ... DN
ER

42614

Onde: :
msg_1 mensagem cujo atributo voc quer mudar
msg_1_type tag que armazena o valor do atributo MessageType
tag_a tag que armazena um 0
msg_1_path tag de matriz que armazena o novo caminho de conexo para a
mensagem

Publicao 1756-RM003D-PT-P - Junho 2001


3-48 Instrues de Entrada/Sada (MSG, GSV, SSV)

Acesso ao objeto MODULE

O objeto MODULE fornece as informaes de status sobre um


mdulo. Para selecionar um determinado objeto MODULE, configure
o operando Object Name da instruo GSV/SSV no nome do mdulo.
O mdulo especificado deve estar presente na seo I/O
Configuration do organizador do controlador e deve ter um nome de
dispositivo.

Atributo: Tipo de Dados: Instruo: Descrio:


EntryStatus INT GSV Especifica o estado atual da entrada do mapa especificado. Os 12 bits
menos significativos devem ser mascarados na execuo de uma
operao de comparao. Somente os bits de 12 a 15 so vlidos.
Valor: Significado:
16#0000 Standby: o controlador est energizando.
16#1000 Em Falha: quaisquer uma das conexes do objeto
MODULE com a falha do mdulo associado. Este valor no
deve ser usado para determinar se o mdulo apresentou
falha porque o objeto MODULE sai deste estado
periodicamente ao tentar reconectar-se ao mdulo. Ao
invs disso, verifique Running state (16#4000). Verifique se
FaultCode no igual a 0 para determinar se um mdulo
apresenta falha. Quando estiver na condio de Falha
(Faulted), os atributos FaultCode e FaultInfo
so vlidos at que a condio de falha seja corrigida.
16#2000 Validao: o objeto MODULE est verificando a
integridade do objeto MODULE antes de estabelecer as
conexes para o mdulo.
16#3000 Conexo: o objeto MODULE est iniciando as
conexes para o mdulo.
16#4000 Em Operao: todas as conexes com o mdulo so
estabelecidas e os dados so transferidos com sucesso.
16#5000 Desligamento: o objeto MODULE est
no processo de desligar todas as conexes para o mdulo.
16#6000 Inibido: o objeto MODULE est inibido (o
bit inibido no atributo Mode est energizado).
16#7000 Na Espera: o objeto MODULE-pai do qual este
objeto MODULE depende no est em operao.
FaultCode INT GSV Nmero que identifica uma falha no mdulo, em caso de ocorrncia.
FaultInfo DINT GSV Fornece informaes especficas sobre o cdigo de falha do objeto
MODULE.
ForceStatus INT GSV Especifica o status dos pontos forados.
Bit: Significado:
0 pontos forados instalados (1 = sim, 0-no)
1 pontos forados habilitados (1 = sim, 0 = no)
2-15 no usado

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-49

Atributo: Tipo de Dados: Instruo: Descrio:


Instance DINT GSV Fornece o nmero de instncia deste objeto MODULE.
LEDStatus INT GSV Especifica o estado atual do LED de E/S localizado na parte frontal do
controlador.
Valor: Significado:
0 LED desligado: Nenhum objeto MODULE foi configurado
para o controlador (no h mdulos na seo
I/O Configuration do organizador do controlador).
1 Vermelho piscando: Nenhum dos objetos MODULE est em
operao.
2 Verde piscando: Pelo menos um objeto MODULE no est
em operao.
3 Verde permanente: Todos os objetos MODULE esto em
operao.
Nota: No possvel inserir um nome de objeto com este atributo porque
este atributo se aplica a todo o conjunto de mdulos.
Mode INT GSV Especifica o modo atual do objeto MODULE.
SSV Bit: Significado:
0 Se configurado, causa uma falha grave se uma das
conexes do objeto MODULE apresentar falha enquanto o
controlador estiver no modo de operao.
2 Se configurado, faz com o objeto MODULE seja introduzido
no estado Inibido depois de desligar todas as conexes
para o mdulo.

Acesso ao objeto MOTIONGROUP

O objeto MOTIONGROUP fornece as informaes de status sobre um


grupo de eixos para o servomdulo. Especifique o nome do tag do
grupo de movimento para determinar qual objeto MOTIONGROUP
voc quer.

Atributo: Tipo de Dados: Instruo: Descrio:


Instance DINT GSV Fornece o nmero de exemplo deste objeto MOTION_GROUP.

Publicao 1756-RM003D-PT-P - Junho 2001


3-50 Instrues de Entrada/Sada (MSG, GSV, SSV)

Acesso ao objeto PROGRAM

O objeto PROGRAM fornece as informaes de status sobre um


programa. Especifique o nome do programa para determinar qual
objeto PROGRAM voc quer.

Atributo: Tipo de Dados: Instruo: Descrio:


DisableFlag SINT GSV Controla essa execuo do programa.
SSV Valor: Significado:
0 execuo habilitada
1 execuo desabilitada
Instance DINT GSV Fornece o nmero de instncia deste objeto PROGRAM.
LastScanTime DINT GSV Tempo que a execuo do programa demorou da ltima vez.
SSV O tempo est em microssegundos.
MajorFaultRecord DINT[11] GSV Registra as falhas graves para este programa
SSV Recomendamos que voc crie uma estrutura definida pelo usurio
para simplificar o acesso ao atributo MajorFaultRecord:
Nome: Tipo de Dados: Estilo: Descrio:
TimeLow DINT Decimal 32 bits menos significativos de valor de registro de data e hora da
falha
TimeHIgh DINT Decimal 32 bits mais significativos de valor de registro de data e hora da
falha
Type INT Decimal tipo de falha (programa, E/S etc.)
Code INT Decimal cdigo exclusivo para a falha (depende do tipo de falha)
Info DINT[8] Hexadecimal informao especfica sobre a falha (depende do tipo e do cdigo
de falha)
MaxScanTime DINT GSV Tempo mximo de execuo registrado para este programa. O
SSV tempo est em microssegundos.
MinorFaultRecord DINT[11] GSV Registra as falhas de advertncia para este programa
SSV Recomendamos que voc crie uma estrutura definida pelo usurio
para simplificar o acesso ao atributo MinorFaultRecord:
Nome: Tipo de Dados: Estilo: Descrio:
TimeLow DINT Decimal 32 bits menos significativos de valor de registro de data e hora da
falha
TimeHIgh DINT Decimal 32 bits mais significativos de valor de registro de data e hora da
falha
Type INT Decimal tipo de falha (programa, E/S etc.)
Code INT Decimal cdigo exclusivo para a falha (depende do tipo de falha)
Info DINT[8] Hexadecimal informao especfica sobre a falha (depende do tipo e do cdigo
de falha)
SFCRestart INT GSV no usado reservado para uso futuro
SSV

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-51

Acesso ao objeto ROUTINE

O objeto ROUTINE fornece as informaes de status sobre uma


rotina. Especifique o nome da rotina para determinar qual objeto
ROUTINE voc quer.

Atributo: Tipo de Dados: Instruo: Descrio:


Instance DINT GSV Fornece o nmero de instncia deste objeto ROUTINE.
Valores vlidos so 0-65.535.

Publicao 1756-RM003D-PT-P - Junho 2001


3-52 Instrues de Entrada/Sada (MSG, GSV, SSV)

Acesso ao objeto SERIALPORT

O objeto SERIALPORT fornece uma interface com a porta de


comunicao serial.

Atributo: Tipo de Dados: Instruo: Descrio:


BaudRate DINT GSV Especifica a taxa de transmisso.
Os valores vlidos so 110, 300, 600, 1200, 2400, 4800, 9600 e
19200 (padro).
DataBits SINT GSV Especifica o nmero de bits de dados por caracter.
Valor: Significado:
7 7 bits de dados (somente ASCII)
8 8 bits de dados (padro)
Paridade SINT GSV Especifica a paridade.
Valor: Significado:
0 sem paridade (sem padro)
1 paridade mpar (somente ASCII)
2 paridade par
RTSOffDelay INT GSV Quantidade de tempo para retardar o desligamentio da linha RTS
depois da transmisso do ltimo caracter.
Valor vlido 0-32.767. Atraso nas contagens de perodos de 20 ms.
O valor inicial 0 ms.
RTSSendDelay INT GSV Quantidade de tempo para retardar a transmisso do primeiro
caracter de uma mensagem depois de se energizar a linha RTS.
Valor vlido 0-32.767. Atraso nas contagens de perodos de 20 ms.
O valor inicial 0 ms.
StopBits SINT GSV Especifica o nmero de bits de parada.
Valor: Significado:
1 1 bit de parada (padro)
2 2 bits de parada (somente ASCII)
PendingBaudRate DINT SSV Valor pendente para o atributo BaudRate.
PendingDataBits SINT SSV Valor pendente para o atributo DataBits.
PendingParity SINT SSV Valor pendente para o atributo Parity.
PendingRTSOffDelay INT SSV Valor pendente para o atributo RTSOffDelay.
PendingRTSSendDelay INT SSV Valor pendente para o atributo RTSSendDelay.
PendingStopBits SINT SSV Valor pendente para o atributo StopBits.

Para aplicar os valores para qualquer um dos atributos pendentes


SERIALPORT:

1. Use uma instruo SSV para definir o valor para o atributo


pendente.

possvel definir a quantidade de atributos que desejar, usando


uma instruo SSV para cada atributo pendente.

2. Use uma instruo MSG para aplicar o valor. A instruo MSG se


aplica para cada atributo pendente configurado. Configure as
instrues MSG da seguinte forma:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-53

Guia MSG Configuration: Campo: Valor:


Configuration Message Type CIP Generic
Service Code 0d hex
(Cdigo de Servio)
Object Type 6f hex
(Tipo de Objeto)
Object ID 1
(Identificao do Objeto)
Object Attribute deixe em branco
(Atributo do Objeto)
Source deixe em branco
Nmero de Elementos 0
Destination deixe em branco
Communication Path percurso de comunicao automtico
(1,s onde s = nmero da ranhura do
controlador)

Publicao 1756-RM003D-PT-P - Junho 2001


3-54 Instrues de Entrada/Sada (MSG, GSV, SSV)

Acesso ao objeto TASK

O objeto TASK fornece as informaes de status sobre uma tarefa.


Especifique o nome do programa para determinar qual objeto TASK
voc quer.

Atributo: Tipo de Dados: Instruo: Descrio:


Instance DINT GSV Fornece o nmero de instncia deste objeto TASK.
Valores vlidos so 0-31.
LastScanTime DINT GSV Tempo que a execuo desta tarefa demorou da ltima vez. O
SSV tempo est em microssegundos.
MaxInterval DINT[2] GSV O tempo mximo de intervalo entre as execues sucessivas
SSV da tarefa. DINT[0] contm os 32 bits menos significativos do valor;
DINT[1] contm os 32 bits mais significativos do valor.
Um valor de 0 indica 1 ou menos execues da tarefa.
MaxScanTime DINT GSV Tempo mximo de execuo registrado para este programa. O
SSV tempo est em microssegundos.
MinInterval DINT[2] GSV O tempo mnimo de intervalo entre as execues sucessivas da
SSV tarefa. DINT[0] contm os 32 bits menos significativos do valor;
DINT[1] contm os 32 bits mais significativos do valor.
Um valor de 0 indica 1 ou menos execues da tarefa.
Priority INT GSV Prioridade relativa dessa tarefa comparada com outras tarefas.
Valores vlidos so 0-15.
Rate DINT GSV O intervalo de tempo entre as execues sucessivas da tarefa. O
tempo est em microssegundos.
StartTime DINT[2] GSV O valor de WALLCLOCKTIME quando a ltima execuo da tarefa
SSV foi iniciada. DINT[0] contm os 32 bits menos significativos do
valor; DINT[1] contm os 32 bits mais significativos do valor.
Watchdog DINT GSV Limite de tempo para a execuo de todos os programas
SSV associados a essa tarefa. O tempo est em microssegundos.
Se voc inserir 0, estes valores sero atribudos:
Tempo: Tipo de Tarefa:
0,5 s peridico
5,0 s contnuo

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-55

Acesso ao objeto WALLCLOCKTIME

O objeto WALLCLOCKTIME fornece um registro de data e hora que o


controlador pode usar para programao.

Atributo: Tipo de Dados: Instruo: Descrio:


CSTOffset DINT[2] GSV Offset positivo de CurrentValue do objeto CST (tempo de sistema
SSV coordenado, consulte a pgina 3-41). DINT[0] contm os 32 bits
menos significativos do valor; DINT[1] contm os 32 bits mais
significativos do valor.
Valor em s. O valor inicial 0.
CurrentValue DINT[2] GSV O valor atual de WALLCLOCKTIME. DINT[0] contm os 32 bits
SSV menos significativos do valor; DINT[1] contm os 32 bits mais
significativos do valor.
O valor a quantidade de microssegundos que decorreram desde
0000 hs 1 janeiro de 1972.
Os objetos CST e WALLCLOCKTIME so relacionados
matematicamente no controlador. Por exemplo, se voc
acrescentar CST CurrentValue e WALLCLOCKTIME CTSOffset, ter
como resultado WALLCLOCKTIME CurrentValue.
DateTime DINT[7] GSV Data e hora em formato que possibilita a leitura.
SSV DINT[0] ano
DINT[1] representao do ms atravs de inteiros (1-12)
DINT[2] representao do dia atravs de inteiros (1-31)
DINT[3] hora (0-23)
DINT[4] minuto (0-59)
DINT[5] segundos (0-59)
DINT[6] microssegundos (0-999.999)

Publicao 1756-RM003D-PT-P - Junho 2001


3-56 Instrues de Entrada/Sada (MSG, GSV, SSV)

Exemplo de Programao Obteno de informaes de falha


GSV/SSV
Os exemplos a seguir usam as instrues GSV para obter informaes
de falha.

Obteno de informaes de falha de E/S


Neste exemplo, as informaes de falha do
mdulo de E/S so obtidas em disc_in_2 e
colocadas nos dados em uma estrutura
definida pelo usurio em disc_in_2_info.

Obteno de informaes de status do


programa
Neste exemplo, as informaes de status so
obtidas sobre o programa discrete e colocadas
nos dados em uma estrutura definida pelo
usurio em discrete_info.

Obteno de informaes de status da


tarefa
Neste exemplo, as informaes de status so
obtidas sobre a tarefa IO_test e colocadas
nos dados em uma estrutura definida pelo
usurio em io_test_info.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Entrada/Sada (MSG, GSV, SSV) 3-57

Configurao de flags de habilitao e desabilitao

O exemplo a seguir usa a instruo SSV para habilitar ou desabilitar


um programa. Voc pode usar este mtodo tambm para habilitar ou
desabilitar um mdulo de E/S, que uma soluo de programa
semelhante utilizao de bits inibidos com um controlador CLP-5.

Com base no status de SW.1, coloque o valor apropriado no atributo disableflag do programa discrete.

Publicao 1756-RM003D-PT-P - Junho 2001


3-58 Instrues de Entrada/Sada (MSG, GSV, SSV)

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 4

Instrues de Comparao
(CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Introduo As instrues de comparao permitem a comparao de valores


atravs do uso de uma expresso ou uma instruo de comparao
especfica.

Se voc quiser: Use esta instruo: Consulte


pgina:
comparar valores com base em uma CMP 4-2
expresso
testar se dois valores so iguais EQU 4-7
testar se um valor maior ou igual a um GEQ 4-11
segundo valor
testar se um valor maior do que um GRT 4-15
segundo valor
testar se um valor menor ou igual a um LEQ 4-19
segundo valor
testar se um valor menor do que um LES 4-23
segundo valor
testar se um valor est entre outros dois LIM 4-27
valores
passar dois valores por uma mscara e testar MEQ 4-33
se os mesmos so iguais
testar se um valor no igual a um segundo NEQ 4-38
valor

Voc pode comparar valores de diferentes tipos de dados como, por


exemplo, ponto flutuante e inteiro.

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.

1 Publicao 1756-RM003D-PT-P - Junho 2001


4-2 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Comparao (CMP) Linguagens Disponveis:

Lgica Ladder

A instruo CMP realiza uma comparao das operaes aritmticas


especificadas na expresso.

Operandos de Lgica
Ladder:
Operando: Tipo: Formato: Descrio:
Expresso SINT imediato uma expresso composta por tags
INT tag e/ou valores imediatos separados por
DINT operadores
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Define a expresso CMP usando operadores, tags e valores imediatos.


Use parnteses ( ) para definir as sees das expresses
mais complexas.

A execuo de uma instruo CMP um pouco mais lenta e usa mais


memria do que a execuo de outras instrues de comparao. A
vantagem da instruo CMP que a mesma permite a insero de
expresses complexas em uma instruo.

Flags de Status Aritmtico: A instruo CMP afeta somente os flags de status aritmtico se a
expresso contiver um operador (ex.: +, , *, /) que afete os flags de
status aritmtico.

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-3

Execuo de 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 expresso
verdadeira sada da condio da linha
avalie a expresso
energizada quando verdadeira

a expresso falsa

sada da condio da linha


energizada quando falsa

fim

Exemplo de Lgica
Ladder:
Se a instruo CMP considerar a expresso
verdadeira, a sada da condio da linha ser
verdadeira.

Caso uma expresso seja inserida sem um operador de comparao


como, por exemplo, value_1 + value_2 ou value_1, a instruo
avaliar a expresso como:

Se a expresso: A sada da condio da linha


definida em:
diferente de zero verdadeira
zero falsa

Publicao 1756-RM003D-PT-P - Junho 2001


4-4 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Expresses CMP

As expresses das instrues CMP so programadas da mesma forma


que as expresses nas instrues FSC. Use as sees a seguir para
mais informaes sobre operadores vlidos, formato e seqncia de
operao que so comuns nas duas instrues.

Operadores vlidos

Operador: Descrio: timo: Operador: Descrio: timo:


+ adio DINT, REAL DEG radianos para graus DINT, REAL
subtrao/negativo DINT, REAL FRD BCD para inteiro DINT
* multiplicao DINT, REAL LN natural log REAL
/ diviso DINT, REAL LOG logaritmo na base de REAL
10
= igual DINT, REAL
MOD mdulo-diviso DINT, REAL
< menor do que DINT, REAL
NOT bitwise complemento DINT
<= menor ou igual a DINT, REAL
OR bitwise OR DINT
> maior do que DINT, REAL
RAD graus para radianos DINT, REAL
>= maior ou igual a DINT, REAL
SIN seno REAL
<> diferente de DINT, REAL
SQR raiz quadrada DINT, REAL
** expoente DINT, REAL
(x elevado a y) TAN tangente REAL
ABS valor absoluto DINT, REAL TOD inteiro para BCD DINT
ACS arco co-seno REAL TRN truncado DINT, REAL
AND bitwise AND DINT XOR bitwise exclusivo OR DINT
ASN arco seno REAL
ATN arco tangente REAL
COS co-seno REAL

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-5

Formatao de expresses

Para cada operador usado em uma expresso, necessrio fornecer


um ou dois operandos (tags ou valores imediatos). Use a tabela a
seguir para formatar operadores e operandos dentro de uma
expresso:

Para operadores Use esse formato: Exemplos:


que operam com:
um operando operador (operando) ABS(tag_a)
dois operandos operand_a operator operand_b tag_b + 5
tag_c AND tag_d
(tag_e ** 2) MOD
(tag_f / tag_g)

Determinao da seqncia de operao

As operaes gravadas na expresso so realizadas pela instruo em


uma seqncia prescrita, no necessariamente na seqncia em que
foram gravadas. possvel suprimir a seqncia da operao
agrupando-se os termos dentro de parnteses, forando a instruo
para realizar uma operao dentro dos parnteses, antes de outras
operaes.

Operaes com seqncia igual so realizadas da esquerda para a


direita.

Seqncia: Operao:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. (negativo), NOT
5. *, /, MOD
6. <, <=, >, >=, =
7. (subtrao), +
8. AND
9. XOR
10. OR

Publicao 1756-RM003D-PT-P - Junho 2001


4-6 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Igual a (EQU) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo EQU testa se Source A igual Source B.

Operandos de Lgica
Ladder:

Operando: Tipo: Formato: Descrio: Notas:


Source A SINT imediato valor a ser testado em Se voc inserir um tag SINT ou INT, o
INT tag relao Source B valor o converte para um valor DINT por
DINT extenso de sinal.
REAL Valores REAL so raramente
tipo de string absolutamente iguais. Caso seja
necessrio determinar a igualdade de
Source B SINT imediato valor a ser testado em dois valores REAL, use a instruo LIM.
INT tag relao Source A
Os tipos de string so:
DINT
REAL tipo de dados STRING padro
tipo de string qualquer tipo de string novo que
voc criar
Para testar os caracteres de um string,
insira um tag tipo string para Source A e
Source B.

Operandos do Bloco de
Funo:
Operando: Tipo: Formato: Descrio:
tag de bloco FBD_COMPARE estrutura estrutura EQU

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-7

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
SourceA REAL Valor para comparar com SourceB.
vlido = qualquer flutuante
SourceB REAL Valor para comparar com SourceA.
vlido = qualquer flutuante

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest BOOL Resultado da instruo. Isto equivale sada da condio da linha da instruo EQU de
lgica ladder.

Descrio: Use a instruo EQU para comparar dois nmeros ou dois strings de
caracteres ASCII. Quando comparar strings:

Os strings so iguais se seus caracteres corresponderem.


Os caracteres ASCII so sensveis ao contexto. O A maisculo
($41) no igual ao a minsculo ($61).

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


4-8 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Execuo de 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

sim sada da condio da linha


Source A = Source B
energizada quando verdadeira

no

sada da condio da linha


energizada quando falsa

fim

Exemplo de Lgica
Ladder:

Se value_1 for igual a value_2, a sada da condio da linha definida como verdadeira.

Se string_1 for igual a string_8, a sada da condio da linha definida como verdadeira.
EQU
Equal
Neste exemplo, os dois strings so iguais. Cada caracter em string_1 corresponde ao
Source A string_1
'ABC'
caracter em string_8.
Source B string_8
'ABC'
42621

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-9

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores da sada de function_block_A e function_block_B se tornam valores de entrada para


SourceA e SourceB, respectivamente. Se SourceA = SourceB, a instruo EQU energiza o Dest, que
habilita function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


4-10 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Maior ou Igual a (GEQ) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo GEQ testa se Source A maior ou igual Source B.

Operandos de Lgica
Ladder:

Operando: Tipo: Formato: Descrio: Notas:


Source A SINT imediato valor a ser testado em Se voc inserir um tag SINT ou INT, o
INT tag relao Source B valor o converte para um valor DINT por
DINT extenso de sinal.
REAL Os tipos de string so:
tipo de string tipo de dados STRING padro
Source B SINT imediato valor a ser testado em qualquer tipo de string novo que
INT tag relao a Source A voc criar
DINT Para testar os caracteres de um string,
REAL insira um tag tipo string para Source A e
tipo de string Source B.

Operandos do Bloco de
Funo:
Operando: Tipo: Formato: Descrio:
tag de bloco FBD_COMPARE estrutura estrutura GEQ

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-11

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
SourceA REAL Valor para comparar com SourceB.
vlido = qualquer flutuante
SourceB REAL Valor para comparar com SourceA.
vlido = qualquer flutuante

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest BOOL Resultado da instruo. Isto equivalente sada da condio da linha para a instruo
GEQ de Lgica Ladder.

Descrio: A instruo GEQ testa se Source A maior ou igual Source B.

Quando comparar strings:

Os valores hexadecimais dos caracteres determinam se um


string menor ou maior que outro string. Para o cdigo
hexadecimal de caracter, consulte a parte de trs deste manual.
Quando os dois strings so organizados como em uma lista
telefnica, a ordem dos strings determina qual maior.

Caracteres ASCII Cdigos


Hexadecimais
1ab $31$61$62
m m 1b $31$62
e a
A $41
n i
o o AB $41$42 AB < B
r r
q q
B $42
u u a $61 a>B
e e
ab $61$62

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


4-12 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Execuo de 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

sim sada da condio da linha


Source A Source B
energizada quando verdadeira

no

sada da condio da linha


energizada quando falsa

fim

Exemplo de Lgica
Ladder:

Se value_1 for menor ou igual a value_2, a sada da condio da linha definida


como verdadeira.

Se string_2 for maior que string_8, a sada da condio da linha definida como
GEQ verdadeira.
Grtr Than or Eql (A>=B)
Source A string_2
'ACA' Neste exemplo, string_2 maior que string_8. Quando os dois strings so organizados
Source B string_8 pelos valores hexadecimais, string_2 aparece depois de string_8. (Ou seja, em uma lista
'ABC' telefnica, ACA apareceria depois de ABC.)
42621

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-13

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores da sada de function_block_A e function_block_B se tornam valores de entrada para


SourceA e SourceB, respectivamente. Se SourceA SourceB, a instruo GEQ energiza Dest,
que habilita function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


4-14 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Maior que (GRT) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo GRT testa se Source A maior ou igual Source B.

Operandos de Lgica
Ladder:

Operando: Tipo: Formato: Descrio: Notas:


Source A SINT imediato tag valor a ser testado em Se voc inserir um tag SINT ou INT, o
INT relao a Source B valor o converte para um valor DINT por
DINT extenso de sinal.
REAL Os tipos de string so:
tipo de string tipo de dados STRING padro
Source B SINT imediato tag valor a ser testado em qualquer tipo de string novo que
INT relao a Source A voc criar
DINT Para testar os caracteres de um string,
REAL insira um tag tipo string para Source A e
tipo de string Source B.

Operandos do Bloco de
Funo:
Operando: Tipo: Formato: Descrio:
tag de bloco FBD_COMPARE estrutura estrutura GRT

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-15

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
SourceA REAL Valor para comparar com SourceB.
vlido = qualquer flutuante
SourceB REAL Valor para comparar com SourceA.
vlido = qualquer flutuante

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest BOOL Resultado da instruo. Isto equivale sada da condio da linha para instruo GRT de
Lgica Ladder.

Descrio: A instruo GRT testa se Source A maior ou igual a Source B.

Quando comparar strings:

Os valores hexadecimais dos caracteres determinam se um


string menor ou maior que outro string. Para o cdigo
hexadecimal de caracter, consulte a parte de trs deste manual.
Quando os dois strings so organizados como em uma lista
telefnica, a ordem dos strings determina qual maior.

Caracteres ASCII Cdigos


Hexadecimais
1ab $31$61$62
m m 1b $31$62
e a
A $41
n i
o o AB $41$42 AB < B
r r
q q
B $42
u u a $61 a>B
e e
ab $61$62

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


4-16 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Execuo de 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

sim sada da condio da linha


Source A > Source B
energizada quando verdadeira

no

sada da condio da linha


energizada quando falsa

fim

Exemplo de Lgica
Ladder:

Se value_1 for maior que value_2, a sada da condio da linha definida como
verdadeira.

Se string_3 for maior que string_8, a sada da condio da linha definida como
GRT verdadeira.
Greater Than (A>B)
Source A string_3
'ACA' Neste exemplo, string_3 maior que string_8. Quando os dois strings so organizados
Source B string_8 pelos valores hexadecimais, string_3 aparece aps string_8. (Ou seja, em uma lista
'ABC' telefnica, ACA apareceria depois de ABC.)

42621

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-17

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores da sada de function_block_A e function_block_B se tornam valores de entrada para


SourceA e SourceB, respectivamente. Se SourceA > SourceB, a instruo GRT energiza Dest, que
habilita function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


4-18 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Menor ou Igual a (LEQ) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo LEQ testa se Source A menor ou igual a Source B.

Operandos de Lgica
Ladder:

Operando: Tipo: Formato: Descrio: Notas:


Source A SINT imediato valor a ser testado em Se voc inserir um tag SINT ou INT, o
INT tag relao a Source B valor o converte para um valor DINT por
DINT extenso de sinal.
REAL Os tipos de string so:
tipo de string tipo de dados STRING padro
Source B SINT imediato valor a ser testado em qualquer tipo de string novo que
INT tag relao a Source A voc criar
DINT Para testar os caracteres de um string,
REAL insira um tag tipo string para Source A e
tipo de string Source B.

Operandos do Bloco de
Funo:
Operando: Tipo: Formato: Descrio:
tag de bloco FBD_COMPARE estrutura estrutura LEQ

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-19

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
SourceA REAL Valor para comparar com SourceB.
vlido = qualquer flutuante
SourceB REAL Valor para comparar com SourceA.
vlido = qualquer flutuante

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest BOOL Resultado da instruo. Isto equivale sada da condio da sada para a instruo LEQ de
Lgica Ladder.

Descrio: A instruo LEQ testa se Source A menor ou igual a Source B.

Quando comparar strings:

Os valores hexadecimais dos caracteres determinam se um


string menor ou maior que outro string. Para o cdigo
hexadecimal de caracter, consulte a parte de trs deste manual.
Quando os dois strings so organizados como em uma lista
telefnica, a ordem dos strings determina qual maior.

Caracteres ASCII Cdigos


Hexadecimais
1ab $31$61$62
m m 1b $31$62
e a
A $41
n i
o o AB $41$42 AB < B
r r
q q
B $42
u u a $61 a>B
e e
ab $61$62

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


4-20 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Execuo de 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

sim sada da condio da linha


Source A Source B energizada quando verdadeira

no

sada da condio da linha


energizada quando falsa

fim

Exemplo de Lgica
Ladder:

Se value_1 for menor ou igual a value_2, a sada da condio da linha definida


como verdadeira.

Se string_4 for menor ou igual a string_8, a sada da condio da linha definida como
LEQ
verdadeira.
Less Than or Eql (A<=B)
Source A string_4
'AAD' Neste exemplo, string_4 menor que string_8. Quando os dois strings so organizados pelos
Source B string_8 valores hexadecimais, string_4 aparece antes de string_8. (Ou seja, em uma lista telefnica,
'ABC' AAD apareceria antes de ABC.)
42621

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-21

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores da sada de function_block_A e function_block_B se tornam valores de entrada para


SourceA e SourceB, respectivamente. Se SourceA SourceB, a instruo LEQ energiza Dest, que
habilita function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


4-22 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Menor Que (LES) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo LES testa se Source A menor do que Source B.

Operandos de Lgica
Ladder:

Operando: Tipo: Formato: Descrio: Notas:


Source A SINT imediato valor a ser testado em Se voc inserir um tag SINT ou INT, o
INT tag relao a Source B valor o converte para um valor DINT por
DINT extenso de sinal.
REAL Os tipos de string so:
tipo de string tipo de dados STRING padro
Source B SINT imediato valor a ser testado em qualquer tipo de string novo que
INT tag relao a Source A voc criar
DINT Para testar os caracteres de um string,
REAL insira um tag tipo string para Source A e
tipo de string Source B.

Operandos do Bloco de
Funo:

Operando: Tipo: Formato: Descrio:


tag de bloco FBD_COMPARE estrutura estrutura LES

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-23

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
SourceA REAL Valor para comparar com SourceB.
vlido = qualquer flutuante
SourceB REAL Valor para comparar com SourceA.
vlido = qualquer flutuante

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest BOOL Resultado da instruo. Isto equivale sada da condio da linha da instruo LES de Lgica
Ladder.

Descrio: A instruo LES testa se Source A menor do que Source B.

Quando comparar strings:

Os valores hexadecimais dos caracteres determinam se um


string menor ou maior que outro string. Para o cdigo
hexadecimal de caracter, consulte a parte de trs deste manual.
Quando os dois strings so organizados como em uma lista
telefnica, a ordem dos strings determina qual maior.

Caracteres ASCII Cdigos


Hexadecimais
1ab $31$61$62
m m 1b $31$62
e a
A $41
n i
o o AB $41$42 AB < B
r r
q q
B $42
u u a $61 a>B
e e
ab $61$62

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


4-24 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Execuo de 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

sim sada da condio da linha


Source A < Source B
energizada quando verdadeira

no

sada da condio da linha


energizada quando falsa

fim

Exemplo de Lgica
Ladder:

Se value_1 for menor que value_2, a sada da condio da linha definida como
verdadeira.

Se string_5 for menor que string_8, a sada da condio da linha definida como
LES
Less Than (A<B)
verdadeira.
Source A string_5
'AAD' Neste exemplo, string_5 menor que string_8. Quando os dois strings so organizados
Source B string_8 pelos valores hexadecimais, string_5 aparece antes de string_8. (Ou seja, em uma lista
'ABC' telefnica, AAD apareceria antes de ABC.)
42621

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-25

Execuo 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 falso EnableOut est desenergizado.
EnableIn verdadeiro A instruo executa.
EnableOut est energizado.

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores da sada de function_block_A e function_block_B se tornam valores de entrada para


SourceA e SourceB, respectivamente. Se SourceA < SourceB, a instruo LES energiza Dest, que
habilita function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


4-26 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Limite (LIM) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo LIM testa se o valor de teste est dentro da faixa de Limite


Inferior a Limite Superior.

Operandos de Lgica
Ladder:
Operando: Tipo: Formato: Descrio:
Limite Inferior SINT imediato tag valor do limite inferior
INT
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Test (Teste) SINT imediato tag valor de acordo com o teste
INT
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Limite SINT imediato tag valor do limite superior
Superior INT
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.

Operandos do Bloco de
Funo:
Operando: Tipo: Formato: Descrio:
tag de bloco FBD_LIMIT estrutura estrutura LIM

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-27

Parmetro de Tipo de Dados: Descrio:


Entrada:
LowLimit REAL Valor do limite inferior.
vlido = qualquer flutuante
Test (Teste) REAL Valor para comparar com os limites
vlido = qualquer flutuante
HighLimit REAL Valor do limite superior.
vlido = qualquer flutuante

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest BOOL Resultado da instruo. Isto equivale sada da condio da linha para a instruo LIM de
Lgica Ladder.

Descrio: A instruo LIM testa se o valor de teste est dentro da faixa de Limite
Inferior a Limite Superior.

Se o Limite E o valor de Teste for: A sada da condio da linha


Inferior: definida em:
Limite Superior igual a ou entre os limites verdadeira
diferente ou fora dos limites falsa
Limite Superior igual a ou fora dos limites verdadeira
diferente ou dentro dos limites falsa

Os inteiros com sinal mudam do nmero positivo mximo para o


nmero negativo mximo quando o bit mais significativo estiver
energizado. Por exemplo, em inteiros com 16 bits (tipo INT), o inteiro
positivo mximo 32.767, que representado em hexadecimal como
16#7FFF (bits 0 a 14 esto todos energizados). Se voc incrementar
esse nmero em um, o resultado 16#8000 (bit 15 est energizado).
Para inteiros com sinal, o hexadecimal 16#8000 igual ao decimal
32.768. Incremente a partir desse ponto at que todos os 16 bits
estejam energizados e terminem em 16#FFFF, que igual ao decimal
1.

Isto pode ser representado como uma linha de nmero circular


(consulte os seguintes diagramas). A instruo LIM comea no Limite
Inferior e incrementa no sentido horrio at atingir o Limite Superior.
Qualquer valor de teste na faixa de sentido horrio, desde o Limite
Inferior at o Limite Superior define a sada da condio da linha
como verdadeira. Qualquer valor de teste na faixa de sentido horrio
desde o Limite Superior at o Limite Inferior define a sada da
condio da linha como falsa.

Publicao 1756-RM003D-PT-P - Junho 2001


4-28 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Limite Inferior Limite Inferior Limite Inferior Limite Superior


A instruo verdadeira se o valor de teste A instruo verdadeira se o valor de teste for
for igual ou situar-se entre os limites superior igual ou estiver fora da faixa entre os limites
e inferior. superior e inferior.

0
0
1 +1
1 +1
limite inferior
limite superior

limite superior
limite inferior

(n+1) +n
(n+1) +n
n = valor mximo n = valor mximo

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de 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 comparao
verdadeira sada da condio da linha
avalie limite
energizada quando verdadeira

a comparao
falsa

sada da condio da linha


energizada quando falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-29

Exemplo de Lgica
Ladder:
exemplo 1

Limite Inferior Limite Superior


Quando 0 o valor 100, light_1 energizada.

exemplo 2

Limite Inferior Limite Superior


Quando o valor 0 ou valor 100, light_1
energizada.

Execuo 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 falso EnableOut est desenergizado.
EnableIn verdadeiro A instruo executa.
EnableOut est energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


4-30 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores da sada de function_block_A e function_block_B se tornam valores de entrada para LowLimit


e HighLimit, respectivamente.

LowLimit HighLimit
Se LowLimit Test_value HighLimit, a instruo LIM energiza Dest, que habilita function_block_C.

LowLimit HighLimit
Se LowLimit Test_value HighLimit, a instruo LIM energiza Dest, que habilita function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-31

Mscara Igual a (MEQ) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo MEQ passa os valores de Source e Compare atravs de


uma Mscara e compara os resultados.

Operandos de Lgica
Ladder:
Operando: Tipo: Formato: Descrio:
Source SINT imediato valor para ser testado comparando-se
INT tag com Compare
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Mask SINT imediato define que bits so bloqueados ou os
INT tag que passam
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Compare SINT imediato valor a ser testado em relao a
INT tag Source
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.

Operandos do Bloco de
Funo:
Operando: Tipo: Formato: Descrio:
tag de bloco FBD_MASK_EQUAL estrutura estrutura MEQ

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
Source DINT Valor para testar com Compare.
vlido = qualquer inteiro
Mask DINT Define que bits bloquear (mscara).
vlido = qualquer inteiro
Compare DINT Comparao de valor.
vlido = qualquer inteiro

Publicao 1756-RM003D-PT-P - Junho 2001


4-32 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest BOOL Resultado da instruo. Isto equivale sada da condio da linha para a instruo MEQ de
Lgica Ladder.

Descrio: Um 1 na mscara significa que o bit de dados passou. Um 0 na


mscara significa que o bit de dados foi bloqueado. Geralmente, os
valores Source, Mask e Compare so todos do mesmo tipo de dados.

Se houver uma mistura dos tipos de dados de inteiros, a instruo


preencher os bits mais significativos dos tipos de dados de inteiros
menores com 0s, de forma que fiquem com o mesmo tamanho dos
tipos de dados maiores.

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.

Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-33

Execuo de 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

fonte mascarada = sim sada da condio da linha


comparao energizada quando verdadeira
mascarada

no

sada da condio da linha


energizada quando falsa

fim

Exemplo de Lgica
Ladder:

exemplo 1

value_1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0

mask_1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 mask_1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0

value_1 0 1 0 1 0 1 0 1 1 1 1 1 x x x x value_2 0 1 0 1 0 1 0 1 1 1 1 1 x x x x
mascarado mascarado

O value_1 igual ao value_2 mascarado, portanto light_1 se acende. Um 0 na mscara impede que a mscara compare aquele
bit (mostrado por x no exemplo).

Publicao 1756-RM003D-PT-P - Junho 2001


4-34 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

exemplo 2

value_1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 value_2 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0

mask_1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 mask_1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1

value_1 x x x x x x x x x x x x 1 1 1 1 value_2 x x x x x x x x x x x x 0 0 0 0
mascarado mascarado

O value_1 mascarado no igual ao value_2 mascarado, portanto light_1 se apaga. Um 0 na mscara impede que a mscara
compare aquele bit (mostrado por x no exemplo).

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-35

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Source 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 Compare 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0

Mask1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 Mask1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0

Source 0 1 0 1 0 1 0 1 1 1 1 1 x x x x Compare 0 1 0 1 0 1 0 1 1 1 1 1 x x x x
mascarado mascarado
Os valores de sadade function_block_A e function_block_B se tornam valores de entrada para Source e Compare, respectivamente.
Se masked Source = the masked Compare, a instruo MEQ energiza Dest, que habilita function_block_C. Um 0 na mscara impede
que a mscara compare aquele bit (mostrado por x no exemplo).

Publicao 1756-RM003D-PT-P - Junho 2001


4-36 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Diferente de (NEQ) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo NEQ testa se Source A diferente de Source B.

Operandos de Lgica
Ladder:

Operando: Tipo: Formato: Descrio: Notas:


Source A SINT imediato tag valor a ser testado em Se voc inserir um tag SINT ou INT, o
INT relao a Source B valor o converte para um valor DINT por
DINT extenso de sinal.
REAL Os tipos de string so:
tipo de string tipo de dados STRING padro
Source B SINT imediato tag valor a ser testado em qualquer tipo de string novo que
INT relao a Source A voc criar
DINT Para testar os caracteres de um string,
REAL insira um tag tipo string para Source A e
tipo de string Source B.

Operandos do Bloco de
Funo:

Operando: Tipo: Formato: Descrio:


tag de bloco FBD_COMPARE estrutura estrutura NEQ

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-37

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.
o valor inicial definido
SourceA REAL Valor para comparar com SourceB.
vlido = qualquer flutuante
SourceB REAL Valor para comparar com SourceA.
vlido = qualquer flutuante

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest BOOL Resultado da instruo. Isto equivale sada da condio da linha para a instruo NEQ de
Lgica Ladder.

Descrio: A instruo NEQ testa se Source A diferente de Source B.

Quando comparar strings:

Os strings no so iguais se qualquer de seus caracteres no


corresponderem.
Os caracteres ASCII so sensveis ao contexto. O A maisculo
($41) no igual ao a minsculo ($61).

Caracteres ASCII Cdigos


Hexadecimais
1ab $31$61$62
m m 1b $31$62
e a
A $41
n i
o o AB $41$42 AB < B
r r
q q
B $42
u u a $61 a>B
e e
ab $61$62

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


4-38 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Execuo de 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

sim sada da condio da linha


Source A = Source B
energizada quando verdadeira

no

sada da condio da linha


energizada quando falsa

fim

Exemplo de Lgica
Ladder:

Se value_1 no for igual a value_2, a sada da condio da linha definida como


verdadeira.

Se string_6 no for igual a string_8, a sada da condio da linha definida como verdadeira.
NEQ
Not Equal
Neste exemplo, string_6 no igual a string_8. Os dois strings no correspondem
Source A string_6
completamente.
'ABC$00'
Source B string_8
'ABC'
42621

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-39

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores da sada de function_block_A e function_block_B se tornam valores de entrada para


SourceA e SourceB, respectivamente. Se SourceA SourceB, a instruo NEQ energiza Dest, que
habilita function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


4-40 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) 4-41

Publicao 1756-RM003D-PT-P - Junho 2001


4-42 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 5

Instrues Matemticas/Clculo
(CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Introduo As instrues de clculo/matemtica avaliam as operaes aritmticas


usando uma expresso ou uma instruo aritmtica especificada.

Se voc quiser: Use esta instruo: Consulte


pgina:
avaliar uma expresso CPT 5-2
somar dois valores ADD 5-6
subtrair dois valores SUB 5-9
multiplicar dois valores MUL 5-12
dividir dois valores DIV 5-15
determinar o resto aps a diviso de um valor MOD 5-19
por outro
calcular a raiz quadrada de um valor SQR 5-23
considerar o sinal oposto de um valor NEG 5-26
considerar o valor absoluto de um valor ABS 5-29

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

1 Publicao 1756-RM003D-PT-P - Junho 2001


5-2 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Clculo (CPT) Idiomas disponveis:

Lgica Ladder

A instruo CPT realiza as operaes aritmticas definidas na


expresso.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Expresso SINT imediato uma expresso composta por tags
INT tag e/ou valores imediatos separados por
DINT operadores
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Descrio: A instruo CPT realiza as operaes aritmticas definidas na


expresso. Quando habilitada, a instruo CPT avalia a expresso
especfica e coloca o resultado no Destino.

A execuo de uma instruo CPT um pouco mais lenta e usa mais


memria do que a execuo de outras instrues de
clculo/matemtica. A vantagem da instruo CPT que a mesma
permite a insero de expresses complexas em uma instruo.

DICA No h limite para o comprimento de uma


expresso.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-3

Execuo de Lgica
Ladder:

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 A instruo avalia a Expresso e coloca o resultado no Destino.
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

exemplo 1

Quando habilitada, a instruo CPT avalia o value_1 multiplicado por 5 e divide esse resultado
pelo resultado do value_2 dividido por 7 e coloca o resultado final em result_1.

exemplo 2

Quando habilitada, a instruo CPT trunca float_value_1 e float_value_2, eleva float_value_2


truncado ao quadrado, divide por float_value_1 truncado pelo resultado e armazena o resto dessa
operao de diviso em float_value_result_cpt.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


5-4 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Operadores vlidos

Operador: Descrio: timo: Operador: Descrio: timo:


+ adio DINT, REAL LN natural log REAL
- subtrao/negativo DINT, REAL LOG logaritmo na base de REAL
10
* multiplicao DINT, REAL
MOD mdulo-diviso DINT, REAL
/ diviso DINT, REAL
NOT bitwise complemento DINT
** expoente (x elevado a DINT, REAL
y) OR bitwise OR DINT
ABS valor absoluto DINT, REAL RAD graus para radianos DINT, REAL
ACS arco co-seno REAL SIN seno REAL
AND bitwise AND DINT SQR raiz quadrada DINT, REAL
ASN arco seno REAL TAN tangente REAL
ATN arco tangente REAL TOD inteiro para BCD DINT
COS co-seno REAL TRN truncado DINT, REAL
DEG radianos para graus DINT, REAL XOR bitwise exclusivo OR DINT
FRD BCD para inteiro DINT

Formatao de expresses

Para cada operador usado em uma expresso, necessrio fornecer


um ou dois operandos (tags ou valores imediatos). Use a tabela a
seguir para formatar operadores e operandos dentro de uma
expresso:

Para operadores Use esse formato: Exemplos:


que operam com:
um operando operador (operando) ABS(tag_a)
dois operandos operand_a operator operand_b tag_b + 5
tag_c AND tag_d
(tag_e ** 2) MOD
(tag_f / tag_g)

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-5

Determinao da seqncia de operao

As operaes gravadas na expresso so realizadas pela instruo em


uma seqncia prescrita, no necessariamente na seqncia em que
foram gravadas. possvel suprimir a seqncia da operao
agrupando-se os termos dentro de parnteses, forando a instruo
para realizar uma operao dentro dos parnteses, antes de outras
operaes.

Operaes com seqncia igual so realizadas da esquerda para a


direita.

Seqncia: Operao:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. (negativo), NOT
5. *, /, MOD
6. (subtrao), +
7. AND
8. XOR
9. OR

Publicao 1756-RM003D-PT-P - Junho 2001


5-6 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Adio (ADD) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo ADD soma Source A e Source B e coloca o resultado no


Destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor a ser somado Source B (Fonte
INT tag B)
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Source B SINT imediato valor a ser somado Source A (Fonte
INT tag A)
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH estrutura estrutura ADD

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
SourceA REAL Valor para adicionar a SourceB.
vlido = qualquer flutuante
SourceB REAL Valor para adicionar a SourceA.
vlido = qualquer flutuante

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-7

Parmetros de sada

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.

Descrio: A instruo ADD soma Source A e Source B e coloca o resultado no


Destino.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 Destination = Source A + Source B (Destino = Fonte A + Fonte B)
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo ADD soma float_value_1 e float_value_2 e coloca o


resultado em add_result.

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

Publicao 1756-RM003D-PT-P - Junho 2001


5-8 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

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 calcula SourceA + SourceB e coloca o resultado
em Dest, que se torna um parmetro de entrada para function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-9

Subtrao (SUB) Linguagens Disponveis:

gica Ladder Bloco de Funo

A instruo SUB subtrai Source B de Source A e coloca o resultado no


Destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor a partir do qual se subtrai a
INT tag Source B
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Source B SINT imediato valor a ser subtrado de Source A
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH estrutura estrutura SUB

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
SourceA REAL Valor do qual se subtrai SourceB.
vlido = qualquer flutuante
SourceB REAL Valor do qual se subtrai SourceA.
vlido = qualquer flutuante

Publicao 1756-RM003D-PT-P - Junho 2001


5-10 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Parmetros de sada

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.

Descrio: A instruo SUB subtrai Source B de Source A e coloca o resultado no


Destino.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 Destino = Fonte B - Fonte A
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo SUB subtrai float_value_2 de float_value_1 e coloca o resultado


em subtract_result.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-11

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores de sada de function_block_A e function_block_B se tornam os valores de entrada


SourceA e SourceB, respectivamente. A instruo calcula SourceA SourceB e coloca o resultado
em Dest, que se torna um parmetro de entrada para function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


5-12 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Multiplicao (MUL) Linguagens

Lgica Ladder Bloco de Funo

A instruo MUL multiplica Source A por Source B e coloca o


resultado no Destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor do multiplicando
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Source B SINT imediato valor do multiplicador
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH estrutura estrutura MUL

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source A REAL Valor do multiplicando.
vlido = qualquer flutuante
Source B REAL Valor do multiplicador.
vlido = qualquer flutuante

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-13

Parmetros de sada

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.

Descrio: A instruo MUL multiplica Source A por Source B e coloca o


resultado no Destino.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 Destino = Fonte B x Fonte A
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo MUL multiplica float_value_1 por float_value_2 e coloca o


resultado em multiply_result.

Execuo de 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.

Publicao 1756-RM003D-PT-P - Junho 2001


5-14 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

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 calcula SourceA SourceB e coloca o resultado
em Dest, que se torna um parmetro de entrada para function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-15

Diviso (DIV) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo DIV divide Source A por Source B e coloca o resultado em


Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor do dividendo
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Source B SINT imediato valor do divisor
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH estrutura estrutura DIV

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source A REAL Valor do dividendo.
vlido = qualquer flutuante
Source B REAL Valor do divisor.
vlido = qualquer flutuante

Publicao 1756-RM003D-PT-P - Junho 2001


5-16 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Parmetros de sada

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.

Descrio: Se Destination no for REAL, a instruo trabalha com a poro


fracionria do resultado da seguinte forma:

Se Source A: Ento a parte Exemplo:


fracionria do
resultado:
e Source B no forem trunca Source A DINT 5
do tipo REAL
Source B DINT 3
Destination DINT 1
ou Source B for do tipo arredondada Source A REAL 5.0
REAL
Source B DINT 3
Destination DINT 2

Se Source B (o divisor) for zero:

Ocorre uma falha de advertncia:


Tipo 4: falha de programa
Cdigo 4: overflow aritmtico
O destino configurado da seguinte maneira:

Se Source B zero e: E o destino : E o resultado : Logo, o destino configurado


como:
todos os operandos so inteiros Source A
(SINT, INT ou DINT)
pelo menos um operando REAL SINT, INT ou DINT positivo -1
negativo 0
REAL positivo 1.$ (positivo infinito)
negativo -1.$ (negativo infinito)

Para detectar um possvel divisor por zero, examine o bit de falha de


advertncia (S:MINOR). Consulte o Procedimentos Comuns dos
Controladores Logix5000, publicao 1756-PM001.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

Uma falha de Tipo de falha: Cdigo de falha:


advertncia ocorre se:
o divisor zero 4 4

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-17

Execuo de Lgica
Ladder:

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 Destination = Fonte B / Fonte A
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo DIV divide float_value_1 por float_value_2 e coloca o resultado
em divide_result.

Execuo 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 est definido A instruo executada.
EnableOut energizado.

Exemplo do Bloco de
Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


5-18 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

function_block_A

function_block_C

function_block_B

Os valores de sada de function_block_A e function_block_B se tornam os valores para SourceA e


SourceB, respectivamente. A instruo calcula SourceA / SourceB e coloca o resultado em Dest,
que se torna um parmetro de entrada para function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-19

Mdulo (MOD) Linguagens

Lgica Ladder Bloco de Funo

A instruo MOD divide Source A por Source B e coloca o resto no


Destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor do dividendo
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Source B SINT imediato valor do divisor
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH estrutura estrutura MOD

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source A REAL Valor do dividendo.
vlido = qualquer flutuante
Source B REAL Valor do divisor.
vlido = qualquer flutuante

Publicao 1756-RM003D-PT-P - Junho 2001


5-20 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Parmetros de sada

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.

Descrio: Se Source B (o divisor) for zero:

Ocorre uma falha de advertncia:


Tipo 4: falha de programa
Cdigo 4: overflow aritmtico
O destino configurado da seguinte maneira:

Se Source B zero e: E o destino : E o resultado : Logo, o destino configurado


como:
todos os operandos so inteiros Source A
(SINT, INT ou DINT)
pelo menos um operando REAL SINT, INT ou DINT positivo -1
negativo 0
REAL positivo 1.$ (positivo infinito)
negativo -1.$ (negativo infinito)

Para detectar um possvel divisor por zero, examine o bit de falha de


advertncia (S:MINOR). Consulte Procedimentos Comuns dos
Controladores Logix5000, publicao 1756-PM001.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

Uma falha de Tipo de falha: Cdigo de falha:


advertncia ocorrer se:
o divisor zero 4 4

Execuo de Lgica
Ladder:

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 Destination = Source A ( TRN ( Source A / Source B ) * Source B )
A sada da condio da linha definida como verdadeira.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-21

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo MOD divide o dividendo pelo divisor e coloca o resto em
remainder. Nesse exemplo, 10 dividido por 3, com um resto de um.

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

Publicao 1756-RM003D-PT-P - Junho 2001


5-22 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

Os valores de sada de function_block_A e function_block_B se tornam valores de entrada para


SourceA e SourceB, respectivamente. A instruo calcula SourceA / SourceB (mdulo) e coloca o
resultado em Dest, que se torna o parmetro de entrada para function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-23

Raiz Quadrada (SQR) Linguagens

Lgica Ladder Bloco de Funo

A instruo SQR calcula a raiz quadrada de Source e coloca o


resultado no destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato calcula a raiz quadrada desse valor
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura SQR

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Encontra a raiz quadrada deste valor.
vlido = qualquer flutuante

Parmetros de sada

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 definidos para esta
sada.

Publicao 1756-RM003D-PT-P - Junho 2001


5-24 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Descrio: Se Destination no for REAL, a instruo trabalha com a poro


fracionria do resultado da seguinte forma:

Se Source for: Ento a parte Exemplo:


fracionria do
resultado:
diferente do tipo REAL trunca Source DINT 3
Destination DINT 1
do tipo REAL arredondada Source REAL 3.0
Destination DINT 2

Se Source for negativo, a instruo retira o valor absoluto de Source,


antes de calcular a raiz quadrada.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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
Destination = Source
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo SQR calcula a raiz quadrada de value_1 e coloca o resultado
em sqr_result .

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-25

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

Exemplo do Bloco de
Funo:

function_block_A function_block_C

O valor de sada do function_block_A se torna o valor de entrada para Source. A instruo calcula a
raiz quadrada de Source e coloca o valor em Dest, que se torna o parmetro de entrada para
function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


5-26 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Negao (NEG) Linguagens

Lgica Ladder Bloco de Funo

A instruo NEG altera o sinal da Fonte e coloca o resultado no


Destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor a ser transformado em negativo
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura NEG

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Valor para negar.
vlido = qualquer flutuante

Parmetros de sada

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-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-27

Descrio: Se voc tornar negativo um valor negativo, o resultado ser positivo.


Se voc tornar negativo um valor positivo, o resultado ser negativo.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 Destination = 0 Source
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo NEG altera o sinal de value_1 e coloca o


resultado em negate_result.

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

Publicao 1756-RM003D-PT-P - Junho 2001


5-28 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Exemplo do Bloco de
Funo:

function_block_A function_block_C

O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo


nega Source e coloca o valor em Dest, que se torna em um parmetro de entrada para
function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-29

Valor Absoluto (ABS) Linguagens

Lgica Ladder Bloco de Funo

A instruo ABS retira o valor absoluto de Fonte e coloca o resultado


em Destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor do qual se tira o valor absoluto
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ABS

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source REAL Valor do qual se tira o valor absoluto.
vlido = qualquer flutuante

Parmetros de sada

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-RM003D-PT-P - Junho 2001


5-30 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Descrio: A instruo ABS retira o valor absoluto de Fonte e coloca o resultado


em Destino.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 Destination = | Source |
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo ABS coloca o valor absoluto de value_1 em value_1_absolute.


Nesse exemplo, o valor absoluto de quatro negativo quatro positivo.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS) 5-31

Exemplo do Bloco de
Funo:

function_block_A function_block_C

O valor de sada de function_block_A se torna o valor de entrada para Source. A instruo calcula o
valor absoluto de Source e coloca o valor em Dest, que se torna o parmetro de entrada para
function_block_C.

Publicao 1756-RM003D-PT-P - Junho 2001


5-32 Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 6

Instrues de Movimentao/Lgica
(MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Introduo As instrues de movimentao modificam e movem bits.

Se voc quiser: Use esta instruo: Consulte


pgina:
copiar um valor MOV 6-2
copiar uma parte especfica de um inteiro MVM 6-4
copiar uma parte especfica de um inteiro no MVMT 6-7
bloco de funo
mover bits dentro de um inteiro ou BTD 6-10
entre inteiros
movimentar bits dentro de um inteiro ou BTDT 6-13
entre inteiros no bloco de funo
zerar um valor CLR 6-16

As instrues de lgica realizam operaes de lgica nos bits.

Se voc quiser realizar uma: Use esta instruo: Consulte


pgina:
operao bitwise AND AND 6-17
operao bitwise OR OR 6-21
operao bitwise, exclusive OR XOR 6-25
operao bitwise NOT NOT 6-29

possvel misturar tipos de dados, mas podem ocorrer perda de


preciso e erros de arredondamentos e a instruo demora mais
tempo para executar. Verifique o bit S:V para observar se o resultado
foi truncado.

Para instrues de lgica lgica ladder, os tipos de dados em negrito


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

1 Publicao 1756-RM003D-PT-P - Junho 2001


6-2 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Movimentao (MOV) Linguagens Disponveis:

Lgica Ladder

A instruo MOV copia Source em Destination. Source permanece


inalterado.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor a ser movido (copiar)
INT tag
DINT
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Descrio: A instruo MOV copia Source em Destination. Source permanece


inalterado.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 A instruo copia Source em Destination.
A sada da condio da linha definida como verdadeira.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-3

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo MOV copia os dados de value_1 para value_2.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


6-4 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Movimentao Mascarada Linguagens Disponveis:

(MVM)
Lgica Ladder

A instruo MVM copia Source em Destination e permite que parte


dos dados sejam mascarados.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor a ser movido
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Mask SINT imediato quais bits devem ser bloqueados ou
INT tag podem passar
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag tag para armazenar o resultado
INT
DINT

Operandos do Bloco de Esta instruo est disponvel no bloco de funo como MVMT,
Funo: consulte a pgina 6-7.

Descrio: Quando habilitada, a instruo MVM usa uma Mscara para deixar
passar ou bloquear os bits de dados em Source. Um 1 na mscara
significa que o bit de dados passou. Um 0 na mscara significa que
o bit de dados foi bloqueado.

Se houver uma mistura dos tipos de dados de inteiros, a instruo


preencher os bits mais significativos dos tipos de dados de inteiros
menores com 0s, de forma que fiquem com o mesmo tamanho dos
tipos de dados maiores.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-5

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.

Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 A instruo passa o valor de Source pela Mscara e copia o resultado em Destination.
Os bits no mascarados em Destination permanecem inalterados.
A sada da condio da linha definida como verdadeira.

Publicao 1756-RM003D-PT-P - Junho 2001


6-6 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo MVM copia os dados de value_a para value_b, e permite, ao mesmo tempo, que os dados sejam mascarados (um

value_b antes da instruo 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


MVM

value_a 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

mask_2 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

value_b depois da instruo 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1


MVM

As caixas sombreadas mostram os bits alterados em value_b.

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como MVMT,
Funo: consulte a pgina 6-7.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-7

Movimentao Mascarada Linguagens Disponveis:

com Target (MVMT)


Bloco de Funo

A instruo MVMT primeiro copia Target para Destination. Em


seguida, a instruo compara Source mascarado com Destination e
efetua as alteraes solicitadas para Destination. O Target e o Source
permanecem inalterados.

Operandos de Lgica Esta instruo est disponvel em lgica de ladder a rel como MVM,
Ladder: consulte a pgina 6-4.

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MASKED_MOVE estrutura estrutura MVMT

Estrutura: Parmetros de entrada

Parmetro Tipo de Dados: Descrio:


de Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so atualizadas.
o valor inicial definido
Source DINT Insira o valor para movimentar para Destination baseado no valor da Mscara.
vlido = qualquer inteiro
Mask DINT Mscara de bits para movimentar de Source para Dest. Todos os bits definidos como um fazem com
que os bits correspondentes se movimentem de Source para Dest. Todos os bits definidos como zero
fazem com que os bits correspondentes se movimentem de Source para Dest.
vlido = qualquer inteiro
Target DINT Insira o valor para se movimentar para Dest antes de mover os bits Source atravs da Mscara.
vlido = qualquer inteiro

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da instruo de movimentao mascarada. Os flags de status aritmtico so
energizados para esta sada.

Publicao 1756-RM003D-PT-P - Junho 2001


6-8 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Descrio: Quando habilitada, a instruo MVMT usa uma Mscara para passar
ou bloquear os bits de dados Source. Um 1 na mscara significa que
o bit de dados passou. Um 0 na mscara significa que o bit de dados
foi bloqueado.

Se houver uma combinao de tipos de dados de inteiros, a instruo


preencher os bits mais significativos dos tipos de dados de inteiros
menores com 0s, de forma que fiquem com o mesmo tamanho dos
tipos de dados maiores.

Insero de um valor de mscara imediato usando uma


Referncia de Entrada

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.

Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica Esta instruo est disponvel em lgica ladder como MVM, consulte a
Ladder: pgina 6-4.

Execuo 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 executa.
EnableOut energizado.

Exemplo do Bloco de
Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-9

function_block_A

function_block_C

function_block_B

Etapa 1
O controlador copia Target para Dest.

Target 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Dest 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Etapa 2
A instruo mascara Source e o compara a Dest. Todas as alteraes solicitadas so feitas em Dest, que se torna o parmetro de entrada para
function_block_C. O Source e o Target se mantm inalterados. Um 0 na mscara impede que a mscara compare aquele bit (mostrado por x no
exemplo).
.

Source 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Mask1 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

Dest 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1

As caixas sombreadas mostram os bits que foram alterados.

Publicao 1756-RM003D-PT-P - Junho 2001


6-10 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Distribuio do Campo do Linguagens Disponveis:

Bit (BTD)
Lgica Ladder

A instruo BTD copia os bits especificados de Source, muda os bits


para a posio adequada e escreve os bits em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato tag que contm os bits a serem
INT tag movimentados
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Bit Source DINT imediato nmero do bit (nmero do bit menos
(0-31 DINT) significativo) onde a movimentao
(0-15 INT) foi iniciada
(0-7 SINT) deve estar dentro da faixa vlida de
tipos de dados Source
Destination SINT tag tag para onde os bits sero movidos
INT
DINT
Bit de Destino DINT imediato o nmero do bit (nmero de bit menos
(0-31 DINT) significativo) a partir de onde se inicia
(0-15 INT) a cpia de bits de Source
(0-7 SINT) deve estar dentro da faixa vlida de
tipos de dados Destination
Length DINT imediato (1-32) nmero de bits a ser movido

Operandos do Bloco de Esta instruo est disponvel no bloco de funo como BTDT,
Funo: consulte a pgina 6-13.

Descrio: Quando habilitada, a instruo BTD copia um grupo de bits de Source para
Destination. O grupo de bits identificado pelo bit de Source (nmero de
bit menos significativo do grupo) e o Comprimento (nmero de bits a
serem copiados). O bit de Destination identifica o nmero de bit menos
significativo para iniciar em Destination. Source permanece inalterado.

Se o comprimento do campo do bit ultrapassar Destination, a instruo no


salvar os bits extras. Qualquer bit extra no d seqncia prxima palavra.

Se houver uma mistura dos tipos de dados de inteiros, a instruo preencher


os bits mais significativos dos tipos de dados de inteiros menores com 0s, de
forma que fiquem com o mesmo tamanho dos tipos de dados maiores.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-11

Execuo de Lgica
Ladder:

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 A instruo copia e muda os bits de Source para Destination.
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:
exemplo 1

Quando habilitada, a instruo BTD movimenta os


bits dentro de value_1.

Bit Destination Bit Source

value_1 antes da instruo 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0


BTD

value_1 depois da instruo 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


BTD

As caixas sombreadas mostram os bits alterados em value_1.

exemplo 2

Quando habilitada, a instruo BTD move 10 bits de


value_1 para value_2.

Publicao 1756-RM003D-PT-P - Junho 2001


6-12 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Bit Source

value_1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Bit de Destino

value_2 antes da 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
instruo BTD

value_2 depois da 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
instruo BTD

As caixas sombreadas mostram os bits que foram alterados em value_2.

Execuo do Bloco de Esta instruo est disponvel no bloco de funo como BTDT,
Funo: consulte a pgina 6-13.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-13

Distribuio do Campo do Linguagens Disponveis:

Bit com Target (BTDT)


Bloco de Funo

A instruo BTDT primeiro copia Target para Destination. Ento a


instruo copia os bits especficos do source, muda os bits para a
posio apropriada e os escreve em Destination. O Target e o Source
se mantm inalterados.

Operandos de Lgica Esta instruo est disponvel em lgica ladder como BTD, consulte a
Ladder: pgina 6-10.

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_BIT_FIELD_DISTRIBUTE estrutura estrutura BTDT

Estrutura: Parmetros de entrada

Parmetro Tipo de Dados: Descrio:


de Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so atualizadas.
o valor inicial definido
Source DINT Insira o valor que contm os bits a serem movidos para Destination.
vlido = qualquer inteiro
SourceBit DINT A posio do bit em Source (menor nmero de bit de onde se comea a movimentar).
vlido = 0-31
Length DINT Nmero de bits a movimentar
vlido = 1-32
DestBit DINT A posio do bit em Dest (menor nmero para onde se inicia a cpia dos bits).
vlido = 0-31
Target DINT Insira o valor para movimentar para Dest antes de movimentar bits de Source.
vlido = qualquer inteiro

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da operao da movimentao do bit. Os flags de status aritmtico so
energizados para esta sada.

Publicao 1756-RM003D-PT-P - Junho 2001


6-14 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Descrio: Quando habilitada, a instruo BTD copia um grupo de bits de Source


para Destination. O grupo de bits identificado pelo bit de Source
(nmero de bit menos significativo do grupo) e o Comprimento
(nmero de bits a serem copiados). O bit de Destination identifica o
nmero de bit menos significativo para iniciar em Destination. Source
permanece inalterado.

Se o comprimento do campo do bit ultrapassar Destination, a


instruo no salvar os bits extras. Qualquer bit extra no d
seqncia prxima palavra.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados

Condies de Falha: nenhuma

Execuo de Lgica Esta instruo est disponvel em lgica ladder como BTD, consulte a
Ladder: pgina 6-10.

Execuo 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 executa.
EnableOut energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-15

Exemplo do Bloco de
Funo:
function_block_A

function_block_C

function_block_B

function_block_D

Etapa 1
O controlador copia Target para Dest.

Target 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0

Dest 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0

Etapa 2
O SourceBit e o Length especificam que bits no Source devem ser copiados em Dest, comeando por DestBit. O Source e o Target se mantm
inalterados. O Dest alterado se torna o parmetro de entrada para function_block_C.
DestBit SourceBit

Source 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0

Dest 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

As caixas sombreadas mostram os bits que foram alterados.

Publicao 1756-RM003D-PT-P - Junho 2001


6-16 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Zeramento (CLR) Linguagens Disponveis:

Lgica Ladder

A instruo CLR zera todos os bits de Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Destination SINT tag tag a ser zerado
INT
DINT
REAL

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Descrio: A instruo CLR zera todos os bits de Destination.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:
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 A instruo zera Destination.
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo CLR zera todos os bits de value_1.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-17

Bitwise AND (AND) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo AND realiza uma operao bitwise AND usando os bits


em Source A e Source B e coloca o resultado no Destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor para AND com Source B
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Source B SINT imediato valor para AND com Source A
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_LOGICAL estrutura estrutura AND

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so atualizadas.
o valor inicial definido
SourceA DINT Valor para AND com SourceB.
vlido = qualquer inteiro
SourceB DINT Valor para AND com SourceA.
vlido = qualquer inteiro

Publicao 1756-RM003D-PT-P - Junho 2001


6-18 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da instruo. Os flags de status aritmtico so energizados para esta sada.

Descrio: Quando habilitada, a instruo avalia a operao AND

Se o bit em E o bit em O bit em Destination


Source A for: Source B for: ser:
0 0 0
0 1 0
1 0 0
1 1 1

Se houver uma combinao de tipos de dados de inteiros, a instruo


preencher os bits mais significativos dos tipos de dados de inteiros
menores com 0s, de forma que fiquem com o mesmo tamanho dos
tipos de dados maiores.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 A instruo realiza uma operao bitwise AND.
A sada da condio da linha definida como verdadeira.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-19

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo AND realiza uma operao de bitwise AND em value_1 e value_2
e coloca o resultado em value_result_and.

value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

value_result_and 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Execuo 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 executa.
EnableOut energizado.

Exemplo do Bloco de
Funo

Publicao 1756-RM003D-PT-P - Junho 2001


6-20 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

function_block_C

Quando habilitada, a instruo AND logicamente junta (AND) SourceA e SourceB. A instruo
coloca o resultado em Dest, que se torna um parmetro de entrada para function_block_C.

SourceA 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

SourceB 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

Dest 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-21

Bitwise OR (OR) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo OR realiza uma operao bitwise OR usando os bits em


Source A e Source B e coloca o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor para OR com Source B
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Source B SINT imediato valor para OR com Source A
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_LOGICAL estrutura estrutura OR

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
SourceA DINT Valor para OR com SourceB.
vlido = qualquer inteiro
SourceB DINT Valor para OR com SourceA.
vlido = qualquer inteiro

Publicao 1756-RM003D-PT-P - Junho 2001


6-22 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da instruo. Os flags de status aritmtico so energizados para esta sada.

Descrio: Quando habilitada, a instruo avalia a operao OR

Se o bit em E o bit em O bit em Destination


Source A for: Source B for: ser:
0 0 0
0 1 1
1 0 1
1 1 1

Se houver uma combinao de tipos de dados de inteiros, a instruo


preencher os bits mais significativos dos tipos de dados de inteiros
menores com 0s, de forma que fiquem com o mesmo tamanho dos
tipos de dados maiores.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 A instruo realiza uma operao bitwise OR.
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo OR realiza uma operao de bitwise OR em value_1 e value_2 e


coloca o resultado em value_result_or.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-23

value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

value_result_or 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1

Execuo 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 executa.
EnableOut energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


6-24 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Exemplo do Bloco de
Funo:

function_block_C

Quando habilitada, a instruo OR realiza uma operao lgica OR de SourceA e SourceB. A instruo
coloca o resultado em Dest, que se torna um parmetro de entrada para function_block_C.

SourceA 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

SourceB 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

Dest 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-25

Bitwise Exclusive OR (XOR) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo XOR realiza uma operao bitwise XOR usando os bits em


Source A e Source B e coloca o resultado no Destino.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor para XOR com Source B
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Source B SINT imediato valor para XOR com Source A
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_LOGICAL estrutura estrutura XOR

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
SourceA DINT Valor para XOR com SourceB.
vlido = qualquer inteiro
SourceB DINT Valor para XOR com SourceA.
vlido = qualquer inteiro

Publicao 1756-RM003D-PT-P - Junho 2001


6-26 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da instruo. Os flags de status aritmticos so energizados para esta sada.

Descrio: Quando habilitada, a instruo avalia a operao XOR

Se o bit em E o bit em O bit em


Source A for: Source B for: Destination
ser:
0 0 0
0 1 1
1 0 1
1 1 0

Se houver uma combinao de tipos de dados de inteiros, a instruo


preencher os bits mais significativos dos tipos de dados de inteiros
menores com 0s, de forma que fiquem com o mesmo tamanho dos
tipos de dados maiores.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 A instruo realiza uma operao bitwise OR.
A sada da condio da linha definida como verdadeira.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-27

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo XOR realiza uma operao de bitwise XOR em value_1 e value_2
e coloca o resultado em value_result_xor.

value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

value_2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

value_result_xor 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1

Execuo 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 executa.
EnableOut energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


6-28 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Exemplo do Bloco de
Funo:

function_block_C

Quando habilitada, a instruo XOR executa um OR exclusivo em SourceA e SourceB. A instruo coloca
o resultado em Dest, que se torna o parmetro de entrada para function_block_C.

SourceA 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

SourceB 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

Dest 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-29

Bitwise NOT (NOT) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo NOT realiza uma operao bitwise NOT usando os bits


em Source e coloca o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor para NOT
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_CONVERT estrutura estrutura NOT

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
EnableIn BOOL Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so
atualizadas.
o valor inicial definido
Source DINT Valor para NOT.
vlido = qualquer inteiro

Parmetros de sada

Parmetro de Sada: Tipo de Dados: Descrio:


EnableOut BOOL A instruo produziu um resultado vlido.
Dest DINT Resultado da instruo. Os flags de status aritmtico so energizados para esta sada.

Publicao 1756-RM003D-PT-P - Junho 2001


6-30 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Descrio: Quando habilitada, a instruo avalia a operao NOT

Se o bit em O bit em Destination


Source for: ser:
0 1
1 0

Se houver uma combinao de tipos de dados de inteiros, a instruo


preencher os bits mais significativos dos tipos de dados de inteiros
menores com 0s, de forma que fiquem com o mesmo tamanho dos
tipos de dados maiores.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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 A instruo realiza uma operao bitwise NOT.
A sada da condio da linha definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo NOT realiza uma operao de bitwise NOT em value_1 e coloca o
resultado em value_result_not.

value_1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

value_result_not 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT) 6-31

Execuo 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 executa.
EnableOut energizado.

Exemplo do Bloco de
Funo:

function_block_C

Quando energizada, a instruo NOT complementa o Source. A instruo coloca o resultado em


Dest, que se torna o parmetro de entrada para function_block_C.

Source 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1

Dest 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0

Publicao 1756-RM003D-PT-P - Junho 2001


6-32 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 7

Instrues Array (File/Miscellaneous)


(FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Introduo As instrues de arquivo/diversos operam nas matrizes de dados.

Se voc quiser: Use esta instruo: Consulte


pgina:
realizar operaes de funo, desvio, lgica e FAL 7-7
aritmtica nos valores de matrizes
buscar e comparar valores em matrizes FSC 7-20
copiar o contedo de uma matriz para COP 7-32
outra matriz
copiar o contedo de uma matriz para CPS 7-32
outra matriz sem interrupo
preencher uma matriz com dados especficos FLL 7-37
calcular a mdia de uma matriz de valores AVE 7-41
classificar uma dimenso de dados da matriz SRT 7-45
em ordem crescente
calcular o desvio padro de uma matriz de STD 7-49
valores
encontrar o tamanho de uma dimenso de SIZE 7-53
uma matriz

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.

1 Publicao 1756-RM003D-PT-P - Junho 2001


7-2 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Seleo do Modo de Para as instrues FAL e FSC, o modo informa o controlador sobre
como distribuir a operao de matriz.
Operao
Se voc quiser: Selecione este
modo:
operar em todos os elementos especificados em uma All (Todos)
matriz antes de prosseguir para a prxima instruo
distribuir a operao de matriz em vrias varreduras Numerical
inserir o nmero de elementos para operar por varredura (Numrico)
(1-2147483647)
manipular um elemento da matriz cada vez que a entrada Incremental
da condio da linha passa de falsa para verdadeira (Incremento)

Modo All (Todos)

No modo All, todos os elementos especificados na matriz so


operados antes de prosseguir para a prxima instruo. A operao
comea quando a entrada da condio da linha da instruo passa de
falsa para verdadeira. O valor de posio (.POS) na estrutura de
controle indica o elemento na matriz que a instruo est usando
atualmente. A operao pra quando o valor .POS for igual ao valor
.LEN.

Matriz de dados uma varredura

16639

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-3

O diagrama de temporizao a seguir mostra a relao entre os bits de


status e a operao da instruo. Quando a execuo da instruo
estiver completa, o bit .DN ser energizado. O bit .DN, o bit .EN e o
valor .POS so zerados quando a entrada da condio da linha se
torna falsa. Somente aps isto que outra execuo da instruo
pode ser disparada por uma transio de falsa para verdadeira da
entrada da condio da linha.

uma
varredura

entrada da condio da linha

bit .EN

bit DN
zerar os bits de status e
zerar o valor .POS

varredura da instruo

operao completa nenhuma execuo ocorre 40010

Modo Numerical (numrico)

O modo Numerical distribui a operao de matriz em vrias


varreduras. Esse modo til quando se trabalha com dados crticos
no temporizados ou um grande volume de dados. necessrio
inserir o nmero de elementos para operar para cada varredura, o que
mantm o tempo de varredura menor.

A execuo disparada quando a entrada da condio da linha passa


de falsa para verdadeira. Aps o disparo, a instruo executada cada
vez que se realiza a varredura na mesma para o nmero de varreduras
necessrias para completar a operao em toda a matriz. Aps o

Publicao 1756-RM003D-PT-P - Junho 2001


7-4 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

disparo, a entrada da condio da linha pode se alterar repetidamente


sem interromper a execuo da instruo.

uma varredura

segunda varredura

prxima varredura

16641

IMPORTANTE Evite usar os resultados de uma instruo de arquivo


operando no modo numrico at que o bit .DN fique
energizado.

O diagrama de temporizao a seguir mostra a relao entre os bits de


status e a operao da instruo. Quando a execuo da instruo
estiver completa, o bit .DN ser energizado.

a linha se torna verdadeira na concluso a linha se torna falsa na concluso

varreduras mltiplas varreduras mltiplas

entrada da condio da linha

bit .EN

bit DN

varredura da instruo

operao completa operao completa 40013

zera os bits de status zera os bits de status


e zera o valor .POS e zera o valor .POS

Se a entrada da condio da linha se tornar verdadeira na concluso,


os bits .DN e .ER so energizados at que a entrada da condio da
linha se torne falsa. Quando a entrada da condio da linha se torna
falsa, esses bits so zerados e o valor .POS desenergizado.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-5

Se a entrada da condio da linha for falsa na concluso, o bit .EN


ser zerado imediatamente. Uma varredura depois que o bit .EN
desenergizado, o bit .DN e o valor .POS so zerados.

Modo Incremental (incremento)

O modo Incremental manipula um elemento da matriz cada vez que a


entrada da condio da linha da instruo passa de falsa para
verdadeira.

1a. instruo habilitada


2a. instruo habilitada
3a. instruo habilitada

ltima instruo habilitada

16643

O diagrama de temporizao a seguir mostra a relao entre os bits de


status e a operao da instruo. A execuo ocorre somente em uma
varredura na qual a entrada da condio da linha passa de falsa para
verdadeira. Cada vez que isso ocorre, apenas um elemento da matriz
manipulado. Se a entrada da condio da linha permanecer

Publicao 1756-RM003D-PT-P - Junho 2001


7-6 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

verdadeira durante mais de uma varredura, a instruo executa


somente durante a primeira varredura.

uma
varredura

entrada da condio da linha

bit .EN

bit DN

40014
varredura da instruo

operao zerar os bits de status


completa e zerar o valor .POS

O bit .EN energizado quando a entrada da condio da linha se


torna verdadeira. O bit .DN energizado quando o ltimo elemento
na matriz for manipulado. Quando o ltimo elemento for manipulado
e a entrada da condio da linha se tornar falsa, o bit .EN, o bit .DN e
o valor .POS so removidos.

A diferena entre o modo Incremental e o modo Numerical a uma


taxa de um elemento por varredura :

O modo Numerical com qualquer nmero de elementos por


varredura requer somente uma transio de falsa para
verdadeira da entrada da condio da linha para iniciar a
execuo. A instruo continua a executar o nmero
especificado de elementos a cada varredura at a concluso,
independente do estado da entrada da condio da linha.

O modo Incremental requer que a entrada da condio da linha


da instruo passe de falsa para verdadeira para manipular um
elemento na matriz.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-7

Arquivamento Aritmtico e Linguagens Disponveis:

Lgico (FAL)
lgica Ladder

A instruo FAL realiza as operaes de cpia, aritmtica, lgica e


funo nos dados armazenados em uma matriz.

Operandos de Lgica
Ladder:
Operando: Tipo: Formato: Descrio:
Control CONTROL tag estrutura de controle para a operao
Length DINT imediato nmero de elementos na matriz a
serem manipulados
Position DINT imediato elemento atual na matriz
valor inicial normalmente 0
Mode DINT imediato como distribuir a operao
selecione INC, ALL ou insira um
nmero
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL
Expresso SINT imediato tag uma expresso composta por tags
INT e/ou valores imediatos separados por
DINT operadores
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.EN BOOL O bit habilitado indica que a instruo FAL est habilitada.
.DN BOOL O bit Executado energizado quando a instruo operou no ltimo elemento (.POS = .LEN).
.ER BOOL O bit de Erro energizado se a expresso gera um overflow (S:V energizado). A instruo
pra a execuo at que o programa zere o bit .ER. O valor .POS contm a posio do
elemento que provocou o overflow.
.LEN DINT O comprimento especifica o nmero dos elementos na matriz na qual a instruo FAL opera.
.POS DINT A posio contm a posio do elemento atual que a instruo est acessando.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: A instruo FAL realiza as mesmas operaes nas matrizes conforme a


instruo CPT realiza as operaes dos elementos.

Publicao 1756-RM003D-PT-P - Junho 2001


7-8 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Os exemplos que comeam na pgina 7-15 mostram como usar o


valor .POS para entrar em uma matriz. Se o subscrito na expresso de
Destination est fora da faixa, a instruo FAL gera uma falha grave
(tipo 4, cdigo 20).

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


subscrito est fora da faixa 4 20
.POS < 0 ou .LEN < 0 4 21

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-9

Execuo de Lgica
Ladder:

Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.

entrada da condio da linha for falsa

bit .DN = 0 no
examinar bit .DN modo INC bit interno desenergizado

bit .DN = 1 sim

no .LEN < 0 ou sim


bit .EN desenergizado bit .EN desenergizado modo ALL falha grave
.POS < 0
bit .ER desenergizado
bit .DN desenergizado
valor .POS sim no
desenergizado

.POS = .POS + 1

sim
.LEN = 0

no
sim
.POS = 0

no
no .POS < .LEN

.POS = .POS 1 sim

no
modo .LEN>
bit .DN energizado
bit .EN energizado
sim

modo .LEN>
bit .DN energizado
bit .EN
desenergizado

modo
numrico
pgina 7-14

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


7-10 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Condio: Ao:

entrada da condio da linha for verdadeira

.LEN < 0 ou sim pgina7-14


.POS < 0 falha grave
bit .ER = 0 modo
examinar bit .ER numrico
no

bit .ER = 1 bit .DN = 0 no

no no
examinar bit .DN .LEN = 0 modo INC modo ALL

bit .DN = 1 sim sim sim

bit .DN energizado


bit .EN energizado modo modo
INC ALL

pgina 7-12 pgina 7-13


comum

loop_count =
loop_count 1

no
loop_count < 0 .POS = .POS + 1

sim
avaliar a expresso

no
examine S:V

sim

.POS = .POS + 1 bit .ER energizado

no
.POS = .LEN

sim

bit .DN energizado


.POS = .POS + 1
bit .EN energizado

sada da condio da linha


definida como verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-11

Condio: Ao:

modo
INC

bit .EN = 1
examinar bit .EN

bit .EN = 0

bit = 1
examinar .POS = .POS + 1
bit interno

bit = 0

bit interno energizado

sim sim
.POS .LEN .POS = 0

no no

bit .EN energizado .POS = .POS 1


loop_count = 1
.POS = .POS 1

bit .DN energizado


bit .EN energizado

sada da condio da linha


comum definida como verdadeira
pgina 7-11

fim

Publicao 1756-RM003D-PT-P - Junho 2001


7-12 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Condio: Ao:

modo
ALL

bit .EN = 0 bit = 1


examinar
examinar bit .EN bit interno

bit .EN = 1 bit = 0

.POS = .POS + 1 bit .EN energizado

sim sim
.POS .LEN .POS = 0

no no

loop_count = .LEN .POS .POS = .POS 1


.POS = .POS 1

bit .DN energizado sada da condio da linha


bit .EN energizado definida como verdadeira
comum

pgina 7-11
fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-13

Condio: Ao:

modo
numrico

bit .EN = 1
examinar bit .EN

bit .EN = 0

.POS = .POS + 1

bit = 1
examinar
bit interno

bit = 0

bit interno energizado

sim sim
.POS .LEN .POS = 0

no no

.POS = .POS 1
no
modo .LEN> modo .LEN

sim

bit .DN energizado sada da condio da linha


bit .EN energizado definida como verdadeira
bit .EN energizado
loop_count = .LEN .POS
.POS = .POS 1

fim

modo sim
loop_count comum

pgina 7-11
no

bit .EN energizado


loop_count = mode

Publicao 1756-RM003D-PT-P - Junho 2001


7-14 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Exemplo de Lgica
Ladder:
cpia de matriz para matriz
Quando habilitada, a instruo FAL copia cada elemento de
array_2 na mesma posio dentro de array_1.

Expresso Destination
array_2[control_2.pos] array_1[control_2.pos]

cpia de elemento para matriz

Quando habilitada, a instruo FAL copia value_1 nas primeiras 10


posies da segunda dimenso de array_2.

Expresso Destination
value_1 array_2[0,control_2.pos]

cpia de matriz para elemento

Cada vez que a instruo FAL habilitada, ela copia o valor atual de
array_1 em value_1. A instruo FAL usa o modo de incremento, de
forma que somente um valor da matriz copiado cada vez que a
instruo habilitada. Na prxima vez em que a instruo habilitada,
ela sobrescreve value_1 sobre o prximo valor em array_1.

Expresso Destination
array_1[control_1.pos] value_1

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-15

operao aritmtica: (matriz/matriz) para matriz

Quando habilitada, a instruo FAL divide o valor da


posio atual de array_2 pelo valor da posio atual
de array_3 e armazena o resultado na posio atual
de array_1.

Expresso Destination
array_2[control_2.pos] / array_3[control_2.pos] array_1[control_2.pos]

operao aritmtica: (elemento + elemento) para matriz

Quando habilitada, a instruo FAL adiciona value_1 e value_2 e armazena o


resultado na posio atual de array_1.

Expresso Destination
value_1 + value_2 array_1[control_1.pos]

operao aritmtica: (matriz + elemento) para matriz

Quando habilitada, a instruo FAL adiciona o valor da posio atual


de array_1 com value_1 e armazena o resultado na posio atual de
array_3. A instruo deve ser executada 10 vezes para que array_1 e
array_3 sejam totalmente manipulados.

Expresso Destination
array_1[control_1.pos] + value_1 array_3[control_1.pos]

Publicao 1756-RM003D-PT-P - Junho 2001


7-16 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

operao aritmtica: (elemento + matriz) para elemento

Cada vez que a instruo FAL habilitada, ela adiciona value_1 ao


valor atual de array_1 e armazena o resultado na posio atual de
value_2. A instruo FAL usa o modo de incremento de forma que
somente um valor da matriz seja adicionado a value_1 cada vez que a
instruo habilitada.1 A prxima vez que a instruo habilitada, a
instruo sobrescreve value_2.

Expresso Destination
value_1 + array_1[control_1.pos] value_2

operao aritmtica: (matriz matriz) para elemento

Quando habilitada, a instruo FAL multiplica o valor


atual de array_1 pelo valor atual de array_3 e armazena o
resultado em value_1. A instruo FAL usa o modo de
incremento de forma que somente um par de valores da
matriz seja multiplicado cada vez que a instruo
habilitada.1 A prxima vez que a instruo habilitada, a
instruo sobrescreve value_1.

Expresso Destination
array_1[control_1.pos] * array_3[control_1.pos] value_1

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-17

Expresses FAL

As expresses das instrues FAL so programadas da mesma forma


que as expresses nas instrues CPT. Use as sees a seguir para
mais informaes sobre operadores vlidos, formato e seqncia de
operao que so comuns nas duas instrues.

Operadores vlidos

Operador: Descrio: timo: Operador: Descrio: timo:


+ adio DINT, REAL LN natural log REAL
subtrao/negativo DINT, REAL LOG logaritmo na base de REAL
10
* multiplicao DINT, REAL
MOD mdulo-diviso DINT, REAL
/ diviso DINT, REAL
NOT bitwise complemento DINT
** expoente DINT, REAL
(x elevado a y) OR bitwise OR DINT
ABS valor absoluto DINT, REAL RAD graus para radianos DINT, REAL
ACS arco co-seno REAL SIN seno REAL
AND bitwise AND DINT SQR raiz quadrada DINT, REAL
ASN arco seno REAL TAN tangente REAL
ATN arco tangente REAL TOD inteiro para BCD DINT
COS co-seno REAL TRN truncado DINT, REAL
DEG radianos para graus DINT, REAL XOR bitwise exclusivo OR DINT
FRD BCD para inteiro DINT

Publicao 1756-RM003D-PT-P - Junho 2001


7-18 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Expresses de formatao

Para cada operador usado em uma expresso, necessrio fornecer


um ou dois operandos (tags ou valores imediatos). Use a tabela a
seguir para formatar operadores e operandos dentro de uma
expresso:

Para operadores Use esse formato: Exemplos:


que operam com:
um operando operador (operando) ABS(tag_a)
dois operandos operand_a operator operand_b tag_b + 5
tag_c AND tag_d
(tag_e ** 2) MOD
(tag_f / tag_g)

Determinao da seqncia de operao

As operaes gravadas na expresso so realizadas pela instruo em


uma seqncia prescrita, no necessariamente na seqncia em que
foram gravadas. possvel suprimir a seqncia da operao
agrupando-se os termos dentro de parnteses, forando a instruo
para realizar uma operao dentro dos parnteses, antes de outras
operaes.

Operaes com seqncia igual so realizadas da esquerda para a


direita.

Seqncia: Operao:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. (negativo), NOT
5. *, /, MOD
6. (subtrao), +
7. AND
8. XOR
9. OR

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-19

Comparao e Busca de Linguagens Disponveis:

Arquivo (FSC)
Lgica Ladder

A instruo FSC compara valores em uma matriz, elemento por


elemento.

Operandos de Lgica
Ladder:
FSC
Operando: Tipo: Formato: Descrio:
File Search/Compare EN
Control ? DN Control CONTROL tag estrutura de controle para a operao
Length ? ER
Position ? Length DINT imediato nmero de elementos na matriz a
Mode ? serem manipulados
Expression ?
Position DINT imediato offset na matriz
42577 valor inicial normalmente 0
Mode DINT imediato como distribuir a operao
selecione INC, ALL ou insira um
nmero
Expresso SINT imediato uma expresso composta por tags
INT tag e/ou valores imediatos separados por
DINT operadores
REAL
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.EN BOOL O bit habilitado indica que a instruo FSC est habilitada.
.DN BOOL O bit Executado energizado quando a instruo operou no ltimo elemento
(.POS = .LEN).
.ER BOOL O bit de erro no modificado.
.IN BOOL O bit inibido indica que a instruo FSC detectou uma comparao verdadeira. necessrio
zerar esse bit para continuar a operao de busca.
.FD BOOL O bit encontrado indica que a instruo FSC detectou uma comparao verdadeira.
.LEN DINT O comprimento especifica o nmero dos elementos na matriz na qual a instruo opera.
.POS DINT A posio contm a posio do elemento atual que a instruo est acessando.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


7-20 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Descrio: Quando a instruo FSC habilitada e a comparao verdadeira, a


instruo energiza o bit .FD e o bit .POS reflete a posio da matriz
onde a instruo encontrou a comparao verdadeira. A instruo
energiza o bit .IN para evitar outra busca.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


.POS < 0 ou .LEN < 0 4 21

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-21

Execuo de Lgica
Ladder:

Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.

entrada da condio da linha for falsa

bit .DN = 0 no
examinar bit .DN modo INC bit interno desenergizado

bit .DN = 1 sim

no .LEN < 0 ou sim


bit .EN desenergizado modo ALL falha grave
bit .EN desenergizado .POS < 0
bit .ER desenergizado
bit .DN desenergizado
valor .POS desenergizado sim no

.POS = .POS + 1

sim
.LEN = 0

no
sim
.POS = 0

no
no .POS < .LEN

.POS = .POS 1 sim

no
modo .LEN>
bit .DN energizado
bit .EN energizado
sim

modo .LEN>
bit .DN energizado
bit .EN
desenergizado

modo
numrico
pgina 7-14

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


7-22 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Condio: Ao:

entrada da condio da linha for verdadeira

.LEN < 0 ou sim pgina 7-27


.POS < 0 falha grave
bit .ER = 0 modo
examinar bit .ER numrico
no

bit .ER = 1 bit .DN = 0 no

no no
examinar bit .IN .LEN = 0 modo INC modo ALL
bit .DN = 1
bit .IN = 0 sim sim sim

bit .DN energizado


bit .EN energizado modo modo
INC ALL
examinar bit .DN
bit .DN = 1 pgina 7-26
pgina 7-25
comum

bit .DN = 0

loop_count =
loop_count 1

no
loop_count < 0 .POS = .POS + 1

sim
avaliar comparao

no
correspondncia

sim

.POS = .POS + 1 bit .EN energizado


bit .FD energizado
bit .IN energizado

no
.POS = .LEN

sim

bit .DN energizado


.POS = .POS + 1
bit .EN energizado

sada da condio da linha


definida como

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-23

Condio: Ao:

modo
INC

bit .EN = 1
examinar bit .EN

bit .EN = 0

bit = 1
examinar .POS = .POS + 1
bit interno

bit = 0

bit interno energizado

sim sim
.POS .LEN .POS = 0

no no

bit .EN energizado .POS = .POS 1


loop_count = 1
.POS = .POS 1

bit .DN energizado


bit .EN energizado
sada da condio da linha
comum definida como verdadeira

pgina 7-24

fim

Publicao 1756-RM003D-PT-P - Junho 2001


7-24 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Condio: Ao:

modo
ALL

bit .EN = 0 bit = 1


examinar
examinar bit .EN bit interno

bit .EN = 1 bit = 0

.POS = .POS + 1 bit .EN energizado


bit .FD desenergizado

sim sim
.POS .LEN .POS = 0

no no

loop_count = .LEN .POS .POS = .POS 1


.POS = .POS 1

bit .DN energizado sada da condio da linha


bit .EN energizado definida como verdadeira
comum

pgina 7-24
fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-25

Condio: Ao:

modo
numrico

bit .EN = 1
examinar bit .EN

bit .EN = 0

.POS = .POS + 1

bit = 1
examinar
bit interno

bit = 0

bit interno energizado

sim sim
.POS .LEN .POS = 0

no no

no .POS = .POS 1
modo .LEN> modo .LEN

sim

bit .DN energizado sada da condio da linha


bit .EN energizado definida como verdadeira
bit .EN energizado
loop_count = .LEN .POS
bit .FD desenergizado
.POS = .POS 1
fim

modo sim
loop_count comum

pgina 7-24
no

bit .EN energizado


loop_count = mode

Publicao 1756-RM003D-PT-P - Junho 2001


7-26 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Exemplo de Lgica
Ladder:
exemplo 1
buscar uma correspondncia entre
duas matrizes

Quando habilitada, a instruo FSC compara cada um dos 10 primeiros elementos em array_1 com os elementos correspondentes em array_2.

array_1 array_2 control_3.pos

00000000000000000000000000000000 00000000000000000000000000000000 0
00000000000000000000000000000000 00000000000000000000000000000000 1
00000000000000000000000000000000 00000000000000000000000000000000 2
00000000000000000000000000000000 00000000000000000000000000000000 3 A instruo FSC descobre que esses
elementos no so iguais. A instruo
00000000000000001111111111111111 11111111111111110000000000000000 4 energiza os bits .FD e .IN. O valor .POS (4)
11111111111111111111111111111111 11111111111111111111111111111111 5 indica a posio dos elementos que so
diferentes. Para continuar a realizar a
11111111111111111111111111111111 11111111111111111111111111111111 6
comparao no restante da matriz, zere o
11111111111111111111111111111111 11111111111111111111111111111111 7 bit .IN.
11111111111111111111111111111111 11111111111111111111111111111111 8
11111111111111111111111111111111 11111111111111111111111111111111 9

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-27

exemplo 2
buscar uma correspondncia em uma
matriz

Quando habilitada, a instruo FSC compara MySearchKey com 10 elementos em array_1.

MySearchKey referncia control_3.pos

00000000000000000000000000000000 0
00000000000000000000000000000000 1
00000000000000000000000000000000 2
00000000000000000000000000000000 3
A instruo FSC descobre que esse
11111111111111110000000000000000 11111111111111110000000000000000 4 elemento da matriz igual a MySearchKey.
A instruo energiza os bits .FD e .IN. O
11111111111111111111111111111111 5
valor .POS (4) indica a posio dos
11111111111111111111111111111111 6 elementos iguais. Para continuar a realizar
11111111111111111111111111111111 7 a comparao no restante da matriz, zere o
bit .IN.
11111111111111111111111111111111 8
11111111111111111111111111111111 9

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Expresses FSC

As expresses das instrues FSC so programadas da mesma forma


que as expresses nas instrues CMP. Use as sees a seguir para
mais informaes sobre operadores vlidos, formato e seqncia de
operao que so comuns nas duas instrues.

Publicao 1756-RM003D-PT-P - Junho 2001


7-28 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Operadores vlidos

Operador: Descrio: timo: Operador: Descrio: timo:


+ adio DINT, REAL DEG radianos para graus DINT, REAL
subtrao/negativo DINT, REAL FRD BCD para inteiro DINT
* multiplicao DINT, REAL LN natural log REAL
/ diviso DINT, REAL LOG logaritmo na base de REAL
10
= igual DINT, REAL
MOD mdulo-diviso DINT, REAL
< menor do que DINT, REAL
NOT bitwise complemento DINT
<= menor ou igual a DINT, REAL
OR bitwise OR DINT
> maior do que DINT, REAL
RAD graus para radianos DINT, REAL
>= maior ou igual a DINT, REAL
SIN seno REAL
<> diferente de DINT, REAL
SQR raiz quadrada DINT, REAL
** expoente DINT, REAL
(x elevado a y) TAN tangente REAL
ABS valor absoluto DINT, REAL TOD inteiro para BCD DINT
ACS arco co-seno REAL TRN truncado DINT, REAL
AND bitwise AND DINT XOR bitwise exclusivo OR DINT
ASN arco seno REAL
ATN arco tangente REAL
COS co-seno REAL

Formatao das expresses

Para cada operador usado em uma expresso, necessrio fornecer


um ou dois operandos (tags ou valores imediatos). Use a tabela a
seguir para formatar operadores e operandos dentro de uma
expresso:

Para operadores Use esse formato: Exemplos:


que operam com:
um operando operador (operando) ABS(tag_a)
dois operandos operand_a operator operand_b tag_b + 5
tag_c AND tag_d
(tag_e ** 2) MOD
(tag_f / tag_g)

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-29

Determinao da seqncia de operao

As operaes gravadas na expresso so realizadas pela instruo em


uma seqncia prescrita, no necessariamente na seqncia em que
foram gravadas. possvel suprimir a seqncia da operao
agrupando-se os termos dentro de parnteses, forando a instruo
para realizar uma operao dentro dos parnteses, antes de outras
operaes.

Operaes com seqncia igual so realizadas da esquerda para a


direita.

Seqncia: Operao:
1. ()
2. ABS, ACS, ASN, ATN, COS, DEG, FRD, LN, LOG,
RAD, SIN, SQR, TAN, TOD, TRN
3. **
4. (negativo), NOT
5. *, /, MOD
6. <, <=, >, >=, =
7. (subtrao), +
8. AND
9. XOR
10. OR

Publicao 1756-RM003D-PT-P - Junho 2001


7-30 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Cpia de Arquivo (COP) Linguagens Disponveis:

Cpia Sncrona de Arquivo


Lgica Ladder
(CPS)
As instrues COP e CPS copiam o(s) valor(es) em Source para
Destination. Source permanece inalterado.

Operandos de Lgica
Ladder:
COP Operando Tipo: Formato: Descrio:
Copy File
Source ? Source SINT tag elemento inicial para cpia
Dest ? INT Importante: os operandos Source e
Length ? DINT Destination devem ter o mesmo tipo
REAL de dado ou podem ocorrer resultados
estrutura inesperados.
CPS
Synchronous Copy File Destination SINT tag elemento inicial a ser sobrescrito
Source ? INT por Source
Dest ? DINT Importante: os operandos Source e
Length ? REAL Destination devem ter o mesmo tipo
estrutura de dado ou podem ocorrer resultados
42577 inesperados.
Length DINT imediato tag nmero de elementos em Destination
a serem copiados

Operandos do Bloco de
Funo: Estas instrues no esto disponveis no bloco de funo.

Descrio: Durante a execuo das instrues COP e CPS, outras aes do


controlador podem tentar interromper a operao de cpia e mudar
os dados de fonte ou destino:

Se a fonte ou destino for: E voc quiser: Ento Notas:


selecione:
tag produzido previnir que os dados mudem CPS Tarefas que tentam interromper
tag consumido durante a operao de cpia uma instruo CPS so atrasadas
dados de E/S at que a instruo seja
dados que outra tarefa pode concluda.
sobrescrever Para estimar o tempo de execuo
da instruo CPS, consulte
Manual do Usurio do Sistema
ControlLogix, publicao
1756-UM001.
permitir que os dados mudem COP
durante a operao de cpia
nenhum dos acima COP

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-31

O nmero de bytes copiados :


Contagem de Byte = Length (nmero de bytes em tipos de dados
em Destination)

Se a contagem de byte for maior do que o


ATENO
comprimento de Source, dados no previstos sero
copiados para os elementos restantes.

!
As instrues COP e CPS operam na memria de dados contgua e
realizam uma cpia de memria byte por byte, o que requisita um
entendimento do layout da memria do controlador.

As instrues COP e CPS no escrevem aps o final da matriz. Se


Length for maior do que o nmero total de elementos na matriz
Destination, as instrues COP e CPS param no final da matriz.
Nenhuma falha grave gerada.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

Publicao 1756-RM003D-PT-P - Junho 2001


7-32 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

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 end_address = start_address + (Length nmero


de bytes em um elemento em destination)
linha for verdadeira

end_address > fim sim


end_address = fim da matriz destination
da matriz destination

no

source_address = Source

destination_address = sim
end_address

no

copiar os dados de source_address para


destination _address
sada da condio da linha
definida como verdadeira

source_address = source _address + 1


fim

destination_address =
destination_address + 1

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-33

Exemplo de Lgica
Ladder:

exemplo 1

Tanto array_4 como array_5 so o mesmo tipo de dados. Quando habilitada, a instruo
COP copia os primeiros 10 elementos de array_4 nos primeiros 10 elementos de array_5.

exemplo 2

Quando habilitada, a instruo COP copia a estrutura timer_1 no elemento 5 de array_timer.


A instruo copia somente uma estrutura para um elemento da matriz.

exemplo 3

A matriz project_data (100 elementos) armazena uma variedade de valores que mudam em momentos
CPS diferentes na aplicao. Para enviar uma imagem completa de project_data a uma instncia por vez
Synchronous Copy File
para outro controlador, a instruo CPS copia project_data para produced_array.
Source project_data[0]
Dest produced_array[0] Enquanto a instruo CPS copia os dados, nenhuma atualizao de E/S ou outras tarefas
Length 100 podem mudar os dados.
O tag produced_array produz os dados em uma rede ControlNet para o consumo por outros
42578
controladores.
Para usar a mesma imagem de dados (ou seja, uma cpia sncrona de dados), o controladore
consumidor usa uma instruo CPS para copiar os dadps de um tag consumido para outro tag
para uso na aplicao.

exemplo 4

Local:0:I.Data aramzena os dados de entrada para a rede DeviceNet que est conectada ao mdulo
CPS
Synchronous Copy File 1756-DNB no slot 0. Para sincronizar as entradas com a aplicao, a instruo CPS copia os dados de
Source Local:0:I.Data[0] entrada para input_buffer.
Dest input_buffer[0] Enquanto a instruo CPS copia os dados, nenhuma atualizao de E/S pode mudar os dados.
Length 20
Conforme a aplicao executada, ela usa os dados de entrada em input_buffer para suas
entradas.
42578

Publicao 1756-RM003D-PT-P - Junho 2001


7-34 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

exemplo 5

Esse exemplo inicializa uma matriz de estruturas de temporizador. Quando habilitadas, as instrues MOV inicializam os valores .PRE e .ACC do
primeiro elemento array_timer. Quando habilitada, a instruo COP copia um bloco contnuo de bytes, iniciando em array_timer[0]. O comprimento
de nove estruturas de temporizador.

array_timer[0] Primeiro a instruo copia os


valores timer[0] em timer[1]

array_timer[1] Ento, a instruo copia os valores


timer[1] em timer[2]

array_timer[2] Depois, a instruo copia os valores


timer[2] em timer[3]

array_timer[3] Ento, a instruo copia os valores


timer[3] em timer[4]

array_timer[4]




array_timer[9] Finalmente, a instruo copia os
valores timer[9] em timer[10]

array_timer[10]

Execuo do Bloco de
Funo: Estas instrues no esto disponveis no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-35

Preenchimento de Arquivo Linguagens Disponveis:

(FLL)
Lgica Ladder

A instruo FLL preenche os elementos de uma matriz com o valor


Source. Source permanece inalterado.

Operandos de Lgica
Ladder:
Operando: Tipo: Formato: Descrio:
Source SINT imediato tag elemento para cpia
INT Importante: os operandos Source e
DINT Destination devem ter o mesmo tipo
REAL de dado ou podem ocorrer resultados
inesperados.
Destination SINT tag elemento inicial a ser sobrescrito
INT por Source
DINT Importante: os operandos Source e
REAL Destination devem ter o mesmo tipo
estrutura de dado ou podem ocorrer resultados
inesperados.
O melhor jeito para inicializar uma
estrutura usar a instruo COP.
Length DINT imediato nmero de elementos a serem
preenchidos

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: O nmero de bytes preenchidos :


Contagem de Byte = Length (nmero de bytes em tipos de dados
em Destination)

A instruo FLL opera na memria de dados contnua.

A instruo FLL no gravar logo aps o final de uma matriz. Se o


comprimento for maior do que o nmero total de elementos na matriz
Destination, a instruo COP pra no final da matriz. Nenhuma falha
grave gerada.

Publicao 1756-RM003D-PT-P - Junho 2001


7-36 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Para obter resultados melhores, Source e Destination devem ser do


mesmo tipo. Se voc quiser preencher uma estrutura, use a instruo
COP (consulte o exemplo 3, na pgina 7-36). Se voc quiser misturar
os tipos de dados para Source e Destination, os elementos em
Destination so preenchidos com os valores convertidos de Source.

Se Source for: E Destination for: Source convertido


para:
SINT, INT, DINT ou REAL SINT SINT
SINT, INT, DINT ou REAL INT INT
SINT, INT, DINT ou REAL DINT DINT
SINT, INT, DINT ou REAL REAL REAL
SINT estrutura SINT (no convertido)
INT estrutura INT (no convertido)
DINT estrutura DINT (no convertido)
REAL estrutura REAL (no convertido)

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-37

Execuo de 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

end_address = start_address + (Length nmero


de bytes em um elemento em destination)

end_address > fim da sim


matriz destination end_address = fim da matriz destination

no

source_address = Source

destination_address = sim
end_address

no

copiar os dados de source_address para


destination _address

sada da condio da linha


definida como verdadeira
destination_address =
destination_address + 1

fim

Publicao 1756-RM003D-PT-P - Junho 2001


7-38 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo FLL copia o valor em value_1 para dest_1.

Tipo de dados Valor (value_1) Destination Destination


(value_1) Source: Source: (dest_1) tipo de (dest_1) valor
dados: depois de FLL:
SINT 16#80 (128) DINT 16#FFFF FF80 (128)
DINT 16#1234 5678 SINT 16#78
SINT 16#01 REAL 1.0
REAL 2.0 INT 16#0002
SINT 16#01 TIMER 16#0101 0101
16#0101 0101
16#0101 0101
INT 16#0001 TIMER 16#0001 0001
16#0001 0001
16#0001 0001
DINT 16#0000 0001 TIMER 16#0000 0001
16#0000 0001
16#0000 0001

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-39

Mdia de Arquivo (AVE) Linguagens Disponveis:

Lgica Ladder

A instruo AVE calcula a mdia de um conjunto de valores.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Array SINT tag da encontre a mdia dos valores nessa matriz
INT matriz especifique o primeiro elemento do grupo de
DINT elementos para a mdia
REAL no use CONTROL.POS em subscrito
Dimension DINT imediato a dimenso a ser usada
to vary (0, 1, 2) depende do nmero de dimenses, a
seqncia
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Destination SINT tag resultado da operao
INT
DINT
REAL
Control CONTROL tag estrutura de controle para a operao
Length DINT imediato nmero de elementos da matriz para a mdia
Position DINT imediato elemento atual na matriz
valor inicial normalmente 0

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.EN BOOL O bit habilitado indica que a instruo AVE est habilitada.
.DN BOOL O bit executado energizado quando a instruo operou no ltimo elemento na Matriz
(.POS = .LEN).
.ER BOOL O bit de erro energizado se a instruo gerar um overflow. A instruo pra a execuo at
que o programa zere o bit .ER. A posio do elemento que provocou o overflow est
armazenada no valor .POS.
.LEN DINT O comprimento especifica o nmero dos elementos na matriz na qual a instruo opera.
.POS DINT A posio contm a posio do elemento atual que a instruo est acessando.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


7-40 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Descrio: A instruo AVE calcula a mdia de um conjunto de valores.

IMPORTANTE Certifique-se de que Length no faa com que a


instruo exceda o operando Dimension to vary
especificado. Se isso ocorrer, Destination ficar
incorreto.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

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 4 20
para a matriz especificada

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-41

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 falsa

bit .DN = 0
examinar bit .DN

bit .DN = 1

bit .EN desenergizado


bit .ER desenergizado
bit .DN desenergizado
valor .POS desenergizado

sada da condio da linha


definida como falsa

fim

entrada da condio da linha for verdadeira A instruo AVE calcula a mdia, adicionando todos os elementos especificados na
matriz e dividindo pelo nmero de elementos.
Internamente, a instruo usa uma instruo FAL para calcular a mdia.
Expresso = clculo da mdia
Modo = ALL
Para detalhes sobre como a instruo FAL executada, consulte a pgina 7-9.

Publicao 1756-RM003D-PT-P - Junho 2001


7-42 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Exemplo de Lgica
Ladder:
exemplo 1

array_dint DINT[4,5]

dimenso 1
su
b
sc

0 1 2 3 4
ri t
os

AVE = 19
0 20 19 18 17 16 + 14 + 9 + 4- = 46
------------------------------------ ------ = 11.5
4 4
1 15 14 13 12 11
dimenso 0
dint_ave = 12
2 10 9 8 7 6

3 5 4 3 2 1

exemplo 2

array_dint DINT[4,5]

dimenso 1
su
b
sc

0 1 2 3 4
ri t
os

AVE = 5---------------------------------------
0 20 19 18 17 16 + 4 + 3 + 2 + 1- = 15 ------ = 3
5 5
1 15 14 13 12 11
dimenso 0 dint_ave = 3
2 10 9 8 7 6

3 5 4 3 2 1

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-43

Classificao de Arquivo Linguagens Disponveis:

(SRT)
Lgica Ladder

A instruo SRT classifica um conjunto de valores em uma dimenso


(Dim to vary) da Matriz em ordem crescente.

Operandos de Lgica
Ladder:
Operando: Tipo: Formato: Descrio:
Array SINT tag da matriz para classificao
INT matriz especifique o primeiro elemento do grupo de
DINT elementos para classificao
REAL no use CONTROL.POS em subscrito
Dimension DINT imediato a dimenso a ser usada
to vary (0, 1, 2) depende do nmero de dimenses, a
seqncia
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Control CONTROL tag estrutura de controle para a operao
Length DINT imediato nmero de elementos da matriz
para classificao
Position DINT imediato elemento atual na matriz
valor inicial normalmente 0

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.EN BOOL O bit habilitado indica que a instruo SRT est habilitada.
.DN BOOL O bit executado energizado quando os elementos especificados forem classificados.
.ER BOOL O bit de erro energizado quando uma das condies .LEN < 0 ou .POS < 0 tambm gerar
uma falha grave.
.LEN DINT O comprimento especifica o nmero dos elementos na matriz na qual a instruo opera.
.POS DINT A posio contm a posio do elemento atual que a instruo est acessando.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: A instruo SRT classifica um conjunto de valores em uma dimenso


(Dim to vary) da Matriz em ordem crescente.

IMPORTANTE Certifique-se de que Length no faa com que a


instruo exceda o operando Dimension to vary
especificado. Se isto acontecer, resultados
inesperados ocorrero.

Publicao 1756-RM003D-PT-P - Junho 2001


7-44 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

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 4 20
para a matriz especificada
A instruo tenta acessar os dados 4 20
localizados fora dos limites da matriz.

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 falsa

bit .DN = 0
examinar bit .DN

bit .DN = 1

bit .EN desenergizado


bit .ER desenergizado
bit .DN desenergizado
valor .POS desenergizado

sada da condio da linha


definida como falsa

fim

entrada da condio da linha for verdadeira A instruo SRT classifica os elementos especificados da matriz em ordem crescente.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-45

Exemplo de Lgica
Ladder:
exemplo 1

int _array DINT[4,5]

Antes Depois
dimenso 1 dimenso 1

su
su

b
b

sc
sc

0 1 2 3 4 0 1 2 3 4

rit
ri t

os
os

0 20 19 18 17 16 0 20 19 3 17 16

1 15 14 13 12 11 1 15 14 8 12 11
dimenso 0 dimenso 0
2 10 9 8 7 6 2 10 9 13 7 6

3 5 4 3 2 1 3 5 4 18 2 1

exemplo 2
int _array DINT[4,5]

Antes Depois
dimenso 1 dimenso 1
su
su

bs
bs

cri
cri

0 1 2 3 4 0 1 2 3 4
t
t

os
os

0 20 19 18 17 16 0 20 19 18 17 16

1 15 14 13 12 11 1 15 14 13 12 11
dimenso 0 dimenso 0
2 10 9 8 7 6 2 6 7 8 9 10

3 5 4 3 2 1 3 5 4 3 2 1

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


7-46 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Desvio Padro do Arquivo Linguagens Disponveis:

(STD)
Lgica Ladder

A instruo STD calcula o desvio padro de um conjunto de valores


em uma dimenso da Matriz e armazena o resultado em Destination.

Operandos de Lgica
Ladder:
Operando: Tipo: Formato: Descrio:
Array SINT tag da encontra o desvio padro dos valores
INT matriz nessa matriz
DINT especifica o primeiro elemento do grupo de
REAL elementos a serem usados no clculo do
desvio padro
no use CONTROL.POS em subscrito
Um tag SINT ou INT convertido para um valor DINT pela extenso de sinal.
Dimension DINT imediato a dimenso a ser usada
to vary (0, 1, 2) depende do nmero de dimenses, a
seqncia
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]
Destination REAL tag resultado da operao
Control CONTROL tag estrutura de controle para a operao
Length DINT imediato nmero de elementos da matriz a
serem usados no clculo do desvio padro
Position DINT imediato elemento atual na matriz
valor inicial normalmente 0

Estrutura:

Mnemnico: Tipo de Dados: Descrio:


.EN BOOL O bit habilitado indica que a instruo STD est habilitada.
.DN BOOL O bit executado energizado quando o clculo concludo.
.ER BOOL O bit de erro energizado quando a instruo gerar um overflow. A instruo pra a
execuo at que o programa zere o bit .ER. A posio do elemento que provocou o overflow
est armazenada no valor .POS.
.LEN DINT O comprimento especifica o nmero dos elementos na matriz na qual a instruo opera.
.POS DINT A posio contm a posio do elemento atual que a instruo est acessando.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-47

Descrio: O desvio padro calculado de acordo com esta frmula:

N
2

[ X( start + i ) AVE ]

Desvio Padro = i = 1
--------------------------------------------------------------------
(N 1)

Onde:
start = subscrito dimension-to-vary do operando array
xi = elemento da tag na matriz
N = nmero de elementos especificados na matriz
AVE =
N

x ( start + i )

i = 1
-----------------------------------------
N

IMPORTANTE Certifique-se de que Length no faa com que a


instruo exceda o operando Dimension to vary
especificado. Se isso ocorrer, Destination ficar
incorreto.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

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 4 20
para a matriz especificada

Publicao 1756-RM003D-PT-P - Junho 2001


7-48 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

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 falsa

bit .DN = 0
examinar bit .DN

bit .DN = 1

bit .EN desenergizado


bit .ER desenergizado
bit .DN desenergizado
valor .POS desenergizado

sada da condio da linha


definida como falsa

fim

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-49

Exemplo de Lgica
Ladder:
exemplo 1
array_dint DINT[4,5]

dimenso 1

su
bs
cri
0 1 2 3 4

ost
0 20 19 18 17 16

1 15 14 13 12 11
dimenso 0
2 10 9 8 7 6

3 5 4 3 2 1
AVE = 16 + 11 + 6 + 1- = 34
------------------------------------ ------ = 8.5
4 4

2 2 2 2
16 8.5 + 11 8.5 + 6 8.5 + 1 8.5 - = 6.454972
STD = --------------------------------------------------------------------------------------------------------------------------
4 1
real_std = 6,454972

exemplo 2
array_dint DINT[4,5]

dimenso 1
su
b
sc

0 1 2 3 4
rit
os

0 20 19 18 17 16

1 15 14 13 12 11
dimenso 0
2 10 9 8 7 6

20 + 19 + 18 + 17 + 16- = 90 3 5 4 3 2 1
AVE = ------------------------------------------------------ ------ = 18
5 5

2 2 2 2 2
20 18 + 19 18 + 18 18 + 17 18 + 16 18 - = 1.581139
STD = -----------------------------------------------------------------------------------------------------------------------------------------------------------
5 1
real_std = 1,581139

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


7-50 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Tamanho em Elementos Linguagens Disponveis:

(SIZE)
Lgica Ladder

A instruo SIZE encontra o tamanho de uma dimenso de uma


matriz.

Operandos de Lgica
Ladder:
SIZE
Size in Elements Operando: Tipo: Formato: Insira:
Source ? Source SINT tag da primeiro elemento de uma matriz na qual a
??
Dim. To Vary ?
INT matriz instruo deve ser operada
Size ? DINT
?? REAL
estrutura
42622
tipo de string
Dimenso a DINT imediato dimenso a ser usada:
ser Variada (0, 1, 2)
Para o tamanho da: Insira:
primeira dimenso 0
segunda dimenso 1
terceira dimenso 2

Tamanho SINT tag tag para armazenar o nmero de elementos


INT na dimenso especfica da matriz
DINT
REAL

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a entrada da condio da linha for verdadeira, a instruo


SIZE encontra o nmero de elementos (tamanho) na dimenso
designada da matriz Source e coloca o resultado no operando Size.

A instruo encontra o tamanho de uma dimenso de uma


matriz.
A instruo operada em uma:
matriz
matriz em uma estrutura
matriz que parte de uma matriz maior

Em Source, especifique o primeiro elemento da matriz na qual a


instruo deve ser operada.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-51

Execuo de Lgica
Ladder:

Condio: Ao:
pr-varredura A sada da condio da linha definida como falsa.
a entrada da condio da linha falsa A sada da condio da linha definida como falsa.
a entrada da condio da linha verdadeira A instruo executada.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

Exemplo 1
Encontra o nmero de elementos na dimenso 0 (primeira dimenso) de array_a. Armazena o
SIZE tamanho em array_a_size. Neste exemplo, a dimenso 0 de array_a tem 10 elementos.
Size in Elements
Source array_a[0]
255
Dim. To Vary 0
Size array_a_size
10

42623

Exemplo 2
Encontra o nmero de elementos no membro DATA de string_1, que um string. Armazena o
SIZE tamanho em string_1_size.
Size in Elements
Source string_1.DATA[0]
'$00' Neste exemplo, o membro DATA de string_1 tem 82 elementos. (O string usa o tipo de dados
Dim. To Vary 0 STRING padro.) Como cada elemento mantm um caracter, string_1 pode conter at 82
Size string_1_size caracteres.
82

42623

Exemplo 3
Strings_a uma matriz de estruturas de string. A instruo SIZE encontra o nmero de
SIZE
elementos no membro DATA da estrutura de string e armazena o tamanho em data_size_a.
Size in Elements
Source strings_a[0].DATA[0]
'$00' Neste exemplo, o membro DATA tem 24 elementos. (A estrutura de string tem um comprimento
Dim. To Vary 0 especificado pelo usurio de 24).
Size data_size_a
24

42623

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


7-52 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-53

Publicao 1756-RM003D-PT-P - Junho 2001


7-54 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) 7-55

Publicao 1756-RM003D-PT-P - Junho 2001


7-56 Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 8

Instrues de Matriz (Arquivo)/Deslocamento


(BSL, BSR, FFL, FFU, LFL, LFU)

Introduo Use as instrues de deslocamento/matriz (arquivo) para modificar a


localizao dos dados dentro das matrizes.

Se voc quiser: Use esta instruo: Consulte


pgina:
carregar bits, deslocar bits e descarregar bits BSL 8-2
de uma matriz de bits, um bit de cada vez.
BSR 8-6
carregar e descarregar os valores na FFL 8-10
mesma seqncia.
FFU 8-16
carregar e descarregar os valores em LFL 8-22
ordem reversa.
LFU 8-28

possvel misturar os tipos de dados, mas podem ocorrer perda de


preciso e erro de arredondamento.

Para instrues de lgica ladder a rel, 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.

1 Publicao 1756-RM003D-PT-P - Junho 2001


8-2 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Deslocamento de Bit para a Linguagens Disponveis:

Esquerda (BSL)
Lgica Ladder a Rel

A instruo BSL desloca os bits especificados dentro da Matriz uma


posio para a esquerda.

Operandos de Lgica
Ladder a Rel:
Operando Tipo: Formato: Descrio:
Array DINT tag da matriz a ser modificada
matriz 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

Estrutura:

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.

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

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-3

Execuo de Lgica
Ladder a Rel:

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.

entrada da condio da linha for verdadeira

bit .EN = 1
examinar bit .EN

bit .EN = 0

bit .EN energizado

sim
.LEN = 0 bit .DN energizado

no

.source bit = 1 bit .UL permanece


examinar bit source energizado
sim
.LEN < 0 bit .ER energizado

.source bit = 0

no
bit .UL energizado
deslocar matriz da esquerda uma posio

Bit
bit .UL matriz Source

sada da condio da linha


definida como
bit .DN energizado verdadeira
.POS = .LEN

fim

Publicao 1756-RM003D-PT-P - Junho 2001


8-4 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Exemplo de Lgica
Ladder a Rel:

exemplo 1

9 8 7 6 5 4 3 2 1 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
antes do
deslocamento 1
0 esses bits foram
deslocados esquerda input_1
bit .UL
9 8 7 6 5 4 3 2 1 0
array_dint[0]d 0 1 1 1 1 0 0 0 0 1
epois do
deslocamento
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.

exemplo 2

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

1
esses bits foram deslocados esquerda
input_1

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

0 esses bits foram deslocados esquerda

bit .UL
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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-5

Deslocamento de Bit para a Linguagens Disponveis:

Direita (BSR)
Lgica Ladder a Rel

A instruo BSR desloca os bits especificados dentro da Matriz uma


posio para a direita.

Operandos de Lgica
Ladder a Rel:
Operando: Tipo: Formato: Descrio:
Array DINT tag da matriz a ser modificada
matriz especifica o elemento onde o deslocamento
deve comear
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

Estrutura:

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.

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

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


8-6 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Execuo de Lgica
Ladder a Rel:

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.
entrada da condio da linha for verdadeira

bit .EN = 1
examinar bit .EN

bit .EN = 0

bit .EN energizado

sim
.LEN = 0 bit .DN energizado

no

.source bit = 1 bit .UL permanece


examinar bit source
energizado
sim
.LEN < 0 bit .ER energizado

.source bit = 0

no
bit .UL energizado
deslocar matriz da esquerda uma posio

Bit matriz bit .UL


Source

sada da condio da linha


definida como
bit .DN energizado verdadeira
.POS = .LEN

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-7

Exemplo de Lgica
Ladder a Rel:

exemplo 1

9 8 7 6 5 4 3 2 1 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
antes do
deslocamento
0
1 esses bits foram
deslocados direita bit .UL
input_1
9 8 7 6 5 4 3 2 1 0
array_dint[0]d 1 0 0 1 1 1 1 0 0 0
epois do
deslocamento
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.

exemplo 2

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

0
esses bits foram deslocados direita
bit .UL

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

1 esses bits foram deslocados direita

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

Publicao 1756-RM003D-PT-P - Junho 2001


8-8 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Carga FIFO (FFL) Linguagens Disponveis:

Lgica Ladder a Rel

A instruo FFL copia o valor Source para FIFO.

Operandos de Lgica
Ladder a Rel:
Operando: Tipo: Formato: Descrio:
Source SINT imediato dados a serem armazenados em FIFO
INT tag
DINT
REAL
tipo de
string
estrutura
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 tag da FIFO a ser modificado
INT matriz especifique o primeiro elemento de FIFO
DINT no use CONTROL.POS no subscrito
REAL
tipo de
string
estrutura
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

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:

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-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-9

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 4 20
matriz de FIFO

Publicao 1756-RM003D-PT-P - Junho 2001


8-10 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Execuo de Lgica
Ladder a Rel:

Condio: Ao:

pr-varredura

o bit .EN energizado para evitar uma


carga falsa quando a varredura comear

sim
.LEN < 0

no

sim
.POS < 0

no

.EM desenergizado .EM energizado


bit .DN desenergizado .DN energizado

sim
.POS = 0 .EM energizado

no

sim
.POS .LEN .DN energizado

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-11

Condio: Ao:

entrada da condio da linha for falsa

bit .EN desenergizado

sim
.LEN < 0

no

sim
.POS < 0

no

.EM desenergizado .EM energizado


bit .DN desenergizado .DN energizado

sim
.POS = 0 .EM energizado

no

sim
.POS .LEN .DN energizado

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


8-12 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Condio: Ao:

entrada da condio da linha for verdadeira

.EN = 0 sim
examinar bit .EN bit .EN energizado .LEN < 0

.EN = 1 no

sim sim
.LEN < 0 .POS < 0

no no

bit .EM energizado


sim bit .EM desenergizado .DN energizado
.POS < 0 bit .DN desenergizado
.POS = .POS + 1

no
bit .EM energizado
.DN energizado
bit .EM desenergizado
bit .DN desenergizado sim
.POS .LEN bit .DN energizado

no

sim
.POS = 0 bit .EM energizado

.POS ou .LEN > sim


no falha grave
tamanho da
matriz
no

sim
.POS .LEN bit .DN energizado

sim
no .POS > .LEN .POS = .POS 1

no

FIFO[.POS 1] = source

sada da condio da linha


definida como
verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-13

Exemplo de Lgica
Ladder a Rel:

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.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


8-14 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Descarga FIFO (FFU) Linguagens Disponveis:

Lgica Ladder a Rel

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 a Rel:
Operando: Tipo: Formato: Descrio:
FIFO SINT tag da FIFO a ser modificado
INT matriz especifique o primeiro elemento de FIFO
DINT no use CONTROL.POS no subscrito
REAL
tipo de
string
estrutura
Destination SINT tag valor que saiu de FIFO
INT
DINT
REAL
tipo de
string
estrutura
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

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:

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-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-15

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 (FIFO).

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-RM003D-PT-P - Junho 2001


8-16 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Execuo de Lgica
Ladder a Rel:

Condio: Ao:

pr-varredura

o bit .EU energizado para evitar uma


descarga falsa quando a varredura comear

sim
.LEN < 0

no

sim
.POS < 0

no

.EM desenergizado .EM energizado


bit .DN desenergizado .DN energizado

sim
.POS = 0 .EM energizado

no

sim
.POS .LEN .DN energizado

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-17

Condio: Ao:

entrada da condio da linha for falsa

bit .EU desenergizado

sim
.LEN < 0

no

sim
.POS < 0

no

.EM desenergizado .EM energizado


bit .DN desenergizado .DN energizado

sim
.POS = 0 .EM energizado

no

sim
.POS .LEN .DN energizado

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


8-18 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Condio: Ao:
entrada da condio da linha for verdadeira

.EU = 0 sim
examinar bit .EU bit .EU energizado .LEN < 0

.EU = 1 no

sim sim
.LEN < 0 .POS < 0

no no

bit .EM desenergizado bit .EM energizado


sim bit .DN desenergizado .DN energizado
.POS < 0

no
bit .EM energizado
bit .EM desenergizado .DN energizado .LEN > sim
tamanho da falha grave
bit .DN desenergizado
matriz

no

sim
.POS = 0 bit .EM energizado sim
.POS 1 bit .EM energizado

no
no

sim
sim .POS < 1 Destination = 0
.POS .LEN bit .DN energizado

no
no
.POS = .POS 1
Destination = FIFO[0]
i=1

FIFO[i 1] = FIFO[i]
i = i +1

sim
i < .LEN

no
sada da condio da linha
definida como
verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-19

Exemplo de Lgica
Ladder a Rel:

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.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


8-20 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Carga LIFO (LFL) Linguagens Disponveis:

Lgica Ladder a Rel

A instruo LFL copia o valor Source para LIFO.

Operandos de Lgica
Ladder a Rel:
Operando Tipo: Formato: Descrio:
Source SINT imediato dados a serem armazenados em LIFO
INT tag
DINT
REAL
tipo de
string
estrutura
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 tag da LIFO a ser modificado
INT matriz especifique o primeiro elemento de LIFO
DINT no use CONTROL.POS no subscrito
REAL
tipo de
string
estrutura
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

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:

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-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-21

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 4 20
matriz de LIFO

Publicao 1756-RM003D-PT-P - Junho 2001


8-22 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Execuo de Lgica
Ladder a Rel:

Condio: Ao:

pr-varredura

o bit .EN energizado para evitar uma


carga falsa quando a varredura comear

sim
.LEN < 0

no

sim
.POS < 0

no

.EM desenergizado .EM energizado


bit .DN desenergizado .DN energizado

sim
.POS = 0 .EM energizado

no

sim
.POS .LEN .DN energizado

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-23

Condio: Ao:

entrada da condio da linha for

bit .EN desenergizado

sim
.LEN < 0

no

sim
.POS < 0

no

.EM desenergizado .EM energizado


bit .DN desenergizado .DN energizado

sim
.POS = 0 .EM energizado

no

sim
.POS .LEN .DN energizado

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


8-24 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Condio: Ao:

entrada da condio da linha for verdadeira

.EN = 0 sim
examinar bit .EN bit .EN energizado .LEN < 0

.EN = 1 no

sim sim
.LEN < 0 .POS < 0

no no

bit .EM energizado


sim bit .EM desenergizado .DN energizado
.POS < 0 bit .DN desenergizado
.POS = .POS + 1

no
bit .EM energizado
bit .EM desenergizado .DN energizado
bit .DN desenergizado sim
.POS .LEN bit .DN energizado

no

sim
.POS = 0 bit .EM energizado

.POS ou .LEN > sim falha grave


no
tamanho da
matriz
no

sim
.POS .LEN bit .DN energizado

sim
no .POS > .LEN .POS = .POS 1

no

LIFO[.POS 1] = source

sada da condio da linha


definida como
verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-25

Exemplo de Lgica
Ladder a Rel:

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.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


8-26 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Descarga LIFO (LFU) Linguagens Disponveis:

Lgica Ladder a Rel

A instruo LFU descarrega o valor em .POS de LIFO e armazena 0


naquele local.

Operandos de Lgica
Ladder a Rel:
Operando Tipo: Formato: Descrio:
LIFO SINT tag da LIFO a ser modificado
INT matriz especifique o primeiro elemento de LIFO
DINT no use CONTROL.POS no subscrito
REAL
tipo de
string
estrutura
Destination SINT tag valor que saiu de LIFO
INT
DINT
REAL
tipo de
string
estrutura
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

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:

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-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-27

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 (LIFO).

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-RM003D-PT-P - Junho 2001


8-28 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Execuo de Lgica
Ladder a Rel:

Condio: Ao:

pr-varredura

o bit .EU energizado para evitar uma


descarga falsa quando a varredura comear

sim
.LEN < 0

no

sim
.POS < 0

no

.EM desenergizado .EM energizado


bit .DN desenergizado .DN energizado

sim
.POS = 0 .EM energizado

no

sim
.POS .LEN .DN energizado

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-29

Condio: Ao:

entrada da condio da linha for falsa

bit .EU desenergizado

sim
.LEN < 0

no

sim
.POS < 0

no

.EM desenergizado .EM energizado


bit .DN desenergizado .DN energizado

sim
.POS = 0 .EM energizado

no

sim
.POS .LEN .DN energizado

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


8-30 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Condio: Ao:
entrada da condio da linha for verdadeira

.EU = 0 sim
examinar bit .EU bit .EU energizado .LEN < 0

.EU = 1 no

sim sim
.LEN < 0 .POS < 0

no no

bit .EM desenergizado bit .EM energizado


sim bit .DN desenergizado .DN energizado
.POS < 0

no
bit .EM energizado
.DN energizado sim
bit .EM desenergizado .POS 1 bit .EM energizado
bit .DN desenergizado

no

sim sim
.POS = 0 bit .EM energizado .POS < 1 Destination = 0

no no

sim
.POS > .LEN .POS = .LEN
sim
.POS .LEN bit .DN energizado
no
no
.POS = .POS 1

.LEN > sim


tamanho da falha grave
matriz

no

Destination = LIFO[control.POS]
LIFO[control.POS) = 0

sada da condio da linha


definida como verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-31

Exemplo de Lgica
Ladder a Rel:

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.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


8-32 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) 8-33

Publicao 1756-RM003D-PT-P - Junho 2001


8-34 Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 9

Instrues de Seqenciador
(SQI, SQO, SQL)

Introduo Instrues de sequenciador monitoram operaes consistentes e


repetitivas.

Se voc quiser: Use esta instruo: Consulte


pgina:
Detectar quando uma etapa est concluda. SQI 9-2
Estabelecer condies de sada para a SQO 9-7
prxima etapa.
Carregar as condies de referncia nas SQL 9-12
matrizes de seqenciador

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.

1 Publicao 1756-RM003D-PT-P - Junho 2001


9-2 Instrues de Seqenciador (SQI, SQO, SQL)

Entrada do Sequenciador Linguagens Disponveis:

(SQI)
Lgica Ladder

A instruo SQI detecta quando uma etapa concluda no par de


seqenciador das instrues SQO/SQI.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Array DINT tag da matriz do seqenciador
matriz especifica o primeiro elemento da matriz do
seqenciador
no use CONTROL.POS em subscrito
Mask SINT tag quais bits devem ser bloqueados ou podem
INT imediato passar
DINT
Um tag SINT ou INT convertido para um valor DINT pela extenso de
sinal.
Source SINT tag dados de entrada para a matriz do
INT seqenciador
DINT
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

Estrutura:

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.

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


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.

Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


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 no
ou bit .ER desenergizado.
.POS > .LEN

sim

bit .ER energizado

no Source mascarada=
Array mascarada[.POS]

sim

sada da condio da linha sada da condio da linha definida


definida como falsa como verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Seqenciador (SQI, SQO, SQL) 9-5

Exemplo de Lgica
Ladder:

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

Um 0 na mscara significa que o bit no foi comparado (identificado


por xxxx nesse exemplo).

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


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-RM003D-PT-P - Junho 2001


Instrues de Seqenciador (SQI, SQO, SQL) 9-7

Sada do Sequenciador Linguagens Disponveis:

(SQO)
Lgica Ladder

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:
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 tag quais bits devem ser bloqueados ou podem
INT imediato passar
DINT
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

Estrutura:

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.

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

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

Publicao 1756-RM003D-PT-P - Junho 2001


9-8 Instrues de Seqenciador (SQI, SQO, 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.

Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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-RM003D-PT-P - Junho 2001


Instrues de Seqenciador (SQI, SQO, SQL) 9-9

Condio: Ao:
entrada da condio da linha for verdadeira

bit .EN energizado


.LEN 0 ou no .EN = 0 bit .ER
.POS < 0 examinar bit .EN
desenergizado.
bit .DN energizado.
sim .EN = 1

no sim
.POS = .LEN .POS .LEN .POS = 1

sim no

bit .DN energizado. .POS = .POS + 1

valor .POS sim ir para


renova erro

no

sim
.POS = .LEN bit .DN energizado.

no

no
.POS > .LEN

sim

erro

bit .ER energizado Destination = (Destination AND (NOT(Mask)))


OR (Array[control.POS] AND Mask)

sada da condio da linha


definida como verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


9-10 Instrues de Seqenciador (SQI, SQO, SQL)

Exemplo de Lgica
Ladder:

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

Um 0 na mscara significa que o bit no foi comparado (designado


por xxxx nesse exemplo).

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


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-RM003D-PT-P - Junho 2001


9-12 Instrues de Seqenciador (SQI, SQO, SQL)

Carga do Sequenciador Linguagens Disponveis:

(SQL)
Lgica Ladder

A instruo SQL carrega as condies de referncia em uma matriz do


seqenciador.

Operandos de 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 tag dados de entrada a serem carregados na
INT imediato matriz do seqenciador
DINT
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

Estrutura:

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.

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


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:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de


falha:
Length > tamanho de Array 4 20

Execuo de Lgica
Ladder:

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-RM003D-PT-P - Junho 2001


9-14 Instrues de Seqenciador (SQI, SQO, SQL)

Condio: Ao:
entrada da condio da linha for verdadeira

bit .EN energizado


.LEN 0 ou no .EN = 0 bit .ER
examinar bit .EN
.POS < 0 desenergizado.
bit .DN energizado.
sim .EN = 1

no sim
.POS = .LEN .POS .LEN .POS = 1

sim no

bit .DN energizado. .POS = .POS + 1

valor .POS sim ir para


renova erro

no

sim
.POS = .LEN bit .DN energizado.

no

no
.POS > .LEN

sim
.LEN > sim
tamanho da
erro matriz

no
falha grave

bit .ER energizado Array[control.POS] = Source

sada da condio da linha


definida como verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Seqenciador (SQI, SQO, SQL) 9-15

Exemplo de Lgica
Ladder:

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.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


9-16 Instrues de Seqenciador (SQI, SQO, SQL)

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


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 JMP 10-2
precisa ser executada. LBL
Saltar para uma rotina separada, passar JSR 10-4
dados para a rotina, executar a rotina e SBR
retornar os resultados. RET
Marcar um fim temporrio que interrompa a TND 10-13
execuo da rotina.
Desabilitar todas as linhas em uma seo MCR 10-15
de lgica.
Desabilitar as tarefas do usurio. UID 10-18
Habilitar as tarefas do usurio. UIE 10-18
Desabilitar uma linha. AFI 10-20
Inserir um placeholder na lgica. NOP 10-21

1 Publicao 1756-RM003D-PT-P - Junho 2001


10-2 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Salto para Label (JMP) Linguagens Disponveis:

Label (LBL)
Lgica Ladder a Rel

As instrues JMP e LBL ignoram as partes da lgica de diagrama


ladder.

Operandos de Lgica
Ladder a Rel:
Operando: Tipo: Formato: Descrio:
Instruo JMP
Label name; nome do insere o nome para a instruo LBL
label; associada
Instruo LBL
Label name; nome do a execuo salta para a instruo LBL
label; quando o nome do label citado

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.

No se realiza varredura na lgica com salto.


ATENCION
Coloque uma lgica crtica fora da zona de salto.

!
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.
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 (_)

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-3

Flags de Status Aritmtico: no afetados

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


label no existe 4 42

Execuo de Lgica
Ladder a Rel:

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.

Exemplo de Lgica
Ladder a Rel:

[outras linhas de cdigo]

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.

Execuo do Bloco de
Funo: Estas instrues no esto disponveis no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


10-4 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Salto para Sub-rotina (JSR) Linguagens Disponveis:

Sub-rotina (SBR)
Retorno (RET) Lgica Ladder
a Rel
Bloco de Funo

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 a Rel:
Operando Tipo: Formato: Descrio:
Instruo JSR
Routine name ROUTINE nome rotina a ser executada
Input par SINT imediato parmetros (0-n) a serem passados
INT tag para rotina
DINT tag da matriz
REAL
estrutura
Return par SINT tag parmetros (0-n) a serem recebidos
INT tag da matriz da rotina
DINT
REAL
estrutura
Instruo SBR
Input par SINT tag parmetros (0-n) recebidos de JSR
INT tag da matriz
DINT
REAL
estrutura
Instruo RET
Return par SINT imediato parmetros (0-n) a serem retornados
INT tag para JSR
DINT tag da matriz
REAL
estrutura

Operandos do Bloco de
Funo: Estas instrues no esto disponveis no bloco de funo.

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-5

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.

nvel 1 nvel 2 nvel 3


sub-rotina action_1 sub-rotina action_2 sub-rotina action_3

rotina principal
SBR SBR SBR
action_1
JSR
action_2 action_3
JSR JSR

RET RET RET

15294

Publicao 1756-RM003D-PT-P - Junho 2001


10-6 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Para programar um salto para a sub-rotina, siga estas orientaes:

IMPORTANTE No use a instruo JSR para chamar (executar) a


rotina principal.
Voc pode colocar uma instruo JSR na rotina
principal ou em qualquer outra rotina.
Se voc usar a instruo JSR para chamar a rotina
principal e, ento, colocar uma instruo RET na
rotina principal, uma falha grave ocorre (tipo 4,
cdigo 31).

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?

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

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?

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

4. Na instruo JSR, voc especificou um operando Input par?

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-7

Para cada operando Input par em uma


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

5. Na instruo JSR, voc especificou um operando Return par?

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.

Para cada operando Return par em uma


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

6. H condies quando voc quer sair da sub-rotina antes do


final?

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 etapas
4. e 5.
no Omita esta etapa.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


a instruo JSR tem menos parmetros de 4 31
entrada do que a instruo SBR

Publicao 1756-RM003D-PT-P - Junho 2001


10-8 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


a instruo JSR salta para a rotina de falha 4 ou fornecido pelo 0 ou fornecido pelo
usurio usurio
a instruo RET tem menos parmetros de 4 31
retorno do que a instruo JSR
a rotina principal contm uma instruo RET 4 31

Execuo de Lgica
Ladder a Rel:

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
garantir que todas as linhas na subrotina sejam pr-varridas (prescanned), o controlador
ignora as instrues RET. (Ou seja, as instrues RET no fazem a subrotina sair).
Liberao 6.x e anterior, os parmetros de entrada e retorno so passados.
Liberao 7.x e posterior, os 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-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-9

Condio: Ao:

entrada da condio da linha for verdadeira

sim JSR copia os parmetros de


parmetros de entrada para as variveis SBR
entrada apropriadas

no

a execuo da lgica comea na


rotina identificada por JSR

sim sim RET copia os parmetros de


Instruo RET parmetros de retorno para as variveis JSR
retorno apropriadas

no no

sim
fim da sub-rotina

no

sada da condio da linha definida


como verdadeira
sada da condio da linha a execuo da lgica retorna para JSR
definida como falsa
continua a executar a rotina

fim

Exemplo de Lgica
Ladder a Rel:

Publicao 1756-RM003D-PT-P - Junho 2001


10-10 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

exemplo 1

Quando habilitada, a instruo JSR passa value_1 e value_2 para routine_1.

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.

[outras linhas de cdigo]

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-11

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_2 e armazena o resultado em total_cookies.

Sub-routine_1
Quando def estiver energizado, a instruo RET retorna value_1 para o parmetro JSR cookies_1 e uma varredura no realizada no restante da
sub-rotina.

Quando def estiver desenergizado (linha anterior) eghi estiver 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 def e ghi estiverem desenergizados (linhas anteriores) a instruo RET retorna value_3 para o parmetro cookies_1 de JSR.

Execuo do Bloco de
Funo: Estas instrues no esto disponveis no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


10-12 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Fim Temporrio (TND) Linguagens Disponveis:

Lgica Ladder a Rel

A instruo TND atua como um limite.

Operandos de Lgica
Ladder a Rel: 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 a Rel:

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.

Exemplo de Lgica
Ladder a Rel: 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.

Quando a instruo TND estiver habilitada, o controlador


interrompe a varredura da rotina atual.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-13

Rearme do Controle Mestre Linguagens Disponveis:

(MCR)
Lgica Ladder a Rel

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 a Rel: 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.

No sobreponha ou monte em cadeia as zonas MCR.


ATENCION
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-RM003D-PT-P - Junho 2001


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 a Rel:

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.

Exemplo de Lgica
Ladder a Rel:

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.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-15

Desabilitao da Linguagens Disponveis:

Interrupo pelo Usurio


Lgica Ladder a Rel
(UID)
Habilitao da Interrupo A instruo UID e a instruo UIE trabalham juntas para evitar que um
pelo Usurio (UIE) nmero pequeno de linhas crticas sejam interrompidas por outras
tarefas.

Operandos de Lgica
Ladder a Rel: 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.
a 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 vocno 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

Publicao 1756-RM003D-PT-P - Junho 2001


10-16 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Execuo de Lgica
Ladder a Rel:

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 UID previne a interrupo por tarefas de prioridade maior.
A instruo UIE habilita a interrupo por tarefas de prioridade maior.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder a Rel:
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.

UID

error_bit FSC
File Search/Compare EN
Control error_check DN
Length 10 ER
Position 8
Mode ALL
Expression error_code=error_list[error_check.POS]

error_check.FD alarm

UIE

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-17

Instruo Sempre Falsa Linguagens Disponveis:

(AFI)
Lgica Ladder a Rel

A instruo AFI configura a sua sada da condio da linha como falsa.

Operandos de Lgica
Ladder a Rel: 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 a Rel:

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.

Exemplo de Lgica
Ladder a Rel: Use a instruo AFI para desabilitar temporariamente uma linha,
enquanto estiver depurando um programa.

Quando habilitada, AFI desabilita todas as instrues nessa linha.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


10-18 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Sem Operao (NOP) Linguagens Disponveis:

Lgica Ladder a

A instruo NOP funciona como um placeholder

Operandos de Lgica
Ladder a Rel: 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 a Rel:

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.

Exemplo de Lgica
Ladder a Rel: Essa instruo til para localizar ramificaes incondicionais quando
se coloca a instruo NOP na ramificao.

A instruo NOP realiza bypass na instruo XIC para habilitar a sada.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP) 10-19

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


10-20 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)

Publicao 1756-RM003D-PT-P - Junho 2001


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

1 Publicao 1756-RM003D-PT-P - Junho 2001


11-2 Instrues For/Break (FOR, BRK, RET)

For (FOR) Linguagens Disponveis:

Lgica Ladder a Rel

A instruo FOR executa repetidamente uma sub-rotina.

Operandos de Lgica
Ladder a Rel:
Operando: Tipo: Formato: Descrio:
Routine ROUTINE nome da rotina a ser executada
name rotina
Index DINT tag conta quantas vezes a rotina foi executada
Initial value SINT imediato valor onde se inicia o ndice
INT tag
DINT
Terminal SINT imediato valor onde parar a execuo da rotina
value INT tag
DINT
Step size SINT imediato quantidade a ser acrescentada ao ndice
INT tag cada vez que a instruo FOR executar a
DINT rotina

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio:

IMPORTANTE No use a instruo FOR para chamar (executar) a


rotina principal.
Voc pode colocar uma instruo FOR na rotina
principal ou em qualquer outra rotina.
Se voc usar a instruo FOR para chamar a
rotina principal e, ento, colocar uma instruo
RET na rotina principal, uma falha grave ocorre
(tipo 4, cdigo 31).

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues For/Break (FOR, BRK, RET) 11-3

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:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


a rotina principal contm uma instruo RET 4 31

Execuo de Lgica
Ladder a Rel:

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.
entrada da condio da
linha for verdadeira

index = initial_value

no
tamanho step < 0

sim

no
ir para o index valor terminal
fim

sim sim no ir para


index valor terminal o fim fim

executar rotina
index =(index + step_size)
sada da condio da linha
definida como verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001


11-4 Instrues For/Break (FOR, BRK, RET)

Exemplo de Lgica
Ladder a Rel:

Quando habilitada, a instruo FOR executa repetidamente routine_2 e incrementa value_2 em 1 todas
as vezes. Quando value_2 > 10 ou uma instruo BRK estiver habilitada, a instruo FOR no mais
executa routine_2.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues For/Break (FOR, BRK, RET) 11-5

Break (BRK) Linguagens Disponveis:

Lgica Ladder a Rel

A instruo BRK interrompe a execuo de uma rotina que foi


chamada por uma instruo FOR.

Operandos de Lgica
Ladder a Rel: 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 a Rel:

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.

Exemplo de Lgica
Ladder a Rel:

Quando habilitada, a instruo BRK pra de executar a rotina atual e retorna para a instruo
que segue a instruo FOR que est chamando.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


11-6 Instrues For/Break (FOR, BRK, RET)

Retorno (RET) Linguagens Disponveis:

Lgica Ladder a Rel

A instruo RET retorna para a instruo FOR que est chamando.

Operandos de Lgica
Ladder a Rel: nenhuma

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio:

IMPORTANTE No coloque uma instruo RET na rotina principal.


Se voc colocar uma instruo RET na rotina
principal, uma falha grave ocorre (tipo 4, cdigo 31).

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:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


a rotina principal contm uma instruo RET 4 31

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues For/Break (FOR, BRK, RET) 11-7

Execuo de Lgica
Ladder a Rel:

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.

Exemplo de Lgica
Ladder a Rel:
rotina que est chamando sub-rotina

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_2 em 1 todas as vezes.
Quando value_2 > 10 ou uma instruo BRK estiver
habilitada, a instruo FOR no mais executa routine_2.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


11-8 Instrues For/Break (FOR, BRK, RET)

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


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 FBC 12-2
j conhecida e registrar quaisquer
diferenas.
Comparar os dados com uma boa referncia DDT 12-10
j conhecida, registrar quaisquer diferenas
e atualizar a referncia para combinar com a
fonte.
Passar os dados da fonte pela mscara e DTR 12-18
comparar o resultado com os dados de
referncia. Em seguida, escrever a fonte na
referncia para a prxima comparao.
Controlar uma malha de PID. PID 12-21

1 Publicao 1756-RM003D-PT-P - Junho 2001


12-2 Instrues Especiais (FBC, DDT, DTR, PID)

Comparao de Bit de Linguagens Disponveis:

Arquivo (FBC)
Lgica Ladder

A instruo FBC compara os bits em uma matriz Source com os bits


em uma matriz Reference.

Operandos de 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 estrutura estrutura de controle para os resultados
control
Length DINT imediato nmero de locais de armazenamento
no resultado
Position DINT imediato posio atual no resultado
valor inicial normalmente 0

Use tags diferentes para comparar a estrutura de


ATENO
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-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-3

Estrutura de Comparao:

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.

Estrutura de Resultado:

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.

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


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.

Publicao 1756-RM003D-PT-P - Junho 2001


12-4 Instrues Especiais (FBC, DDT, DTR, PID)

Seleo do modo de busca

Se voc quiser detectar: Selecione este modo:


Uma diferena de vez em Energizar o bit .IN na estrutura CONTROL de comparao.
quando 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.

Flags de Status Aritmtico: no afetados

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


Result.POS > tamanho da matriz de resultado 4 20

Execuo de Lgica
Ladder:

Condio: Ao:

pr-varredura

o bit compare.EN
desenergizado.
o bit compare.FD desenergizado.

examinar bit compare .DN = 0


compare.DN

compare .DN = 1

o bit compare.DN desenergizado.


o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-5

Condio: Ao:

entrada da condio da linha for falsa

o bit compare .EN desenergizado.


o bit compare.FD desenergizado.

examinar bit compare.DN = 0


compare.DN

compare.DN = 1

o bit compare.DN desenergizado.


o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


12-6 Instrues Especiais (FBC, DDT, DTR, PID)

Condio: Ao:

entrada da condio da linha for verdadeira

examinar bit compare.EN = 1 ir para


compare.EN
a sada

compare.EN = 0

examinar bit compare.DN = 1 ir para a


o bit compare .EN sada
energizado. compare.DN

compare.DN = 0

o bit compare.ER sim


desenergizado. compare.LEN 0
o bit compare.FD
desenergizado.

no

sim
compare.POS < 0
sair

no o bit compare.ER energizado.

sada da condio da linha


definida como verdadeira
ir para a
comparar sada
fim
pgina 12-8

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-7

Condio: Ao:

compara

compare.POS sim compare.POS = compare.LEN ir para a


compare.LEN o bit compare.DN energizado. sada
pgina 12-7
no

result.DN = 1
o bit result.DN
no desenergizado.
source[compare.POS] = o bit compare.FD examinar o bit o valor result.POS
reference[compare.POS] energizado. result.DN desenergizado.

sim result.DN = 0

compare.POS =
compare.POS + 1
sim
result.POS < 0

no

sim
result.LEN 0

no o bit compare.ER energizado.

sim result.POS > ir para a


falha grave tamanho da matriz de sada
resultado
pgina12-7
no

result[result.POS] = compare.POS
result.POS = result.POS + 1

no result.POS >
result.LEN

sim

o bit result.DN energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


12-8 Instrues Especiais (FBC, DDT, DTR, PID)

Exemplo de Lgica
Ladder:

fonte 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
array_dint1

referncia 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
array_dint2

resultado 5 3
array_dint3

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.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-9

Deteco de Diagnstico Linguagens Disponveis:

(DDT)
Lgica Ladder

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:
Operando Tipo: Formato: Descrio:
Source DINT tag da matriz a ser comparada com a referncia
matriz no use CONTROL.POS em subscrito
Reference DINT tag da matriz a ser comparada com a fonte
matriz no use CONTROL.POS em subscrito
Result: DINT tag da matriz para armazenar os resultados
matriz 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 estrutura estrutura de controle para os resultados
control
Length DINT imediato nmero de locais de armazenamento
no resultado
Position DINT imediato posio atual no resultado
valor inicial normalmente 0

Use tags diferentes para comparar a estrutura de


ATENO
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-RM003D-PT-P - Junho 2001


12-10 Instrues Especiais (FBC, DDT, DTR, PID)

Estrutura de Comparao:

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.

Estrutura de Resultado:

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.

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-11

Seleo do modo de busca

Se voc quiser detectar: Selecione este modo:


Uma diferena de vez em Energizar o bit .IN na estrutura CONTROL de comparao.
quando 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.

Flags de Status Aritmtico: no afetados

Condies de Falha:

Uma falha grave ocorrer se: Tipo de falha: Cdigo de falha:


Result.POS > tamanho da matriz de 4 20
resultado

Execuo de Lgica
Ladder:

Condio: Ao:

pr-varredura

o bit compare .EN desenergizado.


o bit compare.FD desenergizado.

examinar bit compare.DN = 0


compare.DN

compare.DN = 1

o bit compare.DN desenergizado.


o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


12-12 Instrues Especiais (FBC, DDT, DTR, PID)

Condio: Ao:

entrada da condio da linha for falsa

o bit compare .EN desenergizado.


o bit compare.FD desenergizado.

examinar bit compare.DN = 0


compare.DN

compare.DN = 1

o bit compare.DN desenergizado.


o valor compare.POS
desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-13

Condio: Ao:

entrada da condio da linha for verdadeira

examinar o bit compare.EN = 1 ir para


compare.EN a sada

compare.EN = 0

examinar bit compare.DN bit = 1 ir para a


o bit compare .EN compare.DN sada
energizado.

compare.DN bit = 0

o bit compare.ER sim


desenergizado. compare.LEN 0
o bit compare.FD
desenergizado.

no

sim
compare.POS < 0
sair

o bit compare.ER energizado.


no

sada da condio da linha


definida como verdadeira

Comparar ir para a
sada
fim
pgina 12-16

Publicao 1756-RM003D-PT-P - Junho 2001


12-14 Instrues Especiais (FBC, DDT, DTR, PID)

Condio: Ao:

compara

compare.POS sim compare.POS = compare.LEN ir para a


compare.LEN o bit compare.DN energizado. sada
pgina 12-15
no

result.DN = 1
o bit compare.FD o bit result.DN
source[compare.POS] = no energizado. desenergizado.
examinar o bit o valor result.POS
reference[compare.POS] reference[compare.POS] result.DN
= source[compare.POS] desenergizado.

sim result.DN = 0

compare.POS =
compare.POS + 1
sim
result.POS < 0

no

sim
result.LEN 0

no o bit compare.ER energizado.

sim
result.POS > ir
falha grave tamanho da matriz de para
resultado
pgina 12-7
no

result[result.POS] = compare.POS
result.POS = result.POS + 1

no result.POS
result.LEN

sim

o bit result.DN energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-15

Exemplo de Lgica
Ladder:

fonte 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
array_dint1

referncia (antes da 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
comparao)
array_dint2

resultado: 5 3
array_dint3

referncia (depois da 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
comparao)
array_dint2
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.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


12-16 Instrues Especiais (FBC, DDT, DTR, PID)

Dados Transicionais (DTR) Linguagens Disponveis:

Lgica Ladder

A instruo DTR passa o valor Source por Mask e compara o resultado


com o valor Reference.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source DINT imediato matriz a ser comparada com a referncia
tag
Mask DINT imediato quais bits devem ser bloqueados ou podem
tag passar
Reference DINT tag matriz a ser comparada com a fonte

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


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.

A programao online com essa instruo pode ser


ATENO
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-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-17

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.

Prefixo: Descrio:
16# hexadecimal
por exemplo; 16#0F0F
8# octal
por exemplo; 8#16
2# binrio
por exemplo; 2#00110011

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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

no referncia definida igual fonte mascarada


masked source =
reference sada da condio da linha energizada quando
verdadeira

sim

sada da condio da
linha energizada
quando falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001


12-18 Instrues Especiais (FBC, DDT, DTR, PID)

Exemplo de Lgica
Ladder:

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.

exemplo 1 exemplo 2
fonte
value_1
7 1 8 3 9 1 8 7

mscara = 0FFF

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

referncia
value_2 0 1 8 7
varredura atual 0 1 8 3 varredura atual

varredura 0 1 8 3 0 1 8 3 varredura
anterior anterior
A linha permanecer falsa enquanto o A linha permanecer verdadeira durante uma
valor de entrada no for alterado. varredura quando uma alterao for detectada. 13385

Um 0 na mscara no altera o bit.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-19

Proporcional, Integral e Linguagens Disponveis:

Derivativo (PID)
Lgica Ladder

A instruo PID controla um tag de processo como, por exemplo,


fluxo, presso, temperatura ou nvel.

Operandos de Lgica
Ladder: Operando Tipo: Formato: Descrio:
PID PID estrutura estrutura PID
Process SINT tag valor a ser controlado
variable INT
DINT
REAL
Tieback SINT imediato (opcional)
INT tag sada de uma estao manual/automtica de
DINT hardware que est realizando bypass da
REAL sada do controlador
insira 0 se voc no quiser usar esse
parmetro
Control SINT tag valor que vai para o dispositivo de controle
variable INT final (vlvula, amortecedor etc.)
DINT se voc estiver usando a zona morta, Control
REAL variable deve ser do tipo REAL ou o mesmo
ser forado em 0 quando houver um erro
dentro da zona morta
PID master PID estrutura opcional
loop 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 tag opcional
INT valor de nova leitura de dados de uma canal
DINT de sada analgica 1756 para suportar uma
REAL reinicializao ininterrupta.
insira 0 se voc no quiser usar esse
parmetro
Setpoint somente display
valor atual do setpoint.
Process somente display
variable valor atual de Process Variable convertido
em escala
Output % somente display
valor de porcentagem da sada da corrente

Publicao 1756-RM003D-PT-P - Junho 2001


12-20 Instrues Especiais (FBC, DDT, DTR, PID)

Estrutura: Especifique uma estrutura PID nica para cada instruo PID.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-21

Mnemnico: Tipo de Dados: Descrio:


.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%)
.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)

Publicao 1756-RM003D-PT-P - Junho 2001


12-22 Instrues Especiais (FBC, DDT, DTR, PID)

Mnemnico: Tipo de Dados: Descrio:


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

Operandos do Bloco de Esta instruo no est disponvel no bloco de funo.


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.

bit .EN

estado da linha
execuo da instruo PID

41027

Flags de Status Aritmtico: no afetados

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-23

Condies de Falha:

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

Execuo de 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.

Execuo do Bloco de Esta instruo no est disponvel no bloco de funo.


Funo:

Configurao de uma Depois de inserir a instruo PID e especificar a estrutura PID, use a
guia Configuration para especificar como a instruo PID
Instruo PID deve funcionar.

Clique aqui para configurar a


instruo PID

Publicao 1756-RM003D-PT-P - Junho 2001


12-24 Instrues Especiais (FBC, DDT, DTR, PID)

Especificao do ajuste

Selecione a guia Tuning. As alteraes passam a ser aceitas, assim que


clicar em outro campo, OK, Apply ou Enter.

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 (Kp) 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 (Ki) 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 (Kd) 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.

Especificao da configurao

Selecione a guia Configuration. Voc deve clicar em OK ou Apply


para que as alteraes tenham validade.

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).
No bias calculation Habilita ou desabilita essa seleo (.NOBC).
No zero crossing in Habilita ou desabilita essa seleo (.NOZC).
deadband

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-25

No campo: Especifique
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).

Especificao de alarmes

Selecione a guia Alarms. Voc deve clicar em OK ou Apply para que


as alteraes tenham validade.

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

Especificao de converso de escala

Selecione a guia Scaling. Voc deve clicar em OK ou Apply para que


as alteraes tenham validade.

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 Insira as unidades de medida mximas correspondentes a .MAXI (.MAXS)
maximum
PV engineering units Insira as unidades de medida mnimas correspondentes a .MINII (.MINS)
minimum
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).

Publicao 1756-RM003D-PT-P - Junho 2001


12-26 Instrues Especiais (FBC, DDT, DTR, PID)

Utilizao das Instrues O controle de malha fechada PID mantm uma varivel de processo
em um setpoint desejado. A figura a seguir mostra um exemplo de
PID nvel de taxa de fludo/fluxo:

setpoint - erro
equao PID
+
taxa de fluxo
varivel de processo varivel de
controle

detector de nvel

14271

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.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-27

equao so fornecidos apenas para que voc use o tipo com o qual
est mais familiarizado.

Opo de Ganhos: Derivativo de Equao:


Ganhos dependentes error (E)
(padro ISA) t
1 dE
CV = K C E + ---- Edt + T d ------- + BIAS
Ti dt
0

process variable (PV)


E = SP - PV
t
1 dPV
CV = K C E + ---- Edt T d ----------- + BIAS
Ti dt
0

E = PV - SP
t
1 dPV
CV = K C E + ---- Edt + T d ----------- + BIAS
Ti dt
0

Ganhos independentes error (E)


t
dE
CV = K P E + K i Edt + Kd ------- + BIAS
dt
0

process variable (PV)


E = SP - PV
t
dPV
CV = K P E + Ki Edt K d ----------- + BIAS
dt
0

E = PV - SP
t
dPV
CV = K P E + K i Edt + Kd ----------- + BIAS
dt
0

Onde:

Varivel: Descrio:
KP ganho proporcional (sem unidade)
Kp = Kc sem unidade
Ki ganho integral (segundos -1)
Para converter entre Ki (ganho integral) e Ti (tempo de reset), use:
KC
K i = ----------
-
60T i

Kd ganho derivativo (segundos)


Para converter entre Kd (ganho derivativo) e Td (tempo da taxa), use:
Kd = Kc (Td) 60
KC ganho do controlador (sem unidade)

Publicao 1756-RM003D-PT-P - Junho 2001


12-28 Instrues Especiais (FBC, DDT, DTR, PID)

Varivel: Descrio:
Ti tempo de reset (minutos/repetio)
Td 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

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 Kd ou Td 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.

A instruo PID suporta dois modos manuais de controle:

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.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-29

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.: Ki = 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
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.

Publicao 1756-RM003D-PT-P - Junho 2001


12-30 Instrues Especiais (FBC, DDT, DTR, PID)

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.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-31

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.

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.

Publicao 1756-RM003D-PT-P - Junho 2001


12-32 Instrues Especiais (FBC, DDT, DTR, PID)

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.

Para configurar uma reinicializao initerrupta:

Faa o seguinte: Detalhes:


Configure o canal do mdulo de sada Selecione hold for initialization na pgina de propriedades para o canal especfico do
analgica 1756 que recebe a varivel de mdulo.
controle da instruo PID.
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 O mdulo de sada analgica 1756 retorna dois valores para cada canal na sua estrutura de
Value na instruo PID 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.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-33

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 (Kd > 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.

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.

+ zona morta

setpoint erro dentro da faixa da zona


morta
- zona morta

tempo 41026

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

Publicao 1756-RM003D-PT-P - Junho 2001


12-34 Instrues Especiais (FBC, DDT, DTR, PID)

energizar o bit de alarme e impedir que a sada ultrapasse o limite


superior ou inferior.

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-RM003D-PT-P - Junho 2001


Instrues Especiais (FBC, DDT, DTR, PID) 12-35

Na instruo MUL, insira:

Para este parmetro MUL: Insira este valor:


destination valor controlado
source A valor no controlado
source B razo

Publicao 1756-RM003D-PT-P - Junho 2001


12-36 Instrues Especiais (FBC, DDT, DTR, PID)

Teoria PID Os nmeros a seguir mostram o fluxo do processo para as instrues PID.

processo PID
SP Erro Exibido
Exibido como EUs
como EUs

Software A/M
ou
Modo A/M Station Polarizao
Ao de da Sada %
Controle
Software A/M Define
Auto SP-PV Mode Sada %
Converte Unidades A/M Station
(Erro) em % (Out%) Auto Mode
+ Clculo PID +
- Erro X 100 Auto Converte % em Unidades CV
SP Manual -1
PV-SP mx-mn. Limitao CV
PVT Manual da Sada CV%(mxcv-mncv)
+ mncv
no Define Manual 100
Sada %
PV
Exibido
sim como EUs Sada (CV) Exibida
em % do Fator de
Escala EU
Converte Binrio para Converte Unidades de
Unidades de Medida Tieback em %
(PV-mn)(mx-mn) + min tieback-mintie
mx-min x100
maxtie-mintie

PV

processo PID com malhas mestre/escravo


Malha
Mestre Software A/M
Ao de Polarizao
ou da Sada %
A/M Station Mode Controle
Software A/M Define
Auto SP-PV Mode A/M Station Sada %
Converte Unidade
(Erro) em % (Out%) Auto Mode
+ Clculo PID +
- Erro X 100 Auto
SP Manual -1
PV-SP mx-mn (Master.Out)
Limitao
PVT Define Manual da Sada
no Sada % Manual

Software
sim A/M Mode
Auto
Converte Binrio em SP Converte Unidades
Unidades de Medida em %
Manual
(PV-mn)(mx-mn) Erro X 100 Manual
+ mn PV
maxi-mini mx-mn Os itens relacionados nesta caixa
so parmetros, unidades e modos
pois pertencem malha Escrava

PV
Malha
Escravo Ao de Polarizao
Controle da Sada %
Define
Software A/M Sada %
Converte % em (SP) SP-PV Mode A/M Station
(Master.Out) Unidades de Medida Converte Unidades
+ em % Clculo PID Auto Mode
X (mx-mn) - +
+ mn -1 Erro X 100 Auto Converte % em
100 PV-SP mx-mn Limitao
Manual da Sada CV%(maxcv-mincv)
Define + mincv
Converte Binrio em Manual 100
Unidades de Medida Sada %
(PV-mn)(mx-mn)
+ mn Converte Unidades
maxi-mini
Tieback em %
tieback-mintie x100
maxtie-mintie
PV

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 13

Instrues Trigonomtricas
(SIN, COS, TAN, ASN, ACS, ATN)

Introduo As instrues trigonomtricas avaliam as operaes aritmticas usando


as operaes trigonomtricas.

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

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.

1 Publicao 1756-RM003D-PT-P - Junho 2001


13-2 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Seno (SIN) Idiomas disponveis:

Lgica Ladder Bloco de Funo

A instruo SIN calcula o seno do valor de Source (em radianos) e


coloca o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato calcula o seno desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura SIN

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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.

Descrio: A Fonte deve ser maior ou igual a -205887,4 (-2x215) e menor ou


igual a 205887,4 (2x215). O valor resultante em Destination sempre
maior ou igual a -1 e menor ou igual a 1.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-3

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo SIN calcula o seno de <1><8><1>. e coloca o resultado em


result.

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

Publicao 1756-RM003D-PT-P - Junho 2001


13-4 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-5

Co-seno (COS) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo COS calcula o co-seno do valor de Source (em radianos) e


coloca o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato calcula o co-seno desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura COS

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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-RM003D-PT-P - Junho 2001


13-6 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Descrio: A Fonte deve ser maior ou igual a -205887,4 (-2x215) e menor ou


igual a 205887,4 (2x215). 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:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo COS calcula o co-seno de <1><19><1> e coloca o resultado em result.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-7

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


13-8 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Tangente (TAN) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo TAN calcula a tangente do valor de Source (em radianos)


e coloca o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato calcula a tangente desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura TAN

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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-RM003D-PT-P - Junho 2001


Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-9

Descrio: A Fonte deve ser maior ou igual a -102943,7(-2x214) e menor ou


igual a 102943,7 (2x214).

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo TAN calcula a tangente de <1><19><1>e coloca o resultado


emresult.

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

Publicao 1756-RM003D-PT-P - Junho 2001


13-10 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-11

Arco Seno (ASN) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo ASN calcula o arco seno do valor de Source (em radianos)


e coloca o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato calcula o arco seno desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ASN

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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-RM003D-PT-P - Junho 2001


13-12 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Parmetros de sada

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.

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:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo ASN calcula o arco seno de <1><19><1> e coloca o resultado em result.

Execuo do Bloco de
Funo:

Condio: Ao:
pr-varredura Nenhuma ao tomada.
primeira varredura da instruo Nenhuma ao tomada.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-13

Condio: Ao:
primeira operao da instruo Nenhuma ao tomada.
EnableIn desenergizado EnableOut desenergizado.
EnableIn energizado A instruo executada.
EnableOut energizado.

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


13-14 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Arco Co-seno (ACS) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo ACS calcula o arco co-seno do valor de Source (em


radianos) e coloca o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato calcula o arco co-seno desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ACS

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


entrada:
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

Parmetros de sada

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-RM003D-PT-P - Junho 2001


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:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo ACS calcula o arco co-seno de <1><19><1> e coloca o resultado em result.

Execuo do Bloco de
Funo:

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-RM003D-PT-P - Junho 2001


13-16 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Arco Tangente (ATN) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo ATN calcula o arco tangente do valor de Source e coloca o


resultado em Destination (em radianos).

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato calcula o arco tangente desse valor
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura ATN

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-17

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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.

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:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo ATN calcula o arco tangente de <1><19><1> e coloca o


resultado em result.

Publicao 1756-RM003D-PT-P - Junho 2001


13-18 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

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

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN) 13-19

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001


13-20 Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 14

Instrues Matemticas Avanadas


(LN, LOG, XPY)

Introduo As instrues matemticas avanadas incluem estas instrues:

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

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.

1 Publicao 1756-RM003D-PT-P - Junho 2001


14-2 Instrues Matemticas Avanadas (LN, LOG, XPY)

Log Natural (LN) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo LN calcula o log natural de Source e coloca o resultado


em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato encontrar o log natural desse valor.
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura LN

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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-RM003D-PT-P - Junho 2001


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:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo LN calcula o log natural de value<F1> e coloca o resultado em <F19><F1>result.

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Publicao 1756-RM003D-PT-P - Junho 2001


14-4 Instrues Matemticas Avanadas (LN, LOG, XPY)

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Base Log de 10 (LOG) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo LOG calcula a base log de 10 de Source e coloca o


resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato encontrar o log natural desse valor.
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura LOG

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas Avanadas (LN, LOG, XPY) 14-5

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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.

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:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo LOG calcula o log natural de value<F1> e coloca o resultado em <F19><F1>result.

Publicao 1756-RM003D-PT-P - Junho 2001


14-6 Instrues Matemticas Avanadas (LN, LOG, XPY)

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas Avanadas (LN, LOG, XPY) 14-7

X Elevado Potncia de Y Linguagens

(XPY)
Lgica Ladder Bloco de Funo

A instruo XPY calcula Source A (X) elevado potncia de Source B


(Y) e armazena o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source A SINT imediato valor de base
INT tag
DINT
REAL
Source B SINT imediato exponente
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH estrutura estrutura XPY

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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-RM003D-PT-P - Junho 2001


14-8 Instrues Matemticas Avanadas (LN, LOG, XPY)

Parmetros de sada

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.

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 x0=1 e 0x=0.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha:

Uma falha de advertncia ocorrer se: Tipo de falha: Cdigo de


falha:
Source A negativa e Source B no um valor 4 4
inteiro

Execuo de 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 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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo XPY calcula value_1 elevado potncia de value_2 e coloca o resultado em result.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues Matemticas Avanadas (LN, LOG, XPY) 14-9

Execuo 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 est desenergizado EnableOut est desenergizado.
EnableIn est energizado A instruo executa.
EnableOut est energizado.

Exemplo do Bloco de
Funo:

function_block_A

function_block_C

function_block_B

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.

Publicao 1756-RM003D-PT-P - Junho 2001


14-10 Instrues Matemticas Avanadas (LN, LOG, XPY)

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 15

Instrues de Converso Matemtica


(DEG, RAD, TOD, FRD, TRN)

Introduo As instrues de converso matemtica convertem valores.

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

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.

1 Publicao 1756-RM003D-PT-P - Junho 2001


15-2 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)

Graus (DEG) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo DEG converte Source (em radianos) para graus e coloca o


resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor a ser convertido em graus.
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura DEG

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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.

Descrio: A instruo DEG usa este algoritmo:


Source*180/ (onde = 3,141593)

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-3

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo DEG converte <1><19><1> em graus e coloca o resultado em result.

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

Publicao 1756-RM003D-PT-P - Junho 2001


15-4 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-5

Radianos (RAD) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo RAD converte Source (em graus) para radianos e coloca o


resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor a ser convertido em radianos
INT tag
DINT
REAL
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_MATH_ADVANCED estrutura estrutura RAD

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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.

Descrio: A instruo RAD usa esse algoritmo:


Source*/180 (onde = 3,141593)

Publicao 1756-RM003D-PT-P - Junho 2001


15-6 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo RAD converte <1><19><1> em radianos e coloca o resultado em result.

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-7

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


15-8 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)

Converso para BCD (TOD) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

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:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor a ser convertido em decimal.
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_CONVERT estrutura estrutura TOD

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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-RM003D-PT-P - Junho 2001


Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-9

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:

Uma falha de advertncia ocorrer Tipo de falha: Cdigo de falha:


se:
source < 0 4 4

Execuo de Lgica
Ladder:

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

no no
source < 0 source > 99.999.999 converter fonte para BCD

sim sim

S:V definido em 1

a sada da condio da linha


energizada quando verdadeira

fim

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.

Publicao 1756-RM003D-PT-P - Junho 2001


15-10 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo TOD converte value_1 em um valor BCD e coloca o resultado em result_a.

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

Exemplo do Bloco de
Funo:

function_block_A

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-11

Converso para Inteiro Linguagens Disponveis:

(FRD)
Lgica Ladder Bloco de Funo

A instruo FRD converte um valor BCD (Source) para um valor


decimal e armazena o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source SINT imediato valor a ser convertido em decimal.
INT tag
DINT
Um tag SINT ou INT convertido para um valor DINT por preenchimento
com zero.
Destination SINT tag armazena o resultado
INT
DINT

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_CONVERT estrutura estrutura FRD

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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.

Descrio: A instruo FRD converte um valor BCD (Source) para um valor


decimal e armazena o resultado em Destination.

Publicao 1756-RM003D-PT-P - Junho 2001


15-12 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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.

Exemplo de Lgica
Ladder:

Quando habilitada, a instruo FRD converte value_a para um valor decimal e coloca o resultado em result_1.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-13

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

Exemplo do Bloco de
Funo:

function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


15-14 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)

Truncagem (TRN) Linguagens Disponveis:

Lgica Ladder Bloco de Funo

A instruo TRN remove (trunca) a parte fracional de Source e


armazena o resultado em Destination.

Operandos de Lgica
Ladder:
Operando Tipo: Formato: Descrio:
Source REAL imediato valor a ser truncado
tag
Destination SINT tag tag para armazenar o resultado
INT
DINT
REAL

Operandos do Bloco de
Funo:
Operando Tipo: Formato: Descrio:
tag do bloco FBD_TRUNCATE estrutura estrutura TRN

Estrutura: Parmetros de entrada

Parmetro de Tipo de Dados: Descrio:


Entrada:
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

Parmetros de sada

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.

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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN) 15-15

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

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.

Exemplo de Lgica
Ladder:

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.

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

Publicao 1756-RM003D-PT-P - Junho 2001


15-16 Instrues de Converso Matemtica (DEG, RAD, TOD, FRD, TRN)

Exemplo do Bloco de
Funo:

function_block_A function_block_C

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.

Publicao 1756-RM003D-PT-P - Junho 2001


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.

IMPORTANTE Para usar as instrues de porta serial ASCII, voc


deve configurar a porta serial do controlador.
Consulte Procedimentos Comuns dos Controladores
Logix5000, publicao 1756-PM001.

Se voc quiser: Por exemplo: Use esta instruo: Consulte


pgina:
determinar quando o buffer contm verificar os dados que contenham caracteres ABL 16-7
caracteres de terminao de terminao
contar os caracters no buffer verificar o nmero solicitado dos caracteres ACB 16-10
antes de ler o buffer
remover o buffer remover dados antigos do buffer no ACL 16-12
start-up
remover instrues de Porta Serial ASCII que
sincronizar o buffer com um
esto sendo executadas atualmente ou esto dispositivo
na fila
obter o status das linhas de controle da porta fazer com que o modem desligue AHL 16-14
serial
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 ARD 16-17
mesmo nmero de caracteres em cada
transmisso
ler um nmero de caracteres varivel, at e ler os dados a partir de um dispositivo que ARL 16-20
incluindo o primeiro conjunto de caracteres envia um nmero de caracteres varivel em
de terminao cada transmisso
enviar caracteres e, automaticamente, enviar mensagens que sempre usam o(s) AWA 16-24
acrescentar um ou dois caracteres adicionais mesmo(s) caracter(es) de extremidade
para marcar o fim dos dados
enviar caracteres enviar mensagens que usam vrios AWT 16-28
caracteres de terminao

1 Publicao 1756-RM003D-PT-P - Junho 2001


16-2 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Execuo da Instruo

As instrues de porta serial ASCII so executadas de forma


assncrona ao scan da lgica:

Lgica Fila ASCII Tarefa ASCII

Quando a entrada da Instruo 1 Instruo na parte


condio da linha passa superior da fila
de falsa para verdadeira Instruo 2 executada.
Instruo 3

Instruo 4
Os dados fluem
A instruo entra na entre a tarefa e o
fila ASCII. buffer.

Os dados fluem entre o


buffer e a porta serial
Serial Port Buffer

Cada instruo de porta serial ASCII (exceto a ACL) usa uma estrutura
SERIAL_PORT_CONTROL para realizar as seguintes funes:

controla a execuo da instruo


fornece as informaes de status sobre a instruo

Publicao 1756-RM003D-PT-P - Junho 2001


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

scan scan scan scan

entrada da falsa verdadeira falsa verdadeira falsa


condio da linha

.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

entra na fila reseta os bits de status

executa quando efetuado o scan e


.DN ou .ER forem definidos,
neste exemplo, encontra os o bit .EM energiza
caracteres de terminao

Publicao 1756-RM003D-PT-P - Junho 2001


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 scan subsequente da instruo,
como representado abaixo:

scan scan scan scan

entrada da falsa verdadeira falsa


condio da linha

.EN off on

.EU off on

tenta entrar na fila, mas a fila est cheia

entra na fila

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-5

Cdigos de Erro ASCII

Se uma instruo de porta serial ASCII falhar na execuo, o membro


ERROR de sua estrutura SERIAL_PORT_CONTROL conter um dos
seguintes cdigos de erro hexadecimais:

Este cdigo Indica que:


hex:
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 de porta serial ASCII
e remove a fila 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 de porta serial ASCII e remove a fila 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. Isso pra a execuo de uma
instruo de porta serial ASCII e remove a fila da instruo de porta serial ASCII.
16#51 O valor LEN do tag string negativo ou maior que o tamanho de DATA do tag string.
16#54 O Comprimento de Controle da Porta Serial maior que o tamanho do buffer.
16#55 O Comprimento de Controle da Porta Serial negativo ou maior que o tamanho de Source ou Destination.

Publicao 1756-RM003D-PT-P - Junho 2001


16-6 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Tipos de String

Voc armazena os caracteres ASCII em tags que usam um tipo de


dados tipo string.

Voc pode usar o tipo de dados STRING padro. Ele armazena


at 82 caracteres.
Voc pode criar um novo tipo de string que armazene menos ou
mais caracteres.

Para criar um novo tipo de string, consulte Procedimentos Comuns


dos Controladores Logix5000, publicao 1756-PM001.
42811

Cada tipo de string contm os seguintes membros:

Nome: Tipo de Descrio: Notas:


Dados:
LEN DINT nmero de caracteres A LEN atualiza a nova contagem de caracteres automaticamente sempre que voc:
no string usar a janela String Browser para inserir caracteres
usar as instrues que lem, convertem ou manipulam um string

A LEN mostra o comprimento do string atual. O membro DATA pode conter


caracteres adicionais, antigos, que no esto includos na contagem de LEN.
DATA matriz SINT caracteres ASCII do Para acessar os caracteres do string, enderee o nome do tag.
string Por exemplo, para acessar os caracteres do tag string_1, insira string_1.

Cada elemento da matriz DATA contm um caracter.

Voc pode criar novos tipos de string que armazenem menos ou mais
caracteres.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-7

Teste ASCII Para Linha do Linguagens Disponveis:

Buffer (ABL)
Lgica Ladder

A instruo ABL conta os caracteres no buffer at o primeiro conjunto


de caracteres da extremidade.

Operandos de Lgica
Ladder: ABL
ASCII Test For Buffer Line EN
Channel ? DN
SerialPort Control ? ER
Character Count ?

42225

Operando: Tipo: Formato: Insira:


Channel DINT imediato 0
tag
Porta Serial SERIAL_PORT_ tag tag que controla a operao
Control CONTROL
Character DINT imediato 0
Count
Durante a execuo, exibe o nmero de
caracteres no buffer, at e incluindo o
primeiro conjunto dos caracteres de
terminao.

Estrutura
SERIAL_PORT_CONTROL:

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.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


16-8 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 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.

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:

Condio: Ao:
pr-scan 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.

Exemplo de Lgica
Ladder:

Testa o buffer continuamente para caracteres de terminao

MV_line.EN ABL
/ ASCII Test For Buffer Line EN
Channel 0 DN
SerialPort Control MV_line ER
Character Count 0

42226

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-9

Caracteres ASCII no Buffer Linguagens Disponveis:

(ACB)
Lgica Ladder

A instruo ACB conta os caracteres no buffer.

Operandos de Lgica
Ladder: ACB
ASCII Chars in Buffer EN
Channel ? DN
SerialPort Control ? ER
Character Count ?

42225

Operando: Tipo: Formato: Insira:


Channel: DINT imediato 0
tag
Porta Serial SERIAL_PORT_ tag tag que controla a operao
Control CONTROL
Character DINT imediato 0
Count
Durante a execuo, exibe o nmero de
caracteres no buffer.

Estrutura
SERIAL_PORT_CONTROL:

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.

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


16-10 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

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.

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:

Condio: Ao:
pr-scan 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.

Exemplo de Lgica
Ladder:

Contar continuamente os caracteres no buffer

bar_code_count.EN ACB
/ ASCII Chars in Buffer EN
Channel 0 DN
SerialPort Control bar_code_count ER
Character Count 0

42227

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-11

Remoo de Buffer e da Linguagens Disponveis:

Fila ASCII (ACL)


Lgica Ladder

A instruo ACL imediatamente remove o buffer e a fila ASCII.

Operandos de Lgica
Ladder: ACL
ASCII Clear Buffer
Channel ?
Clear Serial Port Read ?
Clear Serial Port Write ?

42225

Operando: Tipo: Formato: Insira:


Channel: DINT imediato 0
tag
Clear Serial BOOL imediato Para esvaziar o buffer e remover as
Port Read tag instrues ARD e ARL da fila, digite Yes.
Clear Serial BOOL imediato Para remover as instrues AWA e AWT da
Port Write tag fila, digite Yes.

Operandos do 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

Publicao 1756-RM003D-PT-P - Junho 2001


16-12 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Para programar a instruo ACL, siga estas orientaes:

1. Configure a porta serial do controlador:

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

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

Execuo de Lgica
Ladder:

Condio: Ao:
pr-scan 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.

Exemplo de Lgica
Ladder:

Quando o controlador entra no modo Run, remove o buffer e a fila ASCII

S:FS ACL
ASCII Clear Buffer
Channel 0
Clear Serial Port Read 1
Clear Serial Port Write 1

42228

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-13

Linhas ASCII Handshake Linguagens Disponveis:

(AHL)
Lgica Ladder

A instruo AHL obtm o status das linhas de controle e liga e desliga


os sinais DTR e RTS.

Operandos de Lgica
Ladder: AHL
ASCII Handshake Lines EN
Channel ?
AND Mask ? DN
??
OR Mask ? ER
??
SerialPort Control ?
Channel Status(Decimal) ?
42225

Operando: Tipo: Formato: Insira:


Channel: DINT tag 0
imediato
ANDMask DINT imediato Consulte a descrio.
tag
ORMask DINT imediato
tag
Porta Serial SERIAL_PORT_ tag tag que controla a operao
Control CONTROL
Channel DINT imediato 0
Status
(Decimal) Durante a execuo, exibe o status das
linhas de controle.

Estrutura
SERIAL_PORT_CONTROL:

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-RM003D-PT-P - Junho 2001


16-14 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

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:

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

2. Use as tabelas seguintes para selecionar os valores corretos para


os operandos ANDMask e ORMask:

DTR: RTS: Digite este valor E digite este valor


ANDMask: 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

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

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-15

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 57 A instruo AHL falhou na execuo, pois a porta serial Ou:
est configurada para sem handshaking. Mude a configurao de Control Line da porta
serial.
Delete a instruo AHL.

Execuo de Lgica
Ladder:

Condio: Ao:
pr-scan 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.

Exemplo de Lgica
Ladder:

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.

get_control_line_status AHL
ASCII Handshake Lines EN
Channel 0
AND Mask 0 DN

OR Mask 0 ER

SerialPort Control serial_port


Channel Status(Decimal) 29

42230

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


16-16 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Leitura ASCII (ARD) Linguagens Disponveis:

Lgica Ladder

A instruo ARD remove os caracteres do buffer e armazena-os em


Destination.

Operandos de Lgica
Ladder: ARD
ASCII Read EN
Channel ?
Destination ? DN
??
SerialPort Control ? ER
SerialPort Control Length ?
Characters Read ?
42225

Operando: Tipo: Formato: Insira: Notas:


Canal: DINT imediato 0
tag
Destination tipo de string tag tag para o qual os Se voc quiser comparar, converter ou
SINT caracteres so movidos manipular os caracteres, insira um tag
INT (leitura): do tipo string.
DINT Para um tipo de Os tipos de string so:
string, insira o tipo de dados STRING padro
nome do tag.
qualquer tipo de string novo que
Para uma matriz
SINT, INT ou DINT, voc criar
insira o primeiro
elemento da matriz.
Serial Port SERIAL_PORT_ tag tag que controla a
Control CONTROL operao
Serial Port DINT imediato nmero de caracteres para O Serial Port Control Length deve ser
Control Length mover para destination menor ou igual ao tamanho de
(leitura) Destination.
Se voc quiser configurar Serial Port
Control Length para igual ao tamanho
de Destination, insira 0.
Characters Read DINT imediato 0 Durante a execuo, exibe o nmero de
caracteres que foram lidos.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-17

Estrutura
SERIAL_PORT_CONTROL:

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
.LEN DINT O comprimento (length) indica o nmero de caracteres para mover para destination (leitura).
.POS DINT A posio (position) exibe o nmero de caracteres que foram lidos.
.ERRO DINT O erro contm um valor hexadecimal que identifica a causa de um erro.

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 ARD remove o nmero especfico de
caracteres do buffer e armazena-os em Destination.

A instruo ARD continua a ser executada at que remova o


nmero especificado de caracteres (Serial Port Control Length).
Enquanto a instruo ARD est sendo executada, nenhuma
instruo de Porta Serial ASCII executada.

Para programar a instruo ARD, siga estas orientaes:

1. Configure a porta serial do controlador para o modo user.

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

3. Alterne a entrada da condio de linha da instruo ARD de


falsa para verdadeira toda vez que o buffer for para ser lido.

4. Para disparar a ao subseqente quando a instruo for


concluda, examine o bit EM.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Publicao 1756-RM003D-PT-P - Junho 2001


16-18 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Execuo de Lgica
Ladder:

Condio: Ao:
pr-scan 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.

Exemplo de Lgica O exemplo seguinte representa o uso de uma instruo ACB para
Ladder: verificar se o nmero correto de caracteres est no buffer antes que a
instruo ARD execute e leia os caracteres.

Uma leitora de cdigos de barra envia os cdigos de barra para a porta serial (canal 0) do controlador. Cada cdigo de barra contm
24 caracteres. Para determinar quando o controlador recebe um cdigo de barra, a instruo ACB conta continuamente os caracteres no
buffer.

bar_code_count.EN ACB
/ ASCII Chars in Buffer EN
Channel 0 DN
SerialPort Control bar_code_count ER
Character Count 0

Quando o buffer contiver pelo menos 24 caracteres, o controlador recebeu o cdigo de barra. A instruo ARD move o cdigo de barra para
o membro DATA do tag bag_bar_code, que um tipo de string.

GEQ ARD
Grtr Than or Eql (A>=B) ASCII Read EN
Source A bar_code_count.pos Channel 0
0 Destination bag_bar_code DN
Source B 24 ''
SerialPort Control bar_code_read ER
SerialPort Control Length 24
Characters Read 0

42227

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-19

Linha de Leitura ASCII Linguagens Disponveis:

(ARL)
Lgica Ladder

A instruo ARL remove caracteres do buffer e armazena-os em


Destination.

Operandos de Lgica
Ladder: ARL
ASCII Read Line EN
Channel ?
Destination ? DN
??
SerialPort Control ? ER
SerialPort Control Length ?
Characters Read ?
42225

Operando: Tipo: Formato: Insira: Notas:


Canal: DINT imediato 0
tag
Destination tipo de string tag tag para o qual os Se voc quiser comparar, converter ou
SINT caracteres so movidos manipular os caracteres, insira um tag
INT (leitura): do tipo string.
DINT Para um tipo de Os tipos de string so:
string, insira o tipo de dados STRING padro
nome do tag.
qualquer tipo de string novo que
Para uma matriz
SINT, INT ou DINT, voc criar
insira o primeiro
elemento da matriz.
Serial Port SERIAL_PORT_ tag tag que controla a
Control CONTROL operao
Serial Port DINT imediato nmero mximo de Digite o nmero mximo de caracteres
Control Length caracteres para ler se que qualquer mensagem conter (ou
nenhum caracter de seja, quando parar de ler se nenhum
terminao for encontrado caracter de terminao for encontrado).

Por exemplo, se as mensagens variarem


de 3 a 6 caracteres no comprimento,
digite 6.

O Serial Port Control Length deve ser


menor ou igual ao tamanho de
Destination.
Se voc quiser configurar Serial Port
Control Length para igual ao tamanho
de Destination, insira 0.
Characters Read DINT imediato 0 Durante a execuo, exibe o nmero de
caracteres que foram lidos.

Publicao 1756-RM003D-PT-P - Junho 2001


16-20 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Estrutura
SERIAL_PORT_CONTROL:

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
.LEN DINT O comprimento (length) indica o nmero mximo de caracteres para mover para destination
(ou seja, quando parar de ler se nenhum caracter de terminao for encontrado).
.POS DINT A posio (position) exibe o nmero de caracteres que foram lidos.
.ERRO DINT O erro contm um valor hexadecimal que identifica a causa de um erro.

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 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 (Serial Port Control Length)
Enquanto a instruo ARL est sendo executada, nenhuma
instruo de porta serial 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-21.

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. Para disparar a ao subseqente quando a instruo for


concluda, examine o bit EM.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-21

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

Condio: Ao:
pr-scan 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.

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.

Testa o buffer continuamente para uma mensagem do terminal MessageView. Como cada mensagem termina com um caracter $r, este
caracter configurado como o caracter de terminao na janela Controller Properties, guia User Protocol. Quando a ABL encontra um
caracter $r, ela energiza o bit FD.

MV_line.EN ABL
/ ASCII Test For Buffer Line EN
Channel 0 DN
SerialPort Control MV_line ER
Character Count 0

Quando a instruo ABL encontra um $r (MV_line.FD energizado) o controlador recebeu uma mensagem completa. A instruo ARL
remove os caracteres do buffer, at e incluindo o $r e coloca-os no membro DATA do tag MV_msg, que um tipo de string.

MV_line.FD ARL
ASCII Read Line EN
Channel 0
Destination MV_msg DN
''
SerialPort Control MV_read ER
SerialPort Control Length 12
Characters Read 0

42226

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


16-22 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Anexar Leitura ASCII Linguagens Disponveis:

(AWA)
Lgica Ladder

A instruo AWA envia um nmero especfico de caracteres do tag


Source para um dispositivo serial e anexa um ou dois caracteres
pr-definidos.

Operandos de Lgica
Ladder: AWA
ASCII Write Append EN
Channel ?
Source ? DN
??
SerialPort Control ? ER
SerialPort Control Length ?
Characters Sent ?
42225

Operando: Tipo: Formato: Insira: Notas:


Canal: DINT imediato 0
tag
Source tipo de string tag tag que contm os Se voc quiser comparar, converter ou
SINT caracteres a serem manipular os caracteres, insira um tag
INT enviados: do tipo string.
DINT Para um tipo de Os tipos de string so:
string, insira o tipo de dados STRING padro
nome do tag.
qualquer tipo de string novo que
Para uma matriz
voc criar
SINT, INT ou DINT,
insira o primeiro
elemento da matriz.
Serial Port SERIAL_PORT_ tag tag que controla a
Control CONTROL operao
Serial Port DINT imediato nmero de caracteres a O Serial Port Control Length deve ser
Control Length serem enviados menor ou igual ao tamanho de Source.
Se voc quiser configurar Serial Port
Control Length para igual ao nmero de
caracteres em Source, insira 0.
Characters Read DINT imediato 0 Durante a execuo, exibe o nmero de
caracteres que foram enviados.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-23

SERIAL_PORT_CONTROL
Estrutura:

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
.LEN DINT O comprimento (length) indica o nmero de caracteres a serem enviados.
.POS DINT A posio (position) exibe o nmero de caracteres que foram enviados.
.ERRO DINT O erro contm um valor hexadecimal que identifica a causa de um erro.

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 AWA:

envia o nmero especfico de caracteres (Serial Port Control


Length) do tag Source para o dispositivo que est conectado
porta serial do controlador
adiciona ao fim de characters (anexa) um ou dois caracteres que
so definidos na janela Controller Properties, guia User Protocol

Publicao 1756-RM003D-PT-P - Junho 2001


16-24 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

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?

Se: Ento:
sim Selecione modo do Usurio
no Selecione ou o modo do Sistema ou do
Usurio

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. Voc sempre quer enviar o mesmo nmero de caracteres a cada


vez que a instruo executada?

Se: Ento:
Sim Em Serial Port Control Length, insira o nmero de caracteres a serem
enviados.
No Antes da instruo ser executada, mova o membro LEN do tag
Source para o membro LEN do tag Serial Port Control.
Consulte Exemplo 2 na pgina 16-27.

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

Condio: Ao:
pr-scan 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.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-25

Exemplo de Lgica
Ladder:

Exemplo 1
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 cinco caracteres do membro DATA do tag string[1], que um tipo
de string. O $14 contado como um caracter. (Ele o cdigo hexadecimal para o caracter Ctrl-T.) A instruo tambm envia (anexos) os
caracteres definidos nas propriedades do controlador. Neste exemplo, a instruo AWA envia um caracterer $0D, que marca o fim da
mensagem.

temp_high AWA
ASCII Write Append EN
Channel 0
Source string[1] DN
'$1425\1'
SerialPort Control temp_high_write ER
SerialPort Control Length 5
Characters Sent 6

Exemplo 2
Quando alarm estiver on, a instruo AWA envia o nmero especfico de caracteres em alarm_msg e anexo um caracter de terminao (s).
Como o nmero de caracteres em alarm_msg varia, a linha move primeiro o comprimento do string (alarm_msg.LEN) para Serial Port
Control Length da instruo AWA (alarm_write.LEN). Em alarm_msg, o $14 contado como um caracter. Ele o cdigo hexadecimal para
o caracter Ctrl-T.

alarm MOV AWA


Move ASCII Write Append EN
Source alarm_msg.LEN Channel 0
5 Source alarm_msg DN
Dest alarm_write.LEN '$1425\1'
5 SerialPort Control alarm_write ER
SerialPort Control Length 5
Characters Sent 6

42229

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


16-26 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Escrita ASCII (AWT) Linguagens Disponveis:

Lgica Ladder

A instruo AWT envia um nmero especfico de caracteres do tag


Source para um dispositivo serial.

Operandos de Lgica
Ladder: AWT
ASCII Write EN
Channel ?
Source ? DN
??
SerialPort Control ? ER
SerialPort Control Length ?
Characters Sent ?
42225

Operando: Tipo: Formato: Insira: Notas:


Canal: DINT imediato 0
tag
Source tipo de string tag tag que contm os Se voc quiser comparar, converter ou
SINT caracteres a serem manipular os caracteres, insira um tag
INT enviados: do tipo string.
DINT Para um tipo de Os tipos de string so:
string, insira o tipo de dados STRING padro
nome do tag.
qualquer tipo de string novo que
Para uma matriz
SINT, INT ou DINT, voc criar
insira o primeiro
elemento da matriz.
Serial Port SERIAL_PORT_ tag tag que controla a
Control CONTROL operao
Serial Port DINT imediato nmero de caracteres a O Serial Port Control Length deve ser
Control Length serem enviados menor ou igual ao tamanho de Source.
Se voc quiser configurar Serial Port
Control Length para igual ao nmero de
caracteres em Source, insira 0.
Characters Read DINT imediato 0 Durante a execuo, exibe o nmero de
caracteres que foram enviados.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) 16-27

Estrutura
SERIAL_PORT_CONTROL:

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.
.LEN DINT O comprimento (length) indica o nmero de caracteres a serem enviados.
.POS DINT A posio (position) exibe o nmero de caracteres que foram enviados.
.ERRO DINT O erro contm um valor hexadecimal que identifica a causa de um erro.

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 de falsa


para verdadeira, a instruo AWT envia o nmero especfico de
caracteres (Serial Port Control Length) do tag Source para o
dispositivo que est conectado porta serial do controlador.

Para programar a instruo AWT, siga estas orientaes:

1. Configure a porta serial do controlador:

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

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. Voc sempre quer enviar o mesmo nmero de caracteres a cada


vez que a instruo executada?

Se: Ento:
Sim Em Serial Port Control Length, insira o nmero de caracteres a serem
enviados.
No Antes da instruo ser executada, mova o membro LEN do tag
Source para o membro LEN do tag Serial Port Control.
Consulte Exemplo 2 na pgina 16-30.

Publicao 1756-RM003D-PT-P - Junho 2001


16-28 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)

Flags de Status Aritmtico: no afetados

Condies de Falha: nenhuma

Execuo de Lgica
Ladder:

Condio: Ao:
pr-scan 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.

Exemplo de Lgica
Ladder:

Exemplo 1
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 nove caracteres do membro DATA do tag string[2],
que um tipo de string. O $14 contado como um caracter. (Ele o cdigo hexadecimal para o caracter Ctrl-T.) O ltimo caracter um $r,
que marca o fim da mensagem.

temp_low AWT
ASCII Write EN
Channel 0
Source string[2] DN
'$142224\01$r'
SerialPort Control temp_low_write ER
SerialPort Control Length 9
Characters Sent 9

Exemplo 2
Quando MV_update estiver on, a instruo AWT envia o caracter em MV_msg. Como o nmero de caracteres em MV_msg varia, a linha
move primeiro o comprimento do string (MV_msg.LEN) para Serial Port Control Length da instruo AWT (MV_write.LEN). Em MV_msg, o
$16 contado como um caracter. Ele o cdigo hexadecimal para o caracter Ctrl-V.

MV_update MOV AWT


Move ASCII Write EN
Source MV_msg.LEN Channel 0
10 Source MV_msg DN
Dest MV_write.LEN '$161365\8\1$r'
10 SerialPort Control MV_write ER
SerialPort Control Length 10
Characters Sent 10

42229

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 17

Instrues de String ASCII


(CONCAT, DELETE, FIND, INSERT, MID)

Introduo Use as instrues de string ASCII para modificar e criar strings de


caracteres ASCII.

Se voc quiser: Por exemplo: Use esta instruo: Consulte pgina:


adicionar caracteres ao final de um string adicionar caracteres de terminao ou CONCAT 17-3
delimitadores a um string
remover caracteres de um string remover caracteres de cabealho ou DELETE 17-5
controle de um string
determinar o caracter inicial de um sub-string localizar um grupo de caracteres dentro de FIND 17-7
um string
inserir caracteres em um string criar um string que usa variveis INSERT 17-9
extrair caracteres de um string extrair informaes de um cdigo de barras MID 17-11

Voc tambm pode usar as seguintes instrues para comparar ou


converter caracteres ASCII:

Se voc quiser: Use esta instruo: Consulte pgina:


ver se os caracteres so iguais a caracteres especficos EQU 4-7
ver se os caracteres no so iguais a caracteres especficos NEQ 4-38
ver se os caracteres so iguais ou maiores que caracteres especficos GEQ 4-11
ver se os caracteres so maiores que caracteres especficos GRT 4-15
ver se os caracteres so iguais ou menores que caracteres especficos LEQ 4-19
ver se os caracteres so menores que caracteres especficos LES 4-23
converter caracteres para um valor SINT, INT, DINT ou REAL STOD 18-3
converter caracteres para um valor REAL STOR 18-5
converter um valor SINT, INT, DINT ou REAL para um string de caracteres ASCII DTOS 18-7
converter um valor REAL para um string de caracteres ASCII RTOS 18-9

1 Publicao 1756-RM003D-PT-P - Junho 2001


17-2 Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID)

Tipos de String

Voc armazena caracteres ASCII em tags que usam um tipo de dados


tipo string.

Voc pode usar o tipo de dados STRING padro. Ele armazena


at 82 caracteres.
Voc pode criar um novo tipo de string que armazene menos ou
mais caracteres.

Para criar um novo tipo de string, consulte Procedimentos Comuns


dos Controladores Logix5000, publicao 1756-PM001.
42811

Cada tipo de string contm os seguintes membros:

Nome: Tipo de Descrio: Notas:


Dados:
LEN DINT nmero de caracteres A LEN atualiza a nova contagem de caracteres automaticamente sempre que voc:
no string usar a janela String Browser para inserir caracteres
usar as instrues que lem, convertem ou manipulam um string

A LEN mostra o comprimento do string atual. O membro DATA pode conter


caracteres adicionais, antigos, que no esto includos na contagem de LEN.
DATA matriz SINT caracteres ASCII do Para acessar os caracteres do string, enderee o nome do tag.
string Por exemplo, para acessar os caracteres do tag string_1, insira string_1.

Cada elemento da matriz DATA contm um caracter.

Voc pode criar novos tipos de string que armazenem menos ou mais
caracteres.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID) 17-3

Concatenao de String Linguagens Disponveis:

(CONCAT)
Lgica Ladder

A instruo CONCAT adiciona caracteres ASCII ao final de um string.

Operandos de Lgica
Ladder: CONCAT
String Concatenate
Source A ?
??
Source B ?
??
Dest ?
??
42617

Operando: Tipo: Formato: Insira: Notas:


Source A tipo de string tag tag que contm os Os tipos de string so:
caracteres iniciais tipo de dados STRING padro
qualquer tipo de string novo que voc
Source B tipo de string tag tag que contm os
criar
caracteres finais
Destination tipo de string tag tag para armazenar o
resultado

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha for verdadeira, a instruo CONCAT


combina os caracteres em Source A com os caracteres em Source B e
coloca o resultado em Destination.

Os caracteres de Source A so os primeiros, seguidos dos


caracteres de Source B.
A menos que Source A e Destination sejam o mesmo tag, Source
A permanece inalterado.

Flags de Status Aritmtico: no afetados

Publicao 1756-RM003D-PT-P - Junho 2001


17-4 Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que 1. Verifique se nenhuma instruo est escrevendo para o membro
o tamanho de DATA do tag string. LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.

Execuo da 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 instruo executa.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

Para disparar uma mensagem em um terminal MessageView, o controlador deve enviar um string ASCII que contenha um nmero de
mensagem e um nmero de n. String_1 contm o nmero da mensagem. Quando add_node estiver energizado, a instruo CONCAT
adiciona os caracteres em node_num_ascii (nmero do n) ao final dos caracteres em string_1 e, ento, armazena o resultado em msg.

add_node CONCAT
String Concatenate
Source A string_1
'$1423\'
Source B node_num_ascii
'1'
Dest msg
'$1423\1'

42613

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID) 17-5

Remoo de String Linguagens Disponveis:

(DELETE)
Lgica Ladder

A instruo DELETE remove os caracteres ASCII de um string.

Operandos de Lgica
Ladder: DELETE
String Delete
Source ?
??
Qty ?
??
Start ?
??
Dest ?
??
42617

Operando: Tipo: Formato: Insira: Notas:


Source tipo de string tag o tag que contm o string Os tipos de string so:
do qual voc quer remover tipo de dados STRING padro
caracteres qualquer tipo de string novo que voc
criar
Quantidade SINT imediato nmero de caracteres a O Start mais o Quantity deve ser menor ou igual
INT tag serem removidos ao tamanho de DATA de Source.
DINT
Start SINT imediato posio do primeiro Insira um nmero entre 1 e o tamanho de DATA
INT tag caracter a ser removido de Source.
DINT
Destination tipo de string tag tag para armazenar o
resultado

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha energizada for verdadeira, a instruo


DELETE remove um grupo de caracteres de Source e coloca os
caracteres restantes em Destination.

A posio de Start e Quantity definem os caracteres a serem


removidos.
A menos que Source e Destination sejam o mesmo tag, Source
permanece inalterado.

Flags de Status Aritmtico: no afetados

Publicao 1756-RM003D-PT-P - Junho 2001


17-6 Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que 1. Verifique se nenhuma instruo est escrevendo para o membro
o tamanho de DATA do tag string. LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.
4 56 O valor de Start ou Quantity 1. Verifique se o valor de Start est entre 1 e o tamanho de DATA de
invlido. Source.
2. Verfique se o valor de Start mais o valor de Quantity menor ou
igual ao tamanho de DATA de Source.

Execuo da 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 instruo executa.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

As informaes ASCII de um terminal contm um caracter de cabealho. Depois que o controlador l os dados (term_read.EM est
energizado) a instruo DELETE remove o caracter de cabealho. O controlador pode, ento, usar o texto da mensagem ou pass-lo para
outro dispositivo.

term_read.EM DELETE
String Delete
Source term_input
'$0655'
Qty 1

Start 1

Dest term_text
'55'

42613

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID) 17-7

Encontro de String (FIND) Linguagens Disponveis:

Lgica Ladder

A instruo FIND localiza a posio inicial de um string especfico


dentro de outro string.

Operandos de Lgica
Ladder: FIND
Find String
Source ?
??
Search ?
??
Start ?
??
Result ?
??
42617

Operando: Tipo: Formato: Insira: Notas:


Source tipo de string tag string a ser procurado Os tipos de string so:
tipo de dados STRING padro
Search tipo de string tag string a ser encontrado qualquer tipo de string novo que voc
criar
Start SINT imediato posio em Source para Insira um nmero entre 1 e o tamanho de DATA
INT tag iniciar a busca de Source.
DINT
Result: SINT tag tag que armazena a
INT posio inicial do string a
DINT ser encontrado

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha for verdadeira, a instruo FIND procura


o string Source para o string Search. Se a instruo encontrar o string
Search, Result mostra a posio inicial do string Search dentro do
string Source.

Flags de Status Aritmtico: no afetados

Publicao 1756-RM003D-PT-P - Junho 2001


17-8 Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que 1. Verifique se nenhuma instruo est escrevendo para o membro
o tamanho de DATA do tag string. LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.
4 56 O valor de Start invlido. Verifique se o valor de Start est entre 1 e o tamanho de DATA de Source.

Execuo da 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 instruo executa.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

A mensagem de um terminal MessageView contm vrias informaes. O caracter de barra [ \ ] separa cada parte das informaes. Para
localizar uma informao, a instruo FIND procura pelo caracter de barra ( /) e grava sua posio em find_pos.

MV_read.EM FIND
Find String
Source MV_msg
'$06324\12\1\$r'
Search find
'\'
Start 1

Result find_pos
5

42613

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID) 17-9

Insero de String (INSERT) Linguagens Disponveis:

Lgica Ladder

A instruo INSERT adiciona caracteres ASCII a um local especfico


dentro de um string.

Operandos de Lgica
Ladder: INSERT
Insert String
Source A ?
??
Source B ?
??
Start ?
??
Dest ?
??
42617

Operando: Tipo: Formato: Insira: Notas:


Source A tipo de string tag string para o qual adicionar Os tipos de string so:
os caracteres tipo de dados STRING padro
qualquer tipo de string novo que voc
Source B tipo de string tag string contendo os
criar
caracteres a serem
adicionados
Start SINT imediato posio em Source A na Insira um nmero entre 1 e o tamanho de DATA
INT tag qual adicionar os de Source.
DINT caracteres
Result: tipo de string tag string para armazenar o
resultado

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha for verdadeira, a instruo INSERT


adiciona os caracteres em Source B a uma posio designada dentro
de Source A e coloca o resultado em Destination.

O Start define onde em Source A que Source B ser adicionado.


A menos que Source A e Destination sejam o mesmo tag,
Source A permanece inalterado.

Flags de Status Aritmtico: no afetados

Publicao 1756-RM003D-PT-P - Junho 2001


17-10 Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que 1. Verifique se nenhuma instruo est escrevendo para o membro
o tamanho de DATA do tag string. LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.
4 56 O valor de Start invlido. Verifique se o valor de Start est entre 1 e o tamanho de DATA de Source.

Execuo da 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 instruo executa.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando temp_high estiver energizado, a instruo INSERT adiciona os caracteres em string_2 na posio 2 dentro de string_1 e coloca o
resultado em string_3:

temp_high INSERT
Insert String
Source A string_1
'AD'
Source B string_2
'BC'
Start 2

Dest string_3
'ABCD'

42619

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID) 17-11

Meio do String (MID) Linguagens Disponveis:

Lgica Ladder

A instruo MID copia um nmero especfico de caracteres ASCII de


um string e os armazena em outro string.

Operandos de Lgica
Ladder: MID
Middle String
Source ?
??
Qty ?
??
Start ?
??
Dest ?
??
42617

Operando: Tipo: Formato: Insira: Notas:


Source tipo de string tag string do qual os caracteres Os tipos de string so:
so copiados tipo de dados STRING padro
qualquer tipo de string novo que voc
criar
Quantidade SINT imediato nmero de caracteres a O Start mais o Quantity deve ser menor ou igual
INT tag serem copiados ao tamanho de DATA de Source.
DINT
Start SINT imediato posio do primeiro Insira um nmero entre 1 e o tamanho de DATA
INT tag caracter a ser copiado de Source.
DINT
Destination tipo de string tag string para o qual os
caracteres so copiados

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha for verdadeira, a instruo MID copia um


grupo de caracteres de Source e coloca o resultado em Destination.

A posio de Start e Quantity definem os caracteres a serem


copiados.
A menos que Source e Destination sejam o mesmo tag, Source
permanece inalterado.

Flags de Status Aritmtico: no afetados

Publicao 1756-RM003D-PT-P - Junho 2001


17-12 Instrues de String ASCII (CONCAT, DELETE, FIND, INSERT, MID)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que 1. Verifique se nenhuma instruo est escrevendo para o membro
o tamanho de DATA do tag string. LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.
4 56 O valor de Start ou Quantity 1. Verifique se o valor de Start est entre 1 e o tamanho de DATA de
invlido. Source.
2. Verfique se o valor de Start mais o valor de Quantity menor ou
igual ao tamanho de DATA de Source.

Execuo da 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 instruo executa.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

Na esteira transportadora para transporte de bagagens de um aeroporto, cada mala tem um cdigo de barras. Os caracteres de 9 a 17 do
cdigo de barras so o nmero do vo e o aeroporto destino da mala. Se o cdigo de barra for lido (bag_read.EM for energizado) a
instruo MID copia o nmero do vo e o aeroporto destino para o string bag_flt_and_dest. As linhas subsequentes usam
bag_flt_and_dest para determinar para onde levar a mala.

bag_read.EM MID
Middle String
Source bag_barcode
'NWA HOP 5058 AMS 01'
Qty 9

Start 9

Dest bag_flt_and_dest
'5058 AMS '

42619

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Captulo 18

Instrues de Coverso ASCII


(STOD, STOR, DTOS, RTOS)

Introduo Use as instrues de converso ASCII para converter dados de ou para


strings de caracteres ASCII.

Se voc quiser converter: Por exemplo: Use esta instruo: Consulte pgina:
Representao de um valor de inteiro em um converter um valor de uma balana ou outro STOD 18-3
valor SINT, INT, DINT ou REAL dispositivo ASCII para um inteiro, de forma
voc o use em sua lgica
Representa ASCII de um valor de ponto converter um valor de uma balana ou outro STOR 18-5
flutuante para um valor REAL dispositivo ASCII para um valor REAL, de
forma voc possa us-lo em sua lgica
Valor SINT, INT, DINT ou REAL para um string converter uma varivel para um string ASCII, DTOS 18-7
de caracteres ASCII de forma que voc possa envi-la para um
terminal MessageView
Valor REAL para um string de caracteres converter uma varivel para um string ASCII, RTOS 18-9
ASCII de forma que voc possa envi-la para um
terminal MessageView

Voc tambm pode usar as seguintes instrues para comparar ou


manipular caracteres ASCII:

Se voc quiser: Use esta instruo: Consulte pgina:


adicionar caracteres ao final de um string CONCAT 17-3
remover caracteres de um string DELETE 17-5
determinar o caracter inicial de um sub-string FIND 17-7
inserir caracteres em um string INSERT 17-9
extrair caracteres de um string MID 17-11
ver se os caracteres so iguais a caracteres especficos EQU 4-7
ver se os caracteres no so iguais a caracteres especficos NEQ 4-38
ver se os caracteres so iguais ou maiores que caracteres especficos GEQ 4-11
ver se os caracteres so maiores que caracteres especficos GRT 4-15
ver se os caracteres so iguais ou menores que caracteres especficos LEQ 4-19
ver se os caracteres so menores que caracteres especficos LES 4-23

1 Publicao 1756-RM003D-PT-P - Junho 2001


18-2 Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS)

Tipos de String

Voc armazena caracteres ASCII em tags que usam um tipo de dados


tipo string.

Voc pode usar o tipo de dados STRING padro. Ele armazena


at 82 caracteres.
Voc pode criar um novo tipo de string que armazene menos ou
mais caracteres.

Para criar um novo tipo de string, consulte Procedimentos Comuns


dos Controladores Logix5000, publicao 1756-PM001.
42811

Cada tipo de string contm os seguintes membros:

Nome: Tipo de Descrio: Notas:


Dados:
LEN DINT nmero de caracteres A LEN atualiza a nova contagem de caracteres automaticamente sempre que voc:
no string usar a janela String Browser para inserir caracteres
usar as instrues que lem, convertem ou manipulam um string

A LEN mostra o comprimento do string atual. O membro DATA pode conter


caracteres adicionais, antigos, que no esto includos na contagem de LEN.
DATA matriz SINT caracteres ASCII do Para acessar os caracteres do string, enderee o nome do tag.
string Por exemplo, para acessar os caracteres do tag string_1, insira string_1.

Cada elemento da matriz DATA contm um caracter.

Voc pode criar novos tipos de string que armazenem menos ou mais
caracteres.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS) 18-3

String Para DINT (STOD) Linguagens Disponveis:

Lgica Ladder

A instruo STOD converte a representao ASCII de um inteiro para


um valor inteiro ou REAL.

Operandos de Lgica
Ladder: STOD
String To DINT
Source ?
??
Dest ?
??

42617

Operando: Tipo: Formato: Insira: Notas:


Source tipo de string tag tag que contm o valor em Os tipos de string so:
ASCII tipo de dados STRING padro
qualquer tipo de string novo que voc
criar
Destination SINT tag tag para armazenar o valor Se o valor de Source for um nmero de ponto
INT inteiro flutuante, a instruo converte apenas a parte
DINT no fracionada do nmero (independente do
REAL tipo de dados de destino).

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha for verdadeira, a instruo STOD


converte Source em um inteiro e coloca o resultado em Destination.

A instruo converte nmeros positivos e negativos.


Se o string Source contiver caracteres no-numricos, a instruo
STOD converte o primeiro conjunto de nmeros contnuos:
A instruo salta os caracteres de controle iniciais ou
no-numricos (exceto sinal de menos em frente a um
nmero).
Se o string contiver mltiplos grupos de nmeros que esto
separados por delimitadores (ex.:/), a instruo converte
somente o primeiro grupo de nmeros.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Publicao 1756-RM003D-PT-P - Junho 2001


18-4 Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que o tamanho de 1. Verifique se nenhuma instruo est escrevendo
DATA do tag string. para o membro LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres
que o string contm.
4 53 O nmero de sada est alm dos limites do tipo de Ou:
dados de destino. Reduza o tamanho do valor ASCII.
Use um tipo de dados maior para o destino.

Execuo da 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 S:C est energizadp.
Destination removido.
A instruo converte Source.
Se o resultado for zero, ento S:Z est energizado.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando MV_read.EM estiver energizado, a instruo STOD converte o primeiro conjunto de caracteres numricos em MV_msg para um
valor inteiro. A instruo salta o caracter de controle inicial ($06) e pra no delimitador ( \ ).

MV_read.EM STOD
String To DINT
Source MV_msg
'$06324\12\1\$r'
Dest MV_msg_nmbr
324

42620

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS) 18-5

String Para REAL (STOR) Linguagens Disponveis:

Lgica Ladder

A instruo STOR converte a representao ASCII de um valor de


ponto flutuante para um valor REAL.

Operandos de Lgica
Ladder: STOR
String to Real
Source ?
??
Dest ?
??

42617

Operando: Tipo: Formato: Insira: Notas:


Source tipo de string tag tag que contm o valor em Os tipos de string so:
ASCII tipo de dados STRING padro
qualquer tipo de string novo que voc
criar
Destination REAL tag tag para armazenar o valor
REAL

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha for verdadeira, a instruo STOR


converte Source em um valor REAL e coloca o resultado em
Destination.

A instruo converte nmeros positivos e negativos.


Se o string Source cpntiver caracteres no-numricos, a instruo
STOR cpnverte o primeiro conjunto de nmeros contnuos,
incluindo o ponto decimal [ . ]:
A instruo salta os caracteres de controle iniciais ou
no-numricos (exceto sinal de menos em frente a um
nmero).
Se o string contiver mltiplos grupos de nmeros que esto
separados por delimitadores (ex.:/), a instruo converte
somente o primeiro grupo de nmeros.

Flags de Status Aritmtico: Os flags de status aritmtico so afetados.

Publicao 1756-RM003D-PT-P - Junho 2001


18-6 Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que o tamanho de 1. Verifique se nenhuma instruo est escrevendo
DATA do tag string. para o membro LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres
que o string contm.
4 53 O nmero de sada est alm dos limites do tipo de Ou:
dados de destino. Reduza o tamanho do valor ASCII.
Use um tipo de dados maior para o destino.

Execuo da 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 S:C est energizadp.
Destination removido.
A instruo converte Source.
Se o resultado for zero, ento S:Z est energizado.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

Depois de ler o peso de uma balana (weight_read.EM est energizado) a instruo STOR converte os caracteres numricos em
weight_ascii para um valor REAL.

weight_read.EM STOR
String to Real
Source weight_ascii
'428.259'
Dest weight
428.259

42620

Voc pode ver uma pequena diferena entre as partes fracionadas de


Source e Destination.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS) 18-7

DINT Para String (DTOS) Linguagens Disponveis:

Lgica Ladder

A instruo DTOS produz a representao ASCII de um valor.

Operandos de Lgica
Ladder: DTOS
DINT to String
Source ?
??
Dest ?
??
42617

Operando: Tipo: Formato: Insira: Notas:


Source SINT tag tag que contm o valor Se Source for REAL, a instruo converte-o para
INT um valor DINT. Consulte REAL para um inteiro
DINT na pgina A-6.
REAL
Destination tipo de string tag tag para armazenar o valor Os tipos de string so:
ASCII tipo de dados STRING padro
qualquer tipo de string novo que voc
criar

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha for verdadeira, a instruo DTOS


converte Source para um string de caracteres ASCII e coloca o
resultado em Destination.

Flags de Status Aritmtico: no afetados

Publicao 1756-RM003D-PT-P - Junho 2001


18-8 Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que o tamanho de 1. Verifique se nenhuma instruo est escrevendo
DATA do tag string. para o membro LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres
que o string contm.
4 52 O string de sada maior que o destino. Crie um novo tipo de string que seja grande o suficiente
para o string de sada. Use o novo tipo de string como o
tipo de dados para o destino.

Execuo da 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 instruo executa.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando temp_high estiver energizado, a instruo DTOS converte o valor em msg_num para um string de caracteres ASCII e coloca o
resultado em msg_num_ascii. As linhas subsequentes inserem ou concatenam msg_num_ascii com outros strings para produzir uma
mesnagem completa para um terminal de display.

temp_high DTOS
DINT to String
Source msg_num
23
Dest msg_num_ascii
'23'

42620

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS) 18-9

REAL Para String (RTOS) Linguagens Disponveis:

Lgica Ladder

A instruo RTOS produz a representao ASCII de um valor REAL.

Operandos de Lgica
Ladder: RTOS
Real to String
Source ?
??
Dest ?
??
42617

Operando: Tipo: Formato: Insira: Notas:


Source REAL tag tag que contm o valor
REAL
Destination tipo de string tag tag para armazenar o valor Os tipos de string so:
ASCII tipo de dados STRING padro
qualquer tipo de string novo que voc
criar

Operandos do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Descrio: Quando a condio da linha for verdadeira, a instruo RTOS


converte Source para um string de caracteres ASCII e coloca o
resultado em Destination.

Flags de Status Aritmtico: no afetados

Publicao 1756-RM003D-PT-P - Junho 2001


18-10 Instrues de Coverso ASCII (STOD, STOR, DTOS, RTOS)

Condies de Falha:

Tipo: Cdigo: Causa: Mtodo de Recuperao:


4 51 O valor LEN do tag string maior que o tamanho de 1. Verifique se nenhuma instruo est escrevendo
DATA do tag string. para o membro LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres
que o string contm.
4 52 O string de sada maior que o destino. Crie um novo tipo de string que seja grande o suficiente
para o string de sada. Use o novo tipo de string como o
tipo de dados para o destino.

Execuo da 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 instruo executa.
A sada da condio da linha est definida como verdadeira.

Exemplo de Lgica
Ladder:

Quando send_data estiver energizado, a instruo RTOS converte o valor em data_1 para um string de caracteres ASCII e coloca o
resultado em data_1_ascii. As linhas subsequentes inserem ou concatenam data_1_ascii com outros strings para produzir uma
mesnagem completa para um terminal de display.

send_data RTOS
Real to String
Source data_1
15.3001
Dest data_1_ascii
'15.3001003'

42620

Voc pode ver uma pequena diferena entre as partes fracionadas de


Source e Destination.

Execuo do Bloco de
Funo: Esta instruo no est disponvel no bloco de funo.

Publicao 1756-RM003D-PT-P - Junho 2001


Apndice A

Atributos Comuns

Introduo Este apndice descreve os atributos comuns s instrues Logix .

Para mais informaes sobre: Consulte pgina:


Valores Imediatos A-1
Converses de Dados A-1

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

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)

Converses de Dados As converses de dados ocorrem quando se combina tipos de dados


na sua programao:

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

1 Publicao 1756-RM003D-PT-P - Junho 2001


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?

Se: Ento os operandos de entrada (por ex.: fonte, tag em uma


expresso, limite) so convertidos em:
sim REALs
no DINTs

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.

Publicao 1756-RM003D-PT-P - Junho 2001


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.

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

O exemplo a seguir mostra os resultados da converso de um valor


usando uma extenso de sinal e preenchimento com zero.

Este valor. 2#1111_1111_1111_1111 (-1)


Converte para este 2#1111_1111_1111_1111_1111_1111_1111_1111 (-1)
valor por extenso
de sinal
Converte este valor 2#0000_0000_0000_0000_1111_1111_1111_1111 (65535)
por 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.
der Logic Listing - Total number of rungs: 3

EQU
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B 2#1111_1111_1111_1111
42093

Publicao 1756-RM003D-PT-P - Junho 2001


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.

EQU
Equal
Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Source B int_0
2#1111_1111_1111_1111
42093

Publicao 1756-RM003D-PT-P - Junho 2001


Atributos Comuns A-5

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

MOV EQU
Move Equal
Source 2#1111_1111_1111_1111 Source A remote_rack_1:I.Data[0]
2#1111_1111_1111_1111
Dest int_0 Source B int_0
2#1111_1111_1111_1111 2#1111_1111_1111_1111
42093

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

Publicao 1756-RM003D-PT-P - Junho 2001


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.

EXEMPLO Converso de um DINT para um INT e um SINT

Este valor DINT: Converte para este valor menor:


16#0001_0081 (65.665) INT: 16#0081 (129)
SINT: 16#81 (-127)

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 valores REAL em valores DINT

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-RM003D-PT-P - Junho 2001


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-RM003D-PT-P - Junho 2001


A-8 Atributos Comuns

Publicao 1756-RM003D-PT-P - Junho 2001


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.

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

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.

IREF

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

tagA

Block_02

1 Publicao 1756-RM003D-PT-P - Junho 2001


B-2 Atributos de Bloco de Funo

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

tagA

Block_02

tagA

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.

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.

1 2 3

Publicao 1756-RM003D-PT-P - Junho 2001


Atributos de Bloco de Funo B-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 3 5

2 4 6

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.

1 2 3

fio de feedback localizado

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.

Publicao 1756-RM003D-PT-P - Junho 2001


B-4 Atributos de Bloco de Funo

Respostas de Bloco de Em geral, as instrues de bloco de funo que mantm o histrico


no o atualiza com valores NAN, ou INF quando um overflow
Funo para Condies de ocorre. Cada instruo tem uma destas respostas para uma condio
Overflow de overflow:

Resposta 1: Resposta 2: Resposta 3:


Os blocos executam seus algoritmos e Os blocos com sadas de limitao A condio de overflow no se aplica. Estas
verificam o resultado para NAN ou INF. executam seus algoritmos e verificam o instrues possuem geralmente uma sada
Se NAN ou INF, as sadas de bloco resultado por NAN ou INF. Os limites de booleana.
NAN ou INF. 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.
ALM NTCH HLL BAND OSRI
DEDT PMUL INTG BNOT RESD
DERV POSP PI BOR RTOR
ESEL RLIM PIDE BXOR SETD
FGEN RMPS SCL CUTD TOFR
HPF SCRV SOC D2SD TONR
LDL2 SEL D3SD
LDLG SNEG DFF
LPF SRTP JKFF
MAVE SSUM OSFI
MAXC TOT
MINC UPDN
MSTD
MUX

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

Publicao 1756-RM003D-PT-P - Junho 2001


Atributos de Bloco de Funo B-5

Existem trs modos de temporizao diferentes:

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.

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.

Publicao 1756-RM003D-PT-P - Junho 2001


B-6 Atributos de Bloco de Funo

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 Tipo de Dados: Descrio:


Entrada:
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-RM003D-PT-P - Junho 2001


Atributos de Bloco de Funo B-7

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 = (RTSTimeStampn - RTSTimeStampn-1)


Status: DINT Status do bloco de funo.
TimingModeInv BOOL Valor Invalid TimingMode.
(Status.27)
RTSMissed (Status.28) BOOL Usado somente no modo de amostragem em tempo real. Ajustado quando o ABS | DeltaT -
RTSTime | > 1 (,001 segundo).
RTSTimeInv BOOL Valor Invalid RTSTime.
(Status.29)
RTSTimeStampInv BOOL Valor Invalid RTSTimeStamp.
(Status.30)
DeltaTInv (Status.31) BOOL Valor Invalid DeltaT.

Publicao 1756-RM003D-PT-P - Junho 2001


B-8 Atributos de Bloco de Funo

Caractersticas dos modos de temporizao

O diagrama a seguir mostra como uma instruo determina o modo


apropriado de temporizao.

Determina o modo baseado


no tempo

TimingMode = 0 TimingMode = 1 TimingMode = 2

Temporizao na
Temporizao peridica Temporizao em tempo real
amostragem configurada

DeltaT = OversampleDT DeltaT = RTSTimeStampn - RTSTimeStampn-1

Se DeltaT < 0 ou DeltaT > 4194,303 segs. Se DeltaT > 0, a instruo executa.
a instruo ajusta DeltaT = 0,0 e
energiza o bit apropriado em Status. Se |RTSTIME - DeltaT| > 1, a instruo energiza o bit
RTSMissed em Status.
Se DeltaT > 0, a instruo executa.
Determine o tipo de tarefa

Tarefa peridica Tarefa no peridica

DeltaT = tempo de varredura da tarefa DeltaT = tempo transcorrido desde a


ltima execuo
Se DeltaT > 0, a instruo executa.
Se DeltaT > 0, a instruo executa.

Publicao 1756-RM003D-PT-P - Junho 2001


Atributos de Bloco de Funo B-9

Controle de Programa/pelo Diversas instrues suportam o conceito de controle de


Programa/pelo Operador. Estas instrues incluem:
Operador
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:

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.

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.

Publicao 1756-RM003D-PT-P - Junho 2001


B-10 Atributos de Bloco de Funo

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-RM003D-PT-P - Junho 2001


Atributos de Bloco de Funo B-11

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.

Quando StartupSequenceActive
energizada, a instruo PIDE
colocada no controle de
Programa e no modo Manual. O
valor StartupCV usado como
uma sada de malha.

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.

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

Publicao 1756-RM003D-PT-P - Junho 2001


B-12 Atributos de Bloco de Funo

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-RM003D-PT-P - Junho 2001


ndice

A converso para BCD 15-8


adio 5-6 converso para inteiro 15-12
AHL 16-14 cpia 7-32
ajuste 12-27 cpia sncrona 7-32
alarmes 12-28 co-seno 13-5
anexar leitura ASCII 16-24
arco co-seno 13-14 D
arco seno 13-11 dados retentivos B-1
arco tangente 13-16 dados transicionais 12-18
arquivamento aritmtico e lgico 7-7 definio do valor do sistema 3-28
atributos desabilitao da interrupo pelo usurio 10-18
converso de tipos de dados A-1 descarga FIFO 8-16
valores imediatos A-1 descarga LIFO 8-28
atributos comuns A-1 desenergizar sada com reteno 1-7
converso de tipos de dados A-1 deslocamento de bit para a direita 8-6
valores imediatos A-1 deslocamento de bit para a esquerda 8-2
desvio padro 7-49
B deteco de diagnstico 12-10
base log de 10 14-4 diferente de 4-38
bitwise AND 6-17 DINT Para String 18-7
bitwise exclusive OR 6-25 distribuio do campo do bit 6-10
bitwise NOT 6-29 distribuio do campo do bit com target 6-13
bitwise OR 6-21 diviso 5-15
break 11-5 diviso do mdulo 5-19
busca de string 17-7
E
C elementos
clculo 5-2 instruo SIZE 7-53
caracteres ASCII no buffer 16-10 Encontro de String 17-7
carga do sequenciador 9-12 energizar sada 1-5
carga FIFO 8-10 energizar sada com reteno 1-6
carga LIFO 8-22 entrada do sequenciador 9-2
classificao 7-45 escala 12-29
cdigos de erro escrita ASCII 16-28
ASCII 16-5 estrutura CONTROL 7-7, 7-20, 7-41, 7-45, 7-49, 8-2,
instruo MSG 3-7 8-6, 8-10, 8-17, 8-22, 8-28, 9-2, 9-7, 9-12,
combinao de tipos de dados A-1 12-3, 12-11
comparao 4-2 estrutura da MENSAGEM 3-2
comparao de bit de arquivo 12-2 estrutura do CONTADOR 2-23, 2-27
comparao e busca de arquivo 7-20 estrutura do tipo string 16-6
Concatenao de String 17-3 estrutura FBD_BIT_FIELD_DISTRIBUTE 6-13
condies de overflow B-5 estrutura FBD_COMPARE 4-8, 4-12, 4-16, 4-20, 4-24,
configurao 3-13 4-39
instruo MSG 3-13 estrutura FBD_CONVERT 6-29, 15-8, 15-12
instruo PID 12-26 estrutura FBD_COUNTER 2-31
contagem crescente 2-23 estrutura FBD_LIMIT 4-28
contagem crescente/decrescente 2-31 estrutura FBD_LOGICAL 6-17, 6-21, 6-25
contagem decrescente 2-27 estrutura FBD_MASK_EQUAL 4-34
controle de programa/pelo operador estrutura FBD_MASKED_MOVE 6-7
caractersticas gerais B-10 estrutura FBD_MATH 5-7, 5-10, 5-13, 5-16, 5-20,
converso de tipos de dados A-1 14-7

Publicacin 1756-RM003D-PT-P - Junho 2001


2 ndice

estrutura FBD_MATH_ADVANCED 5-23, 5-26, 5-29, H


13-2, 13-5, 13-8, 13-11, 13-14, 13-17, 14-2, habilitao da interrupo pelo usurio 10-18
14-5, 15-2, 15-5
estrutura FBD_TIMER 2-14, 2-17, 2-20
estrutura FBD_TRUNCATE 15-15 I
estrutura SERIAL_PORT_CONTROL 16-2, 16-5, 16-7, igual a 4-7
16-10, 16-14, 16-18, 16-21, 16-25, 16-29 Insero de String 17-9
estrutura STRING 16-6, 17-2, 18-2 instruo 16-14
estrutura TEMPORIZADOR 2-2, 2-6, 2-10 instruo ABL 16-7
estrutura tipo string 17-2, 18-2 instruo ABS 5-29
estruturas instruo ACB 16-10
CONTADOR 2-23, 2-27 instruo ACL 16-12
CONTROL 7-7, 7-20, 7-41, 7-45, 7-49, 8-2, 8-6, instruo ACS 13-14
8-10, 8-17, 8-22, 8-28, 9-2, 9-7, 9-12, instruo ADD 5-6
12-3, 12-11 instruo AFI 10-20
FBD_BIT_FIELD_DISTRIBUTE 6-13 instruo AND 6-17
FBD_COMPARE 4-8, 4-12, 4-16, 4-20, 4-24, 4-39 instruo ARD 16-17
FBD_CONVERT 6-29, 15-8, 15-12 instruo ARL 16-20
FBD_COUNTER 2-31 instruo ASN 13-11
FBD_LIMIT 4-28 instruo ATN 13-16
FBD_LOGICAL 6-17, 6-21, 6-25 instruo AVE 7-41
FBD_MASK_EQUAL 4-34 instruo AWA 16-24
FBD_MASKED_MOVE 6-7 instruo AWT 16-28
FBD_MATH 5-7, 5-10, 5-13, 5-16, 5-20, 14-7 instruo BRK 11-5
FBD_MATH_ADVANCED 5-23, 5-26, 5-29, 13-2, instruo BSL 8-2
13-5, 13-8, 13-11, 13-14, 13-17, 14-2, instruo BSR 8-6
14-5, 15-2, 15-5 instruo BTD 6-10
FBD_TIMER 2-14, 2-17, 2-20 instruo BTDT 6-13
FBD_TRUNCATE 15-15 instruo CLR 6-16
instruo RES 2-35 instruo CMP 4-2
MSG 3-2 instruo CONCAT 17-3
PID 12-22 instruo COP 7-32
SERIAL_PORT_CONTROL 16-2, 16-5, 16-7, 16-10, instruo COS 13-5
16-14, 16-18, 16-21, 16-25, 16-29 instruo CPS 7-32
STRING 16-6, 17-2, 18-2 instruo CPT 5-2
TEMPORIZADOR 2-2, 2-6, 2-10 instruo CTD 2-27
tipo string 16-6, 17-2, 18-2 instruo CTU 2-23
examinar se energizado 1-3 instruo CTUD 2-31
exponencial 14-7 instruo DDT
expresses modo de busca 12-12
formato 4-6, 5-4, 7-19, 7-30 operandos 12-10
operadores vlidos 4-4, 5-4, 7-18, 7-30 instruo de converso
seqncia de operao 4-6, 5-5, 7-19, 7-31 TOD 15-8
instruo DEG 15-2
instruo DELETE 17-5
F instruo DIV 5-15
feedforward 12-38 instruo DTOS 18-7
fim temporrio 10-13 instruo DTR 12-18
flags de status aritmtico instruo EQU 4-7
overflow B-5 instruo FAL
modo de operao 7-2
G operandos 7-7
grau 15-2 instruo FBC
modo de busca 12-4

Publicacin 1756-RM003D-PT-P - Junho 2001


ndice 3

operandos 12-2 ajuste 12-27


instruo FFL 8-10 alarmes 12-28
instruo FFU 8-16 configurao 12-26
instruo FIND 17-7 converso de escala 12-29
instruo FLL 7-37 estrutura 12-22
instruo FOR 11-2 feedforward 12-38
instruo FRD 15-12 polarizao da sada (bias) 12-38
instruo FSC zona morta 12-37
modo de operao 7-2 instruo RAD 15-5
operandos 7-20 instruo RES 2-35
instruo GEQ 4-11 instruo RET 10-4, 11-7
instruo GRT 4-15 instruo RTO 2-10
instruo GSV instruo RTOR 2-20
objetos 3-30 instruo RTOS 18-9
operandos 3-28 instruo SBR 10-4
instruo INSERT 17-9 instruo sempre falsa 10-20
instruo JMP 10-2 instruo SIN 13-2
instruo JSR 10-4 instruo SQI 9-2
instruo LBL 10-2 instruo SQL 9-12
instruo LEQ 4-19 instruo SQO 9-7
instruo LES 4-23 instruo SQR 5-23
instruo LFL 8-22 instruo SRT 7-45
instruo LFU 8-28 instruo SSV
instruo LIM 4-27 objetos 3-30
instruo LN 14-2 operandos 3-28
instruo LOG 14-4 instruo STOD 18-3
instruo MCR 10-15 instruo STOR 18-5
instruo MEQ 4-33 instruo SUB 5-9
instruo MID 17-11 instruo TAN 13-8
instruo MOD 5-19 instruo TND 10-13
instruo MOV 6-2 instruo TOD 15-8
instruo MSG 3-13 instruo TOF 2-6
cdigos de erro 3-7 instruo TOFR 2-17
conexo de cache 3-27 instruo TON 2-2
estrutura 3-2 instruo TONR 2-14
mtodo de comunicao 3-26 instruo TRN 15-15
operandos 3-2 instruo UID 10-18
instruo MUL 5-12 instruo UIE 10-18
instruo MVM 6-4 instruo XIO 1-3
instruo MVMT 6-7 instruo XOR 6-25
instruo NEG 5-26 instruo XPY 14-7
instruo NEQ 4-38 instrues
instruo NOP 10-21 binrias 1-1
instruo NOT 6-29 clculo 5-1
instruo ONS 1-8 comparao 4-1
instruo OR 6-21 contador 2-1
instruo OSF 1-13 controle de programa 10-1
instruo OSFI 1-17 converso 15-1
instruo OSR 1-10 converso ASCII 18-1
instruo OSRI 1-15 converso de string 18-1
instruo OTE 1-5 converso matemtica 15-1
instruo OTL 1-6 deslocamento 8-1
instruo OTU 1-7 entrada/sada 3-1
instruo PID especiais 12-1

Publicacin 1756-RM003D-PT-P - Junho 2001


4 ndice

for/break 11-1 SQR 5-23


lgica 6-1 SUB 5-9
manipulao de string 17-1 instrues de comparao
manipulao de string ASCII 17-1 CMP 4-2
matemticas avanadas 14-1 EQU 4-7
matriz formato da expresso 7-30
movimentao 6-1 formato de expresso 4-6
porta serial 16-1 GEQ 4-11
porta serial ASCII 16-1 GRT 4-15
seqenciador 9-1 introduo 4-1
temporizador 2-1 LEQ 4-19
trigonomtrica 13-1 LES 4-23
instrues ASCII LIM 4-27
ABL 16-7 MEQ 4-33
ACB 16-10 NEQ 4-38
ACL 16-12 operadores vlidos 4-4, 7-30
AHL 16-14 seqncia de operao 4-6, 7-31
ARD 16-17 instrues de controle de programa
ARL 16-20 introduo 10-1
AWA 16-24 UID 10-18
AWT 16-28 UIE 10-18
CONCAT 17-3 instrues de controle do programa
DELETE 17-5 AFI 10-20
DTOS 18-7 JMP 10-2
FIND 17-7 JSR 10-4
INSERT 17-9 LBL 10-2
MID 17-11 MCR 10-15
RTOS 18-9 NOP 10-21
STOD 18-3 RET 10-4
STOR 18-5 SBR 10-4
instrues binrias TND 10-13
introduo 1-1 instrues de converso
ONS 1-8 DEG 15-2
OSF 1-13 FRD 15-12
OSFI 1-17 introduo 15-1
OSR 1-10 RAD 15-5
OSRI 1-15 TRN 15-15
OTE 1-5 instrues de converso de string
OTL 1-6 DTOS 18-7
OTU 1-7 introduo 18-1
XIO 1-3 RTOS 18-9
instrues de arquivo. Consulte instrues de matriz STOD 18-3
instrues de clculo STOR 18-5
ABS 5-29 instrues de converso matemtica
ADD 5-6 DEG 15-2
CPT 5-2 FRD 15-12
DIV 5-15 introduo 15-1
formato da expresso 5-4, 7-19 RAD 15-5
introduo 5-1 TOD 15-8
MOD 5-19 TRN 15-15
MUL 5-12 instrues de deslocamento
NEG 5-26 BSL 8-2
operadores vlidos 5-4, 7-18 BSR 8-6
seqncia de operao 5-5, 7-19 FFL 8-10

Publicacin 1756-RM003D-PT-P - Junho 2001


ndice 5

FFU 8-16 MVMT 6-7


introduo 8-1 instrues de porta serial
LFL 8-22 ABL 16-7
LFU 8-28 ACB 16-10
instrues de entrada/sada ACL 16-12
GSV 3-28 AHL 16-14
introduo 3-1 ARD 16-17
MSG 3-2 ARL 16-20
SSV 3-28 AWA 16-24
instrues de lgica AWT 16-28
introduo 6-1 introduo 16-1
instrues de manipulao de string instrues de seqenciador
CONCAT 17-3 introduo 9-1
DELETE 17-5 instrues de srie
FIND 17-7 RES 2-35
INSERT 17-9 instrues de temporizador
introduo 17-1 TOF 2-6
MID 17-11 TOFR 2-17
instrues de matemtica avanada instrues do contador
LOG 14-4 CTD 2-27
XPY 14-7 CTU 2-23
instrues de matriz CTUD 2-31
arquivo/misc. 7-1 introduo 2-1
AVE 7-41 RES 2-35
BSL 8-2 instrues do sequenciador
BSR 8-6 SQI 9-2
COP 7-32 SQL 9-12
CPS 7-32 SQO 9-7
DDT 12-10 instrues do temporizador
deslocamento 8-1 introduo 2-1
FBC 12-2 RES 2-35
FFL 8-10 RTO 2-10
FFU 8-16 RTOR 2-20
FLL 7-37 TON 2-2
FSC 7-20 TONR 2-14
LFL 8-22 instrues especiais
LFU 8-28 DDT 12-10
modo de operao 7-2 DTR 12-18
seqenciador 9-1 FBC 12-2
SIZE 7-53 introduo 12-1
SQI 9-2 PID 12-21
SQL 9-12 instrues for/break
SQO 9-7 BRK 11-5
SRT 7-45 FOR 11-2
STD 7-49 introduo 11-1
instrues de matriza RET 11-7
FAL 7-7 instrues lgicas
instrues de movimentao AND 6-17
BTD 6-10 NOT 6-29
BTDT 6-13 OR 6-21
CLR 6-16 XOR 6-25
introduo 6-1 instrues matemticas avanadas
MOV 6-2 introduo 14-1
MVM 6-4 LN 14-2

Publicacin 1756-RM003D-PT-P - Junho 2001


6 ndice

instrues PID O
operandos 12-21 objeto AXIS 3-31
instrues STD 7-49 objeto CONTROLLER 3-39
instrues trigonomtricas objeto CONTROLLERDEVICE 3-39
ACS 13-14 objeto CST 3-41
ASN 13-11 objeto DF1 3-42
ATN 13-16 objeto FAULTLOG 3-45
COS 13-5 objeto MESSAGE 3-46
introduo 13-1 objeto MODULE 3-48
SIN 13-2 objeto MOTIONGROUP 3-49
TAN 13-8 objeto PROGRAM 3-50
objeto ROUTINE 3-51
L objeto SERIALPORT 3-52
label 10-2 objeto TASK 3-54
leitura ASCII 16-17 objeto WALLCLOCKTIME 3-55
limite 4-27 objetos
linha de leitura ASCII 16-20 AXIS 3-31
linhas ASCII handshake 16-14 CONTROLLER 3-39
log CONTROLLERDEVICE 3-39
base 10 14-4 CST 3-41
natural 14-2 DF1 3-42
log natural 14-2 FAULTLOG 3-45
instruo GSV/SSV 3-30
MESSAGE 3-46
M MODULE 3-48
maior ou igual a 4-11 MOTIONGROUP 3-49
maior que 4-15 PROGRAM 3-50
mascarado igual a 4-33 ROUTINE 3-51
mscaras 12-19 SERIALPORT 3-52
mdia 7-41 TASK 3-54
Meio do String 17-11 WALLCLOCKTIME 3-55
menor ou igual a 4-19 obteno do valor do sistema 3-28
menor que 4-23 operadores 4-4, 5-4, 7-18, 7-30
mensagem 3-2 ordem de execuo B-2
modo All (todos) 7-2
modo de busca 12-4, 12-12
modo de operao 7-2
P
modo Incremental (Incremento) 7-5 polarizao da sada (bias) 12-38
modo Numerical (numrico) 7-3 preenchimento de arquivo 7-37
modos de temporizao B-5 proporcional, integral e derivativo 12-21
monoestvel 1-8
monoestvel borda de descida com entrada 1-17 R
monoestvel com borda de descida 1-13 radianos 15-5
monoestvel com borda de subida 1-10 raiz quadrada 5-23
monoestvel com borda de subida com entrada 1-15 REAL Para String 18-9
movimentao 6-2 rearme do controle mestre 10-15
movimentao mascarada 6-4 remoo de buffer e da fila ASCII 16-12
movimentao mascarada com target 6-7 Remoo de String 17-5
multiplicao 5-12 reset 2-35
retorno 10-4, 11-7
N
negao 5-26 S
sada do sequenciador 9-7

Publicacin 1756-RM003D-PT-P - Junho 2001


ndice 7

salto 10-2 truncagem 15-15


salto para sub-rotina 10-4
sem operao 10-21
V
seno 13-2
seqncia de operao 4-6, 5-5, 7-19, 7-31 valor absoluto 5-29
SIZE instruo 7-53 valores imediatos A-1
String Para DINT 18-3
String Para REAL 18-5 X
sub-rotina 10-4 X elevado potncia de Y 14-7
subtrao 5-9

Z
T zeramento 6-16
tamanho em elementos 7-53 zona morta 12-37
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-7

Publicacin 1756-RM003D-PT-P - Junho 2001


8 ndice

Notas:

Publicacin 1756-RM003D-PT-P - Junho 2001


Cdigos de Caracteres ASCII

Caracteres Dec Hex Caracteres Dec Hex Caracteres Dec Hex Caracteres Dec Hex
[ctrl-@] NUL 0 $00 SPACE 32 $20 @ 64 $40 96 $60
[ctrl-A] SOH 1 $01 ! 33 $21 A 65 $41 a 97 $61
[ctrl-B] STX 2 $02 34 $22 B 66 $42 b 98 $62
[ctrl-C] ETX 3 $03 # 35 $23 C 67 $43 c 99 $63
[ctrl-D] EOT 4 $04 $ 36 $24 D 68 $44 d 100 $64
[ctrl-E] ENQ 5 $05 % 37 $25 E 69 $45 e 101 $65
[ctrl-F] ACK 6 $06 & 38 $26 F 70 $46 f 102 $66
[ctrl-G] BEL 7 $07 39 $27 G 71 $47 g 103 $67
[ctrl-H] BS 8 $08 ( 40 $28 H 72 $48 h 104 $68
[ctrl-I] HT 9 $09 ) 41 $29 I 73 $49 i 105 $69
[ctrl-J] LF 10 $l ($0A) * 42 $2A J 74 $4A j 106 $6A
[ctrl-K] VT 11 $0B + 43 $2B K 75 $4B k 107 $6B
[ctrl-L] FF 12 $0C , 44 $2C L 76 $4C l 108 $6C
[ctrl-M] CR 13 $r ($0D) - 45 $2D M 77 $4D m 109 $6D
[ctrl-N] SO 14 $0E . 46 $2E N 78 $4E n 110 $6E
[ctrl-O] SI 15 $0F / 47 $2F O 79 $4F o 111 $6F
[ctrl-P] DLE 16 $10 0 48 $30 P 80 $50 p 112 $70
[ctrl-Q] DC1 17 $11 1 49 $31 Q 81 $51 q 113 $71
[ctrl-R] DC2 18 $12 2 50 $32 R 82 $52 r 114 $72
[ctrl-S] DC3 19 $13 3 51 $33 S 83 $53 s 115 $73
[ctrl-T] DC4 20 $14 4 52 $34 T 84 $54 t 116 $74
[ctrl-U] NAK 21 $15 5 53 $35 U 85 $55 u 117 $75
[ctrl-V] SYN 22 $16 6 54 $36 V 86 $56 v 118 $76
[ctrl-W] ETB 23 $17 7 55 $37 W 87 $57 w 119 $77
[ctrl-X] CAN 24 $18 8 56 $38 X 88 $58 x 120 $78
[ctrl-Y] EM 25 $19 9 57 $39 Y 89 $59 y 121 $79
[ctrl-Z] SUB 26 $1A : 58 $3A Z 90 $5A z 122 $7A
ctrl-[ ESC 27 $1B ; 59 $3B [ 91 $5B { 123 $7B
[ctrl-\] FS 28 $1C < 60 $3C \ 92 $5C | 124 $7C
ctrl-] GS 29 $1D = 61 $3D ] 93 $5D } 125 $7D
[ctrl-^] RS 30 $1E > 62 $3E ^ 94 $5E ~ 126 $7E
[ctrl-_] US 31 $1F ? 63 $3F _ 95 $5F DEL 127 $7F

Publicao 1756-RM003D-PT-P - Junho 2001


Publicao 1756-RM003D-PT-P - Junho 2001 1 PN 957464-55
Substitui Publicao 1756-RM003C-EN-P - Novembro de 2000 2001 Rockwell International Corporation.

Você também pode gostar