Documente Academic
Documente Profesional
Documente Cultură
1756-L1, -L1Mx
-2
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:: Identifica informaes sobre prticas ou circunstncias que podem causar ferimentos ou morte, danos patrimoniais ou perda financeira.
ATENO
!
IMPORTANTE
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.
Notas:
Localizador de 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.
A instruo est documentada em: este manual Manual de Referncia do Conjunto de Instrues dos Inversores e Controle de Processo dos Controladores Logix5000, publicao 1756-RM006 Logix5000 Controllers Motion Instruction Set Reference Manual, publicao 1756-RM007
posicionamento
Instruo: ABL ABS ACB ACL ACS adio AFI AHL ALM AND ARD ARL ASN ATN AVE AWA AWT BAND BNOT
Local: 16-7 5-29 16-10 16-12 13-14 5-6 10-20 16-14 controle de processo 6-17 16-17 16-20 13-11 13-16 7-41 16-24 16-28 controle de processo controle de processo
Linguagens: lgica ladder lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder bloco de funo bloco de funo
Instruo: BOR BRK BSL BSR BTD BTDT BTR (tipo MSG) BTW (tipo MSG) BXOR CLR CMP CONCAT COP COS CPS CPT CTD CTU CTUD D2SD D3SD
Local: controle de processo 11-5 8-2 8-6 6-10 6-13 3-2 3-2 controle de processo 6-16 4-2 17-3 7-32 13-5 7-32 5-2 2-27 2-23 2-31 controle de processo controle de processo
Linguagens: bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo bloco de funo bloco de funo
Localizador de Instruo
Instruo: DDT DEDT DEG DELETE DERV DFF DIV DTOS DTR EQU ESEL FAL FBC FFL FFU FGEN FIND FLL FOR FRD FSC GEQ GRT GSV HLL HPF
Local: 12-10 controle de processo 15-2 17-5 controle de processo controle de processo 5-15 18-7 12-18 4-7 controle de processo 7-7 12-2 8-10 8-16 controle de processo 17-7 7-37 11-2 15-12 7-20 4-11 4-15 3-28 controle de processo controle de processo
Linguagens: lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder bloco de funo bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo bloco de funo
Instruo: INSERT INTG JKFF JMP JSR LBL LDL2 LDLG LEQ LES LFL LFU LIM LN LOG LPF MAAT MAFR MAG MAH MAHD MAJ MAM MAPC MAR MAS MASD MASR
Local: 17-9 controle de processo controle de processo 10-2 10-4 10-2 controle de processo controle de processo 4-19 4-23 8-22 8-28 4-27 14-2 14-4 controle de processo posicionamento posicionamento posicionamento posicionamento posicionamento posicionamento posicionamento posicionamento posicionamento posicionamento posicionamento posicionamento
Linguagens: lgica ladder bloco de funo bloco de funo lgica ladder lgica ladder lgica ladder bloco de funo bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder
Localizador de Instruo
Instruo: MATC MAVE MAW MAXC MCCP MCD MCR MDF MDO MDR MDW MEQ MGPS MGS MGSD MGSP MGSR MID MINC MOD MOV MRAT MRHD MRP MSF MSG MSO MSTD MUL
Local: posicionamento controle de processo posicionamento controle de processo posicionamento posicionamento 10-15 posicionamento posicionamento posicionamento posicionamento 4-33 posicionamento posicionamento posicionamento posicionamento posicionamento 17-11 controle de processo 5-19 6-2 posicionamento posicionamento posicionamento posicionamento 3-2 posicionamento controle de processo 5-12
Local: controle de processo 6-4 6-7 5-26 4-38 10-21 6-29 controle de processo 1-8 6-21 1-13 1-17 1-10 1-15 1-5 1-6 1-7 controle de processo 12-21 controle de processo controle de processo controle de processo 15-5 2-35 controle de processo 10-4 e 11-7
Linguagens: bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder bloco de funo bloco de funo lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo bloco de funo bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder
lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo
MVMT NEG NEQ NOP NOT NTCH ONS OR OSF OSFI OSR OSRI OTE OTL OTU PI PID PIDE PMUL POSP RAD RES RESD RET
Localizador de Instruo
Instruo: RLIM RMPS RTO RTOR RTOS SBR SCL SCRV SEL SETD SIN SIZE SNEG SOC SQI SQL SQO SQR SRT SRTP SSUM SSV STD STOD STOR SUB
Local: controle de processo controle de processo 2-10 2-20 18-9 10-4 controle de processo controle de processo controle de processo controle de processo 13-2 7-53 controle de processo controle de processo 9-2 9-12 9-7 5-23 7-45 controle de processo controle de processo 3-28 7-49 18-3 18-5 5-9
Linguagens: bloco de funo bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder bloco de funo bloco de funo
Instruo: TAN TND TOD TOF TOFR TON TONR TOT TRN
Local: 13-8 10-13 15-8 2-6 2-17 2-2 2-14 controle de processo 15-15 10-18 10-18 controle de processo 1-1 1-3 6-25 14-7
Linguagens: lgica ladder bloco de funo lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo bloco de funo lgica ladder bloco de funo lgica ladder lgica ladder bloco de funo lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo
bloco de funo UID bloco de funo lgica ladder bloco de funo lgica ladder bloco de funo bloco de funo XPY lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo lgica ladder bloco de funo bloco de funo lgica ladder lgica ladder lgica ladder lgica ladder lgica ladder bloco de funo UIE UPDN XIC XIO XOR
Prefcio
Introduo
Tarefa/Meta:
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 Exportao de um projeto ou tags para um arquivo texto Converso de uma aplicao CLP-5 ou SLC 500 para uma aplicao Logix5000 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 Manual de Referncia de Exportao/Importao do Controlador Logix5000, publicao 1756-6.8.4PT
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.
Prefcio
Objetivo do Manual
Essa seo: Nome da instruo Operandos de Lgica Ladder
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.
lista os valores e os bits de status de controle da instruo, se houver descreve o uso da instruo define quaisquer diferenas quando a instruo estiver habilitada e desabilitada, se apropriado define se a instruo interfere ou no nos flags de status aritmtico consulte o apndice Atributos Comuns define se a instruo gera falhas graves ou de advertncia se necessrio, define o cdigo e o tipo da falha 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 Se disponvel na Lgica Ladder, fornece pelo menos um exemplo de programao inclui uma descrio explicando cada exemplo 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 Se disponvel no bloco de funo, fornece pelo menos um exemplo de programao inclui uma descrio explicando cada exemplo
bloco de funo
Prefcio
desenergizar
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.
instruo de entrada
instruo de sada
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.
Prefcio
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).
Prefcio
Notas:
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
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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2-2 2-6 2-10 2-14 2-17 2-20 2-23 2-27 2-31 2-35
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-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
Captulo 4 Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Introduo . . . . . . . . . . . . . . . Comparao (CMP) . . . . . . . . . Expresses CMP . . . . . . . . Operadores vlidos . . . . . . Formatao de expresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 4-2 4-4 4-4 4-6
Sumrio
iii
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) . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
4-6 4-7 4-11 4-15 4-19 4-23 4-27 4-33 4-34 4-38
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 .......... .......... .......... .......... .......... .......... .......... .......... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Captulo 6 Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 7-2 7-2 7-3 7-5 7-7 7-18 7-18
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
Captulo 10 Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
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
Sumrio
vi
Sumrio
Captulo 16 Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
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
Sumrio
vii
Index
viii
Sumrio
Notas:
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: habilitar as sadas quando o bit estiver energizado habilitar as sadas quando o bit for desenergizado energizar o bit energizar um bit (retentivo) desenergizar um bit (retentivo) energizar as sadas para uma varredura cada vez que uma linha se torna verdadeira energizar o bit para uma varredura cada vez que uma linha se torna verdadeira energizar o bit para uma varredura cada vez que uma linha se torna falsa energizar um bit para uma varredura toda vez que o bit de entrada for energizado no bloco de funo energizar um bit para uma varredura toda vez que o bit de entrada for desenergizado no bloco da funo Use esta instruo: XIC XIO OTE OTL OTU ONS OSR OSF OSRI OSFI Consulte pgina: 1-1 1-3 1-5 1-6 1-7 1-8 1-10 1-13 1-15 1-17
Linguagens Disponveis:
Lgica Ladder
1-2
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
Flags de Status Aritmtico: no afetados Condies de Falha: nenhuma Execuo da Lgica Ladder:
Condio: pr-varredura entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
dado binrio = 0
dado binrio = 1
exemplo 2
Se S:V estiver energizado (indica que um overflow ocorreu), isto habilitar a prxima instruo (a sada da condio da linha verdadeira).
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
1-3
Linguagens Disponveis:
Lgica Ladder
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.
dado binrio = 0
dado binrio = 1
1-4
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
exemplo 2
Se S:V for desenergizado (indica que nenhum overflow ocorreu), isto habilitar a prxima instruo (a sada da condio da linha verdadeira).
Linguagens Disponveis:
Lgica Ladder
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.
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
1-5
Quando habilitada, a instruo OTE energiza (acende) light_1. Quando desabilitada, a instruo OTE desenergiza (apaga) light_1.
Linguagens Disponveis:
Lgica Ladder
Tipo: BOOL
Formato: tag
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.
1-6
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
Quando habilitada, a instruo OTL energiza light_2. Este bit permanece energizado at ser desenergizado, geralmente por uma instruo OTU.
Linguagens Disponveis:
Lgica Ladder
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.
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
1-7
Monoestvel (ONS)
Linguagens Disponveis:
Lgica Ladder
A instruo ONS habilita ou desabilita o restante da linha, dependendo do status do bit de armazenamento.
Tipo: BOOL
Formato: tag
Descrio: bit de armazenamento interno armazena a entrada da condio da linha desde a ltima vez que a instruo foi executada
1-8
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
Flags de Status Aritmtico: no afetados Condies de Falha: nenhuma Execuo de Lgica Ladder :
Condio: pr-varredura Ao: O bit de armazenamento est energizado para prevenir um disparo invlido durante a primeira varredura. A sada da condio da linha definida como falsa. O bit de armazenamento desenergizado. A sada da condio da linha definida como falsa.
entrada da condio da linha for falsa entrada da condio da linha for verdadeira
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
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.
Linguagens Disponveis:
Lgica Ladder
A instruo OSR energiza ou desenergiza o bit de sada, dependendo do status do bit de armazenamento.
BOOL
tag
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
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
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
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
1-11
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.
Linguagens Disponveis:
Lgica Ladder
A instruo OSF energiza ou remove o bit de sada, dependendo do status do bit de armazenamento.
BOOL
tag
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
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
Flags de Status Aritmtico: no afetados Condies de Falha: nenhuma Execuo de Lgica Ladder :
Condio: pr-varredura Ao: 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.
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
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
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.
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: Formato: estrutura Descrio: Estrutura OSRI tag de bloco FBD_ONESHOT
1-14
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
InputBit
BOOL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut OutputBit BOOL BOOL Descrio: A instruo produziu um resultado vlido. Bit de sada
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
1-15
InputBit
InputBitn-1
OutputBit
a instruo executada
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: pr-varredura primeiro a instruo efetua a varredura primeiro a instruo efetua a operao EnableIn desenergizado EnableIn energizado Ao: Nenhuma ao tomada. InputBit n-1 energizado. InputBit n-1 energizado. EnableOut desenergizado. Em uma transio de desenergizado para energizado do EnableIn, a instruo energiza o InputBit n-1. A instruo executada. EnableOut energizado.
1-16
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
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.
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: Formato: estrutura Descrio: Estrutura OSFI tag de bloco FBD_ONESHOT
InputBit
BOOL
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
1-17
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut OutputBit BOOL BOOL Descrio: A instruo produziu um resultado vlido. Bit de sada
InputBit n-1
OutputBit
40047
a instruo executada
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: pr-varredura primeiro a instruo efetua a varredura primeiro a instruo efetua a operao EnableIn desenergizado EnableIn energizado Ao: Nenhuma ao tomada. InputBit n-1 desenergizado. InputBit n-1 desenergizado. EnableOut desenergizado. Em uma transio de desenergizado para energizado do EnableIn, a instruo desenergiza o InputBit t n-1. A instruo executada. EnableOut energizado.
1-18
Instrues Binrias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI)
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.
Captulo
Introduo
TOFR
2-17
2-2
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
Linguagens Disponveis:
Lgica Ladder
A instruo TON um temporizador no retentivo que acumula tempo quando a instruo habilitada (entrada da condio da linha verdadeira).
Estrutura:
Mnemnico: .EN .TT .DN .PRE .ACC Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo TON est habilitada. O bit de temporizao indica que uma operao de temporizao est em andamento. O bit executado est definido quando .ACC .PRE. O valor pr-selecionado especifica o valor (unidades de 1 ms) que o acumulador deve atingir antes da instruo energizar o bit .DN. 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.
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-3
entrada da condio da linha bit habilitado do temporizador (.EN) bit de temporizao do temporizador (.TT) bit executado do temporizador (.DN) valor pr-programado valor acumulado do temporizador 0
temporizador no atingiu o valor .PRE em atraso
16649
2-4
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
bit .DN = 1
bit .DN = 0
bit .EN = 0
bit .EN = 1
examinar .ACC
.ACC .PRE
.ACC < .PRE .DN energizado bit .TT desenergizado bit .EN energizado valor .ACC renova no
sim
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-5
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.
2-6
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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).
Estrutura:
Mnemnico: .EN .TT .DN .PRE .ACC Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo TOF est habilitada. O bit de temporizao indica que uma operao de temporizao est em andamento. O bit executado est definido quando .ACC .PRE. O valor pr-determinado especifica o valor (unidades de 1 ms) que o acumulado deve atingir antes da instruo desenergizar o bit .DN. 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.
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-7
2-8
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
bit .DN = 0
bit .DN = 1
bit .EN = 1
bit .EN = 0
examinar .ACC
.ACC .PRE
no
sim
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
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.
2-10
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
Linguagens Disponveis:
Lgica Ladder
A instruo RTO um temporizador retentivo que acumula tempo quando a instruo habilitada.
Estrutura:
Mnemnico: .EN .TT .DN .PRE .ACC Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo RTO est habilitada. O bit de temporizao indica que uma operao de temporizao est em andamento. O bit executado indica que .ACC .PRE. O valor pr-selecionado especifica o valor (unidades de 1 ms) que o acumulado deve atingir antes da instruo energizar o bit .DN. 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.
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)
valor pr-programado valor acumulado do temporizador (.ACC) 0 temporizador no atingiu o valor .PRE
16651
2-12
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
bit .DN = 1
bit .DN = 0
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
no
sim
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-13
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.
2-14
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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).
TimerEnable PRE
BOOL DINT
Reset
BOOL
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: EnableOut ACC EN TT DN Status: BOOL BOOL BOOL BOOL BOOL DINT Descrio: A instruo produziu um resultado vlido. Tempo acumulado em milissegundos. Sada habilitada de temporizador. indica que a instruo do temporizador est habilitada. Sada de temporizao do temporizador. Quando energizado, uma operao de temporizao est em progresso. Sada da temporizao concluda. Indica quando o tempo acumulado for maior ou igual ao valor pr-selecionado. Status do bloco de funo. 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. O valor pr-selecionado invlido.
PresetInv (Status.1)
BOOL
TimerEnable bit habilitado (EN) bit de temporizao do temporizador (TT) bit executado de temporizador (DN) valor pr-programado valor acumulado do temporizador (ACC) 0
o temporizador no alcanou o valor PRE em atraso
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).
2-16
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
reset
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.
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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).
TimerEnable PRE
BOOL DINT
Reset
BOOL
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: EnableOut ACC EN TT DN Status: BOOL BOOL BOOL BOOL BOOL DINT Descrio: A instruo produziu um resultado vlido. Tempo acumulado em milissegundos. Sada habilitada pelo temporizador. Indica que a instruo do temporizador est habilitada. Sada de temporizao do temporizador. Quando energizada, uma operao de temporizao est em progresso. Sada concluda de temporizao. Indica quando o tempo acumulado maior ou igual ao pr-selecionado. Status do bloco de funo. 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. O valor pr-selecionado invlido.
PresetInv (Status.1)
BOOL
16650
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.
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).
reset
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.
2-20
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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).
TimerEnable PRE
BOOL DINT
Reset
BOOL
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: EnableOut ACC EN TT DN Status: BOOL DINT BOOL BOOL BOOL DINT Descrio: A instruo produziu um resultado vlido. Tempo acumulado em milissegundos. Este valor retido at durante a desenergizao da entrada TimerEnable. Isto torna o comportamento deste bloco diferente do bloco TONR. Sada habilitada do temporizador. Indica que a instruo do temporizador habilitada. Sada de temporizao do temporizador. Quando energizada, a operao de temporizao est em progresso. Sada de temporizao concluda. Indica quando o tempo acumulado superior ou igual ao pr-selecionado. Status do bloco de funo. 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. O valor pr-selecionado invlido.
PresetInv (Status.1)
BOOL
valor pr-programado
16651
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.
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).
reset
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
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-23
Linguagens Disponveis:
Lgica Ladder
Estrutura:
Mnemnico: .CU .DN .OV .UN .PRE .ACC Tipo de Dados: BOOL BOOL BOOL BOOL DINT DINT Descrio: O bit de habilitao do contador crescente indica que a instruo CTU est habilitada. O bit executado indica que .ACC .PRE. 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. 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. O valor pr-programado especifica o valor que o acumulado deve atingir antes da instruo energizar o bit .DN. 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.
2-24
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
valor pr-programado
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.
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-25
entrada da condio da linha for falsa entrada da condio da linha for verdadeira
bit .CU = 0
sim
bit .CU = 1
no
bit .OV = 0
examinar .ACC
.ACC .PRE
.ACC < .PRE bit .DN desenergizado. bit .DN est energizado.
fim
2-26
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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.
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-27
Linguagens Disponveis:
Lgica Ladder
Estrutura:
Mnemnico: .CD .DN .OV .UN .PRE .ACC Tipo de Dados: BOOL BOOL BOOL BOOL DINT DINT Descrio: O bit de habilitao do contador decrescente indica que a instruo CTD est habilitada. O bit executado indica que .ACC .PRE. 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. 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. O valor pr-programado especifica o valor que o acumulado deve atingir antes da instruo energizar o bit .DN. 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.
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)
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.
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-29
entrada da condio da linha for falsa entrada da condio da linha for verdadeira
bit .CD = 0
sim
bit .CD = 1
no
bit . OV desenergizado bit .OV = 1 bit .DN desenergizado. bit .UN desenergizado
bit .OV = 0
examinar .ACC
.ACC .PRE
.ACC < .PRE bit .DN desenergizado. bit .DN est energizado.
fim
2-30
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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.
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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).
CUEnable
BOOL
CDEnable
BOOL
PRE
DINT
Reset
BOOL
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: EnableOut ACC CU CD DN OV UN BOOL DINT BOOL BOOL BOOL BOOL BOOL Descrio: A instruo produziu um resultado vlido. Valor acumulado. Contagem crescente habilitada. Contagem decrescente habilitada. Contagem concluda. Energiza quando o valor acumulado for maior ou igual ao pr-selecionado. 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. 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.
valor pr-programado
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-33
CDEnable bit de contagem decrescente (CD) bit executado de contagem decrescente (DN)
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: pr-varredura primeira varredura da instruo primeira operao da instruo EnableIn desenergizado EnableIn energizado Ao: No requer inicializao. o CUEnablen-1 e o CDEnablen-1 esto energizados. o CUEnablen-1 e o CDEnablen-1 esto energizados. EnableOut desenergizado. Em uma transio de desenergizado para energizado de EnableIn, a instruo energiza CUEnablen-1 e CDEnablen-1. A instruo executada. EnableOut energizado. Quando energizada, a instruo desenergiza CUEnablen-1, CDEnablen-1, CU, CD, DN, OV e UN e define ACC = zero.
reset
2-34
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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.
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
2-35
Reset (RES)
Linguagens Disponveis:
Lgica Ladder
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: TIMER COUNTER CONTROL A instruo desenergiza: valor .ACC bits de status de controle valor .ACC bits de status de controle valor .POS bits de status de controle
ATENO
!
Flags de Status Aritmtico: no afetados Condies de Falha: nenhuma
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.
2-36
Instrues do Temporizador e do Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES)
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: enviar dados de/para outro mdulo obter informaes de status do controlador definir informaes de status do controlador Use esta instruo: MSG GSV SSV Consulte pgina: 3-2 3-28 3-28
3-2
Mensagem (MSG)
Linguagens Disponveis:
A instruo MSG realiza a leitura ou escreve de forma assncrona em um bloco de dados para outro mdulo em uma rede.
Estrutura:
Mnemnico: Tipo de Dados: .FLAGS INT Descrio: O membro .FLAGS fornece acesso aos membros de status (bits) em uma palavra de 16 bits. Este bit: 2 4 5 6 7 8 9 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 .EXERR .REQ_LEN .DN_LEN .EW .ER .DN .ST INT INT INT INT BOOL BOOL BOOL BOOL Se o bit .ER for energizado, a palavra de cdigo de erro identifica os cdigos de erro para a instruo MSG. A palavra de cdigo de erro estendido especifica as informaes de cdigo de erro adicionais para alguns cdigos de erro. O comprimento requisitado especifica quantas palavras a instruo de mensagem tentar transferir. O comprimento executado identifica quantas palavras realmente foram transferidas. 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. 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. 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. 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.
3-3
Descrio: 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. Se voc energizar o bit .TO manualmente, o controlador interrompe o processamento da mensagem e energiza o bit .ER. 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.
.TO .EN_CC
BOOL BOOL
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
3-4
Onde: 1
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
3-5
bit .EW = 0
bit .ST = 0
bit .DN = 0
bit .ER = 0
comando de block-transfer
no
no
bit .DN = 0
bit .ER = 1 examinar bit .ER bit .EW est energizado bit .ER est energizado
bit .ER = 0
fim
3-6
Ao:
bit .EW = 1
bit .EW = 0
bit .EW = 0
bit .ST = 1
bit .ST = 0
bit .ST = 0
bits .EW, .ST, .TO, .DN e .ER so desenergizados bit .EN est energizado
bit .DN = 0
bit .ER = 0
comando de block-transfer
no
no
sim
no
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
fim
3-7
Os cdigos de erro dependem do tipo dos cdigos de erro do ControlLogix (CIP) da instruo MSG.
0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 0010 0011 0012 0013 0014 0015 001A 001B 001C 001D 001E
igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio
Publicao 1756-RM003D-PT-P - Junho 2001
3-8
Cdigo de erro (hex): 001F 0022 0025 0026 0027 0028 0029
Descrio: Falha relacionada conexo (consulte os cdigos de erro estendidos) Resposta recebida invlida Erro de segmento principal Erro de IOI invlido Atributo inesperado na lista Erro na DeviceNet Identificao de membro invlido Erro na DeviceNet membro no configurvel
Display do software: igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio igual descrio
Conexo em uso Transporte no suportado Conflito de Dispositivo de Armazenamento de Configurao Conexo no encontrada Tipo de conexo invlida Tamanho de conexo invlida Mdulo no configurado EPR no suportado Mdulo errado Tipo de dispositivo errado Reviso errada Formato de configurao invlido
Aplicao fora das conexes Perodo de espera da conexo Perodo de espera de mensagem no conectada Erro de parmetro enviado no conectado Mensagem muito grande Sem espao de memria no buffer Largura de faixa no disponvel No h disponibilidade de screeners Correspondncia de assinatura Porta no disponvel Endereo de rede no disponvel Tipo de segmento invlido Conexo no programada
3-9
3-10
Controlador converteu incorretamente o endereo Endereo incompleto Endereo incorreto Formato ilegal do endereo smbolo no encontrado Formato ilegal do endereo o smbolo tem o valor 0 ou maior do que o nmero mximo de caracteres suportados pelo dispositivo Arquivo de endereo no existe no controlador alvo Arquivo de destino muito pequeno para o nmero de palavras solicitado. No consegue completar o pedido Situao alterada durante operao com vrios pacotes Dados ou arquivo muito grande Memria no disponvel Controlador alvo no consegue colocar as informaes requisitadas em pacotes Erro de privilgio; acesso negado Funo requisitada no est disponvel Pedido redundante Comando no pode ser executado Overflow; overflow do histograma Sem acesso
Tipo de dados requisitados no corresponde aos dados disponveis Parmetros de comando incorretos Referncia de endereo existe para uma rea apagada Falha na execuo do comando por motivo desconhecido Overflow do histograma do CLP-3 Erro na converso dos dados Scanner no est disponvel para comunicao com um adaptador de gaveta 1771 Adaptador no est disponvel para comunicao com o mdulo Resposta do mdulo 1771 no foi vlida Etiqueta duplicada Controlador que armazena a configurao do arquivo ativo o arquivo est sendo usado Controlador que armazena a configurao do programa ativo algum est descarregando dados ou fazendo edio online Arquivo do disco est protegido contra gravao ou no pode ser acessado (somente offline) Arquivo do disco est sendo usado por outra aplicao Atualizao no realizada (somente offline)
001C
001D
3-11
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
3-12
Excesso de IOI Valor deficiente para o parmetro Sinalizao rejeitada Tamanho muito pequeno Tamanho invlido Falha de privilgio Posio da chave seletora de modo invlida Senha invlida Sem emisso de senha Endereo fora da faixa Endereo e quantidade esto fora da faixa Dados em uso Tipo invlido ou no suportado
Controlador no modo de carga ou descarga Tentativa de alterar o nmero das dimenses da matriz Nome invlido do smbolo Smbolo no existe Busca apresentou falha Tarefa no pode ser iniciada No h condies de escrita (gravao) No h condies de leitura Rotina compartilhada que no pode ser editada Controlador no modo de falha Modo de operao inibido
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.
Selecione um dos seguintes tipos de mensagens: leitura da tabela de dados CIP escrita da tabela de dados CIP CIP genrico leitura de tipo para CLP-5 escrita de tipo para CLP-5 leitura da faixa de palavras do CLP-5 escrita da faixa de palavras do CLP-5
controlador CLP-5
3-16
controlador SLC Mdulo de block-transfer em uma rede de E/S Remota Universal Controlador CLP-3
leitura de tipo para SLC leitura de tipo para SLC leitura de block-transfer escrita de block-transfer leitura de tipo para CLP-3 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
3-20
3-14
Nmero de Elementos
Destination Element/Tag
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.
3-15
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)
3-16
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
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.
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 1 2 3 4 palavras de 32 bits no controlador Logix5550 1 2 3 4 Comando de leitura da faixa de palavra palavras de 16 bits no controlador CLP-5 1 2 3 4 palavras de 32 bits no controlador Logix5550 2 4 1 3
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.
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).
3-18
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.
3-19
3-20
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 1 2 3 4 palavras de 32 bits no controlador Logix5550 1 2 3 4 Comando de leitura da faixa de palavra palavras de 16 bits no controlador CLP-3 1 2 3 4 palavras de 32 bits no controlador Logix5550 2 4 1 3
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.
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).
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:
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 elemento de destino array_1 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 elemento de destino array_1 010
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 tag de destino N7:10 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 tag de destino 010 array_1
3-22
Ao configurar uma instruo MSG, voc especifica estes detalhes na guia Communication.
sim
Especifique um percurso para o mdulo 1756-DHRIO que esteja na mesma rede DH+ do controlador. Consulte o procedimento seguinte. Especifique um percurso para o controlador ou mdulo. Consulte o procedimento seguinte.
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: 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 3 Especifique: 1 2
3-24
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
Percurso: 1, 0, 2, 42, 1, 3
Onde: 1 0 2 42 1 3 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 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
3-25
EXEMPLO
Percurso: 1, 1, 2, 127.127.127.12, 1, 3
Onde: 1 1 2 127.127.127.12 1 3 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 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+
Percurso: 1, 1
Onde: 1 1 Indica: a porta da placa de fundo do controlador Logix5550 no chassi local o nmero da ranhura do mdulo 1756-DHRIO no chassi local
3-26
Se o dispositivo destino for um: controlador ControlLogix controlador ControlNet CLP-5 controlador CLP-5 controlador SLC
E especifique: outras especificaes no so necessrias Canal: Rede Fonte: Canal A ou B do mdulo 1756-DHRIO que est conectado rede DH+ 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.) Identificao da rede DH+ remota onde o dispositivo alvo reside Endereo da estao do dispositivo alvo
Se houver somente uma rede DH+ e voc no usou o software Gateway para configurar o mdulo DH/RIO para as redes remotas, especifique 0 tanto para a Rede Fonte quanto para a Destino. Aplicao em uma estao de trabalho que est recebendo uma mensagem no requisitada conectada rede Ethernet ou ControlNet atravs de RSLinx CIP com Identificao de Fonte Rede Fonte: 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
Rede Destino: (Isto permite que a aplicao receba dados de um controlador.) N Destino:
3-27
leitura ou escrita da tabela de dados CIP CLP2, CLP3, CLP5 ou SLC (todos os tipos)
Use a tabela a seguir para selecionar uma opo de cache para uma mensagem.
Se a mensagem executar: repetidamente Ento: Selecione a caixa de verificao Cache Connections Retire a seleo da caixa de verificao Cache Connections Porque: 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. Isto fechar a conexo na concluso, que liberar aquela conexo para outros usos.
no frequentemente
3-28
Linguagens Disponveis:
As instrues GSV/SSV obtm e definem os dados do sistema do controlador que esto armazenados nos objetos.
Tipo:
Descrio: nome do objeto nome do objeto especfico, quando o objeto requisitar um nome atributo do objeto o tipo de dados depende do atributo que voc selecionou destino para os dados de atributo
tag
Source (SSV)
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.
3-29
Ao inserir uma instruo GSV/SSV, o software de programao exibe as classes vlidas de objeto, os nomes do objeto e os nomes de atributo para cada instruo. Para a instruo GSV, voc pode obter valores para todos os atributos disponveis. Para a instruo SSV, o software exibe somente aqueles atributos, cuja configurao permitida. Use as instrues GSV/SSV cuidadosamente. As alteraes realizadas nos objetos podem causar operao inesperada do controlador ou danos pessoais.
ATENO
!
Flags de Status Aritmtico: no afetados Condies de Falha:
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].
Uma falha de advertncia ocorrer se: 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.
Tipo de falha: 4 4 4 4 4
Cdigo de falha: 5 6 6 6 7
3-30
Objetos GSV/SSV
Ao inserir uma instruo GSV/SSV, voc especifica o objeto e atributo que voc acessar. Em alguns casos, haver mais do que um exemplo do mesmo tipo de objeto, de forma que voc tambm possa especificar o nome do objeto. Por exemplo, a sua aplicao pode ter vrias tarefas. Cada tarefa tem o seu prprio objeto TASK (TAREFA) que acessado pelo nome da tarefa. Para a instruo GSV, somente o tamanho 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.
ATENO
!
AXIS CONTROLLER CONTROLLERDEVICE CST DF1 FAULTLOG MESSAGE MODULE MOTIONGROUP PROGRAM ROUTINE SERIALPORT TASK WALLCLOCKTIME
3-31
*DriveFaultAction
SINT
GSV SSV
*EncoderLossFaultAction
SINT
GSV SSV
*EncoderNoiseFaultAction
SINT
GSV SSV
*FrictionCompensation
REAL
GSV SSV
3-32
Instruo: GSV SSV GSV SSV GSV SSV GSV SSV GSV SSV GSV SSV GSV SSV
Descrio: O limite de percurso negativo mximo. O limite de percurso positivo mximo. A largura de faixa do filtro de sada digital servo de passa/baixa. O valor da tenso mxima de sada do servo do eixo. O valor usado para compensar os efeitos dos offsets cumulativos da sada DAC do servomdulo e da entrada do servoinversor. O valor usado para converter a sada da malha do servo na tenso equivalente a do inversor. 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 O volume de erro de posio que o servo tolera antes de emitir uma falha de erro de posio. O valor usado para se atingir um preciso posicionamento de eixo, apesar de perturbaes como, por exemplo, gravidade e frico esttica. O valor que o controlador multiplica pelo erro de posio para corrigir o erro de posio. O valor usado para realizar o desenrolamento automtico do eixo de rotao. 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 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 A sada do comando de velocidade necessria para gerar a velocidade comandada. O valor que o controlador multiplica pelo valor VelocityIntegratorError para corrigir o erro de velocidade. O valor que o controlador multiplica pelo valor VelocityError para corrigir o erro de velocidade.
*PositionErrorTolerance *PositionIntegralGain
REAL REAL
GSV SSV GSV SSV GSV SSV GSV SSV GSV SSV
*SoftOvertravelFaultAction
SINT
GSV SSV
3-33
Descrio: A posio real do eixo. A velocidade real do eixo. A velocidade mdia do eixo. A base de tempo da velocidade mdia do eixo. O estado da configurao do eixo. 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 A instncia de conexo do controlador produzindo os dados do eixo. A instncia de mapa do controlador produzindo os dados do eixo. A posio de comando do eixo. A velocidade de comando do eixo. O fator de converso usado para converter as unidades do usurio os pulsos de realimentao. 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). 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. O nmero de exemplo do grupo de movimento que contm o eixo. O modo de posio inicial do eixo. Valor: Significado: 0 posio inicial passiva 1 posio inicial ativa (padro) A posio de incio do eixo. A velocidade de retorno de posio inicial do eixo. 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) A velocidade de posio inicial do eixo. O nmero de instncia do eixo.
EffectiveInertia
REAL
GroupInstance HomeMode
DINT SINT
HomeSpeed Instance
REAL DINT
3-34
Atributo: InterpolatedActualPosition
Instruo: GSV
Descrio: 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. 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. 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. O exemplo de mapa de E/S do servomdulo. Offset da posio que est atualmente aplicada ao mestre de um came de posio. Especificado em unidades de posio do eixo mestre. A acelerao mxima do eixo. A desacelerao mxima do eixo. A velocidade mxima do eixo. O canal do mdulo do servomdulo. 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 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
InterpolatedCommandPosition
REAL
GSV
InterpolationTime
DINT
GSV SSV
MapTableInstance MasterOffset
DINT REAL
GSV GSV
MotionFaultBits
DINT
GSV
3-35
Atributo: MotionStatusBits
Instruo: GSV
Descrio: Os bits de status de movimento para o eixo. (Na estrutura AXIS, este o membro MotionStatus.) Bit: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Nome do Bit: AccelStatus DecelStatus MoveStatus JogStatus GearingStatus HomingStatus StoppingStatus AxisHomedStatus PositionCamStatus TimeCamStatus PositionCamPendingStatus TimeCamPendingStatus GearingLockStatus PositionCamLockStatus MasterOffsetMoveStatus Significado: acelerao desacelerao movimento jog engrenagem guiamento orientado desligamento status inicial came de posio came de tempo came de posio pendente came de tempo pendente trava de engrenagem trava do came de posio movimento do offset mestre
GSV SSV GSV GSV GSV SSV GSV SSV GSV SSV
A quantidade de movimento necessria para iniciar o teste MRHD Motion Run Hookup Diagnostic. A diferena entre a posio de comando e a real de um eixo. A soma do erro de posio para um eixo. O volume de erro de posio que o servomdulo tolera ao fornecer uma indicao de status travado na posio verdadeira. 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). O tipo de parada a ser realizada no eixo. Valor: Significado: 0 parada rpida 1 desligamento rpido 2 desligamento do hardware A posio de registro para o eixo. 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.
ProgrammedStopMode
SINT
RegistrationPosition RegistrationTime
REAL DINT
GSV GSV
3-36
Atributo: ServoConfigurationUpdateBits
Instruo: GSV
Descrio: 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 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 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 O nvel de tenso de sada para a malha do servo do eixo.
ServoEventBits
DINT
GSV
ServoFaultBits
DINT
GSV
ServoOutputLevel
REAL
GSV
3-37
Atributo: ServoStatusBits
Instruo: GSV
Descrio: 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 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 A posio real do eixo quando se inicia um novo movimento comandado para o eixo. A posio de comando do eixo quando se inicia um novo movimento comandado para o eixo. 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. A posio real de um eixo quando a instruo MGSP Motion Group Strobe Position (Posio da Sonda do Grupo de Movimento) executada. A posio de comando de um eixo quando a instruo MGSP Motion Group Strobe Position (Posio da Sonda do Grupo de Movimento) executada. O mestre faz o offset quando a instruo Motion Group Strobe Position (MGSP) executada. Especificado em unidades de posio do eixo mestre. 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) 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 O valor de acelerao medido durante a instruo MRAT Motion Run Axis Tuning (Ajuste do Eixo de Operao de Movimento). O tempo de acelerao medido durante a instruo MRAT Motion Run Axis Tuning (Ajuste do Eixo de Operao de Movimento).
ServoStatusUpdateBits
DINT
GSV
StrobeActualPosition
REAL
GSV
StrobeCommandPosition
REAL
GSV
StrobeMasterOffset
REAL
GSV
TestDirectionForward
SINT
GSV
TestStatus
INT
GSV
TuneAcceleration TuneAccelerationTime
REAL REAL
GSV GSV
3-38
Descrio: O valor de desacelerao medido durante a instruo MRAT Motion Run Axis Tuning (Ajuste do Eixo de Operao de Movimento). O tempo de desacelerao medido durante a instruo MRAT Motion Run Axis Tuning (Ajuste do Eixo de Operao de Movimento). O tempo de elevao do eixo medido durante a instruo MRAT Motion Run Axis Tuning (Ajuste do Eixo de Operao de Movimento). 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). 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 A largura de faixa do inversor, conforme calculado a partir das medies do controlador realizadas durante a ltima instruo MRAT Motion Run Axis Tuning. 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 A velocidade mxima iniciada pela instruo MRAT Motion Run Axis Tuning (Ajuste do Eixo de Operao de Movimento). O limite de percurso usado pela instruo MRAT Motion Run Axis Tuning para limitar a ao da ao durante o ajuste. A referncia de velocidade atual para a malha de servovelocidade para um eixo. A diferena entre a velocidade real e a comandada de um eixo do servo. A velocidade real do eixo estimada pelo servomdulo. A soma do erro de velocidade para um eixo especificado. A posio de observao do eixo.
TuneStatus
INT
GSV
TuneVelocityBandwidth
REAL
GSV
TuningConfigurationBits
DINT
GSV SSV
3-39
ProductCode
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. Nmero serial do dispositivo. O nmero serial atribudo quando o dispositivo construdo.
SerialNumber
DINT
GSV
3-40
Atributo: Status
Instruo: GSV
Descrio: 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 Fornecedor
INT INT
GSV GSV
Identifica o dispositivo como um controlador. Controlador = 14 Identifica o fornecedor do dispositivo. Allen-Bradley = 0001
3-41
2 3
4 5 6
7 8-9
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.
3-42
INT[19]
GSV
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 SINT GSV
Habilita a deteco de mensagem duplicada. Valor: Significado: 0 deteco de mensagem duplicada desabilitada diferente de zero deteco de mensagem duplicada desabilitada Habilita funcionalidade de resposta incorporada (somente ponto-a-ponto). Valor: Significado: 0 iniciado somente depois que um recebido (padro) 1 habilitado incondicionalmente 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. 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 Especifica o esquema de deteco de erro. Valor: Significado: 0 BCC (padro) 1 CRC
EmbeddedResponseEnable
SINT
GSV
ENQTransmitLimit
SINT
GSV
EOTSuppression
SINT
GSV
ErrorDetection
SINT
GSV
3-43
Atributo: MasterMessageTransmit
Instruo: GSV
Descrio: 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. 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. 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. 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. 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). Endereo atual da estao da porta serial. Valor vlido 0-254. Ajuste inicial 0. 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). Nmero de vezes para reenviar uma mensagem sem obter um reconhecimento (somente mestre e escravo). Valor vlido 0-127. Ajuste inicial 3. Valor pendente para o atributo ACKTimeout. Valor pendente para o atributo DuplicateDetection. Valor pendente para o atributo EmbeddedResponse. Valor pendente para o atributo ENQTransmitLimit. Valor pendente para o atributo EOTSuppression. Valor pendente para o atributo ErrorDetection. Valor pendente para o atributo NormalPollGroupSize. Valor pendente para o atributo MasterMessageTransmit.
NAKReceiveLimit
SINT
GSV
NormalPollGroupSize
INT
GSV
PollingMode
SINT
GSV
ReplyMessageWait
DINT
GSV
StationAddress SlavePollTimeout
INT DINT
GSV GSV
TransmitRetries
SINT
GSV
PendingACKTimeout PendingDuplicateDetection PendingEmbeddedResponse Enable PendingENQTransmitLimit PendingEOTSuppression PendingErrorDetection PendingNormalPollGroupSize PendingMasterMessage Transmit
3-44
Descrio: Valor pendente para o atributo NAKReceiveLimit. Valor pendente para o atributo PollingMode. Valor pendente para o atributo ReplyMessageWait. Valor pendente para o atributo StationAddress. Valor pendente para o atributo SlavePollTimeout. 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: Configuration Campo: Message Type 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 Communication Path Valor: CIP Generic 0d hex a2 1 deixe em branco deixe em branco 0 deixe em branco percurso de comunicao automtico (1,s onde s = nmero da ranhura do controlador)
3-45
MinorFaultBits
DINT
GSV SSV
3-46
ConnectionRate MessageType
DINT SINT
Port
SINT
TimeoutMultiplier
SINT
GSV SSV
UnconnectedTimeout
DINT
GSV SSV
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.
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 MessageType Source tag_a 0
SSV Set System Value Class name MESSAGE Instance name msg_1 Attribute Name ConnectionPath Source msg_1_path[0] 6
SSV Set System Value Class name MESSAGE Instance name msg_1 Attribute Name MessageType Source msg_1_type 2
msg_1.EN /
MSG Type - CIP Data Table Write Message Control msg_1 ...
EN DN ER
42614
Onde:
: mensagem cujo atributo voc quer mudar tag que armazena o valor do atributo MessageType tag que armazena um 0 tag de matriz que armazena o novo caminho de conexo para a mensagem
3-48
3-49
Descrio: Fornece o nmero de instncia deste objeto MODULE. 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. 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.
Mode
INT
GSV SSV
3-50
GSV GSV SSV GSV SSV Estilo: Decimal Decimal Decimal Decimal Hexadecimal GSV SSV GSV SSV Estilo: Decimal Decimal Decimal Decimal Hexadecimal GSV SSV
3-51
3-52
DataBits
SINT
GSV
Paridade
SINT
GSV
RTSOffDelay
INT
GSV
RTSSendDelay
INT
GSV
StopBits
SINT
GSV
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:
3-53
Campo: Message Type 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
0d hex
6f hex 1 deixe em branco deixe em branco 0 deixe em branco percurso de comunicao automtico (1,s onde s = nmero da ranhura do controlador)
Communication
Path
3-54
MaxScanTime MinInterval
DINT DINT[2]
Watchdog
DINT
3-55
CurrentValue
DINT[2]
GSV SSV
DateTime
DINT[7]
GSV SSV
3-56
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.
3-57
Com base no status de SW.1, coloque o valor apropriado no atributo disableflag do programa discrete.
3-58
Notas:
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: comparar valores com base em uma expresso testar se dois valores so iguais testar se um valor maior ou igual a um segundo valor testar se um valor maior do que um segundo valor testar se um valor menor ou igual a um segundo valor testar se um valor menor do que um segundo valor testar se um valor est entre outros dois valores passar dois valores por uma mscara e testar se os mesmos so iguais testar se um valor no igual a um segundo valor Use esta instruo: CMP EQU GEQ GRT LEQ LES LIM MEQ NEQ Consulte pgina: 4-2 4-7 4-11 4-15 4-19 4-23 4-27 4-33 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.
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.
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
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-3
avalie a expresso
a expresso verdadeira
a expresso falsa
fim
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: diferente de zero zero A sada da condio da linha definida em: verdadeira falsa
4-4
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
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: + * / = < <= > >= <> ** ABS ACS AND ASN ATN COS Descrio: adio subtrao/negativo multiplicao diviso igual menor do que menor ou igual a maior do que maior ou igual a diferente de expoente (x elevado a y) valor absoluto arco co-seno bitwise AND arco seno arco tangente co-seno timo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL REAL DINT REAL REAL REAL MOD NOT OR RAD SIN SQR TAN TOD TRN XOR Operador: DEG FRD LN LOG Descrio: radianos para graus BCD para inteiro natural log logaritmo na base de 10 mdulo-diviso bitwise complemento bitwise OR graus para radianos seno raiz quadrada tangente inteiro para BCD truncado bitwise exclusivo OR timo: DINT, REAL DINT REAL REAL DINT, REAL DINT DINT DINT, REAL REAL DINT, REAL REAL DINT DINT, REAL DINT
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: um operando dois operandos Use esse formato: operador (operando) operand_a operator operand_b Exemplos: ABS(tag_a)
(negativo), NOT
*, /, MOD <, <=, >, >=, =
(subtrao), +
AND XOR OR
4-6
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Igual a (EQU)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
Operando: Source A
Tipo: SINT INT DINT REAL tipo de string SINT INT DINT REAL tipo de string
Notas:
Source B
imediato tag
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.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-7
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL BOOL Descrio: A instruo produziu um resultado vlido. 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).
4-8
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Source A = Source B
sim
no
fim
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. 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
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.
4-10
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
Operando: Source A
Tipo: SINT INT DINT REAL tipo de string SINT INT DINT REAL tipo de string
Notas:
Source B
imediato tag
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.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-11
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL BOOL Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Isto equivalente sada da condio da linha para a instruo GEQ de Lgica Ladder.
Os valores hexadecimais dos caracteres determinam se um string menor ou maior que outro string. Para o cdigo hexadecimal de caracter, consulte a parte de trs deste manual. Quando os dois strings so organizados como em uma lista telefnica, a ordem dos strings determina qual maior.
Caracteres ASCII 1ab
m e n o r q u e m a i o r q u e
Cdigos Hexadecimais $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B
1b A AB B a ab
4-12
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Source A Source B
sim
no
fim
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
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
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.
4-14
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
Operando: Source A
Tipo: SINT INT DINT REAL tipo de string SINT INT DINT REAL tipo de string
Notas:
Source B
imediato tag
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.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-15
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL BOOL Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Isto equivale sada da condio da linha para instruo GRT de Lgica Ladder.
Os valores hexadecimais dos caracteres determinam se um string menor ou maior que outro string. Para o cdigo hexadecimal de caracter, consulte a parte de trs deste manual. Quando os dois strings so organizados como em uma lista telefnica, a ordem dos strings determina qual maior.
Caracteres ASCII 1ab
m e n o r q u e m a i o r q u e
Cdigos Hexadecimais $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B
1b A AB B a ab
4-16
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
sim
no
fim
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
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
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.
4-18
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
Operando: Source A
Tipo: SINT INT DINT REAL tipo de string SINT INT DINT REAL tipo de string
Notas:
Source B
imediato tag
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.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-19
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL BOOL Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Isto equivale sada da condio da sada para a instruo LEQ de Lgica Ladder.
Os valores hexadecimais dos caracteres determinam se um string menor ou maior que outro string. Para o cdigo hexadecimal de caracter, consulte a parte de trs deste manual. Quando os dois strings so organizados como em uma lista telefnica, a ordem dos strings determina qual maior.
Caracteres ASCII 1ab
m e n o r q u e m a i o r q u e
Cdigos Hexadecimais $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B
1b A AB B a ab
4-20
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Source A Source B
sim
no
fim
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
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
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.
4-22
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
Operando: Source A
Tipo: SINT INT DINT REAL tipo de string SINT INT DINT REAL tipo de string
Notas:
Source B
imediato tag
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.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-23
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL BOOL Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Isto equivale sada da condio da linha da instruo LES de Lgica Ladder.
Os valores hexadecimais dos caracteres determinam se um string menor ou maior que outro string. Para o cdigo hexadecimal de caracter, consulte a parte de trs deste manual. Quando os dois strings so organizados como em uma lista telefnica, a ordem dos strings determina qual maior.
Caracteres ASCII 1ab
m e n o r q u e m a i o r q u e
Cdigos Hexadecimais $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B
1b A AB B a ab
4-24
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
sim
no
fim
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
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
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.
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.
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.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-27
Descrio: Valor do limite inferior. vlido = qualquer flutuante Valor para comparar com os limites vlido = qualquer flutuante Valor do limite superior. vlido = qualquer flutuante
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL BOOL Descrio: A instruo produziu um resultado vlido. 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: igual a ou entre os limites diferente ou fora dos limites igual a ou fora dos limites diferente ou dentro dos limites A sada da condio da linha definida em: verdadeira falsa verdadeira falsa
Os inteiros com sinal mudam do nmero positivo mximo para o nmero negativo mximo quando o bit mais significativo estiver energizado. Por exemplo, em inteiros com 16 bits (tipo INT), o inteiro positivo mximo 32.767, que representado em hexadecimal como 16#7FFF (bits 0 a 14 esto todos energizados). Se voc incrementar esse nmero em um, o resultado 16#8000 (bit 15 est energizado). Para inteiros com sinal, o hexadecimal 16#8000 igual ao decimal 32.768. Incremente a partir desse ponto at que todos os 16 bits estejam energizados e terminem em 16#FFFF, que igual ao decimal 1. Isto pode ser representado como uma linha de nmero circular (consulte os seguintes diagramas). A instruo LIM comea no Limite Inferior e incrementa no sentido horrio at atingir o Limite Superior. Qualquer valor de teste na faixa de sentido horrio, desde o Limite Inferior at o Limite Superior define a sada da condio da linha como verdadeira. Qualquer valor de teste na faixa de sentido horrio desde o Limite Superior at o Limite Inferior define a sada da condio da linha como falsa.
4-28
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
+1 limite inferior
+1 limite superior
limite superior
limite inferior
(n+1)
+n
n = valor mximo
avalie limite
a comparao verdadeira
a comparao falsa
fim
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-29
exemplo 2
Limite Inferior Limite Superior Quando o valor 0 ou valor 100, light_1 energizada.
4-30
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
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.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
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.
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.
4-32
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL BOOL Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Isto equivale sada da condio da linha para a instruo MEQ de Lgica Ladder.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-33
sim
no
fim
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).
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).
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-35
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).
4-36
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Diferente de (NEQ)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
Operando: Source A
Tipo: SINT INT DINT REAL tipo de string SINT INT DINT REAL tipo de string
Notas:
Source B
imediato tag
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.
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-37
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL BOOL Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Isto equivale sada da condio da linha para a instruo NEQ de Lgica Ladder.
Os strings no so iguais se qualquer de seus caracteres no corresponderem. Os caracteres ASCII so sensveis ao contexto. O A maisculo ($41) no igual ao a minsculo ($61).
Caracteres ASCII 1ab
m e n o r q u e m a i o r q u e
Cdigos Hexadecimais $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B
1b A AB B a ab
4-38
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Source A = Source B
sim
no
fim
Se value_1 no for igual a value_2, a sada da condio da linha definida como verdadeira.
Se string_6 no for igual a string_8, a sada da condio da linha definida como verdadeira. 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
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.
4-40
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
Notas:
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
4-41
4-42
Instrues de Comparao (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)
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: avaliar uma expresso somar dois valores subtrair dois valores multiplicar dois valores dividir dois valores determinar o resto aps a diviso de um valor por outro calcular a raiz quadrada de um valor considerar o sinal oposto de um valor considerar o valor absoluto de um valor Use esta instruo: CPT ADD SUB MUL DIV MOD SQR NEG ABS Consulte pgina: 5-2 5-6 5-9 5-12 5-15 5-19 5-23 5-26 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.
5-2
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Clculo (CPT)
Idiomas disponveis:
Lgica Ladder
Expresso
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
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-3
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.
5-4
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Operadores vlidos
Operador: + * / ** ABS ACS AND ASN ATN COS DEG FRD Descrio: adio subtrao/negativo multiplicao diviso expoente (x elevado a y) valor absoluto arco co-seno bitwise AND arco seno arco tangente co-seno radianos para graus BCD para inteiro timo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL REAL DINT REAL REAL REAL DINT, REAL DINT MOD NOT OR RAD SIN SQR TAN TOD TRN XOR Operador: LN LOG Descrio: natural log logaritmo na base de 10 mdulo-diviso bitwise complemento bitwise OR graus para radianos seno raiz quadrada tangente inteiro para BCD truncado bitwise exclusivo OR timo: REAL REAL DINT, REAL DINT DINT DINT, REAL REAL DINT, REAL REAL DINT DINT, REAL DINT
Formatao de expresses
Para cada operador usado em uma expresso, necessrio fornecer um ou dois operandos (tags ou valores imediatos). Use a tabela a seguir para formatar operadores e operandos dentro de uma expresso:
Para operadores que operam com: um operando dois operandos Use esse formato: operador (operando) operand_a operator operand_b Exemplos: ABS(tag_a)
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-5
(negativo), NOT
*, /, MOD
(subtrao), +
AND XOR OR
5-6
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Adio (ADD)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
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
SourceA SourceB
REAL REAL
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-7
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta sada.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo ADD soma float_value_1 e float_value_2 e coloca o resultado em add_result.
5-8
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
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.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-9
Subtrao (SUB)
Linguagens Disponveis:
gica Ladder
Bloco de Funo
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
SourceA SourceB
REAL REAL
5-10
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta sada.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo SUB subtrai float_value_2 de float_value_1 e coloca o resultado em subtract_result.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-11
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.
5-12
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Multiplicao (MUL)
Linguagens
Lgica Ladder
Bloco de Funo
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
Source A Source B
REAL REAL
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-13
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmticos so energizados para esta sada.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma Execuo de Lgica Ladder:
Condio: pr-varredura entrada se a condio da linha for falsa entrada se a condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. Destino = Fonte B x Fonte A A sada da condio da linha definida como verdadeira.
Quando habilitada, a instruo MUL multiplica float_value_1 por float_value_2 e coloca o resultado em multiply_result.
5-14
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
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.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-15
Diviso (DIV)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
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
Source A Source B
REAL REAL
5-16
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmticos so energizados para esta sada.
5 3 1 5.0 3 2
arredondada
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: todos os operandos so inteiros (SINT, INT ou DINT) pelo menos um operando REAL SINT, INT ou DINT REAL positivo negativo positivo negativo E o destino : E o resultado : Logo, o destino configurado como: Source A -1 0 1.$ (positivo infinito) -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.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-17
Quando habilitada, a instruo DIV divide float_value_1 por float_value_2 e coloca o resultado em divide_result.
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.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-19
Mdulo (MOD)
Linguagens
Lgica Ladder
Bloco de Funo
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
Source A Source B
REAL REAL
5-20
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmticos so energizados para esta sada.
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.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-21
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.
5-22
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
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.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-23
Linguagens
Lgica Ladder
Bloco de Funo
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
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmticos so definidos para esta sada.
5-24
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
3 1 3.0 2
Se Source for negativo, a instruo retira o valor absoluto de Source, antes de calcular a raiz quadrada.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Destination =
Source
Quando habilitada, a instruo SQR calcula a raiz quadrada de value_1 e coloca o resultado em sqr_result .
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-25
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.
5-26
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Negao (NEG)
Linguagens
Lgica Ladder
Bloco de Funo
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
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmticos so energizados para esta sada.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-27
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo NEG altera o sinal de value_1 e coloca o resultado em negate_result.
5-28
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
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.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-29
Linguagens
Lgica Ladder
Bloco de Funo
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
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmticos so energizados para esta sada.
5-30
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
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.
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
5-31
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.
5-32
Instrues Matemticas/Clculo (CPT, ADD, SUB, MUL, DIV, MOD, SQR, NEG, ABS)
Notas:
Captulo
Instrues de Movimentao/Lgica
(MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
Introduo
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.
6-2
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
Movimentao (MOV)
Linguagens Disponveis:
Lgica Ladder
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: pr-varredura entrada se a condio da linha for falsa entrada se a condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. A instruo copia Source em Destination. A sada da condio da linha definida como verdadeira.
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-3
6-4
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
Linguagens Disponveis:
Lgica Ladder
A instruo MVM copia Source em Destination e permite que parte dos dados sejam mascarados.
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.
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-5
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma Execuo de Lgica Ladder:
Condio: pr-varredura entrada se a condio da linha for falsa entrada se a condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. 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.
6-6
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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
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.
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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: Formato: estrutura Descrio: estrutura MVMT tag do bloco FBD_MASKED_MOVE
Target
DINT
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da instruo de movimentao mascarada. Os flags de status aritmtico so energizados para esta sada.
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.
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: pr-varredura primeira varredura da instruo primeira operao da instruo EnableIn desenergizado EnableIn energizado Ao: Nenhuma ao tomada. Nenhuma ao tomada. Nenhuma ao tomada. EnableOut desenergizado. A instruo executa. EnableOut energizado.
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
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
6-10
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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.
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) tag nmero do bit (nmero do bit menos significativo) onde a movimentao foi iniciada deve estar dentro da faixa vlida de tipos de dados Source tag para onde os bits sero movidos
Destination
Bit de Destino
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
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
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-11
Bit Destination
Bit Source
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
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 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.
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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: Formato: estrutura Descrio: estrutura BTDT tag do bloco FBD_BIT_FIELD_DISTRIBUTE
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da operao da movimentao do bit. Os flags de status aritmtico so energizados para esta sada.
6-14
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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: pr-varredura primeira varredura da instruo primeira operao da instruo EnableIn desenergizado EnableIn energizado Ao: Nenhuma ao tomada. Nenhuma ao tomada. Nenhuma ao tomada. EnableOut desenergizado. A instruo executa. EnableOut energizado.
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-15
function_block_C
function_block_B
function_block_D
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
6-16
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
Zeramento (CLR)
Linguagens Disponveis:
Lgica Ladder
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: pr-varredura entrada se a condio da linha for falsa entrada se a condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. A instruo zera Destination. A sada da condio da linha definida como verdadeira.
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-17
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
A instruo AND realiza uma operao bitwise AND usando os bits em Source A e Source B e coloca o resultado no Destino.
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
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: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Os flags de status aritmtico so energizados para esta sada.
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: pr-varredura entrada se a condio da linha for falsa entrada se a condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. A instruo realiza uma operao bitwise AND. A sada da condio da linha definida como verdadeira.
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-19
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
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
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-21
Bitwise OR (OR)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
A instruo OR realiza uma operao bitwise OR usando os bits em Source A e Source B e coloca o resultado em Destination.
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
SourceA SourceB
DINT DINT
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: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Os flags de status aritmtico so energizados para esta sada.
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
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.
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
6-24
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-25
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
A instruo XOR realiza uma operao bitwise XOR usando os bits em Source A e Source B e coloca o resultado no Destino.
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
SourceA SourceB
DINT DINT
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: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Os flags de status aritmticos so energizados para esta sada.
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
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-27
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
6-28
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, 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.
Um tag SINT ou INT convertido para um valor DINT por preenchimento com zero. Destination SINT INT DINT tag armazena o resultado
Source
DINT
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da instruo. Os flags de status aritmtico so energizados para esta sada.
6-30
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
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
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
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
6-31
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
6-32
Instrues de Movimentao/Lgica (MOV, MVM, BTD, MVMT, BTDT, CLR, AND, OR, XOR, NOT)
Notas:
Captulo
Introduo
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.
7-2
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Para as instrues FAL e FSC, o modo informa o controlador sobre como distribuir a operao de matriz.
Se voc quiser: operar em todos os elementos especificados em uma matriz antes de prosseguir para a prxima instruo distribuir a operao de matriz em vrias varreduras inserir o nmero de elementos para operar por varredura (1-2147483647) manipular um elemento da matriz cada vez que a entrada da condio da linha passa de falsa para verdadeira Selecione este modo: All (Todos) Numerical (Numrico) Incremental (Incremento)
16639
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
bit .EN
operao completa
40010
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
40013
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.
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.
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
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
bit .EN
bit DN
varredura da instruo
40014
operao completa
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.
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-7
Linguagens Disponveis:
lgica Ladder
A instruo FAL realiza as operaes de cpia, aritmtica, lgica e funo nos dados armazenados em uma matriz.
Destination
tag
Expresso
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: .EN .DN .ER Tipo de Dados: BOOL BOOL BOOL Descrio: O bit habilitado indica que a instruo FAL est habilitada. O bit Executado energizado quando a instruo operou no ltimo elemento (.POS = .LEN). 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. O comprimento especifica o nmero dos elementos na matriz na qual a instruo FAL opera. A posio contm a posio do elemento atual que a instruo est acessando.
.LEN .POS
DINT DINT
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.
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).
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-9
bit .DN = 0
no
bit .DN = 1 bit .EN desenergizado bit .ER desenergizado bit .DN desenergizado valor .POS desenergizado
no
sim
falha grave
.POS = .POS + 1
sim
.LEN = 0 no
sim no
modo .LEN> bit .DN energizado bit .EN energizado sim bit .DN energizado bit .EN desenergizado modo numrico
no
modo .LEN>
pgina 7-14
fim
7-10
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Ao:
.LEN < 0 ou .POS < 0 examinar bit .ER bit .ER = 0 no bit .DN = 0 .LEN = 0 sim
sim
pgina7-14
falha grave modo numrico no
no
modo INC
modo ALL
comum
pgina 7-12
pgina 7-13
loop_count = loop_count 1
no
.POS = .POS + 1
avaliar a expresso
no
no
.POS = .POS + 1
fim
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-11
Condio:
modo INC
Ao:
sim
sim
bit .DN energizado bit .EN energizado sada da condio da linha definida como verdadeira
comum
pgina 7-11
fim
7-12
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Condio:
modo ALL
Ao:
bit = 1
.POS = .POS + 1
.POS .LEN no
sim
sim
pgina 7-11
fim
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-13
Condio:
modo numrico
Ao:
.POS = .POS + 1
bit = 1
.POS .LEN no
sim
sim
modo .LEN>
no
fim
sim
comum
pgina 7-11
7-14
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Destination array_1[control_2.pos]
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]
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.
Destination array_1[control_2.pos]
Quando habilitada, a instruo FAL adiciona value_1 e value_2 e armazena o resultado na posio atual de array_1.
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.
Destination array_3[control_1.pos]
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.
Destination value_2
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.
Destination value_1
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: + * / ** ABS ACS AND ASN ATN COS DEG FRD Descrio: adio subtrao/negativo multiplicao diviso expoente (x elevado a y) valor absoluto arco co-seno bitwise AND arco seno arco tangente co-seno radianos para graus BCD para inteiro timo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL REAL DINT REAL REAL REAL DINT, REAL DINT MOD NOT OR RAD SIN SQR TAN TOD TRN XOR Operador: LN LOG Descrio: natural log logaritmo na base de 10 mdulo-diviso bitwise complemento bitwise OR graus para radianos seno raiz quadrada tangente inteiro para BCD truncado bitwise exclusivo OR timo: REAL REAL DINT, REAL DINT DINT DINT, REAL REAL DINT, REAL REAL DINT DINT, REAL DINT
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: um operando dois operandos Use esse formato: operador (operando) operand_a operator operand_b Exemplos: ABS(tag_a)
(negativo), NOT
*, /, MOD
(subtrao), +
AND XOR OR
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-19
Linguagens Disponveis:
Lgica Ladder
Descrio: estrutura de controle para a operao nmero de elementos na matriz a serem manipulados offset na matriz valor inicial normalmente 0 como distribuir a operao selecione INC, ALL ou insira um nmero uma expresso composta por tags e/ou valores imediatos separados por operadores
42577
Mode
Expresso
imediato tag
Um tag SINT ou INT convertido para um valor DINT pela extenso de sinal.
Estrutura:
Mnemnico: .EN .DN .ER .IN .FD .LEN .POS Tipo de Dados: BOOL BOOL BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo FSC est habilitada. O bit Executado energizado quando a instruo operou no ltimo elemento (.POS = .LEN). O bit de erro no modificado. O bit inibido indica que a instruo FSC detectou uma comparao verdadeira. necessrio zerar esse bit para continuar a operao de busca. O bit encontrado indica que a instruo FSC detectou uma comparao verdadeira. O comprimento especifica o nmero dos elementos na matriz na qual a instruo opera. A posio contm a posio do elemento atual que a instruo est acessando.
7-20
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-21
bit .DN = 0
no
bit .DN = 1
bit .EN desenergizado bit .ER desenergizado bit .DN desenergizado valor .POS desenergizado
no
sim
falha grave
.POS = .POS + 1
sim
.LEN = 0 no
sim no
modo .LEN> bit .DN energizado bit .EN energizado sim bit .DN energizado bit .EN desenergizado modo numrico
no
modo .LEN>
pgina 7-14
fim
7-22
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Ao:
.LEN < 0 ou .POS < 0 examinar bit .ER bit .ER = 1 examinar bit .IN bit .DN = 1 bit .IN = 0 sim bit .DN energizado bit .EN energizado examinar bit .DN bit .DN = 1 comum bit .DN = 0 bit .ER = 0 no bit .DN = 0 .LEN = 0
sim
pgina 7-27
falha grave modo numrico no
no
modo INC
modo ALL
pgina 7-25
pgina 7-26
loop_count = loop_count 1
no
.POS = .POS + 1
avaliar comparao
correspondncia sim .POS = .POS + 1 bit .EN energizado bit .FD energizado bit .IN energizado
no
no
.POS = .POS + 1
fim
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-23
Condio:
modo INC
Ao:
sim
sim
bit .DN energizado bit .EN energizado comum sada da condio da linha definida como verdadeira
pgina 7-24
fim
7-24
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Condio:
modo ALL
Ao:
bit = 1
.POS = .POS + 1
.POS .LEN no
sim
sim
pgina 7-24
fim
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-25
Condio:
modo numrico
Ao:
.POS = .POS + 1
bit = 1
.POS .LEN no
sim
sim
modo .LEN>
no
modo .LEN sim bit .DN energizado bit .EN energizado sada da condio da linha definida como verdadeira
bit .EN energizado loop_count = .LEN .POS bit .FD desenergizado .POS = .POS 1
fim
modo loop_count no
sim
comum
pgina 7-24
7-26
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Quando habilitada, a instruo FSC compara cada um dos 10 primeiros elementos em array_1 com os elementos correspondentes em array_2.
array_1 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000001111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111
array_2 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 11111111111111110000000000000000 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111
control_3.pos 0 1 2 3 4 5 6 7 8 9 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
Quando habilitada, a instruo FSC compara MySearchKey com 10 elementos em array_1. MySearchKey referncia 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 11111111111111110000000000000000 11111111111111110000000000000000 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 11111111111111111111111111111111 control_3.pos 0 1 2 3 4 5 6 7 8 9 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.
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.
7-28
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Operadores vlidos
Operador: + * / = < <= > >= <> ** ABS ACS AND ASN ATN COS Descrio: adio subtrao/negativo multiplicao diviso igual menor do que menor ou igual a maior do que maior ou igual a diferente de expoente (x elevado a y) valor absoluto arco co-seno bitwise AND arco seno arco tangente co-seno timo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL REAL DINT REAL REAL REAL MOD NOT OR RAD SIN SQR TAN TOD TRN XOR Operador: DEG FRD LN LOG Descrio: radianos para graus BCD para inteiro natural log logaritmo na base de 10 mdulo-diviso bitwise complemento bitwise OR graus para radianos seno raiz quadrada tangente inteiro para BCD truncado bitwise exclusivo OR timo: DINT, REAL DINT REAL REAL DINT, REAL DINT DINT DINT, REAL REAL DINT, REAL REAL DINT DINT, REAL DINT
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-29
(negativo), NOT
*, /, MOD <, <=, >, >=, =
(subtrao), +
AND XOR OR
7-30
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Linguagens Disponveis:
Lgica Ladder
As instrues COP e CPS copiam o(s) valor(es) em Source para Destination. Source permanece inalterado.
Operando
? ? ?
Tipo: SINT INT DINT REAL estrutura SINT INT DINT REAL estrutura DINT
Formato: tag
Descrio: elemento inicial para cpia Importante: os operandos Source e Destination devem ter o mesmo tipo de dado ou podem ocorrer resultados inesperados. 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. nmero de elementos em Destination a serem copiados
Source
Destination
tag
Length
imediato tag
Operandos do Bloco de Funo: Estas instrues no esto disponveis no bloco de funo. Descrio: Durante a execuo das instrues COP e CPS, outras aes do
controlador podem tentar interromper a operao de cpia e mudar os dados de fonte ou destino:
Se a fonte ou destino for: E voc quiser: previnir que os dados mudem durante a operao de cpia Ento selecione: CPS Notas:
tag produzido tag consumido dados de E/S dados que outra tarefa pode sobrescrever
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.
permitir que os dados mudem durante a operao de cpia nenhum dos acima
COP COP
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:
7-32
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Condio: pr-varredura entrada da condio da linha for falsa entrada da condio da linha for verdadeira
Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
end_address = start_address + (Length nmero de bytes em um elemento em destination)
sim
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
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-33
Tanto array_4 como array_5 so o mesmo tipo de dados. Quando habilitada, a instruo COP copia os primeiros 10 elementos de array_4 nos primeiros 10 elementos de array_5.
exemplo 2
Quando habilitada, a instruo COP copia a estrutura timer_1 no elemento 5 de array_timer. A instruo copia somente uma estrutura para um elemento da matriz.
exemplo 3 A matriz project_data (100 elementos) armazena uma variedade de valores que mudam em momentos 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.
CPS Synchronous Copy File Source project_data[0] Dest produced_array[0] Length 100
42578
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.
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] Ento, a instruo copia os valores timer[1] em timer[2] Depois, a instruo copia os valores timer[2] em timer[3] Ento, a instruo copia os valores timer[3] em timer[4]
array_timer[1]
array_timer[2]
array_timer[3]
array_timer[10]
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-35
Linguagens Disponveis:
Lgica Ladder
A instruo FLL preenche os elementos de uma matriz com o valor Source. Source permanece inalterado.
Destination
tag
Length
DINT
imediato
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.
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: SINT, INT, DINT ou REAL SINT, INT, DINT ou REAL SINT, INT, DINT ou REAL SINT, INT, DINT ou REAL SINT INT DINT REAL E Destination for: SINT INT DINT REAL estrutura estrutura estrutura estrutura Source convertido para: SINT INT DINT REAL SINT (no convertido) INT (no convertido) DINT (no convertido) REAL (no convertido)
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-37
Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
sim
no
source_address = Source
destination_address = end_address
sim
no
destination_address = destination_address + 1
fim
7-38
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Valor (value_1) Source: 16#80 (128) 16#1234 5678 16#01 2.0 16#01
Destination (dest_1) valor depois de FLL: 16#FFFF FF80 (128) 16#78 1.0 16#0002 16#0101 0101 16#0101 0101 16#0101 0101 16#0001 0001 16#0001 0001 16#0001 0001 16#0000 0001 16#0000 0001 16#0000 0001
INT
16#0001
TIMER
DINT
16#0000 0001
TIMER
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-39
Linguagens Disponveis:
Lgica Ladder
Dimension to vary
imediato (0, 1, 2)
Destination
tag
estrutura de controle para a operao nmero de elementos da matriz para a mdia elemento atual na matriz valor inicial normalmente 0
Estrutura:
Mnemnico: .EN .DN .ER Tipo de Dados: BOOL BOOL BOOL Descrio: O bit habilitado indica que a instruo AVE est habilitada. O bit executado energizado quando a instruo operou no ltimo elemento na Matriz (.POS = .LEN). 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. O comprimento especifica o nmero dos elementos na matriz na qual a instruo opera. A posio contm a posio do elemento atual que a instruo est acessando.
.LEN .POS
DINT DINT
7-40
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-41
bit .DN = 0
bit .DN = 1
bit .EN desenergizado bit .ER desenergizado bit .DN desenergizado valor .POS desenergizado
fim
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.
7-42
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
dimenso 1 0 20 15 10 5 1 19 14 9 4 2 18 13 8 3 3 17 12 7 2 4 16 11 6 1
os
b su ri t sc
0 dimenso 0 1 2 3
dimenso 1 0 20 15 10 5 1 19 14 9 4 2 18 13 8 3 3 17 12 7 2 4 16 11 6 1
os
b su ri t sc
0 dimenso 0 1 2 3
AVE = 5 + 4 + 3 + 2 + 1 = 15 = 3 ------------------------------------------5 5
dint_ave = 3
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
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.
Dimension to vary
imediato (0, 1, 2)
Estrutura:
Mnemnico: .EN .DN .ER .LEN .POS Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo SRT est habilitada. O bit executado energizado quando os elementos especificados forem classificados. O bit de erro energizado quando uma das condies .LEN < 0 ou .POS < 0 tambm gerar uma falha grave. O comprimento especifica o nmero dos elementos na matriz na qual a instruo opera. 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.
7-44
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
bit .DN = 0
bit .DN = 1
bit .EN desenergizado bit .ER desenergizado bit .DN desenergizado valor .POS desenergizado
fim
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-45
Antes
dimenso 1 0 20 15 10 5 1 19 14 9 4 2 18 13 8 3 3 17 12 7 2 4 16 11 6 1
os b su ri t sc
Depois
dimenso 1 0 20 15 10 5 1 19 14 9 4 3 8 13 18 2 3 17 12 7 2 4 16 11 6 1
b su os rit sc
0 dimenso 0 1 2 3
0 dimenso 0 1 2 3
exemplo 2
int _array DINT[4,5]
Antes
dimenso 1 0 20 15 10 5 1 19 14 9 4 2 18 13 8 3 3 17 12 7 2 4 16 11 6 1
os su t cri bs
Depois
dimenso 1 0 20 15 6 5 1 19 14 7 4 2 18 13 8 3 3 17 12 9 2 4 16 11 10 1
os su t cri bs
0 dimenso 0 1 2 3
0 dimenso 0 1 2 3
7-46
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
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.
Um tag SINT ou INT convertido para um valor DINT pela extenso de sinal. Dimension to vary DINT imediato (0, 1, 2)
Estrutura:
Mnemnico: .EN .DN .ER Tipo de Dados: BOOL BOOL BOOL Descrio: O bit habilitado indica que a instruo STD est habilitada. O bit executado energizado quando o clculo concludo. 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. O comprimento especifica o nmero dos elementos na matriz na qual a instruo opera. A posio contm a posio do elemento atual que a instruo est acessando.
.LEN .POS
DINT DINT
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-47
Descrio: O desvio padro calculado de acordo com esta frmula: N 2 [ X( start + i ) AVE ] i = 1 ------------------------------------------------------------------(N 1)
Desvio Padro =
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.
7-48
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
bit .DN = 0
bit .DN = 1
bit .EN desenergizado bit .ER desenergizado bit .DN desenergizado valor .POS desenergizado
fim
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
0 20 15 10 5
1 19 14 9 4
2 18 13 8 3
3 17 12 7 2
4 16 11 6 1
0 dimenso 0 1 2
STD =
real_std = 6,454972
exemplo 2 array_dint DINT[4,5] dimenso 1
b su rit sc os
0 20 15 10 5
1 19 14 9 4
2 18 13 8 3
3 17 12 7 2
4 16 11 6 1
0 dimenso 0 1 2
STD =
20 18 + 19 18 + 18 18 + 17 18 + 16 18 ----------------------------------------------------------------------------------------------------------------------------------------------------------- = 1.581139 5 1
real_std = 1,581139
7-50
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Linguagens Disponveis:
Lgica Ladder
Operando:
? ?? ? ? ??
42622
Tipo:
Formato:
Insira: primeiro elemento de uma matriz na qual a instruo deve ser operada
Source
SINT tag da INT matriz DINT REAL estrutura tipo de string DINT imediato (0, 1, 2)
dimenso a ser usada: Para o tamanho da: primeira dimenso segunda dimenso terceira dimenso Insira: 0 1 2
Tamanho
tag
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.
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-51
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.
Exemplo 2
SIZE Size in Elements Source string_1.DATA[0] '$00' Dim. To Vary 0 Size string_1_size 82
42623
Encontra o nmero de elementos no membro DATA de string_1, que um string. Armazena o tamanho em string_1_size. 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.
Exemplo 3
SIZE Size in Elements Source strings_a[0].DATA[0] '$00' Dim. To Vary 0 Size data_size_a 24
42623
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. Neste exemplo, o membro DATA tem 24 elementos. (A estrutura de string tem um comprimento especificado pelo usurio de 24).
7-52
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Notas:
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-53
7-54
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
7-55
7-56
Instrues Array (File/Miscellaneous) (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE)
Captulo
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: BSL BSR FFL FFU LFL LFU Consulte pgina: 8-2 8-6 8-10 8-16 8-22 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.
8-2
Linguagens Disponveis:
A instruo BSL desloca os bits especificados dentro da Matriz uma posio para a esquerda.
Estrutura:
Mnemnico: .EN .DN .UL .ER .LEN Tipo de Dados: BOOL BOOL BOOL BOOL DINT Descrio: O bit habilitado indica que a instruo BSL est habilitada. O bit executado energizado para indicar que os bits foram deslocados uma posio para a esquerda. O bit de descarga a sada da instruo. O bit .UL armazena o status do bit que foi deslocado fora da faixa dos bits. O bit de erro energizado quando .LEN < 0. 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.
8-3
bit .EN = 1
.LEN = 0
sim
no examinar bit source .LEN < 0 sim bit .ER energizado .source bit = 0 no bit .UL energizado deslocar matriz da esquerda uma posio matriz Bit Source .source bit = 1 bit .UL permanece energizado
bit .UL
fim
8-4
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 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
1 input_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
31 array_dint[1]
0 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.
8-5
Linguagens Disponveis:
A instruo BSR desloca os bits especificados dentro da Matriz uma posio para a direita.
Estrutura:
Mnemnico: .EN .DN .UL .ER .LEN Tipo de Dados: BOOL BOOL BOOL BOOL DINT Descrio: O bit habilitado indica que a instruo BSR est habilitada. O bit executado energizado para indicar que os bits foram deslocados uma posio para a direita. O bit de descarga a sada da instruo. O bit .UL armazena o status do bit que foi deslocado fora da faixa dos bits. O bit de erro energizado quando .LEN < 0. 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.
8-6
bit .EN = 1
.LEN = 0
sim
no examinar bit source .LEN < 0 sim bit .ER energizado .source bit = 0 no bit .UL energizado deslocar matriz da esquerda uma posio Bit Source matriz .source bit = 1 bit .UL permanece energizado
bit .UL
fim
8-7
9 8 7 6 5 4 3 2 1 0 array_dint[0] 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 antes do deslocamento 1 input_1 esses bits foram deslocados direita 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
0 bit .UL
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
1 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.
8-8
Linguagens Disponveis:
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 CONTROL tag da matriz FIFO a ser modificado especifique o primeiro elemento de FIFO no use CONTROL.POS no subscrito
Control
tag
estrutura de controle para a operao geralmente usa o mesmo CONTROL, conforme associado a FFU nmero mximo de elementos que FIFO pode controlar de uma vez prxima localizao em FIFO onde a instruo carrega os dados. valor inicial normalmente 0
Length Position
DINT DINT
imediato imediato
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: .EN .DN .EM .LEN .POS Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo FFL est habilitada. O bit executado energizado para indicar que FIFO est cheio (.POS=LEN). O bit .DN inibe a carga de FIFO at .POS < .LEN. O bit vazio indica que FIFO est vazio. Se .LEN 0 ou .POS < 0, tanto o bit .EM quanto o bit .DN esto energizados. O comprimento especifica o nmero mximo de elementos que FIFO pode controlar de uma vez. A posio identifica a localizao em FIFO onde a instruo carregar o prximo valor.
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
8-10
o bit .EN energizado para evitar uma carga falsa quando a varredura comear
.LEN < 0
sim
no
.POS < 0
sim
no
.POS = 0
sim
.EM energizado
no
.POS .LEN
sim
.DN energizado
no
fim
8-11
Ao:
.LEN < 0
sim
no
.POS < 0
sim
no
.POS = 0
sim
.EM energizado
no
.POS .LEN
sim
.DN energizado
no
fim
8-12
Ao:
.EN = 0
.LEN < 0 no
sim
.LEN < 0 no
sim
.POS < 0
sim
.POS < 0 no
sim
bit .EM energizado .DN energizado .POS .LEN no sim bit .DN energizado
.POS = 0 no
sim
bit .EM energizado .POS ou .LEN > tamanho da matriz no sim falha grave
.POS .LEN no
sim
.POS = .POS 1
FIFO[.POS 1] = source
fim
8-13
antes da carga FIFO array_dint[0] 00000 11111 22222 33333 44444 array_dint[5] 00000 00000 00000 00000 00000 control_1.pos = 5 value_1 = 55555
depois da carga FIFO 00000 11111 22222 33333 44444 55555 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.
8-14
Linguagens Disponveis:
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.
Destination
tag
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 nmero mximo de elementos que FIFO pode controlar de uma vez. prxima localizao em FIFO onde a instruo descarrega os dados. valor inicial normalmente 0
Length Position
DINT DINT
imediato imediato
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: . EU .DN .EM .LEN .POS Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: 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. O bit executado energizado para indicar que FIFO est cheio (.POS=LEN). O bit vazio indica que FIFO est vazio. Se .LEN 0 ou .POS < 0, os bits .EM e .DN estaro energizados. O comprimento especifica o nmero mximo de elementos em FIFO. A posio identifica o fim dos dados que foram carregados em FIFO.
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.
8-16
o bit .EU energizado para evitar uma descarga falsa quando a varredura comear
.LEN < 0
sim
no
.POS < 0
sim
no
.POS = 0
sim
.EM energizado
no
.POS .LEN
sim
.DN energizado
no
fim
8-17
Ao:
.LEN < 0
sim
no
.POS < 0
sim
no
.POS = 0
sim
.EM energizado
no
.POS .LEN
sim
.DN energizado
no
fim
8-18
Ao:
.LEN < 0 no
sim
.LEN < 0
sim
.POS < 0 no
sim
no
.POS < 0 no
sim
sim
falha grave
.POS = 0 no
sim
.POS 1 no
sim
.POS .LEN no
sim
.POS < 1 bit .DN energizado no .POS = .POS 1 Destination = FIFO[0] i=1
sim
Destination = 0
FIFO[i 1] = FIFO[i] i = i +1
8-19
antes da descarga FIFO array_dint[0] 00000 11111 22222 33333 44444 array_dint[5] 55555 00000 00000 00000 00000 control_1.pos = 6
depois da descarga FIFO 11111 22222 33333 44444 55555 00000 00000 00000 00000 00000 control_1.pos = 5 value_2 = 00000
Quando habilitada, a instruo FFU descarrega array_dint[0] em value_2 e desloca os elementos restantes para array_dint.
8-20
Linguagens Disponveis:
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 CONTROL tag da matriz LIFO a ser modificado especifique o primeiro elemento de LIFO no use CONTROL.POS no subscrito
Control
tag
estrutura de controle para a operao geralmente usa o mesmo CONTROL, conforme a LFU associada nmero mximo de elementos que LIFO pode controlar de uma vez. prxima localizao em LIFO onde a instruo carrega os dados. valor inicial normalmente 0
Length Position
DINT DINT
imediato imediato
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: .EN .DN .EM .LEN .POS Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo LFL est habilitada. O bit executado energizado para indicar que LIFO est cheio (.POS = .LEN). O bit .DN inibe a carga de LIFO at .POS < .LEN. O bit vazio indica que LIFO est vazio. Se .LEN 0 ou .POS < 0, tanto o bit .EM quanto o bit .DN esto energizados. O comprimento especifica o nmero mximo de elementos que LIFO pode controlar de uma vez. A posio identifica a localizao em LIFO onde a instruo carregar o prximo valor.
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.
8-22
o bit .EN energizado para evitar uma carga falsa quando a varredura comear
.LEN < 0
sim
no
.POS < 0
sim
no
.POS = 0
sim
.EM energizado
no
.POS .LEN
sim
.DN energizado
no
fim
8-23
Ao:
.LEN < 0
sim
no
.POS < 0
sim
no
.POS = 0
sim
.EM energizado
no
.POS .LEN
sim
.DN energizado
no
fim
8-24
Ao:
.EN = 0
.LEN < 0 no
sim
.LEN < 0 no
sim
.POS < 0
sim
.POS < 0 no
sim
bit .EM energizado .DN energizado .POS .LEN no sim bit .DN energizado
.POS = 0 no
sim
bit .EM energizado .POS ou .LEN > tamanho da matriz no sim falha grave
.POS .LEN no
sim
.POS = .POS 1
LIFO[.POS 1] = source
fim
8-25
antes da carga LIFO array_dint[0] 00000 11111 22222 33333 44444 array_dint[5] 00000 00000 00000 00000 00000 control_1.pos = 5 value_1 = 55555
depois da carga LIFO 00000 11111 22222 33333 44444 55555 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.
8-26
Linguagens Disponveis:
Destination
tag
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 nmero mximo de elementos que LIFO pode controlar de uma vez. prxima localizao em LIFO onde a instruo descarrega os dados. valor inicial normalmente 0
Length Position
DINT DINT
imediato imediato
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: . EU .DN .EM .LEN .POS Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: 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. O bit executado energizado para indicar que LIFO est cheio (.POS=LEN). O bit vazio indica que LIFO est vazio. Se .LEN 0 ou .POS < 0, tanto o bit .EM quanto o bit .DN esto energizados. O comprimento especifica o nmero mximo de elementos que LIFO pode controlar de uma vez. A posio identifica o fim dos dados que foram carregados em LIFO.
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.
8-28
o bit .EU energizado para evitar uma descarga falsa quando a varredura comear
.LEN < 0
sim
no
.POS < 0
sim
no
.POS = 0
sim
.EM energizado
no
.POS .LEN
sim
.DN energizado
no
fim
8-29
Ao:
.LEN < 0
sim
no
.POS < 0
sim
no
.POS = 0
sim
.EM energizado
no
.POS .LEN
sim
.DN energizado
no
fim
8-30
Ao:
.LEN < 0 no
sim
.LEN < 0
sim
.POS < 0 no
sim
no
.POS < 0 no
sim
.POS 1 no
sim
.POS = 0 no
sim
.POS < 1 no
sim
Destination = 0
.POS .LEN no
sim
sim
.POS = .LEN
sim
falha grave
fim
8-31
antes da descarga LIFO array_dint[0] 00000 11111 22222 33333 44444 array_dint[5] 55555 00000 00000 00000 00000 control_1.pos = 6
depois da descarga LIFO 00000 11111 22222 33333 44444 00000 00000 00000 00000 00000 control_1.pos = 5 value_2 = 55555
8-32
Notas:
8-33
8-34
Captulo
Instrues de Seqenciador
(SQI, SQO, SQL)
Introduo
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.
9-2
Linguagens Disponveis:
Lgica Ladder
A instruo SQI detecta quando uma etapa concluda no par de seqenciador das instrues SQO/SQI.
Mask
tag imediato
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 nmero de elementos na Matriz (tabela do seqenciador) a serem comparados posio atual na matriz valor inicial normalmente 0
Length Position
DINT DINT
imediato imediato
Estrutura:
Mnemnico: .ER .LEN .POS Tipo de Dados: BOOL DINT DINT Descrio: O bit de erro energizado quando .LEN 0, .POS < 0 ou .POS > .LEN. O comprimento especifica o nmero de etapas da matriz do seqenciador. A posio identifica o elemento que a instruo est comparando atualmente.
9-3
9-4
.LEN 0 .POS < 0 ou .POS > .LEN sim bit .ER energizado
no
no
sim
fim
9-5
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.
Valores de exemplo (DINTs exibidos em binrio): xxxxxxxx xxxxxxxx xxxx0101 xxxx1010 00000000 00000000 00001111 00001111 xxxxxxxx xxxxxxxx xxxx0101 xxxx1010
Um 0 na mscara significa que o bit no foi comparado (identificado por xxxx nesse exemplo).
9-6
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.
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.
Mask
Um tag SINT ou INT convertido para um valor DINT pela extenso de sinal. Destination Control DINT CONTROL tag tag dados de sada da matriz de seqenciador estrutura de controle para a operao geralmente usa o mesmo CONTROL das instrues SQI e SQL nmero de elementos na Matriz (tabela do seqenciador) a serem colocados na sada posio atual na matriz valor inicial normalmente 0
Length Position
DINT DINT
imediato imediato
Estrutura:
Mnemnico: .EN .DN .ER .LEN .POS Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo SQO est habilitada. O bit executado energizado quando todos os elementos especificados foram movidos para Destination. O bit de erro energizado quando .LEN 0, .POS < 0 ou .POS > .LEN. O comprimento especifica o nmero de etapas da matriz do seqenciador. 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
9-8
Flags de Status Aritmtico: no afetados Condies de Falha: nenhuma Execuo de Lgica Ladder:
Condio: pr-varredura Ao: O bit .EN energizado para evitar uma carga falsa quando a varredura do programa comear. A sada da condio da linha definida como falsa. O bit .EN desenergizado. A sada da condio da linha definida como falsa.
9-9
Ao:
no
.EN = 0
.EN = 1
.POS = .LEN
no
sim
.POS = 1
sim
ir para erro
.POS = .LEN
sim
no
no
sim
erro
fim
9-10
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.
Valores de exemplo (uso de INTs exibidos em binrio): xxxxxxxx xxxxxxxx xxxx0101 xxxx1010 00000000 00000000 00001111 00001111 xxxxxxxx xxxxxxxx xxxx0101 xxxx1010
Um 0 na mscara significa que o bit no foi comparado (designado por xxxx nesse exemplo).
9-11
9-12
Linguagens Disponveis:
Lgica Ladder
Source
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 nmero de elementos na Matriz (tabela do sequenciador) a serem carregados posio atual na matriz valor inicial normalmente 0
Length Position
DINT DINT
imediato imediato
Estrutura:
Mnemnico: .EN .DN .ER .LEN .POS Tipo de Dados: BOOL BOOL BOOL DINT DINT Descrio: O bit habilitado indica que a instruo SQL est habilitada. O bit executado energizado quando todos os elementos especificados foram carregados em Array. O bit de erro energizado quando .LEN 0, .POS < 0 ou .POS > .LEN. O comprimento especifica o nmero de etapas da matriz do seqenciador. A posio identifica o elemento que o controlador est manipulando atualmente.
9-13
9-14
Ao:
no
.EN = 0
.EN = 1
.POS = .LEN
no
sim
.POS = 1
sim
ir para erro
.POS = .LEN
sim
no
no
erro
falha grave
Array[control.POS] = Source
fim
9-15
antes da carga array_dint[0] 00000 11111 22222 33333 44444 array_dint[5] 00000 00000 00000 00000 00000 control_1.pos = 5 value_3 = 55555
depois da carga 00000 11111 22222 33333 44444 55555 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.
9-16
Notas:
Captulo
10
Introduo
10-2
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Linguagens Disponveis:
Operandos do Bloco de Funo: Estas instrues no esto disponveis no bloco de funo. Descrio: Quando habilitada, a instruo JMP ignora a instruo LBL citada e o
controlador continua a executar a partir desse ponto. Quando desabilitada, a instruo JMP no afeta a execuo do diagrama ladder. A instruo JMP pode mover a execuo do diagrama ladder para frente e para trs. O salto para frente para um label economiza tempo de varredura do programa, pois omite um segmento de lgica at que o mesmo seja necessrio. O salto para trs permite que o controlador repita a lgica. Recomenda-se no realizar muitos saltos para trs. O temporizador de watchdog pode entrar em perodo de espera porque o controlador nunca alcana o fim da lgica que, por usa vez, coloca o controlador em falha. No se realiza varredura na lgica com salto. Coloque uma lgica crtica fora da zona de salto.
ATENCION
!
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
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.
10-4
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Linguagens Disponveis:
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.
Return par
Instruo SBR Input par tag tag da matriz parmetros (0-n) recebidos de JSR
Instruo RET Return par imediato tag tag da matriz parmetros (0-n) a serem retornados para JSR
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.
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-5
RET
RET
RET
15294
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 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
no
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 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
no
no
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-7
ATENCION
!
Se: sim Ento:
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.
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. V para a Etapa 6.
no
ATENCION
!
Se: sim Ento: A. B. C. D.
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.
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.
no
10-8
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Uma falha grave ocorrer se: a instruo JSR salta para a rotina de falha a instruo RET tem menos parmetros de retorno do que a instruo JSR a rotina principal contm uma instruo RET
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-9
Ao:
parmetros de entrada no
sim
sim
no
no
no sada da condio da linha definida como verdadeira a execuo da lgica retorna para JSR
fim
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.
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.
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-11
exemplo 2
Rotina Principal
Quando abc estiver energizado a sub-rotina_1 executa, calcula o nmero de cookies, e coloca um valor em cookies_1.
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.
10-12
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Linguagens Disponveis:
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: pr-varredura entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. 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.
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-13
Linguagens Disponveis:
A instruo MCR, usada em pares, cria uma zona de programa que pode desabilitar todas as linhas dentro das instrues MCR.
Operandos do Bloco de Funo: Esta instruo no est disponvel no bloco de funo. Descrio: Quando a zona MCR estiver habilitada, realiza-se uma varredura nas
linhas da zona MCR para verificar as condies normais de verdadeiro e falso. Quando desabilitada, o controlador ainda realiza varredura nas linhas que esto dentro de uma zona MCR, mas o tempo de varredura reduzido porque as sadas no retentivas na zona esto desabilitadas. A entrada da condio da linha falsa para todas as instrues que esto dentro da zona MCR desabilitada. Ao programar uma zona MCR, observe o seguinte: Voc deve finalizar a zona com uma instruo MCR incondicional. Voc no pode encadear zonas MCR entre si. No realize um salto em uma zona MCR. Se a zona for falsa, o salto na zona ativa a zona desde o ponto do salto at o fim da mesma. Se uma zona MCR continuar at o fim da rotina, no necessrio programar uma instruo MCR at o final da zona. A instruo MCR no substitui a instalao de um rel de controle mestre com capacidade para permitir uma parada de emergncia. Voc dever, ainda, instalar um rel de controle mestre para fornecer um desligamento de emergncia da alimentao de E/S. No sobreponha ou monte em cadeia as zonas MCR. 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.
ATENCION
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: pr-varredura entrada da condio da linha for falsa Ao: A sada da condio da linha definida como 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. A sada da condio da linha est definida como verdadeira. As instrues na zona so varridas normalmente.
Quando a primeira instruo MCR estiver habilitada (input_1, input_2 e input_3 esto energizados), o controlador executa as linhas na zona MCR (entre as duas instrues MCR) e energiza ou desenergiza as sadas, dependendo das condies de sada.
Quando a primeira instruo MCR estiver desabilitada (input_1, input_2 e input_3 no esto todos energizados), o controlador executa as linhas na zona MCR (entre as duas instrues MCR) e a entrada da condio da linha se torna falsa para todas as linhas na zona MCR, independente das condies de entrada.
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-15
Desabilitao da Interrupo pelo Usurio (UID) Habilitao da Interrupo pelo Usurio (UIE)
Linguagens Disponveis:
A instruo UID e a instruo UIE trabalham juntas para evitar que um nmero pequeno de linhas crticas sejam interrompidas por outras tarefas.
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.
10-16
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
EN DN ER
error_check.FD
alarm
UIE
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-17
Linguagens Disponveis:
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: pr-varredura entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. 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.
10-18
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
Linguagens Disponveis:
Lgica Ladder a
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: pr-varredura entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. 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.
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
10-19
Notas:
10-20
Instrues de Controle de Programa (JMP, LBL, JSR, RET, SBR, TND, MCR, UID, UIE, AFI, NOP)
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: Executar repetidamente a rotina. Terminar a execuo repetida de uma rotina. Retornar para a instruo FOR. Use esta instruo: FOR BRK RET Consulte pgina: 11-2 11-5 11-7
11-2
For (FOR)
Linguagens Disponveis:
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.
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.
entrada da condio da linha for falsa entrada da condio da linha for verdadeira
index = initial_value
no
sim
no
ir para o fim
fim
fim
11-4
11-5
Break (BRK)
Linguagens Disponveis:
A instruo BRK interrompe a execuo de uma rotina que foi chamada por uma instruo FOR.
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: pr-varredura entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa. A sada da condio da linha est definida como verdadeira. A execuo retorna para a instruo que segue a instruo FOR que est chamando.
Quando habilitada, a instruo BRK pra de executar a rotina atual e retorna para a instruo que segue a instruo FOR que est chamando.
11-6
Retorno (RET)
Linguagens Disponveis:
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.
11-7
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.
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.
11-8
Notas:
Captulo
12
Instrues Especiais
(FBC, DDT, DTR, PID)
Introduo
DDT
12-10
DTR
12-18
PID
12-21
12-2
Linguagens Disponveis:
Lgica Ladder
A instruo FBC compara os bits em uma matriz Source com os bits em uma matriz Reference.
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.
12-3
Estrutura de Comparao:
Mnemnico: .EN .DN .FD .IN Tipo de Dados: BOOL BOOL BOOL BOOL Descrio: O bit habilitado indica que a instruo FBC est habilitada. O bit executado energizado quando a instruo FBC compara o ltimo bit nas matrizes Source e Reference. 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). O bit inibido indica o modo de busca de FBC. 0 = todos os modos 1 = uma diferena em um modo de tempo 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. O valor do comprimento identifica o nmero de bits a ser comparado. O valor da posio identifica o bit atual.
Estrutura de Resultado:
Mnemnico: .DN .LEN .POS Tipo de Dados: BOOL DINT DINT Descrio: O bit executado energizado quando a matriz Result est cheia. O valor do comprimento identifica o nmero de locais de armazenamento na matriz Result. 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.
12-4
Todas as diferenas
Ao:
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.
fim
12-5
Ao:
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.
fim
12-6
Ao:
compare.EN = 1
ir para a sada
compare.EN = 0 o bit compare .EN energizado. examinar bit compare.DN compare.DN = 1 ir para a sada
compare.LEN 0
no
sair
compare.POS < 0
sim
ir para a sada
pgina 12-8
12-7
Condio:
compara
Ao:
compare.POS compare.LEN
sim
ir para a sada
pgina 12-7
no result.DN = 1 source[compare.POS] = reference[compare.POS] no o bit compare.FD energizado. examinar o bit result.DN
result.DN = 0
no
sim result.LEN 0
no
ir para a sada
pgina12-7
no
12-8
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.
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.
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.
12-10
Estrutura de Comparao:
Mnemnico: .EN .DN .FD Tipo de Dados: BOOL BOOL BOOL Descrio: O bit habilitado indica que a instruo DDT est habilitada. O bit executado energizado quando a instruo DDT compara o ltimo bit nas matrizes Source e Reference. 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). O bit inibido indica o modo de busca de DDT. 0 = todos os modos 1 = uma diferena em um modo de tempo 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. O valor do comprimento identifica o nmero de bits a ser comparado. O valor da posio identifica o bit atual.
.IN
BOOL
Estrutura de Resultado:
Mnemnico: .DN .LEN .POS Tipo de Dados: BOOL DINT DINT Descrio: O bit executado energizado quando a matriz Result est cheia. O valor do comprimento identifica o nmero de locais de armazenamento na matriz Result. 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.
12-11
Todas as diferenas
Ao:
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.
fim
12-12
Ao:
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.
fim
12-13
Ao:
compare.EN = 1
ir para a sada
compare.EN = 0 o bit compare .EN energizado. examinar bit compare.DN compare.DN bit = 1 ir para a sada
compare.LEN 0
no
sair
compare.POS < 0
sim
ir para a sada
pgina 12-16
12-14
Condio:
compara
Ao:
compare.POS compare.LEN
sim
ir para a sada
pgina 12-15
no result.DN = 1
source[compare.POS] = reference[compare.POS]
no
result.DN = 0
no
sim result.LEN 0
no
ir para
pgina 12-7
no
result.POS result.LEN
12-15
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 (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.
12-16
Linguagens Disponveis:
Lgica Ladder
A instruo DTR passa o valor Source por Mask e compara o resultado com o valor Reference.
Operandos do Bloco de Esta instruo no est disponvel no bloco de funo. Funo: Descrio: A instruo DTR passa o valor Source por Mask e compara o resultado
com o valor Reference. A instruo DTR tambm escreve o valor Source mascarado no valor Reference para a prxima comparao. Source permanece inalterado. Um 1 na mscara significa que o bit de dados passou. Um 0 na mscara significa que o bit de dados foi bloqueado. Quando Source mascarado for diferente de Reference, a sada da condio da linha se torna verdadeira durante uma varredura. Quando Source mascarado for igual a Reference, a sada da condio da linha se torna falsa. A programao online com essa instruo pode ser 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.
ATENO
12-17
Flags de Status Aritmtico: no afetados Condies de Falha: nenhuma Execuo de Lgica Ladder:
Condio: pr-varredura entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: The Reference = Source AND Mask. A sada da condio da linha definida como falsa. The Reference = Source AND Mask. A sada da condio da linha definida como falsa.
no
referncia definida igual fonte mascarada sada da condio da linha energizada quando verdadeira
sim
12-18
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 2
mscara = 0FFF 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
0 0
1 1
8 8
3 3
referncia value_2
0 0
1 1
8 8
7 3
A linha permanecer verdadeira durante uma varredura quando uma alterao for detectada.
12-19
Linguagens Disponveis:
Lgica Ladder
A instruo PID controla um tag de processo como, por exemplo, fluxo, presso, temperatura ou nvel.
Tipo: PID SINT INT DINT REAL SINT INT DINT REAL
Tieback
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 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 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 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 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 somente display valor atual do setpoint. somente display valor atual de Process Variable convertido em escala somente display valor de porcentagem da sada da corrente
Control variable
tag
PID
estrutura
Inhold bit
BOOL
tag
Inhold value
tag
12-20
Estrutura: Especifique uma estrutura PID nica para cada instruo PID.
Mnemnico: .CTL Tipo de Dados: DINT Descrio: 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: 31 30 29 28 27 26 25 24 23 22 21 20 Este bit: 15 14 13 12 11 10 09 08 07 SP .KP .KI .KD .BIAS .MAXS .MINS .DB .SO .MAXO .MINO REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL setpoint independente dependente independente dependente independente dependente ganho proporcional (sem unidade) ganho do controlador (sem unidade) ganho integral (1/s) tempo de reset (minutos por repetio) ganho derivativo (segundos) tempo da taxa (minutos) Corresponde a este membro: .EN .CT .CL .PVT .DOE .SWM .CA .MO .PE .NDF .NOBC .NOZC Este membro que configurado pela instruo PID: .INI .SPOR .OLL .OLH .EWD .DVNA .DVPA .PVLA .PVHA
feedforward ou bias % valor de converso de escala da unidade de medida mxima valor de converso de escala da unidade de medida mnima unidades de medida da zona morta defininir % da sada limite de sada mximo (% da sada) limite de sada mnimo (% da sada)
12-21
Mnemnico: .UPD .PV .ERR .OUT .PVH .PVL .DVP .DVN .PVDB .DVDB .MAXI .MINI .TIE .MAXCV .MINCV .MINTIE .MAXTIE .DATA
Tipo de Dados: REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL[17]
Descrio: tempo de atualizao da malha (segundos) valor PV em escala valor de erro em escala % da sada limite de alarme superior para o tag do processo limite de alarme inferior para o tag do processo limite de alarme de desvio positivo limite de alarme de desvio negativo zona morta do alarme do tag de processo zona morta do alarme de desvio valor mximo de PV (entrada sem escala) valor mnimo de PV (entrada sem escala) valor de tieback para controle manual valor mximo de CV (corresponde a 100%) valor mnimo de CV (corresponde a 0%) valor mnimo de tieback (corresponde a 100%) valor mximo de tieback (corresponde a 0%) O membro .DATA armazena: Elemento .DATA[0] .DATA[1] .DATA[2] .DATA[3] .DATA[4] .DATA[5] .DATA[6] .DATA[7] .DATA[8] .DATA[9] .DATA[10] .DATA[11] .DATA[12] .DATA[13] .DATA[14] .DATA[15] .DATA[16] Descrio: acmulo integral valor temporrio de filtro derivativo valor .PV anterior valor .ERR anterior valor .SP vlido anterior constante de converso de escala em porcentagem constante de converso em escala .PV constante de converso em escala derivativa valor .KP anterior valor .KI anterior valor .KD anterior ganho .KP dependente ganho .KI dependente ganho .KD dependente valor .CV anterior constante .CV para desfazer a converso constante tieback para desfazer a converso
habilitado tipo cascata (0=escravo; 1=mestre) malha da cascata (0=no; 1=sim) rastreamento do tag do processo (0=no; 1=sim)
12-22
Mnemnico: .DOE .SWM .CA .MO .PE .NDF .NOBC .NOZC .INI .SPOR .OLL .OLH .EWD .DVNA .DVPA .PVLA .PVHA
Tipo de Dados: BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL
Descrio: derivativa de (0=PV; 1=erro) modo manual do software (0=no - automtico; 1=sim- manual com chave) ao de controle (0 significa E=SP-PV; 1 significa E=PV-SP) modo de estao (0=automtico; 1=manual) equao PID (0=independente; 1=dependente) filtro derivativo (0=no; 1=sim) clculo de volta para bias (0=no; 1=sim) cruzamento zero para zona morta (0=no; 1=sim para zona morta) PID inicializada (0=no; 1=sim) setpoint fora da faixa (0=no; 1=sim) CV est abaixo do limite de sada mnimo (0=no; 1=sim) CV est acima do limite de sada mximo (0=no; 1=sim) o erro est dentro da zona morta (0=no; 1=sim) o desvio est definido como alarme baixo (0=no; 1=sim) o desvio est definido como alarme alto (0=no; 1=sim) o PV est definido como alarme baixo (0=no; 1=sim) 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
41027
12-23
Condies de Falha:
IMPORTANTE Estas falhas eram graves no controlador CLP-5.
Tipo de falha: 4 4
Cdigo de falha: 35 36
Depois de inserir a instruo PID e especificar a estrutura PID, use a guia Configuration para especificar como a instruo PID deve funcionar.
12-24
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: Setpoint (SP) Set output % Especifique Insira um valor de setpoint (.SP). 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. Insira a procentagem de bias de sada (.BIAS). Insira o ganho proporcional (.KP). Para ganhos independentes, este o ganho proporcional (sem unidade). Para ganhos dependentes, este o ganho do controlador (sem unidade). 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). Insira o ganho derivativo (.KD). Para ganhos independentes, este o ganho derivativo (segundos). Para os ganhos dependentes, este o tempo da taxa em minutos. Selecione o manual (.MO) ou o manual do software (.SWM). O modo Manual se sobrepe ao manual do software se os dois forem selecionados.
Manual mode
Especificao da configurao
Selecione a guia Configuration. Voc deve clicar em OK ou Apply para que as alteraes tenham validade.
No campo: PID equation Especifique 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). Selecione E=PV-SP ou E=SP-PV para control action (.CA). 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. Insira o tempo de atualizao (.UPD) para a instruo (maior do que ou igual a 0,01 segundo). Insira um limite superior para a varivel de controle (.MAXO). Insira um limite inferior para a varivel de controle (.MINO). Insira o valor da zona morta (.DB). Habilita ou desabilita essa seleo (.NDF). Habilita ou desabilita essa seleo (.NOBC). Habilita ou desabilita essa seleo (.NOZC).
Loop update time CV high limit CV low limit Deadband value No derivative smoothing No bias calculation No zero crossing in deadband
12-25
Especifique Habilita ou desabilita essa seleo (.PVT). Habilita ou desabilita essa seleo (.CL). Se a malha da cascata estiver habilitada, selecione escravo ou mestre (.CT).
Especificao de alarmes
Selecione a guia Alarms. Voc deve clicar em OK ou Apply para que as alteraes tenham validade.
No campo: PV high PV low PV deadband positive deviation negative deviation deviation deadband Especifique Insira um valor de limite superior para o alarme alto para a PV (.PVH). Insira um valor de limite inferior para o alarme baixo para a PV (.PVL). Insira um valor de zona morta para o alarme de PV (.PVDB). Insira um valor de desvio positivo (.DVP). Insira um valor de desvio negativo (.DVN). Insira um valor de zona morta para o alarme de desvio (.DVDB).
12-26
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
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
12-27
equao so fornecidos apenas para que voc use o tipo com o qual est mais familiarizado.
Opo de Ganhos: Ganhos dependentes (padro ISA) Derivativo de error (E)
t
Equao:
CV = K C
E = SP - PV
t
CV = K C
E = PV - SP
t
Ganhos independentes
error (E)
t
E = SP - PV
t
E = PV - SP
t
Onde:
Varivel: KP Ki Descrio: ganho proporcional (sem unidade) Kp = Kc sem unidade 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 ganho do controlador (sem unidade)
KC
12-28
Varivel: Ti Td SP PV E BIAS CV dt
Descrio: tempo de reset (minutos/repetio) tempo da taxa (minutos) setpoint varivel de processo erro [(SP-PV) ou (PV-SP)] feedforward ou bias varivel de controle 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.
manual (.MO)
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
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.
12-30
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
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.
12-32
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: Configure o canal do mdulo de sada analgica 1756 que recebe a varivel de controle da instruo PID. Detalhes: 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.
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
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.
+ zona morta setpoint - zona morta erro dentro da faixa da 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
12-34
energizar o bit de alarme e impedir que a sada ultrapasse o limite superior ou inferior.
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
12-35
12-36
Teoria PID
processo PID
SP Exibido como EUs Software A/M ou Modo A/M Station Erro Exibido como EUs
Auto
+ -
(Erro)
-1
SP
Manual PVT no
PV-SP
Define Sada %
CV
PV
Polarizao da Sada % Software A/M Mode Auto Auto Define Sada % Software A/M Mode Auto SP PV
Converte Unidades em %
Clculo PID
(Out%)
Define Sada %
Manual PVT no
PV-SP
(Master.Out)
Manual Manual Os itens relacionados nesta caixa so parmetros, unidades e modos pois pertencem malha Escrava
Malha Escravo
Polarizao da Sada % Software A/M Mode Auto Auto Manual Limitao da Sada Manual A/M Station Mode Define Sada %
(Master.Out)
Clculo PID
PV-SP
Erro X 100 mx-mn Define Sada % Converte Unidades Tieback em % tieback-mintie maxtie-mintie x100
PV
Captulo
13
Instrues Trigonomtricas
(SIN, COS, TAN, ASN, ACS, ATN)
Introduo
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.
13-2
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.
Destination
tag
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta sada.
13-3
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo SIN calcula o seno de <1><8><1>. e coloca o resultado em result.
13-4
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.
13-5
Co-seno (COS)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
A instruo COS calcula o co-seno do valor de Source (em radianos) e coloca o resultado em Destination.
Destination
tag
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmtico so definidos para esta sada.
13-6
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo COS calcula o co-seno de <1><19><1> e coloca o resultado em result.
13-7
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.
13-8
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.
Destination
tag
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmtico so definidos para esta sada.
13-9
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo TAN calcula a tangente de <1><19><1>e coloca o resultado emresult.
13-10
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.
13-11
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
A instruo ASN calcula o arco seno do valor de Source (em radianos) e coloca o resultado em Destination.
Destination
tag
Source
REAL
13-12
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmtico so definidos para esta sada.
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
Quando habilitada, a instruo ASN calcula o arco seno de <1><19><1> e coloca o resultado em result.
13-13
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.
13-14
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.
Destination
tag
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta sada.
13-15
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo ACS calcula o arco co-seno de <1><19><1> e coloca o resultado em result.
13-16
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.
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).
Destination
tag
13-17
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmtico so energizados para esta sada.
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo ATN calcula o arco tangente de <1><19><1> e coloca o resultado em result.
13-18
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.
13-19
Notas:
13-20
Captulo
14
Introduo
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.
14-2
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
Destination
tag
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo matemtica. Os flags de status aritmticos so energizados para esta sada.
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
Quando habilitada, a instruo LN calcula o log natural de value<F1> e coloca o resultado em <F19><F1>result.
14-4
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.
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
Destination
tag
14-5
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. 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
Quando habilitada, a instruo LOG calcula o log natural de value<F1> e coloca o resultado em <F19><F1>result.
14-6
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.
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.
Source B
imediato tag
exponente
Destination
tag
14-8
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. 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.
Quando habilitada, a instruo XPY calcula value_1 elevado potncia de value_2 e coloca o resultado em result.
14-9
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.
14-10
Captulo
15
Introduo
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.
15-2
Graus (DEG)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
A instruo DEG converte Source (em radianos) para graus e coloca o resultado em Destination.
Destination
tag
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo de converso. Os flags de status aritmtico so energizados para esta sada.
15-3
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo DEG converte <1><19><1> em graus e coloca o resultado em result.
15-4
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.
15-5
Radianos (RAD)
Linguagens Disponveis:
Lgica Ladder
Bloco de Funo
A instruo RAD converte Source (em graus) para radianos e coloca o resultado em Destination.
Destination
tag
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL REAL Descrio: A instruo produziu um resultado vlido. Resultado da instruo de converso. Os flags de status aritmtico so energizados para esta sada.
15-6
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo RAD converte <1><19><1> em radianos e coloca o resultado em result.
15-7
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.
15-8
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.
Um tag SINT ou INT convertido para um valor DINT por preenchimento com zero. Destination SINT INT DINT tag armazena o resultado
Source
DINT
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da instruo de converso. Os flags de status aritmtico so energizados para esta sada.
15-9
no
sim
sim
S:V definido em 1
fim
O controlador converte Source em BCD e coloca o resultado em Destination. A sada da condio da linha definida como verdadeira.
15-10
Quando habilitada, a instruo TOD converte value_1 em um valor BCD e coloca o resultado em result_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.
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.
Um tag SINT ou INT convertido para um valor DINT por preenchimento com zero. Destination SINT INT DINT tag armazena o resultado
Source
DINT
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da instruo de converso. Os flags de status aritmtico so energizados para esta sada.
15-12
Flags de Status Aritmtico: Os flags de status aritmtico so afetados. Condies de Falha: nenhuma
Quando habilitada, a instruo FRD converte value_a para um valor decimal e coloca o resultado em result_1.
15-13
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.
15-14
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.
Source
REAL
Parmetros de sada
Parmetro de Sada: Tipo de Dados: EnableOut Dest BOOL DINT Descrio: A instruo produziu um resultado vlido. Resultado da instruo de converso. Os flags de status aritmtico so energizados para esta sada.
15-15
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.
15-16
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.
Captulo
16
Introduo
Use as instrues de porta serial para ler e escrever os caracteres ASCII. IMPORTANTE Para usar as instrues de porta serial ASCII, voc deve configurar a porta serial do controlador. Consulte Procedimentos Comuns dos Controladores Logix5000, publicao 1756-PM001.
Use esta instruo: ABL ACB ACL Consulte pgina: 16-7 16-10 16-12
Se voc quiser: 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
Por exemplo: verificar os dados que contenham caracteres de terminao verificar o nmero solicitado dos caracteres antes de ler o buffer
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 ler os dados a partir de um dispositivo que envia um nmero de caracteres varivel em cada transmisso
AHL
16-14
ARD
16-17
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 enviar caracteres enviar mensagens que usam vrios caracteres de terminao
AWA
16-24
AWT
16-28
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 Quando a entrada da condio da linha passa de falsa para verdadeira Fila ASCII Instruo 1 Instruo 2 Instruo 3 Instruo 4 A instruo entra na fila ASCII. Os dados fluem entre o buffer e a porta serial Serial Port Buffer Os dados fluem entre a tarefa e o buffer. Tarefa ASCII Instruo na parte superior da fila executada.
Cada instruo de porta serial ASCII (exceto a ACL) usa uma estrutura SERIAL_PORT_CONTROL para realizar as seguintes funes:
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
falsa
verdadeira
falsa
verdadeira
falsa
.EN
off
on
off
on
off
.EU
off
on
.RN
off
on
off
on
off
.DN ou .ER
off
on
off
on
.FD
off
on
off
on
.EM
off
on
off
on
reseta os bits de status quando efetuado o scan e .DN ou .ER forem definidos, o bit .EM energiza
16-4
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
A fila ASCII suporta at 16 instrues. Quando a fila est cheia, uma instruo tenta entrar na fila em cada scan subsequente da instruo, como representado abaixo:
scan scan scan scan
falsa
verdadeira
falsa
.EN
off
on
.EU
off
on
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-5
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
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.
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-7
Linguagens Disponveis:
Lgica Ladder
ABL ASCII Test For Buffer Line Channel SerialPort Control Character Count
? ? ?
42225
EN DN ER
Insira: 0 tag que controla a operao 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: .EN RN .EM .ER .FD .POS .ERRO Tipo de Dados: BOOL BOOL BOOL BOOL BOOL DINT DINT Descrio: O bit de habilitao indica que a instruo est habilitada. O bit de operao indica que a instruo est executando. O bit vazio indica que a instruo est concluda. O bit de erro indica quando a instruo falha (erros). O bit encontrado indica que a instruo encontra os caracteres de terminao A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de caracteres de terminao. O erro contm um valor hexadecimal que identifica a causa de um erro.
16-8
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: pr-scan entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
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.
EN DN ER
42226
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-9
Linguagens Disponveis:
Lgica Ladder
? ? ?
42225
EN DN ER
Insira: 0 tag que controla a operao 0 Durante a execuo, exibe o nmero de caracteres no buffer.
Estrutura SERIAL_PORT_CONTROL:
Mnemnico: .EN RN .EM .ER .FD .POS .ERRO Tipo de Dados: BOOL BOOL BOOL BOOL BOOL DINT DINT Descrio: O bit de habilitao indica que a instruo est habilitada. O bit de operao indica que a instruo est executando. O bit vazio indica que a instruo est concluda. O bit de erro indica quando a instruo falha (erros). O bit encontrado indica que a instruo encontra os caracteres de terminao A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de caracteres de terminao. O erro contm um valor hexadecimal que identifica a causa de um erro.
16-10
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: pr-scan entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
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.
42227
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-11
Linguagens Disponveis:
Lgica Ladder
ACL ASCII Clear Buffer Channel Clear Serial Port Read Clear Serial Port Write
? ? ?
42225
Operando: Channel: Clear Serial Port Read Clear Serial Port Write
Insira: 0 Para esvaziar o buffer e remover as instrues ARD e ARL da fila, digite Yes. 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
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: usa as instrues ARD or ARL Ento: Selecione modo 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: pr-scan entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
A instruo remove as instrues especficas e o(s) buffer(s). A sada da condio da linha est definida como verdadeira.
0 1 1
42228
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
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.
AHL ASCII Handshake Lines Channel AND Mask OR Mask SerialPort Control Channel Status(Decimal)
EN ? ? ?? ? ?? ? ? DN ER
42225
Operando: Channel: ANDMask ORMask Porta Serial Control Channel Status (Decimal)
tag que controla a operao 0 Durante a execuo, exibe o status das linhas de controle.
Estrutura SERIAL_PORT_CONTROL:
Mnemnico: .EN .RN .EM .ER .FD .POS .ERRO Tipo de Dados: BOOL BOOL BOOL BOOL BOOL DINT DINT Descrio: O bit de habilitao indica que a instruo est habilitada. O bit de operao indica que a instruo est executando. O bit vazio indica que a instruo est concluda. O bit de erro indica quando a instruo falha (erros). O bit encontrado indica que a instruo encontra os caracteres de terminao A posio determina o nmero de caracteres no buffer, at e incluindo o primeiro conjunto de caracteres de terminao. O erro contm um valor hexadecimal que identifica a causa de um erro.
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: usa as instrues ARD or ARL Ento: Selecione modo do Usurio
2. Use as tabelas seguintes para selecionar os valores corretos para os operandos ANDMask e ORMask:
DTR: off RTS: off on no mudado on off on no mudado no mudado off on no mudado Digite este valor ANDMask: 3 1 1 2 0 0 2 0 0 E digite este valor ORMask: 0 2 0 1 3 1 0 2 0
3. Passe a entrada da condio de linha para a instruo AHL de falsa para verdadeira toda vez que a instruo estiver para executar.
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-15
Condies de Falha:
Tipo: 4 Cdigo: 57 Causa: A instruo AHL falhou na execuo, pois a porta serial est configurada para sem handshaking. Mtodo de Recuperao: Ou:
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.
DN ER
16-16
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Linguagens Disponveis:
Lgica Ladder
ARD EN ? ? ?? ? ? ? DN ER
42225
Insira: 0 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. tag que controla a operao nmero de caracteres para mover para destination (leitura)
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
tag imediato
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.
Characters Read
DINT
imediato
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-17
Estrutura SERIAL_PORT_CONTROL:
Mnemnico: .EN RN .EM .ER .FD .LEN .POS .ERRO Tipo de Dados: BOOL BOOL BOOL BOOL BOOL DINT DINT DINT Descrio: O bit de habilitao indica que a instruo est habilitada. O bit de operao indica que a instruo est executando. O bit vazio indica que a instruo est concluda. O bit de erro indica quando a instruo falha (erros). O bit encontrado indica que a instruo encontra os caracteres de terminao O comprimento (length) indica o nmero de caracteres para mover para destination (leitura). A posio (position) exibe o nmero de caracteres que foram lidos. 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.
16-18
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
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 EN DN ER 0 bag_bar_code '' SerialPort Control bar_code_read SerialPort Control Length 24 Characters Read 0
42227
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-19
Linguagens Disponveis:
Lgica Ladder
ARL EN ? ? ?? ? ? ? DN ER
42225
Insira: 0 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. tag que controla a operao 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
tag imediato
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 0 Durante a execuo, exibe o nmero de caracteres que foram lidos.
16-20
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Estrutura SERIAL_PORT_CONTROL:
Mnemnico: .EN RN .EM .ER .FD .LEN .POS .ERRO Tipo de Dados: BOOL BOOL BOOL BOOL BOOL DINT DINT DINT Descrio: O bit de habilitao indica que a instruo est habilitada. O bit de operao indica que a instruo est executando. O bit vazio indica que a instruo est concluda. O bit de erro indica quando a instruo falha (erros). O bit encontrado indica que a instruo encontra os caracteres de terminao 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). A posio (position) exibe o nmero de caracteres que foram lidos. 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.
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: pr-scan entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
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 ASCII Read Line Channel Destination SerialPort Control SerialPort Control Length Characters Read ARL EN 0 MV_msg '' MV_read 12 0 DN ER
42226
16-22
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
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.
AWA ASCII Write Append Channel Source SerialPort Control SerialPort Control Length Characters Sent
EN ? ? ?? ? ? ? DN ER
42225
Insira: 0 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. tag que controla a operao nmero de caracteres a serem enviados
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
tag imediato
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.
Characters Read
DINT
imediato
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-23
SERIAL_PORT_CONTROL Estrutura:
Mnemnico: .EN .RN .EM .ER .FD .LEN .POS .ERRO Tipo de Dados: BOOL BOOL BOOL BOOL BOOL DINT DINT DINT Descrio: O bit de habilitao indica que a instruo est habilitada. O bit de operao indica que a instruo est executando. O bit vazio indica que a instruo est concluda. O bit de erro indica quando a instruo falha (erros). O bit encontrado indica que a instruo encontra os caracteres de terminao O comprimento (length) indica o nmero de caracteres a serem enviados. A posio (position) exibe o nmero de caracteres que foram enviados. 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
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: sim no Ento: Selecione modo do Usurio 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: Sim No Ento: Em Serial Port Control Length, insira o nmero de caracteres a serem enviados. 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: pr-scan entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
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
0 string[1] '$1425\1' SerialPort Control temp_high_write SerialPort Control Length 5 Characters Sent 6
Exemplo 2 Quando alarm estiver on, a instruo AWA envia o nmero especfico de caracteres em alarm_msg e anexo um caracter de terminao (s). Como o nmero de caracteres em alarm_msg varia, a linha move primeiro o comprimento do string (alarm_msg.LEN) para Serial Port Control Length da instruo AWA (alarm_write.LEN). Em alarm_msg, o $14 contado como um caracter. Ele o cdigo hexadecimal para o caracter Ctrl-T.
alarm MOV 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
16-26
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
Linguagens Disponveis:
Lgica Ladder
A instruo AWT envia um nmero especfico de caracteres do tag Source para um dispositivo serial.
AWT EN ? ? ?? ? ? ? DN ER
42225
Insira: 0 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. tag que controla a operao nmero de caracteres a serem enviados
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
tag imediato
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.
Characters Read
DINT
imediato
Instrues de Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT)
16-27
Estrutura SERIAL_PORT_CONTROL:
Mnemnico: .EN .RN .EM .ER .FD .LEN .POS .ERRO Tipo de Dados: BOOL BOOL BOOL BOOL BOOL DINT DINT DINT Descrio: O bit de habilitao indica que a instruo est habilitada. O bit de operao indica que a instruo est executando. O bit vazio indica que a instruo est concluda. O bit de erro indica quando a instruo falha (erros). O bit encontrado indica que a instruo encontra os caracteres de terminao. O comprimento (length) indica o nmero de caracteres a serem enviados. A posio (position) exibe o nmero de caracteres que foram enviados. 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: usa as instrues ARD or ARL Ento: Selecione modo 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: Sim No Ento: Em Serial Port Control Length, insira o nmero de caracteres a serem enviados. 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.
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: pr-scan entrada da condio da linha for falsa entrada da condio da linha for verdadeira Ao: A sada da condio da linha definida como falsa. A sada da condio da linha definida como falsa.
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 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 EN DN ER 0 MV_msg '$161365\8\1$r' SerialPort Control MV_write SerialPort Control Length 10 Characters Sent 10
42229
Captulo
17
Introduo
Se voc quiser: adicionar caracteres ao final de um string remover caracteres de um string
Use as instrues de string ASCII para modificar e criar strings de caracteres ASCII.
Por exemplo: adicionar caracteres de terminao ou delimitadores a um string remover caracteres de cabealho ou controle de um string Use esta instruo: CONCAT DELETE FIND INSERT MID Consulte pgina: 17-3 17-5 17-7 17-9 17-11
determinar o caracter inicial de um sub-string localizar um grupo de caracteres dentro de um string inserir caracteres em um string extrair caracteres de um string criar um string que usa variveis extrair informaes de um cdigo de barras
Voc tambm pode usar as seguintes instrues para comparar ou converter caracteres ASCII:
Se voc quiser: ver se os caracteres so iguais a caracteres especficos ver se os caracteres no so iguais a caracteres especficos ver se os caracteres so iguais ou maiores que caracteres especficos ver se os caracteres so maiores que caracteres especficos ver se os caracteres so iguais ou menores que caracteres especficos ver se os caracteres so menores que caracteres especficos converter caracteres para um valor SINT, INT, DINT ou REAL converter caracteres para um valor REAL converter um valor SINT, INT, DINT ou REAL para um string de caracteres ASCII converter um valor REAL para um string de caracteres ASCII Use esta instruo: EQU NEQ GEQ GRT LEQ LES STOD STOR DTOS RTOS Consulte pgina: 4-7 4-38 4-11 4-15 4-19 4-23 18-3 18-5 18-7 18-9
17-2
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
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.
17-3
Linguagens Disponveis:
Lgica Ladder
Insira: tag que contm os caracteres iniciais tag que contm os caracteres finais tag para armazenar o resultado
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 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.
17-4
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. Mtodo de Recuperao: 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.
17-5
Linguagens Disponveis:
Lgica Ladder
? ?? ? ?? ? ?? ? ??
42617
Operando: Source
Formato: tag
Insira: o tag que contm o string do qual voc quer remover caracteres nmero de caracteres a serem removidos posio do primeiro caracter a ser removido tag para armazenar o resultado
Notas: Os tipos de string so: tipo de dados STRING padro qualquer tipo de string novo que voc criar O Start mais o Quantity deve ser menor ou igual ao tamanho de DATA de Source. Insira um nmero entre 1 e o tamanho de DATA de Source.
Quantidade
Start
Destination
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.
17-6
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. O valor de Start ou Quantity invlido. Mtodo de Recuperao: 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. 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.
56
17-7
Linguagens Disponveis:
Lgica Ladder
A instruo FIND localiza a posio inicial de um string especfico dentro de outro string.
? ?? ? ?? ? ?? ? ??
42617
Tipo: tipo de string tipo de string SINT INT DINT SINT INT DINT
Insira: string a ser procurado string a ser encontrado posio em Source para iniciar a busca tag que armazena a posio inicial do string a ser encontrado
Notas: Os tipos de string so: tipo de dados STRING padro qualquer tipo de string novo que voc criar Insira um nmero entre 1 e o tamanho de DATA de Source.
Result:
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.
17-8
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. O valor de Start invlido. Mtodo de Recuperao: 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.
56
17-9
Linguagens Disponveis:
Lgica Ladder
? ?? ? ?? ? ?? ? ??
42617
Insira: string para o qual adicionar os caracteres string contendo os caracteres a serem adicionados posio em Source A na qual adicionar os caracteres string para armazenar o resultado
Notas: Os tipos de string so: tipo de dados STRING padro qualquer tipo de string novo que voc criar Insira um nmero entre 1 e o tamanho de DATA de Source.
Start
Result:
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.
17-10
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. O valor de Start invlido. Mtodo de Recuperao: 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.
56
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.
? ?? ? ?? ? ?? ? ??
42617
Operando: Source
Formato: tag
Insira:
Notas:
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 nmero de caracteres a serem copiados posio do primeiro caracter a ser copiado string para o qual os caracteres so copiados O Start mais o Quantity deve ser menor ou igual ao tamanho de DATA de Source. Insira um nmero entre 1 e o tamanho de DATA de Source.
Quantidade
Start
Destination
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.
17-12
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. O valor de Start ou Quantity invlido. Mtodo de Recuperao: 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. 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.
56
Captulo
18
Introduo
Se voc quiser converter: Representao de um valor de inteiro em um valor SINT, INT, DINT ou REAL Representa ASCII de um valor de ponto flutuante para um valor REAL
Use as instrues de converso ASCII para converter dados de ou para strings de caracteres ASCII.
Por exemplo: converter um valor de uma balana ou outro dispositivo ASCII para um inteiro, de forma voc o use em sua lgica converter um valor de uma balana ou outro dispositivo ASCII para um valor REAL, de forma voc possa us-lo em sua lgica Use esta instruo: STOD Consulte pgina: 18-3
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 Valor REAL para um string de caracteres ASCII converter uma varivel para um string ASCII, de forma que voc possa envi-la para um terminal MessageView
DTOS
18-7
RTOS
18-9
Voc tambm pode usar as seguintes instrues para comparar ou manipular caracteres ASCII:
Se voc quiser: adicionar caracteres ao final de um string remover caracteres de um string determinar o caracter inicial de um sub-string inserir caracteres em um string extrair caracteres de um string ver se os caracteres so iguais a caracteres especficos ver se os caracteres no so iguais a caracteres especficos ver se os caracteres so iguais ou maiores que caracteres especficos ver se os caracteres so maiores que caracteres especficos ver se os caracteres so iguais ou menores que caracteres especficos ver se os caracteres so menores que caracteres especficos Use esta instruo: CONCAT DELETE FIND INSERT MID EQU NEQ GEQ GRT LEQ LES Consulte pgina: 17-3 17-5 17-7 17-9 17-11 4-7 4-38 4-11 4-15 4-19 4-23
18-2
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
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.
18-3
Linguagens Disponveis:
Lgica Ladder
A instruo STOD converte a representao ASCII de um inteiro para um valor inteiro ou REAL.
? ?? ? ??
42617
Operando: Source
Formato: tag
Notas: Os tipos de string so: tipo de dados STRING padro qualquer tipo de string novo que voc criar 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).
Destination
tag
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.
18-4
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. Mtodo de Recuperao: 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:
53
Reduza o tamanho do valor ASCII. Use um tipo de dados maior para o destino.
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.
18-5
Linguagens Disponveis:
Lgica Ladder
A instruo STOR converte a representao ASCII de um valor de ponto flutuante para um valor REAL.
? ?? ? ??
42617
Operando: Source
Formato: tag
Notas: Os tipos de string so: tipo de dados STRING padro qualquer tipo de string novo que voc criar
Destination
REAL
tag
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.
18-6
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. Mtodo de Recuperao: 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:
53
Reduza o tamanho do valor ASCII. Use um tipo de dados maior para o destino.
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.
Voc pode ver uma pequena diferena entre as partes fracionadas de Source e Destination.
18-7
Linguagens Disponveis:
Lgica Ladder
? ?? ? ??
42617
Operando: Source
Formato: tag
Notas: Se Source for REAL, a instruo converte-o para um valor DINT. Consulte REAL para um inteiro na pgina A-6. Os tipos de string so: tipo de dados STRING padro qualquer tipo de string novo que voc criar
Destination
tag
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.
18-8
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. Mtodo de Recuperao: 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.
52
18-9
Linguagens Disponveis:
Lgica Ladder
? ?? ? ??
42617
Insira: tag que contm o valor REAL 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.
18-10
Condies de Falha:
Tipo: 4 Cdigo: 51 Causa: O valor LEN do tag string maior que o tamanho de DATA do tag string. Mtodo de Recuperao: 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.
52
Voc pode ver uma pequena diferena entre as partes fracionadas de Source e Destination.
Apndice
Atributos Comuns
Introduo
Valores Imediatos
Sempre que voc inserir um valor imediato (constante) no formato decimal (por ex.:-2,3), o controlador armazenar o valor usando 32 bits. Se voc inserir um valor em uma base diferente da decimal como, por exemplo, binria ou hexadecimal, e no especificar todos os 32 bits, o controlador colocar um zero nos bits no especificados (preenchimento com zero). EXEMPLO
Se voc inserir: -1 16#ffff (-1) 8#1234 (668) 2#1010 (10)
Converses de Dados
A-2
Atributos Comuns
As instrues executam mais rpido e necessitam de menos memria se todos os operandos da instruo usarem:
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.
Atributos Comuns
A-3
O exemplo a seguir mostra os resultados da converso de um valor usando uma extenso de sinal e preenchimento com zero.
Este valor. Converte para este valor por extenso de sinal Converte este valor por preenchimento com zero 2#1111_1111_1111_1111 2#1111_1111_1111_1111_1111_1111_1111_1111 (-1) (-1)
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.
42093
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
Atributos Comuns
A-5
EXEMPLO
Exemplo: Combinao de um tag INT com um valor imediato J que remote_rack_1:I.Data[0] um tag INT, o valor com o qual deve ser comparado primeiro se move para int_0, em um tag INT, tambm. Em seguida, a instruo EQU compara os dois tags.
EQU Equal Source A remote_rack_1:I.Data[0] 2#1111_1111_1111_1111 Source B int_0 2#1111_1111_1111_1111
2#1111_1111_1111_1111
42093
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.
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
Este valor DINT: 16#0001_0081 (65.665)
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
Este valor REAL: -2,5 -1,6 -1,5 -1,4 1,4 1,5 1,6 2,5
Atributos Comuns
A-7
IMPORTANTE
Os flags de status aritmtico so baseados no valor a ser armazenado. As instrues que normalmente no afetam as palavras-chaves do status aritmtico podem parecer faz-lo se a converso de tipo ocorrer por causa dos tipos de dados para os parmetros da instruo. O processo de converso de tipo define as palavras-chaves do status aritmtico.
A-8
Atributos Comuns
Apndice
Introduo
Este apndice descreve caractersticas nicas das instrues de bloco de funo. Estude as informaes deste apndice para entender corretamente como as rotinas de bloco de funo operaro.
IMPORTANTE
Quando programar no bloco de funo, limite a faixa de unidade de medida para +/-10+/-15 pois os clculos internos de ponto flutuante so feitos usando ponto flutuante de preciso nica. As unidades de medida fora desta faixa podem acarretar em perda de preciso se os resultados se aproximarem das limitaes do ponto flutuante de preciso nica (+/-10+/-38).
Dados Retentivos
Se usar um IREF para especificar dados de entrada para uma instruo de bloco de funo, os dados neste IREF sero retidos para a varredura da rotina do bloco de funo. O IREF retm dados de tags de uso geral do controlador e especficos do programa. O controlador atualiza todos os dados IREF no incio de cada varredura.
IREF
Neste exemplo, o valor de tagA armazenado no incio da execuo da rotina. O valor armazenado usado na execuo do Block_01. Este mesmo valor tambm usado na execuo do Block_02. Se o valor de tagA se altera durante a execuo da rotina, o valor armazenado de tagA no IREF no se altera at a prxima execuo da rotina.
Block_01
tagA
Block_02
B-2
Este exemplo igual ao do anterior. O valor de tagA armazenado somente uma vez no incio da execuo da rotina. A rotina usa este valor armazenado durante toda a rotina.
Block_01
tagA
Block_02
tagA
Ordem de Execuo
O software de programao RSLogix 5000 determina automaticamente a ordem de execuo para os blocos de funo na rotina quando:
se verifica uma rotina de bloco de funo se verifica um projeto que contm uma rotina de bloco de funo se descarrega um projeto que contm uma rotina de bloco de funo
Define-se a ordem de execuo atravs da conexo de blocos de funo juntos e da indicao de fios localizados de feedback, se necessrio. Se os blocos de funo no so conectados juntos, no existe ordem de execuo para determinar.
Se os blocos so conectados sequencialmente, a ordem de execuo se move da entrada para sada. As entradas de um bloco devem estar disponveis antes que o controlador possa executar este bloco. Por exemplo, o bloco 2 deve executar antes do bloco 3, pois as sadas do bloco 2 alimentam as entradas do bloco 3.
1 2 3
B-3
A ordem de execuo se refere somente aos blocos que so conectados juntos. O exemplo a seguir est correto pois os dois grupos de blocos no esto conectados juntos. Os blocos dentro de um grupo especfico executam a ordem apropriada em relao aos blocos daquele grupo.
1 3 5
Se um grupo de blocos estiver em uma malha, o controlador no pode determinar que entradas devem estar disponveis primeiro. Use um fio de feedback localizado para determin-las. Se um pino de entrada estiver conectado a um fio de feedback localizado, a entrada no deve estar disponvel antes que o bloco possa executar. Neste exemplo, o bloco 1 usa a sada do bloco 3 que foi produzido na execuo anterior da rotina.
1 2 3
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.
B-4
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 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. HLL INTG PI PIDE SCL SOC 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
NTCH PMUL POSP RLIM RMPS SCRV SEL SNEG SRTP SSUM TOT UPDN
BAND BNOT BOR BXOR CUTD D2SD D3SD DFF JKFF OSFI
Modos de Temporizao
Estas instrues de controle de processo e inversor suportam modos diferentes de temporizao. DEDT DERV HPF INTG LDLG LDL2 LPF NTCH PI PIDE RLIM SCRV SOC TOT
B-5
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.
B-6
Parmetros de entrada
Parmetro de Entrada: TimingMode Tipo de Dados: DINT Descrio: 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 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 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
RTSTime
DINT
RTSTimeStamp
DINT
B-7
Parmetros de sada
Parmetro de Sada: Tipo de Dados: DeltaT REAL Descrio: Tempo transcorrido entre atualizaes. Este o tempo transcorrido em segundos usado pelo algoritmo de controle para calcular a sada de processo. Peridico: DeltaT = taxa de varredura da tarefa se a tarefa for Periodic, DeltaT = tempo transcorrido desde a execuo da instruo anterior se a tarefa for Continuous Amostragem Configurada: DeltaT = OversampleDT Amostragem em Tempo Real: DeltaT = (RTSTimeStampn - RTSTimeStampn-1) Status: TimingModeInv (Status.27) DINT BOOL Status do bloco de funo. Valor Invalid TimingMode. Usado somente no modo de amostragem em tempo real. Ajustado quando o ABS | DeltaT RTSTime | > 1 (,001 segundo). Valor Invalid RTSTime. Valor Invalid RTSTimeStamp. Valor Invalid DeltaT.
RTSMissed (Status.28) BOOL RTSTimeInv (Status.29) RTSTimeStampInv (Status.30) DeltaTInv (Status.31) BOOL BOOL BOOL
B-8
Temporizao peridica
DeltaT = OversampleDT Se DeltaT < 0 ou DeltaT > 4194,303 segs. a instruo ajusta DeltaT = 0,0 e energiza o bit apropriado em Status. Se DeltaT > 0, a instruo executa. Determine o tipo de tarefa
DeltaT = RTSTimeStampn - RTSTimeStampn-1 Se DeltaT > 0, a instruo executa. Se |RTSTIME - DeltaT| > 1, a instruo energiza o bit RTSMissed em Status.
Tarefa peridica
Tarefa no peridica
DeltaT = tempo transcorrido desde a ltima execuo Se DeltaT > 0, a instruo executa.
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:
Um programa solicita para ir ao controle de Programa. Um programa solicita para ir ao controle pelo Operador. Um operador solicita para ir ao controle de Programa. 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.
B-10
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.
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..
B-12
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.
ndice
converso para BCD 15-8 converso para inteiro 15-12 cpia 7-32 cpia sncrona 7-32 co-seno 13-5
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
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
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
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
ndice
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,
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
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
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
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
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
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
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
truncagem 15-15
V
valor absoluto 5-29 valores imediatos A-1
X
X elevado potncia de Y 14-7
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
Z
zeramento 6-16 zona morta 12-37
ndice
Notas:
[ctrl-@] NUL 0
PN 957464-55
2001 Rockwell International Corporation.