Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
CONTROL LOGIX2.pdf Instruções Gerais dos Controladores Logix5000™ 1756-Lx, 1769-Lx, 1789-Lx, 1794-Lx, PowerFlex 700S Manual de Referência Informações Importantes ao Usuário Por causa da diversidade de usos dos produtos descritos nesta publicação, os responsáveis pela aplicação e usos deste equipamento de controle devem certificar-se de que todas as etapas necessárias foram tomadas para garantir que cada aplicação e uso cumpram todos os requisitos de desempenho e segurança, incluindo todas as leis, regulamentações, códigos e padrões aplicáveis. Em nenhum momento a Rockwell Automation (Allen-Bradley) será responsável por danos indiretos ou que possam vir acontecer como resultado do uso ou a aplicação destes produtos. As ilustrações, gráficos, exemplos de programas e de layout mostrados neste manual são apenas para fins ilustrativos. Visto que há diversas variáveis e requisitos associados a qualquer instalação em especial, a Rockwell Automation/Allen-Bradley não assume a responsabilidade (incluindo a responsabilidade por propriedade intelectual) pelo uso real baseado nos exemplos mostrados nesta publicação. A publicação SGI-1.1, Diretrizes de Segurança para Aplicação, Instalação e Manutenção dos Dispositivos de Controle Eletrônico (disponível no escritório local da Rockwell Automation/Allen-Bradley), descreve algumas diferenças importantes entre os equipamentos eletrônicos e dispositivos eletromecânicos, que devem ser levadas em consideração ao utilizar produtos como os descritos nesta publicação. É proibida a reprodução, parcial ou total, deste manual sem a permissão por escrito da Rockwell Automation. Ao longo deste manual, usamos observações a fim de chamar a sua atenção para algumas considerações de segurança. As anotações a seguir acompanham declarações que ajudam você a identificar, evitar um perigo potencial e a reconhecer as suas conseqüências: Allen-Bradley, ControlLogix, DH+, Logix5000, Logix5550, CLP-2, CLP-3, CLP-5 RSLinx, RSLogix 5000, RSNetWorx e SLC são marcas da Rockwell Automation ControlNet é uma marca registrada da ControlNet International, Ltda. Ethernet é uma marca registrada da Digital Equipment Corporation, Intel e Xerox Corporation. ATENÇÃO ! Identifica as informações sobre práticas ou circunstâncias que podem causar danos pessoais ou a morte, danos à propriedade ou perdas econômicas. IMPORTANTE Identifica as informações críticas para aplicação e compreensão bem-sucedidas do produto. Suporte da Rockwell Automation Antes de entrar em contato com a Rockwell Automation para assistência técnica, sugerimos que você revise as informações sobre as localizações de falhas contidas nesta primeira publicação. Caso o problema persista, telefone para o representante local da Rockwell Automation ou entre em contato com a Rockwell Automation por: Telefone Estados Unidos/Canadá 1.440.646.5800 Outras Localidades Você pode obter o número do telefone em seu país através da Internet: 1. Acesse o site http://www.ab.com 2. Clique em Product Support (http://support.automation.rockwell.com) 3. Em Support Centers, clique em Contact Information Internet ⇒ 1. Acesse o site http://www.ab.com 2. Clique em Product Support (http://support.automation.rockwell.com) Notas: Resumo das Alterações Introdução A versão desse documento contém informações novas e atualizadas. Informações Atualizadas Este documento contém as seguintes alterações: • Agora, este documento inclui texto estruturado, além da lógica ladder e bloco de funções. • O início de cada capítulo lista as linguagens disponíveis para as instruções descritas no capítulo. • A tabela de execução de cada instrução inclui uma condição postscan. Este documento contém estas alterações específicas: Alteração: Consulte o capítulo: As instruções BAND, BOR, BXOR e BNOT foram adicionadas a este manual para que o bitwise e as instruções de lógica estejam no mesmo manual. Elas foram removidas do Logix5000 Controllers Process Control and Drives Instruction Set Reference Manual, publicação 1756-RM006. 6 A fonte para uma instrução SIZE pode ser um tag do array. Você não precisa mais especificar o primeiro elemento no array. 7 Adição da instrução JXR que somente era compatível com os controladores SoftLogix5800 10 Adição das instruções EOT, SFP e SFR 10 O Apêndice A contém informações extras sobre retenção de IREFs e OREFs. IREFs e OREFs podem usar o mesmo nome de tag sem alterar os valores de IREFs para um scan. A Um novo apêndice explica como programar em texto estruturado. C 1 Publicação 1756-RM003F-PT-P - Maio 2002 2 Resumo das Alterações Notas: Publicação 1756-RM003F-PT-P - Maio 2002 Localizador de Instrução Onde Encontrar uma Instrução Use este localizador para encontrar detalhes de referência sobre as instruções do Logix (as instruções em cinza estão disponíveis em outros manuais). Este localizador também lista as linguagens de programação que estão disponíveis para as instruções. Se o localizador listar: A instrução está documentada em: um número de página este manual controle de processo Manual de Referência do Conjunto de Instruções dos Inversores e Controle de Processo dos Controladores Logix5000, publicação 1756-RM006 controle de posicionamento (motion) Logix5000 Controllers Motion Instruction Set Reference Manual, publicação 1756-RM007 Instrução: Local: Linguagens: ABL 16-5 lógica ladder texto estruturado ABS 5-26 lógica ladder texto estruturado bloco de funções ACB 16-8 lógica ladder texto estruturado ACL 16-10 lógica ladder texto estruturado ACOS 13-10 texto estruturado ACS 13-10 lógica ladder bloco de funções ADD 5-5 lógica ladder texto estruturado bloco de funções AFI 10-22 lógica ladder AHL 16-12 lógica ladder texto estruturado ALM controle de processo texto estruturado bloco de funções AND 6-21 lógica ladder texto estruturado bloco de funções ARD 16-15 lógica ladder texto estruturado ARL 16-18 lógica ladder texto estruturado ASIN 13-8 texto estruturado ASN 13-8 lógica ladder bloco de funções ATAN 13-12 texto estruturado ATN 13-12 lógica ladder bloco de funções AVE 7-35 lógica ladder AWA 16-22 lógica ladder texto estruturado AWT 16-26 lógica ladder texto estruturado BAND 6-33 texto estruturado bloco de funções BNOT 6-40 texto estruturado bloco de funções BOR 6-35 texto estruturado bloco de funções BRK 11-5 lógica ladder BSL 8-2 lógica ladder BSR 8-5 lógica ladder BTD 6-11 lógica ladder BTDT 6-14 texto estruturado bloco de funções BTR (tipo MSG) 3-2 lógica ladder texto estruturado BTW (tipo MSG) 3-2 lógica ladder texto estruturado BXOR 6-38 texto estruturado bloco de funções CLR 6-17 lógica ladder texto estruturado Instrução: Local: Linguagens: 1 Publicação 1756-RM003F-PT-P - Maio 2002 2 Localizador de Instrução CMP 4-2 lógica ladder CONCAT 17-3 lógica ladder texto estruturado COP 7-25 lógica ladder texto estruturado COS 13-4 lógica ladder texto estruturado bloco de funções CPS 7-25 lógica ladder texto estruturado CPT 5-2 lógica ladder CTD 2-25 lógica ladder CTU 2-22 lógica ladder CTUD 2-29 texto estruturado bloco de funções D2SD controle de processo texto estruturado bloco de funções D3SD controle de processo texto estruturado bloco de funções DDT 12-9 lógica ladder DEDT controle de processo texto estruturado bloco de funções DEG 15-2 lógica ladder texto estruturado bloco de funções DELETE 17-5 lógica ladder texto estruturado DERV controle de processo texto estruturado bloco de funções DFF controle de processo texto estruturado bloco de funções DIV 5-14 lógica ladder texto estruturado bloco de funções DTOS 18-7 lógica ladder texto estruturado DTR 12-16 lógica ladder EOT 10-24 lógica ladder texto estruturado EQU 4-7 lógica ladder texto estruturado bloco de funções Instrução: Local: Linguagens: ESEL controle de processo texto estruturado bloco de funções FAL 7-6 lógica ladder FBC 12-2 lógica ladder FFL 8-8 lógica ladder FFU 8-14 lógica ladder FGEN controle de processo texto estruturado bloco de funções FIND 17-7 lógica ladder texto estruturado FLL 7-31 lógica ladder FOR 11-2 lógica ladder FRD 15-9 lógica ladder bloco de funções FSC 7-17 lógica ladder GEQ 4-10 lógica ladder texto estruturado bloco de funções GRT 4-14 lógica ladder texto estruturado bloco de funções GSV 3-29 lógica ladder texto estruturado HLL controle de processo texto estruturado bloco de funções HPF controle de processo texto estruturado bloco de funções INSERT 17-9 lógica ladder texto estruturado INTG controle de processo texto estruturado bloco de funções JKFF controle de processo texto estruturado bloco de funções JMP 10-2 lógica ladder JSR 10-4 lógica ladder texto estruturado bloco de funções JXR 10-13 lógica ladder LBL 10-2 lógica ladder LDL2 controle de processo texto estruturado bloco de funções Instrução: Local: Linguagens: Publicação 1756-RM003F-PT-P - Maio 2002 Localizador de Instrução 3 LDLG controle de processo texto estruturado bloco de funções LEQ 4-18 lógica ladder texto estruturado bloco de funções LES 4-22 lógica ladder texto estruturado bloco de funções LFL 8-20 lógica ladder LFU 8-26 lógica ladder LIM 4-26 lógica ladder bloco de funções LN 14-2 lógica ladder texto estruturado bloco de funções LOG 14-4 lógica ladder texto estruturado bloco de funções LOWER 18-13 lógica ladder texto estruturado LPF controle de processo texto estruturado bloco de funções MAAT controle de posicionamento (motion) lógica ladder texto estruturado MAFR controle de posicionamento lógica ladder texto estruturado MAG controle de posicionamento lógica ladder texto estruturado MAH controle de posicionamento lógica ladder texto estruturado MAHD controle de posicionamento lógica ladder texto estruturado MAJ controle de posicionamento lógica ladder texto estruturado MAM controle de posicionamento lógica ladder texto estruturado MAOC controle de posicionamento lógica ladder texto estruturado MAPC controle de posicionamento lógica ladder texto estruturado MAR controle de posicionamento lógica ladder texto estruturado Instrução: Local: Linguagens: MAS controle de posicionamento lógica ladder texto estruturado MASD controle de posicionamento lógica ladder texto estruturado MASR controle de posicionamento lógica ladder texto estruturado MATC controle de posicionamento lógica ladder texto estruturado MAVE controle de processo texto estruturado bloco de funções MAW controle de posicionamento lógica ladder texto estruturado MAXC controle de processo texto estruturado bloco de funções MCCP controle de posicionamento lógica ladder texto estruturado MCD controle de posicionamento lógica ladder texto estruturado MCR 10-18 lógica ladder MDF controle de posicionamento lógica ladder texto estruturado MDO controle de posicionamento lógica ladder texto estruturado MDOC controle de posicionamento lógica ladder texto estruturado MDR controle de posicionamento lógica ladder texto estruturado MDW controle de posicionamento lógica ladder texto estruturado MEQ 4-32 lógica ladder texto estruturado bloco de funções MGS controle de posicionamento lógica ladder texto estruturado MGSD controle de posicionamento lógica ladder texto estruturado MGSP controle de posicionamento lógica ladder texto estruturado MGSR controle de posicionamento lógica ladder texto estruturado MID 17-11 lógica ladder texto estruturado Instrução: Local: Linguagens: Publicação 1756-RM003F-PT-P - Maio 2002 4 Localizador de Instrução MINC controle de processo texto estruturado bloco de funções MOD 5-18 lógica ladder texto estruturado bloco de funções MOV 6-3 lógica ladder MRAT controle de posicionamento lógica ladder texto estruturado MRHD controle de posicionamento lógica ladder texto estruturado MRP controle de controle de posicionamento lógica ladder texto estruturado MSF controle de controle de posicionamento lógica ladder texto estruturado MSG 3-2 lógica ladder texto estruturado MSO controle de controle de posicionamento lógica ladder texto estruturado MSTD controle de processo texto estruturado bloco de funções MUL 5-11 lógica ladder texto estruturado bloco de funções MUX controle de processo bloco de funções MVM 6-5 lógica ladder MVMT 6-8 texto estruturado bloco de funções NEG 5-24 lógica ladder texto estruturado bloco de funções NEQ 4-37 lógica ladder texto estruturado bloco de funções NOP 10-23 lógica ladder NOT 6-30 lógica ladder texto estruturado bloco de funções NTCH controle de processo texto estruturado bloco de funções Instrução: Local: Linguagens: ONS 1-11 lógica ladder OR 6-24 lógica ladder texto estruturado bloco de funções OSF 1-16 lógica ladder OSFI 1-16 texto estruturado bloco de funções OSR 1-14 lógica ladder OSRI 1-14 texto estruturado bloco de funções OTE 1-6 lógica ladder OTL 1-7 lógica ladder OTU 1-9 lógica ladder PI controle de processo texto estruturado bloco de funções PID 12-19 lógica ladder texto estruturado PIDE controle de processo texto estruturado bloco de funções PMUL controle de processo texto estruturado bloco de funções POSP controle de processo texto estruturado bloco de funções RAD 15-4 lógica ladder texto estruturado bloco de funções RES 2-33 lógica ladder RESD controle de processo texto estruturado bloco de funções RET 10-4 e 11-6 lógica ladder texto estruturado bloco de funções RLIM controle de processo texto estruturado bloco de funções RMPS controle de processo texto estruturado bloco de funções RTO 2-9 lógica ladder RTOR 2-19 texto estruturado bloco de funções RTOS 18-9 lógica ladder texto estruturado Instrução: Local: Linguagens: Publicação 1756-RM003F-PT-P - Maio 2002 Localizador de Instrução 5 SBR 10-4 lógica ladder texto estruturado bloco de funções SCL controle de processo texto estruturado bloco de funções SCRV controle de processo texto estruturado bloco de funções SEL controle de processo bloco de funções SETD controle de processo texto estruturado bloco de funções SFP 10-26 lógica ladder texto estruturado SFR 10-28 lógica ladder texto estruturado SIN 13-2 lógica ladder texto estruturado bloco de funções SIZE 7-50 lógica ladder texto estruturado SNEG controle de processo texto estruturado bloco de funções SOC controle de processo texto estruturado bloco de funções SQI 9-2 lógica ladder SQL 9-10 lógica ladder SQO 9-6 lógica ladder SQR 5-21 lógica ladder bloco de funções SQRT 5-21 texto estruturado SRT 7-40 lógica ladder texto estruturado SRTP controle de processo texto estruturado bloco de funções SSUM controle de processo texto estruturado bloco de funções SSV 3-29 lógica ladder texto estruturado STD 7-45 lógica ladder STOD 18-3 lógica ladder texto estruturado Instrução: Local: Linguagens: STOR 18-5 lógica ladder texto estruturado SUB 5-8 lógica ladder texto estruturado bloco de funções SWPB 6-18 lógica ladder texto estruturado TAN 13-6 lógica ladder texto estruturado bloco de funções TND 10-16 lógica ladder TOD 15-6 lógica ladder bloco de funções TOF 2-5 lógica ladder TOFR 2-16 texto estruturado bloco de funções TON 2-2 lógica ladder TONR 2-13 texto estruturado bloco de funções TOT controle de processo texto estruturado bloco de funções TRN 15-11 lógica ladder bloco de funções TRUNC 15-11 texto estruturado UID 10-20 lógica ladder texto estruturado UIE 10-20 lógica ladder texto estruturado UPDN controle de processo texto estruturado bloco de funções UPPER 18-11 lógica ladder texto estruturado XIC 1-2 lógica ladder XIO 1-4 lógica ladder XOR 6-27 lógica ladder texto estruturado bloco de funções XPY 14-6 lógica ladder texto estruturado bloco de funções Instrução: Local: Linguagens: Publicação 1756-RM003F-PT-P - Maio 2002 6 Localizador de Instrução Notas: Publicação 1756-RM003F-PT-P - Maio 2002 Prefácio Introdução Este manual é um dos diversos documentos de instrução baseado em Logix. Quem Deve Utilizar este Manual Este documento fornece ao programador detalhes sobre cada instrução disponível para um controlador baseado em Logix. Você já deve estar familiarizado sobre como o controlador baseado em Logix armazena e processa dados. Os programadores novos devem ler todos os detalhes sobre uma instrução antes de usá-la. Já programadores mais experientes podem consultar as informações sobre as instruções para verificar os detalhes. Tarefa/Meta: Documentos: Programação do controlador para aplicações seqüenciais Logix5000 Controllers General Instructions Reference Manual, publicação 1756-RM003 Programação do controlador para aplicações de processo ou inversores Manual de Referência do Conjunto de Instruções dos Inversores e Controle de Processo dos Controladores Logix5000 , publicação 1756-RM006 Programação do controlador para aplicações de posicionamento (motion) Logix5000 Controllers Motion Instructions Set Reference Manual, publicação 1756-RM007 Importação de um arquivo de texto ou tags em um projeto Logix5000 Controllers Import/Export Reference Manual, publicação 1756-RM084 Exportação de um projeto ou tags para um arquivo texto Conversão de uma aplicação CLP-5 ou SLC 500 para uma aplicação Logix5000 Logix5550 Controller Converting PLC-5 ou SLC 500 Logic to Logix5550 Logic Reference Manual, publicação 1756-RM085 Você está aqui 1 Publicação 1756-RM003F-PT-P - Maio 2002 2 Prefácio Objetivo do Manual Este manual fornece uma descrição de cada instrução neste formato. Os ícones a seguir ajudam a identificar as informações específicas da linguagem: Essa seção: Fornece este tipo de informação: Nome da instrução identifica a instrução define se a instrução é de entrada ou de saída Operandos lista todos os operandos da instrução Estrutura da instrução lista os valores e os bits de status de controle da instrução, se houver Descrição descreve o uso da instrução define quaisquer diferenças quando a instrução estiver habilitada e desabilitada, se apropriado Flags de Status Aritmético: define se a instrução interfere ou não nos flags de status aritmético consulte o apêndice Atributos Comuns Condições de Falha: define se a instrução gera falhas graves ou de advertência se necessário, define o código e o tipo da falha Execução define a maneira como a instrução opera EXEMPLO fornece pelo menos um exemplo de programação em cada linguagem de programação disponível inclui uma descrição explicando cada exemplo se disponível em lógica ladder, descreve os operandos se disponível em bloco de funções, descreve os operandos Os pinos mostrados no bloco de funções padrão são somente pinos básicos. A tabela de operandos lista todos os pinos possíveis para um bloco de funções. se disponível em texto estruturado, descreve os operandos Este ícone: Indica esta linguagem de programação: lógica ladder texto estruturado bloco de funções Publicação 1756-RM003F-PT-P - Maio 2002 Prefácio 3 Informações Comuns para Todas as Instruções O conjunto de instruções do Logix5000 possui alguns atributos comuns: Convenções e Termos Relacionados Energizar e desenergizar Este manual usa energizar e desenergizar para definir o status de bits (booleanos) e valores (não booleanos): Se um operando ou parâmetro suporta mais do que um tipo de dados, os tipos de dados em negrito indicam os tipos de dados ótimos. Uma instrução executa mais rapidamente e requer menos memória se todos os operandos da instrução usarem o mesmo tipo de dados ótimo, geralmente, DINT ou REAL. Condição de linha de lógica ladder O controlador avalia as instruções de lógica ladder com base na condição da linha que antecede a instrução (entrada da condição da linha). Com base na entrada da condição da linha e na instrução, o controlador define a condição da linha seguindo a instrução (saída da condição da linha) que, por sua vez, afeta qualquer instrução subseqüente. Para obter esta informação: Consulte este apêndice: atributos comuns apêndice Atributos Comuns define: • flags de status aritmético: • tipos de dados • palavras-chaves atributos do bloco de funções apêndice Atributos do Bloco de Funções define: • controle do programa e operador • modos de temporização Este termo: Significa: energizar o bit está energizado em 1 (ON) um valor está energizado em um número diferente de zero desenergizar o bit está desenergizado em 0 (OFF) todos os bits em um valor são desenergizados em 0 instrução de entrada condição da entrada da linha instrução de saída condição da saída da linha Publicação 1756-RM003F-PT-P - Maio 2002 4 Prefácio Se a condição da entrada da linha para uma instrução de entrada for verdadeira, o controlador avalia a instrução e energiza a condição da saída da linha com base nos resultados da instrução. Se a instrução for avaliada como verdadeira, a condição da saída da linha é verdadeira; Se a instrução for avaliada como falsa, a condição da saída da linha é falsa. O controlador também efetua o prescan das instruções. O prescan é um scan especial de todas as rotinas no controlador. O controlador efetua o scan de todas as rotinas e sub-rotinas principais durante o prescan, mas ignora os saltos que poderiam pular a execução das instruções. 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 o prescan de instruções de lógica ladder para resetar as E/S não retentivas e os valores internos. Durante o prescan, os valores de entrada não são atuais e as saídas não são escritas. As condições a seguir geram a prescan: • Passagem de modo de Programa para Operação • Entrada automática no modo de Operação de uma condição de energização. A prescan não ocorre para um programa quando: • O programa se torna determinado enquanto o controlador está operando. • O programa não é determinado quando o controlador entra no modo Run. Estados do bloco de funções O controlador avalia as instruções do bloco de funções baseado no estado de diferentes condições. Condição Possível: Descrição: prescan O prescan para as rotinas do bloco de funções é igual a das rotinas de lógica ladder. A única diferença é que o parâmetro EnableIn para cada instrução do bloco de funções é desenergizada durante a prescan. primeiro scan da instrução O primeiro scan da instrução se refere à primeira vez que uma instrução é executada após o prescan. O controlador usa o primeiro scan da instrução para ler as entradas em corrente e determinar o estado apropriado em que se deve estar. primeira execução da instrução A primeira operação da instrução se refere a primeira vez que a instrução executa com uma nova instância de estrutura de dados. O controlador usa a primeira operação da instrução para gerar coeficientes e outros armazenamentos de dados que não se alteram para um bloco de funções após o descarregamento inicial. Publicação 1756-RM003F-PT-P - Maio 2002 Prefácio 5 Toda instrução do bloco de funções também inclui os parâmetros EnableIn e EnableOut: • as instruções do bloco de funções executam normalmente quando o EnableIn é energizado. • Quando o EnableIn é desenergizado, a instrução do bloco de funções executa a lógica da prescan, a lógica da postscan ou apenas pula a execução do algoritmo normal. • O EnableOut espelha o EnableIn, porém, se a execução do bloco de funções detecta uma condição de overflow, o EnableOut também é desenergizado. • A execução do bloco de funções reinicia onde parou quando o EnableIn passa de desenergizado para energizado. Porém existem algumas instruções de bloco de funções que especificam funcionalidade especial, como reinicialização, quando o EnableIn passa de desenergizado para energizado. Para instruções do bloco de funções com parâmetros baseados no tempo, sempre quando o modo de temporização estiver no Oversample, a instrução sempre reiniciará onde parou quando o EnableIn passa de desenergizado para energizado. Se o parâmetro EnableIn não estiver conectado, a instrução sempre executa como normal e o EnableIn se mantém energizado. Se desenergizar o EnableIn, este se alterará para energizar na próxima vez que a instrução executar. IMPORTANTE Ao programar o bloco de funções, limite a amplitude das unidades de medida para +/-10+/-15 pois os cálculos de ponto flutuante interno são feitos através de um único ponto flutuante de precisão. As unidades de medida fora desta amplitude podem resultar em perda de precisão se os resultados ficarem próximos às limitações do único ponto flutuante de precisão (+/-10+/-38). Publicação 1756-RM003F-PT-P - Maio 2002 6 Prefácio Notas: Publicação 1756-RM003F-PT-P - Maio 2002 Conteúdo Capítulo 1 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Examinar Se Energizado (XIC) . . . . . . . . . . . . . . . . . . . . . . 1-2 Examinar Se Desenergizado (XIO) . . . . . . . . . . . . . . . . . . . 1-4 Energizar Saída (OTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Energizar Saída com Retenção (OTL) . . . . . . . . . . . . . . . . . 1-7 Desenergizar Saída com Retenção (OTU) . . . . . . . . . . . . . . 1-9 Monoestável (ONS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 Monoestável Sensível à Borda de Subida (OSR) . . . . . . . . . 1-14 Monoestável Sensível à Borda de Descida (OSF) . . . . . . . . 1-16 Monoestável Sensível à Borda de Subida com Entrada (OSRI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 Monoestável Sensível à Borda de Descida com Entrada (OSFI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20 Capítulo 2 Instruções de Temporizador e Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Temporizador na Energização (TON). . . . . . . . . . . . . . . . . 2-2 Temporizador na Desenergização (TOF) . . . . . . . . . . . . . . 2-5 Temporizador Retentivo (RTO) . . . . . . . . . . . . . . . . . . . . . 2-9 Temporizador na Energização com Reset (TONR) . . . . . . . 2-13 Temporizador na Desenergização com Reset (TOFR) . . . . . 2-16 Temporizador Retentivo com Reset (RTOR) . . . . . . . . . . . . 2-19 Contador Crescente (CTU). . . . . . . . . . . . . . . . . . . . . . . . . 2-22 Contagem Decrescente (CTD) . . . . . . . . . . . . . . . . . . . . . . 2-25 Contagem Crescente/Decrescente (CTUD) . . . . . . . . . . . . . 2-29 Reset (RES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33 Capítulo 3 Instruções de Entrada/Saída (MSG, GSV, SSV) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Mensagem (MSG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Códigos de Erro MSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Códigos de Erro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Códigos de Erro Estendido . . . . . . . . . . . . . . . . . . . . . . 3-9 Códigos de Erro do CLP e do SLC (.ERR) . . . . . . . . . . . 3-11 Códigos de Erro de Block-transfer . . . . . . . . . . . . . . . . 3-12 Especificação dos Detalhes da Configuração . . . . . . . . . . . 3-13 Especificação das Mensagens de Leitura e Escrita da Tabela de Dados CIP. . . . . . . . . . . . . . . . . . . . . . . . 3-14 Reconfiguração de um Módulo de E/S . . . . . . . . . . . . . 3-14 Especificar Mensagens CIP Generic. . . . . . . . . . . . . . . . 3-16 Especificação das mensagens do CLP-5. . . . . . . . . . . . . 3-17 Especificação das Mensagens do SLC . . . . . . . . . . . . . . 3-18 Especificação das Mensagens Block-transfer . . . . . . . . . 3-18 Especificação de Mensagens do CLP-3 . . . . . . . . . . . . . 3-19 Especificação das mensagens do CLP-2. . . . . . . . . . . . . 3-20 Exemplos de Configuração MSG . . . . . . . . . . . . . . . . . . . . 3-21 Especificação de Detalhes de Comunicação . . . . . . . . . . . . 3-22 Especificar um caminho . . . . . . . . . . . . . . . . . . . . . . . . 3-22 i Publicação 1756-RM003F-PT-P - Maio 2002 ii Conteúdo Especificar um Módulo de Comunicação ou Endereço do Módulo:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 Escolha de uma opção de cache: . . . . . . . . . . . . . . . . . 3-27 Obtenção do Valor do Sistema (GSV) e Definição do Valor do Sistema (SSV) . . . . . . . . . . . . . . . . . . . . . . . . . 3-29 Objetos GSV/SSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30 Acesso ao objeto CONTROLLER . . . . . . . . . . . . . . . . . 3-31 Acesso ao objeto CONTROLLERDEVICE . . . . . . . . . . . . 3-32 Acesso ao objeto CST. . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 Acesso ao objeto DF1 . . . . . . . . . . . . . . . . . . . . . . . . . 3-35 Acesso ao objeto FAULTLOG . . . . . . . . . . . . . . . . . . . . 3-38 Acesso ao objeto MESSAGE . . . . . . . . . . . . . . . . . . . . . 3-39 Acesso ao objeto MODULE . . . . . . . . . . . . . . . . . . . . . 3-41 Acesso ao objeto MOTIONGROUP . . . . . . . . . . . . . . . 3-42 Acesso ao objeto PROGRAM . . . . . . . . . . . . . . . . . . . . 3-43 Acesso ao objeto ROUTINE . . . . . . . . . . . . . . . . . . . . . 3-44 Acesso ao objeto SERIALPORT . . . . . . . . . . . . . . . . . . . 3-44 Acesso ao objeto TASK . . . . . . . . . . . . . . . . . . . . . . . . 3-46 Acesso ao objeto WALLCLOCKTIME . . . . . . . . . . . . . . . 3-46 Exemplo de Programação GSV/SSV . . . . . . . . . . . . . . . . . . 3-48 Obtenção de informações de falha . . . . . . . . . . . . . . . . 3-48 Configuração de flags de habilitação e desabilitação . . . 3-49 Capítulo 4 Instruções de Comparação (CMP, EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 Comparação (CMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 Expressões CMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Operadores válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Formatação de expressões . . . . . . . . . . . . . . . . . . . . . . 4-4 Determinação da seqüência da operação . . . . . . . . . . . 4-5 Uso de strings em uma expressão. . . . . . . . . . . . . . . . . 4-5 Igual (EQU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Maior ou Igual a (GEQ). . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 Maior que (GRT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Menor ou Igual a (LEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Menor Que (LES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 Limite (LIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26 Máscara Igual a (MEQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32 Inserção de um valor de máscara imediato . . . . . . . . . . 4-33 Diferente de (NEQ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37 Capítulo 5 Instruções de Cálculo/Matemáticas (CPT, ADD, SUB, MUL, DIV, MOD, SQR, SQRT, NEG, ABS) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Cálculo (CPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Operadores válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 Formatação de expressões . . . . . . . . . . . . . . . . . . . . . . 5-4 Determinação da seqüência da operação . . . . . . . . . . . 5-4 Adição (ADD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Subtração (SUB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Publicação 1756-RM003F-PT-P - Maio 2002 Conteúdo iii Multiplicação (MUL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Divisão (DIV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 Módulo (MOD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 Raiz Quadrada (SQR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21 Negação (NEG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24 Valor Absoluto (ABS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26 Capítulo 6 Instruções de Movimentação/Lógica (MOV, MVM, BTD, MVMT, BTDT, CLR, SWPB, AND, OR, XOR, NOT, BAND, BOR, BXOR, BNOT) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Movimentação (MOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Movimento com Máscara (MVM) . . . . . . . . . . . . . . . . . . . . 6-5 Inserção de um valor de máscara imediato . . . . . . . . . . 6-6 Movimentação com Máscara Com Arquivo-Alvo (MVMT) . . 6-8 Distribuição de Bits (BTD). . . . . . . . . . . . . . . . . . . . . . . . . 6-11 Distribuição de Bits com Arquivo-alvo (BTDT). . . . . . . . . . 6-14 Zeramento (CLR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 Swap (inversão) de Byte (SWPB) . . . . . . . . . . . . . . . . . . . . 6-18 AND (E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21 OR (OU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24 Ou Exclusivo (XOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 Complementação (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 E Booleano (BAND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33 (OU) Booleano (BOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35 (Ou Exclusivo) Booleano (BXOR) . . . . . . . . . . . . . . . . . . . 6-38 NOT Booleano (BNOT). . . . . . . . . . . . . . . . . . . . . . . . . . . 6-40 Capítulo 7 InstruçõesInstruções de Array (Arquivo)/Miscelânea (FAL, FSC, COP, CPS, FLL, AVE, SRT, STD, SIZE) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Seleção do Modo de Operação . . . . . . . . . . . . . . . . . . . . . 7-2 Modo ALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 Modo Numerical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Modo Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Aritmética de Arquivos (FAL). . . . . . . . . . . . . . . . . . . . . . . 7-6 expressões FAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 Operadores válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 Formatação de expressões . . . . . . . . . . . . . . . . . . . . . . 7-16 Determinação da seqüência da operação . . . . . . . . . . . 7-16 Comparação e Busca de Arquivo (FSC) . . . . . . . . . . . . . . . 7-17 Expressões FSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-21 Operadores válidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22 Formatação de expressões . . . . . . . . . . . . . . . . . . . . . . 7-22 Determinação da seqüência da operação . . . . . . . . . . . 7-23 Uso de strings em uma expressão. . . . . . . . . . . . . . . . . 7-23 Cópia de Arquivo (COP) Arquivo de Cópia Síncrono (CPS). 7-25 Preenchimento de Arquivo (FLL) . . . . . . . . . . . . . . . . . . . . 7-31 Média de Arquivo (AVE) . . . . . . . . . . . . . . . . . . . . . . . . . . 7-35 Classificação de Arquivo (SRT) . . . . . . . . . . . . . . . . . . . . . 7-40 Desvio Padrão do Arquivo (STD) . . . . . . . . . . . . . . . . . . . 7-45 Tamanho em Elementos (SIZE) . . . . . . . . . . . . . . . . . . . . . 7-50 Publicação 1756-RM003F-PT-P - Maio 2002 iv Conteúdo Capítulo 8 Instruções de Array (Arquivo)/Deslocamento (BSL, BSR, FFL, FFU, LFL, LFU) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 Deslocamento de Bit para a Esquerda (BSL). . . . . . . . . . . . 8-2 Deslocamento de Bit para a Direita (BSR) . . . . . . . . . . . . . 8-5 Carga FIFO (FFL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 Descarga FIFO (FFU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 Carga LIFO (LFL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 Descarga LIFO (LFU). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 Capítulo 9 Instruções do Seqüenciador (SQI, SQO, SQL) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 Entrada do Seqüenciador (SQI) . . . . . . . . . . . . . . . . . . . . . 9-2 Inserção de um valor de máscara imediato . . . . . . . . . . 9-3 Uso de SQI sem SQO. . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 Saída do Seqüenciador (SQO) . . . . . . . . . . . . . . . . . . . . . . 9-6 Inserção de um valor de máscara imediato . . . . . . . . . . 9-7 Uso de SQI com SQO . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 Reset da posição de SQO. . . . . . . . . . . . . . . . . . . . . . . 9-9 Carga do Seqüenciador (SQL) . . . . . . . . . . . . . . . . . . . . . . 9-10 Capítulo 10 Instruções de Controle do Programa (JMP, LBL, JSR, RET, SBR, JXR, TND, MCR, UID, UIE, AFI, NOP, EOT, SFP, SFR) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Salto para Label (JMP) Label (LBL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 Salto para Sub-rotina (JSR) Sub-rotina (SBR) Retorno da Sub-rotina (RET) . . . . . . . . . . . . . . . . . . . . . . . 10-4 Salto para a Rotina Externa (JXR) . . . . . . . . . . . . . . . . . . . 10-13 Fim Temporário (TND) . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16 Rearme do Controle Mestre (MCR). . . . . . . . . . . . . . . . . . 10-18 Interrupção Desabilitada (UID) Interrupção Habilitada (UIE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20 Instrução Sempre Falsa (AFI) . . . . . . . . . . . . . . . . . . . . . . 10-22 Sem Operação (NOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23 Fim da Transição (EOT) . . . . . . . . . . . . . . . . . . . . . . . . . 10-24 Pausa de SFC (SFP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26 Reset de SFC (SFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-28 Capítulo 11 Instruções For/Break (FOR, FOR...DO, BRK, EXIT, RET) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1 De... (FOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2 Break (BRK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5 Return (RET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6 Capítulo 12 Instruções Especiais (FBC, DDT, DTR, PID) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1 Comparação Entre os Bits de Arquivo (FBC) . . . . . . . . . . . 12-2 Seleção do modo de busca. . . . . . . . . . . . . . . . . . . . . . 12-3 Publicação 1756-RM003F-PT-P - Maio 2002 Conteúdo v Detecção de Diagnóstico (DDT) . . . . . . . . . . . . . . . . . . . . 12-9 Seleção do modo de busca. . . . . . . . . . . . . . . . . . . . . 12-10 Dados Transacionais (DTR) . . . . . . . . . . . . . . . . . . . . . . . 12-16 Inserção de um valor de máscara imediato . . . . . . . . . 12-16 Instrução PID (PID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-19 Configuração de uma Instrução PID. . . . . . . . . . . . . . . . . 12-23 Especificação de ajuste. . . . . . . . . . . . . . . . . . . . . . . . 12-24 Especificação de configuração . . . . . . . . . . . . . . . . . . 12-24 Especificação de alarmes . . . . . . . . . . . . . . . . . . . . . . 12-25 Especificação de conversão de escala . . . . . . . . . . . . . 12-25 Uso das Instruções PID . . . . . . . . . . . . . . . . . . . . . . . . . . 12-26 Disparo anti-reset e transferência sem interrupção de manual para automático . . . . . . . . . . . . . . . . . . . . 12-28 Temporização da instrução PID . . . . . . . . . . . . . . . . . 12-29 Reinícialização Sem Interrupção . . . . . . . . . . . . . . . . . 12-32 Suavização do derivativo . . . . . . . . . . . . . . . . . . . . . . 12-33 Definição da zona morta . . . . . . . . . . . . . . . . . . . . . . 12-33 Utilização da limitação de saída . . . . . . . . . . . . . . . . . 12-34 Feedforward ou bias de saída. . . . . . . . . . . . . . . . . . . 12-34 Malhas em cascata . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-35 Controle de uma razão. . . . . . . . . . . . . . . . . . . . . . . . 12-35 Teoria PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-37 processo PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-37 Processo PID com malhas mestre/escravo. . . . . . . . . . 12-37 Capítulo 13 Instruções Trigonométricas (SIN, COS, TAN, ASN, ASIN, ACS, ACOS, ATN, ATAN) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1 Seno (SIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2 Co-seno (COS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4 Tangente (TAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6 Arco Seno (ASN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8 Arco Co-seno (ACS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10 Arco Tangente (ATN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12 Capítulo 14 Instruções de Matemática Avançada (LN, LOG, XPY) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1 Log Neperiano (LN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2 Log Base 10 (LOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4 X Elevado a Y (XPY). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6 Capítulo 15 Instruções de Conversão Matemática (DEG, RAD, TOD, FRD, TRN, TRUNC) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1 Graus (DEG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2 Radianos (RAD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4 Conversão para BCD (TOD) . . . . . . . . . . . . . . . . . . . . . . . 15-6 Conversão em Inteiro (FRD) . . . . . . . . . . . . . . . . . . . . . . . 15-9 Truncar (TRN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-11 Publicação 1756-RM003F-PT-P - Maio 2002 vi Conteúdo Capítulo 16 Instruções da Porta Serial ASCII (ABL, ACB, ACL, AHL, ARD, ARL, AWA, AWT) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1 Execução da Instrução . . . . . . . . . . . . . . . . . . . . . . . . . 16-2 Códigos de Erro ASCII . . . . . . . . . . . . . . . . . . . . . . . . . 16-4 Tipos de Dados da String . . . . . . . . . . . . . . . . . . . . . . . 16-4 Teste ASCII Para Linha do Buffer (ABL) . . . . . . . . . . . . . . . 16-5 Caracteres ASCII no Buffer (ACB) . . . . . . . . . . . . . . . . . . . 16-8 Limpeza do Buffer ASCII (ACL) . . . . . . . . . . . . . . . . . . . . 16-10 Linhas de Handshake ASCII (AHL). . . . . . . . . . . . . . . . . . 16-12 Leitura ASCII (ARD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15 Linha de Leitura ASCII (ARL) . . . . . . . . . . . . . . . . . . . . . . 16-18 Anexar Leitura ASCII (AWA) . . . . . . . . . . . . . . . . . . . . . . 16-22 Escrita ASCII (AWT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-26 Capítulo 17 Instruções de String ASCII (CONCAT, DELETE, FIND, INSERT, MID) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1 Tipos de Dados da String . . . . . . . . . . . . . . . . . . . . . . . 17-2 Concatenação de String (CONCAT) . . . . . . . . . . . . . . . . . . 17-3 Exclusão de String (DELETE) . . . . . . . . . . . . . . . . . . . . . . . 17-5 Localização de String (FIND) . . . . . . . . . . . . . . . . . . . . . . . 17-7 Inserção de String (INSERT). . . . . . . . . . . . . . . . . . . . . . . . 17-9 String Média (MID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11 Capítulo 18 Instruções de Conversão ASCII (STOD, STOR, DTOS, RTOS, UPPER, LOWER) Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1 Tipos de Dados da String . . . . . . . . . . . . . . . . . . . . . . . 18-2 String Para DINT (STOD) . . . . . . . . . . . . . . . . . . . . . . . . . 18-3 String Para REAL (STOR) . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5 DINT Para String (DTOS) . . . . . . . . . . . . . . . . . . . . . . . . . 18-7 REAL Para String (RTOS) . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9 Letra Maiúscula (UPPER) . . . . . . . . . . . . . . . . . . . . . . . . . 18-11 Letra Minúscula (LOWER) . . . . . . . . . . . . . . . . . . . . . . . . 18-13 Apêndice A Atributos Comuns Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 Valores Imediatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 Conversões de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 SINT ou INT para DINT . . . . . . . . . . . . . . . . . . . . . . . . A-3 Inteiro para REAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4 DINT para SINT ou INT . . . . . . . . . . . . . . . . . . . . . . . . A-5 REAL para um inteiro . . . . . . . . . . . . . . . . . . . . . . . . . . A-5 Publicação 1756-RM003F-PT-P - Maio 2002 Conteúdo vii Apêndice B Atributos do Bloco de Funções Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1 Lançamento de Dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2 Seqüência de Execução . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3 Respostas do Bloco de Funções para as Condições de Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5 Modos de Temporização . . . . . . . . . . . . . . . . . . . . . . . . . . B-5 Parâmetros de instrução comum para os modos de temporização. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7 Características Gerais dos modos de temporização . . . . B-9 Controle de Program/Operator . . . . . . . . . . . . . . . . . . . . B-10 Apêndice C Programação de Texto Estruturado Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1 Sintaxe do Texto Estruturado. . . . . . . . . . . . . . . . . . . . . . . C-1 Atributos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2 Especificação de um atributo não retentivo . . . . . . . . . . C-3 Atribuição de um caractere ASCII para um string. . . . . . C-3 Expressões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-4 Use os operadores e funções aritméticas . . . . . . . . . . . . C-5 Uso dos operadores relacionados . . . . . . . . . . . . . . . . . C-6 Uso dos operadores lógicos . . . . . . . . . . . . . . . . . . . . . C-8 Uso de operadores bitwise . . . . . . . . . . . . . . . . . . . . . . C-9 Determinação da seqüência de execução . . . . . . . . . . . C-9 Instruções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-10 Construções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-11 IF...THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-12 CASE...OF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-15 FOR…DO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-17 WHILE…DO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-20 REPEAT…UNTIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-22 Comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-24 Index Códigos do Caractere ASCII Publicação 1756-RM003F-PT-P - Maio 2002 viii Conteúdo Publicação 1756-RM003F-PT-P - Maio 2002 Capítulo 1 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Introdução Use as instruções binárias (tipo com relé) para monitorar e controlar o status dos bits. Se você quiser: Use esta instrução: Disponível nessas linguagens: Consulte página: habilitar as saídas quando um bit estiver energizado XIC lógica ladder texto estruturado(1) 1-2 habilitar as saídas quando um bit estiver desenergizado XIO lógica ladder texto estruturado(1) 1-4 energizar um bit OTE lógica ladder texto estruturado(1) 1-6 energizar um bit (retentivo) OTL lógica ladder texto estruturado(1) 1-7 desenergizar um bit (retentivo) OTU lógica ladder texto estruturado(1) 1-9 habilitar as saídas para um scan toda vez que a linha tornar-se verdadeira ONS lógica ladder texto estruturado(1) 1-11 energizar um bit para um scan toda vez que a linha tornar-se verdadeira OSR lógica ladder 1-14 energizar um bit para um scan toda vez que a linha tornar-se falsa OSF lógica ladder 1-16 energizar um bit para um scan toda vez que o bit de entrada for verdadeiro no bloco de funções OSRI texto estruturado bloco de funções 1-14 energizar um bit para um scan toda vez que o bit de entrada estiver desenergizado no bloco de funções OSFI texto estruturado bloco de funções 1-16 (1) Não há instrução de texto estruturado equivalente. Use outra programação de texto estruturado para obter o mesmo resultado. Veja a descrição para a instrução. 1 Publicação 1756-RM003F-PT-P - Maio 2002 1-2 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Examinar Se Energizado (XIC) A instrução XIC examina o bit de dados para verificar se ele está energizado. Operandos: Lógica Ladder Texto Estruturado O texto estruturado não possui uma instrução XIC, mas é possível obter os mesmos resultados usando uma construção IF...THEN. IF data_bit THEN <statement>; END_IF; Consulte ApêndiceC para informações sobre a sintaxe de construções no texto estruturado. Descrição: A instrução XIC examina o bit de dados para verificar se ele está energizado. Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Execução: Operando: Tipo: Formato: Descrição: data bit BOOL tag bit a ser testado Condição: Ação da Lógica Ladder: prescan A saída da condição da linha é definida como falsa. entrada da condição da linha é falsa A saída da condição da linha é definida como falsa. postscan A saída da condição da linha é definida como falsa. examinar o bit de dados bit de dados = 0 bit de dados = 1 saída da condição da linha é definida como falsa saída da condição da linha é definida como verdadeira entrada da condição da linha é verdadeira fim Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-3 Exemplo 1: Se limit_switch_1 está energizado, isso habilita a próxima instrução (a saída da condição da linha é verdadeira). Lógica Ladder Texto Estruturado IF limit_switch THEN <statement>; END_IF; Exemplo 2: Se S:V está energizado (indica que um overflow ocorreu), isso habilita a próxima instrução (a saída da condição da linha é verdadeira). Lógica Ladder Texto Estruturado IF S:V THEN <statement>; END_IF; Publicação 1756-RM003F-PT-P - Maio 2002 1-4 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Examinar Se Desenergizado (XIO) A instrução XIO examina o bit de dados para verificar se ele está desenergizado. Operandos: Lógica Ladder Texto Estruturado O texto estruturado não possui uma instrução XIO, mas é possível alcançar os mesmos resultados usando uma construção IF...THEN. IF NOT data_bit THEN <statement>; END_IF; Consulte ApêndiceC para informações sobre a sintaxe de construções no texto estruturado. Descrição: A instrução XIO examina o bit de dados para verificar se ele está desenergizado. Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Execução: Operando: Tipo: Formato: Descrição: data bit BOOL tag bit a ser testado Condição: Ação da Lógica Ladder: prescan A saída da condição da linha é definida como falsa. entrada da condição da linha é falsa A saída da condição da linha é definida como falsa. postscan A saída da condição da linha é definida como falsa. examinar o bit de dados bit de dados = 0 bit de dados = 1 saída da condição da linha é definida como verdadeira saída da condição da linha é definida como falsa entrada da condição da linha é verdadeira fim Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-5 Exemplo 1: Se limit_switch_2 está desenergizado, isso habilita a próxima instrução (a saída da condição da linha é verdadeira). Lógica Ladder Texto Estruturado IF NOT limit_switch_2 THEN <statement>; END_IF; Exemplo 2: Se S:V está desenergizado (indica que um overflow não ocorreu), isso habilita a próxima instrução (a saída da condição da linha é verdadeira). Lógica Ladder Texto Estruturado IF NOT S:V THEN <statement>; END_IF; Publicação 1756-RM003F-PT-P - Maio 2002 1-6 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Energizar Saída (OTE) A instrução OTE energiza ou desenergiza o bit de dados. Operandos: Lógica Ladder Texto Estruturado O texto estruturado não possui uma instrução OTE, mas é possível obter os mesmos resultados usando um atributo não retentivo. data_bit [:=] BOOL_expression; Consulte ApêndiceC para informações sobre a sintaxe de atributos e expressões no texto estruturado. Descrição: Quando a instrução OTE está habilitada, o controlador energiza o bit de dados. Quando a instrução OTE está desabilitada, o controlador desenergiza o bit de dados. Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Execução: Exemplo: Quando switch está energizado, a instrução OTE energiza (acende) light_1. Quando switch é desenergizado, a instrução OTE desenergiza (apaga) light_1. Lógica Ladder Texto Estruturado light_1 [:=] switch; Operando: Tipo: Formato: Descrição: data bit BOOL tag bit a ser energizado ou desenergizado Condição: Ação da Lógica Ladder: prescan O bit de dados é desenergizado. A saída da condição da linha é definida como falsa. entrada da condição da linha é falsa O bit de dados é desenergizado. A saída da condição da linha é definida como falsa. entrada da condição da linha é verdadeira O bit de dados é energizado. A saída da condição da linha é definida como verdadeira. postscan O bit de dados é desenergizado. A saída da condição da linha é definida como falsa. Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-7 Energizar Saída com Retenção (OTL) A instrução OTL energiza (retém) o bit de dados. Operandos: Lógica Ladder Texto Estruturado O texto estruturado não possui uma instrução OTL, mas é possível obter os mesmos resultados usando uma construção e um atributo IF...THEN. IF bool_expression THEN data_bit := 1; END_IF; Consulte ApêndiceC para informações sobre a sintaxe de construções, atributos e expressões no texto estruturado. Descrição: Quando habilitada, a instrução OTL energiza o bit de dados. O bit de dados permanece energizado até ser desenergizado, normalmente, por uma instrução OTU. Quando desabilitada, a instrução OTL não altera o status do bit de dados. Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Execução: Operando: Tipo: Formato: Descrição: data bit BOOL tag bit a ser energizado Condição: Ação da Lógica Ladder: prescan O bit de dados não é modificado. A saída da condição da linha é definida como falsa. entrada da condição da linha é falsa O bit de dados não é modificado. A saída da condição da linha é definida como falsa. entrada da condição da linha é verdadeira O bit de dados é energizado. A saída da condição da linha é definida como verdadeira. postscan O bit de dados não é modificado. A saída da condição da linha é definida como falsa. Publicação 1756-RM003F-PT-P - Maio 2002 1-8 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Exemplo: Quando habilitada, a instrução OTL energiza light_2. Esse bit permanece energizado até ser desenergizado, normalmente, por uma instrução OTU. Lógica Ladder Texto Estruturado IF BOOL_expression THEN light_2 := 1; END_IF; Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-9 Desenergizar Saída com Retenção (OTU) A instrução OTU desenergiza (não retém) o bit de dados. Operandos: Lógica Ladder Texto Estruturado O texto estruturado não possui uma instrução OTU, mas é possível alcançar os mesmos resultados usando uma construção e um atributo IF...THEN IF bool_expression THEN data_bit := 0; END_IF; Consulte ApêndiceC para informações sobre a sintaxe de construções, atributos e expressões no texto estruturado. Descrição: Quando habilitada, a instrução OTU desenergiza o bit de dados. Quando desabilitada, a instrução OTU não altera o status do bit de dados. Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Execução: Operando: Tipo: Formato: Descrição: data bit BOOL tag bit a ser desenergizado Condição: Ação da Lógica Ladder: prescan O bit de dados não é modificado. A saída da condição da linha é definida como falsa. entrada da condição da linha é falsa O bit de dados não é modificado. A saída da condição da linha é definida como falsa. entrada da condição da linha é verdadeira O bit de dados é desenergizado. A saída da condição da linha é definida como verdadeira. postscan O bit de dados não é modificado. A saída da condição da linha é definida como falsa. Publicação 1756-RM003F-PT-P - Maio 2002 1-10 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Exemplo: Quando habilitada, a instrução OTU desenergiza light_2. Lógica Ladder Texto Estruturado IF bool_expression THEN light_2 := 0; END_IF; Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-11 Monoestável (ONS) A instrução ONS habilita ou desabilita o resto da linha dependendo do status do bit de armazenamento. Operandos: Lógica Ladder Texto Estruturado O texto estruturado não possui uma instrução ONS, mas é possível obter os mesmos resultados usando uma construção IF...THEN. IF BOOL_expression AND NOT storage_bit THEN <statement>; END_IF; storage_bit := BOOL_expression; Consulte ApêndiceC para informações sobre a sintaxe de construções, atributos e expressões no texto estruturado. Descrição: Quando habilitada e o bit de armazenamento está desenergizado, a instrução ONS habilita o resto da linha. Quando habilitada ou o bit de armazenamento está energizado, a instrução ONS desabilita o resto da linha. Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Operando: Tipo: Formato: Descrição: storage bit BOOL tag bit de armazenamento interno armazena a entrada da condição da linha desde a última vez que a instrução foi executada Publicação 1756-RM003F-PT-P - Maio 2002 1-12 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Execução: Exemplo: Normalmente, uma instrução de entrada precede a instrução ONS, pois você varre esta instrução quando ela está habilitada e quando é desabilitada para que opere corretamente. Uma vez que a instrução ONS é habilitada, a entrada da condição da linha deve desenergizar ou o bit de armazenamento deve ser desenergizado para que a instrução ONS seja habilitada novamente. Condição: Ação da Lógica Ladder: prescan O bit de armazenamento é energizado para evitar um disparo inválido durante o primeiro scan. A saída da condição da linha é definida como falsa. entrada da condição da linha for falsa O bit de armazenamento é desenergizado. A saída da condição da linha é definida como falsa. postscan O bit de armazenamento é desenergizado. A saída da condição da linha é definida como falsa. entrada da condição da linha é verdadeira fim examinar o bit de armazenamento bit de armazenamento = 0 bit de armazenamento = 1 bit de armazenamento é energizado saída da condição da linha é definida como verdadeira o bit de armazenamento permanece energizado saída da condição da linha é definida como falsa Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-13 Em qualquer scan cujo limit_switch_1 é desenergizado ou storage_1 é energizado, essa linha não tem efeito. Em qualquer scan cujo limit_switch_1 é energizado e storage_1 é desenergizado, a instrução ONS energiza storage_1 e a instrução ADD incrementa sum por 1. Enquanto limit_switch_1 permanecer energizado, sum fica com o mesmo valor. O limit_switch_1 deve passar de desenergizado para energizado novamente para que sum seja incrementado novamente. Lógica Ladder Texto Estruturado IF limit_switch_1 AND NOT storage_1 THEN sum := sum + 1; END_IF; storage_1 := limit_switch_1; Publicação 1756-RM003F-PT-P - Maio 2002 1-14 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Monoestável Sensível à Borda de Subida (OSR) A instrução OSR energiza ou desenergiza o bit de saída, dependendo do status do bit de armazenamento. Essa instrução está disponível no texto estruturado e bloco de funções como OSRI, consulte a página 1-14. Operandos: Lógica Ladder Descrição: Quando habilitada e o bit de armazenamento está desenergizado, a instrução OSR energiza o bit de saída. Quando habilitada e o bit de armazenamento está energizado ou quando desabilitada, a instrução OSR desenergiza o bit de saída Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Operando: Tipo: Formato: Descrição: storage bit BOOL tag bit de armazenamento interno armazena a entrada da condição da linha da última vez que a instrução foi executada output bit BOOL tag bit a ser energizado entrada da condição da linha bit de armazenamento bit de saída instrução é executada instrução reseta durante a execução do próximo scan Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-15 Execução: Exemplo: Cada vez que limit_switch_1 passar de desenergizado para energizado, a instrução OSR energiza output_bit_1 e a instrução ADD incrementa sum por 5. Enquanto limit_switch_1 estiver energizado, sum permanece com o mesmo valor. O limit_switch_1 deve passar de desenergizado para energizado novamente para sum ser incrementado novamente. É possível usar output_bit_1 em linhas múltiplas para disparar outras operações Condição: Ação da Lógica Ladder: prescan O bit de armazenamento é energizado para evitar um disparo inválido durante o primeiro scan. O bit de saída é desenergizado. A saída da condição da linha é definida como falsa. entrada da condição da linha é falsa O bit de armazenamento é desenergizado. O bit de saída não é modificado. A saída da condição da linha é definida como falsa. postscan O bit de armazenamento é desenergizado. O bit de saída não é modificado. A saída da condição da linha é definida como falsa. entrada da condição da linha é verdadeira fim examinar o bit de armazenamento bit de armazenamento = 0 bit de armazenamento = 1 bit de armazenamento é energizado bit de saída é energizado saída da condição da linha é definida como verdadeira o bit de armazenamento permanece energizado bit de saída é desenergizado. saída da condição da linha é definida como verdadeira Publicação 1756-RM003F-PT-P - Maio 2002 1-16 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Monoestável Sensível à Borda de Descida (OSF) A instrução OSF energiza ou desenergiza o bit de saída dependendo do status do bit de armazenamento. Essa instrução está disponível no texto estruturado e bloco de funções como OSFI, consulte a página 1-16. Operandos: Operandos de Lógica Ladder Descrição: Quando desabilitada e o bit de armazenamento está energizado, a instrução OSF energiza o bit de saída. Quando desabilitada e o bit de armazenamento está desenergizado ou quando habilitada, a instrução OSF desenergiza o bit de saída Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Operando: Tipo: Formato: Descrição: storage bit BOOL tag bit de armazenamento interno armazena a entrada da condição da linha desde a última vez que a instrução foi executada output bit BOOL tag bit a ser energizado entrada da condição da linha bit de armazenamento bit de saída instrução é executada instrução reseta durante a execução do próximo scan Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-17 Execução: Exemplo: Cada vez que limit_switch_1 passa de energizado para desenergizado, a instrução OSF energiza output_bit_2 e a instrução ADD incrementa sum por 5. Enquanto limit_switch_1 estiver desenergizado, sum permanece com o mesmo valor. O limit_switch_1 deve passar de energizado para desenergizado novamente para que sum seja incrementado novamente. É possível usar output_bit_2 em linhas múltiplas para disparar outras operações Condição: Ação da Lógica Ladder: prescan O bit de armazenamento é desenergizado para evitar um disparo inválido durante o primeiro scan. O bit de saída é desenergizado. A saída da condição da linha é definida como falsa. entrada da condição da linha é verdadeira O bit de armazenamento é energizado. O bit de saída é desenergizado. A saída da condição da linha é definida como verdadeira. postscan Veja se a entrada da condição da linha acima é falsa. entrada da condição da linha é falsa fim examinar o bit de armazenamento bit de armazenamento = 0 bit de armazenamento = 1 o bit de armazenamento permanece desenergizado bit de saída é desenergizado. saída da condição da linha é definida como falsa bit de armazenamento é desenergizado. bit de saída é energizado saída da condição da linha é definida como falsa Publicação 1756-RM003F-PT-P - Maio 2002 1-18 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Monoestável Sensível à Borda de Subida com Entrada (OSRI) A instrução OSRI energiza o bit de saída para um ciclo de execução quando o bit de entrada alternar de desenergizado para energizado. Esta instrução está disponível em lógica ladder como OSR, consulte a página 1-14. Operandos: Texto Estruturado Bloco de Funções Estrutura FBD_ONESHOT Descrição: Quando InputBit está energizado e InputBitn-1 está desenergizado, a instrução OSRI energiza OutputBit. Quando InputBit é energizado ou quando InputBit é desenergizado, a instrução OSRI desenergiza OutputBit. Operando: Tipo: Formato: Descrição: OSRI tag FBD_ONESHOT estrutura estrutura OSR Operando: Tipo: Formato: Descrição: OSRI tag FBD_ONESHOT estrutura estrutura OSR OSRI(OSRI_tag); Parâmetro de Entrada: Tipo de Dados: Descrição: EnableIn BOOL Bloco de Funções Se desenergizada, a instrução não executa e as saídas não são atualizadas. Se energizada, a instrução executa. O valor inicial é energizado Texto Estruturado: Sem efeito. A instrução executa. InputBit BOOL Bit de entrada. Isto equivale à condição da linha para a instrução OSR de Lógica Ladder. O valor inicial é desenergizado. Parâmetro de Saída: Tipo de Dados: Descrição: EnableOut BOOL A instrução produziu um resultado válido. OutputBit BOOL Bit de saída InputBit OutputBit 40048 instrução é executada instrução reseta durante a execução do próximo scan InputBitn-1 Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-19 Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Execução: Exemplo: Quando limit_switch1 passa de desenergizado para energizado, a instrução OSRI energiza OutputBit para um scan. Texto Estruturado OSRI_01.InputBit := limit_switch1; OSRI(OSRI_01); State := OSRI_01.OutputBit; Bloco de Funções Condição: Ação do Bloco de Funções: Ação do Texto Estruturado: prescan Nenhuma ação tomada. Nenhuma ação tomada. primeiro scan da instrução InputBit n-1 é energizado. InputBit n-1 é energizado. primeira execução da instrução InputBit n-1 é energizado. InputBit n-1 é energizado. EnableIn está desenergizado EnableOut é desenergizado, a instrução não faz nada e as saídas não são atualizadas. na EnableIn está energizado Em uma transição de InputBit de desenergizado para energizado, a instrução energiza InputBit n-1. A instrução executa. EnableOut está energizado. Em uma transição de InputBit de desenergizado para energizado, a instrução energiza InputBit n-1. EnableIn está sempre energizado A instrução executa. postscan Nenhuma ação tomada. Nenhuma ação tomada. Publicação 1756-RM003F-PT-P - Maio 2002 1-20 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Monoestável Sensível à Borda de Descida com Entrada (OSFI) A instrução OSFI energiza o OutputBit para um ciclo de execução quando InputBit alternar de energizado para desenergizado. Esta instrução está disponível em lógica ladder como OSF, consulte a página 1-16. Operandos: Texto Estruturado Bloco de Funções Estrutura FBD_ONESHOT Descrição: Quando InputBit está desenergizado e InputBit n-1 está energizado, a instrução OSFI energiza OutputBit. Quando InputBit n-1 está desenergizado ou quando InputBit está energizado, a instrução OSFI desenergiza OutputBit. Operando: Tipo: Formato: Descrição: OSFI tag FBD_ONESHOT estrutura estrutura OSFI Operando: Tipo: Formato: Descrição: tag OSFI FBD_ONESHOT estrutura estrutura OSFI OSFI(OSFI_tag); Parâmetro de Entrada: Tipo de Dados: Descrição: EnableIn BOOL Bloco de Funções Se desenergizada, a instrução não executa e as saídas não são atualizadas. Se energizada, a instrução executa. O valor inicial é energizado Texto Estruturado: Sem efeito. A instrução executa. InputBit BOOL Bit de entrada. Isto equivale à condição da linha para a instrução OSF de lógica ladder. O valor inicial é desenergizado. Parâmetro de Saída: Tipo de Dados: Descrição: EnableOut BOOL A instrução produziu um resultado válido. OutputBit BOOL bit de saída InputBit OutputBit instrução é executada instrução reseta durante a execução do próximo scan InputBit n-1 40047 Publicação 1756-RM003F-PT-P - Maio 2002 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) 1-21 Flags de Status Aritmético: não afetados Condições de Falha: nenhuma Execução: Exemplo: Quando limit_switch1 passa de energizado para desenergizado, a instrução OSFI energiza OutputBit para um scan. Texto Estruturado OSFI_01.InputBit := limit_switch1; OSFI(OSFI_01); Output_state := OSFI_01.OutputBit; Bloco de Funções Condição: Ação do Bloco de Funções: Ação do Texto Estruturado: prescan Nenhuma ação tomada. Nenhuma ação tomada. primeiro scan da instrução InputBit n-1 é desenergizado. InputBit n-1 é desenergizado. primeira execução da instrução InputBit n-1 é desenergizado. InputBit n-1 é desenergizado. EnableIn está desenergizado EnableOut é desenergizado, a instrução não faz nada e as saídas não são atualizadas. na EnableIn está energizado Em uma transição de InputBit de desenergizado para energizado, a instrução desenergiza InputBit n-1. A instrução executa. EnableOut está energizado. Em uma transição de InputBit de desenergizado para energizado, a instrução desenergiza InputBit n-1. EnableIn está sempre energizado A instrução executa. postscan Nenhuma ação tomada. Nenhuma ação tomada. Publicação 1756-RM003F-PT-P - Maio 2002 1-22 Instruções Binárias (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF, OSRI, OSFI) Notas: Publicação 1756-RM003F-PT-P - Maio 2002 Capítulo 2 Instruções de Temporizador e Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) Introdução As operações de temporizadores e contadores são baseadas no tempo ou no número de eventos. A base de tempo para todos os temporizadores é 1 mseg. Se você quiser: Use esta instrução: Disponível nestas linguagens: Consulte página: saber por quanto tempo o temporizador está habilitado TON lógica ladder 2-2 saber por quanto tempo o temporizador está desabilitado TOF lógica ladder 2-5 acumular o tempo RTO lógica ladder 2-9 saber por quanto tempo o temporizador está habilitado com o reset incorporado no bloco de funções TONR texto estruturado bloco de funções 2-13 saber por quanto tempo o temporizador está desabilitado com o reset integrado em um bloco de funções TOFR texto estrutural bloco de funções 2-16 acumular o tempo com o reset incorporado no bloco de funções RTOR texto estruturado bloco de funções 2-19 fazer a contagem crescente CTU lógica ladder 2-22 fazer a contagem decrescente CTD lógica ladder 2-25 fazer a contagem crescente e decrescente no bloco de funções CTUD texto estruturado bloco de funções 2-29 resetar um temporizador ou um contador RES lógica ladder 2-33 1 Publicação 1756-RM003F-PT-P - Maio 2002 2-2 Instruções de Temporizador e Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) Temporizador na Energização (TON) A instrução TON é um temporizador não retentivo que acumula tempo quando a instrução está habilitada (entrada da condição da linha é verdadeira). A instrução está disponível em texto estruturado e bloco de funções como TONR, consulte a página 2-13. Operandos: Lógica Ladder Estrutura TIMER Descrição: A instrução TON acumulou o tempo até: • a instrução TON está desabilitada • o .ACC ≥ .PRE A base de tempo é sempre 1 mseg. Por exemplo, para um temporizador de 2 segundos, digite 2000 para o valor de .PRE. Quando a instrução TON é desabilitada, o valor de .ACC é removido. Operando: Tipo: Formato: Descrição: Timer TIMER tag estrutura do temporizador Preset DINT imediato quanto tempo atrasar (tempo acumulado) Accum DINT imediato total de mseg que o temporizador contou normalmente, valor inicial é 0 Mnemônico: Tipo de Dados: Descrição: .EN BOOL O bit habilitado indica que a instrução TON está habilitada. .TT BOOL O bit de temporização indica que uma operação de temporização está em execução .DN BOOL O bit executado está energizado quando .ACC ≥ .PRE. .PRE DINT O valor de preset especifica o valor (unidades de 1 mseg) que o valor acumulado deve atingir antes que a instrução energize o bit .DN. .ACC DINT O valor acumulado especifica o número de milissegundos que transcorreram desde que a instrução TON foi habilitada. entrada da condição da linha bit habilitado do temporizador (.EN) bit executado do temporizador (.DN) valor acumulado do temporizador (.ACC) bit de temporização do temporizador (.TT) preset 0 16649 o temporizador não alcançou o valor de .PRE atraso na ENER- GIZA- ÇÃO Publicação 1756-RM003F-PT-P - Maio 2002 Instruções de Temporizador e Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-3 Flags de Status Aritmético: não afetados Condições de Falha: Execução Uma falha grave ocorrerá se: Tipo de falha: Código de falha: .PRE < 0 4 34 .ACC < 0 4 34 Condição: Ação da Lógica Ladder: prescan Os bits .EN, .TT e .DN estão desenergizados. O valor de .ACC é removido. A saída da condição da linha é definida como falsa. entrada da condição da linha é falsa Os bits .EN, .TT e .DN estão desenergizados. O valor de .ACC é removido. A saída da condição da linha é definida como falsa. postscan A saída da condição da linha é definida como falsa. examinar bit .DN bit .DN = 1 bit .DN = 0 bit .EN é energizado bit .TT é energizado. last_time = current_time entrada da condição da linha é verdadeira examinar .ACC .ACC ≥ .PRE .ACC < .PRE bit .TT é energizado. .ACC = .ACC + (current_time - last_time) last_time = current_time o valor .ACC ultrapassa não sim .ACC = 2,147,483,647 examinar bit .EN bit .EN = 0 bit .EN = 1 saída da condição da linha é definida como verdadeira fim .DN é energizado bit .TT é desenergizado. bit .EN é energizado Publicação 1756-RM003F-PT-P - Maio 2002 2-4 Instruções de Temporizador e Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) Exemplo: Quando limit_switch_1 é energizado, light_2 acende por 180 mseg (timer_1 está temporizando). Quando timer_1.acc alcança 180, light_2 apaga e light_3 acende. Light_3 permanece aceso até que a instrução TON seja desabilitada. Se limit_switch_1 for desenergizado enquanto timer_1 estiver temporizando, light_2 desliga. Publicação 1756-RM003F-PT-P - Maio 2002 Instruções de Temporizador e Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) 2-5 Temporizador na Desenergização (TOF) A instrução TOF é um temporizador não retentivo que acumula tempo quando a instrução está habilitada (entrada da condição da linha é falsa). A instrução está disponível em texto estruturado e bloco de funções como TOFR, consulte a página 2-16. Operandos: Lógica Ladder Estrutura TIMER Descrição: A instrução TOF acumulou o tempo até: • a instrução TOF está desabilitada • a .ACC ≥ .PRE A base de tempo é sempre 1 mseg. Por exemplo, para um temporizador de 2 segundos, digite 2000 para o valor de .PRE. Operando: Tipo: Formato: Descrição: Timer TIMER tag estrutura do temporizador Preset DINT imediato quanto tempo atrasar (tempo acumulado) Accum DINT imediato total de mseg que o temporizador contou normalmente, o valor inicial é 0 Mnemônico: Tipo de Dados: Descrição: .EN BOOL O bit habilitado indica que a instrução TOF está habilitada. .TT BOOL O bit de temporização indica que uma operação de temporização está em execução .DN BOOL O bit executado é desenergizado quando .ACC ≥ .PRE. .PRE DINT O valor preset especifica o valor (unidades de 1 mseg) que o valor acumulado deve atingir antes que a instrução energize o bit .DN. .ACC DINT O valor acumulado especifica o número de milissegundos que transcorreram desde que a instrução TOF foi habilitada. Publicação 1756-RM003F-PT-P - Maio 2002 2-6 Instruções de Temporizador e Contador (TON, TOF, RTO, TONR, TOFR, RTOR, CTU, CTD, CTUD, RES) Quando a instrução TOF está desativada, o valor de .ACC é desenergizado. Flags de Status Aritmético: não afetados Condições de Falha: entrada da condição da linha bit habilitado do temporizador (.EN) bit executado do temporizador (.DN) valor acumulado do temporizador (.ACC) bit de temporização do temporizador (.TT) 0 16650 o temporizador não atingiu o valor de .PRE preset
Compartilhar