Você está na página 1de 536

Controladores

Logix5000
1756-L1, -L1Mx

Manual de Referncia Geral do


Conjunto de Instrues

-2

Informaes Importantes
ao Usurio

Por causa da diversidade de usos de produtos descritos nesta


publicao, os responsveis pela aplicao e usos deste equipamento
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::

ATENO

Identifica informaes sobre prticas ou


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


Sistema (SSV)

3-28

Acesso ao objeto MESSAGE

3-47

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


MEQ, NEQ)

4-1

Tamanho em Elementos (SIZE)

7-53

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL,


FFU, LFL, LFU)

8-1

Salto para Sub-rotina (JSR) Sub-rotina (SBR) Retorno (RET)

10-4

For (FOR)

11-2

Publicao 1756-RM003D-PT-P - Junho 2001

Resumo das Alteraes

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001

Localizador de Instruo

Onde Encontrar uma


Instruo

Use este localizador para encontrar detalhes de referncia sobre as


instrues do Logix (as instrues em cinza esto disponveis em
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

bloco de funo

ABS

5-29

lgica ladder
bloco de funo

controle de
processo

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
bloco de funo

BTD

6-10

lgica ladder

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
processo

bloco de funo

ALM

controle de
processo

bloco de funo

CLR

6-16

lgica ladder

AND

6-17

lgica ladder
bloco de funo

CMP

4-2

lgica ladder

CONCAT

17-3

lgica ladder

ARD

16-17

lgica ladder

COP

7-32

lgica ladder

ARL

16-20

lgica ladder

COS

13-5

ASN

13-11

lgica ladder
bloco de funo

lgica ladder
bloco de funo

CPS

7-32

lgica ladder

ATN

13-16

lgica ladder
bloco de funo

CPT

5-2

lgica ladder

AVE

7-41

lgica ladder

CTD

2-27

lgica ladder

AWA

16-24

lgica ladder

CTU

2-23

lgica ladder

AWT

16-28

lgica ladder

CTUD

2-31

bloco de funo

BAND

controle de
processo

bloco de funo

D2SD

controle de
processo

bloco de funo

BNOT

controle de
processo

bloco de funo

D3SD

controle de
processo

bloco de funo

Publicao 1756-RM003D-PT-P - Junho 2001

Localizador de Instruo

Instruo:

Local:

Linguagens:

Instruo:

Local:

Linguagens:

DDT

12-10

lgica ladder

INSERT

17-9

lgica ladder

DEDT

controle de
processo

bloco de funo

INTG

controle de
processo

bloco de funo

DEG

15-2

lgica ladder
bloco de funo

JKFF

controle de
processo

bloco de funo

DELETE

17-5

lgica ladder

JMP

10-2

lgica ladder

DERV

controle de
processo

bloco de funo

JSR

10-4

lgica ladder

LBL

10-2

lgica ladder

DFF

controle de
processo

bloco de funo

LDL2

controle de
processo

bloco de funo

DIV

5-15

lgica ladder
bloco de funo

LDLG

controle de
processo

bloco de funo

DTOS

18-7

lgica ladder

LEQ

4-19

DTR

12-18

lgica ladder

lgica ladder
bloco de funo

EQU

4-7

lgica ladder
bloco de funo

LES

4-23

lgica ladder
bloco de funo

ESEL

controle de
processo

bloco de funo

LFL

8-22

lgica ladder

LFU

8-28

lgica ladder

FAL

7-7

lgica ladder

LIM

4-27

FBC

12-2

lgica ladder

lgica ladder
bloco de funo

FFL

8-10

lgica ladder

LN

14-2

FFU

8-16

lgica ladder

lgica ladder
bloco de funo

FGEN

controle de
processo

bloco de funo

LOG

14-4

lgica ladder
bloco de funo

FIND

17-7

lgica ladder

LPF

controle de
processo

bloco de funo

FLL

7-37

lgica ladder

MAAT

posicionamento

lgica ladder

FOR

11-2

lgica ladder

MAFR

posicionamento

lgica ladder

FRD

15-12

lgica ladder
bloco de funo

MAG

posicionamento

lgica ladder

FSC

7-20

lgica ladder

MAH

posicionamento

lgica ladder

GEQ

4-11

lgica ladder
bloco de funo

MAHD

posicionamento

lgica ladder

MAJ

posicionamento

lgica ladder

MAM

posicionamento

lgica ladder

MAPC

posicionamento

lgica ladder

MAR

posicionamento

lgica ladder

MAS

posicionamento

lgica ladder

MASD

posicionamento

lgica ladder

MASR

posicionamento

lgica ladder

GRT

4-15

lgica ladder
bloco de funo

GSV

3-28

lgica ladder

HLL

controle de
processo

bloco de funo

HPF

controle de
processo

bloco de funo

Publicao 1756-RM003D-PT-P - Junho 2001

Localizador de Instruo

Instruo:

Local:

Linguagens:

Instruo:

Local:

Linguagens:

MATC

posicionamento

lgica ladder

MUX

bloco de funo

MAVE

controle de
processo

bloco de funo

controle de
processo

MVM

6-4

lgica ladder

MAW

posicionamento

lgica ladder

MVMT

6-7

bloco de funo

MAXC

controle de
processo

bloco de funo

NEG

5-26

lgica ladder
bloco de funo

MCCP

posicionamento

lgica ladder

NEQ

4-38

MCD

posicionamento

lgica ladder

lgica ladder
bloco de funo

MCR

10-15

lgica ladder

NOP

10-21

lgica ladder

MDF

posicionamento

lgica ladder

NOT

6-29

lgica ladder
bloco de funo

MDO

posicionamento

lgica ladder

NTCH

bloco de funo

MDR

posicionamento

lgica ladder

controle de
processo

MDW

posicionamento

lgica ladder

ONS

1-8

lgica ladder

MEQ

4-33

lgica ladder
bloco de funo

OR

6-21

lgica ladder
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
processo

bloco de funo

OTU

1-7

lgica ladder

PI

5-19

lgica ladder
bloco de funo

controle de
processo

bloco de funo

MOD

PID

12-21

lgica ladder

PIDE

controle de
processo

bloco de funo

PMUL

controle de
processo

bloco de funo

POSP

controle de
processo

bloco de funo

RAD

15-5

lgica ladder
bloco de funo

RES

2-35

lgica ladder

RESD

controle de
processo

bloco de funo

RET

10-4 e 11-7

lgica ladder

MOV

6-2

lgica ladder

MRAT

posicionamento

lgica ladder

MRHD

posicionamento

lgica ladder

MRP

posicionamento

lgica ladder

MSF

posicionamento

lgica ladder

MSG

3-2

lgica ladder

MSO

posicionamento

lgica ladder

MSTD

controle de
processo

bloco de funo

5-12

lgica ladder
bloco de funo

MUL

Publicao 1756-RM003D-PT-P - Junho 2001

Localizador de Instruo

Instruo:

Local:

Linguagens:

Instruo:

Local:

Linguagens:

RLIM

controle de
processo

bloco de funo

TAN

13-8

lgica ladder
bloco de funo

RMPS

controle de
processo

bloco de funo

TND

10-13

lgica ladder

TOD

15-8

RTO

2-10

lgica ladder

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
processo

bloco de funo

TONR

2-14

bloco de funo

TOT

controle de
processo

bloco de funo

controle de
processo

bloco de funo

SCRV

TRN

15-15

SEL

controle de
processo

bloco de funo

lgica ladder
bloco de funo

UID

10-18

lgica ladder

SETD

controle de
processo

bloco de funo

UIE

10-18

lgica ladder

SIN

13-2

lgica ladder
bloco de funo

UPDN

controle de
processo

bloco de funo

SIZE

7-53

lgica ladder

XIC

1-1

lgica ladder

SNEG

controle de
processo

bloco de funo

XIO

1-3

lgica ladder

XOR

6-25

SOC

controle de
processo

bloco de funo

lgica ladder
bloco de funo

XPY

14-7

SQI

9-2

lgica ladder

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
processo

bloco de funo

SSUM

controle de
processo

bloco de funo

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
em um projeto

Manual de Referncia de Exportao/Importao do Controlador Logix5000,


publicao 1756-6.8.4PT

Exportao de um projeto ou tags para um


arquivo texto
Converso de uma aplicao CLP-5 ou SLC
500 para uma aplicao Logix5000

Quem Deve Utilizar este


Manual

Manual de Referncia do Controlador Logix5550 para Converso da Lgica do CLP-5


ou SLC500 para a Lgica do Logix5000, publicao 1756-6.8.5PT

Este documento fornece ao programador detalhes sobre cada


instruo disponvel para um controlador baseado em Logix. Voc j
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.

Publicao 1756-RM003D-PT-P - Junho 2001

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
Ladder

lista todos os operandos da instruo se esta estiver disponvel na Lgica Ladder


exibe um instruo inicial

Operandos do bloco de
funo

lista todos os operandos da instruo se esta estiver disponvel no bloco de 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
funo

Se disponvel no bloco de funo, define os detalhes de como a instruo opera durante:


pr-varredura
primeira varredura da instruo
primeira operao da instruo
EnableIn falso
EnableIn verdadeiro

Exemplo do bloco de
funo

Se disponvel no bloco de funo, fornece pelo menos um exemplo de programao


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

Informaes Comuns para


Todas as Instrues

Convenes e Termos
Relacionados

O conjunto de instrues do Logix5000 possui alguns atributos comuns:


Para obter esta
informao:

Consulte este apndice

atributos comuns

apndice Atributos Comuns define:


flags de status aritmtico:
tipos de dados
palavras-chaves

atributos do bloco de
funo

apndice Atributos de Bloco de Funo define:


controle do programa e operador
modos de temporizao

Energizar e desenergizar (zerar)


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

condio da entrada da linha

instruo de sada

condio da sada da linha

Publicao 1756-RM003D-PT-P - Junho 2001

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
instruo

A primeira varredura da instruo se refere primeira vez que uma instruo executada
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
instruo

A primeira operao da instruo se refere primeira vez que a instruo executa com uma
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

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

Prefcio

Notas:

Publicao 1756-RM003D-PT-P - Junho 2001

Sumrio
Resumo das Alteraes
Localizador de Instruo
Prefcio

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


Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . .
Informaes Atualizadas . . . . . . . . . . . . . . . . .
Onde Encontrar uma Instruo . . . . . . . . . . . .
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quem Deve Utilizar este Manual . . . . . . . . . . .
Objetivo do Manual . . . . . . . . . . . . . . . . . . . .
Informaes Comuns para Todas as Instrues.
Convenes e Termos Relacionados . . . . . . . .
Energizar e desenergizar (zerar) . . . . . . . . .
Condio de linha de Lgica Ladder . . . . . .
Estados do bloco de funo . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

..
..
..
..
..
..
..
..
..
..
..
..

.
.
.
.
.
.
.
.
.
.
.
.

2
1
1
1
1
1
2
3
3
3
4
5

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

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examinar Se Desenergizado (XIC) . . . . . . . . . . . . . . . . .
Examinar Se Energizado (XIO) . . . . . . . . . . . . . . . . . . .
Energizar Sada
(OTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Energizar Sada com Reteno (OTL) . . . . . . . . . . . . . . .
Desenergizar Sada com Reteno (OTU) . . . . . . . . . . . .
Monoestvel (ONS) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monoestvel com Borda de Subida (OSR) . . . . . . . . . . .
Monoestvel com Borda de Descida (OSF). . . . . . . . . . .
Monoestvel com Borda de Subida com Entrada (OSRI) .
Monoestvel com Borda de Descida com Entrada (OSFI)

. . 1-1
. . 1-1
. . 1-3
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

1-5
1-6
1-7
1-8
1-10
1-13
1-15
1-17

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

2-1
2-2
2-6
2-10
2-14
2-17
2-20
2-23
2-27
2-31
2-35

.
.
.
.

.
.
.
.

.
.
.
.

3-1
3-2
3-7
3-7

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

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Temporizador de Energizao (TON). . . . . . . . . . . . . .
Temporizador de Desenergizao (TOF) . . . . . . . . . . .
Temporizador Retentivo Ligado (RTO) . . . . . . . . . . . . .
Temporizador de Energizao com Reset (TONR) . . . .
Temporizador de Desenergizao com Reset (TOFR) . .
Temporizador Retentivo Energizado com Reset (RTOR)
Contagem Crescente (CTU) . . . . . . . . . . . . . . . . . . . . .
Contagem Decrescente (CTD) . . . . . . . . . . . . . . . . . . .
Contagem Crescente/Decrescente (CTUD) . . . . . . . . . .
Reset (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Introduo . . . . . . . . . . . . . . . . . . . . . . . .
Mensagem (MSG) . . . . . . . . . . . . . . . . . . .
Cdigos de Erro MSG . . . . . . . . . . . . . . . .
Cdigos de erro do ControlLogix (CIP) .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Publicao 1756-RM003D-PT-P - Junho 2001

ii

Sumrio

Cdigos de erros estendidos do ControlLogix . . . . . .


Cdigos de erro do CLP e SLC (.ERR) . . . . . . . . . . . .
Cdigos de erro estendiddos do CLP e SLC (.EXERR)
Cdigos de erro de Block-Transfer . . . . . . . . . . . . . .
Cdigos de erro do Logix5550 . . . . . . . . . . . . . . . . .
Cdigos de erros estendidos do Logix5550 . . . . . . . .
Especificao dos Detalhes de Configurao
(Guia Configuration) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Especificao de Mensagens CIP. . . . . . . . . . . . . . . .
Uso de mensagens CIP genricas para resetar os
mdulos de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Especificao das mensagens do CLP-5. . . . . . . . . . .
Especificao de Mensagens do SLC . . . . . . . . . . . . .
Especificao das mensagens de block-transfer . . . . .
Especificao das mensagens do CLP-3. . . . . . . . . . .
Especificao das mensagens do CLP-2. . . . . . . . . . .
Exemplos de Configurao MSG . . . . . . . . . . . . . . . . . .
Especificaes dos Detalhes de Comunicao (Guia
Communication) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Especificao de um percurso de conexo . . . . . . . .
Especificao de um mtodo de comunicao: . . . . .
Seleo de uma opo de cache: . . . . . . . . . . . . . . .
Obteno do Valor do Sistema (GSV) e Definio
do Valor do Sistema (SSV) . . . . . . . . . . . . . . . . . . . . . . .
Objetos GSV/SSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Acesso ao objeto AXIS (Eixo) . . . . . . . . . . . . . . . . . .
Acesso ao objeto CONTROLLER . . . . . . . . . . . . . . .
Acesso ao objeto CONTROLLERDEVICE . . . . . . . . . .
Acesso ao objeto CST. . . . . . . . . . . . . . . . . . . . . . . .
Acesso ao objeto DF1 . . . . . . . . . . . . . . . . . . . . . . .
Acesso ao objeto FAULTLOG . . . . . . . . . . . . . . . . . .
Acesso ao objeto MESSAGE . . . . . . . . . . . . . . . . . . .
Acesso ao objeto MODULE . . . . . . . . . . . . . . . . . . .
Acesso ao objeto MOTIONGROUP . . . . . . . . . . . . .
Acesso ao objeto PROGRAM . . . . . . . . . . . . . . . . . .
Acesso ao objeto ROUTINE . . . . . . . . . . . . . . . . . . .
Acesso ao objeto SERIALPORT . . . . . . . . . . . . . . . . .
Acesso ao objeto TASK . . . . . . . . . . . . . . . . . . . . . .
Acesso ao objeto WALLCLOCKTIME . . . . . . . . . . . . .
Exemplo de Programao GSV/SSV . . . . . . . . . . . . . . . .
Obteno de informaes de falha . . . . . . . . . . . . . .
Configurao de flags de habilitao e desabilitao .

.
.
.
.
.
.

.
.
.
.
.
.

3-8
3-9
3-10
3-11
3-12
3-12

. . 3-13
. . 3-14
.
.
.
.
.
.
.

.
.
.
.
.
.
.

3-15
3-16
3-17
3-18
3-19
3-20
3-21

.
.
.
.

.
.
.
.

3-22
3-22
3-26
3-27

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3-28
3-30
3-31
3-39
3-39
3-41
3-42
3-45
3-46
3-48
3-49
3-50
3-51
3-52
3-54
3-55
3-56
3-56
3-57

.
.
.
.
.

.
.
.
.
.

4-1
4-2
4-4
4-4
4-6

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

Publicao 1756-RM003D-PT-P - Junho 2001

Introduo . . . . . . . . . . . . . . .
Comparao (CMP) . . . . . . . . .
Expresses CMP . . . . . . . .
Operadores vlidos . . . . . .
Formatao de expresses .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Sumrio

Determinao da seqncia de operao . .


Igual a (EQU) . . . . . . . . . . . . . . . . . . . . . . . . .
Maior ou Igual a (GEQ). . . . . . . . . . . . . . . . . .
Maior que (GRT). . . . . . . . . . . . . . . . . . . . . . .
Menor ou Igual a (LEQ) . . . . . . . . . . . . . . . . .
Menor Que (LES) . . . . . . . . . . . . . . . . . . . . . .
Limite (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . .
Mscara Igual a (MEQ) . . . . . . . . . . . . . . . . . .
Insero de um valor de mscara imediato .
Diferente de (NEQ) . . . . . . . . . . . . . . . . . . . . .

iii

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

4-6
4-7
4-11
4-15
4-19
4-23
4-27
4-33
4-34
4-38

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

5-1
5-2
5-4
5-4
5-5
5-6
5-9
5-12
5-15
5-19
5-23
5-26
5-29

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Movimentao (MOV) . . . . . . . . . . . . . . . . . . . . . .
Movimentao Mascarada (MVM). . . . . . . . . . . . . .
Insero de um valor de mscara imediato . . . .
Movimentao Mascarada com Target (MVMT). . . .
Distribuio do Campo do Bit (BTD) . . . . . . . . . . .
Distribuio do Campo do Bit com Target (BTDT) .
Zeramento (CLR). . . . . . . . . . . . . . . . . . . . . . . . . .
Bitwise AND (AND) . . . . . . . . . . . . . . . . . . . . . . .
Bitwise OR (OR) . . . . . . . . . . . . . . . . . . . . . . . . . .
Bitwise Exclusive OR (XOR) . . . . . . . . . . . . . . . . .
Bitwise NOT (NOT) . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

6-1
6-2
6-4
6-5
6-7
6-10
6-13
6-16
6-17
6-21
6-25
6-29

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

7-1
7-2
7-2
7-3
7-5
7-7
7-18
7-18

Captulo 5
Instrues Matemticas/Clculo
(CPT, ADD, SUB, MUL, DIV, MOD,
SQR, NEG, ABS)

Introduo . . . . . . . . . . . . . . .
Clculo (CPT) . . . . . . . . . . . . .
Operadores vlidos . . . . . .
Formatao de expresses .
Determinao da seqncia
Adio (ADD) . . . . . . . . . . . . .
Subtrao (SUB) . . . . . . . . . . .
Multiplicao (MUL) . . . . . . . .
Diviso (DIV) . . . . . . . . . . . . .
Mdulo (MOD) . . . . . . . . . . . .
Raiz Quadrada (SQR) . . . . . . .
Negao (NEG). . . . . . . . . . . .
Valor Absoluto (ABS) . . . . . . .

..........
..........
..........
..........
de operao
..........
..........
..........
..........
..........
..........
..........
..........

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

Captulo 6
Instrues de
Movimentao/Lgica
(MOV, MVM, BTD, MVMT, BTDT,
CLR, AND, OR, XOR, NOT)

Captulo 7
Instrues Array
(File/Miscellaneous)
(FAL, FSC, COP, CPS, FLL, AVE,
SRT, STD, SIZE)

Introduo . . . . . . . . . . . . . . . . . . . . . .
Seleo do Modo de Operao . . . . . . .
Modo All (Todos) . . . . . . . . . . . . . .
Modo Numerical (numrico) . . . . . .
Modo Incremental (incremento) . . .
Arquivamento Aritmtico e Lgico (FAL)
Expresses FAL . . . . . . . . . . . . . . . .
Operadores vlidos . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Publicao 1756-RM003D-PT-P - Junho 2001

iv

Sumrio

Expresses de formatao . . . . . . . . . . . . . . . . . . . . . .
Determinao da seqncia de operao . . . . . . . . . . .
Comparao e Busca de Arquivo (FSC) . . . . . . . . . . . . . . .
Expresses FSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operadores vlidos . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formatao das expresses . . . . . . . . . . . . . . . . . . . . .
Determinao da seqncia de operao . . . . . . . . . . .
Cpia de Arquivo (COP) Cpia Sncrona de Arquivo (CPS).
Preenchimento de Arquivo (FLL) . . . . . . . . . . . . . . . . . . . .
Mdia de Arquivo (AVE) . . . . . . . . . . . . . . . . . . . . . . . . . .
Classificao de Arquivo (SRT) . . . . . . . . . . . . . . . . . . . . .
Desvio Padro do Arquivo (STD) . . . . . . . . . . . . . . . . . . .
Tamanho em Elementos (SIZE) . . . . . . . . . . . . . . . . . . . . .

7-19
7-19
7-20
7-29
7-30
7-30
7-31
7-32
7-37
7-41
7-45
7-49
7-53

Captulo 8
Instrues de Matriz
(Arquivo)/Deslocamento
(BSL, BSR, FFL, FFU, LFL, LFU)

Introduo . . . . . . . . . . . . . . . . . . . . . . . . .
Deslocamento de Bit para a Esquerda (BSL).
Deslocamento de Bit para a Direita (BSR) . .
Carga FIFO (FFL) . . . . . . . . . . . . . . . . . . . .
Descarga FIFO (FFU) . . . . . . . . . . . . . . . . .
Carga LIFO (LFL). . . . . . . . . . . . . . . . . . . . .
Descarga LIFO (LFU). . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

8-1
8-2
8-6
8-10
8-16
8-22
8-28

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entrada do Sequenciador (SQI) . . . . . . . . . . . .
Insero de um valor de mscara imediato .
Utilizao de SQI sem SQO . . . . . . . . . . . .
Sada do Sequenciador (SQO) . . . . . . . . . . . . .
Insero de um valor de mscara imediato .
Utilizao de SQI com SQO . . . . . . . . . . . .
Reset da posio de SQO . . . . . . . . . . . . . .
Carga do Sequenciador (SQL) . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

9-1
9-2
9-3
9-6
9-7
9-8
9-11
9-11
9-12

Captulo 9
Instrues de Seqenciador
(SQI, SQO, SQL)

Captulo 10
Instrues de Controle de
Programa
(JMP, LBL, JSR, RET, SBR, TND,
MCR, UID, UIE, AFI, NOP)

Publicao 1756-RM003D-PT-P - Junho 2001

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Salto para Label (JMP)
Label (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Salto para Sub-rotina (JSR)
Sub-rotina (SBR)
Retorno (RET). . . . . . . . . . . . . . . . . . . . . . . . . . .
Fim Temporrio (TND) . . . . . . . . . . . . . . . . . . . .
Rearme do Controle Mestre (MCR). . . . . . . . . . . .
Desabilitao da Interrupo pelo Usurio (UID)
Habilitao da Interrupo pelo Usurio (UIE) . . .
Instruo Sempre Falsa (AFI) . . . . . . . . . . . . . . . .
Sem Operao (NOP) . . . . . . . . . . . . . . . . . . . . .

. . . . . . . 10-1
. . . . . . . 10-2

. . . . . . . 10-4
. . . . . . 10-13
. . . . . . 10-15
. . . . . . 10-18
. . . . . . 10-20
. . . . . . 10-21

Sumrio

Captulo 11
Instrues For/Break
(FOR, BRK, RET)

Introduo . . .
For (FOR) . . . .
Break (BRK) . .
Retorno (RET).

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

11-1
11-2
11-5
11-7

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparao de Bit de Arquivo (FBC) . . . . . . . . . . .
Seleo do modo de busca. . . . . . . . . . . . . . . . .
Deteco de Diagnstico (DDT) . . . . . . . . . . . . . . .
Seleo do modo de busca. . . . . . . . . . . . . . . . .
Dados Transicionais (DTR) . . . . . . . . . . . . . . . . . . .
Insero de uma valor de mscara imediato . . . .
Proporcional, Integral e Derivativo (PID) . . . . . . . . .
Configurao de uma Instruo PID. . . . . . . . . . . . .
Especificao do ajuste . . . . . . . . . . . . . . . . . . .
Especificao da configurao . . . . . . . . . . . . . .
Especificao de alarmes . . . . . . . . . . . . . . . . . .
Especificao de converso de escala . . . . . . . . .
Utilizao das Instrues PID. . . . . . . . . . . . . . . . . .
Windup anti-reset e transferncia ininterrupta de
manual para automtico . . . . . . . . . . . . . . . . . . .
Temporizao da instruo PID . . . . . . . . . . . . .
Reinicializao ininterrupta. . . . . . . . . . . . . . . . .
Polarizao derivativa . . . . . . . . . . . . . . . . . . . .
Configurao da zona morta. . . . . . . . . . . . . . . .
Uso da limitao de sada. . . . . . . . . . . . . . . . . .
Feedforward ou polarizao da sada (bias) . . . .
Malhas em cascata . . . . . . . . . . . . . . . . . . . . . . .
Controle de um ndice . . . . . . . . . . . . . . . . . . . .
Teoria PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
processo PID . . . . . . . . . . . . . . . . . . . . . . . . . . .
processo PID com malhas mestre/escravo. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 12-1
. 12-2
. 12-4
12-10
12-12
12-18
12-19
12-21
12-26
12-27
12-27
12-28
12-29
12-29

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

12-31
12-32
12-35
12-36
12-37
12-37
12-38
12-38
12-38
12-40
12-40
12-40

Captulo 12
Instrues Especiais
(FBC, DDT, DTR, PID)

Captulo 13
Instrues Trigonomtricas
(SIN, COS, TAN, ASN, ACS, ATN)

Introduo . . . . . . . .
Seno (SIN) . . . . . . . .
Co-seno (COS) . . . . .
Tangente (TAN) . . . .
Arco Seno (ASN) . . . .
Arco Co-seno (ACS) .
Arco Tangente (ATN)

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

. 13-1
. 13-2
. 13-5
. 13-8
13-11
13-14
13-16

.......
.......
.......
Y (XPY)

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Captulo 14
Instrues Matemticas
Avanadas
(LN, LOG, XPY)

Introduo . . . . . . . . . .
Log Natural (LN) . . . . . .
Base Log de 10 (LOG). .
X Elevado Potncia de

14-1
14-2
14-4
14-7

Publicao 1756-RM003D-PT-P - Junho 2001

vi

Sumrio

Captulo 15
Instrues de Converso
Matemtica
(DEG, RAD, TOD, FRD, TRN)

Introduo . . . . . . . . . . . . . .
Graus (DEG). . . . . . . . . . . . .
Radianos (RAD) . . . . . . . . . .
Converso para BCD (TOD) .
Converso para Inteiro (FRD)
Truncagem (TRN) . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

. 15-1
. 15-2
. 15-5
. 15-8
15-12
15-15

Introduo . . . . . . . . . . . . . . . . . . . . . . .
Execuo da Instruo . . . . . . . . . . . .
Cdigos de Erro ASCII . . . . . . . . . . . .
Tipos de String . . . . . . . . . . . . . . . . .
Teste ASCII Para Linha do Buffer (ABL) . .
Caracteres ASCII no Buffer (ACB) . . . . . .
Remoo de Buffer e da Fila ASCII (ACL).
Linhas ASCII Handshake (AHL) . . . . . . . .
Leitura ASCII (ARD) . . . . . . . . . . . . . . . .
Linha de Leitura ASCII (ARL) . . . . . . . . . .
Anexar Leitura ASCII (AWA) . . . . . . . . . .
Escrita ASCII (AWT) . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

. 16-1
. 16-2
. 16-5
. 16-6
. 16-7
16-10
16-12
16-14
16-17
16-20
16-24
16-28

Captulo 16
Instrues de Porta Serial ASCII
(ABL, ACB, ACL, AHL, ARD, ARL,
AWA, AWT)

Captulo 17
Instrues de String ASCII
(CONCAT, DELETE, FIND, INSERT,
MID)

Introduo . . . . . . . . . . . . . . . . . .
Tipos de String . . . . . . . . . . . .
Concatenao de String (CONCAT)
Remoo de String (DELETE) . . . .
Encontro de String (FIND) . . . . . . .
Insero de String (INSERT). . . . . .
Meio do String (MID) . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

. 17-1
. 17-2
. 17-3
. 17-5
. 17-7
. 17-9
17-11

Captulo 18
Instrues de Coverso ASCII
(STOD, STOR, DTOS, RTOS)

Introduo . . . . . . . . . . .
Tipos de String . . . . .
String Para DINT (STOD)
String Para REAL (STOR) .
DINT Para String (DTOS)
REAL Para String (RTOS) .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

18-1
18-2
18-3
18-5
18-7
18-9

Introduo . . . . . . . . . . . . . .
Valores Imediatos . . . . . . . . .
Converses de Dados . . . . . .
SINT ou INT para DINT . .
Inteiro para REAL. . . . . . .
DINT para SINT para INT.
REAL para um inteiro . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

A-1
A-1
A-1
A-3
A-5
A-5
A-6

Apndice A
Atributos Comuns

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

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:

Examinar Se
Desenergizado (XIC)

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


que uma linha se torna verdadeira

ONS

1-8

energizar o bit para uma varredura cada vez que


uma linha se torna verdadeira

OSR

1-10

energizar o bit para uma varredura cada vez que


uma linha se torna falsa

OSF

1-13

energizar um bit para uma varredura toda vez que


o bit de entrada for energizado no bloco de funo

OSRI

1-15

energizar um bit para uma varredura toda vez que


o bit de entrada for desenergizado no bloco da
funo

OSFI

1-17

Linguagens Disponveis:

Lgica Ladder

A instruo XIC examina os dados binrios para ver se esto


energizados.

Operandos de Lgica
Ladder:
Operando

Tipo:

Formato:

Descrio:

dados
binrios

BOOL

tag

bit para ser testado

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


Funo:

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

examinar dados
binrios

dado binrio = 0

sada da condio da linha


energizada quando falsa

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)

Examinar Se Energizado
(XIO)

1-3

Linguagens Disponveis:

Lgica Ladder

A instruo XIO examina os dados binrios para ver se foram


desenergizados.

Operandos de Lgica
Ladder
Operando

Tipo:

Formato:

Descrio:

dados
binrios

BOOL

tag

bit para ser testado

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
binrios

dado binrio = 0

sada da condio da linha


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
(OTE)

Linguagens Disponveis:

Lgica Ladder

A instruo OTE energiza ou desenergiza o dado binrio.

Operandos de Lgica
Ladder :
Operando

Tipo:

Formato:

Descrio:

dados
binrios

BOOL

tag

bit para ser energizado ou desenergizado

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


Reteno (OTL)

Linguagens Disponveis:

Lgica Ladder

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

Operandos de Lgica
Ladder :

Operando

Tipo:

Formato:

Descrio:

dados
binrios

BOOL

tag

bit para ser energizado

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


Reteno (OTU)

Linguagens Disponveis:

Lgica Ladder

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

Operandos de Lgica
Ladder :
Operando

Tipo:

Formato:

Descrio:

dados
binrios

BOOL

tag

bit para ser desenergizado

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
armazenam
ento

BOOL

tag

bit de armazenamento interno


armazena a entrada da condio da linha
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
=0
examinar o bit de
armazenamento

bit de armazenamento est


energizado
sada da condio da linha
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


Subida (OSR)

Linguagens Disponveis:

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
armazenam
ento

BOOL

tag

bit de armazenamento interno


armazena a entrada da condio da linha
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
executada

instruo resetada 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 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

examinar o bit de
armazenamento

bit de armazenamento est


bit de armazenamento = 0 energizado
bit de sada energizado
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


Descida (OSF)

Linguagens Disponveis:

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
armazenam
ento

BOOL

tag

bit de armazenamento interno


armazena a entrada da condio da linha
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
executada

instruo resetada
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
armazenamento = 0
examinar o bit de
armazenamento

bit de armazenamento
permanece desenergizado
bit de sada desenergizado
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

entrada da condio da linha for verdadeira

Publicao 1756-RM003D-PT-P - Junho 2001

fim

O bit de armazenamento energizado.


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

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


Subida com Entrada (OSRI)

Linguagens Disponveis:

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:

tag de bloco FBD_ONESHOT

Formato:

Descrio:

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
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial 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
executada

instruo resetada durante a prxima


execuo de varredura

40048

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


Descida com Entrada (OSFI)

Linguagens Disponveis:

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:

tag de bloco FBD_ONESHOT

Formato:

Descrio:

estrutura

Estrutura OSFI

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial 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
executada

a instruo resetada durante a prxima


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

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


temporizador habilitado

TON

2-2

cronometrar em quanto tempo um


temporizador desabilitado

TOF

2-6

acumular tempo

RTO

2-10

determinar por quanto tempo o temporizador


habilitado com um reset incorporado ao
bloco de funo

TONR

2-14

determinar por quanto tempo um


temporizador desabilitado com um reset
incorporado ao bloco de funo

TOFR

2-17

acumular tempo com o reset incorporado ao


bloco de funo

RTOR

2-20

realizar uma contagem crescente

CTU

2-23

realizar um contagem decrescente

CTD

2-27

realizar uma contagem crescente e


decrescente no bloco de funo

CTUD

2-31

RES

2-35

resetar um temporizador ou contador

A base de tempo para todos os temporizadores 1 ms.

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
Energizao (TON)

Linguagens Disponveis:

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
r

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 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
valor acumulado do temporizador 0

temporizador no
atingiu o valor .PRE

16649

Flags de Status Aritmtico: no afetados


Condies de Falha:
Uma falha grave ocorrer se: Tipo de falha:

Cdigo de
falha:

.PRE < 0

34

.ACC < 0

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

examinar bit .DN

bit .DN = 1

bit .DN = 0

examinar bit .EN

bit .EN = 0

bit .EN energizado


bit .TT energizado
last_time = current_time

bit .EN = 1

bit .TT energizado


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

examinar .ACC

.ACC .PRE

.ACC < .PRE


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

no

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
Desenergizao (TOF)

Linguagens Disponveis:

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

34

.ACC < 0

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

examinar bit .DN

bit .DN = 0

bit .DN = 1

examinar bit .EN

bit .EN = 1

bit .EN desenergizado.


bit .TT energizado
last_time = current_time

bit .EN = 0

bit .TT energizado


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

examinar .ACC

.ACC < .PRE

valor .ACC
renova

.ACC .PRE

bit .DN desenergizado.


bit .TT desenergizado
bit .EN desenergizado.

no

sim

sada de condio da linha


definida como falsa

.ACC = 2.147.483.647
fim

entrada da condio da linha for verdadeira

Publicao 1756-RM003D-PT-P - Junho 2001

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.

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
Ligado (RTO)

Linguagens Disponveis:

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

34

.ACC < 0

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

examinar bit .DN

bit .DN = 1

bit .DN = 0

examinar bit .EN

bit .EN = 0

bit .EN est energizado


bit .TT est energizado
last_time = current_time

bit .EN = 1

bit .TT est energizado


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

examinar .ACC

.ACC < .PRE

valor .ACC
renova

no

sim

sada da condio da linha


definida como verdadeira

.ACC = 2.147.483.647
fim

Publicao 1756-RM003D-PT-P - Junho 2001

.ACC .PRE

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

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
Energizao com Reset
(TONR)

Linguagens Disponveis:

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:

tag de bloco FBD_TIMER

Formato:

Descrio:

estrutura

estrutura TONR

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial 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)

O valor pr-selecionado invlido.

BOOL

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
valor acumulado do temporizador (ACC) 0

o temporizador no
alcanou o valor PRE

16649

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)

Temporizador de
Desenergizao com Reset
(TOFR)

2-17

Linguagens Disponveis:

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:

tag de bloco FBD_TIMER

Formato:

Descrio:

estrutura

estrutura TOFR

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial 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)

O valor pr-selecionado invlido.

BOOL

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)

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
Energizado com Reset
(RTOR)

Linguagens Disponveis:

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:

tag do bloco FBD_TIMER

Formato:

Descrio:

estrutura

estrutura RTOR

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial 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)

O valor pr-selecionado invlido.

BOOL

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)

Contagem Crescente (CTU)

2-23

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

examinar bit .CU

bit .CU = 0

bit .CU est


energizado
.ACC = .ACC + 1

valor .ACC renova

sim

no

bit .CU = 1

bit .UN desenergizado


bit .DN desenergizado.
bit . OV desenergizado

bit .UN = 1
examinar bit .UN

bit .UN = 0

examinar bit .UN

bit .UN = 0

examinar bit .OV

bit .OV = 0

bit . OV est energizado


bit .UN = 1

bit .OV = 1

examinar .ACC

.ACC .PRE

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

Contagem Decrescente
(CTD)

2-27

Linguagens Disponveis:

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

examinar bit .CD

bit .CD = 0

bit .CD est


energizado
.ACC = .ACC - 1

sim

valor .ACC
renova

no

bit .CD = 1

bit . OV desenergizado bit .OV = 1


bit .DN desenergizado.
bit .UN desenergizado

examinar bit .OV

bit .OV = 0

examinar bit .UN

bit .UN = 0

bit .OV = 0

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)

Contagem
Crescente/Decrescente
(CTUD)

2-31

Linguagens Disponveis:

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:

tag do bloco FBD_COUNTER

Formato:

Descrio:

estrutura

estrutura CTUD

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial 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)

Reset (RES)

2-35

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
CONTROL
COUNTER

tag

estrutura para reset

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

ATENO

Como a instruo RES desenergiza o valor .ACC, o


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

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


controlador

GSV

3-28

definir informaes de status do


controlador

SSV

3-28

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
mensagem

MESSAGE

tag

estrutura da mensagem

Estrutura:
Mnemnico: Tipo de
Dados:

Descrio:

.FLAGS

O membro .FLAGS fornece acesso aos membros de status (bits) em uma palavra de 16 bits.

INT

Este
bit:

Corresponde a este membro:

.EW

.ER

.DN

.ST

.EN

.TO

.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
Dados:

Descrio:

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

ATENO

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


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

Publicao 1756-RM003D-PT-P - Junho 2001

3-4

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

Onde:

Descrio:

entrada da condio da linha for verdadeira


.EN est energizado
.EW est energizado
a conexo est aberta*

a mensagem enviada
.ST est energizado
.EW desenergizado

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)

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

a mensagem enviada
.ST est energizado
.EW desenergizado.

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)

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
examinar bit .ER

comando de
block-transfer

sim

no
caminho vlido do
mdulo
sim

no
bit .DN = 1
examinar bit .DN

bit .DN = 0

sim

bit .EN desenergizado

conexo do mdulo
em funcionamento

no

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 .EN est energizado

bit .DN = 1
examinar bit .DN

bit .EN est


energizado

bit .DN = 0

bit .ER = 1

bit .ER = 0
examinar bit .ER

comando de
block-transfer

sim

no
caminho vlido do
mdulo
sim

no

sim

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

no

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
(hex):

Descrio:

Display do software:

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


indefinida ou elemento de estrutura indefinida (consulte os
cdigos de erro estendidos)

igual descrio

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
(hex):

Descrio:

Display do software:

001F

Falha relacionada conexo (consulte os cdigos de erro


estendidos)

igual descrio

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
erro
estendido
(hex):

Descrio:

Cdigo de
erro
estendido
(hex):

Descrio:

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


Configurao

0204

Perodo de espera de mensagem no conectada

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
estendido (hex):

Descrio:

0203

Perodo de espera da conexo

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


e 0005.
Cdigo de erro
estendido (hex):

Descrio:

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
(hex):

Descrio:

Display do software:

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


acessado

erro desconhecido

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
erro
estendido
(hex):

Descrio:

Cdigo de
erro
estendido
(hex):

Descrio:

0001

Controlador converteu incorretamente o


endereo

0011

Tipo de dados requisitados no corresponde


aos dados disponveis

0002

Endereo incompleto

0012

Parmetros de comando incorretos

0003

Endereo incorreto

0013

0004

Formato ilegal do endereo smbolo no


encontrado

Referncia de endereo existe para uma rea


apagada

0014

Formato ilegal do endereo o smbolo tem o


valor 0 ou maior do que o nmero mximo de
caracteres suportados pelo dispositivo

Falha na execuo do comando por motivo


desconhecido
Overflow do histograma do CLP-3

0015

Erro na converso dos dados

0005

0006

Arquivo de endereo no existe no controlador


alvo

0016

Scanner no est disponvel para comunicao


com um adaptador de gaveta 1771

0007

Arquivo de destino muito pequeno para o


nmero de palavras solicitado.

0017

Adaptador no est disponvel para


comunicao com o mdulo

0008

No consegue completar o pedido


Situao alterada durante operao com vrios
pacotes

0018

Resposta do mdulo 1771 no foi vlida

0019

Etiqueta duplicada

001A

Controlador que armazena a configurao do


arquivo ativo o arquivo est sendo usado

001B

Controlador que armazena a configurao do


programa ativo algum est descarregando
dados ou fazendo edio online

001C

Arquivo do disco est protegido contra


gravao ou no pode ser acessado (somente
offline)

001D

Arquivo do disco est sendo usado por outra


aplicao
Atualizao no realizada (somente offline)

0009

Dados ou arquivo muito grande


Memria no disponvel

000A

Controlador alvo no consegue colocar as


informaes requisitadas em pacotes

000B

Erro de privilgio; acesso negado

000C

Funo requisitada no est disponvel

000D

Pedido redundante

000E

Comando no pode ser executado

000F

Overflow; overflow do histograma

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
(hex):

Descrio:

Display do software:

00D0

O scanner no recebeu uma resposta de block-transfer do mdulo de block-transfer dentro


de 3,5 s do pedido

erro desconhecido

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
resposta contrria

erro desconhecido

00D3

O scanner solicitou um comprimento e o mdulo de block-transfer respondeu com um


comprimento diferente

erro desconhecido

00D6

O scanner recebeu uma resposta do mdulo de block-transfer, indicando que o pedido de


escrita apresentou falha

erro desconhecido

00EA

O scanner no foi configurado para comunicar-se com a gaveta que teria este mdulo de
block-transfer

erro desconhecido

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


antes que outro pedido possa ser iniciado

erro desconhecido

00ED

O tamanho de pedido de block-transfer no est de acordo com os pedidos de tamanho


vlidos para block-transfer

erro desconhecido

00EE

O tipo de pedido de block-transfer no est de acordo com o BT_READ ou BT_WRITE


previsto

erro desconhecido

00EF

O scanner no conseguiu encontrar uma ranhura disponvel na tabela de block-transfer


para acomodar o pedido de block-transfer

erro desconhecido

00F0

O scanner recebeu um pedido para resetar os canais de E/S remota enquanto havia
block-transfers em aberto

erro desconhecido

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


antes da concluso

erro desconhecido

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


condies

erro desconhecido

00FA

O mdulo de block-transfer solicitou um comprimento diferente daquele associado


instruo de block-transfer

erro desconhecido

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
e o mdulo de block-transfer

erro desconhecido

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
(hex):

Descrio:

Display do software:

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
erro
estendido
(hex):

Descrio:

Cdigo de
erro
estendido
(hex):

Descrio:

2001

Excesso de IOI

2108

Controlador no modo de carga ou descarga

2002

Valor deficiente para o parmetro

2109

2018

Sinalizao rejeitada

Tentativa de alterar o nmero das dimenses da


matriz

201B

Tamanho muito pequeno

210A

Nome invlido do smbolo

201C

Tamanho invlido

210B

Smbolo no existe

2100

Falha de privilgio

210E

Busca apresentou falha

2101

Posio da chave seletora de modo invlida

210F

Tarefa no pode ser iniciada

2102

Senha invlida

2110

No h condies de escrita (gravao)

2103

Sem emisso de senha

2111

No h condies de leitura

2104

Endereo fora da faixa

2112

Rotina compartilhada que no pode ser editada

2105

Endereo e quantidade esto fora da faixa

2113

Controlador no modo de falha

2106

Dados em uso

2114

Modo de operao inibido

2107

Tipo invlido ou no suportado

Publicao 1756-RM003D-PT-P - Junho 2001

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

Especificao dos Detalhes


de Configurao
(Guia Configuration)

3-13

Depois de inserir a instruo MSG e especificar a estrutura MESSAGE,


use a janela Message Configuration no software de programao para
especificar os detalhes da mensagem.

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


mensagens:

Consulte pgina:

Dispositivo ControlLogix ou mdulo de


E/S 1756

leitura da tabela de dados CIP

3-14

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
E/S Remota Universal

leitura de block-transfer

Controlador CLP-3

leitura de tipo para CLP-3

3-18

escrita de block-transfer
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:
Realizar um teste de pulso em
um mdulo de sada digital

Resetar os fusveis eletrnicos


em um mdulo de sada digital

Resete o diagnstico de
retentivo em um mdulo de E/S
digital

No campo:
Service Code
(Cdigo de Servio)
Object Type
(Tipo de Objeto)
Object ID
(Identificao do Objeto)
Object Attribute
(Atributo do Objeto)
Source

Nmero de Elementos
Destination
Service Code
(Cdigo de Servio)
Object Type
(Tipo de Objeto)
Object Attribute
(Atributo do Objeto)
Object ID
(Identificao do Objeto)
Source

Nmero de Elementos
Destination
Service Code
(Cdigo de Servio)
Object Type
(Tipo de Objeto)

Object Attribute
(Atributo do Objeto)
Object ID
(Identificao do Objeto)
Source

Nmero de Elementos
Destination

Insira:
4c
1e
1
deixe em branco
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
10
deixe em branco
4d
1e
deixe em branco
1
tag_name do tipo DINT
Este tag representa uma mscara de bit dos pontos para resetar os fusveis
para energizado.
4
deixe em branco
4b
para um mdulo de
entrada
para um mdulo de
sada
deixe em branco

1d
1e

1
tag_name do tipo DINT
Esse tag representa uma mscara de bit dos pontos para resetar o
diagnstico para energizado.
4
deixe em branco

Publicao 1756-RM003D-PT-P - Junho 2001

3-16

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

Se voc quiser:
Resetar um status retentivo em
um mdulo analgico

No campo:
Service Code
(Cdigo de Servio)
Object Type
(Tipo de Objeto)
Object Attribute
(Atributo do Objeto)
Object ID
(Identificao do Objeto)
Source
Nmero de Elementos
Destination

Insira:
4b
a
insira o cdigo para o atributo desejado
0
deixe em branco
0
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


CLP-5

realiza a leitura de uma faixa contnua de palavras de 16 bits na memria do 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


CLP-5

escreve (grava) uma faixa contnua de palavras de 16 bits da memria do Logix5550,


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
palavras de 16 bits no
controlador CLP-5

Comando de leitura da faixa de palavra


palavras de 32 bits no
controlador Logix5550

palavras de 32 bits no
controlador Logix5550

palavras de 16 bits no
controlador CLP-5

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
comando:

Se voc quiser:

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
comando:

Se voc quiser:

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


CLP-3

realiza a leitura de uma faixa contnua de palavras de 16 bits na memria do 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


CLP-3

escreve (grava) uma faixa contnua de palavras de 16 bits na memria do Logix5550,


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
palavras de 16 bits no
controlador CLP-3

Comando de leitura da faixa de palavra


palavras de 32 bits no
controlador Logix5550

palavras de 16 bits no
controlador CLP-3

palavras de 32 bits no
controlador Logix5550

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)

Exemplos de Configurao
MSG

3-21

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


e os elementos para as diferentes combinaes de controladores.
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
Logix5550 SLC

tag da fonte

array_1

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
Logix5550 SLC

elemento fonte

N7:10

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
Detalhes de Comunicao
(Guia Communication)

Ao configurar uma instruo MSG, voc especifica estes detalhes na


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
block-transfer est em uma rede
de E/S Remota Universal.

sim

B. Na guia Communication, da tela


Message Configuration, clique
em Browse e selecione o
mdulo.

no

A mensagem para um
controlador CLP-2, 3, 5 ou SLC
est em uma rede DH+?

A. Acrescente o mdulo rvore de


Configurao de E/S do
controlador.

sim

Especifique um percurso para o mdulo


1756-DHRIO que esteja na mesma rede
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

a porta DF1 de um controlador 1756-L1

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

b. Especifique o prximo mdulo:


Para um mdulo em uma:

Especifique o:

placa de fundo do chassi de


E/S ControlLogix

nmero da ranhura

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
endereo IP:Porta
nome DNS
nome DNS:Porta

(ex.: 130.130.130.5)
(ex.: 130.130.130.5:24)
(ex.: tanks)
(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
ControlNet n 49
na ranhura 0

chassi remoto
ControlNet n 42
na ranhura 0
rede ControlNet
42042

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

Publicao 1756-RM003D-PT-P - Junho 2001

Onde:

Indica:

a porta da placa de fundo do controlador Logix5550 no chassi local

o nmero da ranhura do mdulo 1756-CNB no chassi local

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

a porta da placa de fundo do mdulo 1756-CNB no chassi remoto

o nmero da ranhura do controlador no chassi remoto

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

EXEMPLO

3-25

Especificao de um caminho pela Ethernet

chassi local mdulo


Ethernet na ranhura 1
rede Ethernet

chassi remoto mdulo


Ethernet na ranhura 2 ende
reo IP 127.127.127.12
42043

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

Indica:

a porta da placa de fundo do controlador Logix5550 no chassi local

o nmero da ranhura do mdulo 1756-ENET no chassi local

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

a porta da placa de fundo do mdulo 1756-ENET no chassi remoto

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
DH+ = n 37

chassi 1771 com


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

Percurso: 1, 1
Onde:

Indica:

a porta da placa de fundo do controlador Logix5550 no chassi local

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


um:

Ento selecione:

E especifique:

controlador ControlLogix

CIP

outras especificaes no so necessrias

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

controlador ControlNet CLP-5


controlador CLP-5

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
trabalho que est recebendo
uma mensagem no requisitada
conectada rede Ethernet ou
ControlNet atravs de RSLinx

CIP com Identificao


de Fonte

Rede Fonte:

Rede Destino:
(Isto permite que a
aplicao receba dados de
um controlador.)
N Destino:

Identificao da rede dos dados (0-65535)


fornecidos pela aplicao para RSLinx
Identificao de rede virtual configurado no
RSLinx (0-65535)
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


comunicao:

Usa uma
conexo:

Que voc
pode colocar
no cache:

leitura ou escrita da tabela de


dados CIP

CIP

CLP2, CLP3, CLP5 ou SLC


(todos os tipos)

CIP
CIP com Identificao de
Fonte

DH+
CIP genrico

N/A

leitura ou escrita em
block-transfer

N/A

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

Ento:

Porque:

repetidamente

Selecione a caixa de
verificao Cache
Connections

Isto manter a conexo aberta e otimizar o tempo


de execuo. A abertura da conexo cada vez que a
mensagem executar, aumenta o tempo de execuo.

no
frequentemente

Retire a seleo da
caixa de verificao
Cache Connections

Isto fechar a conexo na concluso, que liberar


aquela conexo para outros usos.

Publicao 1756-RM003D-PT-P - Junho 2001

3-28

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

Obteno do Valor do
Sistema (GSV) e Definio
do Valor do Sistema (SSV)

Linguagens Disponveis:

Lgica Ladder a Rel

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
INT
DINT
REAL

tag

destino para os dados de atributo

Source (SSV)

SINT
INT
DINT
REAL

tag

tag que contm os dados que voc quer copiar para o


atributo

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.

ATENO

Use as instrues GSV/SSV cuidadosamente. As


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

objeto especificado que no suporta GSV/SSV

atributo invlido

no se forneceu informaes suficientes para


uma instruo SSV

o destino GSV no era grande o suficiente para


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


verdadeira

Obtenha ou configure o valor especificado.


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.

ATENO

Para a instruo GSV, somente o tamanho


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:

Publicao 1756-RM003D-PT-P - Junho 2001

Para informaes sobre este


objeto:

Consulte pgina:

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

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
Dados:

Instruo:

Descrio:

* AccelerationFeedforwardGain

REAL

GSV
SSV

O valor usado para fornecer a sada de comando de torque para gerar


a acelerao do comando.

*AxisType

INT

GSV
SSV

O tipo de eixo que est sendo usado.


Valor: Significado:
0
eixo no usado
1
eixo de posicionamento
2
eixo fsico

*DriveFaultAction

SINT

GSV
SSV

A operao realizada quando a falha do inversor ocorre.


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
SSV

A operao realizada quando uma falha por perda de encoder ocorre.


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
SSV

A operao realizada quando uma falha por rudo no encoder ocorre.


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
SSV

O nvel de sada fixa usado para compensar a frico esttica.

Publicao 1756-RM003D-PT-P - Junho 2001

3-32

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

Atributo:

Tipo de
Dados:

Instruo:

Descrio:

*MaximumNegativeTravel

REAL

GSV
SSV

O limite de percurso negativo mximo.

*MaximumPositiveTravel

REAL

GSV
SSV

O limite de percurso positivo mximo.

*OutputFilterBandwidth

REAL

GSV
SSV

A largura de faixa do filtro de sada digital servo de passa/baixa.

*OutputLimit

REAL

GSV
SSV

O valor da tenso mxima de sada do servo do eixo.

*OutputOffset

REAL

GSV
SSV

O valor usado para compensar os efeitos dos offsets cumulativos da


sada DAC do servomdulo e da entrada do servoinversor.

*OutputScaling

REAL

GSV
SSV

O valor usado para converter a sada da malha do servo na tenso


equivalente a do inversor.

*PositionErrorFaultAction

SINT

GSV
SSV

A operao realizada quando a falha por erro de posio ocorre.


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
SSV

O volume de erro de posio que o servo tolera antes de emitir uma


falha de erro de posio.

*PositionIntegralGain

REAL

GSV
SSV

O valor usado para se atingir um preciso posicionamento de eixo,


apesar de perturbaes como, por exemplo, gravidade e frico
esttica.

*PositionProportionalGain

REAL

GSV
SSV

O valor que o controlador multiplica pelo erro de posio para corrigir


o erro de posio.

*PositionUnwind

DINT

GSV
SSV

O valor usado para realizar o desenrolamento automtico do eixo de


rotao.

*ServoConfigurationBits

DINT

GSV
SSV

Os bits de configurao do servo para a malha de servo.


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
SSV

A operao realizada quando a falha por ultrapassagem de percurso


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
SSV

A sada do comando de velocidade necessria para gerar a


velocidade comandada.

*VelocityIntegralGain

REAL

GSV
SSV

O valor que o controlador multiplica pelo valor VelocityIntegratorError


para corrigir o erro de velocidade.

*VelocityProportionalGain

REAL

GSV
SSV

O valor que o controlador multiplica pelo valor VelocityError para


corrigir o erro de velocidade.

Publicao 1756-RM003D-PT-P - Junho 2001

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

3-33

Atributo:

Tipo de
Dados:

Instruo:

Descrio:

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
SSV

A base de tempo da velocidade mdia do eixo.

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
SSV

O fator de converso usado para converter as unidades do usurio os


pulsos de realimentao.

DampingFactor

REAL

GSV
SSV

O valor usado no clculo da largura de faixa mxima do


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
SSV

O modo de posio inicial do eixo.


Valor: Significado:
0
posio inicial passiva
1
posio inicial ativa (padro)

HomePosition

REAL

GSV
SSV

A posio de incio do eixo.

HomeReturnSpeed

REAL

GSV
SSV

A velocidade de retorno de posio inicial do eixo.

HomeSequenceType

SINT

GSV
SSV

O tipo de seqncia de posio inicial para o eixo.


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
SSV

A velocidade de posio inicial do eixo.

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
Dados:

Instruo:

Descrio:

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
SSV

Use este atributo para fornecer a referncia para capturas de posio


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
SSV

A acelerao mxima do eixo.

MaximumDeceleration

REAL

GSV
SSV

A desacelerao mxima do eixo.

MaximumSpeed

REAL

GSV
SSV

A velocidade mxima do eixo.

ModuleChannel

SINT

GSV

O canal do mdulo do servomdulo.

MotionConfigurationBits

DINT

GSV
SSV

Os bits de configurao de movimento para o eixo.


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
Dados:

Instruo:

Descrio:

MotionStatusBits

DINT

GSV

Os bits de status de movimento para o eixo. (Na estrutura AXIS, este


o membro MotionStatus.)
Bit:

Nome do Bit:

Significado:

AccelStatus

acelerao

DecelStatus

desacelerao

MoveStatus

movimento

JogStatus

jog

GearingStatus

engrenagem

HomingStatus

guiamento orientado

StoppingStatus

desligamento

AxisHomedStatus

status inicial

PositionCamStatus

came de posio

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
SSV

A quantidade de movimento necessria para iniciar o teste MRHD


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
SSV

O volume de erro de posio que o servomdulo tolera ao fornecer


uma indicao de status travado na posio verdadeira.

PositionServoBandwidth

REAL

GSV
SSV

A largura de faixa de ganho da unidade que o controlador usa para


calcular os ganhos para a instruo MAAT Motion Apply Axis
Tuning (Ajuste do Eixo para Aplicao de Movimento).

ProgrammedStopMode

SINT

GSV
SSV

O tipo de parada a ser realizada no eixo.


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
Dados:

Instruo:

Descrio:

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
Dados:

Instruo:

Descrio:

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
Dados:

Instruo:

Descrio:

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
SSV

Os bits de configurao de ajuste para o eixo.


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
SSV

A velocidade mxima iniciada pela instruo MRAT Motion Run


Axis Tuning (Ajuste do Eixo de Operao de Movimento).

TuningTravelLimit

REAL

GSV
SSV

O limite de percurso usado pela instruo MRAT Motion Run Axis


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
SSV

Porcentagem de CPU disponvel atribuda para a comunicao.


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
produto:

Identifica este controlador


Logix:

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:

CurrentValue

DINT[2]

GSV

Bit:

Significado:

falha no hardware do temporizador: o hardware do


temporizador interno do dispositivo est em falha

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.

mestre do tempo do sistema: o objeto CST uma fonte de


tempo mestre no sistema ControlLogix

sincronizado: o CurrentValue de 64 bits do objeto


sincronizado por um objeto CST mestre atravs de uma
atualizao de tempo do sistema.

mestre da rede local: o objeto CST a fonte de tempo


mestre da rede local

modo do rel de entrada: o objeto CST est agindo em um


modo de rel de tempo

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.

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

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
Dados:

Instruo:

Descrio:

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
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

DF1 ponto-a-ponto
assinatura (0x0043)
bits do modem
pacotes enviados
pacotes recebidos
pacotes no entregues
no usado
NAKs recebidos
ENQs recebidos
pacotes NAKed defeituosos
nenhuma memria enviou um NAK
pacotes duplicados recebidos
caracteres defeituosos recebidos
contagem de recuperaes DCD
contagem de modem perdida
no usado
no usado
no usado
no usado
ENQs enviados

DF1 escravo
assinatura (0x0042)
bits do modem
pacotes enviados
pacotes recebidos
pacotes no entregues
tentativas de mensagens
NAKs recebidos
poll de pacotes recebidos
pacotes not ACKed defeituosos
nenhuma memria not ACKed
pacotes duplicados recebidos
no usado
contagem de recuperaes DCD
contagem de modem perdida
no usado
no usado
no usado
no usado
no usado

mestre
assinatura (0x0044)
bits do modem
pacotes enviados
pacotes recebidos
pacotes no entregues
tentativas de mensagens
no usado
no usado
pacotes not ACKed defeituosos
no usado
pacotes duplicados recebidos
no usado
contagem de recuperaes DCD
contagem de modem perdida
prioridade do tempo de varredura mximo
ltima prioridade do tempo de varredura
tempo de varredura normal mximo
ltimo tempo normal de varredura
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
Dados:

Instruo:

Descrio:

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
Enable

SINT

SSV

Valor pendente para o atributo EmbeddedResponse.

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
Transmit

SINT

SSV

Valor pendente para o atributo MasterMessageTransmit.

Publicao 1756-RM003D-PT-P - Junho 2001

3-44

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

Atributo:

Tipo de
Dados:

Instruo:

Descrio:

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
(Cdigo de Servio)

0d hex

Object Type
(Tipo de Objeto)

a2

Object ID
(Identificao do Objeto)

Object Attribute
(Atributo do Objeto)

deixe em branco

Source

deixe em branco

Nmero de Elementos

Destination

deixe em branco

Path

percurso de comunicao
automtico (1,s onde s =
nmero da ranhura do
controlador)

Communication

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
SSV

Quantas falhas graves ocorreram desde a ltima vez que este


contador foi resetado.

MinorEvents

INT

GSV
SSV

Quantas falhas de advertncia ocorreram desde a ltima vez


que este contador foi resetado.

MajorFaultBits

DINT

GSV
SSV

Os bits individuais indicam o motivo da falha grave atual.


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
SSV

Os bits individuais indicam o motivo da falha de advertncia


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
SSV

Dados para configurao do percurso de conexo. Os primeiros


dois bytes (byte desenergizado e byte energizado) so o
comprimento em bytes do percurso de conexo.

ConnectionRate

DINT

GSV
SSV

Taxa (velocidade) requisitada para o pacote da conexo.

MessageType

SINT

GSV
SSV

Especifica o tipo de mensagem.


Valor:
Significado:
0
no inicializado

Port

SINT

GSV
SSV

Indica por qual porta a mensagem deve ser enviada.


Valor:
Significado:
1
placa de fundo
2
porta serial

TimeoutMultiplier

SINT

GSV
SSV

Determina o trmino da temporizao de uma conexo e quando


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
SSV

Perodo de espera em microssegundos para todas as mensagens


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
Get System Value
Class name
MESSAGE
Instance name
msg_1
Attribute Name MessageType
Dest
msg_1_type
2

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

msg_1.EN
/

SSV
Set System Value
Class name
MESSAGE
Instance name
msg_1
Attribute Name MessageType
Source
tag_a
0

SSV
Set System Value
Class name
MESSAGE
Instance name
msg_1
Attribute Name MessageType
Source
msg_1_type
2

MSG
Type - CIP Data Table Write
Message Control
msg_1 ...

EN
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
SSV

Especifica o modo atual do objeto MODULE.


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
SSV

Controla essa execuo do programa.


Valor:
Significado:
0
execuo habilitada
1
execuo desabilitada

Instance

DINT

GSV

Fornece o nmero de instncia deste objeto PROGRAM.

LastScanTime

DINT

GSV
SSV

Tempo que a execuo do programa demorou da ltima vez.


O tempo est em microssegundos.

MajorFaultRecord

DINT[11]

GSV
SSV

Registra as falhas graves para este programa


Recomendamos que voc crie uma estrutura definida pelo usurio
para simplificar o acesso ao atributo MajorFaultRecord:

Nome:
TimeLow

Tipo de Dados:
DINT

Estilo:
Decimal

TimeHIgh

DINT

Decimal

Type
Code
Info

INT
INT
DINT[8]

Decimal
Decimal
Hexadecimal

Descrio:
32 bits menos significativos de valor de registro de data e hora da
falha
32 bits mais significativos de valor de registro de data e hora da
falha
tipo de falha (programa, E/S etc.)
cdigo exclusivo para a falha (depende do tipo de falha)
informao especfica sobre a falha (depende do tipo e do cdigo
de falha)

MaxScanTime

DINT

GSV
SSV

Tempo mximo de execuo registrado para este programa. O


tempo est em microssegundos.

MinorFaultRecord

DINT[11]

GSV
SSV

Registra as falhas de advertncia para este programa


Recomendamos que voc crie uma estrutura definida pelo usurio
para simplificar o acesso ao atributo MinorFaultRecord:

Nome:
TimeLow

Tipo de Dados:
DINT

Estilo:
Decimal

TimeHIgh

DINT

Decimal

Type
Code
Info

INT
INT
DINT[8]

Decimal
Decimal
Hexadecimal

Descrio:
32 bits menos significativos de valor de registro de data e hora da
falha
32 bits mais significativos de valor de registro de data e hora da
falha
tipo de falha (programa, E/S etc.)
cdigo exclusivo para a falha (depende do tipo de falha)
informao especfica sobre a falha (depende do tipo e do cdigo
de falha)

SFCRestart

INT

GSV
SSV

Publicao 1756-RM003D-PT-P - Junho 2001

no usado reservado para uso futuro

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
(Cdigo de Servio)

0d hex

Object Type
(Tipo de Objeto)

6f hex

Object ID
(Identificao do Objeto)

Object Attribute
(Atributo do Objeto)

deixe em branco

Source

deixe em branco

Nmero de Elementos

Destination

deixe em branco

Path

percurso de comunicao automtico


(1,s onde s = nmero da ranhura do
controlador)

Communication

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
SSV

Tempo que a execuo desta tarefa demorou da ltima vez. O


tempo est em microssegundos.

MaxInterval

DINT[2]

GSV
SSV

O tempo mximo de intervalo entre as execues sucessivas


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
SSV

Tempo mximo de execuo registrado para este programa. O


tempo est em microssegundos.

MinInterval

DINT[2]

GSV
SSV

O tempo mnimo de intervalo entre as execues sucessivas 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.

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
SSV

O valor de WALLCLOCKTIME quando a ltima execuo da tarefa


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
SSV

Limite de tempo para a execuo de todos os programas


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
SSV

Offset positivo de CurrentValue do objeto CST (tempo de sistema


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
SSV

O valor atual de WALLCLOCKTIME. DINT[0] contm os 32 bits


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
SSV

Data e hora em formato que possibilita a leitura.


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
GSV/SSV

Obteno de informaes de falha


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

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


expresso

CMP

4-2

testar se dois valores so iguais

EQU

4-7

testar se um valor maior ou igual a um


segundo valor

GEQ

4-11

testar se um valor maior do que um


segundo valor

GRT

4-15

testar se um valor menor ou igual a um


segundo valor

LEQ

4-19

testar se um valor menor do que um


segundo valor

LES

4-23

testar se um valor est entre outros dois


valores

LIM

4-27

passar dois valores por uma mscara e testar


se os mesmos so iguais

MEQ

4-33

testar se um valor no igual a um segundo


valor

NEQ

4-38

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.

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
INT
DINT
REAL

imediato
tag

uma expresso composta por tags


e/ou valores imediatos separados por
operadores

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

avalie a expresso

a expresso
verdadeira

sada da condio da linha


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

REAL

igual

DINT, REAL

logaritmo na base de
10

<

menor do que

DINT, REAL

MOD

mdulo-diviso

DINT, REAL

<=

menor ou igual a

DINT, REAL

NOT

bitwise complemento

DINT

>

maior do que

DINT, REAL

OR

bitwise OR

DINT

>=

maior ou igual a

DINT, REAL

RAD

graus para radianos

DINT, REAL

<>

diferente de

DINT, REAL

SIN

seno

REAL

**

expoente
(x elevado a y)

DINT, REAL

SQR

raiz quadrada

DINT, REAL

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
que operam com:

Use esse formato:

Exemplos:

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:

Source A

SINT
INT
DINT
REAL
tipo de string

imediato
tag

valor a ser testado em


relao Source B

Source B

SINT
INT
DINT
REAL
tipo de string

imediato
tag

valor a ser testado em


relao Source A

Notas:

Se voc inserir um tag SINT ou INT, o


valor o converte para um valor DINT por
extenso de sinal.
Valores REAL so raramente
absolutamente iguais. Caso seja
necessrio determinar a igualdade de
dois valores REAL, use a instruo LIM.
Os tipos de string so:
tipo de dados STRING padro
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:

tag de bloco FBD_COMPARE

Publicao 1756-RM003D-PT-P - Junho 2001

Formato:

Descrio:

estrutura

estrutura EQU

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

4-7

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

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

Source A = Source B

sim

sada da condio da linha


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
Source A
Source B

string_1
'ABC'
string_8
'ABC'
42621

Publicao 1756-RM003D-PT-P - Junho 2001

Neste exemplo, os dois strings so iguais. Cada caracter em string_1 corresponde ao


caracter em string_8.

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:

Source A

SINT
INT
DINT
REAL
tipo de string

imediato
tag

valor a ser testado em


relao Source B

Source B

SINT
INT
DINT
REAL
tipo de string

imediato
tag

valor a ser testado em


relao a Source A

Notas:

Se voc inserir um tag SINT ou INT, o


valor o converte para um valor DINT por
extenso de sinal.
Os tipos de string so:
tipo de dados STRING padro
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:

tag de bloco FBD_COMPARE

Publicao 1756-RM003D-PT-P - Junho 2001

Formato:

Descrio:

estrutura

estrutura GEQ

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

4-11

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

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.

m
e
n
o
r
q
u
e

m
a
i
o
r
q
u
e

Caracteres ASCII

Cdigos
Hexadecimais

1ab

$31$61$62

1b

$31$62

$41

AB

$41$42

$42

$61

ab

$61$62

AB < B
a>B

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

Source A Source B

sada da condio da linha


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.

GEQ
Grtr Than or Eql (A>=B)
Source A
string_2
'ACA'
Source B
string_8
'ABC'
42621

Publicao 1756-RM003D-PT-P - Junho 2001

Se string_2 for maior que string_8, a sada da condio da linha definida como
verdadeira.
Neste exemplo, string_2 maior que string_8. Quando os dois strings so organizados
pelos valores hexadecimais, string_2 aparece depois de string_8. (Ou seja, em uma lista
telefnica, ACA apareceria depois de ABC.)

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:

Source A

SINT
INT
DINT
REAL
tipo de string

imediato tag

valor a ser testado em


relao a Source B

Source B

SINT
INT
DINT
REAL
tipo de string

imediato tag

valor a ser testado em


relao a Source A

Notas:

Se voc inserir um tag SINT ou INT, o


valor o converte para um valor DINT por
extenso de sinal.
Os tipos de string so:
tipo de dados STRING padro
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:

tag de bloco FBD_COMPARE

Publicao 1756-RM003D-PT-P - Junho 2001

Formato:

Descrio:

estrutura

estrutura GRT

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

4-15

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

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.

m
e
n
o
r
q
u
e

m
a
i
o
r
q
u
e

Caracteres ASCII

Cdigos
Hexadecimais

1ab

$31$61$62

1b

$31$62

$41

AB

$41$42

$42

$61

ab

$61$62

AB < B
a>B

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

Source A > Source B

sada da condio da linha


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.

GRT
Greater Than (A>B)
Source A string_3
'ACA'
Source B string_8
'ABC'
42621

Publicao 1756-RM003D-PT-P - Junho 2001

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

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:

Source A

SINT
INT
DINT
REAL
tipo de string

imediato
tag

valor a ser testado em


relao a Source B

Source B

SINT
INT
DINT
REAL
tipo de string

imediato
tag

valor a ser testado em


relao a Source A

Notas:

Se voc inserir um tag SINT ou INT, o


valor o converte para um valor DINT por
extenso de sinal.
Os tipos de string so:
tipo de dados STRING padro
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:

tag de bloco FBD_COMPARE

Publicao 1756-RM003D-PT-P - Junho 2001

Formato:

Descrio:

estrutura

estrutura LEQ

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

4-19

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

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.

m
e
n
o
r
q
u
e

m
a
i
o
r
q
u
e

Caracteres ASCII

Cdigos
Hexadecimais

1ab

$31$61$62

1b

$31$62

$41

AB

$41$42

$42

$61

ab

$61$62

AB < B
a>B

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

Source A Source B

sada da condio da linha


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.

LEQ
Less Than or Eql (A<=B)
Source A
string_4
'AAD'
Source B
string_8
'ABC'
42621

Publicao 1756-RM003D-PT-P - Junho 2001

Se string_4 for menor ou igual a string_8, a sada da condio da linha definida como
verdadeira.
Neste exemplo, string_4 menor que string_8. Quando os dois strings so organizados pelos
valores hexadecimais, string_4 aparece antes de string_8. (Ou seja, em uma lista telefnica,
AAD apareceria antes de ABC.)

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:

Source A

SINT
INT
DINT
REAL
tipo de string

imediato
tag

valor a ser testado em


relao a Source B

Source B

SINT
INT
DINT
REAL
tipo de string

imediato
tag

valor a ser testado em


relao a Source A

Notas:

Se voc inserir um tag SINT ou INT, o


valor o converte para um valor DINT por
extenso de sinal.
Os tipos de string so:
tipo de dados STRING padro
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:

tag de bloco FBD_COMPARE

Publicao 1756-RM003D-PT-P - Junho 2001

Formato:

Descrio:

estrutura

estrutura LES

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

4-23

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

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.

m
e
n
o
r
q
u
e

m
a
i
o
r
q
u
e

Caracteres ASCII

Cdigos
Hexadecimais

1ab

$31$61$62

1b

$31$62

$41

AB

$41$42

$42

$61

ab

$61$62

AB < B
a>B

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

Source A < Source B

sada da condio da linha


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.

LES
Less Than (A<B)
Source A string_5
'AAD'
Source B string_8
'ABC'
42621

Publicao 1756-RM003D-PT-P - Junho 2001

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

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
INT
DINT
REAL

imediato tag

valor do limite inferior

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Test (Teste)

SINT
INT
DINT
REAL

imediato tag

valor de acordo com o teste

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Limite
Superior

SINT
INT
DINT
REAL

imediato tag

valor do limite superior

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.

Operandos do Bloco de
Funo:
Operando:

Tipo:

tag de bloco FBD_LIMIT

Formato:

Descrio:

estrutura

estrutura LIM

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

Publicao 1756-RM003D-PT-P - Junho 2001

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

Parmetro de
Entrada:

Tipo de Dados:

Descrio:

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

4-27

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
Inferior:

E o valor de Teste for:

A sada da condio da linha


definida em:

Limite Superior

igual a ou entre os limites

verdadeira

diferente ou fora dos limites

falsa

igual a ou fora dos limites

verdadeira

diferente ou dentro dos limites

falsa

Limite Superior

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 Superior

Limite Inferior Limite Inferior


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

A instruo verdadeira se o valor de teste for


igual ou estiver fora da faixa entre os limites
superior e inferior.

+1

+1

limite inferior

limite superior

limite superior

(n+1)

limite inferior

+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

avalie limite

a comparao
verdadeira

sada da condio da linha


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)

Mscara Igual a (MEQ)

4-31

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
INT
DINT

imediato
tag

valor para ser testado comparando-se


com Compare

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Mask

SINT
INT
DINT

imediato
tag

define que bits so bloqueados ou os


que passam

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Compare

SINT
INT
DINT

imediato
tag

valor a ser testado em relao a


Source

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
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

Source

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 =
comparao
mascarada

sim

sada da condio da linha


energizada quando verdadeira

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
mascarado

value_2 0 1 0 1 0 1 0 1 1 1 1 1 x x x x
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
mascarado

value_2 x x x x x x x x x x x x 0 0 0 0
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
mascarado

Compare 0 1 0 1 0 1 0 1 1 1 1 1 x x x x
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:

Source A

SINT
INT
DINT
REAL
tipo de string

imediato tag

valor a ser testado em


relao a Source B

Source B

SINT
INT
DINT
REAL
tipo de string

imediato tag

valor a ser testado em


relao a Source A

Notas:

Se voc inserir um tag SINT ou INT, o


valor o converte para um valor DINT por
extenso de sinal.
Os tipos de string so:
tipo de dados STRING padro
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:

tag de bloco FBD_COMPARE

Publicao 1756-RM003D-PT-P - Junho 2001

Formato:

Descrio:

estrutura

estrutura NEQ

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

4-37

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

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

m
e
n
o
r
q
u
e

m
a
i
o
r
q
u
e

Caracteres ASCII

Cdigos
Hexadecimais

1ab

$31$61$62

1b

$31$62

$41

AB

$41$42

$42

$61

ab

$61$62

AB < B
a>B

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

Source A = Source B

sada da condio da linha


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.

NEQ
Not Equal
Source A string_6
'ABC$00'
Source B string_8
'ABC'
42621

Publicao 1756-RM003D-PT-P - Junho 2001

Se string_6 no for igual a string_8, a sada da condio da linha definida como verdadeira.
Neste exemplo, string_6 no igual a string_8. Os dois strings no correspondem
completamente.

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

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


por outro

MOD

5-19

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.

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
INT
DINT
REAL

tag

tag para armazenar o resultado

Expresso

SINT
INT
DINT
REAL

imediato
tag

uma expresso composta por tags


e/ou valores imediatos separados por
operadores

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

REAL

multiplicao

DINT, REAL

logaritmo na base de
10

diviso

DINT, REAL

MOD

mdulo-diviso

DINT, REAL

**

expoente (x elevado a
y)

DINT, REAL

NOT

bitwise complemento

DINT

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:

Publicao 1756-RM003D-PT-P - Junho 2001

Para operadores
que operam com:

Use esse formato:

Exemplos:

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)

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
INT
DINT
REAL

imediato
tag

valor a ser somado Source B (Fonte


B)

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Source B

SINT
INT
DINT
REAL

imediato
tag

valor a ser somado Source A (Fonte


A)

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_MATH

Formato:

Descrio:

estrutura

estrutura ADD

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

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)

Subtrao (SUB)

5-9

Linguagens Disponveis:

Bloco de Funo

gica Ladder

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
INT
DINT
REAL

imediato
tag

valor a partir do qual se subtrai a


Source B

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Source B

SINT
INT
DINT
REAL

imediato
tag

valor a ser subtrado de Source A

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_MATH

Formato:

Descrio:

estrutura

estrutura SUB

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

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
INT
DINT
REAL

imediato
tag

valor do multiplicando

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Source B

SINT
INT
DINT
REAL

imediato
tag

valor do multiplicador

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_MATH

Formato:

Descrio:

estrutura

estrutura MUL

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source 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)

Diviso (DIV)

5-15

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
INT
DINT
REAL

imediato
tag

valor do dividendo

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Source B

SINT
INT
DINT
REAL

imediato
tag

valor do divisor

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_MATH

Formato:

Descrio:

estrutura

estrutura DIV

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source 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
fracionria do
resultado:

Exemplo:

e Source B no forem
do tipo REAL

trunca

Source A

DINT

Source B

DINT

Destination

DINT

Source A

REAL

5.0

Source B

DINT

Destination

DINT

ou Source B for do tipo


REAL

arredondada

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 :

todos os operandos so inteiros


(SINT, INT ou DINT)
pelo menos um operando REAL

Logo, o destino configurado


como:
Source A

SINT, INT ou DINT


REAL

positivo

-1

negativo

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:

Publicao 1756-RM003D-PT-P - Junho 2001

Uma falha de
advertncia ocorre se:

Tipo de falha:

Cdigo de falha:

o divisor zero

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)

Mdulo (MOD)

5-19

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
INT
DINT
REAL

imediato
tag

valor do dividendo

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Source B

SINT
INT
DINT
REAL

imediato
tag

valor do divisor

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_MATH

Formato:

Descrio:

estrutura

estrutura MOD

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source 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 :

Source A

todos os operandos so inteiros


(SINT, INT ou DINT)
pelo menos um operando REAL

Logo, o destino configurado


como:

SINT, INT ou DINT


REAL

positivo

-1

negativo

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
advertncia ocorrer se:

Tipo de falha:

Cdigo de falha:

o divisor zero

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)

Raiz Quadrada (SQR)

5-23

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
INT
DINT
REAL

imediato
tag

calcula a raiz quadrada desse valor

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura SQR

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

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
fracionria do
resultado:

Exemplo:

diferente do tipo REAL

trunca

Source

DINT

Destination

DINT

Source

REAL

3.0

Destination

DINT

do tipo REAL

arredondada

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
INT
DINT
REAL

imediato
tag

valor a ser transformado em negativo

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura NEG

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

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)

Valor Absoluto (ABS)

5-29

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
INT
DINT
REAL

imediato
tag

valor do qual se tira o valor absoluto

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura ABS

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

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

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


bloco de funo

MVMT

6-7

mover bits dentro de um inteiro ou


entre inteiros

BTD

6-10

movimentar bits dentro de um inteiro ou


entre inteiros no bloco de funo

BTDT

6-13

zerar um valor

CLR

6-16

As instrues de lgica realizam operaes de lgica nos bits.


Se voc quiser realizar uma:
operao bitwise AND

Use esta instruo:

Consulte
pgina:

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.

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
INT
DINT
REAL

imediato
tag

valor a ser movido (copiar)

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

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
(MVM)

Linguagens Disponveis:

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
INT
DINT

imediato
tag

valor a ser movido

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Mask

SINT
INT
DINT

imediato
tag

quais bits devem ser bloqueados ou


podem passar

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Destination

SINT
INT
DINT

tag

tag para armazenar o resultado

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)

Movimentao Mascarada
com Target (MVMT)

6-7

Linguagens Disponveis:

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:

tag do bloco FBD_MASKED_MOVE

Formato:

Descrio:

estrutura

estrutura MVMT

Estrutura: Parmetros de entrada


Parmetro
de Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so atualizadas.


o valor inicial definido

Source

DINT

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
Bit (BTD)

Linguagens Disponveis:

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
INT
DINT

imediato
tag

tag que contm os bits a serem


movimentados

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Bit Source

DINT

imediato
(0-31 DINT)
(0-15 INT)
(0-7 SINT)

nmero do bit (nmero do bit menos


significativo) onde a movimentao
foi iniciada
deve estar dentro da faixa vlida de
tipos de dados Source

Destination

SINT
INT
DINT

tag

tag para onde os bits sero movidos

Bit de Destino

DINT

imediato
(0-31 DINT)
(0-15 INT)
(0-7 SINT)

o nmero do bit (nmero de bit menos


significativo) a partir de onde se inicia
a cpia de bits de Source
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)

Distribuio do Campo do
Bit com Target (BTDT)

6-13

Linguagens Disponveis:

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:

tag do bloco FBD_BIT_FIELD_DISTRIBUTE

Formato:

Descrio:

estrutura

estrutura BTDT

Estrutura: Parmetros de entrada


Parmetro
de Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so atualizadas.


o valor inicial definido

Source

DINT

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
INT
DINT
REAL

tag

tag a ser zerado

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)

Bitwise AND (AND)

6-17

Linguagens Disponveis:

Bloco de Funo

Lgica Ladder

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
INT
DINT

imediato
tag

valor para AND com Source B

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Source B

SINT
INT
DINT

imediato
tag

valor para AND com Source A

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Destination

SINT
INT
DINT

tag

armazena o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_LOGICAL

Formato:

Descrio:

estrutura

estrutura AND

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so atualizadas.


o valor inicial definido

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
Source A for:

E o bit em
Source B for:

O bit em Destination
ser:

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)

Bitwise OR (OR)

6-21

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
INT
DINT

imediato
tag

valor para OR com Source B

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Source B

SINT
INT
DINT

imediato
tag

valor para OR com Source A

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Destination

SINT
INT
DINT

tag

armazena o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_LOGICAL

Formato:

Descrio:

estrutura

estrutura OR

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

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
Source A for:

E o bit em
Source B for:

O bit em Destination
ser:

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)

Bitwise Exclusive OR (XOR)

6-25

Linguagens Disponveis:

Bloco de Funo

Lgica Ladder

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
INT
DINT

imediato
tag

valor para XOR com Source B

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Source B

SINT
INT
DINT

imediato
tag

valor para XOR com Source A

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Destination

SINT
INT
DINT

tag

armazena o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_LOGICAL

Formato:

Descrio:

estrutura

estrutura XOR

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

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
Source A for:

E o bit em
Source B for:

O bit em
Destination
ser:

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)

Bitwise NOT (NOT)

6-29

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
INT
DINT

imediato
tag

valor para NOT

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Destination

SINT
INT
DINT

tag

armazena o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_CONVERT

Formato:

Descrio:

estrutura

estrutura NOT

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

DINT

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
Source for:

O bit em Destination
ser:

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

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


aritmtica nos valores de matrizes

FAL

7-7

buscar e comparar valores em matrizes

FSC

7-20

copiar o contedo de uma matriz para


outra matriz

COP

7-32

copiar o contedo de uma matriz para


outra matriz sem interrupo

CPS

7-32

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


em ordem crescente

SRT

7-45

calcular o desvio padro de uma matriz de


valores

STD

7-49

encontrar o tamanho de uma dimenso de


uma matriz

SIZE

7-53

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.

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
Operao

Para as instrues FAL e FSC, o modo informa o controlador sobre


como distribuir a operao de matriz.
Se voc quiser:

Selecione este
modo:

operar em todos os elementos especificados em uma


matriz antes de prosseguir para a prxima instruo

All (Todos)

distribuir a operao de matriz em vrias varreduras


inserir o nmero de elementos para operar por varredura
(1-2147483647)

Numerical
(Numrico)

manipular um elemento da matriz cada vez que a entrada


da condio da linha passa de falsa para verdadeira

Incremental
(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
varreduras mltiplas

a linha se torna falsa na concluso


varreduras mltiplas

entrada da condio da linha


bit .EN
bit DN
varredura da instruo
operao completa

operao completa

zera os bits de status


e zera o valor .POS

40013

zera os bits de status


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
completa

zerar os bits de status


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)

Arquivamento Aritmtico e
Lgico (FAL)

7-7

Linguagens Disponveis:

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
INT
DINT
REAL

tag

tag para armazenar o resultado

Expresso

SINT
INT
DINT
REAL

imediato tag

uma expresso composta por tags


e/ou valores imediatos separados por
operadores

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:

Publicao 1756-RM003D-PT-P - Junho 2001

Uma falha grave ocorrer se:

Tipo de falha:

Cdigo de falha:

subscrito est fora da faixa

20

.POS < 0 ou .LEN < 0

21

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

examinar bit .DN

bit .DN = 0

bit .DN = 1
bit .EN desenergizado
bit .ER desenergizado
bit .DN desenergizado
valor .POS
desenergizado

modo INC

no

bit interno desenergizado

sim
bit .EN desenergizado

modo ALL

no

sim

.LEN < 0 ou
.POS < 0

sim

falha grave

no

.POS = .POS + 1

sim

.LEN = 0
no

.POS = 0

sim
no

no

.POS < .LEN


sim

.POS = .POS 1

modo .LEN>
bit .DN energizado
bit .EN energizado

no

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
.POS < 0
examinar bit .ER

sim

pgina7-14
falha grave
modo
numrico

bit .ER = 0
no
no

bit .DN = 0

bit .ER = 1
examinar bit .DN
bit .DN = 1

.LEN = 0

no

sim

modo INC

no
modo ALL
sim

sim

bit .DN energizado


bit .EN energizado

modo
INC

modo
ALL

pgina 7-13

pgina 7-12

comum

loop_count =
loop_count 1

loop_count < 0

no

.POS = .POS + 1

sim
avaliar a expresso

examine S:V

no

sim
bit .ER energizado

.POS = .POS + 1

.POS = .LEN

no

sim
bit .DN energizado
bit .EN energizado

.POS = .POS + 1

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)

Condio:

7-11

Ao:
modo
INC

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

bit = 1

examinar
bit interno

.POS = .POS + 1

bit = 0

bit interno energizado

sim

.POS .LEN

.POS = 0

sim

no

no
bit .EN energizado
loop_count = 1
.POS = .POS 1

.POS = .POS 1

bit .DN energizado


bit .EN energizado
sada da condio da linha
definida como verdadeira

comum

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 = 0

bit .EN = 1

.POS = .POS + 1

bit = 1

examinar
bit interno

examinar bit .EN

bit .EN energizado

.POS .LEN

sim

no

.POS = 0

sim

no

loop_count = .LEN .POS


.POS = .POS 1

.POS = .POS 1

bit .DN energizado


bit .EN energizado

sada da condio da linha


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)

Condio:

7-13

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

.POS .LEN

sim

.POS = 0
no

no

modo .LEN>

no

sim

.POS = .POS 1
modo .LEN
sim

bit .EN energizado


loop_count = .LEN .POS
.POS = .POS 1

bit .DN energizado


bit .EN energizado

sada da condio da linha


definida como verdadeira

fim

modo
loop_count
no

sim

comum

pgina 7-11

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
array_2[control_2.pos]

Destination
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
value_1

Destination
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
array_1[control_1.pos]

Publicao 1756-RM003D-PT-P - Junho 2001

Destination
value_1

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
array_2[control_2.pos] / array_3[control_2.pos]

Destination
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
value_1 + value_2

Destination
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
array_1[control_1.pos] + value_1

Destination
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
value_1 + array_1[control_1.pos]

Destination
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
array_1[control_1.pos] * array_3[control_1.pos]

Destination
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

REAL

multiplicao

DINT, REAL

logaritmo na base de
10

diviso

DINT, REAL

MOD

mdulo-diviso

DINT, REAL

**

expoente
(x elevado a y)

DINT, REAL

NOT

bitwise complemento

DINT

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
que operam com:

Use esse formato:

Exemplos:

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:

Publicao 1756-RM003D-PT-P - Junho 2001

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

Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)

Comparao e Busca de
Arquivo (FSC)

7-19

Linguagens Disponveis:

Lgica Ladder

A instruo FSC compara valores em uma matriz, elemento por


elemento.

Operandos de Lgica
Ladder:
FSC
File Search/Compare
Control
Length
Position
Mode
Expression

?
?
?
?
?

EN
DN
ER

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

offset na matriz
valor inicial normalmente 0

Mode

DINT

imediato

como distribuir a operao


selecione INC, ALL ou insira um
nmero

Expresso

SINT
INT
DINT
REAL

imediato
tag

uma expresso composta por tags


e/ou valores imediatos separados por
operadores

42577

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:

Publicao 1756-RM003D-PT-P - Junho 2001

Uma falha grave ocorrer se:

Tipo de falha:

Cdigo de falha:

.POS < 0 ou .LEN < 0

21

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

examinar bit .DN

bit .DN = 0

bit .DN = 1

bit .EN desenergizado


bit .ER desenergizado
bit .DN desenergizado
valor .POS desenergizado

modo INC

no

bit interno desenergizado

sim
bit .EN desenergizado

modo ALL

no

sim

sim

.LEN < 0 ou
.POS < 0

falha grave

no

.POS = .POS + 1

sim

.LEN = 0
no

.POS = 0

sim
no

no

.POS < .LEN


sim

.POS = .POS 1

modo .LEN>
bit .DN energizado
bit .EN energizado

no

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


sim

.LEN < 0 ou
.POS < 0
examinar bit .ER

pgina 7-27
falha grave
modo
numrico

bit .ER = 0
no
no

bit .DN = 0

bit .ER = 1
examinar bit .IN

no

.LEN = 0

modo INC

no
modo ALL

bit .DN = 1
sim

bit .IN = 0

sim

sim

bit .DN energizado


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

modo
INC

modo
ALL

pgina 7-26

pgina 7-25

comum
bit .DN = 0

loop_count =
loop_count 1

loop_count < 0

no

.POS = .POS + 1

sim
avaliar comparao

correspondncia

no

sim
.POS = .POS + 1

.POS = .LEN

bit .EN energizado


bit .FD energizado
bit .IN energizado

no

sim
bit .DN energizado
bit .EN energizado

.POS = .POS + 1

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)

Condio:

7-23

Ao:
modo
INC

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

bit = 1

examinar
bit interno

.POS = .POS + 1

bit = 0

bit interno energizado

.POS .LEN

sim

.POS = 0

sim

no

no
bit .EN energizado
loop_count = 1
.POS = .POS 1

.POS = .POS 1

bit .DN energizado


bit .EN energizado
sada da condio da linha
definida como verdadeira

comum

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 = 0

bit .EN = 1

.POS = .POS + 1

bit = 1

examinar
bit interno

examinar bit .EN

bit .EN energizado


bit .FD desenergizado

.POS .LEN

sim

no

.POS = 0

sim

no

loop_count = .LEN .POS


.POS = .POS 1

.POS = .POS 1

bit .DN energizado


bit .EN energizado

sada da condio da linha


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)

Condio:

7-25

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

.POS .LEN

sim

.POS = 0
no

no

modo .LEN>

no

sim

.POS = .POS 1
modo .LEN
sim

bit .EN energizado


loop_count = .LEN .POS
bit .FD desenergizado
.POS = .POS 1

bit .DN energizado


bit .EN energizado

sada da condio da linha


definida como verdadeira

fim

modo
loop_count
no

sim

comum

pgina 7-24

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

00000000000000000000000000000000

00000000000000000000000000000000

00000000000000000000000000000000

00000000000000000000000000000000

00000000000000000000000000000000

00000000000000000000000000000000

00000000000000001111111111111111

11111111111111110000000000000000

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

Publicao 1756-RM003D-PT-P - Junho 2001

A instruo FSC descobre que esses


elementos no so iguais. A instruo
energiza os bits .FD e .IN. O valor .POS (4)
indica a posio dos elementos que so
diferentes. Para continuar a realizar a
comparao no restante da matriz, zere o
bit .IN.

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

11111111111111110000000000000000

referncia

control_3.pos

00000000000000000000000000000000

00000000000000000000000000000000

00000000000000000000000000000000

00000000000000000000000000000000

11111111111111110000000000000000

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

11111111111111111111111111111111

A instruo FSC descobre que esse


elemento da matriz igual a MySearchKey.
A instruo energiza os bits .FD e .IN. O
valor .POS (4) indica a posio dos
elementos iguais. Para continuar a realizar
a comparao no restante da matriz, zere o
bit .IN.

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

REAL

igual

DINT, REAL

logaritmo na base de
10

<

menor do que

DINT, REAL

MOD

mdulo-diviso

DINT, REAL

<=

menor ou igual a

DINT, REAL

NOT

bitwise complemento

DINT

>

maior do que

DINT, REAL

OR

bitwise OR

DINT

>=

maior ou igual a

DINT, REAL

RAD

graus para radianos

DINT, REAL

<>

diferente de

DINT, REAL

SIN

seno

REAL

**

expoente
(x elevado a y)

DINT, REAL

SQR

raiz quadrada

DINT, REAL

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:

Publicao 1756-RM003D-PT-P - Junho 2001

Para operadores
que operam com:

Use esse formato:

Exemplos:

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)

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)


Cpia Sncrona de Arquivo
(CPS)

Linguagens Disponveis:

Lgica Ladder

As instrues COP e CPS copiam o(s) valor(es) em Source para


Destination. Source permanece inalterado.

Operandos de Lgica
Ladder:
COP
Copy File
Source
Dest
Length

?
?
?

CPS
Synchronous Copy File
Source
?
Dest
?
Length
?

Operando

Tipo:

Formato:

Descrio:

Source

SINT
INT
DINT
REAL
estrutura

tag

elemento inicial para cpia


Importante: os operandos Source e
Destination devem ter o mesmo tipo
de dado ou podem ocorrer resultados
inesperados.

Destination

SINT
INT
DINT
REAL
estrutura

tag

elemento inicial a ser sobrescrito


por Source
Importante: os operandos Source e
Destination devem ter o mesmo tipo
de dado ou podem ocorrer resultados
inesperados.

Length

DINT

imediato tag

nmero de elementos em Destination


a serem copiados

42577

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:

tag produzido
tag consumido
dados de E/S
dados que outra tarefa pode
sobrescrever

nenhum dos acima

Publicao 1756-RM003D-PT-P - Junho 2001

E voc quiser:

Ento
selecione:

previnir que os dados mudem


durante a operao de cpia

CPS

permitir que os dados mudem


durante a operao de cpia

COP
COP

Notas:

Tarefas que tentam interromper


uma instruo CPS so atrasadas
at que a instruo seja
concluda.
Para estimar o tempo de execuo
da instruo CPS, consulte
Manual do Usurio do Sistema
ControlLogix, publicao
1756-UM001.

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)
ATENO

Se a contagem de byte for maior do que o


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
linha for verdadeira

end_address = start_address + (Length nmero


de bytes em um elemento em destination)

end_address > fim


da matriz destination

sim

end_address = fim da matriz destination

no

source_address = Source

destination_address =
end_address

sim

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

CPS
Synchronous Copy File
Source project_data[0]
Dest produced_array[0]
Length
100
42578

A matriz project_data (100 elementos) armazena uma variedade de valores que mudam em momentos
diferentes na aplicao. Para enviar uma imagem completa de project_data a uma instncia por vez
para outro controlador, a instruo CPS copia project_data para produced_array.
Enquanto a instruo CPS copia os dados, nenhuma atualizao de E/S ou outras tarefas
podem mudar os dados.
O tag produced_array produz os dados em uma rede ControlNet para o consumo por outros
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
CPS
Synchronous Copy File
Source Local:0:I.Data[0]
Dest
input_buffer[0]
Length
20
42578

Local:0:I.Data aramzena os dados de entrada para a rede DeviceNet que est conectada ao mdulo
1756-DNB no slot 0. Para sincronizar as entradas com a aplicao, a instruo CPS copia os dados de
entrada para input_buffer.
Enquanto a instruo CPS copia os dados, nenhuma atualizao de E/S pode mudar os dados.
Conforme a aplicao executada, ela usa os dados de entrada em input_buffer para suas
entradas.

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)

Preenchimento de Arquivo
(FLL)

7-35

Linguagens Disponveis:

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
INT
DINT
REAL

imediato tag

elemento para cpia


Importante: os operandos Source e
Destination devem ter o mesmo tipo
de dado ou podem ocorrer resultados
inesperados.

Destination

SINT
INT
DINT
REAL
estrutura

tag

elemento inicial a ser sobrescrito


por Source
Importante: os operandos Source e
Destination devem ter o mesmo tipo
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


matriz destination

sim

end_address = fim da matriz destination

no

source_address = Source

destination_address =
end_address

sim

no

copiar os dados de source_address para


destination _address

destination_address =
destination_address + 1

sada da condio da linha


definida como verdadeira

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
(value_1) Source:

Valor (value_1)
Source:

Destination
(dest_1) tipo de
dados:

Destination
(dest_1) valor
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)

Mdia de Arquivo (AVE)

7-39

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
INT
DINT
REAL

tag da
matriz

encontre a mdia dos valores nessa matriz


especifique o primeiro elemento do grupo de
elementos para a mdia
no use CONTROL.POS em subscrito

Dimension
to vary

DINT

imediato
(0, 1, 2)

a dimenso a ser usada


depende do nmero de dimenses, a
seqncia
array[dim_0,dim_1,dim_2]
array[dim_0,dim_1]
array[dim_0]

Destination

SINT
INT
DINT
REAL

tag

resultado da operao

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:

Publicao 1756-RM003D-PT-P - Junho 2001

Uma falha grave ocorrer se:

Tipo de falha:

Cdigo de falha:

.POS < 0 ou .LEN < 0

21

o operando Dimension to vary no existe


para a matriz especificada

20

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

examinar bit .DN

bit .DN = 0

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]

b
su

dimenso 1
os

ri t
sc

dimenso 0

20

19

18

17

16

15

14

13

12

11

10

+ 14 + 9 + 4- = 46
AVE = 19
----------------------------------------- = 11.5
4
4
dint_ave = 12

exemplo 2
array_dint DINT[4,5]

b
su

dimenso 1
os

ri t
sc

dimenso 0

20

19

18

17

16

15

14

13

12

11

10

+ 4 + 3 + 2 + 1- = 15
AVE = 5-------------------------------------------- = 3
5
5
dint_ave = 3

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)

Classificao de Arquivo
(SRT)

7-43

Linguagens Disponveis:

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
INT
DINT
REAL

tag da
matriz

matriz para classificao


especifique o primeiro elemento do grupo de
elementos para classificao
no use CONTROL.POS em subscrito

Dimension
to vary

DINT

imediato
(0, 1, 2)

a dimenso a ser usada


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

21

o operando Dimension to vary no existe


para a matriz especificada

20

A instruo tenta acessar os dados


localizados fora dos limites da matriz.

20

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

examinar bit .DN

bit .DN = 0

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

Publicao 1756-RM003D-PT-P - Junho 2001

A instruo SRT classifica os elementos especificados da matriz em ordem crescente.

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]

Depois

Antes

os
rit
sc

20

19

15

os

ri t
sc

dimenso 0

dimenso 1

b
su

b
su

dimenso 1
0

20

19

18

17

16

15

14

13

12

11

10

dimenso 0

17

16

14

12

11

10

13

18

exemplo 2
int _array DINT[4,5]

Depois

Antes

su

t
cri
bs

20

19

18

17

16

15

14

13

12

11

10

os

t
cri
bs

dimenso 0

dimenso 1

os

su

dimenso 1

20

19

18

17

16

15

14

13

12

11

10

dimenso 0

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


(STD)

Linguagens Disponveis:

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
INT
DINT
REAL

tag da
matriz

encontra o desvio padro dos valores


nessa matriz
especifica o primeiro elemento do grupo de
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
to vary

DINT

imediato
(0, 1, 2)

a dimenso a ser usada


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

[ X( start + i ) AVE ]

i = 1

-------------------------------------------------------------------(N 1)

Desvio Padro =

Onde:
start = subscrito dimension-to-vary do operando array
xi = elemento da tag na matriz

N = nmero de elementos especificados na matriz


AVE =

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

21

o operando Dimension to vary no existe


para a matriz especificada

20

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

examinar bit .DN

bit .DN = 0

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

Publicao 1756-RM003D-PT-P - Junho 2001

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.

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
os

t
cri
bs

20

19

18

17

16

15

14

13

12

11

10

dimenso 0

+ 11 + 6 + 1- = 34
AVE = 16
----------------------------------------- = 8.5
4
4
2

STD =

16 8.5 + 11 8.5 + 6 8.5 + 1 8.5 - = 6.454972


------------------------------------------------------------------------------------------------------------------------- 4 1

real_std = 6,454972
exemplo 2
array_dint DINT[4,5]
dimenso 1
b
su

20 + 19 + 18 + 17 + 16- = 90
AVE = ----------------------------------------------------------- = 18
5
5
2

STD =

os

rit
sc

dimenso 0

20

19

18

17

16

15

14

13

12

11

10

20 18 + 19 18 + 18 18 + 17 18 + 16 18 - = 1.581139
---------------------------------------------------------------------------------------------------------------------------------------------------------- 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
(SIZE)

Linguagens Disponveis:

Lgica Ladder

A instruo SIZE encontra o tamanho de uma dimenso de uma


matriz.

Operandos de Lgica
Ladder:
SIZE
Size in Elements
Source
Dim. To Vary
Size

?
??
?
?
??

Operando:

Tipo:

Source

SINT
tag da
INT
matriz
DINT
REAL
estrutura
tipo de string

primeiro elemento de uma matriz na qual a


instruo deve ser operada

Dimenso a
ser Variada

DINT

dimenso a ser usada:

42622

Tamanho

SINT
INT
DINT
REAL

Formato:

imediato
(0, 1, 2)

tag

Insira:

Para o tamanho da:

Insira:

primeira dimenso

segunda dimenso

terceira dimenso

tag para armazenar o nmero de elementos


na dimenso especfica da matriz

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 instruo executada.
A sada da condio da linha est definida como verdadeira.

a entrada da condio da linha verdadeira

Exemplo de Lgica
Ladder:
Exemplo 1
Encontra o nmero de elementos na dimenso 0 (primeira dimenso) de array_a. Armazena o
tamanho em array_a_size. Neste exemplo, a dimenso 0 de array_a tem 10 elementos.

SIZE
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
tamanho em string_1_size.

SIZE
Size in Elements
Source string_1.DATA[0]
'$00'
Dim. To Vary
0
Size
string_1_size
82

Neste exemplo, o membro DATA de string_1 tem 82 elementos. (O string usa o tipo de dados
STRING padro.) Como cada elemento mantm um caracter, string_1 pode conter at 82
caracteres.

42623

Exemplo 3
Strings_a uma matriz de estruturas de string. A instruo SIZE encontra o nmero de
elementos no membro DATA da estrutura de string e armazena o tamanho em data_size_a.

SIZE
Size in Elements
Source strings_a[0].DATA[0]
'$00'
Dim. To Vary
0
Size
data_size_a
24

Neste exemplo, o membro DATA tem 24 elementos. (A estrutura de string tem um comprimento
especificado pelo usurio de 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

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:
carregar bits, deslocar bits e descarregar bits
de uma matriz de bits, um bit de cada vez.
carregar e descarregar os valores na
mesma seqncia.
carregar e descarregar os valores em
ordem reversa.

Use esta instruo:

Consulte
pgina:

BSL

8-2

BSR

8-6

FFL

8-10

FFU

8-16

LFL

8-22

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.

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


Esquerda (BSL)

Linguagens Disponveis:

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

matriz a ser modificada


especifique o primeiro elemento do grupo de
elementos
no use CONTROL.POS no subscrito

Control

CONTROL

tag

estrutura de controle para a operao

Bit Source

BOOL

tag

bit a ser deslocado

Length

DINT

imediato

nmero de bits da matriz a ser deslocada

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

examinar bit .EN

bit .EN = 1

bit .EN = 0
bit .EN energizado

.LEN = 0

sim

bit .DN energizado

no
examinar bit source
.LEN < 0

sim

.source bit = 1

bit .UL permanece


energizado

bit .ER energizado


.source bit = 0

no
bit .UL energizado
deslocar matriz da esquerda uma posio

bit .UL

matriz

bit .DN energizado


.POS = .LEN

Bit
Source

sada da condio da linha


definida como
verdadeira

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
esses bits foram
0
deslocados esquerda
bit .UL

1
input_1

9 8 7 6 5 4 3 2 1 0
array_dint[0]d
epois do
deslocamento

0 1 1 1 1 0 0 0 0 1

Quando habilitada, a instruo BSL inicia no bit 0 em array_dint[0]. A instruo descarrega array_dint[0].9 no bit .UL, desloca os
bits restantes e carrega input_1 em array_dint[0].0. Os valores nos bits restantes (10-31) so invlidos.

exemplo 2

31

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

31

input_1
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

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)

Deslocamento de Bit para a


Direita (BSR)

8-5

Linguagens Disponveis:

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

matriz a ser modificada


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

examinar bit .EN

bit .EN = 1

bit .EN = 0
bit .EN energizado

.LEN = 0

sim

bit .DN energizado

no
examinar bit source
.LEN < 0

sim

.source bit = 1

bit .ER energizado


.source bit = 0

no
bit .UL energizado
deslocar matriz da esquerda uma posio
Bit
Source

matriz

bit .UL

bit .DN energizado


.POS = .LEN

sada da condio da linha


definida como
verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001

bit .UL permanece


energizado

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
esses bits foram
deslocados direita

1
input_1

0
bit .UL

9 8 7 6 5 4 3 2 1 0
array_dint[0]d
epois do
deslocamento

1 0 0 1 1 1 1 0 0 0

Quando habilitada, a instruo BSR inicia no bit 9 em array_dint[0]. A instruo descarrega array_dint[0].0no bit .UL, desloca os
bits restantes para a direita e carrega input_1 em array_dint[0].9. Os valores nos bits restantes (10-31) so invlidos.

exemplo 2

31

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

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

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
INT
DINT
REAL
tipo de
string
estrutura

imediato
tag

dados a serem armazenados em FIFO

Source converte para o tipo de dados do tag da matriz. Um inteiro menor


converte para um inteiro maior pela extenso do sinal.
FIFO

SINT
INT
DINT
REAL
tipo de
string
estrutura

tag da
matriz

FIFO a ser modificado


especifique o primeiro elemento de FIFO
no use CONTROL.POS no subscrito

Control

CONTROL

tag

estrutura de controle para a operao


geralmente usa o mesmo CONTROL,
conforme associado a FFU

Length

DINT

imediato

nmero mximo de elementos que FIFO pode


controlar de uma vez

Position

DINT

imediato

prxima localizao em FIFO onde a instruo


carrega os dados.
valor inicial normalmente 0

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


matriz de FIFO

20

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

.LEN < 0

sim

no

.POS < 0

sim

no

.EM desenergizado
bit .DN desenergizado

.POS = 0

.EM energizado
.DN energizado

sim

.EM energizado

no

.POS .LEN

sim

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001

.DN energizado

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Condio:

8-11

Ao:

entrada da condio da linha for falsa

bit .EN desenergizado

.LEN < 0

sim

no

.POS < 0

sim

no

.EM desenergizado
bit .DN desenergizado

.POS = 0

.EM energizado
.DN energizado

sim

.EM energizado

no

.POS .LEN

sim

.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

examinar bit .EN

.EN = 0

bit .EN energizado

.EN = 1

.LEN < 0

sim

no

sim

.POS < 0

sim

no

no

.POS < 0

.LEN < 0

sim

bit .EM energizado


.DN energizado

bit .EM desenergizado


bit .DN desenergizado
.POS = .POS + 1

no
bit .EM energizado
.DN energizado

bit .EM desenergizado


bit .DN desenergizado

.POS .LEN

sim

bit .DN energizado

no
.POS = 0

sim

bit .EM energizado


.POS ou .LEN >
tamanho da
matriz

no

sim

falha grave

no
.POS .LEN

sim

bit .DN energizado

no

.POS > .LEN

sim

no

FIFO[.POS 1] = source

sada da condio da linha


definida como
verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001

.POS = .POS 1

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

8-13

Exemplo de Lgica
Ladder a Rel:

array_dint[0]

array_dint[5]

antes da carga FIFO

depois da carga FIFO

00000

00000

11111

11111

22222

22222

33333

control_1.pos = 5

33333

44444

value_1 = 55555

44444

00000

55555

00000

00000

00000

00000

00000

00000

00000

00000

control_1.pos = 6

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
INT
DINT
REAL
tipo de
string
estrutura

tag da
matriz

FIFO a ser modificado


especifique o primeiro elemento de FIFO
no use CONTROL.POS no subscrito

Destination

SINT
INT
DINT
REAL
tipo de
string
estrutura

tag

valor que saiu de FIFO

O valor Destination converte para o tipo de dados do tag Destination. Um


inteiro menor converte para um inteiro maior pela extenso do sinal.
Control

CONTROL

tag

estrutura de controle para a operao


geralmente usa o mesmo CONTROL, como a
FFL associada

Length

DINT

imediato

nmero mximo de elementos que FIFO pode


controlar de uma vez.

Position

DINT

imediato

prxima localizao em FIFO onde a instruo


descarrega os dados.
valor inicial normalmente 0

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

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

.LEN < 0

sim

no

.POS < 0

sim

no

.EM desenergizado
bit .DN desenergizado

.POS = 0

.EM energizado
.DN energizado

sim

.EM energizado

no

.POS .LEN

sim

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001

.DN energizado

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Condio:

8-17

Ao:

entrada da condio da linha for falsa

bit .EU desenergizado

.LEN < 0

sim

no

.POS < 0

sim

no

.EM desenergizado
bit .DN desenergizado

.POS = 0

.EM energizado
.DN energizado

sim

.EM energizado

no

.POS .LEN

sim

.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

examinar bit .EU

.EU = 0

bit .EU energizado

.EU = 1

sim

no

sim

.LEN < 0

.LEN < 0

.POS < 0

sim

no

no

bit .EM energizado


.DN energizado

bit .EM desenergizado


bit .DN desenergizado

sim

.POS < 0
no

bit .EM energizado


.DN energizado

bit .EM desenergizado


bit .DN desenergizado

.LEN >
tamanho da
matriz

sim

falha grave

no
sim

.POS = 0

bit .EM energizado

no

.POS 1

sim

bit .EM energizado

no

.POS .LEN

.POS < 1

sim

sim

bit .DN energizado


no

no
.POS = .POS 1
Destination = FIFO[0]
i=1

FIFO[i 1] = FIFO[i]
i = i +1

sim
i < .LEN

sada da condio da linha


definida como
verdadeira
fim

Publicao 1756-RM003D-PT-P - Junho 2001

no

Destination = 0

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

8-19

Exemplo de Lgica
Ladder a Rel:

array_dint[0]

array_dint[5]

antes da descarga FIFO

depois da descarga FIFO

00000

11111

11111

22222

22222

33333

33333

44444

44444

55555

55555

00000

control_1.pos = 5

00000

value_2 = 00000

00000

control_1.pos = 6

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
INT
DINT
REAL
tipo de
string
estrutura

imediato
tag

dados a serem armazenados em LIFO

Source converte para o tipo de dados do tag da matriz. Um inteiro menor


converte para um inteiro maior pela extenso do sinal.
LIFO

SINT
INT
DINT
REAL
tipo de
string
estrutura

tag da
matriz

LIFO a ser modificado


especifique o primeiro elemento de LIFO
no use CONTROL.POS no subscrito

Control

CONTROL

tag

estrutura de controle para a operao


geralmente usa o mesmo CONTROL,
conforme a LFU associada

Length

DINT

imediato

nmero mximo de elementos que LIFO pode


controlar de uma vez.

Position

DINT

imediato

prxima localizao em LIFO onde a instruo


carrega os dados.
valor inicial normalmente 0

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


matriz de LIFO

20

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

.LEN < 0

sim

no

.POS < 0

sim

no

.EM desenergizado
bit .DN desenergizado

.POS = 0

.EM energizado
.DN energizado

sim

.EM energizado

no

.POS .LEN

sim

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001

.DN energizado

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Condio:

8-23

Ao:

entrada da condio da linha for

bit .EN desenergizado

.LEN < 0

sim

no

.POS < 0

sim

no

.EM desenergizado
bit .DN desenergizado

.POS = 0

.EM energizado
.DN energizado

sim

.EM energizado

no

.POS .LEN

sim

.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

examinar bit .EN

.EN = 0

bit .EN energizado

.EN = 1

.LEN < 0

sim

no

sim

.POS < 0

sim

no

no

.POS < 0

.LEN < 0

bit .EM energizado


.DN energizado

bit .EM desenergizado


bit .DN desenergizado
.POS = .POS + 1

sim

no
bit .EM energizado
.DN energizado

bit .EM desenergizado


bit .DN desenergizado

.POS .LEN

sim

bit .DN energizado

no
.POS = 0

sim

bit .EM energizado


.POS ou .LEN >
tamanho da
matriz

no

sim

falha grave

no
.POS .LEN

sim

bit .DN energizado

no

.POS > .LEN

sim

no

LIFO[.POS 1] = source

sada da condio da linha


definida como
verdadeira

fim

Publicao 1756-RM003D-PT-P - Junho 2001

.POS = .POS 1

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

8-25

Exemplo de Lgica
Ladder a Rel:

array_dint[0]

array_dint[5]

antes da carga LIFO

depois da carga LIFO

00000

00000

11111

11111

22222

22222

33333

control_1.pos = 5

33333

44444

value_1 = 55555

44444

00000

55555

00000

00000

00000

00000

00000

00000

00000

00000

control_1.pos = 6

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
INT
DINT
REAL
tipo de
string
estrutura

tag da
matriz

LIFO a ser modificado


especifique o primeiro elemento de LIFO
no use CONTROL.POS no subscrito

Destination

SINT
INT
DINT
REAL
tipo de
string
estrutura

tag

valor que saiu de LIFO

O valor Destination converte para o tipo de dados do tag Destination. Um


inteiro menor converte para um inteiro maior pela extenso do sinal.
Control

CONTROL

tag

estrutura de controle para a operao


geralmente usa o mesmo CONTROL,
conforme a LFL associada

Length

DINT

imediato

nmero mximo de elementos que LIFO pode


controlar de uma vez.

Position

DINT

imediato

prxima localizao em LIFO onde a


instruo descarrega os dados.
valor inicial normalmente 0

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

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

.LEN < 0

sim

no

.POS < 0

sim

no

.EM desenergizado
bit .DN desenergizado

.POS = 0

.EM energizado
.DN energizado

sim

.EM energizado

no

.POS .LEN

sim

no

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001

.DN energizado

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

Condio:

8-29

Ao:

entrada da condio da linha for falsa

bit .EU desenergizado

.LEN < 0

sim

no

.POS < 0

sim

no

.EM desenergizado
bit .DN desenergizado

.POS = 0

.EM energizado
.DN energizado

sim

.EM energizado

no

.POS .LEN

sim

.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

examinar bit .EU

.EU = 0

bit .EU energizado

.LEN < 0

.EU = 1

.LEN < 0

no

sim

.POS < 0

sim

no

no

.POS < 0

sim

bit .EM energizado


.DN energizado

bit .EM desenergizado


bit .DN desenergizado

sim

no
bit .EM energizado
.DN energizado

bit .EM desenergizado


bit .DN desenergizado

.POS 1

sim

bit .EM energizado

no

.POS = 0

sim

bit .EM energizado

no

.POS .LEN

.POS < 1

sim

Destination = 0

no

sim

.POS > .LEN

sim

.POS = .LEN

bit .DN energizado


no

no
.POS = .POS 1

.LEN >
tamanho da
matriz

sim

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

falha grave

Instrues de Matriz (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU)

8-31

Exemplo de Lgica
Ladder a Rel:

array_dint[0]

array_dint[5]

antes da descarga LIFO

depois da descarga LIFO

00000

00000

11111

11111

22222

22222

33333

33333

44444

44444

55555

00000

control_1.pos = 5

00000

value_2 = 55555

00000

control_1.pos = 6

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

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


prxima etapa.

SQO

9-7

Carregar as condies de referncia nas


matrizes de seqenciador

SQL

9-12

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.

Publicao 1756-RM003D-PT-P - Junho 2001

9-2

Instrues de Seqenciador (SQI, SQO, SQL)

Entrada do Sequenciador
(SQI)

Linguagens Disponveis:

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

matriz do seqenciador
especifica o primeiro elemento da matriz do
seqenciador
no use CONTROL.POS em subscrito

Mask

SINT
INT
DINT

tag
imediato

quais bits devem ser bloqueados ou podem


passar

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Source

SINT
INT
DINT

tag

dados de entrada para a matriz do


seqenciador

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Control

CONTROL

tag

estrutura de controle para a operao


geralmente usa o mesmo CONTROL das
instrues SQO e SQL

Length

DINT

imediato

nmero de elementos na Matriz (tabela do


seqenciador) a serem comparados

Position

DINT

imediato

posio atual na matriz


valor inicial normalmente 0

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
ou
.POS > .LEN

no

bit .ER desenergizado.

sim
bit .ER energizado

no

Source mascarada=
Array mascarada[.POS]

sim

sada da condio da linha definida


como verdadeira

sada da condio da linha


definida como falsa

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)

Sada do Sequenciador
(SQO)

9-7

Linguagens Disponveis:

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
INT
DINT

tag
imediato

quais bits devem ser bloqueados ou podem


passar

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Destination

DINT

tag

dados de sada da matriz de seqenciador

Control

CONTROL

tag

estrutura de controle para a operao


geralmente usa o mesmo CONTROL das
instrues SQI e SQL

Length

DINT

imediato

nmero de elementos na Matriz (tabela do


seqenciador) a serem colocados na sada

Position

DINT

imediato

posio atual na matriz


valor inicial normalmente 0

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)

Condio:

9-9

Ao:

entrada da condio da linha for verdadeira

.LEN 0 ou
.POS < 0

no

examinar bit .EN

bit .EN energizado


bit .ER
desenergizado.
bit .DN energizado.

.EN = 1

sim

.POS = .LEN

.EN = 0

no

.POS .LEN

sim

.POS = 1

no

sim

.POS = .POS + 1

bit .DN energizado.

valor .POS
renova

sim

ir para
erro

no

.POS = .LEN

sim

bit .DN energizado.

no

.POS > .LEN

no

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
(SQL)

Linguagens Disponveis:

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
INT
DINT

tag
imediato

dados de entrada a serem carregados na


matriz do seqenciador

Um tag SINT ou INT convertido para um valor DINT pela extenso de


sinal.
Control

CONTROL

tag

estrutura de controle para a operao


geralmente usa o mesmo CONTROL das
instrues SQO e SQI

Length

DINT

imediato

nmero de elementos na Matriz (tabela do


sequenciador) a serem carregados

Position

DINT

imediato

posio atual na matriz


valor inicial normalmente 0

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

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

.LEN 0 ou
.POS < 0

no

examinar bit .EN

bit .EN energizado


bit .ER
desenergizado.
bit .DN energizado.

.EN = 1

sim

.POS = .LEN

.EN = 0

no

.POS .LEN

sim

.POS = 1

no

sim

.POS = .POS + 1

bit .DN energizado.

valor .POS
renova

sim

ir para
erro

no

.POS = .LEN

sim

bit .DN energizado.

no

.POS > .LEN

no

sim

erro

.LEN >
tamanho da
matriz
no

bit .ER energizado

sim

falha grave

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:

array_dint[0]

array_dint[5]

antes da carga

depois da carga

00000

00000

11111

11111

22222

22222

33333

control_1.pos = 5

33333

44444

value_3 = 55555

44444

00000

55555

00000

00000

00000

00000

00000

00000

00000

00000

control_1.pos = 6

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


precisa ser executada.

JMP
LBL

10-2

Saltar para uma rotina separada, passar


dados para a rotina, executar a rotina e
retornar os resultados.

JSR
SBR
RET

10-4

Marcar um fim temporrio que interrompa a


execuo da rotina.

TND

10-13

Desabilitar todas as linhas em uma seo


de lgica.

MCR

10-15

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

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)


Label (LBL)

Linguagens Disponveis:

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:

nome do
label;

insere o nome para a instruo LBL


associada

nome do
label;

a execuo salta para a instruo LBL


quando o nome do label citado

Instruo JMP
Label name;
Instruo LBL
Label name;

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.

ATENCION

No se realiza varredura na lgica com salto.


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

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)


Sub-rotina (SBR)
Retorno (RET)

Linguagens Disponveis:

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:

Routine name

ROUTINE

nome

rotina a ser executada

Input par

SINT
INT
DINT
REAL
estrutura

imediato
tag
tag da matriz

parmetros (0-n) a serem passados


para rotina

Return par

SINT
INT
DINT
REAL
estrutura

tag
tag da matriz

parmetros (0-n) a serem recebidos


da rotina

SINT
INT
DINT
REAL
estrutura

tag
tag da matriz

parmetros (0-n) recebidos de JSR

SINT
INT
DINT
REAL
estrutura

imediato
tag
tag da matriz

parmetros (0-n) a serem retornados


para JSR

Instruo JSR

Instruo SBR
Input par

Instruo RET
Return par

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
sub-rotina action_1

nvel 2
sub-rotina action_2

nvel 3
sub-rotina action_3

rotina principal
action_1
JSR

SBR

SBR

SBR

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:
sim

no

Ento:
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.
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:
sim

no

Ento:
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.
Omita os parmetros de entrada

4. Na instruo JSR, voc especificou um operando Input par?


Se:
sim

no

Publicao 1756-RM003D-PT-P - Junho 2001

Ento:
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.
V para a Etapa 5.

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


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.

ATENCION

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.

ATENCION

Para cada operando Return par em uma


instruo RET, use o mesmo tipo de dados
(incluir qualquer dimenso de matriz) como o
operando Return par correspondente na
instruo JSR. O uso de tipos de dados
diferentes pode produzir resultados
inesperados.

6. H condies quando voc quer sair da sub-rotina antes do


final?
Se:

Ento:

sim

A.
B.
C.
D.

no

No local da sub-rotina onde voc quer sair, digite uma linha.


Digite as condies para sair do local da sub-rotina.
Digite uma instruo RET.
Digite parmetros de retorno, se necessrio. Consulte as etapas
4. e 5.

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


entrada do que a instruo SBR

31

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
usurio

0 ou fornecido pelo
usurio

a instruo RET tem menos parmetros de


retorno do que a instruo JSR

31

a rotina principal contm uma instruo RET

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)

Condio:

10-9

Ao:

entrada da condio da linha for verdadeira

parmetros de
entrada

sim

JSR copia os parmetros de


entrada para as variveis SBR
apropriadas

no

a execuo da lgica comea na


rotina identificada por JSR

sim

sim
Instruo RET

parmetros de
retorno

RET copia os parmetros de


retorno para as variveis JSR
apropriadas

no

no

sim
fim da sub-rotina

no

sada da condio da linha


definida como falsa
continua a executar a rotina

sada da condio da linha definida


como verdadeira
a execuo da lgica retorna para JSR

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)

exemplo 2

10-11

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)

Rearme do Controle Mestre


(MCR)

10-13

Linguagens Disponveis:

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.

ATENCION

No sobreponha ou monte em cadeia as zonas MCR.


Cada zona MCR deve ser separada e completa. Se
houver sobreposio ou encadeamento, uma
operao imprevisvel de mquina pode ocorrer com
possveis danos ao equipamento ou ferimentos
pessoais.
Coloque operaes crticas fora da zona MCR. Se
voc iniciar instrues como, por exemplo,
temporizadores em uma zona MCR, a execuo da
instruo pra quando a zona desabilitada e o
tempo for removido.

Publicao 1756-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)

Desabilitao da
Interrupo pelo Usurio
(UID)
Habilitao da Interrupo
pelo Usurio (UIE)

10-15

Linguagens Disponveis:

Lgica Ladder a Rel

A instruo UID e a instruo UIE trabalham juntas para evitar que um


nmero pequeno de linhas crticas sejam interrompidas por outras
tarefas.

Operandos de Lgica
Ladder 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
Control
error_check
Length
10
Position
8
Mode
ALL
Expression
error_code=error_list[error_check.POS]

error_check.FD

EN
DN
ER

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)

Instruo Sempre Falsa


(AFI)

10-17

Linguagens Disponveis:

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

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
name

ROUTINE

nome da
rotina

rotina a ser executada

Index

DINT

tag

conta quantas vezes a rotina foi executada

Initial value

SINT
INT
DINT

imediato
tag

valor onde se inicia o ndice

Terminal
value

SINT
INT
DINT

imediato
tag

valor onde parar a execuo da rotina

Step size

SINT
INT
DINT

imediato
tag

quantidade a ser acrescentada ao ndice


cada vez que a instruo FOR executar a
rotina

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

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
ir para o
fim

no

index valor terminal

sim

sim
index valor terminal

executar rotina
index =(index + step_size)

no

ir para
o fim

fim

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)

Break (BRK)

11-5

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:

Publicao 1756-RM003D-PT-P - Junho 2001

Uma falha grave ocorrer se:

Tipo de falha:

Cdigo de falha:

a rotina principal contm uma instruo RET

31

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

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.

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.

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


j conhecida e registrar quaisquer
diferenas.

FBC

12-2

Comparar os dados com uma boa referncia


j conhecida, registrar quaisquer diferenas
e atualizar a referncia para combinar com a
fonte.

DDT

12-10

Passar os dados da fonte pela mscara e


comparar o resultado com os dados de
referncia. Em seguida, escrever a fonte na
referncia para a prxima comparao.

DTR

12-18

Controlar uma malha de PID.

PID

12-21

Publicao 1756-RM003D-PT-P - Junho 2001

12-2

Instrues Especiais (FBC, DDT, DTR, PID)

Comparao de Bit de
Arquivo (FBC)

Linguagens Disponveis:

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:

Source

DINT

tag da matriz matriz a ser comparada com a referncia


no use CONTROL.POS em subscrito

Reference

DINT

tag da matriz matriz a ser comparada com a fonte


no use CONTROL.POS em subscrito

Result:

DINT

tag da matriz matriz para armazenar o resultado


no use CONTROL.POS em subscripts

Cmp control

CONTROL

estrutura

estrutura de controle para a comparao

Length

DINT

imediato

nmero de bits a ser comparado

Position

DINT

imediato

posio atual na fonte


valor inicial normalmente 0

Result
control

CONTROL

estrutura

estrutura de controle para os resultados

Length

DINT

imediato

nmero de locais de armazenamento


no resultado

Position

DINT

imediato

posio atual no resultado


valor inicial normalmente 0

ATENO

Publicao 1756-RM003D-PT-P - Junho 2001

Descrio:

Use tags diferentes para comparar a estrutura de


controle e a estrutura de controle do resultado. O
uso do mesmo tag para ambas as estruturas pode
resultar em operao no previsvel, com
possibilidade de causar danos ao equipamento e/ou
ferimentos pessoais.

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
quando

Energizar o bit .IN na estrutura CONTROL de comparao.


Cada vez que a entrada da condio da linha passar de falsa para verdadeira, a
instruo FBC busca a prxima diferena entre as matrizes Source e Reference. Ao
encontrar uma diferena, a instruo energiza o bit .FD, registra a posio da diferena
e interrompe a execuo.

Todas as diferenas

Zerar o bit .IN na estrutura CONTROL de comparao.


Cada vez que a entrada da condio da linha passar de falsa para verdadeira, a
instruo FSC busca todas as diferenas entre as matrizes Source e Reference.

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

20

Execuo de Lgica
Ladder:
Condio:

Ao:

pr-varredura
o bit compare.EN
desenergizado.
o bit compare.FD desenergizado.

examinar bit
compare.DN

compare .DN = 0

compare .DN = 1

o bit compare.DN desenergizado.


o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001

Instrues Especiais (FBC, DDT, DTR, PID)

Condio:

12-5

Ao:

entrada da condio da linha for falsa


o bit compare .EN desenergizado.
o bit compare.FD desenergizado.

examinar bit
compare.DN

compare.DN = 0

compare.DN = 1
o bit compare.DN desenergizado.
o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.

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

compare.EN = 1

ir para
a sada

compare.EN = 0
examinar bit
compare.DN

o bit compare .EN


energizado.

compare.DN = 1

ir para a
sada

compare.DN = 0
o bit compare.ER
desenergizado.
o bit compare.FD
desenergizado.

compare.LEN 0

sim

no

sair

compare.POS < 0

no

sim

o bit compare.ER energizado.

sada da condio da linha


definida como verdadeira
comparar
fim

pgina 12-8

Publicao 1756-RM003D-PT-P - Junho 2001

ir para a
sada

Instrues Especiais (FBC, DDT, DTR, PID)

Condio:

12-7

Ao:
compara

compare.POS
compare.LEN

sim

compare.POS = compare.LEN
o bit compare.DN energizado.

ir para a
sada

pgina 12-7
no
result.DN = 1
source[compare.POS] =
reference[compare.POS]

no

examinar o bit
result.DN

o bit compare.FD
energizado.

o bit result.DN
desenergizado.
o valor result.POS
desenergizado.

result.DN = 0

sim
compare.POS =
compare.POS + 1

sim
result.POS < 0

no

sim
result.LEN 0

no

sim
falha grave

result.POS >
tamanho da matriz de
resultado

o bit compare.ER energizado.

ir para a
sada

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
array_dint3

5 3

Quando habilitada, a instruo FBC compara a fonte array_dint1 com a referncia array_dint2 e armazena os
locais das diferenas no resultado array_dint3.

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)

Deteco de Diagnstico
(DDT)

12-9

Linguagens Disponveis:

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

matriz a ser comparada com a referncia


no use CONTROL.POS em subscrito

Reference

DINT

tag da
matriz

matriz a ser comparada com a fonte


no use CONTROL.POS em subscrito

Result:

DINT

tag da
matriz

matriz para armazenar os resultados


no use CONTROL.POS em subscrito

Cmp control

CONTROL

estrutura

estrutura de controle para a comparao

Length

DINT

imediato

nmero de bits a ser comparado

Position

DINT

imediato

posio atual na fonte


valor inicial normalmente 0

Result
control

CONTROL

estrutura

estrutura de controle para os resultados

Length

DINT

imediato

nmero de locais de armazenamento


no resultado

Position

DINT

imediato

posio atual no resultado


valor inicial normalmente 0

ATENO

Use tags diferentes para comparar a estrutura de


controle e a estrutura de controle do resultado. O
uso do mesmo tag para ambas as estruturas pode
resultar em operao no previsvel, com
possibilidade de causar danos ao equipamento e/ou
ferimentos pessoais.

Publicao 1756-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
quando

Energizar o bit .IN na estrutura CONTROL de comparao.


Cada vez que a entrada da condio da linha passar de falsa para verdadeira, a
instruo DDT busca a prxima diferena entre as matrizes Source e Reference. Ao
encontrar uma diferena, a instruo energiza o bit .FD, registra a posio da diferena
e interrompe a execuo.

Todas as diferenas

Zerar o bit .IN na estrutura CONTROL de comparao.


Cada vez que a entrada da condio da linha passar de falsa para verdadeira, a
instruo DDT busca todas as diferenas entre as matrizes Source e Reference.

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

20

Execuo de Lgica
Ladder:
Condio:

Ao:

pr-varredura
o bit compare .EN desenergizado.
o bit compare.FD desenergizado.

examinar bit
compare.DN

compare.DN = 0

compare.DN = 1

o bit compare.DN desenergizado.


o valor compare.POS desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.

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

compare.DN = 0

compare.DN = 1
o bit compare.DN desenergizado.
o valor compare.POS
desenergizado.
o bit result.DN desenergizado.
o valor result.POS desenergizado.

sada da condio da linha


definida como falsa

fim

Publicao 1756-RM003D-PT-P - Junho 2001

Instrues Especiais (FBC, DDT, DTR, PID)

Condio:

12-13

Ao:

entrada da condio da linha for verdadeira

compare.EN = 1

examinar o bit
compare.EN

ir para
a sada

compare.EN = 0
examinar bit
compare.DN

o bit compare .EN


energizado.

compare.DN bit = 1

ir para a
sada

compare.DN bit = 0
o bit compare.ER
desenergizado.
o bit compare.FD
desenergizado.

compare.LEN 0

sim

no

sair

compare.POS < 0

sim

no

o bit compare.ER energizado.

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
compare.LEN

sim

compare.POS = compare.LEN
o bit compare.DN energizado.

ir para a
sada

pgina 12-15
no
result.DN = 1
source[compare.POS] =
reference[compare.POS]

no

o bit compare.FD
energizado.
reference[compare.POS]
= source[compare.POS]

examinar o bit
result.DN

o bit result.DN
desenergizado.
o valor result.POS
desenergizado.

result.DN = 0

sim
compare.POS =
compare.POS + 1

sim
result.POS < 0

no

sim
result.LEN 0

no

sim
falha grave

result.POS >
tamanho da matriz de
resultado

o bit compare.ER energizado.

ir
para

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:
array_dint3

5 3

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
tag

matriz a ser comparada com a referncia

Mask

DINT

imediato
tag

quais bits devem ser bloqueados ou podem


passar

Reference

DINT

tag

matriz a ser comparada com a fonte

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.

ATENO

Publicao 1756-RM003D-PT-P - Junho 2001

A programao online com essa instruo pode ser


perigosa. Se o valor Reference for diferente de
Source, a sada da condio da linha se torna
verdadeira. Tome cuidado se voc inserir essa
instruo quando o controlador estiver no modo Run
ou Remote Run.

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

masked source =
reference

no

referncia definida igual fonte mascarada


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

mscara = 0FFF
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1

varredura atual

varredura
anterior

A linha permanecer falsa enquanto o


valor de entrada no for alterado.

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

referncia
value_2

varredura atual

varredura
anterior

A linha permanecer verdadeira durante uma


varredura quando uma alterao for detectada.

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

13385

Instrues Especiais (FBC, DDT, DTR, PID)

Proporcional, Integral e
Derivativo (PID)

12-19

Linguagens Disponveis:

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
variable

SINT
INT
DINT
REAL

tag

valor a ser controlado

Tieback

SINT
INT
DINT
REAL

imediato
tag

(opcional)
sada de uma estao manual/automtica de
hardware que est realizando bypass da
sada do controlador
insira 0 se voc no quiser usar esse
parmetro

Control
variable

SINT
INT
DINT
REAL

tag

valor que vai para o dispositivo de controle


final (vlvula, amortecedor etc.)
se voc estiver usando a zona morta, Control
variable deve ser do tipo REAL ou o mesmo
ser forado em 0 quando houver um erro
dentro da zona morta

PID master
loop

PID

estrutura

opcional
tag PID para o PID mestre
Se voc estiver realizando o controle em
cascata e esse PID for uma malha escrava,
insira o nome do PID mestre.
insira 0 se voc no quiser usar esse
parmetro

Inhold bit

BOOL

tag

opcional
status atual do bit inhold de um canal de
sada analgico 1756 para suportar uma
reinicializao ininterrupta
insira 0 se voc no quiser usar esse
parmetro

Inhold value

SINT
INT
DINT
REAL

tag

opcional
valor de nova leitura de dados de uma canal
de sada analgica 1756 para suportar uma
reinicializao ininterrupta.
insira 0 se voc no quiser usar esse
parmetro

Setpoint

somente display
valor atual do setpoint.

Process
variable

somente display
valor atual de Process Variable convertido
em escala

Output %

somente display
valor de porcentagem da sada da corrente

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)

independente

ganho integral (1/s)

dependente

tempo de reset (minutos por repetio)

independente

ganho derivativo (segundos)

dependente

tempo da taxa (minutos)

.KI
.KD

REAL
REAL

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

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)

12-21

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

35

setpoint fora de faixa

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
Instruo PID

Depois de inserir a instruo PID e especificar a estrutura PID, use a


guia Configuration para especificar como a instruo PID
deve funcionar.

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
deadband

Habilita ou desabilita essa seleo (.NOZC).

Publicao 1756-RM003D-PT-P - Junho 2001

Instrues Especiais (FBC, DDT, DTR, PID)

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

12-25

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
maximum

Insira as unidades de medida mximas correspondentes a .MAXI (.MAXS)

PV engineering units
minimum

Insira as unidades de medida mnimas correspondentes a .MINII (.MINS)

CV maximum

Insira um valor mximo de CV correspondente a 100% (.MAXCV).

CV minimum

Insira um valor mnimo de CV correspondente a 0% (.MINCV).

Tieback maximum

Insira um valor mximo de tieback (.MAXTIE) igual ao valor mximo sem escala
recebido do canal de entrada analgica para o valor de tieback.

Tieback minimum

Insira um valor mnimo de tieback (.MINTIE) que seja igual ao valor mnimo sem escala
recebido do canal de entrada analgica para o valor de tieback.

PID Initialized

Se voc alterar as constantes de converso de escala durante o modo Run, desligue


para reincializar os valores internos, anteriores converso de escala (.INI).

Publicao 1756-RM003D-PT-P - Junho 2001

12-26

Instrues Especiais (FBC, DDT, DTR, PID)

Utilizao das Instrues


PID

O controle de malha fechada PID mantm uma varivel de processo


em um setpoint desejado. A figura a seguir mostra um exemplo de
nvel de taxa de fludo/fluxo:

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

Ganhos dependentes
(padro ISA)

error (E)

Equao:
t

CV = K C

1
dE
E + ---- Edt + T d ------- + BIAS
Ti
dt
0

process variable (PV)

E = SP - PV
t

CV = K C

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

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


analgica 1756 que recebe a varivel de
controle da instruo PID.

Selecione hold for initialization na pgina de propriedades para o canal especfico do


mdulo.
Isto informa ao mdulo de sada analgica que, quando o controlador retornar para o modo
Run ou re-estabelecer comunicao com o mdulo, o mdulo deve manter a sada analgica
no seu valor atual at que o valor enviado do controlador corresponda (com uma amplitude
de 0,1%) ao valor atual usado pelo canal de sada. A sada do controlador aumentar
seguindo em rampa at o valor de sada atualmente mantido, usando-se o termo .BIAS.
Esse aumento em rampa semelhante transferncia ininterrupta.

Insira o tag do bit Inhold e o tag Inhold


Value na instruo PID

O mdulo de sada analgica 1756 retorna dois valores para cada canal na sua estrutura de
dados de entrada. Quando verdadeiro, o bit de status InHold (.Ch2InHold, por exemplo)
indica que o canal de sada analgica est mantendo o seu valor. O valor de nova leitura de
Data (.Ch2Data, por exemplo) mostra o valor de sada atual em unidades de medida.
Insira o tag no bit de status InHold como o parmetro do bit InHold da instruo PID. Insira o
tag do valor de nova leitura de Data como o parmetro Inhold Value.
Quando o bit Inhold passar para verdadeiro, a instruo PID move Inhold Value para a sada
do tag de Controle e re-inicializa para fornecer suporte para uma reinicializao initerrupta
nesse valor. Quando o mdulo de sada analgica receber esse valor de volta do
controlador, o mesmo desenergiza o bit de status InHold, o que permite que a instruo PID
inicie o controle normalmente.

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
Exibido
como EUs

Erro Exibido
como EUs

Software A/M
ou
Modo A/M Station

Software A/M
Mode

SP-PV

Auto
+

SP

Polarizao
da Sada %

Ao de
Controle
Converte Unidades
em %

(Erro)
-

PV-SP

PVT

(Out%)

Clculo PID

Auto

Converte % em Unidades CV

Auto

Erro X 100
mx-mn.

-1

Manual

Limitao
da Sada

Manual

no

Sada (CV) Exibida


em % do Fator de
Escala EU

Converte Binrio para


Unidades de Medida
(PV-mn)(mx-mn)
mx-min

CV%(mxcv-mncv)
+ mncv
100

Manual

Define
Sada %

PV
Exibido
como EUs

sim

Define
Sada %

A/M Station
Mode

Converte Unidades de
Tieback em %
+ min

tieback-mintie
maxtie-mintie

x100

PV

processo PID com malhas mestre/escravo


Malha
Mestre

Software A/M
ou
A/M Station Mode
Auto

SP

Polarizao
da Sada %

Ao de
Controle
SP-PV

+
-

Manual

Converte Unidade
em %

(Erro)
-1

(Out%)

Clculo PID

Software A/M
Mode
Auto

Erro X 100
mx-mn

PV-SP

PVT
no

Auto
Limitao
da Sada

Manual

Define
Sada %

Define
Sada %

A/M Station
Mode

(Master.Out)

Manual
Software
A/M Mode

sim

Auto
Converte Binrio em
Unidades de Medida
(PV-mn)(mx-mn)
+ mn
maxi-mini

Malha
Escravo

(Master.Out)

Converte Unidades
em %

SP

Erro X 100
mx-mn

PV

Manual
Manual
Os itens relacionados nesta caixa
so parmetros, unidades e modos
pois pertencem malha Escrava

PV
Polarizao
da Sada %

Ao de
Controle
Converte % em
(SP)
Unidades de Medida
+
X (mx-mn)
+ mn
100

SP-PV
-1

PV-SP

Converte Unidades
em %

Clculo PID

Software A/M
Mode
Auto

Erro X 100
mx-mn

A/M Station
Mode

Auto

Converte Binrio em
Unidades de Medida
(PV-mn)(mx-mn)
+ mn
maxi-mini

Define
Sada %
Converte Unidades
Tieback em %
tieback-mintie
maxtie-mintie

PV

Publicao 1756-RM003D-PT-P - Junho 2001

x100

Converte % em
Limitao
da Sada

Manual
Manual

Define
Sada %

CV%(maxcv-mincv)
100

+ mincv

CV

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.

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
INT
DINT
REAL

imediato
tag

calcula o seno desse valor

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura SIN

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo matemtica.


vlido = qualquer flutuante

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)

Co-seno (COS)

13-5

Linguagens Disponveis:

Bloco de Funo

Lgica Ladder

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
INT
DINT
REAL

imediato
tag

calcula o co-seno desse valor

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura COS

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo matemtica.


vlido = qualquer flutuante

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
INT
DINT
REAL

imediato
tag

calcula a tangente desse valor

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura TAN

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se energizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo matemtica.


vlido = qualquer flutuante

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)

Arco Seno (ASN)

13-11

Linguagens Disponveis:

Bloco de Funo

Lgica Ladder

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
INT
DINT
REAL

imediato
tag

calcula o arco seno desse valor

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura ASN

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo matemtica.


vlido = qualquer flutuante

Publicao 1756-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)

Condio:

Ao:

primeira operao da instruo

Nenhuma ao tomada.

EnableIn desenergizado

EnableOut desenergizado.

EnableIn energizado

A instruo executada.
EnableOut energizado.

13-13

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
INT
DINT
REAL

imediato
tag

calcula o arco co-seno desse valor

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura ACS

Estrutura: Parmetros de entrada


Parmetro de
entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo matemtica.


vlido = qualquer flutuante

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
INT
DINT
REAL

imediato
tag

calcula o arco tangente desse valor

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Publicao 1756-RM003D-PT-P - Junho 2001

Formato:

Descrio:

estrutura

estrutura ATN

Instrues Trigonomtricas (SIN, COS, TAN, ASN, ACS, ATN)

13-17

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo matemtica.


vlido = qualquer flutuante

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.

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
INT
DINT
REAL

imediato
tag

encontrar o log natural desse valor.

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura LN

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

Source

REAL

Entrada para instruo matemtica.


vlido = qualquer flutuante

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:

Bloco de Funo

Lgica Ladder

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
INT
DINT
REAL

imediato
tag

encontrar o log natural desse valor.

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Publicao 1756-RM003D-PT-P - Junho 2001

Formato:

Descrio:

estrutura

estrutura LOG

Instrues Matemticas Avanadas (LN, LOG, XPY)

14-5

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

Source

REAL

Entrada para instruo matemtica.


vlido = qualquer flutuante

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)

X Elevado Potncia de Y
(XPY)

14-7

Linguagens

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
INT
DINT
REAL

imediato
tag

valor de base

Source B

SINT
INT
DINT
REAL

imediato
tag

exponente

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH

Formato:

Descrio:

estrutura

estrutura XPY

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita entrada. Se desenergizada, a instruo no executa e as sadas no so atualizadas.


o valor inicial definido

Source A

REAL

Valor base.
vlido = qualquer flutuante

Source B

REAL

Exponente.
vlido = qualquer flutuante

Publicao 1756-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


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.

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
INT
DINT
REAL

imediato
tag

valor a ser convertido em graus.

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura DEG

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sada no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo de converso.


vlido = qualquer flutuante

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)

Radianos (RAD)

15-5

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
INT
DINT
REAL

imediato
tag

valor a ser convertido em radianos

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_MATH_ADVANCED

Formato:

Descrio:

estrutura

estrutura RAD

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo de converso.


vlido = qualquer flutuante

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
INT
DINT

imediato
tag

valor a ser convertido em decimal.

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Destination

SINT
INT
DINT

tag

armazena o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_CONVERT

Formato:

Descrio:

estrutura

estrutura TOD

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

DINT

Entrada para a instruo de converso.


vlido = qualquer inteiro

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
se:

Tipo de falha:

Cdigo de falha:

source < 0

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
source < 0

no
source > 99.999.999

sim

converter fonte para BCD

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)

Converso para Inteiro


(FRD)

15-11

Linguagens Disponveis:

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
INT
DINT

imediato
tag

valor a ser convertido em decimal.

Um tag SINT ou INT convertido para um valor DINT por preenchimento


com zero.
Destination

SINT
INT
DINT

tag

armazena o resultado

Operandos do Bloco de
Funo:
Operando

Tipo:

tag do bloco FBD_CONVERT

Formato:

Descrio:

estrutura

estrutura FRD

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

DINT

Entrada para instruo de converso.


vlido = qualquer inteiro

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
tag

valor a ser truncado

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o resultado

Operando

Tipo:

Operandos do Bloco de
Funo:
tag do bloco FBD_TRUNCATE

Formato:

Descrio:

estrutura

estrutura TRN

Estrutura: Parmetros de entrada


Parmetro de
Entrada:

Tipo de Dados:

Descrio:

EnableIn

BOOL

Habilita a entrada. Se desenergizada, a instruo no executada e as sadas no so


atualizadas.
o valor inicial definido

Source

REAL

Entrada para a instruo de converso.


vlido = qualquer flutuante

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

Se voc quiser:

Por exemplo:

determinar quando o buffer contm


caracteres de terminao
contar os caracters no buffer
remover o buffer
remover instrues de Porta Serial ASCII que
esto sendo executadas atualmente ou esto
na fila

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.
Use esta instruo:

Consulte
pgina:

verificar os dados que contenham caracteres


de terminao

ABL

16-7

verificar o nmero solicitado dos caracteres


antes de ler o buffer

ACB

16-10

remover dados antigos do buffer no


start-up
sincronizar o buffer com um
dispositivo

ACL

16-12

AHL

16-14

obter o status das linhas de controle da porta fazer com que o modem desligue
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


mesmo nmero de caracteres em cada
transmisso

ARD

16-17

ler um nmero de caracteres varivel, at e


incluindo o primeiro conjunto de caracteres
de terminao

ler os dados a partir de um dispositivo que


envia um nmero de caracteres varivel em
cada transmisso

ARL

16-20

enviar caracteres e, automaticamente,


enviar mensagens que sempre usam o(s)
acrescentar um ou dois caracteres adicionais mesmo(s) caracter(es) de extremidade
para marcar o fim dos dados

AWA

16-24

enviar caracteres

AWT

16-28

enviar mensagens que usam vrios


caracteres de terminao

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
condio da linha passa
de falsa para verdadeira

Instruo 1

Instruo na parte
superior da fila
executada.

Instruo 2
Instruo 3
Instruo 4

A instruo entra na
fila ASCII.

Os dados fluem
entre a tarefa e o
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
condio da linha

falsa

verdadeira

falsa

verdadeira

falsa

.EN

off

on

off

on

off

.EU

off

on

.RN

off

.DN ou .ER

off

on

off

on

.FD

off

on

off

on

.EM

off

on

off

on

on

entra na fila
executa
neste exemplo, encontra os
caracteres de terminao

off

off

on

reseta os bits de status


quando efetuado o scan e
.DN ou .ER forem definidos,
o bit .EM energiza

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

entrada da
condio da linha

falsa

verdadeira

.EN

off

on

.EU

off

scan

scan

scan

falsa

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
hex:

Indica que:

16#2

modem passou para o modo offline.

16#3

O sinal CTS foi perdido durante a comunicao.

16#4

A porta serial estava em modo de sistema.

16#A

Antes da execuo da instruo o bit .UL foi energizado. Isto evita a execuo da instruo.

16#C

O controlador mudou do modo Run para o modo Program. Isto pra a execuo de uma instruo 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
Dados:

Descrio:

Notas:

LEN

DINT

nmero de caracteres
no string

A LEN atualiza a nova contagem de caracteres automaticamente sempre que voc:


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
string

Para acessar os caracteres do string, enderee o nome do tag.


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)

Teste ASCII Para Linha do


Buffer (ABL)

16-7

Linguagens Disponveis:

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
Channel
SerialPort Control
Character Count

?
?
?

EN
DN
ER

42225

Operando:

Tipo:

Formato:

Insira:

Channel

DINT

imediato
tag

Porta Serial
Control

SERIAL_PORT_
CONTROL

tag

tag que controla a operao

Character
Count

DINT

imediato

0
Durante a execuo, exibe o nmero de
caracteres no buffer, at e incluindo o
primeiro conjunto dos caracteres de
terminao.

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
Channel
0
SerialPort Control
MV_line
Character Count
0

EN
DN
ER

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)

Caracteres ASCII no Buffer


(ACB)

16-9

Linguagens Disponveis:

Lgica Ladder

A instruo ACB conta os caracteres no buffer.

Operandos de Lgica
Ladder:

ACB
ASCII Chars in Buffer
Channel
SerialPort Control
Character Count

?
?
?

EN
DN
ER

42225

Operando:

Tipo:

Formato:

Insira:

Channel:

DINT

imediato
tag

Porta Serial
Control

SERIAL_PORT_
CONTROL

tag

tag que controla a operao

Character
Count

DINT

imediato

0
Durante a execuo, exibe o nmero de
caracteres no buffer.

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
Channel
0
SerialPort Control
bar_code_count
Character Count
0

EN
DN
ER

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)

Remoo de Buffer e da
Fila ASCII (ACL)

16-11

Linguagens Disponveis:

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
tag

Clear Serial
Port Read

BOOL

imediato
tag

Para esvaziar o buffer e remover as


instrues ARD e ARL da fila, digite Yes.

Clear Serial
Port Write

BOOL

imediato
tag

Para remover as instrues AWA e AWT da


fila, digite Yes.

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
Clear Serial Port Read
Clear Serial Port Write

0
1
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)

Linhas ASCII Handshake


(AHL)

16-13

Linguagens Disponveis:

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
Channel
AND Mask

EN
?
?
??
?
??
?
?

OR Mask
SerialPort Control
Channel Status(Decimal)

DN
ER

42225

Operando:

Tipo:

Formato:

Insira:

Channel:

DINT

tag
imediato

ANDMask

DINT

imediato
tag

Consulte a descrio.

ORMask

DINT

imediato
tag

Porta Serial
Control

SERIAL_PORT_
CONTROL

tag

tag que controla a operao

Channel
Status
(Decimal)

DINT

imediato

0
Durante a execuo, exibe o status das
linhas de controle.

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


ANDMask:

E digite este valor


ORMask:

off

off

on

no mudado

off

on

no mudado

off

on

no mudado

on

no mudado

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:

57

A instruo AHL falhou na execuo, pois a porta serial


est configurada para sem handshaking.

Ou:

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
Channel
AND Mask

0
0

DN

OR Mask

ER

SerialPort Control
Channel Status(Decimal)

EN

serial_port
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
Channel
Destination
SerialPort Control
SerialPort Control Length
Characters Read

EN
?
?
??
?
?
?

DN
ER

42225

Operando:

Tipo:

Formato:

Insira:

Canal:

DINT

imediato
tag

Destination

tipo de string
SINT
INT
DINT

tag

tag para o qual os


caracteres so movidos
(leitura):
Para um tipo de
string, insira o
nome do tag.
Para uma matriz
SINT, INT ou DINT,
insira o primeiro
elemento da matriz.

Serial Port
Control

SERIAL_PORT_
CONTROL

tag

tag que controla a


operao

Serial Port
Control Length

DINT

imediato

nmero de caracteres para


mover para destination
(leitura)

Characters Read

DINT

imediato

Publicao 1756-RM003D-PT-P - Junho 2001

Notas:

Se voc quiser comparar, converter ou


manipular os caracteres, insira um tag
do tipo string.
Os tipos de string so:
tipo de dados STRING padro
qualquer tipo de string novo que
voc criar

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.
Durante a execuo, exibe o nmero de
caracteres que foram lidos.

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
Channel
0
SerialPort Control
bar_code_count
Character Count
0

EN
DN
ER

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
Grtr Than or Eql (A>=B)
Source A bar_code_count.pos
0
Source B
24

ARD
ASCII Read
Channel
Destination

0
bag_bar_code
''
SerialPort Control
bar_code_read
SerialPort Control Length
24
Characters Read
0

EN
DN
ER

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)

Linha de Leitura ASCII


(ARL)

16-19

Linguagens Disponveis:

Lgica Ladder

A instruo ARL remove caracteres do buffer e armazena-os em


Destination.

Operandos de Lgica
Ladder:

ARL
ASCII Read Line
Channel
Destination
SerialPort Control
SerialPort Control Length
Characters Read

EN
?
?
??
?
?
?

DN
ER

42225

Operando:

Tipo:

Formato:

Insira:

Canal:

DINT

imediato
tag

Destination

tipo de string
SINT
INT
DINT

tag

tag para o qual os


caracteres so movidos
(leitura):
Para um tipo de
string, insira o
nome do tag.
Para uma matriz
SINT, INT ou DINT,
insira o primeiro
elemento da matriz.

Serial Port
Control

SERIAL_PORT_
CONTROL

tag

tag que controla a


operao

Serial Port
Control Length

DINT

imediato

nmero mximo de
caracteres para ler se
nenhum caracter de
terminao for encontrado

Notas:

Se voc quiser comparar, converter ou


manipular os caracteres, insira um tag
do tipo string.
Os tipos de string so:
tipo de dados STRING padro
qualquer tipo de string novo que
voc criar

Digite o nmero mximo de caracteres


que qualquer mensagem conter (ou
seja, quando parar de ler se nenhum
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

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
Channel
0
SerialPort Control
MV_line
Character Count
0

EN
DN
ER

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
Channel
Destination

EN

SerialPort Control
SerialPort Control Length
Characters Read

0
MV_msg
''
MV_read
12
0

DN
ER

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


(AWA)

Linguagens Disponveis:

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
Channel
Source
SerialPort Control
SerialPort Control Length
Characters Sent

EN
?
?
??
?
?
?

DN
ER

42225

Operando:

Tipo:

Formato:

Insira:

Canal:

DINT

imediato
tag

Source

tipo de string
SINT
INT
DINT

tag

tag que contm os


caracteres a serem
enviados:
Para um tipo de
string, insira o
nome do tag.
Para uma matriz
SINT, INT ou DINT,
insira o primeiro
elemento da matriz.

Serial Port
Control

SERIAL_PORT_
CONTROL

tag

tag que controla a


operao

Serial Port
Control Length

DINT

imediato

nmero de caracteres a
serem enviados

Characters Read

DINT

imediato

Publicao 1756-RM003D-PT-P - Junho 2001

Notas:

Se voc quiser comparar, converter ou


manipular os caracteres, insira um tag
do tipo string.
Os tipos de string so:
tipo de dados STRING padro
qualquer tipo de string novo que
voc criar

O Serial Port Control Length deve ser


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.
Durante a execuo, exibe o nmero de
caracteres que foram enviados.

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

Publicao 1756-RM003D-PT-P - Junho 2001

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.

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
Channel
Source

EN

0
string[1]
'$1425\1'
SerialPort Control
temp_high_write
SerialPort Control Length
5
Characters Sent
6

DN
ER

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
Move
Source alarm_msg.LEN
5
Dest
alarm_write.LEN
5

AWA
ASCII Write Append
Channel
Source
SerialPort Control
SerialPort Control Length
Characters Sent

EN
0
alarm_msg
'$1425\1'
alarm_write
5
6

DN
ER

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
Channel
Source
SerialPort Control
SerialPort Control Length
Characters Sent

EN
?
?
??
?
?
?

DN
ER

42225

Operando:

Tipo:

Formato:

Insira:

Canal:

DINT

imediato
tag

Source

tipo de string
SINT
INT
DINT

tag

tag que contm os


caracteres a serem
enviados:
Para um tipo de
string, insira o
nome do tag.
Para uma matriz
SINT, INT ou DINT,
insira o primeiro
elemento da matriz.

Serial Port
Control

SERIAL_PORT_
CONTROL

tag

tag que controla a


operao

Serial Port
Control Length

DINT

imediato

nmero de caracteres a
serem enviados

Characters Read

DINT

imediato

Publicao 1756-RM003D-PT-P - Junho 2001

Notas:

Se voc quiser comparar, converter ou


manipular os caracteres, insira um tag
do tipo string.
Os tipos de string so:
tipo de dados STRING padro
qualquer tipo de string novo que
voc criar

O Serial Port Control Length deve ser


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.
Durante a execuo, exibe o nmero de
caracteres que foram enviados.

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
Channel
Source

EN

0
string[2]
'$142224\01$r'
SerialPort Control
temp_low_write
SerialPort Control Length
9
Characters Sent
9

DN
ER

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
Move
Source MV_msg.LEN
10
Dest
MV_write.LEN
10

AWT
ASCII Write
Channel
Source

0
MV_msg
'$161365\8\1$r'
SerialPort Control
MV_write
SerialPort Control Length
10
Characters Sent
10

EN
DN
ER

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


delimitadores a um string

CONCAT

17-3

remover caracteres de um string

remover caracteres de cabealho ou


controle de um string

DELETE

17-5

FIND

17-7

INSERT

17-9

MID

17-11

determinar o caracter inicial de um sub-string localizar um grupo de caracteres dentro de


um string
inserir caracteres em um string

criar um string que usa variveis

extrair caracteres de um string

extrair informaes de um cdigo de barras

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

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
Dados:

Descrio:

Notas:

LEN

DINT

nmero de caracteres
no string

A LEN atualiza a nova contagem de caracteres automaticamente sempre que voc:


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
string

Para acessar os caracteres do string, enderee o nome do tag.


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)

Concatenao de String
(CONCAT)

17-3

Linguagens Disponveis:

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


caracteres iniciais

Source B

tipo de string

tag

tag que contm os


caracteres finais

Os tipos de string so:


tipo de dados STRING padro
qualquer tipo de string novo que voc
criar

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:

51

O valor LEN do tag string maior que


o tamanho de DATA do tag string.

1. Verifique se nenhuma instruo est escrevendo para o membro


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)

Remoo de String
(DELETE)

17-5

Linguagens Disponveis:

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


do qual voc quer remover
caracteres

Os tipos de string so:


tipo de dados STRING padro
qualquer tipo de string novo que voc
criar

Quantidade

SINT
INT
DINT

imediato
tag

nmero de caracteres a
serem removidos

O Start mais o Quantity deve ser menor ou igual


ao tamanho de DATA de Source.

Start

SINT
INT
DINT

imediato
tag

posio do primeiro
caracter a ser removido

Insira um nmero entre 1 e o tamanho de DATA


de Source.

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:

51

O valor LEN do tag string maior que


o tamanho de DATA do tag string.

1. Verifique se nenhuma instruo est escrevendo para o membro


LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.

56

O valor de Start ou Quantity


invlido.

1. Verifique se o valor de Start est entre 1 e o tamanho de DATA de


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

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)

Encontro de String (FIND)

17-7

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

Search

tipo de string

tag

string a ser encontrado

Os tipos de string so:


tipo de dados STRING padro
qualquer tipo de string novo que voc
criar

Start

SINT
INT
DINT

imediato
tag

posio em Source para


iniciar a busca

Insira um nmero entre 1 e o tamanho de DATA


de Source.

Result:

SINT
INT
DINT

tag

tag que armazena a


posio inicial do string a
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:

51

O valor LEN do tag string maior que


o tamanho de DATA do tag string.

56

O valor de Start invlido.

1. Verifique se nenhuma instruo est escrevendo para o membro


LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.
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)

Insero de String (INSERT)

17-9

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 caracteres

Source B

tipo de string

tag

string contendo os
caracteres a serem
adicionados

Os tipos de string so:


tipo de dados STRING padro
qualquer tipo de string novo que voc
criar

Start

SINT
INT
DINT

imediato
tag

posio em Source A na
qual adicionar os
caracteres

Result:

tipo de string

tag

string para armazenar o


resultado

Insira um nmero entre 1 e o tamanho de DATA


de Source.

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:

51

O valor LEN do tag string maior que


o tamanho de DATA do tag string.

56

O valor de Start invlido.

1. Verifique se nenhuma instruo est escrevendo para o membro


LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.
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)

Meio do String (MID)

17-11

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
INT
DINT

imediato
tag

nmero de caracteres a
serem copiados

O Start mais o Quantity deve ser menor ou igual


ao tamanho de DATA de Source.

Start

SINT
INT
DINT

imediato
tag

posio do primeiro
caracter a ser copiado

Insira um nmero entre 1 e o tamanho de DATA


de Source.

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:

51

O valor LEN do tag string maior que


o tamanho de DATA do tag string.

1. Verifique se nenhuma instruo est escrevendo para o membro


LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres que o string contm.

56

O valor de Start ou Quantity


invlido.

1. Verifique se o valor de Start est entre 1 e o tamanho de DATA de


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

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


valor SINT, INT, DINT ou REAL

converter um valor de uma balana ou outro


dispositivo ASCII para um inteiro, de forma
voc o use em sua lgica

STOD

18-3

Representa ASCII de um valor de ponto


flutuante para um valor REAL

converter um valor de uma balana ou outro


dispositivo ASCII para um valor REAL, de
forma voc possa us-lo em sua lgica

STOR

18-5

Valor SINT, INT, DINT ou REAL para um string converter uma varivel para um string ASCII,
de caracteres ASCII
de forma que voc possa envi-la para um
terminal MessageView

DTOS

18-7

Valor REAL para um string de caracteres


ASCII

RTOS

18-9

converter uma varivel para um string 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:

Consulte pgina:

adicionar caracteres ao final de um string

CONCAT

17-3

remover caracteres de um string

DELETE

17-5

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

determinar o caracter inicial de um sub-string

Use esta instruo:

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
Dados:

Descrio:

Notas:

LEN

DINT

nmero de caracteres
no string

A LEN atualiza a nova contagem de caracteres automaticamente sempre que voc:


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
string

Para acessar os caracteres do string, enderee o nome do tag.


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)

String Para DINT (STOD)

18-3

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


ASCII

Os tipos de string so:


tipo de dados STRING padro
qualquer tipo de string novo que voc
criar

Destination

SINT
INT
DINT
REAL

tag

tag para armazenar o valor


inteiro

Se o valor de Source for um nmero de ponto


flutuante, a instruo converte apenas a parte
no fracionada do nmero (independente do
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:

51

O valor LEN do tag string maior que o tamanho de


DATA do tag string.

53

O nmero de sada est alm dos limites do tipo de


dados de destino.

1. Verifique se nenhuma instruo est escrevendo


para o membro LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres
que o string contm.
Ou:

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)

String Para REAL (STOR)

18-5

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


ASCII

Os tipos de string so:


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:

51

O valor LEN do tag string maior que o tamanho de


DATA do tag string.

53

O nmero de sada est alm dos limites do tipo de


dados de destino.

1. Verifique se nenhuma instruo est escrevendo


para o membro LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres
que o string contm.
Ou:

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)

DINT Para String (DTOS)

18-7

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
INT
DINT
REAL

tag

tag que contm o valor

Se Source for REAL, a instruo converte-o para


um valor DINT. Consulte REAL para um inteiro
na pgina A-6.

Destination

tipo de string

tag

tag para armazenar o valor


ASCII

Os tipos de string so:


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:

51

O valor LEN do tag string maior que o tamanho de


DATA do tag string.

52

O string de sada maior que o destino.

1. Verifique se nenhuma instruo est escrevendo


para o membro LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres
que o string contm.
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)

REAL Para String (RTOS)

18-9

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:

Source

REAL

tag

tag que contm o valor


REAL

Destination

tipo de string

tag

tag para armazenar o valor


ASCII

Notas:

Os tipos de string so:


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:

51

O valor LEN do tag string maior que o tamanho de


DATA do tag string.

52

O string de sada maior que o destino.

1. Verifique se nenhuma instruo est escrevendo


para o membro LEN do tag tipo string.
2. No valor de LEN, insira o nmero de caracteres
que o string contm.
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

Atributos Comuns

Introduo

Valores Imediatos

Este apndice descreve os atributos comuns s instrues Logix .


Para mais informaes sobre:

Consulte pgina:

Valores Imediatos

A-1

Converses de Dados

A-1

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

Converses de Dados

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)

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

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


valor por extenso
de sinal

2#1111_1111_1111_1111_1111_1111_1111_1111

(-1)

Converte este valor


por preenchimento
com zero

2#0000_0000_0000_0000_1111_1111_1111_1111

(65535)

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

EXEMPLO

A-5

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
Move
Source 2#1111_1111_1111_1111
Dest

int_0
2#1111_1111_1111_1111

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

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

Publicao 1756-RM003D-PT-P - Junho 2001

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,5

1,6

2,5

Atributos Comuns

IMPORTANTE

A-7

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

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

Dados Retentivos

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

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

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

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

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

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
Funo para Condies de
Overflow

Em geral, as instrues de bloco de funo que mantm o histrico


no o atualiza com valores NAN, ou INF quando um overflow
ocorre. Cada instruo tem uma destas respostas para uma condio
de overflow:

Resposta 1:
Os blocos executam seus algoritmos e
verificam o resultado para NAN ou INF.
Se NAN ou INF, as sadas de bloco
NAN ou INF.

Resposta 2:
Os blocos com sadas de limitao
executam seus algoritmos e verificam o
resultado por NAN ou INF. Os limites de
sada so definidos pelos parmetros de
entrada HighLimit e LowLimit. Se INF, o
bloco produz um resultado limitado.
Se NAN, os limites da sada no so
usados e os blocos produzem NAN.

Resposta 3:
A condio de overflow no se aplica. Estas
instrues possuem geralmente uma sada
booleana.

ALM
DEDT
DERV
ESEL
FGEN
HPF
LDL2
LDLG
LPF
MAVE
MAXC
MINC
MSTD
MUX

HLL
INTG
PI
PIDE
SCL
SOC

BAND
BNOT
BOR
BXOR
CUTD
D2SD
D3SD
DFF
JKFF
OSFI

NTCH
PMUL
POSP
RLIM
RMPS
SCRV
SEL
SNEG
SRTP
SSUM
TOT
UPDN

Modos de Temporizao

Publicao 1756-RM003D-PT-P - Junho 2001

OSRI
RESD
RTOR
SETD
TOFR
TONR

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

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
Entrada:

Tipo de Dados:

Descrio:

TimingMode

DINT

Seleciona modo de execuo de temporizao.


Valor:
Descrio:
0
modo peridico
1
modo de amostragem configurada
2
modo de amostragem em tempo real
vlido = 0 a 2
valor inicial = 0
Quando TimingMode = 0 e a tarefa peridica, a temporizao peridica habilitada e o
DeltaT ajustado para a taxa de varredura da tarefa. Quando TimingMode = 0 e a tarefa
contnua, a temporizao peridica habilitada e o DeltaT ajustado amplitude do tempo
transcorrido desde a ltima vez que a instruo foi executada.
Quando TimingMode = 1, a temporizao da amostragem configurada habilitada e o DeltaT
ajustado para o valor do parmetro OversampleDT.
Quando TimingMode = 2, a temporizao da amostragem em tempo real habilitada e o
DeltaT a diferena entre os valores atual e anterior de registro de data e hora lidos a partir
do mdulo associado com a entrada.
Se TimingMode for invlido, a instruo energiza o bit apropriado em Status.

OversampleDT

REAL

Tempo de execuo para temporizao de oversample. O valor usado para DeltaT est em
segundos. Se TimingMode = 1, ento OversampleDT = 0,0 desabilita a execuo do
algoritmo de controle. Se invlido, a instruo ajusta DeltaT=0,0 e energiza o bit apropriado
em Status.
vlido = 0 a 4194,303 segundos
valor inicial = 0,0

RTSTime

DINT

Perodo de atualizao do mdulo para temporizao de amostragem em tempo real. O


perodo programado de atualizao DeltaT est em milissegundos. O perodo de atualizao
normalmente o valor que foi usado para configurar o tempo de atualizao do mdulo. Se
invlido, a instruo energiza o bit apropriado em Status e desabilita a verificao
RTSMissed.
vlido = 1 a 32.767 ms
valor inicial = 1

RTSTimeStamp

DINT

Valor de registro de data e hora do mdulo para temporizao da amostragem em tempo


real. O valor de registro de data e hora que corresponde ltima atualizao do sinal de
entrada. Este valor usado para calcular o DeltaT. Se invlido, a instruo energiza o bit
apropriado em Status, desabilita a execuo do algoritmo de controle e desabilita a
verificao do RTSMissed.
vlido =1 a 32.767 ms (varia de 32767 a 0)
1 pulso = 1 milissegundo
valor inicial = 0

Publicao 1756-RM003D-PT-P - Junho 2001

Atributos de Bloco de Funo

B-7

Parmetros de sada
Parmetro de Sada: Tipo de Dados:

Descrio:

DeltaT

Tempo transcorrido entre atualizaes. Este o tempo transcorrido em segundos usado pelo
algoritmo de controle para calcular a sada de processo.

REAL

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
(Status.27)

BOOL

Valor Invalid TimingMode.

RTSMissed (Status.28) BOOL

Usado somente no modo de amostragem em tempo real. Ajustado quando o ABS | DeltaT RTSTime | > 1 (,001 segundo).

RTSTimeInv
(Status.29)

BOOL

Valor Invalid RTSTime.

RTSTimeStampInv
(Status.30)

BOOL

Valor Invalid RTSTimeStamp.

DeltaTInv (Status.31)

BOOL

Valor Invalid DeltaT.

Publicao 1756-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

Temporizao peridica

TimingMode = 1

Temporizao na
amostragem configurada

DeltaT = RTSTimeStampn - RTSTimeStampn-1

Se DeltaT < 0 ou DeltaT > 4194,303 segs.


a instruo ajusta DeltaT = 0,0 e
energiza o bit apropriado em Status.

Se DeltaT > 0, a instruo executa.

Se DeltaT > 0, a instruo executa.

DeltaT = tempo de varredura da tarefa


Se DeltaT > 0, a instruo executa.

Publicao 1756-RM003D-PT-P - Junho 2001

Temporizao em tempo real

DeltaT = OversampleDT

Determine o tipo de tarefa

Tarefa peridica

TimingMode = 2

Tarefa no peridica

DeltaT = tempo transcorrido desde a


ltima execuo
Se DeltaT > 0, a instruo executa.

Se |RTSTIME - DeltaT| > 1, a instruo energiza o bit


RTSMissed em Status.

Atributos de Bloco de Funo

Controle de Programa/pelo
Operador

B-9

Diversas instrues suportam o conceito de controle de


Programa/pelo Operador. Estas instrues incluem:

Enhanced Select (ESEL)


Totalizer (TOT)
Enhanced PID (PIDE)
Ramp/Soak (RMPS)
Discrete 2-State Device (D2SD)
Discrete 3-State Device (D3SD)

O controle de programa/pelo operador permite que se controle estas


instrues simultaneamente tanto a partir do programa do usurio
como do dispositivo de interface de operao. Quando estiver em
controle de Programa, a instruo controlada pelas entradas de
Programa para a instruo; quando estiver em controle pelo
Operador, a instruo controlada pelas entradas do Operador para
a instruo.
O controle de Program ou pelo Operador determinado atravs do
uso destas entradas:
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
adio 5-6
AHL 16-14
ajuste 12-27
alarmes 12-28
anexar leitura ASCII 16-24
arco co-seno 13-14
arco seno 13-11
arco tangente 13-16
arquivamento aritmtico e lgico 7-7
atributos
converso de tipos de dados A-1
valores imediatos A-1
atributos comuns A-1
converso de tipos de dados A-1
valores imediatos A-1

B
base log de 10 14-4
bitwise AND 6-17
bitwise exclusive OR 6-25
bitwise NOT 6-29
bitwise OR 6-21
break 11-5
busca de string 17-7

converso para BCD 15-8


converso para inteiro 15-12
cpia 7-32
cpia sncrona 7-32
co-seno 13-5

D
dados retentivos B-1
dados transicionais 12-18
definio do valor do sistema 3-28
desabilitao da interrupo pelo usurio 10-18
descarga FIFO 8-16
descarga LIFO 8-28
desenergizar sada com reteno 1-7
deslocamento de bit para a direita 8-6
deslocamento de bit para a esquerda 8-2
desvio padro 7-49
deteco de diagnstico 12-10
diferente de 4-38
DINT Para String 18-7
distribuio do campo do bit 6-10
distribuio do campo do bit com target 6-13
diviso 5-15
diviso do mdulo 5-19

E
C
clculo 5-2
caracteres ASCII no buffer 16-10
carga do sequenciador 9-12
carga FIFO 8-10
carga LIFO 8-22
classificao 7-45
cdigos de erro
ASCII 16-5
instruo MSG 3-7
combinao de tipos de dados A-1
comparao 4-2
comparao de bit de arquivo 12-2
comparao e busca de arquivo 7-20
Concatenao de String 17-3
condies de overflow B-5
configurao 3-13
instruo MSG 3-13
instruo PID 12-26
contagem crescente 2-23
contagem crescente/decrescente 2-31
contagem decrescente 2-27
controle de programa/pelo operador
caractersticas gerais B-10
converso de tipos de dados A-1

elementos
instruo SIZE 7-53
Encontro de String 17-7
energizar sada 1-5
energizar sada com reteno 1-6
entrada do sequenciador 9-2
escala 12-29
escrita ASCII 16-28
estrutura CONTROL 7-7, 7-20, 7-41, 7-45, 7-49, 8-2,

8-6, 8-10, 8-17, 8-22, 8-28, 9-2, 9-7, 9-12,


12-3, 12-11
estrutura da MENSAGEM 3-2
estrutura do CONTADOR 2-23, 2-27
estrutura do tipo string 16-6
estrutura FBD_BIT_FIELD_DISTRIBUTE 6-13
estrutura FBD_COMPARE 4-8, 4-12, 4-16, 4-20, 4-24,
4-39
estrutura FBD_CONVERT 6-29, 15-8, 15-12
estrutura FBD_COUNTER 2-31
estrutura FBD_LIMIT 4-28
estrutura FBD_LOGICAL 6-17, 6-21, 6-25
estrutura FBD_MASK_EQUAL 4-34
estrutura FBD_MASKED_MOVE 6-7
estrutura FBD_MATH 5-7, 5-10, 5-13, 5-16, 5-20,
14-7

Publicacin 1756-RM003D-PT-P - Junho 2001

ndice

estrutura FBD_MATH_ADVANCED 5-23, 5-26, 5-29,

13-2, 13-5, 13-8, 13-11, 13-14, 13-17, 14-2,


14-5, 15-2, 15-5
estrutura FBD_TIMER 2-14, 2-17, 2-20
estrutura FBD_TRUNCATE 15-15
estrutura SERIAL_PORT_CONTROL 16-2, 16-5, 16-7,
16-10, 16-14, 16-18, 16-21, 16-25, 16-29
estrutura STRING 16-6, 17-2, 18-2
estrutura TEMPORIZADOR 2-2, 2-6, 2-10
estrutura tipo string 17-2, 18-2
estruturas
CONTADOR 2-23, 2-27
CONTROL 7-7, 7-20, 7-41, 7-45, 7-49, 8-2, 8-6,

8-10, 8-17, 8-22, 8-28, 9-2, 9-7, 9-12,


12-3, 12-11
FBD_BIT_FIELD_DISTRIBUTE 6-13
FBD_COMPARE 4-8, 4-12, 4-16, 4-20, 4-24, 4-39
FBD_CONVERT 6-29, 15-8, 15-12
FBD_COUNTER 2-31
FBD_LIMIT 4-28
FBD_LOGICAL 6-17, 6-21, 6-25
FBD_MASK_EQUAL 4-34
FBD_MASKED_MOVE 6-7
FBD_MATH 5-7, 5-10, 5-13, 5-16, 5-20, 14-7
FBD_MATH_ADVANCED 5-23, 5-26, 5-29, 13-2,
13-5, 13-8, 13-11, 13-14, 13-17, 14-2,
14-5, 15-2, 15-5
FBD_TIMER 2-14, 2-17, 2-20
FBD_TRUNCATE 15-15
instruo RES 2-35
MSG 3-2
PID 12-22
SERIAL_PORT_CONTROL 16-2, 16-5, 16-7, 16-10,
16-14, 16-18, 16-21, 16-25, 16-29
STRING 16-6, 17-2, 18-2
TEMPORIZADOR 2-2, 2-6, 2-10
tipo string 16-6, 17-2, 18-2
examinar se energizado 1-3
exponencial 14-7
expresses
formato 4-6, 5-4, 7-19, 7-30
operadores vlidos 4-4, 5-4, 7-18, 7-30
seqncia de operao 4-6, 5-5, 7-19, 7-31

F
feedforward 12-38
fim temporrio 10-13
flags de status aritmtico
overflow B-5

G
grau 15-2

Publicacin 1756-RM003D-PT-P - Junho 2001

H
habilitao da interrupo pelo usurio 10-18

I
igual a 4-7
Insero de String 17-9
instruo 16-14
instruo ABL 16-7
instruo ABS 5-29
instruo ACB 16-10
instruo ACL 16-12
instruo ACS 13-14
instruo ADD 5-6
instruo AFI 10-20
instruo AND 6-17
instruo ARD 16-17
instruo ARL 16-20
instruo ASN 13-11
instruo ATN 13-16
instruo AVE 7-41
instruo AWA 16-24
instruo AWT 16-28
instruo BRK 11-5
instruo BSL 8-2
instruo BSR 8-6
instruo BTD 6-10
instruo BTDT 6-13
instruo CLR 6-16
instruo CMP 4-2
instruo CONCAT 17-3
instruo COP 7-32
instruo COS 13-5
instruo CPS 7-32
instruo CPT 5-2
instruo CTD 2-27
instruo CTU 2-23
instruo CTUD 2-31
instruo DDT
modo de busca 12-12
operandos 12-10
instruo de converso
TOD 15-8
instruo DEG 15-2
instruo DELETE 17-5
instruo DIV 5-15
instruo DTOS 18-7
instruo DTR 12-18
instruo EQU 4-7
instruo FAL
modo de operao 7-2
operandos 7-7
instruo FBC
modo de busca 12-4

ndice

operandos 12-2
instruo FFL 8-10
instruo FFU 8-16
instruo FIND 17-7
instruo FLL 7-37
instruo FOR 11-2
instruo FRD 15-12
instruo FSC
modo de operao 7-2
operandos 7-20
instruo GEQ 4-11
instruo GRT 4-15
instruo GSV
objetos 3-30
operandos 3-28
instruo INSERT 17-9
instruo JMP 10-2
instruo JSR 10-4
instruo LBL 10-2
instruo LEQ 4-19
instruo LES 4-23
instruo LFL 8-22
instruo LFU 8-28
instruo LIM 4-27
instruo LN 14-2
instruo LOG 14-4
instruo MCR 10-15
instruo MEQ 4-33
instruo MID 17-11
instruo MOD 5-19
instruo MOV 6-2
instruo MSG 3-13
cdigos de erro 3-7
conexo de cache 3-27
estrutura 3-2
mtodo de comunicao 3-26
operandos 3-2
instruo MUL 5-12
instruo MVM 6-4
instruo MVMT 6-7
instruo NEG 5-26
instruo NEQ 4-38
instruo NOP 10-21
instruo NOT 6-29
instruo ONS 1-8
instruo OR 6-21
instruo OSF 1-13
instruo OSFI 1-17
instruo OSR 1-10
instruo OSRI 1-15
instruo OTE 1-5
instruo OTL 1-6
instruo OTU 1-7
instruo PID

ajuste 12-27
alarmes 12-28
configurao 12-26
converso de escala 12-29
estrutura 12-22
feedforward 12-38
polarizao da sada (bias) 12-38
zona morta 12-37
instruo RAD 15-5
instruo RES 2-35
instruo RET 10-4, 11-7
instruo RTO 2-10
instruo RTOR 2-20
instruo RTOS 18-9
instruo SBR 10-4
instruo sempre falsa 10-20
instruo SIN 13-2
instruo SQI 9-2
instruo SQL 9-12
instruo SQO 9-7
instruo SQR 5-23
instruo SRT 7-45
instruo SSV
objetos 3-30
operandos 3-28
instruo STOD 18-3
instruo STOR 18-5
instruo SUB 5-9
instruo TAN 13-8
instruo TND 10-13
instruo TOD 15-8
instruo TOF 2-6
instruo TOFR 2-17
instruo TON 2-2
instruo TONR 2-14
instruo TRN 15-15
instruo UID 10-18
instruo UIE 10-18
instruo XIO 1-3
instruo XOR 6-25
instruo XPY 14-7
instrues
binrias 1-1
clculo 5-1
comparao 4-1
contador 2-1
controle de programa 10-1
converso 15-1
converso ASCII 18-1
converso de string 18-1
converso matemtica 15-1
deslocamento 8-1
entrada/sada 3-1
especiais 12-1
Publicacin 1756-RM003D-PT-P - Junho 2001

ndice

for/break 11-1
lgica 6-1
manipulao de string 17-1
manipulao de string ASCII 17-1
matemticas avanadas 14-1
matriz
movimentao 6-1
porta serial 16-1
porta serial ASCII 16-1
seqenciador 9-1
temporizador 2-1
trigonomtrica 13-1
instrues ASCII
ABL 16-7
ACB 16-10
ACL 16-12
AHL 16-14
ARD 16-17
ARL 16-20
AWA 16-24
AWT 16-28
CONCAT 17-3
DELETE 17-5
DTOS 18-7
FIND 17-7
INSERT 17-9
MID 17-11
RTOS 18-9
STOD 18-3
STOR 18-5
instrues binrias
introduo 1-1
ONS 1-8
OSF 1-13
OSFI 1-17
OSR 1-10
OSRI 1-15
OTE 1-5
OTL 1-6
OTU 1-7
XIO 1-3
instrues de arquivo. Consulte instrues de matriz
instrues de clculo
ABS 5-29
ADD 5-6
CPT 5-2
DIV 5-15
formato da expresso 5-4, 7-19
introduo 5-1
MOD 5-19
MUL 5-12
NEG 5-26
operadores vlidos 5-4, 7-18
seqncia de operao 5-5, 7-19
Publicacin 1756-RM003D-PT-P - Junho 2001

SQR 5-23
SUB 5-9
instrues de comparao
CMP 4-2
EQU 4-7
formato da expresso 7-30
formato de expresso 4-6
GEQ 4-11
GRT 4-15
introduo 4-1
LEQ 4-19
LES 4-23
LIM 4-27
MEQ 4-33
NEQ 4-38
operadores vlidos 4-4, 7-30
seqncia de operao 4-6, 7-31
instrues de controle de programa
introduo 10-1
UID 10-18
UIE 10-18
instrues de controle do programa
AFI 10-20
JMP 10-2
JSR 10-4
LBL 10-2
MCR 10-15
NOP 10-21
RET 10-4
SBR 10-4
TND 10-13
instrues de converso
DEG 15-2
FRD 15-12
introduo 15-1
RAD 15-5
TRN 15-15
instrues de converso de string
DTOS 18-7
introduo 18-1
RTOS 18-9
STOD 18-3
STOR 18-5
instrues de converso matemtica
DEG 15-2
FRD 15-12
introduo 15-1
RAD 15-5
TOD 15-8
TRN 15-15
instrues de deslocamento
BSL 8-2
BSR 8-6
FFL 8-10

ndice

FFU 8-16
introduo 8-1
LFL 8-22
LFU 8-28
instrues de entrada/sada
GSV 3-28
introduo 3-1
MSG 3-2
SSV 3-28
instrues de lgica
introduo 6-1
instrues de manipulao de string
CONCAT 17-3
DELETE 17-5
FIND 17-7
INSERT 17-9
introduo 17-1
MID 17-11
instrues de matemtica avanada
LOG 14-4
XPY 14-7
instrues de matriz
arquivo/misc. 7-1
AVE 7-41
BSL 8-2
BSR 8-6
COP 7-32
CPS 7-32
DDT 12-10
deslocamento 8-1
FBC 12-2
FFL 8-10
FFU 8-16
FLL 7-37
FSC 7-20
LFL 8-22
LFU 8-28
modo de operao 7-2
seqenciador 9-1
SIZE 7-53
SQI 9-2
SQL 9-12
SQO 9-7
SRT 7-45
STD 7-49
instrues de matriza
FAL 7-7
instrues de movimentao
BTD 6-10
BTDT 6-13
CLR 6-16
introduo 6-1
MOV 6-2
MVM 6-4

MVMT 6-7
instrues de porta serial
ABL 16-7
ACB 16-10
ACL 16-12
AHL 16-14
ARD 16-17
ARL 16-20
AWA 16-24
AWT 16-28
introduo 16-1
instrues de seqenciador
introduo 9-1
instrues de srie
RES 2-35
instrues de temporizador
TOF 2-6
TOFR 2-17
instrues do contador
CTD 2-27
CTU 2-23
CTUD 2-31
introduo 2-1
RES 2-35
instrues do sequenciador
SQI 9-2
SQL 9-12
SQO 9-7
instrues do temporizador
introduo 2-1
RES 2-35
RTO 2-10
RTOR 2-20
TON 2-2
TONR 2-14
instrues especiais
DDT 12-10
DTR 12-18
FBC 12-2
introduo 12-1
PID 12-21
instrues for/break
BRK 11-5
FOR 11-2
introduo 11-1
RET 11-7
instrues lgicas
AND 6-17
NOT 6-29
OR 6-21
XOR 6-25
instrues matemticas avanadas
introduo 14-1
LN 14-2
Publicacin 1756-RM003D-PT-P - Junho 2001

ndice

instrues PID
operandos 12-21
instrues STD 7-49
instrues trigonomtricas
ACS 13-14
ASN 13-11
ATN 13-16
COS 13-5
introduo 13-1
SIN 13-2
TAN 13-8

L
label 10-2
leitura ASCII 16-17
limite 4-27
linha de leitura ASCII 16-20
linhas ASCII handshake 16-14
log
base 10 14-4
natural 14-2
log natural 14-2

M
maior ou igual a 4-11
maior que 4-15
mascarado igual a 4-33
mscaras 12-19
mdia 7-41
Meio do String 17-11
menor ou igual a 4-19
menor que 4-23
mensagem 3-2
modo All (todos) 7-2
modo de busca 12-4, 12-12
modo de operao 7-2
modo Incremental (Incremento) 7-5
modo Numerical (numrico) 7-3
modos de temporizao B-5
monoestvel 1-8
monoestvel borda de descida com entrada 1-17
monoestvel com borda de descida 1-13
monoestvel com borda de subida 1-10
monoestvel com borda de subida com entrada 1-15
movimentao 6-2
movimentao mascarada 6-4
movimentao mascarada com target 6-7
multiplicao 5-12

O
objeto AXIS 3-31
objeto CONTROLLER 3-39
objeto CONTROLLERDEVICE 3-39
objeto CST 3-41
objeto DF1 3-42
objeto FAULTLOG 3-45
objeto MESSAGE 3-46
objeto MODULE 3-48
objeto MOTIONGROUP 3-49
objeto PROGRAM 3-50
objeto ROUTINE 3-51
objeto SERIALPORT 3-52
objeto TASK 3-54
objeto WALLCLOCKTIME 3-55
objetos
AXIS 3-31
CONTROLLER 3-39
CONTROLLERDEVICE 3-39
CST 3-41
DF1 3-42
FAULTLOG 3-45
instruo GSV/SSV 3-30
MESSAGE 3-46
MODULE 3-48
MOTIONGROUP 3-49
PROGRAM 3-50
ROUTINE 3-51
SERIALPORT 3-52
TASK 3-54
WALLCLOCKTIME 3-55
obteno do valor do sistema 3-28
operadores 4-4, 5-4, 7-18, 7-30
ordem de execuo B-2

P
polarizao da sada (bias) 12-38
preenchimento de arquivo 7-37
proporcional, integral e derivativo 12-21

R
radianos 15-5
raiz quadrada 5-23
REAL Para String 18-9
rearme do controle mestre 10-15
remoo de buffer e da fila ASCII 16-12
Remoo de String 17-5
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

salto 10-2
salto para sub-rotina 10-4
sem operao 10-21
seno 13-2
seqncia de operao 4-6, 5-5, 7-19, 7-31
SIZE instruo 7-53
String Para DINT 18-3
String Para REAL 18-5
sub-rotina 10-4
subtrao 5-9

T
tamanho em elementos 7-53
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

truncagem 15-15

V
valor absoluto 5-29
valores imediatos A-1

X
X elevado potncia de Y 14-7

Z
zeramento 6-16
zona morta 12-37

Publicacin 1756-RM003D-PT-P - Junho 2001

ndice

Notas:

Publicacin 1756-RM003D-PT-P - Junho 2001

Cdigos de Caracteres ASCII


Hex

Caracteres

Dec

Hex

Caracteres

Dec

Hex

Caracteres

Dec

Hex

[ctrl-@] NUL 0

$00

SPACE

32

$20

64

$40

96

$60

[ctrl-A] SOH

$01

33

$21

65

$41

97

$61

[ctrl-B] STX

$02

34

$22

66

$42

98

$62

[ctrl-C] ETX

$03

35

$23

67

$43

99

$63

[ctrl-D] EOT

$04

36

$24

68

$44

100

$64

[ctrl-E] ENQ

$05

37

$25

69

$45

101

$65

[ctrl-F] ACK

$06

&

38

$26

70

$46

102

$66

[ctrl-G] BEL

$07

39

$27

71

$47

103

$67

[ctrl-H] BS

$08

40

$28

72

$48

104

$68

[ctrl-I] HT

$09

41

$29

73

$49

105

$69

[ctrl-J] LF

10

$l ($0A)

42

$2A

74

$4A

106

$6A

[ctrl-K] VT

11

$0B

43

$2B

75

$4B

107

$6B

[ctrl-L] FF

12

$0C

44

$2C

76

$4C

108

$6C

[ctrl-M] CR

13

$r ($0D)

45

$2D

77

$4D

109

$6D

[ctrl-N] SO

14

$0E

46

$2E

78

$4E

110

$6E

[ctrl-O] SI

15

$0F

47

$2F

79

$4F

111

$6F

[ctrl-P] DLE

16

$10

48

$30

80

$50

112

$70

[ctrl-Q] DC1

17

$11

49

$31

81

$51

113

$71

[ctrl-R] DC2

18

$12

50

$32

82

$52

114

$72

[ctrl-S] DC3

19

$13

51

$33

83

$53

115

$73

[ctrl-T] DC4

20

$14

52

$34

84

$54

116

$74

[ctrl-U] NAK

21

$15

53

$35

85

$55

117

$75

[ctrl-V] SYN

22

$16

54

$36

86

$56

118

$76

[ctrl-W] ETB

23

$17

55

$37

87

$57

119

$77

[ctrl-X] CAN

24

$18

56

$38

88

$58

120

$78

[ctrl-Y] EM

25

$19

57

$39

89

$59

121

$79

[ctrl-Z] SUB

26

$1A

58

$3A

90

$5A

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

Caracteres

Dec

Publicao 1756-RM003D-PT-P - Junho 2001

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


Substitui Publicao 1756-RM003C-EN-P - Novembro de 2000

PN 957464-55
2001 Rockwell International Corporation.

Você também pode gostar