Você está na página 1de 418

Procedimentos Comuns dos Controladores Logix5000

1756-Lx, 1769-Lx, 1789-Lx, 1794-Lx, PowerFlex 700

Manual de Programao

Informaes Importantes ao Usurio

Por causa da diversidade de usos dos produtos descritos nesta publicao, os responsveis pela aplicao e uso destes produtos 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. Sob nenhuma circunstncia, a Rockwell Automation ser responsvel por danos indiretos ou que possam vir acontecer como resultado do uso ou a aplicao destes produtos. 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 (inclusive a responsabilidade por propriedade intelectual) pelo uso real baseado nos exemplos mostrados nesta publicao. A publicao SGI-1.1, Diretrizes de Segurana para Aplicao, Instalao e Manuteno dos Dispositivos de Controle Eletrnico (disponvel no escritrio local da Rockwell Automation/ Allen-Bradley), 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, total ou parcial, deste manual sem a permisso por escrito da Rockwell Automation. Ao longo deste manual, usamos notas a fim de chamar sua ateno para algumas consideraes de segurana. As anotaes a seguir acompanham declaraes que ajudam voc a identificar, evitar um perigo potencial e a reconhecer as suas conseqncias: ADVERTNCIA Identifica as informaes sobre prticas ou circunstncias que possam causar ferimentos ou morte, danos propriedade ou perdas econmicas.

!
ATENO

!
IMPORTANTE

Identifica as informaes sobre prticas ou circunstncias que podem causar ferimentos ou a morte, danos propriedade ou perdas econmicas.

Identifica as informaes crticas para aplicao e compreenso bem-sucedidas do produto.

Resumo das Alteraes

Introduo Informaes atualizadas


Alterao:

A edio deste documento contm informaes novas e atualizadas.

O documento contm as seguintes alteraes:


Captulo/Apndice: 2

Informaes adicionais sobre como planejar as tarefas de um projeto incluindo a escolha da linguagem de programao apropriada para uma aplicao Procedimentos adicionais sobre como trabalhar com o organizador do controlador, criar tarefas, criar programas e criar rotina Novas informaes sobre como determinar um controle seqencial de funes para a mquina ou processo Novas informaes sobre como inserir e configurar um controle seqencial de funes usando o software RSLogix 5000 Novas informaes sobre como usar a linguagem de programao de texto estruturado incluindo atributos, expresses, instrues, construes e comentrios Informaes adicionais sobre como programar um diagrama de bloco de funes incluindo como usar as planilhas, definir a seqncia de execuo, determinar malhas, definir programas/controle de operao, inserir elementos e configurar elementos Informaes adicionais sobre como organizar e inserir a lgica ladder Novas informaes sobre como obter informaes sobre a memria para um controlador Informaes atualizadas sobre forar os valores de E/S Novas informaes sobre como forar e passar pelos elementos de SFC Novas informaes sobre o Carto Industrial CompactFlash 1784-CF64 (memria no voltil para o controlador ControlLogix 1756-L63) Procedimentos atualizados para o recurso de proteo da fonte da rotina 2 novos cdigos de falha grave Informaes adicionais sobre a Conformidade com IEC61131-3 relacionadas s linguagens de programao de texto estruturado e controle seqencial de funes Novas definies relacionadas ao controle seqencial de funes

4 5 6 7

8 9 18 23 24 A B Glossrio

Publicao 1756-PM001E-PT-P - Agosto 2002

Resumo das Alteraes

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Prefcio

Objetivo deste Manual

Este manual fornece orientaes para o desenvolvimento de projetos com controladores Logix5000. Ele fornece os procedimentos passo-a-passo sobre como realizar as seguintes tarefas que so comuns a todos os controladores Logix5000: Organizao de Tarefas, Programas e Rotinas Organizao de Tags Projeto de um Controle Seqencial de Fune Rotinas de Programas Teste de um Projeto Manipulao de Falhas

O termo controlador Logix5000 refere-se a qualquer controlador que seja baseado no sistema operacional Logix, como: Controladores CompactLogix Controladores ControlLogix Controladores FlexLogix Controladores SoftLogix

Este manual deve ser usado juntamente com outros manuais do usurio para seu tipo especfico de controlador. Os manuais do usurio abrangem tarefas como: Instalao e configurao de E/S Comunicao com dispositivos de vrias redes Manuteno da bateria

Quem Deve Usar Este Manual

Este manual deve ser usado pelas pessoas responsveis pela programao de aplicaes que usam os controladores Logix5000, como: engenheiros de software engenheiros de controle engenheiros de aplicao tcnicos de instrumentao

Publicao 1756-PM001E-PT-P - Agosto 2002

Prefcio

Quando Usar Este Manual

Use este manual quando realizar estas aes: desenvolvimento do cdigo bsico para sua aplicao modificao de uma aplicao existente realizao de testes isolados de sua aplicao medida que voc integrar sua aplicao com dispositivos de E/S, controladores e redes em seu sistema: Consulte o manual do usurio para seu tipo de controlador especfico. Use este manual como referncia, quando necessrio.

Como Usar Este Manual

Este manual dividido em tarefas bsicas que voc executa durante a programao de um controlador Logix5000. Cada captulo aborda uma tarefa. As tarefas esto organizadas na seqncia em que voc as executa normalmente. Ao usar este manual, voc ver alguns termos que esto formatados de forma diferente do restante do texto:

Texto: itlico negrito

Identifica: nome real do item que voc v na tela ou exemplo um verbete do Glossrio

Por exemplo: Clique com o boto direito do mouse em User-Defined Digite um nome

Significa: Clique com o boto direito do mouse no item chamado User-Defined. Se voc quiser informaes adicionais, consulte o nome no Glossrio. Se voc estiver visualizando o arquivo PDF do manual, clique em nome para consultar a entrada no glossrio.

courier

informaes que voc deve fornecer Clique com o boto direito do com base em sua aplicao (uma mouse em varivel) name_of_program uma tecla do teclado Pressione [Enter].

Voc deve identificar o programa especfico na sua aplicao. Geralmente, um nome ou varivel que voc definiu. Pressione a tecla Enter.

entre parnteses

Publicao 1756-PM001E-PT-P - Agosto 2002

Sumrio
Captulo 1 Gerenciamento dos Arquivos de Projeto
Criao de um Arquivo de Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Armazenamento das Mudanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Captulo 2 Organizao de Tarefas, Programas e Rotinas


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Antes de Comear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Definies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Tarefa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Tarefa Contnua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Tarefa Peridica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Rotina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Rotina Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Planejamento de Tarefas do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Definio das Funes do Projeto . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Atribuio de Cada Funo a uma Tarefa . . . . . . . . . . . . . . . . . . 2-6 Uso do Organizador do Controlador . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Abertura ou Fechamento de uma Pasta . . . . . . . . . . . . . . . . . . . . 2-7 Abertura de uma Rotina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 Criao de uma Tarefa Peridica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 Criao de um Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 Criao de uma Rotina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 Configurao de uma Rotina como uma Rotina Principal. . . . . . . . 2-12 Verificao do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12

Captulo 3 Organizao de Tags


Planejamento de Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Crie um Tipo de Dados Definidos Pelo Usurio . . . . . . . . . . . . . . . . 3-6 Notas: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Criao de um Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Criao de Tags Usando o Microsoft Excel . . . . . . . . . . . . . . . . . 3-9

Captulo 4 Projeto de um Controle Seqencial de Fune


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 O Que um Controle Seqencial de Funes? . . . . . . . . . . . . . . . . . 4-2 Como Projetar um SFC: Caractersticas Gerais . . . . . . . . . . . . . . . . . 4-4 Definio de Tarefas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Seleo do Modo de Execuo do SFC . . . . . . . . . . . . . . . . . . . . . . . 4-6 Definio das Etapas do Processo . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Siga Essas Orientaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Estrutura SFC_STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 Organizao de Etapas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Caractersticas Gerais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Seqncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
Publicao 1756-PM001E-PT-P - Agosto 2002

ii

Sumrio

Ramificao de Seleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ramificao Simultnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conexo para uma Etapa Anterior . . . . . . . . . . . . . . . . . . . . . . . Adio de Aes para Cada Etapa. . . . . . . . . . . . . . . . . . . . . . . . . . . Como Voc Quer Usar a Ao? . . . . . . . . . . . . . . . . . . . . . . . . . Utilizao de uma Ao No Booleana . . . . . . . . . . . . . . . . . . . Utilizao de uma Ao Booleana. . . . . . . . . . . . . . . . . . . . . . . . Estrutura SFC_ACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descrio de Cada Ao em Pseudocdigo . . . . . . . . . . . . . . . . . . . Seleo de um Qualificador para uma Ao . . . . . . . . . . . . . . . . . . . Definio das Condies de Transio . . . . . . . . . . . . . . . . . . . . . . . Tag de Transio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Como Voc Quer Programar a Transio? . . . . . . . . . . . . . . . . Utilizao de uma Expresso BOOL . . . . . . . . . . . . . . . . . . . . . Chamar uma Sub-rotina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transio Aps um Tempo Especfico. . . . . . . . . . . . . . . . . . . . . . . Desenergizao de um Dispositivo ao Final de uma Etapa . . . . . . . Escolha uma Opo de ltima Varredura.. . . . . . . . . . . . . . . . . Use a Opo Dont Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso da Opo de Reset Programado . . . . . . . . . . . . . . . . . . . . . Uso da Opo de Reset Automtico. . . . . . . . . . . . . . . . . . . . . . Manter Algo Energizado seguindo Passo a Passo . . . . . . . . . . . . . . Como Voc Quer Controlar o Dispositivo?. . . . . . . . . . . . . . . . Use uma Ramificao Simultnea . . . . . . . . . . . . . . . . . . . . . . . . Como Armazenar e Resetar uma Ao. . . . . . . . . . . . . . . . . . . . Uso de Uma Etapa Grande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Finalizao do SFC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ao Final do SFC, O Que Deseja Fazer?. . . . . . . . . . . . . . . . . . . Uso do Elemento Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reinicie (Reset) o SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estrutura SFC_STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Encadeamento de um SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Passagem de Parmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configurao ao Retornar para OS/JSR . . . . . . . . . . . . . . . . . . . . . . Pausa ou Resete de um SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagramas de Execuo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-13 4-14 4-16 4-17 4-17 4-17 4-18 4-19 4-20 4-21 4-22 4-24 4-24 4-24 4-25 4-26 4-29 4-29 4-31 4-31 4-33 4-35 4-35 4-36 4-36 4-38 4-39 4-39 4-39 4-40 4-41 4-42 4-43 4-43 4-44 4-44

Captulo 5 Programao de um Controle Seqencial de Funes


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . Antes de Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adicione um Elemento SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adio e Conexo Manual de Elementos. . . . . . . . . . . . . . . . . . . Adio e Conexo Automtica de Elementos . . . . . . . . . . . . . . . Arrastar e Soltar os Elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . Criao de uma Ramificao Simultnea. . . . . . . . . . . . . . . . . . . . . . . Incio de uma Ramificao Simultnea . . . . . . . . . . . . . . . . . . . . . Finalizao de uma Ramificao Simultnea . . . . . . . . . . . . . . . . Criao de uma Ramificao de Seleo . . . . . . . . . . . . . . . . . . . . . . . 5-1 5-1 5-1 5-2 5-2 5-3 5-3 5-4 5-4 5-4 5-5

Publicao 1756-PM001E-PT-P - Agosto 2002

Sumrio

iii

Inicializao de uma Ramificao de Seleo . . . . . . . . . . . . . . . . 5-5 Finalizao de uma Ramificao de Seleo . . . . . . . . . . . . . . . . . 5-6 Defina as Prioridades de uma Ramificao de Seleo. . . . . . . . . . . . 5-7 Retorno para uma Etapa Anterior. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Conecte um Fio Etapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Esconder um Fio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 Mostrar um Fio Escondido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 Renomeao de uma Etapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 Configurao de uma Etapa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 Atribuio de um Tempo de Pr-programado para uma Etapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 Configure os Alarmes para uma Etapa . . . . . . . . . . . . . . . . . . . . 5-11 Uso de uma Expresso para Calcular um Tempo . . . . . . . . . . . 5-11 Renomeao de uma Transio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13 Programao de uma Transio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13 Inserir uma Expresso BOOL . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13 Chame uma Sub-rotina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 Adio de uma Ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 Renomeao de uma Ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 Configurao de uma Ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 Alterao do Qualificador de uma Ao. . . . . . . . . . . . . . . . . . . 5-16 Clculo de um Tempo Pr-programado no Tempo de Execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 Indicao de uma Ao como uma Ao Booleana. . . . . . . . . . 5-17 Programao de uma Ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 Insero do Texto Estruturado . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 Chame uma Sub-rotina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 Atribuio da Seqncia de Execuo de Aes . . . . . . . . . . . . . . . 5-20 Documentao do SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21 Adio de Comentrios do Texto Estruturado . . . . . . . . . . . . . 5-21 Adio de uma Descrio do Tag . . . . . . . . . . . . . . . . . . . . . . . . 5-22 Adio de uma Caixa de Texto . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23 Mostrar ou Esconder as Caixas de Textos ou Descries de Tag . . 5-24 Mostrar ou Esconder as Caixas de Textos ou Descries de Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24 Esconder uma Descrio Individual de Tag. . . . . . . . . . . . . . . . 5-24 Configurao da Execuo do SFC. . . . . . . . . . . . . . . . . . . . . . . . . . 5-26 Verificao da Rotina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26

Captulo 6 Programa de Texto Estruturado Quando Usar Este Captulo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1


Sintaxe do Texto Estruturado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Atributos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Especificao de um atributo no retentivo . . . . . . . . . . . . . . . . . Atribuio de um Caracter ASCII para um string . . . . . . . . . . . . Expresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uso dos operadores e funes aritmticas . . . . . . . . . . . . . . . . . . Uso dos operadores relacionados . . . . . . . . . . . . . . . . . . . . . . . . . Uso dos operadores lgicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 6-2 6-4 6-5 6-5 6-6 6-8 6-9

Publicao 1756-PM001E-PT-P - Agosto 2002

iv

Sumrio

Uso dos operadores bitwise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Determinao da seqncia de execuo . . . . . . . . . . . . . . . . . . Instrues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Construes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IF...THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CASE...OF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FOR...DO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WHILE...DO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REPEAT...UNTIL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comentrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-10 6-11 6-11 6-12 6-13 6-17 6-20 6-23 6-26 6-29

Captulo 7 Programao de um Diagrama Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Antes de Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 do Bloco de Funes

Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Identificao das Planilhas para a Rotina . . . . . . . . . . . . . . . . . . . . . . 7-2 Seleo dos Elementos do Bloco de Funes . . . . . . . . . . . . . . . . . . 7-3 Seleo de um Nome de Tag para um Elemento . . . . . . . . . . . . . . . . 7-3 Definio da Seqncia de Execuo . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 Reteno de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 Seqncia de Execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Determinao de uma Malha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 Determinao do Fluxo de Dados Entre Dois Blocos . . . . . . . . 7-9 Criao de um Atraso de Varredura . . . . . . . . . . . . . . . . . . . . . . 7-10 Resumo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 Identificao de Todos os Conectores . . . . . . . . . . . . . . . . . . . . . . . 7-11 Definio do Controle de Programao/Operao . . . . . . . . . . . . . 7-12 Adio de uma Planilha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16 Adio de um Elemento do Bloco de Funes . . . . . . . . . . . . . . . . 7-16 Conexo de Elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18 Mostrar ou Esconder um Pino . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18 Conexo de Elementos Juntos . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19 Marcao de uma Conexo com o Indicador Considerar Dados Disponveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19 Atribuio de um Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20 Criao e Atribuio de um Tag Novo. . . . . . . . . . . . . . . . . . . . 7-20 Renomeao do Tag de um Bloco de Funes . . . . . . . . . . . . . 7-21 Atribuio de um Tag Existente . . . . . . . . . . . . . . . . . . . . . . . . . 7-21 Atribuio de um Valor Imediato (Constante) . . . . . . . . . . . . . . . . . 7-22 Uso de uma IREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22 Insero de um Valor no Tag de um Bloco . . . . . . . . . . . . . . . . 7-22 Conexo de Blocos com um OCON e ICON . . . . . . . . . . . . . . . . . 7-23 Adio de um OCON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23 Adio de um ICON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23 Verificao da Rotina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24

Captulo 8 Programao da Lgica Ladder Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1


Antes de Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Publicao 1756-PM001E-PT-P - Agosto 2002

Sumrio

Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 Definies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Instruo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Ramificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Condio de Linha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Escrita da Lgica Ladder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Seleo das Instrues Exigidas . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Organizao das Instrues de Entrada . . . . . . . . . . . . . . . . . . . . 8-6 Organizao das Instrues de Sada . . . . . . . . . . . . . . . . . . . . . . 8-7 Seleo de um Nome de Tag para um Operando . . . . . . . . . . . . 8-7 Insero da Lgica Ladder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 Acrscimo de um Elemento ao Local do Curso . . . . . . . . . . . . . 8-9 Arrastar e Soltar um Elemento . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Atribuio de Operandos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 Criao e Atribuio de um Tag Novo . . . . . . . . . . . . . . . . . . . . 8-10 Seleo de um Nome ou de um Tag Existente . . . . . . . . . . . . . 8-11 Arrastar um Tag da Janela de Tags . . . . . . . . . . . . . . . . . . . . . . . 8-12 Atribuio de um Valor Imediato (Constante). . . . . . . . . . . . . . 8-12 Verificao da Rotina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12

Captulo 9 Acesso aos Valores do Sistema


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . Como Usar Este Procedimentoo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monitorao de Flags de Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Obteno e Energizao de Dados do Sistema . . . . . . . . . . . . . . . . . Determinao das Informaes sobre a Memria do Controlador . . Obteno das Informaes sobre a Memria do Controlador . . Seleo das Informaes sobre a Memria Desejada. . . . . . . . . . Converso de INTs em DINT . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 9-1 9-1 9-3 9-6 9-7 9-8 9-9

Captulo 10 Atribuio de Aliases/ Smbolos


Tags com Aliases/Smbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Exibio das Informaes de Alias/Smbolo . . . . . . . . . . . . . . . . . . 10-2 Atribuio de um Alias/Smbolo . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2

Captulo 11 Atribuio de um Endereo Indireto


Quando Atribuir um Endereo Indireto. . . . . . . . . . . . . . . . . . . . . . 11-1 Expresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3

Captulo 12 Buffer de E/S


Quando Usar o Buffer de E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1 Buffer de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1

Captulo 13 Teste de um Projeto


Teste de um Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1 Configurao de um Driver de Comunicao . . . . . . . . . . . . . . . . . 13-1
Publicao 1756-PM001E-PT-P - Agosto 2002

vi

Sumrio

Download de um Projeto para o Controlador . . . . . . . . . . . . . . . . . Seleo de um Modo para o Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Correo de Falhas Graves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Salvar Suas Alteraes Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13-3 13-5 13-6 13-6

Captulo 14 Comunicao com Outro Controlador


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1 Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1 Produo e Consumo de um Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1 O Que Voc Precisa Fazer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2 Organizao de Tags para Dados Produzidos ou Consumidos 14-3 Produo de um Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4 Consumo de um Tag Produzido . . . . . . . . . . . . . . . . . . . . . . . . . 14-5 Produo de Inteiros para um Controlador CLP-5C. . . . . . . . . 14-6 Produo de REALs para um Controlador CLP-5C . . . . . . . . . 14-7 Consumo de Inteiros de um Controlador CLP-5C . . . . . . . . . . 14-8 Ajuste para Limitaes de Largura da Banda . . . . . . . . . . . . . . . 14-9 Envio de uma Mensagem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11 Envio de uma Mensagem para Controladores Mltiplos. . . . . . . . 14-13 Definio da Configurao da E/S. . . . . . . . . . . . . . . . . . . . . . 14-14 Definio dos Elementos Source e Destination. . . . . . . . . . . . 14-15 Criao do Tipo de Dados MESSAGE_CONFIGURATION. . . . . . . . . . . . . . . . . . . . . . 14-16 Criao do Array de Configurao . . . . . . . . . . . . . . . . . . . . . . 14-16 Obteno do Tamanho do Array Local . . . . . . . . . . . . . . . . . . 14-19 Carregamento das Propriedades para um Controlador . . . . . . 14-20 Configurao da Mensagem . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-21 Etapa para o Prximo Controlador . . . . . . . . . . . . . . . . . . . . . 14-22 Reincio da Sequncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22

Captulo 15 Produo de uma Matriz Grande


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1 Produo de uma Matriz Grande . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2

Captulo 16 Comunicao com um Dispositivo ASCII


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1 Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1 Conexo do Dispositivo ASCII. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2 Configurao da Porta Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3 Configurao do Protocolo do Usurio . . . . . . . . . . . . . . . . . . . . . . 16-5 Criao de Tipos de Dados do String . . . . . . . . . . . . . . . . . . . . . . . . 16-7 Leitura de Caracteres do Dispositivo . . . . . . . . . . . . . . . . . . . . . . . . 16-8 Envio de Caracteres para o Dispositivo . . . . . . . . . . . . . . . . . . . . . 16-13 Insero dos Caracteres ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-18

Publicao 1756-PM001E-PT-P - Agosto 2002

Sumrio

vii

Captulo 17 Caracteres do Processo ASCII


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1 Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1 Separao de um Produto de um Cdigo de Barras. . . . . . . . . . . . . 17-2 Exame de um Cdigo de Barras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4 Criao do Tipo de Dados PRODUCT_INFO. . . . . . . . . . . . . 17-5 Busca de Caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5 Identificao do Nmero da Linha . . . . . . . . . . . . . . . . . . . . . . . 17-7 Rejeio de Caracteres Ruins. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-8 Insero dos IDs de Produto e Nmeros da Linha . . . . . . . . . . 17-8 Verificao de Caracteres do Cdigo de Barras . . . . . . . . . . . . . . . . 17-9 Converso de um Valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11 Decodificao de uma Mensagem ASCII . . . . . . . . . . . . . . . . . . . . 17-13 Construo de um String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-17

Captulo 18 Elementos da Lgica Force


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1 Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1 Precaues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2 Habilitar Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2 Desabilitar ou Remover um Force . . . . . . . . . . . . . . . . . . . . . . . 18-3 Verificar o Status do Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4 Barra de Ferramentas On-line . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4 LED FORCE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5 Instruo GSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5 O Que Forar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-6 Quando Usar um Force de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-6 Forar um Valor de Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-7 Forar um Valor de Sada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-7 Adicionar um force de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-8 Quando Usar Step Through . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9 Uso de uma Opo Step Through para uma Transio ou Force de um Caminho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9 Quando Usar um Force de SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9 Force de uma Transio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9 Force de um Caminho Simultneo . . . . . . . . . . . . . . . . . . . . . . 18-10 Adio de um Force SFC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-11 Remoo ou Desabilitao de Forces . . . . . . . . . . . . . . . . . . . . . . . 18-12 Remover um Force Individual . . . . . . . . . . . . . . . . . . . . . . . . . 18-12 Desabilitao de Todos os Forces de E/S e SFC . . . . . . . . . . 18-13 Remover Todos os Forces de E/S e SFC . . . . . . . . . . . . . . . . 18-13 Desabilitao de Todos os Forces de E/S . . . . . . . . . . . . . . . . 18-13 Remoo de Todos os Forces de E/S . . . . . . . . . . . . . . . . . . . 18-13 Desabilitao de Todos os Forces de SFC . . . . . . . . . . . . . . . . 18-13 Remoo de Todos os Forces de SFC . . . . . . . . . . . . . . . . . . . 18-13

Publicao 1756-PM001E-PT-P - Agosto 2002

viii

Sumrio

Captulo 19 Desenvolvimento de uma Rotina de Falha


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1 Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1 Crie do Tipo de Dados FAULTRECORD. . . . . . . . . . . . . . . . . . . . 19-2 Criao de um Rotina de Falha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3 Remova de uma Falha Grave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4 Obteno do Tipo e Cdigo de Falha . . . . . . . . . . . . . . . . . . . . 19-4 Verificao para uma Falha Especfica . . . . . . . . . . . . . . . . . . . . 19-5 Remoo de Falhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-5 Remova de uma Falha Grave Durante a Pr-varredura . . . . . . . . . . 19-6 Identificao Quando o Controlador est em Pr-varredura . . 19-6 Obteno do Tipo e Cdigo de Falha . . . . . . . . . . . . . . . . . . . . 19-7 Verificao para uma Falha Especfica . . . . . . . . . . . . . . . . . . . . 19-8 Remoo de Falhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-9 Teste uma Rotina de Falha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-10

Captulo 20 Criao de uma Falha Grave Definida Pelo Usurio


Quando Usar este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1 Criao de uma Falha Grave Definida pelo Usurio . . . . . . . . . . . . 20-1

Captulo 21 Monitorao de Falhas de Advertncia


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1 Monitorao de Falhas de Advertncia . . . . . . . . . . . . . . . . . . . . . . 21-1

Captulo 22 Desenvolvimento de uma Rotina de Energizao


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1 Desenvolvimento de uma Rotina de Energizao . . . . . . . . . . . . . . 22-1

Captulo 23 Armazenamento e Carregamento de um Projeto Usando Memria No Voltil


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-1 Como Usar Este Procedimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-2 Seleo de um Controlador Que Possua Memria No Voltil. . . . 23-3 Cuidados com o Carto 1784-CF64 Industrial CompactFlash . . . . 23-4 Seleo de Quando Carregar uma Imagem. . . . . . . . . . . . . . . . . . . . 23-5 Armazenamento de um Projeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-5 Configurao da Operao de Armazenamento . . . . . . . . . . . . 23-6 Armazenamento do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-7 Armazenamento do Projeto Online . . . . . . . . . . . . . . . . . . . . . . 23-7 Carregamento de um Projeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-8 Verificao de um Carregamento . . . . . . . . . . . . . . . . . . . . . . . . . . 23-10 Limpeza da Memria No Voltil . . . . . . . . . . . . . . . . . . . . . . . . . . 23-11 Verifique a Opo de Carregamento de Imagem Atual. . . . . . 23-11 Alterao da Opo de Carregamento de Imagem . . . . . . . . . 23-11 Excluso do Projeto a Partir do Controlador. . . . . . . . . . . . . . 23-12 Armazenamento da Imagem Vazia . . . . . . . . . . . . . . . . . . . . . . 23-12

Publicao 1756-PM001E-PT-P - Agosto 2002

Sumrio

ix

Captulo 24 Proteo de um Projeto


Quando Usar Este Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-1 Uso da Proteo de Fonte da Rotina . . . . . . . . . . . . . . . . . . . . . . . . 24-1 Seleo do Nvel de Proteo para Cada Rotina . . . . . . . . . . . . 24-4 Seleo de um Nmero de Chaves Source . . . . . . . . . . . . . . . . . 24-4 Definio da Chave ou Chaves Source . . . . . . . . . . . . . . . . . . . . 24-5 Seleo de um Local de Arquivo Para Armazenar as Chaves Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-5 Ativao do Recurso de Proteo da Fonte do RSLogix 5000 . 24-5 Criao de um Arquivo para as Chaves Source . . . . . . . . . . . . . 24-6 Proteo de uma Rotina com uma Chave Source . . . . . . . . . . . 24-7 Remoo do Acesso para uma Rotina Protegida . . . . . . . . . . . . 24-8 Desabilitao da Proteo da Fonte da Rotina. . . . . . . . . . . . . . 24-8 Obteno do Acesso a uma Rotina Protegida . . . . . . . . . . . . . . 24-9 Uso do Security Server RSI para Proteger um Projeto. . . . . . . . . . 24-11 Instalao do Software RSI Security Server . . . . . . . . . . . . . . . 24-11 Configurao de DCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-11 Habilitao do Servidor de Segurana para o Software RSLogix 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-12 Importao do Arquivos RSLogix5000Security.BAK . . . . . . . 24-12 Definio de Aes Globais para seus Usurios . . . . . . . . . . . 24-13 Definio das Aes de Projeto para seus Usurios . . . . . . . . 24-14 Adio de Usurios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-17 Adio de Grupos de Usurio. . . . . . . . . . . . . . . . . . . . . . . . . . 24-17 Atribuio do Acesso Global ao Software RSLogix 5000 . . . . 24-17 Atribuio de Aes de Projetos para o New RSLogix 5000 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-18 Segurana de um Projeto RSLogix 5000. . . . . . . . . . . . . . . . . . 24-19 Atribuio do Acesso a um Projeto RSLogix 5000 . . . . . . . . . 24-19 Atualizao do Software RSLogix 5000, Se Necessrio. . . . . . 24-20

Apndice A Cdigos de Falha


Quando Usar Este Apndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 Cdigos de Falhas Graves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 Cdigos de Falha de Advertncia . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3

Apndice B Conformidade IEC61131-3


Use Este Apndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sistema Operacional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definies de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linguagens de Programao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conjunto de Instrues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Portabilidade do Programa IEC61131-3. . . . . . . . . . . . . . . . . . . . . . . Tabelas de Conformidade com IEC . . . . . . . . . . . . . . . . . . . . . . . . . . B-1 B-1 B-2 B-2 B-3 B-3 B-3 B-5

Publicao 1756-PM001E-PT-P - Agosto 2002

Sumrio

Glossrio ndice Cdigos do Caracter ASCII Quarta Capa

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Gerenciamento dos Arquivos de Projeto

Criao de um Arquivo de Projeto

Antes de voc programar um controlador Logix5000, voc deve criar um projeto: 1. Inicie o software RSLogix 5000. 2. No menu Arquivo selecione Novo.

3. 4. 5.

6. 7. 8.

42194

3. Selecione o tipo do controlador. 4. Digite um nome para o controlador. 5. Digite uma descrio das operaes que o controlador desempenha (opcional). 6. Selecione o tipo do chassi (nmero de ranhuras) que o controlador contm (no aplicvel para alguns controladores). 7. Selecione o tipo de ranhuras nas quais o controlador est instalado (no aplicvel para alguns controladores). 8. Para armazenar o arquivo numa pasta diferente (diferente do caminho padro Create in), clique em Browse e selecione uma pasta. 9. Clique em OK.

Publicao 1756-PM001E-PT-P - Agosto 2002

1-2

Gerenciamento dos Arquivos de Projeto

Quando voc cria um projeto, o nome do arquivo do projeto o mesmo do controlador.

nome do controlador

organizador do controlador

42371

Armazenamento das Mudanas

Assim que voc criar a lgica e fizer as mudanas de configurao, salve o projeto.
Para: salvar suas mudanas fazer uma cpia do projeto aberto, mas mantendo o nome do controlador existente fazer uma cpia do projeto e atribuir um nome diferente para o controlador Faa isto: No menu File, selecione Save. A. No menu File, selecione Save As . B. Digite um nome para o arquivo do projeto. Use sublinhas [ _ ] no lugar dos espaos. C. Clique em Save. A. No menu File, selecione Save As . B. Digite um nome para o arquivo do projeto. Use sublinhas [ _ ] no lugar dos espaos. C. Clique em Save. D. No organizador do controlador, clique com o boto direito sobre a pasta name_of_controller e selecione Properties. E. Digite um novo nome para o controlador. F. Clique em OK.

Nomeie download para o controlador, enquanto a documentao (descries, comentrios de linha) no so descarregadas para o controlador. Para mudar o nome, tamanho do chassi ou nmero da ranhura do controlador:

Publicao 1756-PM001E-PT-P - Agosto 2002

Gerenciamento dos Arquivos de Projeto

1-3

a. No organizador do controlador, clique com o boto direito sobre a pasta Controller name_of_controller e selecione Properties. b. Mude as informaes requisitadas. c. Clique em OK.

Publicao 1756-PM001E-PT-P - Agosto 2002

1-4

Gerenciamento dos Arquivos de Projeto

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Organizao de Tarefas, Programas e Rotinas

Quando Usar Este Procedimento

Use esse procedimento para: definir a organizao geral de seu projeto escolher uma linguagem de programao para cada funo principal da mquina ou processo. criar tarefas, programas e rotinas nos quais voc programe a lgica

Antes de Comear

Para determinar quais linguagens de programao esto instaladas na sua verso do software RSLogix 5000: 1. Inicie o software RSLogix 5000. 2. No menu Help, selecione About RSLogix 5000. Para adicionar uma linguagem de programao, consulte FlexLogix Selection Guide, publicao 1756-SG001.

Como Usar Este Procedimento

Para organizar o projeto em tarefas, programas e rotinas: Revise as Definies Planejamento de Tarefas do Projeto Uso do Organizador do Controlador Criao de uma Tarefa Peridica Criao de um Programa Criao de uma Rotina Configurao de uma Rotina como uma Rotina Principal Verificao do Projeto

Publicao 1756-PM001E-PT-P - Agosto 2002

2-2

Organizao de Tarefas, Programas e Rotinas

Definies

Antes de usar os procedimentos descritos neste captulo, familiarize-se com as definies a seguir.

Tarefa

Tarefa Contnua Programa

Rotina

Tarefa Peridica

Rotina Principal

Tarefa
Uma tarefa fornece informaes de programao e prioridade para um conjunto de um ou mais programas executados com base em critrios especficos. Uma vez que uma tarefa acionada (ativada), todos os programas atribudos (seqenciados) s tarefas so executados na ordem em que so mostrados no organizador do controlador.

Tarefa Contnua
A tarefa contnua executada em segundo plano. Qualquer tempo de CPU no alocado para outras operaes (como movimento, comunicaes e tarefas peridicas) usado para executar os programas na tarefa contnua. A tarefa contnua executada a todo o tempo. Quando a tarefa contnua conclui uma varredura completa, ela reinicia imediatamente. Um projeto no requer uma tarefa contnua. Se usada, deve haver apenas uma tarefa contnua.

Tarefa Peridica
Uma tarefa peridica realiza uma funo em uma taxa especfica. Qualquer que seja o tempo para a tarefa peridica expirar, a tarefa interrompe a tarefa contnua, executa uma vez e volta para o controle de onde a tarefa contnua parou.
Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tarefas, Programas e Rotinas

2-3

Voc pode configurar o perodo de tempo de 1 ms a 2000 s. O padro 10 ms. possvel criar at 32 tarefas peridicas e atribuir uma prioridade a cada uma: A tarefa com prioridade mais alta interrompe todas as tarefas com prioridade mais baixa. Uma tarefa com prioridade alta pode interromper tempos mltiplos de uma tarefa com prioridade menor. As tarefas com a mesma prioridade executam sobre uma base de tempo curto em intervalos de 1 ms. O exemplo a seguir exibe a execuo de um projeto com trs tarefas. Ordem de execuo da tarefa para um projeto com duas tarefas peridicas e uma tarefa contnua
Tipo de Tarefa: peridica de 20 ms peridica de 10 ms contnua Legenda: A tarefa executada. A tarefa interrompida (suspensa). Nvel de Prioridade: 5 10 nenhum (mais baixo) Tempo de Execuo: 2 ms 4 ms 24 ms

EXEMPLO
Tarefa: 1 2 3

Tarefa 1

Tarefa 2

Tarefa 3 5 tempo transcorrido (ms) 10 15 20 25 30 35 40 45 50

Programa
Um programa uma subdiviso de uma tarefa. Quando a tarefa acionada, os programas definidos na tarefa so executados at a concluso, do primeiro at o ltimo. Cada programa contm tags de programa, uma rotina principal, outras rotinas e uma rotina opcional de falha.

Publicao 1756-PM001E-PT-P - Agosto 2002

2-4

Organizao de Tarefas, Programas e Rotinas

Rotina
As rotinas fornecem o cdigo executvel para o projeto em um controlador (semelhante a um arquivo de programa em um controlador CLP ou SLC). Cada rotina usa uma linguagem de programao especfica, como a lgica ladder.

Rotina Principal
Quando um programa executa, sua rotina principal executa primeiro. Use a rotina principal para chamar (executar) outras rotinas (sub-rotinas). Para chamar uma outra rotina em um programa, use uma instruo JSR (Salto para Sub-rotina).

Planejamento de Tarefas do Projeto

Para identificar as tarefas, programas e rotinas para sua lgica, tome as decises a seguir: Definio das Funes do Projeto Atribuio de Cada Funo a uma Tarefa Essas decises, normalmente, so interativas. Aps tomar algumas decises iniciais, revise as decises para continuar a desenvolver o projeto.

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tarefas, Programas e Rotinas

2-5

Definio das Funes do Projeto


Uma das primeiras decises no desenvolvimento de um projeto Logix5000 definir as funes (operaes) da mquina ou processo. 1. Identifique as funes principais (operaes) da mquina ou processo. 2. Para cada funo, escolha a linguagem de programao que melhor se ajusta s funes. Isso pode requerer que voc revise a lista de funes para obter vantagens de diferentes linguagens. Use qualquer combinao de linguagens no mesmo projeto.

Em geral, se a funo ou grupo de funes representar: execuo contnua ou paralela de mltiplas operaes (no seqenciadas) operaes baseadas em bit ou booleanos operaes lgicas complexas processamento de comunicao e mensagem intertravamento de mquina operaes em que a equipe de servio e manuteno pode ter que interpretar a fim de localizar as falhas da mquina ou processo. processo contnuo e controle do inversor controle da malha clculos em fluxo de circuito gerenciamento de mltiplas operaes em alto nvel seqncias repetitivas de operaes processo por batelada controle de posicionamento usando texto estruturado estado de operaes da mquina operaes matemticas complexas matriz especializada ou tabela de processamento de malha manipulao da string ASCII ou processamento de protocolo

Use esta linguagem: lgica ladder

diagrama do bloco de funes

Use um controle seqencial de funes (SFC)

texto estruturado

Publicao 1756-PM001E-PT-P - Agosto 2002

2-6

Organizao de Tarefas, Programas e Rotinas

Atribuio de Cada Funo a uma Tarefa


Uma vez definidas as funes (operaes) do projeto, use as diferentes opes de tarefas para iniciar a execuo de cada funo. 1. Determine o tempo de disparo para cada funo (quando a funo deve executar). 2. Com base no tempo de disparo da funo, escolha uma tarefa em que executar a funo:
Se uma funo executar: Ento:

em uma taxa constante (p. ex.: executa uma atribua a funo a uma rotina em uma malha PID a cada 100 ms) tarefa peridica muito rpido quando um evento especfico ou conjunto de condies ocorrer a todo o tempo quando uma falha ocorrer no for grave o bastante para que o controlador desligue atribua a funo a uma rotina de falha Consulte Desenvolvimento de uma Rotina de Falha na pgina 19-1. atribua a funo a uma rotina nas tarefas contnuas (isto , MainTask)

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tarefas, Programas e Rotinas

2-7

Uso do Organizador do Controlador

O organizador do controlador fornece uma caracterstica geral de um projeto. medida que desenvolver o projeto, necessrio realizar as seguintes aes comuns: Abertura ou Fechamento de uma Pasta Abertura de uma Rotina

Abertura ou Fechamento de uma Pasta


O organizador do controlador armazena os diferentes componentes de um projeto em pastas. Cada pasta pode conter outras pastas.

Para abrir uma pasta e exibir seus contedos (expandir), faa o seguinte: Clique duas vezes na pasta. Selecione a pasta e pressione a tecla . Clique no sinal de +.

Para fechar uma pasta e esconder seus contedos (desfazer), faa o seguinte: Clique duas vezes na pasta. Selecione a pasta e pressione a tecla . Clique no sinal de .

Publicao 1756-PM001E-PT-P - Agosto 2002

2-8

Organizao de Tarefas, Programas e Rotinas

Abertura de uma Rotina

Para abrir uma rotina, clique duas vezes na rotina. Se a rotina estiver desabilitada, no possvel abri-la.

Se uma rotina falhar ao abrir, verifique a linha de status do software RSLogix 5000:
Se a linha de status diz: Failed to open the routine editor not installed Source not available Ento: O editor para a linguagem da rotina no est instalado. Para uma lista de pacotes de software disponvel, consulte: FlexLogix Selection Guide, publicao 1756-SG001 Para abrir a rotina, necessrio sua chave source. Consulte Uso da Proteo de Fonte da Rotina na pgina 24-1. possvel: executar a rotina exibir as propriedades da rotina identificar as referncias cruzadas para a lgica na rotina

IMPORTANTE

Se a fonte da rotina no estiver disponvel, no exporte projeto. Uma exportao de arquivo (.L5K) contm apenas rotinas nas quais o cdigo fonte estiver disponvel. Se voc exportar um projeto no qual o cdigo fonte no estiver disponvel para todas as rotinas, voc no estar capacitado a restaurar o projeto inteiro.

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tarefas, Programas e Rotinas

2-9

Criao de uma Tarefa Peridica

Uma tarefa peridica realiza uma funo ou funes em uma taxa especfica. ATENO Certifique-se de que o perodo de tempo seja maior do que a soma dos tempos de execuo de todos os programas definidos para a tarefa. Se o controlador detectar que a inicializao de uma tarefa peridica ocorre para uma tarefa que j est operando, uma falha de advertncia ocorre.

1.

1. No organizador do controlador, clique com o boto direito na pasta Tasks e escolha New Task.

2.

3. 4.

5. 6.

2. Na caixa de texto Name, digite um nome para a tarefa. 3. Na lista Type, selecione Periodic (padro). 4. Na lista Watchdog, insira o tempo de watchdog para a tarefa.

Publicao 1756-PM001E-PT-P - Agosto 2002

2-10

Organizao de Tarefas, Programas e Rotinas

5. Na caixa de texto Rate, digite a taxa em que quer executar a tarefa. 6. Na caixa de texto Priority, digite a prioridade para a tarefa. 7. Selecione

Criao de um Programa

Cada tarefa requer pelo menos um programa. possvel criar mltiplos programas para uma tarefa.

1.

1. No organizador do controlador, clique com o boto direito na tarefa que executar o programa e escolha New Program.

2.

2. Na caixa de texto Name, insira um nome para o programa. 3. Selecione

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tarefas, Programas e Rotinas

2-11

Criao de uma Rotina

Cada programa requer pelo menos uma rotina. Use uma rotina para executar a lgica.

1.

1. No organizador do controlador, clique com o boto direito no programa que executar a rotina e selecione New Routine.

2.

3.

2. Na caixa de texto Name, insira um nome para a rotina. 3. Na lista Type, escolha a linguagem de programao para a rotina 4. Selecione

Publicao 1756-PM001E-PT-P - Agosto 2002

2-12

Organizao de Tarefas, Programas e Rotinas

Configurao de uma Rotina como uma Rotina Principal

Cada programa requer uma rotina principal. A rotina principal executa sempre que o programa executa.

1.

1. No organizador do controlador, clique com o boto direito no programa que executar a rotina e selecione Properties.

2.

3.

2. Clique na guia Configuration. 3. Na lista Main, escolha o nome da rotina. 4. Selecione

Verificao do Projeto

medida em que programa o projeto, verifique periodicamente seu trabalho: 1. Na barra de ferramentas na parte superior da janela do RSLogix 5000, clique em 2. Se algum erro for listado na parte inferior da janela: a. V para o primeiro erro ou aviso, pressione [F4]. b. Corrija o erro de acordo com a descrio na janela Results. c. V para a etapa 1. 3. Para fechar a janela Results, pressione [Alt] + [1].

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Organizao de Tags

Planejamento de Tags

Os controladores Logix5000 armazenam os dados em tags (em contraste com arquivos de dados fixos que so endereados numericamente). Com os tags, voc pode organizar os seus dados para refletir suas mquinas documentar (atravs dos nomes de tags) suas aplicaes bem como desenvolv-las Quando voc cria um tag, voc atribui as seguintes propriedades:
Tabela 3.1 Propriedades do Tag Propriedade: escopo nome tipo de dados Descrio: define quais rotinas podem acessar os dados identifica os dados (Tags com diferentes usos podem ter o mesmo nome) define a organizao dos dados, bem como um bit, nmeros inteiros, ou nmeros de ponto flutuante

A tabela seguinte esboa os tipos mais comuns de dados e quando usar cada um.
Tabela 3.2 Tipos de Dados Para: dispositivo analgico em modo de ponto flutuante dispositivo analgico em modo de nmero inteiro (para amostras de taxas muito rpidas) Caracteres ASCII bit Counter ponto de E/S digital nmero de ponto flutuante inteiro (nmero total) sequenciador temporizador REAL INT grupo BOOL COUNTER BOOL REAL DINT CONTROL TIMER Selecione:

Publicao 1756-PM001E-PT-P - Agosto 2002

3-2

Organizao de Tags

Utilize a tabela seguinte para organizar seus dados:


Para: um grupo de atributos comuns que so usados por mais de uma mquina um grupo de dados com o mesmo tipo de dados valor nico dispositivo de E/S Utilize tipo de dados definido pelo usurio matriz tag de um nico elemento Referncia Consulte Crie um Tipo de Dados Definidos Pelo Usurio na pgina 3-6. Consulte Criao de um Tag na pgina 3-8.

Os seguintes exemplos mostram os diferentes nveis nos quais voc pode organizar seus dados: Tags de um nico elemento, na pgina 3-3 Matriz de dimenso nica, na pgina 3-3 Matriz de duas dimenses, na pgina 3-4 Tipo de dados definidos pelo usurio que armazena uma receita, na pgina 3-5 Um tipo de dados definido pelo usurio que armazene os dados que so necessrios para executar uma mquina, na pgina 3-6

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tags

3-3

EXEMPLO

Tags de um nico elemento

dispositivo de E/S analgica valor inteiro bit de armazenamento Contador temporizador dispositivo de E/S digital
42364

EXEMPLO

Matriz de dimenso nica Neste exemplo, uma instruo de temporizador simples realiza a contagem do tempo da durao de diversas etapas. Cada etapa requer um valor pr-selecionado diferente. Como todos os valores tm o mesmo tipo de dados (DINTs), uma matriz usada.

Para expandir a matriz e mostrar seus elementos, clique no sinal de +.

Para desfazer uma matriz e esconder seus elementos, clique no sinal . elementos de timer_presets

Esta matriz contm seis elementos do tipo de dados DINT. seis elementos DINTs

42367

Publicao 1756-PM001E-PT-P - Agosto 2002

3-4

Organizao de Tags

EXEMPLO

Matriz de duas dimenses Uma furadeira pode fazer de um a cinco furos em um livro. A mquina requer um valor para a posio de cada furo, desde a borda do livro. Para organizar os valores em configuraes, uma matriz de duas dimenses usada. O primeiro subscrito indica o furo para o qual o valor corresponde e o segundo subscrito indica quantos furos sero feitos (de um a cinco).
subscrito da segunda dimenso 0 subscrito da primeira dimenso 0 1 2 3 4 5 1.5 2.5 8.0 1.25 5.5 9.75 1.25 3.5 7.5 9.75 1.25 3.5 5.5 7.5 9.75 Posio do primeiro furo a partir da borda do livro Posio do segundo furo a partir da borda do livro Posio do terceiro furo a partir da borda do livro Posio do quarto furo a partir da borda do livro Posio do quinto furo a partir da borda do livro 1 2 3 4 5 Descrio

Na janela Tags, os elementos esto na ordem descrita abaixo.

Esta matriz contm uma grade de elementos de duas dimenses, de seis em seis elementos.

42367

A dimenso mais direita incrementa em seu valor mximo e recomea.

Quando a dimenso mais direita recomea, a dimenso esquerda incrementa em um.

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tags

3-5

EXEMPLO

Tipo de dados definidos pelo usurio que armazena uma receita Em um sistema de vrios tanques, cada tanque pode executar uma variedade de receitas. Como a receita precisa de uma mistura de tipos de dados (REAL, DINT, BOOL, etc.) um tipo de dados definido pelo usurio usado.
Nome (do tipo de dados): TANK Nome do Membro temp deadband step step_time preset mix REAL REAL DINT TIMER DINT[6] BOOL Tipo de Dados

Uma matriz que baseada neste tipo de dados ser semelhante a:

matriz de receitas

primeira receita

Esta matriz contm trs elementos do tipo de dados TANK.

membros da receita

42368

Publicao 1756-PM001E-PT-P - Agosto 2002

3-6

Organizao de Tags

EXEMPLO

Um tipo de dados definido pelo usurio que armazene os dados que so necessrios para executar uma mquina Como diversas estaes de perfurao requisitam a seguinte combinao de dados, um tipo de dados definido pelo usurio criado.
Nome (do tipo de dados): DRILL_STATION Nome do Membro part_advance hole_sequence tipo hole_position profundidade total_depth BOOL CONTROL DINT REAL REAL REAL Tipo de Dados

Uma matriz que baseada neste tipo de dados ser semelhante a:

matriz de dois furos

primeiro furo

Esta matriz contm quatro elementos do tipo de dados DRILL_STATION.

dados para o furo

42583

Crie um Tipo de Dados Definidos Pelo Usurio

Para criar um tipo de dados definido pelo usurio:

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tags

3-7

42195

1. Clique com o boto direito do mouse em User-Defined e selecione New Data Type.

2. 3.

42196

4.

5.

6.

7.

2. Insira um nome para o tipo de dados. 3. Insira uma descrio (opcional). 4. Insira o nome do primeiro membro. 5. Especifique o tipo de dados para cada membro. Consulte Tabela 3.2 a pgina 3-1. Para uma matriz, use o seguinte formato: data_type[x] onde:

Publicao 1756-PM001E-PT-P - Agosto 2002

3-8

Organizao de Tags

x o nmero de elementos na matriz. EXEMPLO Se o membro for uma matriz de seis DINTs, digite DINT[6].

6. Para mostrar o(s) valor (es) do membro em um estilo diferente (radical), selecione o estilo. 7. Insira uma descrio para o membro (opcional). 8. Clique em Apply. 9. Mais membros?
Se: Sim No Repita as etapas 4. a 8. Clique em OK. Ento:

Notas:
Se voc incluir membros que representam dispositivos de E/S, a lgica ladder deve ser usada para copiar os dados entre os membros na estrutura e os tags de E/S correpondentes. Consulte Buffer de E/S na pgina 12-1. Ao usar os tipos de dados BOOL, SINT ou INT, coloque os membros que usam o mesmo tipo de dados em seqncia:
mais eficiente BOOL BOOL BOOL DINT DINT menos eficiente BOOL DINT BOOL DINT BOOL

Criao de um Tag

Para criar um tag (incluindo uma matriz): 1. A partir do menu Logic, selecione Edit Tags.

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tags

3-9

2.

42350

3.

4.

5.

2. Selecione um escopo para o tag:


Se voc for usar o tag: em mais de um programa dentro do projeto como um produtor ou como um consumidor em uma mensagem em somente um programa dentro do projeto programa que usar o tag Ento selecione: name_of_controller (controlador)

3. Insira um nome para o controlador. 4. Insira o tipo de dados:


Se o tag for: no for uma matriz (arquivo) for uma dimenso de matriz for matriz de duas dimenses for matriz de trs dimenses Ento digite: data_type data_type[x] data_type[x,y] data_type[x,y,z]

onde: data_type o tipo de dados que o tag ou matriz armazena. Consulte Tabela 3.2 a pgina 3-1. x o nmero de elementos na primeira dimenso. y o nmero de elementos na segunda dimenso. z o nmero de elementos na terceira dimenso. 5. Insira uma descrio (opcional).

Criao de Tags Usando o Microsoft Excel

Voc tambm pode usar um software de planilha eletrnica como o Microsoft Excel para criar e editar tags. Isto permite que voc aproveite os recursos de edio no software de planilha eletrnica.

Publicao 1756-PM001E-PT-P - Agosto 2002

3-10

Organizao de Tags

Para criar tags usando o Excel: 1. Abra o projeto do RSLogix 5000. 2. Crie diversos tags. (Isto ajuda a formatar a planilha eletrnica do Excel). 3. A partir do menu Tools, selecione Export Tags.

Os tags so armazenados nesta pasta.

4.

5.

42361

4. Observe o nome do arquivo exportado (project_name-Tags). 5. Selecione o uso dos tags a serem exportados. Se voc selecionou Program Tags, selecione os tags de programa a serem exportados. 6. Clique em Export.

Publicao 1756-PM001E-PT-P - Agosto 2002

Organizao de Tags

3-11

7. No software Microsoft Excel, abra o arquivo de exportao.

TYPE TAG TYPE TAG TAG TAG TAG TAG

SCOPE SCOPE MainProgram MainProgram MainProgram MainProgram MainProgram

NAME in_cycle NAME conveyor_alarm conveyor_on drill_1 hole_position machine_on

DESCRIPTION DESCRIPTION

DATATYPE DINT DATATYPE BOOL BOOL DRILL_STATION REAL[6,6] BOOL

8.

9.

10.

11.

8. Insira TAG 9. Identifique o uso (escopo) do tag:


Se o uso (escopo) for: do controlador do programa Ento: Deixe esta clula vazia. Insira o nome do programa

10. Insira o nome do tag. 11. Insira o tipo de dados do tag. 12. Repita as etapas 8. a 11. para cada tag adicional. 13. Armazene e feche o arquivo. (Mantenha-o com formato CSV.) 14. No software RSLogix 5000, a partir do menu Tools, selecione Import Tags. 15. Selecione o arquivo que contm os tags e clique Import. Os tags so importados para o projeto. A seo inferior da janela do RSLogix 5000 mostra os resultados. Voc pode configurar os tags para se comunicarem diretamente com outros controladores:
Para: enviar dados pela placa de fundo do chassi e pela rede ControlNet a um intervalo especfico receber dados de outro controlador pela placa de fundo do chassi ou pela rede ControlNet a um intervalo especfico Utilize tag produzido tag consumido

Publicao 1756-PM001E-PT-P - Agosto 2002

3-12

Organizao de Tags

Se voc planeja usar tags produzidos e consumidos, voc deve seguir as orientaes adicionais, medida em que organiza seus tags. Consulte Comunicao com Outro Controlador na pgina 14-1. Os seguintes tipos de dados inteiros tambm esto disponveis: SINT (inteiro de 8 bits) INT (inteiro de 16 bits) Tipicamente, as instrues convertem valores SINT ou INT para um tipo de dados otimizados (geralmente um valor DINT ou REAL) durante a operao. Como isto requer tempo e memria adicionais, minimize o uso de tipo de dados SINT e INT.

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Projeto de um Controle Seqencial de Fune

Quando Usar Este Procedimento

Use esse procedimento para projetar um controle seqencial de funes (SFC) para o processo ou sistema. Um SFC semelhante a um fluxograma de seu processo. Ele define as etapas ou estados pelos quais o sistema evolui. Use o SFC para: organizar a especificao funcional para seu sistema programar e controlar o sistema como uma srie de etapas e transies Ao usar um SFC para especificar o processo, voc tem as vantagens: Como um SFC uma representao grfica do processo, ele mais fcil organizar e ler que uma verso de texto. Alm disso, o software RSLogix 5000 permite: adicionar observaes para esclarecer as etapas ou capturar informaes importantes sobre o seu uso mais tarde imprimir o SFC para compartilhar as informaes com outros indivduos Como os controladores Logix5000 suportam SFCs, no h necessidade de entrar na especificao uma segunda vez. Voc programa o sistema enquanto o especifica. Ao usar um SFC para programar seu processo, voc tem as vantagens: diviso grfica de processos em suas principais partes de lgica (etapas) execuo repetida mais rpida de partes individuais da lgica display de tela mais simples tempo reduzido para projetar e depurar o programa localizao de falhas mais rpida e mais fcil acesso direto ao ponto na lgica em que a mquina falhou atualizaes e aperfeioamentos fceis

Como Usar Este Procedimento

Normalmente, o desenvolvimento de um SFC um processo interativo. Se preferir, possvel usar o software RSLogix 5000 para destacar e aprimorar o SFC. Para os procedimentos especficos sobre como inserir um SFC, consulte Programao de um Controle Seqencial de Funes na pgina 5-1.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-2

Projeto de um Controle Seqencial de Fune

O Que um Controle Seqencial de Funes?

Um controle seqencial de funes (SFC) semelhante a um fluxograma. Ele usa as etapas e transies para realizar operaes e aes especficas. Figura 4.1 e Figura 4.2 so exemplos que mostram os elementos de um SFC:
Figura 4.1 Exemplo de SFC Uma etapa representa uma funo principal do processo. Ela contm as aes que ocorrem em um tempo especfico, fase ou estao. Uma ao uma das funes que a etapa realiza.

Uma transio uma condio verdadeira ou falsa que informa o SFC quando ir para a prxima etapa. Um qualificador determina quando uma ao comea e quando ela pra.

Uma ramificao simultnea executa mais de 1 etapa ao mesmo tempo.

Mostra ou esconde uma ao.

A instruo JSR chama uma sub-rotina. (continuao na prxima pgina)

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-3

Figura 4.2 Exemplo de SFC (continuao da pgina anterior) Uma ramificao de seleo escolhe entre diferentes caminhos de execuo.

Uma caixa de texto permite a adio de texto descritivo ou observaes ao SFC.

Um comando stop permite parar e esperar por um comando para reiniciar. Um fio conecta um elemento a um outro em qualquer lugar do grfico. Esse fio leva voc para a etapa conveyor na Figura 4.1 na pgina anterior.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-4

Projeto de um Controle Seqencial de Fune

Como Projetar um SFC: Caractersticas Gerais

Para projetar um SFC, voc executa as tarefas: Definio de Tarefas Seleo do Modo de Execuo do SFC Definio das Etapas do Processo Organizao de Etapas Adio de Aes para Cada Etapa Descrio de Cada Ao em Pseudocdigo Seleo de um Qualificador para uma Ao Definio das Condies de Transio Transio Aps um Tempo Especfico Desenergizao de um Dispositivo ao Final de uma Etapa Manter Algo Energizado seguindo Passo a Passo Finalizao do SFC Encadeamento de um SFC Configurao ao Retornar para OS/JSR Pausa ou Resete de um SFC As sees restantes deste captulo descrevem em detalhes como realizar cada tarefa.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-5

Definio de Tarefas

A primeira etapa no desenvolvimento de um SFC separar a configurao e regulagem de dispositivos de comandos para esses dispositivos. Os controladores Logix5000 permitem a diviso do projeto em uma tarefa contnua e em mltiplas tarefa peridicas. 1. Organize seu projeto de acordo com:
Essas funes: configurar e regular dispositivos comandar um dispositivo para um estado especfico seqenciar a execuo do processo V aqui: tarefa peridica SFC em tarefa contnua

2. Para essas funes que ficam na tarefa peridica, agrupe as funes de acordo com as taxas de atualizao semelhantes. Crie uma tarefa peridica para cada taxa de atualizao. Por exemplo, os dispositivos em 2 estados podem requerer atualizaes mais rpidas que as malhas PID. Use tarefas peridicas separadas para cada um. O exemplo a seguir mostra um projeto que usa duas tarefas peridicas para regular motores, vlvulas e malhas de temperatura. O projeto usa um SFC para controlar o processo. Definio de Tarefas

EXEMPLO

Essa tarefa (peridica) usa os diagramas do bloco de funes para ligar ou desligar os motores e abrir ou fechar as vlvulas. O SFC em MainTask comanda o estado para cada dispositivo. Os diagramas do bloco de funes energizam e mantm esse estado.

Essa tarefa (peridica) usa os diagramas do bloco de funes para configurar e regular as malhas de temperatura. O SFC em MainTask comanda as temperaturas. Os diagramas do bloco de funes energizam e mantm essas temperaturas.

Essa tarefa (contnua) executa o controle seqencial de funes (SFC). O SFC comanda o estado ou temperatura especficos para cada dispositivo ou malha de temperatura.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-6

Projeto de um Controle Seqencial de Fune

Seleo do Modo de Execuo do SFC

Para executar um SFC, configure-o como rotina principal para um programa ou chame-o como uma sub-rotina.
Se: O SFC apenas uma rotina no programa. O SFC chama todas as outras rotinas do programa. O programa requer que outras rotinas executem independente do SFC. O SFC usa as aes booleanas. Ento: Configure o SFC como rotina principal para o programa. 1. Configure uma outra rotina como rotina principal para o programa. 2. Use a rotina principal para chamar o SFC como uma sub-rotina.

Se o SFC usa aes booleanas, outra lgica deve operar independente do SFC e monitorar os bits de status do SFC.

Definio das Etapas do Processo

Uma etapa representa uma funo principal de seu processo. Ela contm os eventos que ocorrem em um tempo particular, fase ou estao.

Etapa Uma etapa executa de forma contnua at a transio informar o controlador para ir para a etapa seguinte.
Faa isto...

Aes

COMBI-

e faa isso

Transio Se for verdadeiro, v para a etapa seguinte. Se for falso, repita a etapa anterior.

Uma transio termina uma etapa. A transio define as condies fsicas que devem ocorrer ou alterar para ir para a etapa seguinte.

Siga Essas Orientaes


Assim que definir as etapas do processo, siga essas orientaes: Comece com etapas grandes e refine as etapas em diversas etapas.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-7

primeira etapa Pinte

segunda etapa Transfer_In

terceira etapa Transfer_In

Pinte

Paint_Flow

Air_Flow

Elec_Charg

Remova Transfr_Out

Remova Transfr_Out

Ao abrir uma rotina de SFC pela primeira vez, ela contm uma etapa e transio inicial. Use essa etapa para iniciar o processo.
etapa inicial

transio inicial

Para identificar uma etapa, procure uma alterao fsica no sistema, como por exemplo, uma nova parte que esteja em posio, uma temperatura alcanada, um tempo pr-programado alcanado ou uma seleo de resposta que ocorra. A etapa s aes que substituem antes da alterao. Pare quando as etapas estiverem em incrementos significativos. Por exemplo:
Essa organizao de etapas: produce_solution set_mode, close_outlet, set_temperature, open_inlet_a, close_inlet_a, set_timer, reset_temperature, open_outlet, reset_mode preset_tank, add_ingredient_a, cook, drain : provavelmente grande demais provavelmente pequena demais

provavelmente correta

Publicao 1756-PM001E-PT-P - Agosto 2002

4-8

Projeto de um Controle Seqencial de Fune

Estrutura SFC_STEP
Cada etapa usa um tag para fornecer as informaes sobre a etapa. Acesse essas informaes atravs da caixa de dilogo Step Properties ou pela guia Monitor Tags na janela Tags :
Se voc quiser: determinar a quanto tempo a etapa foi ativada (milissegundos) Marque ou energize esse membro: T Tipo de dados: DINT Detalhes: Quando uma etapa se torna ativa, o valor do Temporizador (T) reseta e comea a contagem crescente em milissegundos. O temporizador continua a contagem crescente at a etapa ficar inativa, no importando o valor de Preset (PRE). Insira o tempo no membro Preset (PRE). Quando o Temporizador (T) alcanar o valor de Preset, o bit Done (DN) acende e permanece energizado at a etapa se tornar ativa novamente. Como opo, insira uma expresso numrica que calcule o tempo no tempo de execuo. DN BOOL Quando o Temporizador (T) alcanar o valor de Preset (PRE), o bit Done (DN) acende e permanece energizado at a etapa se tornar ativa novamente. Insira o tempo no membro LimitLow. Se a etapa ficar inativa antes do Temporizador (T) alcanar o valor LimitLow, o bit AlarmLow acende. O bit AlarmLow fica energizado at que seja resetado. Para usar a funo de alarme, energize (marque) o bit AlarmEnable (AlarmEn). Como opo, insira uma expresso numrica que calcule o tempo no tempo de execuo. AlarmEn AlarmLow BOOL BOOL Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn). Se a etapa ficar inativa antes do Temporizador (T) alcanar o valor LimitLow, o bit AlarmLow acende. O bit fica energizado at reset-lo. Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn). Insira o tempo no membro LimitHigh. Se o temporizador (T) alcanar o valor LimitHigh, o bit AlarmHigh energiza. O bit AlarmHigh fica energizado at que seja resetado. Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn). Como opo, insira uma expresso numrica que calcule o tempo no tempo de execuo. AlarmEn AlarmHigh BOOL BOOL Para usar a funo de alarme, energize (marque) o bit AlarmEnable (AlarmEn). Se o Temporizador (T) alcanar o valor LimitHigh, o bit AlarmHigh energiza. O bit AlarmHigh fica energizado at que seja resetado. Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn).

PRE sinalizar quando a etapa foi ativada para um comprimento de tempo especfico (milissegundos)

DINT

sinalizar se a etapa no executou tempo suficiente

LimitLow

DINT

sinalizar se a etapa estiver executando em um tempo muito longo

LimitHigh

DINT

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-9

Se voc quiser:

Marque ou energize esse membro:

Tipo de dados: BOOL

Detalhes: O bit X est energizado durante todo o tempo que a etapa estiver ativa (em execuo). Normalmente, recomendamos usar uma ao com um qualificador N Non-Stored para a realizao disso.

fazer algo enquanto a etapa est X ativa (incluindo a primeira e a ltima varredura)

fazer algo uma vez quando a etapa se tornar ativa

FS

BOOL

o bit FS est energizado durante a primeira varredura da etapa. Geralmente, recomendamos usar uma ao com um qualificador P1 Pulse (Borda de Crescente) para a realizao disso.

fazer algo enquanto a etapa est SA ativa, exceto na primeira e ltima varredura fazer algo uma vez na ltima varredura da etapa LS

BOOL

O bit SA est energizado quando a etapa est ativa com exceo durante a primeira e ltima varredura da etapa. O bit LS est energizado durante a ltima varredura da etapa. Use esse bit somente se fizer isso: Na caixa de dilogo Controller Properties, na guia SFC Execution, defina Last Scan of Active Step para Dont Scan ou Programmatic reset. Normalmente, recomendamos usar uma ao com um qualificador P0 Pulse (Borda de Descida) para a realizao disso.

BOOL

determinar a meta de uma instruo SFR (SFC Reset)

Reset

BOOL

Uma instruo SFR (SFC Reset) reseta SFC para uma etapa ou pra aquilo que a instruo especifica. O bit Reset indica para qual etapa ou interrupo SFC comear a executar novamente. Uma vez que SFC executar, o bit Reset desenergiza. Use isso para fins de diagnstico. O controlador desenergiza esse valor somente quando voc escolhe Restart Position de Restart at initial step e o controlador altera os modos ou experincias de um ciclo de alimentao. Use isso para fins de diagnstico.

determinar o tempo mximo que TMax uma etapa ficou ativa durante qualquer uma dessas execues determinar se o valor de OV Temporizador (T) inverte para um valor negativo determinar quantas vezes a etapa se tornou ativa Count

DINT

BOOL

DINT

Isso no uma contagem de varreduras da etapa. A contagem incrementa cada vez que a etapa se torna ativa. Ela incrementa novamente somente aps a etapa ficar inativa e ativa novamente. A contagem reseta somente se configurar o SFC para reiniciar etapa inicial. Com essa configurao, ela reseta quando o controlador alterar de um modo de programao para um modo de operao.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-10

Projeto de um Controle Seqencial de Fune

Se voc quiser: usar um tag para vrios bits de status desta etapa

Marque ou energize esse membro: Status

Tipo de dados: DINT Reset AlarmHigh AlarmLow AlarmEn OV DN LS SA FS X 22 23 24 25 26 27 28 29 30 31

Detalhes: Para esse membro: Use esse bit:

O diagrama a seguir mostra a relao dos bits X, FS, SA e LS.

step_name.X

step_name.FS

step_name.SA

step_name.LS primeira varredura ltima varredura

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-11

Organizao de Etapas

Uma vez definidas as etapas do processo, organize-as em seqncias, ramificaes simultneas, ramificaes de seleo ou malhas.

Caractersticas Gerais
Para: Executar 1 ou mais etapas em seqncia: A primeira executa de forma repetida. Ento a prxima executa de forma repetida. Use essa estrutura: Seqncia Com essas consideraes: O SFC verifica a transio ao final da etapa: Se verdadeira, o SFC vai para a etapa seguinte. Se falsa, o SFC repete a etapa.

Selecione etapas alternativas ou grupos de etapas de acordo com as condies da lgica Execute uma etapa ou etapas ou pule a etapa ou etapas dependendo das condies lgicas

Ramificao de Seleo

Est OK para um caminho que no tenha etapas e somente uma transio. Isso permite que o SFC pule a ramificao de seleo. Por padro, o SFC verifica da esquerda para a direita as transies que comeam cada caminho. Ele pega o primeiro caminho verdadeiro. Se nenhuma transio for verdadeira, o FC repete a etapa anterior. O software RSLogix 5000 permite a alterao da ordem em que o SFC verifica as transies.

Executar 2 ou mais etapas ao mesmo tempo. Todos os caminhos devem terminar antes da continuao do SFC

Ramificao Simultnea

Uma nica transio termina a ramificao. O SFC verifica a transio final depois que a ltima etapa em cada caminho executou pelo menos uma vez. Se a transio for falsa, o SFC repete a etapa anterior.

Voltar a malha para uma etapa anterior

Conexo para uma Etapa Anterior

Conecte o fio etapa ou ramificao simultnea para qual deseja ir. No conecte , fora da ou entre uma ramificao simultnea.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-12

Projeto de um Controle Seqencial de Fune

Aqui, h alguns exemplos de estruturas de SFC para diferentes situaes:


Situao Exemplo: As estaes 45 e 46 de uma linha de montagem trabalham nas peas de forma simultnea. Quando as estaes esto prontas, as peas voltam para a estao 1. Soluo Exemplo: Ramificao Simultnea

45

46

Dependendo do cdigo de construo, uma estao vai perfurar ou polir.

Ramificao de Seleo

Perfurar

Polir

Para simplificar a programao, quero separar a comunicao e transferncias em bloco de outra lgica de controle. Todas ocorrem ao mesmo tempo.
Controle

Ramificao Simultnea

Comunicao

BTs

Em uma rea de tratamento de calor, a temperatura acelera em uma taxa especfica, mantm essa temperatura para uma durao especfica e esfria a uma temperatura especfica.

Seqncia
Rampa Manter Esfriar

Na estao 12, a mquina perfura, bate e arremessa uma pea. As etapas ocorrem uma aps a outra.

Seqncia
Perfurar Bater Arremessar

A etapa 12 inspeciona um processo para a combinao correta de substncias qumicas. Se OK, ento continue as etapas restantes. Se no estiver OK, v para a parte superior do SFC e depure o sistema.

Fio
comeo do SFC Etapa 12

No est OK OK

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-13

Seqncia
Uma seqncia um grupo de etapas que executam uma aps a outra.
faa isto...

DEPOIS isso

DEPOIS isso

Para um diagrama detalhado da execuo de uma seqncia de etapas, consulte a Figura 4.5 na pgina 4-45. Para suprimir o estado de uma transio, consulte Elementos da Lgica Force na pgina 18-1.

Ramificao de Seleo
Uma ramificao de seleo representa uma escolha entre um caminho (etapa ou grupo de etapas) ou um outro caminho (isto ., uma estrutura OR). Somente um caminho executa. Por padro, o SFC verifica as transies da esquerda para a direita. O SFC considera o primeiro caminho verdadeiro. O software RSLogix 5000 permite a alterao da ordem em que o SFC verifica as transies. Consulte Programao de um Controle Seqencial de Funes na pgina 5-1.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-14

Projeto de um Controle Seqencial de Fune

nica linha horizontal cada caminho possui sua prpria transio faa isto... OU isso OU isso

Esse caminho pula a estrutura (no faz nada).

nica linha horizontal

Para um diagrama detalhado da execuo de uma ramificao de seleo, consulte a Figura 4.7 na pgina 4-47. Para suprimir o estado de uma transio, consulte Elementos da Lgica Force na pgina 18-1.

Ramificao Simultnea
Uma ramificao simultnea representa caminhos (etapas ou grupo de etapas) que ocorrem ao mesmo tempo (isto , uma estrutura AND). Todos os caminhos executam. Todos os caminhos devem terminar antes de continuar com o SFC. O SFC verifica a transio final depois que a ltima etapa de cada caminho executou pelo menos uma vez.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-15

uma transio para todos os caminhos

faa isto...

E isso

E isso

dupla linha horizontal

linha dupla horizontal

Para um diagrama detalhado da execuo de uma ramificao simultnea, consulte a Figura 4.6 na pgina 4-46. Para suprimir a ramificao e evitar que um caminho execute, consulte Elementos da Lgica Force na pgina 18-1.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-16

Projeto de um Controle Seqencial de Fune

Conexo para uma Etapa Anterior


Alm de conectar as etapas em seqncias, ramificaes simultneas e ramificaes de seleo, possvel conectar uma etapa a um ponto anterior no SFC. Isso faz voc: voltar a malha e repetir as etapas retornar ao incio do SFC e comear Por exemplo:

... v para essa etapa

Se a condio for verdadeira

malha simples que repete o SFC inteiro

caminho de uma seleo que retorna para uma etapa anterior

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-17

Adio de Aes para Cada Etapa

Use aos para dividir uma etapa em diferentes funes que a etapa realiza, como comandar um motor, configurar um estado de uma vlvula ou colocar um grupo de dispositivos em um modo especfico.

Etapa
Faa isto...

Aes

COMBINAO
e faa isso

Como Voc Quer Usar a Ao?


H dois tipos de aes:
Se voc quiser: executar o texto estruturado diretamente no SFC chamar uma sub-rotina usar a opo de reset automtico para resetar os dados ao sair da etapa energizar somente um bit e programar outra lgica para monitorar o bit para determinar quando executar. Utilizao de uma Ao Booleana Ento: Utilizao de uma Ao No Booleana

Utilizao de uma Ao No Booleana


Uma ao no booleana contm a lgica para a ao. Ela usa o texto estruturado para executar as atribuies e instrues ou chamar uma sub-rotina. Com as aes no booleanas, possvel tambm ter a opo de ps-varredura (resetar automaticamente) as atribuies e instrues antes de sair da etapa: Durante a ps-varredura o controlador executa as atribuies e instrues como se todas as condies fossem falsas. As ps-varreduras do controlador so incorporadas ao texto estruturado e a qualquer sub-rotina que a ao chame. Para resetar automaticamente as atribuies e instrues, consulte Desenergizao de um Dispositivo ao Final de uma Etapa na pgina 4-29.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-18

Projeto de um Controle Seqencial de Fune

Para programar uma ao no booleana, voc possui as seguintes opes:


Se voc quiser: executar a lgica sem rotinas adicionais usar as atribuies, construes e instrues de texto estruturado Incorpore o texto estruturado. Por exemplo: Ento:

Quando a etapa S_Complete_the_Batch estiver ativa , a ao S_Open_Outlet executa. A ao energiza o tag Outlet.ProgCommand igual a 1, o qual abre a vlvula de sada. reutilizar a lgica em mltiplas etapas usar uma outra linguagem para programar a ao, como uma lgica ladder encadear um SFC Quando a etapa S_Complete_the_Batch est ativa, a ao S_Open_Outlet executa. A ao chama a rotina Open_Outlet. Rotina Open_Outlet Chame uma sub-rotina Por exemplo:

Quando a rotina Open_Outlet executa, a instruo OTE energiza o tag Outlet.ProgCommand igual a 1, o qual abre a vlvula de sada.

No possvel reutilizar uma ao no booleana no mesmo SFC exceto para resetar uma ao armazenada. Somente um exemplo de uma ao no booleana especfica permitido por SFC.

Utilizao de uma Ao Booleana


Uma ao booleana no contm nenhuma lgica para a ao. Ela simplesmente energiza um bit em seu tag (estrutura SFC_ACTION). Para realizar a ao, outra lgica deve monitorar o bit e executar quando estiver energizado. Com as aes booleanas, voc precisa resetar manualmente as atribuies e instrues associadas ao. Como no h vnculo entre a ao e a lgica que realiza a ao, a opo de reset automtico no interfere nas aes booleanas. Aqui est um exemplo:

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-19

Quando a etapa S_Complete_the_Batch est ativa, a ao S_Open_Outlet executa. Quando a ao est ativa, seu bit Q energiza.

Uma rotina de lgica ladder monitora o bit Q (S_Open_Outlet.Q). Quando o bit Q est energizado, a instruo JSR executa e abre a vlvula de sada.

possvel reutilizar a ao booleana mltiplas vezes no mesmo SFC.

Estrutura SFC_ACTION
Cada ao (no-booleana e booleana) usa um tag para fornecer as informaes sobre a ao. Acesse essas informaes atravs da caixa de dilogo Action Properties ou pela guia Monitor Tags na janela Tags:
Se voc quiser: determinar quando a ao est ativa Verifique ou energize esse membro: Q Tipo de Dados: BOOL Se a ao for: booleana Detalhes: O status do bit Q depende se ao booleana ou no-booleana: Ento o bit Q : energizado (1) o tempo inteiro em que a ao est ativa, incluindo a ltima varredura da ao energizado (1) enquanto a ao est ativa, mas desenergizado (0) na ltima varredura da ao

no booleana

Para usar um bit a fim de determinar quando uma ao est ativa, use o bit Q. A determinar a quanto tempo uma ao ficou ativa (milissegundos) T BOOL DINT O bit A est energizado o tempo todo que a ao est ativa. Quando uma ao se torna ativa, o valor de Temporizador (T) reseta e comea a contagem crescente em milissegundos. O temporizador continua contagem crescente at a ao ficar inativa no importando o valor de Preset (PRE). Insira o limite de tempo ou de atraso no membro Preset (PRE). A ao comea ou pra quando o Temporizador (T) alcana o valor de Preset. Como uma opo, insira uma expresso numrica que calcule o tempo no tempo de execuo.

usar um desses qualificadores PRE com base no tempo: L, SL, D, DS, SD

DINT

Publicao 1756-PM001E-PT-P - Agosto 2002

4-20

Projeto de um Controle Seqencial de Fune

Se voc quiser: determinar quantas vezes uma ao se tornou ativa

Verifique ou energize esse membro: Count

Tipo de Dados: DINT

Detalhes: Isso no uma contagem de varreduras da ao. A contagem incrementa cada vez que a ao se torna ativa. Ela apenas incrementa novamente aps a ao ficar inativa e ativa novamente de novo. A contagem reseta somente se configurar o SFC para reiniciar na etapa inicial. Com essa configurao, ela reseta quando o controlador alterar de um modo de programao para um modo de operao. Para esse membro: Use esse bit: Q A 30 31

usar um tag para vrios bits de status bits da ao

Status

DINT

Descrio de Cada Ao em Pseudocdigo

Para organizar a lgica para uma ao, descreva primeiro a ao em pseudocdigo. Se no estiver familiarizado com o pseudocdigo, siga essas orientaes: Use uma srie de declaraes curtas que descrevam exatamente o que deve acontecer. Use os termos ou smbolos como: se, ento, caso contrrio, at, e, ou, =, >, <. Coloque as declaraes na ordem em que elas devem executar. Se necessrio, nomeie as condies para verificar a primeira (quando 1) e ento a ao segunda (qual 2). Insira o pseudocdigo no corpo da ao. Aps inserir o pseudocdigo, possvel: Aperfeioar o pseudocdigo para que ele execute como texto estruturado. Usar o pseudocdigo para planejar a lgica e deixar o pseudocdigo como comentrios. Como feito o download de todos os comentrios de texto estruturado para o controlador, o pseudocdigo est sempre disponvel como documentao para a ao. Para converter o pseudocdigo para os comentrios de texto estruturado, adicione os seguintes smbolos de comentrio:
Para um comentrio: em uma nica linha que ocupe mais de uma linha Use um desses formatos: //comment (*start of comment . . . end of comment*) /*start of comment . . . end of comment*/

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-21

Seleo de um Qualificador para uma Ao

Cada ao (no-booleana e booleana) usa um qualificador para determinar quando ela comea e pra. O qualificador inicial Non-Stored. A ao comea quando a etapa ativada e pra quando a etapa desativada. Para alterar quando uma ao comea ou pra, atribua um qualificador diferente:

Se voc quer que a ao:

E:

Ento atribua esse qualificador: N P1 L S SL

Que significa: No-armazen ado Pulso (Borda Crescente) Tempo Limitado Armazenado Tempo Armazenado e Limitado Tempo de Atraso Atrasado e Armazenado Tempo Armazenado e de Atraso Pulso Pulso (Borda de Descida) Reset

comece quando a etapa ativada

pare quando a etapa est desativada execute somente uma vez pare antes da etapa ser desativada ou quando a etapa est desativada fique ativa at que a funo Reset desenergize a ao fique ativa at que a funo Reset desenergize a ao ou um tempo especfico expire, mesmo se a etapa estiver desativada

comece um tempo especfico aps a etapa ser ativada e a etapa ainda estiver ativa

pare quando a etapa for desativada fique ativa at que a funo Reset desenergize a ao

D DS SD

comece um tempo especfico aps a etapa ser ativada, mesmo se a etapa for desativada antes desse tempo execute uma vez quando a etapa for ativada comece quando a etapa for desativada desenergize (resete) uma ao armazenada: S Armazenado SL Armazenado e Tempo Limitado DS Com Atraso e Armazenado SD Armazenado e Tempo de Atraso

fique ativa at que a funo Reset desenergize a ao execute uma vez quando a etapa desativada execute somente uma vez

P P0 R

Publicao 1756-PM001E-PT-P - Agosto 2002

4-22

Projeto de um Controle Seqencial de Fune

Definio das Condies de Transio

A transio consiste das condies fsicas que devem ocorrer ou alterao para ir para a etapa seguinte.

A transio informa o SFC quando ir para a etapa seguinte.

transio

Se verdadeiro, v para a etapa seguinte. Se falso, repita a etapa anterior.

As transies ocorrem nos seguintes lugares:


Para essa estrutura: seqncia Uma transio est entre cada etapa. Certifique se:

etapas transies

ramificao de seleo

As transies esto dentro das linhas horizontais.

transies

ramificao simultnea

As transies esto fora das linhas horizontais.

transies

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-23

Aqui, h aqui dois exemplos de transies: EXEMPLO Voc quer: a. Ligar 2 compressores. Quando um compressor ligado, o bit Device1State energizado. b. Quando os compressores forem ligados, v para a etapa seguinte. Soluo:
Init Init_Done compressor_1.Device1State = on (1) e compressor_2.Device1State = on (1)

EXEMPLO

Se voc quiser: a. Empacotar o produto. Quando o produto est no pacote, o bit package_done energiza. b. Empacotar o produto em 8 por caixa ou 16 por caixa. Soluo:
Pacote

carton_8 Pack_8 package_done = on (1) e carton_size = 8 Pack_16

carton_16

package_done = on (1) e carton_size = 16

Para suprimir o estado de uma transio, consulte Elementos da Lgica Force na pgina 18-1.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-24

Projeto de um Controle Seqencial de Fune

Tag de Transio
Cada transio usa um tag BOOL para representar o estado verdadeiro ou falso da transio.
Se a transio for: verdadeira falsa 1 0 O valor : E: O SFC vai para a etapa seguinte. O SFC continua a executar a etapa atual.

Como Voc Quer Programar a Transio?


Para programar a transio, voc tem essas opes:
Se voc quiser: inserir as condies como uma expresso em texto estruturado inserir as condies como instrues em uma outra rotina usar a mesma lgica para mltiplas transies Ento: Utilizao de uma Expresso BOOL Chamar uma Sub-rotina

Utilizao de uma Expresso BOOL


A maneira mais simples de programar a transio inserir as condies como uma expresso BOOL em texto estruturado. Uma expresso bool usa os tags bool, operadores relacionados e operadores lgicos para comparar os valores ou verificar se as condies so verdadeiras ou falsas. Por exemplo, tag1>65. Aqui esto alguns exemplos de expresses BOOL.

bool_tag_a

bool_tag_a & bool_tag_b

dint_tag_a > 8

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-25

Chamar uma Sub-rotina


Para usar uma sub-rotina para controlar uma transio, inclua uma instruo EOT (Fim da Transio) na sub-rotina. A instruo EOT retorna o estado das condies para a transio, conforme mostrado abaixo.

3 1
JSR - ou -

Se condition_1 & condition_2 & condition_3 ento BOOL_tag := 1; Else BOOL_tag := 0; End_if;

EOT(BOOL_tag);

1. Chame uma sub-rotina. 2. Verifique as condies necessrias. Quando as condies forem verdadeiras, energize um tag BOOL. 3. Use uma instruo EOT para definir o estado da transio igual ao valor do tag BOOL. Quando o tag BOOL est energizado (verdadeiro), a transio verdadeira.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-26

Projeto de um Controle Seqencial de Fune

Transio Aps um Tempo Especfico

Cada etapa do SFC inclui um temporizador de milissegundo que opera sempre que a etapa est ativa. Use o temporizador para: sinalizar quando a etapa operou para um tempo necessrio e quando SFC deve ir para a etapa seguinte sinalizar quando a etapa operou demais e quando SFC deve ir para uma etapa de erro
Figura 4.3 O diagrama a seguir mostra a ao do temporizador e bits associados de uma etapa:

step_name.X

step_name.PRE

step_name.T

step_name.DN

1 Tabela4.1

Descrio: 1. A etapa se torna ativa. Bit X energiza. Temporizador (T) comea a incrementar. 2. O temporizador alcana o valor de Preset (PRE) da etapa. Bit DN energiza. O temporizador continua a incrementar. 3. A Etapa se torna inativa. Bit X desenergiza. O temporizador retm seu valor. DN permanece energizado. 4. A etapa se torna ativa. Bit X energiza. O temporizador desenergiza e comea a incrementar. Bit DN desenergiza.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-27

Figura 4.4 O diagrama a seguir mostra a ao dos alarmes baixo e alto para uma etapa:

step_name.AlarmEn step_name.X step_name.LimitHigh step_name.LimitLow step_name.T

step_name.AlarmHigh

step_name.AlarmLow

Tabela4.2 Descrio: 1. AlarmEn est energizado. Para usar os alarmes baixo e alto energize esse bit. Energize o bit pela caixa de dilogo de propriedades ou pelo tag durante a etapa. 2. A etapa se torna ativa. Bit X energiza. O temporizador (T) comea a incrementar. 3. A Etapa se torna inativa. Bit X desenergiza. O temporizador (T) retm seu valor. Como o T (temporizador) inferior a LimitLow, o bit AlarmLow energiza. 4. A etapa se torna ativa. Bit X energiza. O temporizador desenergiza e comea a incrementar. AlarmLow fica energizado. (Voc precisa desenergiz-lo manualmente) 5. O temporizador alcana o valor de LimitHigh da etapa. AlarmHigh energiza. O temporizador continua a incrementar. 6. A Etapa se torna inativa. Bit X desenergiza. O temporizador retm seu valor. AlarmHigh fica energizado. (Voc precisa desenergiz-lo manualmente)

Publicao 1756-PM001E-PT-P - Agosto 2002

4-28

Projeto de um Controle Seqencial de Fune

Aqui, est um exemplo do uso do tempo pr-programado de uma etapa. EXEMPLO A especificao funcional diz: a. Cozinhe os ingredientes em um tanque durante 20 segundos. b. Esvazie o tanque. Soluo:
Cozinhe Cook_Done Empty_Tank Cook.PRE = 20000 ms Cook.DN = on (1)

Aqui, est um exemplo do uso do tempo de alarme alto de uma etapa. EXEMPLO A especificao funcional diz: a. Abrigue 8 dispositivos. b. Se todos os 8 dispositivos no forem abrigados em 20 segundos, o sistema pra. Soluo:
Init Init.LimitHigh = 20000 ms

Init_OK Step_1 Shutdown

Init_Not_OK

Init.AlarmHigh

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-29

Desenergizao de um Dispositivo ao Final de uma Etapa

Quando o SFC deixa a etapa, voc tem diversas opes sobre como desenergizar os dispositivos que a etapa energizou.

Reset Programado

Reset Automtico

use a lgica para desenergizar os dados

deixe o controlador desenergizar automaticamente os dados

Cada opo requer que voc faa as seguintes escolhas: 1. Escolha uma opo de ltima varredura. 2. Com base na opo de ltima varredura, desenvolva a lgica para que a ltima varredura devolva os dados para os valores desejados.

Escolha uma Opo de ltima Varredura.


Na ltima varredura de cada etapa, voc tem as seguintes opes. A opo que escolher aplica-se a todas as etapas em todos os SFCs desse controlador.
Se voc quiser: controlar que dados desenergizar E na ltima varredura de uma etapa: Ento: Consulte: pgina 4-31 pgina 4-31

Execute somente as aes P e P0 e use-as para Use a Opo Dont Scan desenergizar os dados requeridos. Executar todas as aes e usar essas opes para desenergizar os dados requeridos: bits de status da etapa ou ao para a condio lgica aes P e P0 Uso da Opo de Reset Programado

deixar o controlador desenergizar os dados

Uso da Opo de Reset Automtico

pgina 4-33

Publicao 1756-PM001E-PT-P - Agosto 2002

4-30

Projeto de um Controle Seqencial de Fune

A tabela a seguir compara as diferentes opes para o manuseio da ltima varredura de uma etapa:
Caracterstica: Durante a ltima varredura de uma etapa, essa opo faz o seguinte: Dont scan (No realiza a varredura) aes de execuo Somente as aes P e P0 executam. Elas executam de acordo com a sua lgica. Reset Programado Todas as aes executam de acordo com sua lgica. Reset Automtico As aes P e P0 executam de acordo com sua lgica. Todas as outras aes executam em modo de ps-varredura. Na prxima varredura da rotina, as aes P e P0 executam em modo de ps-varredura. Os dados revertem aos seus valores para a ps-varredura. Os tags esquerda das atribuies [:=] desenergizam para zero. Use: atribuio [:=] (atribuio no-retentiva) instrues que desenergizam os dados durante a ps-varredura

reteno de valores de dados

Todos os dados mantm seus valores atuais.

Todos os dados mantm seus valores atuais.

mtodo para desenergizao de dados

Use as aes P e P0

Use:

bits de status da etapa ou ao para a condio lgica Use as aes P e P0

reset de um SFC encadeado Um SFC encadeado permanece em sua etapa atual.

Um SFC encadeado permanece em sua etapa atual.

Para a propriedade Restart Position, se escolher a opo Restart at initial step, : Um SFC encadeado reseta para sua etapa inicial. O bit X de um elemento de interrupo em um SFC encadeado desenergiza para zero.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-31

Use a Opo Dont Scan


A opo inicial para manusear a ltima varredura de uma etapa Dont scan. Com essa opo, todos os dados mantm seus valores atuais quando SFC deixar uma etapa. Isso requer que voc use atribuies ou instrues adicionais para desenergizar qualquer dado que queira desenergizar ao final da etapa. Para desenergizar um dispositivo ao final de uma etapa: 1. Certifique-se de que a propriedade Last Scan of Active Steps est definida para a opo (padro) Dont scan. 2. Use uma ao P0 Pulso (Borda de Descida) para desenergizar os dados requeridos. Certifique-se de que a ao ou aes P0 so as ltimas na ordem de aes para a etapa. Durante a ltima varredura da etapa, a opo Dont scan executa somente as aes P e P0. As atribuies e instrues das aes executam de acordo com as condies de lgica. O controlador no executa uma ps-varredura de atribuies ou instrues. Quando SFC deixa a etapa, todos os dados mantm seus valores atuais. O exemplo a seguir usa uma ao para energizar um transportador no comeo de uma etapa. Uma ao diferente desenergiza o transportador ao final da etapa. Use a Opo Dont Scan

EXEMPLO

Essa ao energiza o transportador. Quando conveyor_state energiza, o transportador energiza. Antes do SFC sair da etapa, a ao P0 desenergiza o transportador. Na ltima varredura da etapa, conveyor_state desenergiza. Isso desenergiza o transportador.

Uso da Opo de Reset Programado


Um mtodo opcional para desliga de forma programada (desenergiza) os dispositivos ao final de uma etapa executar todas as aes na ltima varredura da etapa. Isso faz com que voc execute a lgica normal e tambm desligue (desenergize) os dispositivos ao final de uma etapa. 1. Na propriedade Last Scan of Active Steps, escolha a opo Programmatic reset:

Publicao 1756-PM001E-PT-P - Agosto 2002

4-32

Projeto de um Controle Seqencial de Fune

2. Desenergize os dados requeridos usando qualquer um dos mtodos a seguir: Para a lgica normal, adicione a lgica que desenergiza os dados solicitados. Use o bit LS da etapa ou o bit Q da ao para condicionar a execuo da lgica. Use uma ao P0 Pulse (Borda de Descida) para desenergizar os dados solicitados. Certifique-se de que a ao ou aes P0 so as ltimas na ordem de aes para a etapa. Durante a ltima varredura da etapa, a opo Programmatic reset executa todas as atribuies e instrues de acordo com as condies lgicas. O controlador no realiza a ps-varredura dos atributos e das instrues. Quando SFC deixa a etapa, todos os dados mantm seu valor atual. O exemplo a seguir usa uma nica ao para energizar e desenergizar um transportador. O bit LS da etapa condiciona a execuo da lgica. Consulte Estrutura SFC_STEP na pgina 4-8. Uso da Opo de Reset Programado e o Bit LS

EXEMPLO

Quando a etapa no est na ltima varredura (conveyor_fwd.LS = 0), essa declarao energiza conveyor_state. Quando conveyor_state energiza, o transportador liga. Na ltima varredura da etapa (conveyor_fwd.LS = 1), essa declarao desenergiza conveyor_state. Quando conveyor_state desenergiza, o transportador desliga.

Para uma ao que use um desses qualificadores armazenados, use o bit Q da ao para condicionar a lgica. Consulte Estrutura SFC_ACTION na pgina 4-19. Uso da Opo de Reset Programado e o Bit Q

EXEMPLO

Quando a ao no est na ltima varredura (conveyor_start.Q = 1), essa declarao energiza conveyor_state. Quando conveyor_state desenergiza, o transportador desliga. Na ltima varredura da ao (conveyor_start.Q = 0), essa declarao desenergiza conveyor_state. Quando conveyor_state desenergiza, o transportador desliga.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-33

possvel usar uma ao P0 Pulso (Borda de Descida) para desenergizar os dados solicitados. O exemplo a seguir usa uma ao para energizar um transportador no comeo de uma etapa. Uma ao diferente desenergiza o transportador ao final da etapa. Uso da Opo de Reset Programado e uma Ao P0

EXEMPLO

Essa ao liga o transportador. Quando conveyor_state energiza, o transportador energiza. Antes do SFC sair da etapa, a ao P0 desliga o transportador. Na ltima varredura da etapa, conveyor_state desenergiza. Isso desenergiza o transportador.

Uso da Opo de Reset Automtico


Para desligar dispositivos (desenergizar) automaticamente ao final de uma etapa: 1. Na propriedade Last Scan of Active Steps, selecione a opo Automatic reset : 2. Para desenergizar um dispositivo ao final de uma etapa, controle o estado do dispositivo com uma atribuio ou instruo como: atribuio [:=] (atribuio no-retentiva) instruo OTE (Energizar Sada) em uma sub-rotina Durante a ltima varredura de cada etapa, a opo Automatic reset realiza o seguinte: executa as aes P e P0 de acordo com suas condies lgicas. desenergiza os tags esquerda dos atributos [:=] executa uma ps-varredura do texto estruturado incorporado executa uma ps-varredura de qualquer sub-rotina que uma ao chama atravs de uma instruo JSR (Salto para Sub-rotina) reseta qualquer SFC encadeado (SFC que uma ao chama como uma sub-rotina) A ps-varredura de uma ao realmente ocorre quando a ao passa de ativa para inativa. Dependendo do qualificador da ao, a ps-varredura pode ocorrer antes ou depois da ltima varredura da etapa.

IMPORTANTE

Como regra geral, a ps-varredura executa as instrues como se todas as condies fossem falsas. Por exemplo, a instruo OTE (Energizar Sada) desenergiza seus dados durante a ps-varredura.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-34

Projeto de um Controle Seqencial de Fune

Algumas instrues no seguem a regra geral durante a ps-varredura. Para uma descrio de como a instruo especfica executa durante a ps-varredura, consulte os manuais: Logix5000 Controllers General Instructions Reference Manual, publicao 1756-RM003 Logix5000 Controllers Process and Drives Instructions Reference Manual, publicao 1756-RM006 Logix5000 Controllers Motion Instruction Set Reference Manual, publicao 1756-RM007 Aqui est um exemplo que usa uma atribuio no-retentiva para controlar um transportador. Ela energiza um transportador no comeo de sua etapa e desenergiza automaticamente o transportador quando a etapa concluda. Desenergizar Dados Automaticamente

EXEMPLO

Essa ao liga o transportador. Quando conveyor_state energiza, o transportador liga. Quando SFC deixa a etapa, conveyor_state desenergiza. Isso desliga o transportador.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-35

Manter Algo Energizado seguindo Passo a Passo

Como Voc Quer Controlar o Dispositivo?


Para fornecer controle ininterrupto de um dispositivo durante mais que uma vez ou fase (etapa), faa o seguinte:
Opo: Use uma Ramificao Simultnea Realize uma etapa separada que controle o dispositivo. Transfer_In Exemplo:

Pintura

Controle do Ventilador

Limpeza Transfr_Out

Como Armazenar e Resetar uma Ao Observe a etapa que energiza o dispositivo e a etapa que desenergiza o dispositivo.

Transfer_In

energizar ventilador

Pintura Mais tarde, defina um par de aes Armazenadas e de Reset para controlar o dispositivo. Limpeza Transfr_Out Uso de Uma Etapa Grande Pintura Use uma etapa grande que contenha todas as aes que ocorrem enquanto o dispositivo est energizado.
desenergizar ventilador

transferir, pintar, limpar, controlar o ventilador

Publicao 1756-PM001E-PT-P - Agosto 2002

4-36

Projeto de um Controle Seqencial de Fune

Use uma Ramificao Simultnea


Uma maneira simples de controlar dispositivos durante uma ou mais etapas criar uma etapa separada para os dispositivos. Use uma ramificao simultnea para executar a etapa durante o restante do processo. Aqui est um exemplo: Uma operao de pintura: 1. Transfere o produto para uma linha de pintura. 2. Pinta o produto usando 3 armas de pinturas separadas. 3. Limpa as armas. 4. Transfere o produto para os fornos de pintura. Durante todo o processo, o sistema deve controlar os ventiladores da seo. Soluo:

EXEMPLO

Transfer_In

Paint_Flow

Air_Flow

Elec_Charg

Controle do Ventilador

Limpeza
Transfr_Out

Como Armazenar e Resetar uma Ao


Normalmente, uma ao desenergiza (pra a execuo) quando o SFC passa para a prxima etapa. Para manter um dispositivo energizado de etapa para etapa sem uma bomba, armazene a ao que controla o dispositivo: 1. Na etapa que energiza o dispositivo, atribua um qualificador armazenado para a ao que controla o dispositivo. Para uma lista de qualificadores armazenados, consulte Tabela 4.1 na pgina 4-26. 2. Na etapa que desenergiza o dispositivo, use uma ao Reset. A figura a seguir mostra o uso de uma ao armazenada.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-37

Action_Name
ao que voc quer executar para mais de uma etapa

etapa que comea a ao

mais etapas

Action_Name
mesmo nome que a ao armazenada

etapa que pra a ao

Quando SFC sai da etapa que armazena a ao, o software RSLogix 5000 continua a mostrar a ao armazenada como ativa. (Por padro, uma linha limite verde exibida ao redor da ao.) Isso permite que voc saiba que SFC est executando a lgica daquela ao. Para usar uma ao armazenada, siga essas orientaes: A ao Reset somente desenergiza a ao armazenada. Ela no desenergiza automaticamente os dispositivos da ao. Para desenergizar o dispositivo, siga a ao Reset com uma outra ao que desligue o dispositivo. Ou use a opo Automatic reset descrita na pgina 4-33. Cuide quando saltar entre uma etapa que armazene uma ao e uma etapa que resete a ao. Uma vez resetada a ao, ela somente comea quando voc executar a etapa que armazena a ao. No exemplo seguinte, as etapas 1 a 4 requerem que um ventilador seja energizado. Ao final da etapa step_4, o ventilador resetado (desenergizado). Quando SFC voltar para step_3, o ventilador permanece desenergizado.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-38

Projeto de um Controle Seqencial de Fune

step_1

energizar o ventilador (armazenado)

step_2

step_3 desenergizar o ventilador (resetar)

step_4

Para o ventilador voltar para energizado, o SFC tem que voltar para a step_1.

Uso de Uma Etapa Grande


Se usar uma etapa grande para funes mltiplas, use a lgica adicional para seqenciar as funes. A opo para encadear um SFC em uma etapa grande. No exemplo seguinte, uma etapa energiza um ventilador e chama um outro SFC. O SFC encadeado seqencia as funes restantes da etapa. O ventilador fica energizado por todas as etapas do SFC encadeado. Uso de Uma Etapa Grande
Essa ao energiza um ventilador: fan.ProgProgReq deixa SFC comandar o estado do ventilador. fan.ProgCommand energiza o ventilador. O ventilador permanece energizado durante toda a etapa. Essa ao chama um outro SFC. SFC seqencia as funes restantes da etapa.

EXEMPLO

Para obter informaes adicionais sobre como encadear um SFC, consulte Encadeamento de um SFC na pgina 4-42.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-39

Finalizao do SFC

Uma vez que um SFC conclui sua ltima etapa, ele no reinicia automaticamente na primeira etapa. Deve-se perguntar ao SFC o que fazer quando ele terminar a ltima etapa.

Ao Final do SFC, O Que Deseja Fazer?


Para: voltar a malha automaticamente para uma etapa anterior Faa isto: Conecte a ltima transio para a parte principal da etapa para a qual quer ir. Consulte Conexo para uma Etapa Anterior na pgina 4-16. parar e esperar por um comando para reiniciar Uso do Elemento Stop. ConsulteUso do Elemento Stop na pgina 4-39.

Uso do Elemento Stop


O elemento de parada faz com que pare a execuo de um SFC inteiro ou um caminho de ramificao simultnea e espere o reincio. Quando um SFC alcana um elemento de parada, ocorre o seguinte: O bit X do elemento de parada liga. Isso sinaliza que SFC est no elemento de parada. A execuo pra em parte ou todo SFC:
Se o elemento de parada estiver ao final de: uma seqncia uma ramificao de seleo um caminho em uma ramificao simultnea somente esse caminho pra enquanto o restante do SFC continua a executar. todo o SFC pra Ento:

Publicao 1756-PM001E-PT-P - Agosto 2002

4-40

Projeto de um Controle Seqencial de Fune

EXEMPLO

Uso do Elemento Stop

Quando SFC alcana last_step e process_done verdadeiro, a execuo de SFC pra.

Reinicie (Reset) o SFC


Uma vez no elemento de parada, voc tem diversas opes para reiniciar o SFC:
Se SFC for: encadeado (isto , um outro SFC chama esse SFC como uma sub-rotina) E a opo da Last Scan of Active Steps for: Reset Automtico Ento: Ao final da etapa que chama o SFC encadeado, o SFC encadeado reseta automaticamente: O SFC encadeado reseta para a etapa inicial. O bit X do elemento de parada no SFC encadeado desenergiza para zero. 1. Use uma instruo SFC Reset (SFR) para reiniciar o SFC na etapa solicitada. 2. Use a lgica para desenergizar o bit X do elemento de parada. 1. Use uma instruo SFR (SFC Reset) para reiniciar o SFC na etapa requerida. 2. Use a lgica para desenergizar o bit X do elemento de parada.

Reset Programado Dont scan NO encadeado (isto , nenhum SFC chama esse SFC como uma sub-rotina)

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-41

O exemplo a seguir mostra o uso de uma instruo SFR (SFC Reset) para reiniciar SFC e desenergizar o bit X do elemento de parada. Reinicie (Reset) o SFC Se SFC_a_stop.X = on (SFC_a est na parada) e SFC_a_reset = on (tempo para resetar SFC) ento durante uma varredura (ons[0] = on): Resete SFC_a para SFC_a_Step_1 SFC_a_stop.X = 0

EXEMPLO

Estrutura SFC_STOP
Cada parada usa um tag para fornecer as seguintes informaes sobre o elemento de parada:
Se voc quiser: determinar quando SFC est no elemento de parada Verifique ou energize esse membro: X Tipo de Dados: BOOL Detalhes: Quando SFC alcana o elemento de parada, o bit X energiza. O bit X desenergiza se configurar os SFCs para reiniciar na etapa inicial e o controlador para mudar do modo de programao para o modo de operao. Em um SFC encadeado, o bit X tambm desenergiza se voc configurar os SFCs para o reset automtico e o SFC para sair da etapa que chama o SFC encadeado. determinar a meta de uma instruo SFR (SFC Reset) Reset BOOL Uma instruo SFC Reset (SFR) reseta SFC para uma etapa ou pra aquilo que a instruo especifica. O bit Reset indica para qual etapa ou interrupo a SFC comear a executar novamente. Uma vez que SFC executar, o bit Reset desenergiza. Isso no uma contagem de varreduras da parada. A contagem incrementa cada vez que a parada se torna ativa. Ela incrementa novamente somente aps a parada ficar inativo e ativo de novo. A contagem reseta somente se voc configurar o SFC para reiniciar etapa inicial. Com essa configurao, ela reseta quando o controlador alterar de um modo de programao para um modo de operao. Para esse membro: Use esse bit: Reset X 22 31

determinar quantas vezes um elemento de parada se tornou ativo

Count

DINT

usar um tag para vrios bits de status bits da parada

Status

DINT

Publicao 1756-PM001E-PT-P - Agosto 2002

4-42

Projeto de um Controle Seqencial de Fune

Encadeamento de um SFC

Um mtodo para organizar o projeto criar um SFC que fornea uma viso em alto nvel do processo. Cada etapa do SFC chama um outro SFC que realiza os procedimentos detalhados da etapa (SFC encadeado). A figura a seguir mostra uma maneira de encadear um SFC. Nesse mtodo, a opo de ltima varredura do SFC configurada para Programmatic reset ou Dont scan. Se configurar SFC para Automatic reset, no necessrio executar aetapa 1.

SFC_a

SFC_b

3 1. Resete o SFC encadeado: A instruo SFR reinicia SFC_b em SFC_b_Step_1. Cada vez que SFC_a sair dessa etapa e retornar, necessrio resetar SFC_b. A ao tambm desenergiza o bit X do elemento de parada. 2. Chame SFC_b. 3. Pare SFC_b. Este procedimento energiza o bit X do elemento de parada. 4. Use o bit X do elemento de parada para sinalizar que SFC_b est concluda e hora de ir para a etapa seguinte.

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-43

Passagem de Parmetros
Para passar os parmetros para ou a partir de um SFC, coloque o elemento Subroutine/Return no SFC.
Input Parameters Return Parameters

SFC_b

Configurao ao Retornar para OS/JSR

Por padro, uma SFC executa uma etapa ou grupos de etapas simultneas e retorna para o sistema operacional (OS) ou para a rotina que est chamando (JSR).

padro

Voc tem a opo de deixar a etapa SFC executar at alcanar uma transio falsa. Se diversas transies forem verdadeiras ao mesmo tempo, essa opo reduz o tempo para obter a etapa desejada. Use a opo Execute until FALSE transition somente quando: 1. No precisar atualizar os parmetros de JSR antes de cada etapa. Os parmetros atualizam somente quando SFC retorna para JSR. Consulte Passagem de Parmetros na pgina 4-43. 2. Uma transio falsa ocorrer no temporizador do watchdog durante a tarefa. Se o tempo que ele leva para retornar para JSR e concluir o restante da tarefa superior ao temporizador do watchdog, uma falha grave ocorre. Para um diagrama detalhado da execuo de cada opo, consulte a Figura 4.9 na pgina 4-48.

Publicao 1756-PM001E-PT-P - Agosto 2002

4-44

Projeto de um Controle Seqencial de Fune

Pausa ou Resete de um SFC

Duas instrues opcionais disponveis fornecem controle adicional de execuo da SFC:


Se voc quiser: pausar uma SFC resetar uma SFC para uma etapa especfica ou parada Use esta instruo: SFP (Pausa da SFP) SFR (Resete da SFC)

As instrues esto disponveis nas linguagens de lgica ladder e texto estruturado. Para obter mais informaes, use os seguintes recursos: No software RSLogix 5000, no menu Help, selecione Instruction Help. Olhe a categoria Program Control Instructions. Consulte Logix5000 Controllers General Instructions Reference Manual, publicao 1756-RM003.

Diagramas de Execuo

Os diagramas a seguir mostram a execuo de uma SFC com diferentes organizaes de etapas ou selees diferentes de opes de execuo. Use os diagramas se precisar de um entendimento mais detalhado sobre como a SFC executa.
Para um diagrama de: Execuo de uma Seqncia Execuo de uma Ramificao Simultnea Execuo de uma Ramificao de Seleo Quando os parmetros inserem e saem de uma SFC Opes para o Controle de Execuo Consulte a pgina: 4-45 4-46 4-47 4-47 4-48

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-45

Figura 4.5 Execuo de uma Seqncia Este... executa como este

step_1 tran_1 step_2 tran_2

step_1

tran_1 verdadeira voltar para OS/JSR step_1

falsa

voltar para OS/JSR

ltima varredura

step_2

tran_2 verdadeira voltar para OS/JSR step_2

falsa

voltar para OS/JSR

ltima varredura

Publicao 1756-PM001E-PT-P - Agosto 2002

4-46

Projeto de um Controle Seqencial de Fune

Figura 4.6 Execuo de uma Ramificao Simultnea Este:


step_1 tran_1 step_2 step_3 tran_1 verdadeira tran_2 voltar para OS/JSR step_1 falsa voltar para OS/JSR step_1

executa como este

ltima varredura

step_2

step_3

tran_2 verdadeira

falsa

voltar para OS/JSR step_2

step_3

tran_2 verdadeira voltar para OS/JSR step_2

falsa

voltar para OS/JSR

ltima varredura
step_3

Publicao 1756-PM001E-PT-P - Agosto 2002

Projeto de um Controle Seqencial de Fune

4-47

Figura 4.7 Execuo de uma Ramificao de Seleo Este...


step_1 tran_1 step_2 tran_3 step_3 tran_4 tran_2 tran_1 verdadeira tran_2 voltar para OS/JSR verdadeira voltar para OS/JSR step_1 step_1 falsa falsa step_1

executa como este

volte para OS/JSR

ltima varredura

step_2 voltar para OS/JSR

step_3 voltar para OS/JSR

tran_3 verdadeira voltar para OS/JSR step_2

falsa

tran_4 verdadeira voltar para OS/JSR step_3

falsa

ltima varredura

Figura 4.8 Quando os parmetros inserem e saem de uma SFC

parmetros de parmetros de entrada parmetros de retorno volte para OS/JSR falsa step_1

tran_1 verdadeira

parmetros de retorno

volte para OS/JSR step_1

parmetros de

ltima varredura

Publicao 1756-PM001E-PT-P - Agosto 2002

4-48

Projeto de um Controle Seqencial de Fune

Figura 4.9 Opes para o Controle de Execuo Este...


step_1 tran_1 step_2 tran_2

executa como este

Execute somente etapas ativas atuais


step_1

Execute at a transio FALSA


step_1

tran_1 verdadeira volte para OS/JSR step_1

falsa

volte para OS/JSR

tran_1 verdadeira

falsa

volte para OS/JSR

step_1

ltima varredura

step_2

step_2 volte para OS/JSR

tran_2 verdadeira volte para OS/JSR step_2

falsa

tran_2 verdadeira

falsa

volte para OS/JSR

step_2

ltima varredura

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Programao de um Controle Seqencial de Funes


Quando Usar Este Procedimento Antes de Usar Este Procedimento
Use esse procedimento para inserir um controle seqencial de funes (SFC) no software RSLogix 5000. Insira o SFC quando planej-lo ou, primeiro planeje o SFC e depois o insira. Para planejar o SFC, consulte Projeto de um Controle Seqencial de Fune na pgina 4-1. Antes de usar esse procedimento, certifique-se de que capaz de realizar as tarefas a seguir: Abertura ou Fechamento de uma Pasta Criao de uma Rotina Para obter mais informaes sobre qualquer uma dessas tarefas, consulte Organizao de Tarefas, Programas e Rotinas na pgina 2-1.

Como Usar Este Procedimento

Para programar um SFC: Adicione um Elemento SFC Criao de uma Ramificao Simultnea Criao de uma Ramificao de Seleo Defina as Prioridades de uma Ramificao de Seleo Retorno para uma Etapa Anterior Renomeao de uma Etapa Configurao de uma Etapa Renomeao de uma Transio Programao de uma Transio Adio de uma Ao Renomeao de uma Ao Configurao de uma Ao Programao de uma Ao Atribuio da Seqncia de Execuo de Aes Documentao do SFC Mostrar ou Esconder as Caixas de Textos ou Descries de Tag Configurao da Execuo do SFC Verificao da Rotina

Publicao 1756-PM001E-PT-P - Agosto 2002

5-2

Programao de um Controle Seqencial de Funes

Adicione um Elemento SFC

Para adicionar elementos de SFC, use a barra de ferramentas do SFC.


comeo da ramificao simultnea parar sub-rotina/retorno transio novo caminho caixa de texto

etapa e transio etapa

comeo da ramificao de seleo

Para adicionar um elemento ao SFC, voc tem essas opes: Adio e Conexo Manual de Elementos Adio e Conexo Automtica de Elementos Arrastar e Soltar os Elementos

Adio e Conexo Manual de Elementos


1. Na barra de ferramentas do SFC, clique no boto para o item que voc quer adicionar. 2. Arraste o elemento para o local exigido no SFC. Por exemplo:

ponto verde

3. Para fazer a fiao (conectar) dois elementos juntos, clique sobre o pino de um dos elementos A e clique no pino do outro elemento B . Um ponto verde mostra um ponto de conexo vlida.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-3

Adio e Conexo Automtica de Elementos


1. Selecione (clique) o elemento para o qual quer conectar um novo elemento. 2. Com o elemento ainda selecionado, clique no boto da barra de ferramenta para o prximo elemento.

Arrastar e Soltar os Elementos


Na barra de ferramentas do SFC, arraste o boto no elemento desejado ao ponto de conexo no SFC. Um ponto verde mostra um ponto de conexo vlida.

ponto verde

Publicao 1756-PM001E-PT-P - Agosto 2002

5-4

Programao de um Controle Seqencial de Funes

Criao de uma Ramificao Simultnea

Incio de uma Ramificao Simultnea


1. Na barra de ferramentas do SFC, clique no boto ramificao ao local desejado. . Arraste a nova

2. Para adicionar um caminho ramificao, selecione (clique) a primeira etapa do caminho que est esquerda de onde voc quer adicionar um caminho. Clique no boto .

A B

ponto verde

3. Para conectar a ramificao simultnea transio anterior, clique no pino inferior da transio A e clique na linha horizontal da ramificao
B

. Um ponto verde mostra um ponto de conexo vlida.

Finalizao de uma Ramificao Simultnea


1. Selecione a ltima etapa de cada caminho na ramificao. Para selecionar as etapas, possvel: Clicar e arrastar o indicador ao redor das etapas que deseja selecionar. Clicar na primeira etapa. Manter [Shift] pressionado e clicar no restante das etapas que deseja selecionar.

2. Na barra de ferramentas do SFC, clique no boto

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-5

3. Adicione a transio que segue a ramificao simultnea.

B A

ponto verde

4. Para conectar a ramificao simultnea transio anterior, clique no pino superior da transio A e clique na linha horizontal da ramificao B . Um ponto verde mostra um ponto de conexo vlida.

Criao de uma Ramificao de Seleo

Inicializao de uma Ramificao de Seleo


1. Na barra de ferramentas do SFC, clique no boto ramificao at o local desejado. . Arraste a nova

2. Para adicionar um caminho ramificao, selecione (clique) a primeira transio do caminho que est esquerda de onde quer adicionar um caminho. Clique no boto .

A B

ponto verde

3. Para conectar a ramificao de seleo etapa anterior, clique no pino inferior da etapa A e clique na linha horizontal da ramificao B . Um ponto verde mostra um ponto de conexo vlida.

Publicao 1756-PM001E-PT-P - Agosto 2002

5-6

Programao de um Controle Seqencial de Funes

Finalizao de uma Ramificao de Seleo


1. Selecione a ltima transio de cada caminho na ramificao. Para selecionar as transies, possvel: Clicar e arrastar o indicador ao redor das transies que deseja selecionar. Clicar na primeira transio. Manter [Shift] pressionado e clicar no restante das transies que deseja selecionar.

2. Na barra de ferramentas do SFC, clique no boto 3. Adicione a etapa que segue a ramificao de seleo.

B A

ponto verde

4. Para conectar a ramificao de seleo etapa anterior, clique no pino superior da etapa A e clique na linha horizontal da ramificao B . Um ponto verde mostra um ponto de conexo vlida.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-7

Defina as Prioridades de uma Ramificao de Seleo

Por padro, o SFC verifica as transies que comeam uma ramificao de seleo da esquerda para a direita. Se quiser verificar uma transio diferente primeiro, atribua uma prioridade para cada caminho da ramificao de seleo. Por exemplo, uma boa prtica verificar primeiro as condies de erro. Verifique as condies normais. Para atribuir prioridades a uma ramificao de seleo: 1. Clique com o boto direito do mouse na linha horizontal que comea a ramificao e selecione Set Sequence Priorities.

2.

3. 4.

2. Remova (desmarque) a caixa de verificao Use default priorities. 3. Selecione uma transio. 4. Use os botes Move para aumentar ou diminuir a prioridade da transio. 5. Quando todas as transies possurem a prioridade desejada, selecione Quando remover (desmarcar) a caixa de verificao Use default priorities, os nmeros mostram a prioridade de cada transio.

Publicao 1756-PM001E-PT-P - Agosto 2002

5-8

Programao de um Controle Seqencial de Funes

Retorno para uma Etapa Anterior

Para saltar para uma etapa diferente no SFC: Conecte um Fio Etapa Esconder um Fio Mostrar um Fio Escondido

Conecte um Fio Etapa


1. Clique no pino inferior da transio que sinaliza o salto. Clique no pino superior da etapa para a qual deseja ir. Um ponto verde mostra um ponto de conexo vlida. Geralmente, a conexo resultante orienta-se ao longo do centro do fluxograma e difcil de ser vista. 2. Para tornar o salto mais fcil de ler, arraste sua barra horizontal sobre a etapa para a qual o salto vai. possvel que voc tenha que repor alguns dos elementos de SFC. Por exemplo, para ir para Step_001 deTran_003:

1.
Clique aqui.

2.
Arraste a barra horizontal aqui.

Clique aqui.

ponto verde

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-9

Esconder um Fio
Se um fio atrapalhar outras partes do SFC, esconda o fio conexo para tornar a leitura do SFC mais fcil. Para esconder um fio, clique com o boto direito do mouse no fio e selecione Hide Wire.

local para o qual o fio vai

Para ver o elemento de SFC para qual o fio vai, clique no local de rede na conexo.

Mostrar um Fio Escondido


Para mostrar um fio escondido, clique com o boto direito do mouse na parte visvel do fio e selecione Show Wire.

fio escondido

Publicao 1756-PM001E-PT-P - Agosto 2002

5-10

Programao de um Controle Seqencial de Funes

Renomeao de uma Etapa

Cada etapa usa um tag para armazenar a configurao e as informaes de status sobre a etapa. Para renomear o tag da etapa: 1. Clique no boto 2. Clique na guia Tag. da etapa.

3.

3. Digite o novo nome para a etapa (tag). 4. Escolha

Configurao de uma Etapa

Para configurar uma etapa, voc tem essas opes: Atribuio de um Tempo de Pr-programado para uma Etapa Configure os Alarmes para uma Etapa Uso de uma Expresso para Calcular um Tempo

Atribuio de um Tempo de Pr-programado para uma Etapa


1. Clique no boto da etapa.

2. Digite o tempo para a etapa, em milissegundos. 3. Selecione Quando a etapa est ativa para o tempo pr-programado (Timer = Preset), o bit DN da etapa energiza. Para calcular o tempo pr-programado para uma etapa no tempo de execuo, consulte Uso de uma Expresso para Calcular um Tempo na pgina 5-11.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-11

Configure os Alarmes para uma Etapa


Para energizar um alarme se uma etapa executa em um tempo muito longo ou no suficientemente longo: 1. Clique no boto da etapa.

2. Marque a caixa de seleo AlarmEnable.


2.

3. 4.

3. Digite o tempo para alarme alto, em milissegundos. 4. Digite o tempo para alarme baixo, em milissegundos. 5. Selecione Para calcular o tempo pr-programado para um alarme no tempo de execuo, consulte Uso de uma Expresso para Calcular um Tempo na pgina 5-11.

Uso de uma Expresso para Calcular um Tempo


Para calcular um tempo baseado em tags no projeto, insira o tempo como uma expresso numrica. possvel usar uma expresso para calcular os seguintes tempos: Preset LimitHigh LimitLow Para inserir um tempo como uma expresso: 1. Clique no boto da etapa.

2. Selecione (marque) a caixa de seleo Use Expression.


2.

3.

Publicao 1756-PM001E-PT-P - Agosto 2002

5-12

Programao de um Controle Seqencial de Funes

3. Clique no boto Define.


4.

procure um tag selecione uma funo selecione um operador crie um tag

5.

4. Digite uma expresso numrica que defina o tempo. Use os botes ao lado da caixa de dilogo para ajudar a concluir a expresso. Para obter as informaes sobre as expresses numricas, consulte Expresses na pgina 6-5. 5. Selecione 6. Para fechar a caixa de dilogo Step Properties, selecione

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-13

Renomeao de uma Transio

Cada transio usa um tag para armazenar o status da transio. Para renomear o tag da transio: 1. Clique no boto 2. Clique na guia Tag. da transio.

3.

3. Digite o novo nome para a transio (tag). 4. Selecione

Programao de uma Transio

Para programar uma transio, voc tem essas opes: Inserir uma Expresso BOOL Chame uma Sub-rotina

Inserir uma Expresso BOOL


A maneira mais simples de programar a transio inserir as condies como uma expresso BOOL em texto estruturado. Para obter informaes sobre as expresses BOOL, consulte Expresses na pgina 6-5. 1. Clique duas vezes na rea do texto da transio. 2. Digite a expresso BOOL que determina quando a transio verdadeira ou falsa. 3. Para fechar a janela de entrada de texto, pressione [Ctrl] + [Enter].

BOOL_expression

Publicao 1756-PM001E-PT-P - Agosto 2002

5-14

Programao de um Controle Seqencial de Funes

O exemplo a seguir mostra as trs transies que usam uma expresso BOOL. EXEMPLO Inserir uma Expresso BOOL

nome do tag da transio

Expresso BOOL que controla quando a transio verdadeira ou falsa

Chame uma Sub-rotina


1. Clique com o boto direito do mouse na transio e escolha Set JSR.

2.

2. Escolha a rotina que contenha a lgica para a transio. 3. Selecione

JSR(routine_name)

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-15

Adio de uma Ao

Para adicionar uma ao etapa:

Clique com o boto direito do mouse na etapa em que a ao executa e selecione Add Action.

Renomeao de uma Ao

Para alterar o nome de uma ao para algo que seja especfico aplicao: 1. Clique no boto 2. Clique na guia Tag. da ao.

3.

3. Digite o novo nome para a ao (tag). 4. Selecione

Publicao 1756-PM001E-PT-P - Agosto 2002

5-16

Programao de um Controle Seqencial de Funes

Configurao de uma Ao

Para configurar uma ao, voc tem essas opes: Alterao do Qualificador de uma Ao Clculo de um Tempo Pr-programado no Tempo de Execuo Indicao de uma Ao como uma Ao Booleana

Alterao do Qualificador de uma Ao


Um qualificador determina quando uma ao comea e quando ela pra. O qualificador inicial N Non-Stored. A ao comea quando a etapa ativada e pra quando a etapa desativada. Para obter mais informaes, consulte Seleo de um Qualificador para uma Ao pgina 4-21. 1. Clique no boto da ao.

2. 3.

2. Atribua o qualificador para a ao. 3. Se escolher um qualificador de temporizao, digite o limite de tempo ou de atraso para a ao, em milissegundos. Os qualificadores de tempo incluem: L Tempo Limitado SL Tempo Armazenado e Limitado D Tempo de Atraso DS Armazenado e Com Atraso SD Tempo Armazenado e Com Atraso 4. Selecione

Clculo de um Tempo Pr-programado no Tempo de Execuo


Para calcular um tempo pr-programado baseado em tags no projeto, insira os valores como uma expresso numrica. 1. Clique no boto da ao.

2. Selecione (marque) a caixa de seleo Use Expression.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-17

2.

3.

3. Clique no boto Define.


4.

procure para um tag selecione uma funo selecione um operador crie um tag

5.

4. Digite uma expresso numrica que defina o tempo pr-programado. Use os botes ao lado da caixa de dilogo para ajudar a concluir a expresso. Para obter informaes sobre as expresses numricas, consulte Expresses na pgina 6-5. 5. Selecione 6. Para fechar a caixa de dilogo Action Properties, selecione

Indicao de uma Ao como uma Ao Booleana


Use uma ao booleana para somente energizar um bit quando a ao executa. Para obter mais informaes, consulte Utilizao de uma Ao Booleana na pgina 4-18. 1. Clique no boto da ao.

2.

2. Clique na caixa de verificao Boolean.

Publicao 1756-PM001E-PT-P - Agosto 2002

5-18

Programao de um Controle Seqencial de Funes

3. Selecione

Programao de uma Ao

Para programar uma ao, voc tem essas opes: Insero do Texto Estruturado Chame uma Sub-rotina

Insero do Texto Estruturado


A maneira mais fcil de programar uma ao escrever a lgica como um texto estruturado no corpo da ao. Quando a ao energiza, o controlador executa o texto estruturado.

1. Clique duas vezes na rea do texto da ao. 2. Digite o texto estruturado necessrio. 3. Para fechar a janela de entrada de texto, pressione [Ctrl] + [Enter].

//comment statement; statement;

Para obter mais informaes sobre o texto estruturado:


Para estas informaes sobre o texto estruturado: informaes gerais sobre atribuies, operadores, funes, instrues ou comentrios informaes sobre uma instruo especfica Consulte: Programa de Texto Estruturado na pgina 6-1 Logix5000 Controllers General Instructions Reference Manual, publicao 1756-RM003 Logix5000 Controllers Process and Drives Instructions Reference Manual, publicao 1756-RM006 Logix5000 Controllers Motion Instruction Set Reference Manual, publicao 1756-RM007

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-19

Chame uma Sub-rotina


Use uma instruo JSR (Salto para Sub-rotina) para executar uma sub-rotina quando a ao ativa. 1. Na SFC, clique com o boto direito do mouse na rea de entrada de texto da ao e selecione Set JSR.

2.

3.

4.

2. Selecione a rotina que quer chamar. 3. Para passar um parmetro para a rotina, clique na caixa de texto vazia Input Parameters. Use a seta para baixo para escolher o tag que contm o parmetro. 4. Para receber um parmetro da rotina, clique na caixa de texto vazia Return Parameters. Use a seta para baixo para escolher o tag que armazena o parmetro da rotina. 5. Selecione

Publicao 1756-PM001E-PT-P - Agosto 2002

5-20

Programao de um Controle Seqencial de Funes

Atribuio da Seqncia de Execuo de Aes

As aes executam na ordem em que aparecem. Por exemplo:


Quando Step_003 est ativa, suas aes executam nesta ordem: 1. Action_000 2. Action_001 3. Action_002

Para alterar a ordem em que a ao executa, arraste a ao para o local desejado na seqncia. Uma barra verde mostra um local de colocao vlida. Por exemplo:

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-21

Documentao do SFC
Para documentar: as informaes gerais sobre o SFC etapa

Para documentar um SFC, voc tem essas opes:


Se voc quiser: Faa isto: Adio de uma Caixa de Texto Adio de uma Caixa de Texto - ou Adio de uma Descrio do Tag faa o download da documentao para o controlador tem a opo de mostrar ou esconder a documentao posicionar o documento em qualquer lugar no SFC Adio de Comentrios do Texto Estruturado Adio de uma Caixa de Texto - ou Adio de uma Descrio do Tag Adio de Comentrios do Texto Estruturado Adio de uma Caixa de Texto - ou Adio de uma Descrio do Tag

transio

ao parada outro elemento (p. ex.: ramificao de seleo)

faa o download da documentao para o controlador

Adio de Comentrios do Texto Estruturado


Use a tabela a seguir para formatar os comentrios:
Para adicionar um comentrio: em uma nica linha no final de uma linha do texto estruturado em uma linha do texto estruturado Use um desses formatos: //comment (*comment*) /*comment*/ (*comment*) /*comment*/ que ocupe mais de uma linha (*start of comment . . . end of comment*) /*start of comment . . . end of comment*/

Para obter mais informaes, consulte Comentrios na pgina 6-29. Para inserir os comentrios:

Publicao 1756-PM001E-PT-P - Agosto 2002

5-22

Programao de um Controle Seqencial de Funes

1. Clique duas vezes na rea do texto da ao. 2. Insira os comentrios. 3. Para fechar a janela de entrada de texto, pressione [Ctrl] + [Enter].

//comment statement; statement;

Adio de uma Descrio do Tag


1. Clique no boto 2. Clique na guia Tag. do elemento.

3.

3. Digite a descrio para o elemento (tag). 4. Selecione 5. Arraste a caixa de descrio para o local desejado na SFC.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-23

Adio de uma Caixa de Texto


Uma caixa de texto permite a adio de observaes que esclarecem a funo de um elemento do SFC (etapa, transio, parada, etc.). Alm de usar uma caixa de texto para capturar as informaes que usar mais tarde. Por exemplo:

1. Clique em Uma caixa de texto aparece.

2. Arraste a caixa de texto para um local prximo ao elemento para o qual ela se aplica. 3. Clique duas vezes na caixa de texto e digite a observao. Pressione [Ctrl] + [Enter]. 4. Assim que mover o elemento na SFC, o que voc deseja que a caixa de texto faa?
Se usar a caixa de texto para: ficar no mesmo lugar mover com o elemento para o qual ela se aplica Pare. Est feito. V para a etapa etapa 5. Ento:

B A ponto verde

5. Clique no smbolo do pino na caixa de texto e clique no elemento do SFC para o qual deseja anexar a caixa de texto. Um ponto verde mostra um ponto de conexo vlida.

Publicao 1756-PM001E-PT-P - Agosto 2002

5-24

Programao de um Controle Seqencial de Funes

Mostrar ou Esconder as Caixas de Textos ou Descries de Tag

Voc tem a opo de mostrar ou esconder as caixas de texto e as descries de tag. Se escolher mostrar as descries, a janela do SFC mostra somente as descries para etapas, transies e paradas (no mostra as aes). Para mostrar ou esconder as caixas de texto ou descries, voc tem essas opes: Mostrar ou Esconder as Caixas de Textos ou Descries de Tag Esconder uma Descrio Individual de Tag

Mostrar ou Esconder as Caixas de Textos ou Descries de Tag


1. No menu Tools, selecione Options.

2.

2. Sob SFC Editor, escolha a categoria Display. 3. Escolha a opo desejada.


Se voc quiser: mostrar as caixas de texto ou descries esconder as caixas de texto ou descries Ento: marque a caixa de verificao correspondente desenergize (desmarque) a caixa de texto correspondente

4. Escolha

Esconder uma Descrio Individual de Tag


Para esconder a descrio de um elemento especfico enquanto mostra outras descries:

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-25

1. Clique no boto

do elemento cuja descrio deseja esconder.

2. Marque a caixa de verificao Never display description in routine.

3. Escolha Para mostrar outras descries, consulte Mostrar ou Esconder as Caixas de Textos ou Descries de Tag na pgina 5-24.

Publicao 1756-PM001E-PT-P - Agosto 2002

5-26

Programao de um Controle Seqencial de Funes

Configurao da Execuo do SFC

A guia SFC Execution das propriedades do controlador permite a configurao a seguir: o que fazer quando uma transio for verdadeira onde comear aps uma transio para o modo de operao ou aps a recuperao de uma perda de energia o que fazer na ltima varredura de uma etapa

1.

1. Na barra de ferramentas On-line, clique no boto de propriedades do controlador. 2. Clique na guia SFC Execution.
2.

3.

4.

5.

3. Opte por retornar ou no para OS/JSR se uma transio verdadeira. 4. Escolha onde reiniciar a SFC aps uma transio para o modo de operao ou aps a recuperao de uma perda de energia. 5. Escolha o que fazer na ltima varredura de uma etapa. 6. Escolha

Verificao da Rotina

Assim que programar sua rotina, verifique seu trabalho periodicamente:

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Controle Seqencial de Funes

5-27

1. Na barra de ferramentas na parte superior da janela do RSLogix 5000, clique em 2. Se algum erro for listado na parte inferior da janela: a. V at o primeiro erro ou aviso, pressione [F4]. b. Corrija o erro de acordo com a descrio na janela Results. c. V para a etapa 1. 3. Para fechar a janela Results, pressione [Alt] + [1].

Publicao 1756-PM001E-PT-P - Agosto 2002

5-28

Programao de um Controle Seqencial de Funes

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Programa de Texto Estruturado

Quando Usar Este Captulo

Use este captulo para escrever e inserir um texto estruturado para: uma rotina de texto estruturado uma ao de um controle seqencial de funes (SFC) uma transio de controle seqencial de funes (SFC)

Sintaxe do Texto Estruturado

O texto estruturado uma linguagem de programao textual que usa as declaraes para definir o que executar. O texto estruturado no sensvel ao contexto. Use as guias e mecanismo de retorno (linhas separadas) para tornar seu texto estruturado mais fcil de ler. Eles no possuem efeito na execuo do texto estruturado. O texto estruturado pode conter esses componentes:

Termo: atributo (consulte a pgina 6-2) expresso (consulte a pgina 6-5)

Definio: Use uma declarao de atribuio para atribuir os valores aos tags. O operador := um operador de atribuio. Termine a atribuio com um ponto e vrgula ;. Uma expresso parte de uma atribuio completa ou declarao de construo. Uma expresso avalia para um nmero (expresso numrica) ou para um estado verdadeiro ou falso (expresso BOOL).

Exemplos: tag := expression;

Uma expresso contm: tags Uma rea nomeada da memria em que os dados so armazenados (BOOL, SINT,INT,DINT, REAL, string). Um valor constante. Um smbolo ou mnemnico que especifica uma operao em uma expresso. value1

imediatos operadores

4 tag1 + tag2 tag1 >= value1

funes

Quando executada, uma funo produz um valor. Use function(tag1) parnteses para conter o operando de uma funo.

Embora sua sintaxe seja similar, as funes diferenciam-se das instrues em que as funes possam somente ser usadas em expresses. As instrues no podem ser usadas em expresses.

Publicao 1756-PM001E-PT-P - Agosto 2002

6-2

Programa de Texto Estruturado

Termo: instruo (consulte a pgina 6-11)

Definio: Uma instruo uma declarao independente. Uma instruo usa parnteses para conter seus operandos. Dependendo da instruo, pode haver zero, um ou mltiplos operandos. Quando executada, uma instruo produz um ou mais valores que so parte de uma estrutura de dados. Termine a instruo com um ponto e vrgula ;. instruction();

Exemplos:

instruction(operand);

instruction(operand1, operand2,operand3);

Embora sua sintaxe seja similar, as funes diferenciam-se das funes em que as instrues no possam ser usadas em expresses. As funes podem ser usadas somente em expresses. construo (consulte a pgina 6-12) Uma declarao condicional usada para iniciar o cdigo de texto estruturado (isto , outras declaraes). Termine a construo com um ponto e vrgula ;. IF...THEN CASE FOR...DO WHILE...DO REPEAT...UNTIL EXIT comentrio (consulte a 6-29) O texto que explica ou esclarece o que uma coluna de texto estruturado faz. //comment

Use os comentrios para interpretar o texto estruturado de forma (*start of comment . . . mais fcil. end of comment*) Os comentrios no afetam a execuo do texto estruturado. Os comentrios podem aparecer em qualquer lugar no texto estruturado. /*start of comment . . . end of comment*/

Atributos

Use um atributo para alterar o valor armazenado em um tag. Um atributo possui essa sintaxe: tag := expression ; onde:
Componente: tag Descrio: representa o tag que est obtendo o novo valor o tag deve ser BOOL, SINT, INT, DINT ou REAL := o smbolo de atribuio

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-3

Componente: expresso

Descrio: representa o novo valor para atribuir ao tag Se o tag for deste tipo de dados: BOOL SINT INT DINT REAL Use esse tipo de expresso: expresso BOOL expresso numrica

trmino da atribuio

Publicao 1756-PM001E-PT-P - Agosto 2002

6-4

Programa de Texto Estruturado

O tag retm o valor atribudo at que uma outra atribuio altere o valor. A expresso pode ser simples, como um valor imediato ou um outro nome de tag ou a expresso pode ser complexa e incluir muitos operadores e/ou funes. Consulte a prxima seo Expresses na pgina 6-5 para os detalhes.

Especificao de um atributo no retentivo


O atributo no retentivo diferente da atribuio regular descrita acima em que o tag em uma atribuio no retentiva rearmado para resetar em zero toda vez que o controlador: entrar o modo RUN sair da etapa de um SFC caso configure o SFC para Automatic reset (isso se aplica somente se voc embutiu a atribuio na ao da etapa ou se usar a ao para chamar uma rotina de texto estruturado atravs de uma instruo JSR.) Uma atribuio no retentiva possui essa sintaxe: tag [:=] expression ; onde:
Componente: tag Descrio: representa o tag que est obtendo o novo valor o tag deve ser BOOL, SINT, INT, DINT ou REAL [:=] expresso um smbolo de atribuio no retentiva representa o novo valor para atribuir ao tag Se o tag for deste tipo de dados: BOOL SINT INT DINT REAL ; trmino da atribuio Use esse tipo de expresso: expresso BOOL expresso numrica

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-5

Atribuio de um Caracter ASCII para um string


Use o operador de atribuio para atribuir um caracter ASCII a um elemento do membro DATA de um tag da string. Para atribuir um caracter, especifique o valor do caracter ou especifique o nome do tag, membro DATA e o elemento do caracter. Por exemplo:
Esse est OK: string1.DATA[0]:= 65; string1.DATA[0]:= string2.DATA[0]; Esse no est OK. string1.DATA[0] := A; string1 := string2;

Para adicionar ou inserir um string de caracteres a um tag da string, use uma dessas instrues da string ASCII:
Para: adicionar caracteres ao final de uma string inserir caracteres em uma string CONCAT INSERT Use essa instruo:

Expresses

Uma expresso um nome do tag, equao ou comparao. Para escrever uma expresso, use: o nome do tag que armazena o valor (varivel) o nmero inserido diretamente na expresso (valor imediato) funes, como: ABS, TRUNC operadores, como: +, -, <, >, E, Ou Assim que escrever as expresses, siga essas regras gerais: Use qualquer combinao de letra maiscula e minscula. Por exemplo, essas trs variaes de AND so aceitveis: AND, And, and. Para especificaes mais complexas, use os parnteses para agrupar as expresses dentro de expresses. Isso torna a expresso inteira mais fcil de ser lida e assegura que a expresso seja executada na seqncia desejada. Consulte Determinao da seqncia de execuo na 6-11.

Publicao 1756-PM001E-PT-P - Agosto 2002

6-6

Programa de Texto Estruturado

No texto estruturado, so usados dois tipos de expresses: expresso BOOL: Uma expresso que produz o valor BOOL de 1 (verdadeiro) ou 0 (falso). Uma expresso BOOL usa os tags BOOL, operadores relacionados e operadores lgicos para comparar os valores ou verificar se as condies so verdadeiras ou falsas. Por exemplo, tag1>65. Uma expresso BOOL simples pode ser um nico tag BOOL. Geralmente, usam-se expresses BOOL para condicionar a execuo de outra lgica. Expresso numrica: Uma expresso que calcula um valor inteiro ou de ponto flutuante. Uma expresso numrica usa operadores aritmticos, funes aritmticas e operadores bitwise. Por exemplo, tag1+5. Geralmente, voc encadeia uma expresso numrica em uma expresso BOOL. Por exemplo, (tag1+5)>65. Use a tabela a seguir para escolher os operadores para as expresses:
Se voc quiser: Calcular um valor aritmtico Comparar dois valores ou strings Verificar se as condies so verdadeiras ou falsas Comparar os bits nos valores Ento: Uso dos operadores e funes aritmticas na pgina 6-6. Uso dos operadores relacionados na pgina 6-8. Uso dos operadores lgicos na pgina 6-9. Uso dos operadores bitwise na pgina 6-10.

Uso dos operadores e funes aritmticas


possvel combinar operadores mltiplos e funes em expresses aritmticas. Os operadores aritmticos calculam os novos valores.
Para: adio subtrao/negao multiplicao expoente (x elevado a y) diviso mdulo-diviso + * ** / MOD Use esse operador: Tipo de dados otimizados: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-7

As funes aritmticas realizam operaes matemticas. Especifique uma constante, um tag no boleano ou uma expresso para a funo.
Para: valor absoluto arco co-seno arco seno arco tangente co-seno radianos para graus log neperiano log de base 10 graus para radianos seno raiz quadrada tangente truncado Use essa funo: ABS (numeric_expression) ACOS (numeric_expression) ASIN (numeric_expression) ATAN (numeric_expression) COS (numeric_expression) DEG (numeric_expression) LN (numeric_expression) LOG (numeric_expression) RAD (numeric_expression) SIN (numeric_expression) SQRT (numeric_expression) TAN (numeric_expression) TRUNC (numeric_expression) Tipo de dados otimizados: DINT, REAL REAL REAL REAL REAL DINT, REAL REAL REAL DINT, REAL REAL DINT, REAL REAL DINT, REAL

Por exemplo:
Tabela6.1 Use esse formato: Para essa situao: value1 operator value2 Se gain_4 e gain_4_adj so tags DINT e a especificao diz: Acrescente 15 a gain_4 e armazene o resultado em gain_4_adj. Se alarm e high_alarm so tags DINT e a especificao diz: Subtraia high_alarm e armazenar o resultado em alarm. Se overtravel e overtravel_POS so tags DINT e a especificao diz: Calcule o valor absoluto de overtravel e armazene o resultado em overtravel_POS. Se adjustment e position so tags DINT e sensor1 e sensor2 so tags REAL e a especificao diz: Encontre o valor absoluto da mdia de sensor1 e sensor2, adicione o adjustment e armazene o resultado em position. Exemplo: Voc escreveria: gain_4_adj := gain_4+15; alarm:= -high_alarm; overtravel_POS := ABS(overtravel);

operator value1

function(numeric_expression)

value1 operator (function((value2+value3)/2)

position := adjustment + ABS((sensor1 + sensor2)/2);

Publicao 1756-PM001E-PT-P - Agosto 2002

6-8

Programa de Texto Estruturado

Uso dos operadores relacionados


Os operadores relacionados comparam dois valores ou strings para fornecer um resultado verdadeiro ou falso. O resultado de uma operao relacionada um valor BOOL:
Se a comparao for: verdadeira falsa 1 0 O resultado :

Use os operadores relacionados a seguir:


Para essa comparao: igual menor que menor ou igual a maior que maior ou igual a diferente de = < <= > >= <> Use esse operador: Tipo de Dados Otimizados: DINT, REAL, string DINT, REAL, string DINT, REAL, string DINT, REAL, string DINT, REAL, string DINT, REAL, string

Por exemplo:
Tabela6.2 Use esse formato: Para essa situao: value1 operator value2 stringtag1 operator stringtag2 char1 operator char2 Se temp um tag DINT e a especificao diz: Se temp menor que 100 ento Se bar_code e dest so tags da string e a especificao diz: Se bar_code igual a dest ento Exemplo Voc escreveria: IF temp<100 THEN... IF bar_code=dest THEN...

Se bar_code um tag do string e a IF bar_code.DATA[0]=65 especificao diz: Se bar_code.DATA[0] igual THEN... a A ento

Para inserir um caracter ASCII diretamente na expresso, insira o valor decimal do caracter. bool_tag := bool_expressions Se count e length so tags DINT, done um tag BOOL e a especificao diz: Se count maior ou igual a length, voc finalizou a contagem. done := (count >= length);

Como as Strings So Avaliadas


Os valores hexadecimais dos caracteres ASCII determinam se uma string menor ou maior que outra.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-9

Quando duas strings esto classificadas como em um diretrio de telefone, a ordem das strings determina qual maior.
Caracteres ASCII 1ab
m e n o r m a i o r

Cdigos Hex $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B

1b A AB B A ab

As strings so iguais se os caracteres corresponderem. Os caracteres so sensveis ao contexto. O A maisculo ($41) no igual ao a minsculo ($61). Para o valor decimal e cdigo hexadecimal de um caracter, consulte a quarta capa deste manual.

Uso dos operadores lgicos


Os operadores lgicos permitem verificar se mltiplas condies so verdadeiras ou falsas. O resultado de uma operao lgica um valor BOOL:
Se a comparao for: verdadeira falsa 1 0 O resultado :

Use os seguintes operadores lgicos:


Para: lgica AND lgica OR lgica XOR lgica complemento Use esse operador: &, AND OR XOR NOT Tipo de Dados: BOOL BOOL BOOL BOOL

Publicao 1756-PM001E-PT-P - Agosto 2002

6-10

Programa de Texto Estruturado

Por exemplo:
Tabela6.3 Use esse formato: Para essa situao: BOOLtag NOT BOOLtag expression1 & expression2 Se photoeye um tag BOOL e a especificao diz: Se photoeye_1 est energizado ento Exemplo: Voc escreveria: IF photoeye THEN...

Se photoeye um tag BOOL e a especificao IF NOT photoeye THEN... diz: Se photoeye est desenergizado ento Se photoeye um tag BOOL, temp um tag IF photoeye & (temp<100) DINT e a especificao diz: Se photoeye est THEN... energizado e temp menor que 100 ento. Se photoeye um tag BOOL, temp um tag DINT e a especificao diz: Se photoeye est energizado ou temp menor que 100 ento. Se photoeye1 e photoeye2 so tags BOOL e a especificao diz: Se: photoeye1 est energizado enquanto photoeye2 est desenergizado ou photoeye1 est desenergizado enquanto photoeye2 est energizado ento... IF photoeye OR (temp<100) THEN...

expression1 OR expression2

expression1 XOR expression2

IF photoeye1 XOR photoeye2 THEN...

BOOLtag := expression1 & expression2

Se photoeye1 e photoeye2 so tags BOOL, open open := photoeye1 & photoeye2; um tag BOOL e a especificao diz: Se photoeye1 e photoeye2 estiverem energizados, defina open para verdadeiro.

Uso dos operadores bitwise


Os operadores bitwise manipulam os bits em um valor baseado em dois valores.
Para: bitwise AND bitwise OR XOR NOT Use esse operador: &, AND OR XOR NOT Tipo de Dados Otimizados: DINT DINT DINT DINT

Por exemplo:
Tabela6.4 Use esse formato: Para essa situao: value1 operator value2 Se input1, input2 e result1 so tags DINT e a especificao diz: Calcule o resultado de input1 e input2. Armazene o resultado em result1. Exemplo: Voc escreveria: result1 := input1 AND input2;

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-11

Determinao da seqncia de execuo


As operaes escritas em uma expresso so realizadas em uma seqncia prescrita, no necessariamente da esquerda para a direita. Operaes com seqncia igual so realizadas da esquerda para a direita. Se uma expresso contiver mltiplos operadores ou funes, agrupe as condies em parnteses ( ). Isso assegura a seqncia correta de execuo e facilita a leitura da expresso.
Seqncia: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. () funo () ** (negao) NOT *, /, MOD +, - (subtrao) <, <=, >, >= =, <> &, E XOR OR Operao:

Instrues

As declaraes do texto estruturado podem ser tambm instrues. Consulte a Tabela de Localizao no incio desse manual para uma lista de instrues disponveis no texto estruturado. Uma instruo de texto estruturado executa toda vez que varrida. Uma instruo de texto estruturado com uma construo executa toda vez que as condies de construo forem verdadeiras. Se as condies de construo forem falsas, as declaraes na construo no so varridas. No h condio de linha ou transio de estado que inicie a execuo. Isso difere das instrues do bloco de funes que usam EnableIn para iniciar a execuo. As instrues de texto estruturado executadas se EnableIn estiver sempre energizado. Isso difere tambm das instrues de lgica ladder que usam a entrada da condio de linha para iniciar a execuo. Algumas instrues da lgica ladder somente so executadas quando a entrada da condio de linha alterna de falso para verdadeiro. Essas so instrues de lgica ladder transicionais. No texto estruturado, as instrues sero executadas toda vez que forem varridas a menos que voc pr-condicione a execuo da instruo de texto estruturado. Por exemplo, a instruo ABL uma instruo transicional na lgica ladder. Nesse exemplo, a instruo ABL executada somente em uma varredura quando as transies tag_xic forem de desenergizadas para energizadas. A

Publicao 1756-PM001E-PT-P - Agosto 2002

6-12

Programa de Texto Estruturado

instruo ABL no executada quando tag_xic fica energizado ou quando tag_xic est desenergizado.

No texto estruturado, se escrever esse exemplo como: IF tag_xic THEN ABL(0,serial_control); END_IF; a instruo ABL executar toda varredura que tag_xic est energizado, no apenas quando tag_xic transitar de desenergizado para energizado. Se voc quiser que a instruo ABL execute somente quando as transies de tag_xic forem de desenergizado para energizado, precisar condicionar a instruo de texto estruturado. Use um monoestvel para iniciar a execuo.
osri_1.InputBit := tag_xic; OSRI(osri_1);

IF (osri_1.OutputBit) THEN ABL(0,serial_control); END_IF;

Construes
Se voc quiser: fazer algo se ou quando as condies especficas ocorrerem selecionar o que fazer com base em um valor numrico fazer algo um nmero vezes determinadas antes de fazer mais alguma coisa continuar a fazer algo enquanto certas condies so verdadeiras continuar a fazer algo at que uma condio seja verdadeira

As construes podem ser programadas uma a uma ou encadeadas em outras construes.


Use esta construo: IF...THEN CASE... OF FOR...DO WHILE...DO REPEAT...UNTIL Disponvel nessas linguagens: texto estruturado texto estruturado texto estruturado texto estruturado texto estruturado Consulte a pgina: 6-13 6-17 6-20 6-23 6-26

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-13

IF...THEN

Use IFTHEN para fazer algo se ou quando as condies especficas ocorrerem.

Operandos:

Texto Estruturado
IF bool_expression THEN <statement>; END_IF;

Operando: bool_ expression BOOL

Tipo:

Formato: tag expresso

Insira: tag BOOL ou a expresso que avalie para um valor BOOL (expresso BOOL)

Descrio:
A sintaxe : IF bool_expression1 THEN <statement >; . . .
opcional declaraes a serem executadas quando bool_expression1 for verdadeiro

ELSIF bool_expression2 THEN <statement>; . . .


as declaraes para executar quando bool_expression2 for verdadeira

opcional

ELSE <statement>; . . . END_IF; Para usar ELSIF ou ELSE, siga essas orientaes: 1. Para selecionar de muitos grupos de declaraes possveis, adicione uma ou mais declaraes ELSIF. Cada ELSIF representa um caminho alternativo. Especifique quantos caminhos ELSIF possveis voc precisar. O controlador executa o primeiro IF ou ELSIF verdadeiro e pula o resto dos ELSIFs e ELSE. 2. Para fazer algo quando todas as condies de IF ou ELSIF forem falsas, adicione uma declarao ELSE.
declaraes a serem executadas quando as expresses forem falsas

Publicao 1756-PM001E-PT-P - Agosto 2002

6-14

Programa de Texto Estruturado

A tabela a seguir resume as combinaes diferentes de IF, THEN, ELSIF e ELSE.


Se voc quiser: fazer algo se ou quando as condies forem verdadeiras E: no fizer nada se as condies so falsas fazer algo mais se as condies so falsas escolher as declaraes alternativas (ou grupos de declaraes) baseadas nas condies de entrada no fizer nada se as condies so falsas atribuir declaraes padro se todas as condies so falsas Use esta construo IF...THEN IFTHENELSE IFTHENELSIF IFTHENELSIFELSE

Flags de Status Aritmtico:


no afetado

Condies de Falha:
nenhuma

Exemplo 1:
IF...THEN
Se voc quiser: IF rejects > 3 then transportador = off (0) alarme = on (1) Insira este texto estruturado: IF rejects > 3 THEN conveyor := 0; alarm := 1; END_IF;

Exemplo 2:
IFTHENELSE
Se voc quiser isto: Se o contato de direo do transportador = siga (1) ento light = apaga Ou light = acende Insira este texto estruturado: IF conveyor_direction THEN light := 0; ELSE light [:=] 1; END_IF;

O [:=] pede ao controlador para desenergizar light quando o controlador: inserir o modo RUN

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-15

renunciar a etapa de um SFC caso configure o SFC para Automatic reset (Isso se aplica somente se voc embutiu a atribuio na ao da etapa ou usar a ao para chamar uma rotina de texto estruturado atravs de uma instruo JSR.)

Exemplo 3:
IFTHENELSIF
Se voc quiser isto: Se sugar low limit switch = low (energizada) e sugar high limit switch = not high (energizada) ento vlvula de entrada = aberta (energizada) At sugar high limit switch = high (desenergizado) Insira este texto estruturado: IF Sugar.Low & Sugar.High THEN Sugar.Inlet [:=] 1; ELSIF NOT(Sugar.High) THEN Sugar.Inlet := 0; END_IF;

O [:=] pede ao controlador para desenergizar Sugar.Inlet sempre que o controlador: entrar no modo RUN sair da etapa de um SFC caso configure o SFC para Automatic reset (Isso se aplica somente se voc embutiu a atribuio na ao da etapa ou usar a ao para chamar uma rotina de texto estruturado atravs de uma instruo JSR.)

Publicao 1756-PM001E-PT-P - Agosto 2002

6-16

Programa de Texto Estruturado

Exemplo 4:
IFTHENELSIFELSE
Se voc quiser isto: Se a temperatura do tanque for > 100 ento a bomba = devagar Se a temperatura do tanque for > 200 ento a bomba = rpida ou a bomba = desenergizada ELSE pump.fast :=0; pump.slow :=0; pump.off :=1; END_IF; Insira este texto estruturado: IF tank.temp > 200 THEN pump.fast :=1; pump.slow :=0; pump.off :=0; ELSIF tank.temp > 100 THEN pump.fast :=0; pump.slow :=1; pump.off :=0;

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-17

CASE...OF

Use CASE para selecionar o que fazer baseado em um valor numrico.

Operandos:

Texto Estruturado
CASE numeric_expression OF selector1: statement; selectorN: statement; ELSE statement; END_CASE;

Operando: numeric_ expression

Tipo: SINT INT DINT REAL

Formato: tag expresso

Insira: tag ou a expresso que avalie para um nmero (expresso numrica)

selector

SINT INT DINT REAL

imediato

o mesmo tipo que


numeric_expression

IMPORTANTE

Se usar valores REAL, use uma faixa de valores para um seletor porque um valor REAL mais provvel que esteja em uma faixa de valores que uma combinao exata de um valor especfico.

Descrio:
A sintaxe : CASE numeric_expression OF
especifica os valores possveis do seletor alternativo (caminhos) que voc precisa

selector1 : <statement>; . . . selector2 : <statement>;. . . selector3 : <statement>; . . .

declaraes a serem executadas quando numeric_expression = selector1

declaraes a serem executadas quando numeric_expression = selector2

declaraes a serem executadas quando numeric_expression = selector3

opcional

ELSE <statement>; . . . END_CASE;


Publicao 1756-PM001E-PT-P - Agosto 2002

declaraes a serem executadas quando numeric_expression qualquer seletor

6-18

Programa de Texto Estruturado

Consulte a tabela na prxima pgina para validar os valores do seletor. A sintaxe para inserir os valores do seletor :
Quando o seletor for: um valor mltiplo, com valores distintos value: statement value1, value2, valueN : <statement> Insira:

Use uma vrgula (,) para separar cada valor. uma faixa de valores value1..valueN : <statement>

Use dois pontos (..) para identificar a faixa. valores distintos mais uma faixa de valores valuea, valueb, value1..valueN : <statement>

Flags de Status Aritmtico:


no afetado

Condies de Falha:
Nenhuma

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-19

Exemplo

Se voc quiser isto: Se o nmero receptor = 1 ento Ingrediente A sada 1 = aberta (1) Ingrediente B sada 4 = aberta (1) Se o nmero receptor = 2 ou 3 ento 2,3:

Insira este texto estruturado: CASE recipe_number OF 1: Ingredient_A.Outlet_1 :=1; Ingredient_B.Outlet_4 :=1; Ingredient_A.Outlet_4 :=1; Ingredient_B.Outlet_2 :=1;

Ingrediente A sada 4 = aberta (1)


Ingrediente B sada 2 = aberta (1) Se o nmero receptor = 4, 5, 6 ou 7 ento Ingrediente A sada 4 = aberta (1) Ingrediente B sada 2 = aberta (1) Se o nmero receptor = 8, 11, 12 ou 13 ento Ingrediente A sada 1 = aberta (1) Ingrediente B sada 4 = aberta (1) Ou todas as sadas = fechadas (0) ELSE 8,11-13 4..7:

Ingredient_A.Outlet_4 :=1; Ingredient_B.Outlet_2 :=1;

Ingredient_A.Outlet_1 :=1; Ingredient_B.Outlet_4 :=1;

Ingredient_A.Outlet_1 [:=]0; Ingredient_A.Outlet_4 [:=]0; Ingredient_B.Outlet_2 [:=]0; Ingredient_B.Outlet_4 [:=]0; END_CASE;

O [:=] pede ao controlador para tambm desenergizar os tags de sada quando o controlador: entrar no modo RUN sair da etapa de um SFC caso configure o SFC para Automatic reset (Isso se aplica somente se voc embutiu a atribuio na ao da etapa ou usar a ao para chamar uma rotina de texto estruturado atravs de uma instruo JSR.)

Publicao 1756-PM001E-PT-P - Agosto 2002

6-20

Programa de Texto Estruturado

FOR...DO

Use a malha FOR...DO para fazer algo com um nmero especfico de vezes antes de fazer algo mais.

Operandos: Texto Estruturado


FOR count:= initial_value TO final_value BY increment DO <statement>; END_FOR;

Operando: count

Tipo: SINT INT DINT SINT INT DINT SINT INT DINT SINT INT DINT

Formato: tag

Descrio: tag para armazenar a posio de contagem quando executar FORDO deve avaliar em um nmero especifica o valor inicial para contagem especifica o valor final para contagem, o que determina quando sair da malha (opcional) quantidade para incrementar a contagem cada vez atravs da malha. Se no especificar um incremento, a contagem incrementa pelo 1.

initial_ value final_ value increment

tag expresso imediato tag expresso imediato tag expresso imediato

IMPORTANTE

Certifique-se de no repetir a malha muitas vezes em uma nica varredura. O controlador no executa nenhuma outra declarao na rotina at concluir a malha. Se o tempo que ele levar para concluir a malha for superior ao temporizador watchdog para a tarefa, ocorre uma falha grave. Considere o uso de uma construo diferente, como IF...THEN.

Descrio:
A sintaxe : FOR count := initial_value TO final_value
opcional {

BY increment DO <statement>;

Se no especificar um incremento, a malha incrementa pelo 1.

opcional

IFbool_expression1 THEN EXIT; END_IF; END_FOR;


Se houver condies quando quiser sair da malha antes, use outras declaraes, como a construo IF...THEN, para a condio de uma declarao EXIT.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-21

Os diagramas a seguir mostram como uma malha FOR...DO executa e como uma declarao EXIT deixa a malha mais cedo.
Foi feito x nmero de vezes? no declarao 1 declarao 2 declarao 3 declarao 4 resto da rotina sim Foi feito x nmero de vezes? no declarao 1 declarao 2 declarao 3 declarao 4 Sair ? no resto da rotina sim

sim

A malha FOR...DO executa um nmero especfico de vezes.

Para parar a malha antes que a contagem alcance o ltimo valor, use uma declarao EXIT.

Flags de Status Aritmtico:


no afetado

Condies de Falha:

Uma falha grave ocorrer se: a construo das malhas for longa demais 6

Tipo de falha: 1

Cdigo de falha:

Exemplo 1:

Se voc quiser isto: Desenergizar os bits 0 - 31 em uma matriz de BOOLs: 1. Inicie o tag subscript para 0. 2. Desenergizar array[ subscript ]. Por exemplo, quando subscript = 5, desenergize array[5]. 3. Adicionar 1 para subscript. 4. Se subscript for para 31, repita 2 e 3. Ou, pare.

Insira este texto estruturado: Para subscript:=0 a 31 por 1 faa array[subscript] := 0; END_FOR;

Publicao 1756-PM001E-PT-P - Agosto 2002

6-22

Programa de Texto Estruturado

Exemplo 2:

Se voc quiser isto: Um tipo de dados definido pelo usurio (estrutura) armazena as seguintes informaes sobre um item no seu estoque: ID do cdigo de barras do item (tipo de dados da string) Quantidade do item em estoque (tipo de dados DINT) Uma matriz da estrutura acima contm um elemento para cada item diferente no seu estoque. Voc quer procurar a matriz para um produto especfico (use seu cdigo de barras) e determinar a quantidade que h em estoque. 1. Obter o tamanho (nmero de itens) da matriz Inventory e armazene o resultado Inventory_Items (tag DINT). 2. Inicie o tag position em 0. 3. Se Barcode corresponder ID do item na matriz, ento: a. Ajuste o tag Quantity = Inventory[position].Qty. Isso produz a quantidade no estoque do item. b. Pare. Barcode um tag da string que armazena o cdigo de barras do item para o que voc estiver procurando. Por exemplo, quando position = 5, compare Barcode ao Inventory[5].ID. 4. Adicionar 1 position. 5. Se position for para (Inventory_Items -1), repita 3 e 4. Como os nmeros do elemento comeam no 0, o ltimo elemento 1 menor que o nmero de elementos na matriz. Caso contrrio, pare.

Insira este texto estruturado: SIZE(Inventory,0,Inventory_Items); For position:=0 to Inventory_Items - 1 faa If Barcode = Inventory[position].ID then Quantity := Inventory[position].Qty; Exit; End_If; End_For;

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-23

WHILE...DO

Use a malha WHILE...DO para continuar algo enquanto certas condies forem verdadeiras.

Operandos:

Texto Estruturado
WHILE bool_expression DO <statement>; END_WHILE;

Operando: expresso BOOL BOOL

Tipo:

Formato: tag expresso

Insira: o tag ou a expresso BOOL que avalie um valor como um valor BOOL

IMPORTANTE

Certifique-se de no repetir a malha muitas vezes em um nica varredura. O controlador no executa nenhuma outra declarao na rotina at concluir a malha. Se o tempo que ele levar para concluir a malha for superior ao temporizador watchdog para a tarefa, uma falha grave ocorre. Considere o uso de uma construo diferente, como IF...THEN.

Descrio:
A sintaxe : WHILE bool_expression1 DO <statement>;
opcional as declaraes para executar enquanto bool_expression1 for verdadeira

IF bool_expression2 THEN EXIT; END_IF; END_WHILE;


Se houver condies quando quiser sair da malha antes, use outras declaraes, como uma construo IF...THEN, para a condio de uma declarao EXIT.

Publicao 1756-PM001E-PT-P - Agosto 2002

6-24

Programa de Texto Estruturado

Os diagramas a seguir mostram como uma malha WHILE...DO se executa e como uma declarao EXIT deixa a malha mais cedo.
expresso BOOL verd declarao 1 declarao 2 declarao 3 declarao 4 resto da rotina falsa expresso BOOL verd declarao 1 declarao 2 declarao 3 declarao 4 Sair? no resto da rotina falsa

sim

Enquanto bool_expression for verdadeira, o controlador executa somente as declaraes na malha WHILEDO.

Para parar a malha antes das condies serem verdadeiras, use uma declarao EXIT.

Exemplo 1:

Se voc quiser isto: A malha WHILE...DO avalia primeiro suas condies. Se as condies forem verdadeiras, o controlador executa ento as declaraes na malha. pos := 0;

Insira este texto estruturado:

While ((pos <= 100) & structarray[pos].value <> targetvalue)) do

Isto diferencia-se da malha REPEAT...UNTIL porque a malha pos := pos + 2; REPEAT...UNTIL executa as declaraes na construo e ento String_tag.DATA[pos] := SINT_array[pos]; determina se as condies so verdadeiras antes de executar as declaraes novamente. As declaraes em uma malha end_while; REPEAT...UNTIL so sempre executadas pelo menos uma vez. As declaraes em uma malha WHILE...DO nuca podem ser executadas.

Flags de Status Aritmtico:


no afetado

Condies de Falha:

Uma falha grave ocorrer se: a construo das malhas for muito longa 6

Tipo de falha: 1

Cdigo de falha:

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-25

Exemplo 2:

Se voc quiser isto: Movimente os caracteres ASCII de uma matriz SINT para um tag da string. (Em uma matriz SINT, cada elemento suporta um caracter.) Pare quando alcanar o mecanismo de retorno.

Insira este texto estruturado: element_number := 0; SIZE(SINT_array, 0, SINT_array_size);

While SINT_array[element_number] <> 13 do 1. Inicie Element_number para 0. String_tag.DATA[element_number] := 2. Conte o nmero de elementos em SINT_array (matriz SINT_array[element_number]; que contm os caracteres ASCII) e armazena o resultado em SINT_array_size (tag DINT). element_number := element_number + 1; 3. Se o caracter em SINT_array[element_number] = 13 (valor decimal de $), ento pare. String_tag.LEN := element_number; 4. Defina String_tag[element_number] = caracter em If element_number = SINT_array_size then SINT_array[element_number]. 5. Adicione 1 para element_number. Isto permite que o exit; controlador verifique o SINT_array. end_if; 6. Defina o membro Length de String_tag = element_number. (Isto registra o nmero de caracteres end_while; em String_tag mais distante.) 7. Se element_number = SINT_array_size, ento pare. (Voc est no final da matriz e ela no contm um mecanismo de retorno.) 8. V para a etapa 3.

Publicao 1756-PM001E-PT-P - Agosto 2002

6-26

Programa de Texto Estruturado

REPEAT...UNTIL

Use a malha REPEAT...UNTIL para continuar algo at as condies serem verdadeiras.

Operandos:

Texto Estruturado
REPEAT <statement>; UNTIL bool_expression END_REPEAT;

Operando: bool_ expression BOOL

Tipo:

Formato: tag expresso

Insira: o tag BOOL ou a expresso que avalie um valor como um valor BOOL

IMPORTANTE

Certifique-se de no repetir a malha muitas vezes em uma nica varredura. O controlador no executa nenhuma outra declarao na rotina at concluir a malha. Se o tempo que ele levar para concluir a malha for superior ao temporizador watchdog para a tarefa, ocorre uma falha grave. Considere o uso de uma construo diferente, como IF...THEN.

Descrio:
A sintaxe : REPEAT <statement>;
opcional declaraes para serem executadas enquanto bool_expression1 for falso

IF bool_expression1 THEN EXIT; END_IF; UNTIL bool_expression1 END_REPEAT;


Se houver condies quando quiser sair da malha antes, use outras declaraes, como a construo IF...THEN, para a condio de uma declarao EXIT.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-27

Os diagramas a seguir mostram como uma malha REPEAT...UNTIL se executa e como uma declarao EXIT deixa a malha mais cedo.
declarao 1 declarao 2 declarao 3 declarao 4 expresso BOOL falsa resto da rotina falsa resto da rotina declarao 1 declarao 2 declarao 3 declarao 4 Sair? no expresso BOOL verda

verda

sim

Enquanto bool_expression for falsa, o controlador executa somente as declaraes na malha REPEATUNTIL.

Para parar a malha antes das condies serem falsas, use uma declarao EXIT.

Exemplo 1:
Se voc quiser isto: A malha REPEAT...UNTIL executa as declaraes na construo e ento determina se as condies so verdadeiras antes da execuo das declaraes novamente. Isto diferencia-se da malha WHILE...DO porque a malha WHILE...DO avalia primeiro as suas condies. Se as condies forem verdadeiras, o controlador executa ento as declaraes na malha. As declaraes em uma malha REPEAT...UNTIL so sempre executadas pelo menos uma vez. As declaraes em uma malha WHILE...DO nunca podem ser executadas. pos := -1; REPEAT pos := pos + 2; UNTIL ((pos = 101) OR (structarray[pos].value = targetvalue)) end_repeat; Insira este texto estruturado:

Flags de Status Aritmtico:


no afetado

Condies de Falha:

Uma falha grave ocorrer se: a construo das malhas for muito longa 6

Tipo de falha: 1

Cdigo de falha:

Publicao 1756-PM001E-PT-P - Agosto 2002

6-28

Programa de Texto Estruturado

Exemplo 2:

Se voc quiser isso: Movimente os caracteres ASCII de uma matriz SINT para um tag da string. (Em uma matriz SINT, cada elemento retm um caracter.) Pare quando alcanar o mecanismo de retorno.

Insira este texto estruturado: element_number := 0; SIZE(SINT_array, 0, SINT_array_size);

Repeat 1. Inicie Element_number para 0. String_tag.DATA[element_number] := 2. Conte o nmero de elementos em SINT_array (matriz SINT_array[element_number]; que contm os caracteres ASCII) e armazena o resultado em SINT_array_size (tag DINT). element_number := element_number + 1; 3. Defina String_tag[element_number] = o caracter em SINT_array[element_number]. String_tag.LEN := element_number; 4. Adicione 1 a element_number. Isto permite que o If element_number = SINT_array_size then controlador verifique o SINT_array. 5. Defina o membro Length de String_tag = exit; element_number. (Isto registra o nmero de caracteres end_if; em String_tag at agora.) 6. Se element_number = SINT_array_size, ento pare. Until SINT_array[element_number] = 13 (Voc est no final da matriz e ele no contm um mecanismo de retorno.) end_repeat; 7. Se o caracter em SINT_array[element_number] = 13 (valor decimal do mecanismo de retorno), ento pare. Caso contrrio, v para 3.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programa de Texto Estruturado

6-29

Comentrios

Para interpretar o texto estruturado de forma mais fcil, adicione comentrios a ele. Os comentrios permitem que voc use uma linguagem simples para descrever como seu texto estruturado trabalha. Os comentrios no afetam a execuo do texto estruturado. Para acrescentar comentrios ao texto estruturado:
Para adicionar um comentrio: em uma nica linha ao final de uma linha do texto estruturado Use um desses formatos: //comment

(*comment*)

/*comment*/ em uma linha do texto estruturado (*comment*)

/*comment*/ que ocupe mais de uma linha (*start of comment . . . end of comment*)

/*start of comment . . . end of comment*/

Por exemplo:
Formato: //comment Exemplo: No comeo de uma linha //Check conveyor belt direction IF conveyor_direction THEN... No final de uma linha ELSE //If conveyor isnt moving, set alarm light light := 1; END_IF; Sugar.Inlet[:=]1;(*open the inlet*) IF Sugar.Low (*low level LS*)& Sugar.High (*nvel elevado LS*) THEN... (*Controla a velocidade de recirculao da bomba. A velocidade depende da temperatura no tanque.*) IF tank.temp > 200 THEN /*comment*/ Sugar.Inlet:=0;*close the inlet*/ IF bar_code=65/*A*/ THEN... /*Obtm o nmero de elementos na matriz Inventory e armazena o valor do tag Inventory_Items tag*/ SIZE(Inventory,0,Inventory_Items);

(*comment*)

Publicao 1756-PM001E-PT-P - Agosto 2002

6-30

Programa de Texto Estruturado

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Programao de um Diagrama do Bloco de Funes

Quando Usar Este Procedimento

Use esse procedimento para: organizar uma rotina do bloco de funes desenvolver um ou mais diagramas do bloco de funes para a rotina inserir os diagramas do bloco de funes na rotina

Antes de Usar Este Procedimento

Antes de usar esse procedimento, certifique-se de que capaz de realizar as tarefas a seguir: Abertura ou Fechamento de uma Pasta Criao de uma Rotina Para obter mais informaes sobre qualquer uma dessas tarefas, consulte Organizao de Tarefas, Programas e Rotinas na pgina 2-1.

Como Usar Este Procedimento

Para programar uma rotina de bloco de funes, realize as seguintes etapas: Identificao das Planilhas para a Rotina Seleo dos Elementos do Bloco de Funes Seleo de um Nome de Tag para um Elemento Definio da Seqncia de Execuo Identificao de Todos os Conectores Definio do Controle de Programao/Operao Adio de uma Planilha Adio de um Elemento do Bloco de Funes Conexo de Elementos Atribuio de um Tag Atribuio de um Valor Imediato (Constante) Conexo de Blocos com um OCON e ICON Verificao da Rotina

Publicao 1756-PM001E-PT-P - Agosto 2002

7-2

Programao de um Diagrama do Bloco de Funes

Identificao das Planilhas para a Rotina

Para navegar de forma mais fcil atravs de uma rotina de bloco de funes, divida a rotina em uma srie de planilhas: As planilhas ajudam a organizar e encontrar os blocos de funes. Elas no interferem na ordem em que os blocos de funes executam. Quando a rotina executa, todas as planilhas executam. Em geral, use uma planilha para cada dispositivo (motor, vlvula, etc.) O exemplo a seguir mostra uma rotina de bloco de funes que controla 4 motores.

EXEMPLO

Identificao das Planilhas para a Rotina


Rotina de Controle do Motor Planilha 1 de 4 motor 1 Planilha 2 de 4 motor 2

Planilha 3 de 4

motor 3

Planilha 4 de 4

motor 4

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-3

Seleo dos Elementos do Bloco de Funes

Para controlar um dispositivo, use os seguintes elementos:

referncia de entrada (IREF) bloco de funes

referncia de sada (OREF)

conector do fio de sada (OCON)

conector do fio de entrada (ICON)

Use a tabela a seguir para escolher os elementos do bloco de funes:


Se voc quiser: fornecer um valor de um tag ou dispositivo de entrada enviar um valor a um dispositivo de sada ou tag realizar uma operao em um valor ou valores de entrada e produzir um valor ou valor de sada transferir os dados entre os blocos de funes quando esses esto: distantes da mesma planilha em diferentes planilhas na mesma rotina dispersar os dados para diversos pontos na rotina Use: referncia de entrada (IREF) referncia de sada (OREF) bloco de funes conector do fio de sada (OCON) e o conector do fio de entrada (ICON)

nico conector do fio de sada (OCON) e mltiplos conectores do fio de entrada (ICON)

Seleo de um Nome de Tag para um Elemento

Cada bloco de funes usa um tag para armazenar a configurao e informaes de status sobre a instruo. Ao adicionar uma instruo do bloco de funes, o software RSLogix 5000 cria um tag para o bloco automaticamente. possvel usar esse tag como est, renome-lo ou atribuir um tag diferente. Para as IREF e OREF, necessrio criar um tag ou atribuir um tag existente.

Publicao 1756-PM001E-PT-P - Agosto 2002

7-4

Programao de um Diagrama do Bloco de Funes

A tabela a seguir esboa o formato para um nome do tag:


Para um: tag nmero de bit de um tipo de dados maiores membro de uma estrutura elemento de uma matriz de duas dimenses elemento de uma matriz de uma dimenso elemento de uma matriz de duas dimenses elemento de uma matriz em uma estrutura membro de um elemento de uma matriz tag_name tag_name.bit_number tag_name.member_name tag_name[x] tag_name[x,y] tag_name[x,y,z] tag_name.member_name[x] tag_name[x,y,z].member_name Especifique:

onde: x o local do elemento na primeira dimenso. y o local do elemento na segunda dimenso. z o local do elemento na terceira dimenso. Para uma estrutura dentro de uma estrutura, adicione um .member_name extra.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-5

Definio da Seqncia de Execuo

Voc define a seqncia de execuo (fluxo de dados) ao conectar os elementos juntos e indicar quaisquer fios de entrada (realimentao), se necessrio. O local de um bloco no tem efeito na ordem em que os blocos executam.

fluxo de dados dos pinos de sada para os pinos de entrada

pino de sada

fio

pino de entrada pino de sada fio

pino de entrada

Smbolos do fio: valor SINT, INT, DINT ou REAL valor BOOL (0 ou 1)

Reteno de Dados
Se usar uma IREF para especificar os dados de entrada para uma instruo do bloco de funes, os dados na IREF so retidos para a varredura da rotina do bloco de funes. A IREF retm os dados dos tags de escopo do controlador e do escopo do programa. O controlador atualiza todos os dados de IREF no comeo de cada varredura.

IREF

Nesse exemplo, o valor do tagA armazenado no comeo de execuo da rotina. O valor armazenado usado quando Block_01 executa. O mesmo valor armazenado tambm usado quando Blcock_02 executa. Se o valor de tagA

Publicao 1756-PM001E-PT-P - Agosto 2002

7-6

Programao de um Diagrama do Bloco de Funes

alterar durante a execuo da rotina, o valor armazenado de tagA na IREF no altera at a prxima execuo da rotina.
Block_01

tagA

Block_02

Esse exemplo o mesmo que o mostrado anteriormente. O valor do tagA armazenado somente uma vez no comeo de execuo da rotina. A rotina usa esse valor armazenado por toda a rotina.
Block_01 tagA

Block_02 tagA

Primeiramente, com o software RSLogix 5000, verso 11, possvel usar o mesmo tag em IREFs mltiplas e OREF na mesma rotina. Como os valores de tags nas IREFs so retidos a cada varredura pela rotina, todas as IREFs usaro o mesmo valor, mesmo se uma OREF obtiver um valor de tag diferente durante a execuo da rotina. Nesse exemplo, se tagA possui um valor de 25,4 quando a rotina comea a execuo dessa varredura e Block_01 altera o valor de tagA para 50,9, a segunda IREF conectada em Block_02 usar um valor de 25,4 quando Block_02 executar essa varredura. O novo valor de tagA (50,9) no ser usado por nenhuma das IREFs nessa rotina at que a prxima varredura se inicie.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-7

Seqncia de Execuo
O software de programao RSLogix 5000 determina automaticamente a seqncia de execuo para os blocos de funo em uma rotina quando voc: verificar uma rotina do bloco de funes verificar um projeto que contenha uma rotina do bloco de funes fizer o download de um projeto que contenha uma rotina do bloco de funes Voc define a seqncia de execuo ao conectar os blocos de funes juntos e indicar o fluxo de dados de quaisquer fios de realimentao, se necessrio. Se os blocos de funes no forem conectados juntos, no importa que o bloco execute primeiro. No h fluxo de dados entre os blocos.

Se voc conectar os blocos em seqncia, a ordem de execuo move-se da entrada para a sada. As entradas de um bloco requerem que os dados estejam disponveis antes do controlador executar o bloco. Por exemplo, o bloco 2 precisa executar antes do bloco 3 porque as sadas do bloco 2 alimentam as entradas do bloco 3.
1 2 3

A seqncia de execuo somente relativa aos blocos que so conectados juntos. O exemplo a seguir ideal porque os dois grupos de blocos no esto conectados juntos. Os blocos em um grupo especfico executam uma ordem adequada em relao aos blocos no grupo.
1 3 5

Publicao 1756-PM001E-PT-P - Agosto 2002

7-8

Programao de um Diagrama do Bloco de Funes

Determinao de uma Malha


Para criar uma malha de realimentao ao redor do bloco, conecte um pino de sada do bloco a um pino de entrada do mesmo bloco. O exemplo seguinte est OK. A malha contm apenas um bloco, logo, no importa a ordem de execuo.

Esse pino de entrada usa uma sada que o bloco produziu na varredura anterior.

Se um grupo de blocos estiver em uma malha, o controlador no pode determinar qual bloco executar primeiro. Em outras palavras, ele no pode determinar a malha.
? ? ?

Para identificar que bloco executar primeiro, marque o fio de entrada que cria a malha (o fio de realimentao) com o indicador Considerar Dados Disponveis (Assume Data Available). No exemplo seguinte, o bloco 1 usa a sada do bloco 3 que foi produzida na execuo anterior da rotina.
1 2 3

Esse pino de entrada usa a sada que o bloco 3 produziu na varredura anterior. Indicador Considerar Dados Disponveis

O indicador Considerar Dados Disponveis define o fluxo de dados na malha. A seta indica que os dados servem como entrada para o primeiro bloco na malha.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-9

No marque todos os fios de uma malha com o indicador Considerar Dados Disponveis.
Esse est OK 1 2 ? Esse No Est OK ?

Indicador Considerar Dados Disponveis O indicador Considerar Dados Disponveis define o fluxo de dados na malha.

O controlador no pode resolver a malha porque todos os fios usam o indicador Considerar Dados Disponveis.

Determinao do Fluxo de Dados Entre Dois Blocos


Se usar dois ou mais fios para conectar dois blocos, use os mesmos indicadores de fluxo de dados para todos os fios entre os dois blocos.
Esse est OK Esse No est OK

Nenhum fio usa o indicador Considerar Dados Disponveis.

Um fio usa o indicador Considerar Dados Disponveis enquanto o outro no usa.

Indicador Considerar Dados Disponveis Os fios usam o indicador Considerar Dados Disponveis.

Publicao 1756-PM001E-PT-P - Agosto 2002

7-10

Programao de um Diagrama do Bloco de Funes

Criao de um Atraso de Varredura


Para produzir um atraso de varredura entre os blocos, use o indicador Considerar Dados Disponveis. No exemplo a seguir, o bloco 1 executa primeiro. Ele usa a sada do bloco 2 que foi produzida na varredura anterior da rotina.
2 1

Indicador Considerar Dados Disponveis

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-11

Resumo
Em resumo, uma rotina do bloco de funes executa nessa ordem: 1. O controlador retm todos os valores de dados em IREFs. 2. O controlador executa os outros blocos de funes na seqncia determinada pela ordem em que esto conectados. 3. O controlador escreve as sadas em OREFs.

Identificao de Todos os Conectores

Como os fios, os conectores transferem os dados dos pinos de sada para os pinos de entrada. Use os conectores quando: os elementos que voc quer conectar esto em diferentes planilhas na mesma rotina difcil rotear um fio ao redor de outros fios ou elementos voc quer dispersar os dados para diversos pontos na rotina

Connector_A dados

Connector_A

Para usar os conectores, siga essas regras: Cada OCON requer um nico nome. Para cada OCON, deve-se possuir pelo menos um ICON correspondente (isto , um ICON com o mesmo nome que o OCON). Mltiplos ICONs podem referir-se ao mesmo OCON. Isso permite que voc disperse os dados para diversos pontos na rotina.

Publicao 1756-PM001E-PT-P - Agosto 2002

7-12

Programao de um Diagrama do Bloco de Funes

Definio do Controle de Programao/Operao

Diversas instrues suportam o conceito de controle de Programao/Operao. Essas instrues incluem: Seleo Aperfeioada (ESEL) Totalizador (TOT) PID Aperfeioada (PIDE) Ramp/Soak (RMPS) Dispositivo Discreto em 2 estados (D2SD) Dispositivo Discreto em 3 estados (D3SD)

O controle Program/Operator permite controlar essas instrues simultaneamente do programa do usurio e de um dispositivo de interface de operao. Quando no controle Program, a instruo controlada pelas entradas do Program para a instruo; quando no controle Operator, a instruo controlada pelas entradas do Operator para a instruo. O controle Program ou Operator determinado pelo uso dessas entradas:
Entrada: .ProgProgReq .ProgOperReq .OperProgReq .OperOperReq Descrio: Um programa que pede para ir para controle Program. Um programa que pede para ir para controle de Operator. Uma operao que pede para ir para controle de Program. Uma operao que pede para ir para controle de Operator.

Para determinar se uma instruo est em controle Program ou Control, examine a sada ProgOper. Se ProgOper estiver energizado, a instruo est em controle Program; se ProgOper estiver desenergizado, a instruo est em controle Operator. O controle Operator mais indicado que o controle Program se os bits de pedido de entrada estiverem energizados. Por exemplo, se ProgProgReq e ProgOperReq estiverem energizados, a instruo vai para o controle Operator. As entradas do pedido Program so preferveis s entradas do pedido Operator. Isso fornece a capacidade de usar as entradas ProgProgReq e ProgOperReq para travar uma instruo em um controle desejado. Por exemplo, vamos supor que uma instruo Totalizer sempre ser usada em controle Operator e o programa do usurio nunca controlar a operao ou interrupo do Totalizer. Nesse caso, seria possvel conectar um valor literal de 1 em ProgOperReq. Isso evitaria o operador de colocar o Totalizer no controle

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-13

Program ao definir o OperProgReq de um dispositivo de interface de operao.

Como a entrada ProgOperReq sempre energizada, no h efeito se pressionar o boto Program na placa frontal (que define a entrada

Conectar um 1 em ProgOperReq significa que o programa do usurio sempre

Igualmente, a definio constante do ProgProgReq pode travar a instruo no controle Program. Isso muito usado para as seqncias de start-up automtico quando se quer o programa para controlar a ao da instruo sem se preocupar que um operador assuma de forma inadvertida o controle da instruo. Nesse exemplo, voc possui a definio do programa da entrada ProgProgReq durante o start-up e desenergiza a entrada ProgProgReq uma vez que o start-up foi concludo. Uma vez que a entrada ProgProgReq desenergizada, a instruo permanece em controle Program at que ela receba um pedido para ser alterada. Por exemplo, o operador poderia definir a entrada OperOperReq de uma placa frontal para assumir o controle da instruo. O exemplo a seguir mostra como travar uma instruo no controle Program.

Quando StartupSequenceActive energizado, a instruo PIDE colocada em

Publicao 1756-PM001E-PT-P - Agosto 2002

7-14

Programao de um Diagrama do Bloco de Funes

As entradas de pedido de operao para uma instruo sempre so desenergizadas pela instruo quando ela executada. Isso permite que as interfaces de operao funcionem com essas instrues ao definir o bit de pedido do modo desejado. No precisa programar a interface de operao para zerar os bits de pedido. Por exemplo, se uma interface de operao energiza a entrada OperAutoReq para uma instruo PIDE, quando a instruo PIDE executada, ela determina que resposta adequada deveria ser e desenergiza OperAutoReq.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-15

As entradas do pedido de Program, normalmente, no so desenergizadas pela instruo porque so conectadas como entradas na instruo. Se a instruo desenergizar essas entradas, a entrada consegue apenas energizar novamente pela entrada conectada. Deve haver situaes em que se quer usar outra lgica para definir os pedidos de Program de forma que voc queira que os pedidos de Program sejam desenergizados pela instruo. Nesse caso, possvel energizar a entrada ProgValueReset e a instruo sempre desenergizar as entradas do pedido do modo Program quando ela for executada. Nesse exemplo, uma linha de lgica ladder em uma outra rotina usada para uma trava monoestvel de um ProgAutoReq para uma instruo PIDE quando um boto empurrado. Como a instruo PIDE automaticamente desenergiza os pedidos do modo Program, voc no precisa escrever nenhuma lgica ladder para desenergizar o ProgAutoReq aps a rotina ser executada e a instruo PIDE receber somente um pedido para ir para Auto toda vez que o boto for pressionado.
Quando o Boto TIC101AutoReq pressionado, trave um monoestvel ProgAutoReq para a instruo PIDE TIC101. TIC101 foi configurado com a entrada ProgValueReset energizada, para quando a instruo PIDE for executada, automaticamente desenergizar ProgAutoReq.

Publicao 1756-PM001E-PT-P - Agosto 2002

7-16

Programao de um Diagrama do Bloco de Funes

Adio de uma Planilha

Para adicionar uma planilha a uma rotina do bloco de funes:


1. 2.

1. Clique em 2. Insira uma descrio da planilha (at 50 caracteres).

Adio de um Elemento do Bloco de Funes

Use a barra de ferramentas Language Element para adicionar um elemento do bloco de funes a sua rotina.

IREF

OREF

ICON OCON

blocos de funes

outros blocos de funes

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-17

Para adicionar um elemento: 1. Na barra de ferramentas Language Element, clique no boto para o elemento que voc quer adicionar. 2. Arraste o elemento at o local desejado. Por exemplo:

possvel tambm arrastar o boto para o elemento at o local desejado diretamente. Por exemplo

Publicao 1756-PM001E-PT-P - Agosto 2002

7-18

Programao de um Diagrama do Bloco de Funes

Conexo de Elementos

Para definir o fluxo de dados: Mostrar ou Esconder um Pino Conexo de Elementos Juntos Marcao de uma Conexo com o Indicador Considerar Dados Disponveis

Mostrar ou Esconder um Pino


Ao adicionar uma instruo do bloco de funes, um conjunto padro de pinos para os parmetros so mostrados. O restante dos pinos escondido. Para mostrar ou esconder um pino: 1. Clique no boto do bloco.

2.

2. Remova ou selecione a caixa de seleoVis do pino:


Se voc quiser: esconder um pino mostrar um pino Ento: Desenergize (desmarque) sua caixa de seleo Vis. Marque sua caixa de seleo Vis.

3. Selecione

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-19

Conexo de Elementos Juntos


Para conectar dois elementos juntos, clique no pino de sada do primeiro elemento e clique no pino de entrada do outro elemento. Um ponto verde mostra um ponto de conexo vlida. Por exemplo:
A B

ponto verde

Marcao de uma Conexo com o Indicador Considerar Dados Disponveis


Para definir uma conexo como uma entrada, clique com o boto direito na conexo e selecione Assume Data Available.
1 2 3

conexo de entrada

Publicao 1756-PM001E-PT-P - Agosto 2002

7-20

Programao de um Diagrama do Bloco de Funes

Atribuio de um Tag

Para atribuir um tag a um elemento do bloco de funes, voc tem essas opes: Criao e Atribuio de um Tag Novo Renomeao do Tag de um Bloco de Funes Atribuio de um Tag Existente

Criao e Atribuio de um Tag Novo


1. Clique duas vezes na rea do operando. 2. Digite um nome para o tag e pressione a tecla Enter. 3. Clique com o boto direito do mouse no nome do tag e selecione New "tag_name".
4.

4. Pressione o boto

5.

6.

5. Selecione o tipo de dados para o tag. 6. Se quiser definir o tag como uma matriz, digite o nmero de elementos em cada dimenso. 7. Selecione

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-21

8.

8. Selecione o escopo para o tag. 9. Selecione

Renomeao do Tag de um Bloco de Funes


1. Clique no boto do bloco.

2. Clique na guia Tag.

3.

3. Digite o novo nome do tag para o bloco. 4. Selecione

Atribuio de um Tag Existente


Block_01

1. Clique duas vezes na rea do operando. 2. Clique em 3. Selecione o tag:


Para selecionar um: tag nmero de bit Faa isto: Clique duas vezes no nome do tag. A. D um clique no nome do tag. B. direita do nome do tag, clique em C. Clique no objeto desejado.

4. Pressione [Enter] ou clique em um lugar diferente no diagrama.

Publicao 1756-PM001E-PT-P - Agosto 2002

7-22

Programao de um Diagrama do Bloco de Funes

Atribuio de um Valor Imediato (Constante)

Para atribuir um valor constante ao contrrio de um valor do tag para um parmetro de entrada, voc tem essas opes:
Se voc quiser: tornar o valor visvel no diagrama e relatrios Ento: Uso de uma IREF

ser capaz de alterar o valor on-line sem editar a rotina Insero de um Valor no Tag de um Bloco

Uso de uma IREF


1. Adicione uma IREF. 2. Conecte a IREF ao pino de entrada que possui o valor.

3.

3. Clique duas vezes na rea do operando da IREF. 4. Insira o valor e pressione a tecla Enter.

Insero de um Valor no Tag de um Bloco


Para atribuir um valor a um parmetro quando conectar o fio no seu pino: 1. Clique no boto do bloco.

2.

2. Insira o valor. 3. Selecione

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao de um Diagrama do Bloco de Funes

7-23

Conexo de Blocos com um OCON e ICON

Para transferir os dados entre as planilhas ou situaes complexas de conexo: Adio de um OCON Adio de um ICON

ICON OCON

Adio de um OCON
1. Adicione um conector de fio de entrada (OCON) e o coloque perto do pino de sada que fornece o valor. 2. Conecte OCON ao pino de entrada. 3. Clique duas vezes na rea do operando de OCON. 4. Digite um nome que identifique o conector e pressione [Enter].

Adio de um ICON
1. Adicione um conector do fio de entrada (ICON) e o coloque perto do pino de entrada que possui o valor do OCON correspondente. 2. Conecte ICON ao pino de entrada. 3. Clique duas vezes na rea do operando do ICON. 4. Selecione o nome do OCON que fornece o valor a esse conector e clique em um lugar em branco no diagrama

Publicao 1756-PM001E-PT-P - Agosto 2002

7-24

Programao de um Diagrama do Bloco de Funes

Verificao da Rotina

Assim que programar sua rotina, verifique periodicamente seu trabalho: 1. Na barra de ferramentas na parte superior da janela do RSLogix 5000, clique em 2. Se algum erro for listado na parte inferior da janela: a. V at o primeiro erro ou aviso e pressione [F4]. b. Corrija o erro de acordo com a descrio na janela Results. c. V para a etapa 1. 3. Para fechar a janela Results, pressione [Alt] + [1].

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Programao da Lgica Ladder

Quando Usar Este Procedimento

Use esse procedimento para: desenvolver a lgica para a rotina de lgica ladder inserir a lgica na rotina

Antes de Usar Este Procedimento

Antes de usar esse procedimento, certifique-se de que capaz de realizar as tarefas a seguir: Abertura ou Fechamento de uma Pasta Criao de uma Rotina Para obter mais informaes sobre qualquer uma dessas tarefas, consulte Organizao de Tarefas, Programas e Rotinas na pgina 2-1.

Como Usar Este Procedimento

Para programar uma rotina de lgica ladder, faa as seguintes tarefas: Revise Definies Escrita da Lgica Ladder Insero da Lgica Ladder Atribuio de Operandos Verificao da Rotina

Publicao 1756-PM001E-PT-P - Agosto 2002

8-2

Programao da Lgica Ladder

Definies

Antes de escrever ou inserir a lgica ladder, revise os termos a seguir: Instruo Ramificao Condio de Linha

Instruo
Voc organiza a lgica ladder como linhas em ladder e coloca as instrues em cada linha. H dois tipos bsicos de instrues: Instruo de entrada: uma instruo que verifica, compara ou examina as condies especficas na mquina ou processo. Instruo de sada: uma instruo que realiza alguma ao, como ligar um dispositivo, desligar um dispositivo, copiar dados ou calcular um valor.

instrues de entrada

instrues de sada

Ramificao
Uma ramificao so duas ou mais instrues em paralelo.

ramificao

ramificao

No h limite para o nmero de nveis de ramificao paralelos que voc pode inserir. A figura a seguir mostra uma ramificao paralela com cinco nveis. A

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao da Lgica Ladder

8-3

linha principal o primeiro nvel da ramificao, seguido de quatro ramificaes adicionais.


instruo de sada

instruo de entrada

Voc pode encadear as ramificaes em at 6 nveis. A figura a seguir mostra uma ramificao encadeada. A instruo final de sada est em uma ramificao encadeada que tem trs nveis de profundidade.
instruo de entrada instruo de sada

Condio de Linha
O controlador avalia as instrues de lgica ladder, com base na condio da linha que antecede a instruo (entrada da condio da linha).
instruo de entrada instruo de sada

entrada da condio da faixa

sada da condio de linha

Publicao 1756-PM001E-PT-P - Agosto 2002

8-4

Programao da Lgica Ladder

Apenas as instrues de entrada afetam a entrada da condio de linha das instrues subseqentes na linha: Se a entrada da condio de linha de uma instruo de entrada for verdadeira, o controlador avalia a instruo e energiza a sada da condio de linha para corresponder aos resultados da avaliao. Se a instruo for avaliada como verdadeira, a sada da condio de linha verdadeira. Se a instruo for avaliada como falsa, a sada da condio de linha falsa. Uma instruo de sada no muda a sada da condio de linha Se a entrada da condio de linha para uma instruo de sada for verdadeira, a sada da condio de linha energizada para verdadeira. Se a entrada da condio de linha para uma instruo de sada for falsa, a sada da condio de linha energizada para falsa.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao da Lgica Ladder

8-5

Escrita da Lgica Ladder

Para desenvolver a lgica ladder, realize as aes a seguir: Seleo das Instrues Exigidas Organizao das Instrues de Entrada Organizao das Instrues de Sada Seleo de um Nome de Tag para um Operando

Seleo das Instrues Exigidas


1. Separe as condies para verificar a ao a tomar. 2. Escolha a instruo de entrada adequada para cada condio e instruo de sada adequada para cada ao. Para escolher instrues especficas, consulte os manuais a seguir: Logix5000 Controllers General Instructions Reference Manual, publicao 1756-RM003 Logix5000 Controllers Process and Drives Instructions Reference Manual, publicao 1756-RM006 Logix5000 Controllers Motion Instruction Set Reference Manual, publicao 1756-RM007 Neste captulo, os exemplos usam duas simples instrues que ajudam voc a escrever a lgica ladder. As regras que voc aprende para essas instrues aplicam-se a todas as outras instrues.
Smbolo: Nome: Examine Se Energizado XIC Mnemnica: Se o bit for: on (1) off (0) Sada Energizada OTE Se as instrues esquerda (condio de entrada de linha) forem: verdadeira falsa Descrio: Uma instruo de entrada que observa um bit de dados. Ento a instruo (condio de sada da linha) : verdadeira falsa Ento as instrues transformam o bit: on (1) off (0)

Uma instruo de sada que controla um bit de dados.

Publicao 1756-PM001E-PT-P - Agosto 2002

8-6

Programao da Lgica Ladder

Organizao das Instrues de Entrada


Organize as instrues de entrada em uma linha usando o grfico a seguir:
Para verificar mltiplas condies de entrada quando: todas as condies devem ser atendidas para realizar a ao Por exemplo, se condition_1 E condition_2 E condition_3 Organize as instrues de entrada: Em srie:
condition_1 condition_2 condition_3

qualquer uma das diversas condies devem ser atendidas para realizar a ao Por exemplo, se condition_1 OU condition_2 OU condition_3

Em paralelo:
condition_1

condition_2

condition_3

h uma combinao de todas acima Por exemplo, Se condition_1 E condition_2 ou Se condition_3 E condition_2

Em combinao:
condition_1 condition_2

condition_3

DICA

O controlador executa todas as instrues em uma linha sem considerar a entrada da condio de linha. Para otimizar o desempenho de uma srie de instrues, seqencie as instrues a partir daquela que tenha maior probabilidade de ser falsa esquerda para a que tenha maior probabilidade de ser verdadeira.
maior probabilidade de que menor probabilidade de a instruo seja FALSA que a instruo seja FALSA

Quando o controlador encontra uma instruo falsa, ele executa as instrues restantes nas sries com a entrada da condio de linha definida como falsa. Geralmente, uma instruo executa de forma mais rpida quando sua entrada de condio de linha for falsa em vez de verdadeira.

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao da Lgica Ladder

8-7

Organizao das Instrues de Sada


Coloque pelo menos uma instruo de sada direita das instrues de entrada. possvel inserir mltiplas instrues de sada por linha de lgica, de acordo com:
Opo: Coloque as instrues de sada em seqncia na linha (serial). Coloque as instrues de sada em ramificaes (paralelo). Exemplo:

Coloque as instrues de sada entre as instrues de entrada, desde que a ltima instruo da linha seja uma instruo de sada

Seleo de um Nome de Tag para um Operando


A maioria das instrues requer um ou mais dos seguintes tipos de operandos: nome do tag (varivel) valor imediato (constante) nome de uma rotina, label, etc. A tabela a seguir esboa o formato para um nome do tag:
Para um: tag nmero de bit de um tipo maior de dados membro de uma estrutura elemento de uma matriz de uma dimenso elemento de uma matriz de duas dimenses elemento de uma matriz de trs dimenses elemento de uma matriz em uma estrutura membro de um elemento de uma matriz tag_name tag_name.bit_number nome_do_tag.member_name tag_name[x] tag_name[x,y] tag_name[x,y,z] tag_name.member_name[x] tag_name[x,y,z].member_name Especifique:

onde: x o local do elemento na primeira dimenso. y o local do elemento na segunda dimenso. z o local do elemento na terceira dimenso. Para uma estrutura dentro de uma estrutura, adicione um .member_name adicional.
Publicao 1756-PM001E-PT-P - Agosto 2002

8-8

Programao da Lgica Ladder

EXEMPLO

Seleo de um Nome de Tag para um Operando

Para acessar: o tag machine_on bit nmero 1 do tag one_shots DN membro (bit) do temporizador running_seconds mix membro do tag north_tank elemento 2 na matriz recipe e elemento 1,1 na matriz tanks

O nome do tag tem esta aparncia:


machine_on

one_shots.1

running_seconds.DN

north_tank.mix

COP Copy File Source recipe[2] Dest tanks[1,1] Length 1 CLR Clear Dest north_tank.preset[2] 0

elemento 2 na matriz preset dentro do tag north_tank

part_advance membro do elemento 1 na matriz drill

drill[1].part_advance

42357

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao da Lgica Ladder

8-9

Insero da Lgica Ladder

Uma nova rotina contm uma linha pronta para as instrues.


cursor (azul) Ao adicionar uma instruo ou ramificao, ela aparece direita do cursor.

Ao adicionar uma linha, ela aparece abaixo do cursor.

Use a barra de ferramentas Language Element para adicionar um elemento de lgica ladder a sua rotina.

nvel de ramificao ramificao linha XIC XIO OTE OTU OTL

outras instrues

Para adicionar um elemento: Acrscimo de um Elemento ao Local do Curso Arrastar e Soltar um Elemento

Acrscimo de um Elemento ao Local do Curso


1. Clique (selecione) na instruo, ramificao ou linha que est acima ou esquerda de onde voc quer adicionar um elemento. 2. Na barra de ferramentas Language Element, clique no boto para o elemento que voc quer adicionar.

Publicao 1756-PM001E-PT-P - Agosto 2002

8-10

Programao da Lgica Ladder

Arrastar e Soltar um Elemento


Arraste o boto para o elemento diretamente ao local desejado. Um ponto verde mostra um local de colocao vlida (solte no ponto). Por exemplo

Atribuio de Operandos

Para atribuir um operando voc tem essas opes: Criao e Atribuio de um Tag Novo Seleo de um Nome ou de um Tag Existente Arrastar um Tag da Janela de Tags Atribuio de um Valor Imediato (Constante)

Criao e Atribuio de um Tag Novo


1. Clique na rea do operando da instruo. 2. Digite um nome para o tag e pressione [Enter]. 3. Clique com o boto direito no nome do tag e escolha New "tag_name".
4.

4. Pressione o boto

Publicao 1756-PM001E-PT-P - Agosto 2002

Programao da Lgica Ladder

8-11

5.

6.

5. Selecione o tipo de dados para o tag. 6. Se quiser definir o tag como uma matriz, digite o nmero de elementos em cada dimenso. 7. Selecione

8.

8. Selecione o escopo para o tag. 9. Selecione

Seleo de um Nome ou de um Tag Existente


1. Clique duas vezes na rea do operando. Uma caixa de entrada de texto abre. 2. Clique em 3. Selecione o nome:
Para selecionar um: label, nome da rotina ou tipo de nome semelhante tag nmero de bit Clique no nome. Clique duas vezes no nome do tag. A. Clique no nome do tag. B. direita do nome do tag, clique em C. Clique no bit solicitado. Faa isto:

Publicao 1756-PM001E-PT-P - Agosto 2002

8-12

Programao da Lgica Ladder

4. Pressione [Enter] ou clique em um lugar diferente no diagrama.

Arrastar um Tag da Janela de Tags


1. Encontre um tag na janela de Tags. 2. Clique no tag duas ou trs vezes at que ele se destaque. 3. Arraste o tag para o seu local na instruo.

Atribuio de um Valor Imediato (Constante)


1. Clique na rea do operando da instruo. 2. Digite o valor e pressione [Enter].

Verificao da Rotina

Assim que programar a(s) rotina(s), verifique seu trabalho periodicamente: 1. Na barra de ferramentas mais alta da janela do RSLogix 5000, clique em 2. Se algum erro for listado na parte inferior da janela: a. V para o primeiro erro ou aviso, pressione [F4]. b. Corrija o erro de acordo com a descrio na janela de Results. c. V para a etapa 1. 3. Para fechar a janela Results, pressione [Alt] + [1].

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

Acesso aos Valores do Sistema

Quando Usar Este Procedimento Como Usar Este Procedimentoo


Se voc quiser:

Utilize esse procedimento para obter ou usar as informaes de status sobre o controlador Logix5000.

Consulte: Monitorao de Flags de Status na pgina 9-1 Obteno e Energizao de Dados do Sistema na pgina 9-3 Determinao das Informaes sobre a Memria do Controlador na pgina 9-6

usar palavras-chave especficas na lgica para monitorar eventos especficos obter ou energizar os valores do sistema obter informaes sobre a memria do controlador

Monitorao de Flags de Status

O controlador suporta as palavras-chave de status que podem ser usadas na lgica para monitorar eventos especficos: As palavras-chave de status no so sensveis ao contexto. Como os flags de status podem mudar rapidamente, o software RSLogix 5000 no exibe o status dos flags. (Isto , mesmo quando um flag de status energizado, uma instruo referente a esse flag no destacada.) No possvel definir alias do tag para uma palavra-chave. Voc pode usar essas palavras-chave:
Para determinar se: Use:

o valor que est armazenando no pode ajustar-se em destino porque : S: V maior que o valor mximo para o destino menor que o valor mnimo para o destino Importante: cada vez que S:V passar de desenergizado para energizado, ele cria uma falha de advertncia (tipo 4, cdigo 4) o valor de destino da instruo 0 o valor de destino da instruo negativo S:Z S:N

Publicao 1756-PM001E-PT-P - Agosto 2002

9-2

Acesso aos Valores do Sistema

Para determinar se: uma operao aritmtica causa um transporte ou emprstimo que tenta usar os bits que esto fora do tipo de dados Por exemplo: adicionando 3 + 9 causa um transporte de 1 subtraindo 25 - 18 causa um emprstimo de 10 essa a primeira varredura normal de rotinas no programa atual

Use: S:C

S:FS

S:MINOR pelo menos uma falha de advertncia foi gerada: O controlador energiza esse bit quando uma falha de advertncia ocorre devido execuo do programa. O controlador no energiza esse bit para falhas de advertncia no relacionadas execuo do programa, como bateria fraca.

Publicao 1756-PM001E-PT-P - Agosto 2002

Acesso aos Valores do Sistema

9-3

Obteno e Energizao de Dados do Sistema

O controlador armazena os dados do sistema em objetos. No h arquivo de status, como no controlador CLP-5. Use as instrues GSV/SSV de leitura e escrita dos dados do sistema do controlador que esto armazenados em objetos: A instruo GSV recupera as informaes especificadas e as coloca no destino. A instruo SSV energiza o atributo especificado com os dados a partir da origem.

ATENO

Use a instruo SSV cuidadosamente. Fazer as mudanas para objetos pode causar uma operao inesperada do controlador ou ferimentos.

Para obter ou energizar um valor do sistema: 1. Abra o projeto do RSLogix 5000. 2. No menu Help, selecione Contents. 3. D um clique na guia Index. 4. Digite gsv/ssv objects e clique em Display.

Publicao 1756-PM001E-PT-P - Agosto 2002

9-4

Acesso aos Valores do Sistema

5. Clique no objeto requisitado.


Para ler ou escrever: os eixos de um servomdulo o tempo de atraso do sistema o hardware fsico de um controlador o tempo coordenado do sistema para os dispositivos em um chassi o driver de comunicao DF1 para a porta serial o histrico de falha para um controlador os atributos de uma instruo de mensagem status, falhas e modo de um mdulo grupo de eixos Clique em: AXIS CONTROLLER CONTROLLERDEVICE CST DF1 FAULTLOG MESSAGE MODULE MOTIONGROUP

as informaes de falha ou o tempo de varredura para PROGRAM um programa o nmero de exemplo de uma rotina a configurao de uma porta serial as propriedades ou tempo decorrido de uma tarefa o tempo do wallclock de um controlador ROTINA SERIALPORT TASK WALLCLOCKTIME

6. Na lista de atributos para o objeto, identifique o atributo que quer acessar. 7. Crie um tag para o valor do atributo:
Se o tipo de dados do atributo for: um elemento (p. ex.: DINT) mais de um elemento (p. ex.: DINT[7]) Ento: Crie um tag para o atributo. A. Crie um tipo de dados definido pelo usurio que corresponda organizao de dados usados pelo atributo. B. Crie um tag para o atributo e use o tipo de dados da Etapa A.

8. Na rotina lgica ladder, insira a instruo apropriada:


Para: ler o valor de um atributo escrever ou ler o valor de um atributo GSV SSV Digite esta instruo:

Publicao 1756-PM001E-PT-P - Agosto 2002

Acesso aos Valores do Sistema

9-5

9. Atribua os operandos necessrios para a instruo:


Para este operando: Class name Instance name Selecione: o nome do objeto o nome do objeto especfico (p. ex.: o nome do mdulo de E/S requisitado, tarefa, mensagem) Nem todos os objetos requerem esta entrada. Para especificar a tarefa atual, programa ou rotina, selecione THIS. o nome do atributo o tag que armazenar o valor transmitido (recuperado) Se o tag for um tipo de dados definido pelo usurio ou uma matriz, selecione o primeiro membro ou elemento. o tag que armazena o valor a ser energizado Se o tag for um tipo de dados definido pelo usurio ou uma matriz, selecione o primeiro membro ou elemento.

Attribute Name Dest (GSV)

Source (SSV)

Os exemplos a seguir possuem a hora os dados atuais. Obteno de um valor do sistema

EXEMPLO

Na primeira varredura, obtenha o atributo DateTime do objeto WALLCLOCKTIME e o armazene no tag wall_clock baseado no tipo de dados definido pelo usurio.

42370

Para obter mais informaes, consulte Logix5000 Controllers General Instruction Set Reference Manual, publicao 1756-RM003.

Publicao 1756-PM001E-PT-P - Agosto 2002

9-6

Acesso aos Valores do Sistema

Determinao das Informaes sobre a Memria do Controlador

A memria do controlador dividida em memria de E/S e memria de expanso. A tabela a seguir mostra como o controlador usa cada tipo de memria:
Este: tags de E/S tags produzidos tags consumidos comunicao via instrues MSG (Mensagem) comunicao via estaes de trabalho comunicao com tags com polling (OPC/DDE) que usam o software RSLinx(1) tags diferentes de tags de E/S, produzidos ou consumidos rotinas lgicas comunicao com tags com polling (OPC/DDE) que usam o software RSLinx(1)
(1)

Usa a memria de: memria de E/S

memria de expanso

Para a comunicao com os tags com polling, o controlador usa a memria de E/S e de expanso.

Use este procedimento para obter as seguintes informaes sobre a memria de um controlador. IMPORTANTE O controlador devolve os valores em nmero de palavras de 32 bits. Para ver o valor em bytes, multiplique-o por 4.

memria de E/S livre memria de expanso livre memria de E/S total memria de expanso total bloco contnuo maior que a memria de E/S bloco contnuo maior que a memria de expanso

Para obter as informaes sobre a memria para o controlador: Obteno das Informaes sobre a Memria do Controlador Seleo das Informaes sobre a Memria Desejada Converso de INTs em DINT

Publicao 1756-PM001E-PT-P - Agosto 2002

Acesso aos Valores do Sistema

9-7

Obteno das Informaes sobre a Memria do Controlador


Para obter as informaes sobre a memria do controlador, execute uma instruo de MSG (Mensagem) configurada como:

Message PropertiesConfiguration Tab


Para este item: Message Type Service Type Service Code Class Instance Attribute Source Element Digite ou selecione: CIP Generic Custom 3 72 1 0 Neste elemento: source_array[0] source_array[1] source_array[2] source_array[3] source_array[4] source_array[5] source_array[6] source_array[7] source_array[8] source_array[9] source_array[10] source_array[11] Source Length Destination 12 INT_array de tipo INT[29] 5 0 1 0 2 0 5 0 6 0 7 0 Que significa: Executar um comando do Protocolo de Informaes e Controle. Criar uma mensagem de CIP Generic no disponvel na lista. Usar o servio GetAttributeList. Isso permite a leitura de informaes especficas sobre o controlador. Obter as Informaes do objeto de memria do usurio. Este objeto contm somente 1 exemplo. Valor nulo Insira: Obter 5 atributos Valor nulo Obter memria livre Valor nulo Obter memria total Valor nulo Obter o maior bloco contnuo de memria de expanso livre adicional Valor nulo Obter o maior bloco contnuo de memria de E/S livre Valor nulo Obter o maior bloco contnuo de memria de expanso livre Valor nulo Que significa:

source_array de tipo SINT[12]

Escrever 12 bytes (12 SINTs).

Message PropertiesCommunication Tab


Para este item: Path 1, slot_number_of_controller Digite:

Publicao 1756-PM001E-PT-P - Agosto 2002

9-8

Acesso aos Valores do Sistema

Seleo das Informaes sobre a Memria Desejada


A instruo MSG devolve as informaes a seguir para INT_array (o tag de destino da MSG): IMPORTANTE Para um controlador 1756-L55M16, a instruo MSG devolve dois valores para cada categoria de memria de expanso. Para determinar a memria de expanso livre ou total de um controlador 1756-L55M16, adicione ambos os valores categoria.

Tabela9.1 Se voc quiser: a quantidade de memria de E/S livre (palavras de 32 bits) Copie esses elementos de matriz: INT_array[3] INT_array[4] a quantidade de memria de expanso livre (palavras de 32 bits) INT_array[5] INT_array[6] controladores 1756-L55M16 somente a quantidade de memria de expanso livre adicional (palavras de 32 bits) INT_array[7] INT_array[8] o tamanho total de memria de E/S livre (palavras de 32 bits) INT_array[11] INT_array[12] o tamanho total de memria de expanso (palavras de 32 bits) INT_array[13] INT_array[14] controladores 1756-L55M16 somente a memria de expanso adicional (palavras de 32 bits) INT_array[15] INT_array[16] controladores 1756-L55M16 somenteo maior bloco contnuo de memria de expanso livre adicional (palavras de 32 bits) o maior bloco contnuo de memria de E/S livre (palavras de 32 bits) INT_array[19] INT_array[20] INT_array[23] INT_array[24] o maior bloco contnuo de memria de expanso livre (palavras de 32 bits) INT_array[27] INT_array[28] Descrio: 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits 16 bits menos significativos do valor de 32 bits 16 bits mais significativos do valor de 32 bits

Publicao 1756-PM001E-PT-P - Agosto 2002

Acesso aos Valores do Sistema

9-9

Converso de INTs em DINT


A instruo MSG devolve cada valor de memria como dois INTs separados. O primeiro INT representa os 16 bits de valor menos significativo. O segundo INT representa os 16 bits de valor mais siginificativo. Para converter os INTs separados em um valor que possa ser usado, use uma instruo de Cpia de Arquivo (COP Cpia), onde:
Neste operando: Source Destination Lenght Especifique: o primeiro INT de dois pares de elementos (16 bits inferiores) o tag DINT no qual armazena o valor de 32 bits 1 Que significa: Comear com os 16 bits inferiores Copiar o valor para o tag DINT. Copiar 1 vez o nmero de bytes no tipo de dados de Destination. Nesse caso, a instruo copia 4 bytes (32 bits interiores), que combina os 16 bits engenheiros e superiores em um valor de 32 bits.

No exemplo a seguir, a instruo COP produz o valor de 32 bits que representa a quantidade de memria de E/S livre, em palavras de 32 bits. EXEMPLO Converso de INTs em DINT O elemento 3 do INT_array so os 16 bits menos significativos da quantidade de memria de E/S livre. O elemento 4 so os 16 bits mais significativos. Memory_IO_Free um tag DINT (32 bits) no qual armazena-se o valor para a quantidade memria de E/S livre. Para copiar todos os 32 bits, especifique um Comprimento de 1. Isto pede para a instruo copiar 1 vez o tamanho do Destination (32 bits). Isto copia o elemento 3 (16 bits) e o elemento 4 (16 bits) e coloca o resultado de 32 bits em Memory_IO_Free.

Publicao 1756-PM001E-PT-P - Agosto 2002

9-10

Acesso aos Valores do Sistema

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

10

Atribuio de Aliases/Smbolos

Tags com Aliases/Smbolos

Um tag com alias/smbolo permite que voc crie um tag que representa outro tag. Ambos os tags tm o(s) mesmo(s) valor(es). Quando o(s) valor(es) de um dos tags muda, o outro tag tambm reflete a mudana. Use aos aliases/smbolos nas seguintes situaes: lgica de programa avanada de diagramas de fiao atribuio de um nome descritivo para um dispositivo de E/S fornecimento de um nome mais simples para um tag complexo uso de um nome descritivo para um elemento de uma matriz

A janela de tags mostra as informaes do alias/smbolo.

drill_1_depth_limit um alias/smbolo para Local:2:I.Data.3 (um ponto de entrada digital). Quando a entrada energizada, o tag com alias/smbolo tambm se energiza.

drill_1_on um alias/smbolo para Local:0:O.Data.2 (um ponto de sada digital). Quando o tag com alias/smbolo energizado, o tag de sada tambm energiza.

north_tank um alias/smbolo para tanks [0,1].


42360

O (C) indica que o tag de uso geral do controlador.

Um uso comum dos tags com alias/smbolo programar a lgica antes que os diagramas de fiao estejam completos: 1. Para cada dispositivo de E/S, crie um tag com um nome que descreva o dispositivo, como esteira para a esteira do motor.

Publicao 1756-PM001E-PT-P - Agosto 2002

10-2

Atribuio de Aliases/Smbolos

2. Programe sua lgica usando nomes de tags descritivos. (Voc pode at testar sua lgica sem conectar-se E/S.) 3. Mais tarde, quando os diagramas de fiao estiverem disponveis, adicione os mdulos de E/S na configurao da E/S do controlador. 4. Finalmente, converta os tags descritivos em aliases/smbolos para seus respectivos pontos ou canais de E/S. A seguinte lgica foi programada inicialmente com o uso de nomes de tags descritivos, como stop (parada) e conveyor_on. Mais tarde, os tags foram convertidos em aliases/smbolos para os dispositivos de E/S correspondentes.

stop um alias/smbolo para Local:2:I.Data.1 (boto de parada no painel de operao)

stop <Local:2:I.Data.1>

start <Local:2:I.Data.0> machine_on

drill_1_on machine_on <Local:0:O.Data.2> drill_1.part_advance conveyor_on <Local:0:O.Data.0>

conveyor_on um alias/smbolo para Local:0:O.Data.0 (contator de acionamento para o motor da esteira transportadora)

42351

Exibio das Informaes de Alias/Smbolo

Para mostrar (em sua lgica) o tag para o qual um alias/smbolo aponta: 1. A partir do menu Tools, selecione Options. 2. Clique na guia Ladder Display (Exibio da Lgica Ladder). 3. Selecione a caixa de verificao Show Tag Alias Information (Exibir as Informaes do Tag com Alias/Smbolo). 4. Clique em OK.

Atribuio de um Alias/Smbolo

Para atribuir um tag com alias/smbolo para outro tag: 1. A partir do menu Logic, selecione Edit.

Publicao 1756-PM001E-PT-P - Agosto 2002

Atribuio de Aliases/Smbolos

10-3

2.

42360

3.

2. Selecione o escopo do tag. 3. direita do nome do tag, clique na clula Alias For. A clula mostra um 4. Clique no 5. Selecione o tag que o alias/smbolo representar:
Para: selecionar um tag selecionar um nmero de bit Faa isto: Clique duas vezes no nome do tag. A. Clique no nome do tag. B. direita do nome do tag, clique C. Clique no bit requisitado.

6. Pressione a tecla Enter ou clique em outra clula.

Publicao 1756-PM001E-PT-P - Agosto 2002

10-4

Atribuio de Aliases/Smbolos

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

11

Atribuio de um Endereo Indireto

Quando Atribuir um Endereo Indireto

Ser voc quiser que uma instruo acesse diferentes elementos em uma tabela, use um tag no subscrito da matriz (um endereo indireto). Ao mudar o valor do tag, voc muda o elemento da matriz qual sua lgica se refere.

Quando o ndice for igual a 1, array [index] aponta aqui. array[0] array[1] array[2] array[3] Quando o ndice for igual a 2, array [index] aponta aqui. 4500 6000 3000 2500

A seguinte tabela descreve alguns usos comuns para um endereo indireto:


Para: selecionar uma receita de uma matriz de receitas carregar a configurao de uma mquina especfica, a partir de uma matriz de configuraes possveis carregar os parmetros ou estados de uma matriz, um elemento de cada vez registrar cdigos de erro realizar diversas aes em um elemento da matriz e, ento indexe para o prximo elemento Use um tag no subscrito e: Insira o nmero da receita no tag. Insira a configurao desejada no tag.

A. Realize a ao requisitada no primeiro elemento. B. Use uma instruo ADD para incrementar o valor do tag e aponte para o prximo elemento na matriz.

Publicao 1756-PM001D-PT-P - Novembro 2001

11-2

Atribuio de um Endereo Indireto

O exemplo seguinte carrega uma srie de valores pr-selecionados em um temporizador, um valor (elemento de matriz) de cada vez. Observe a matriz

EXEMPLO

A matriz timer_presets armazena uma srie de valores pr-selecionados para o temporizador na prxima linha. O tag north_tank.step indica o elemento da matriz a ser usado. Por exemplo, quando north_tank.step for igual a 0, a instruo carrega timer_presets[0] no temporizador (6000 ms).
MOV Move Source timer_presets[north_tank.step] 60000 Dest north_tank.step_time.PRE 60000 north_tank.step_time.DN / TON Timer On Delay Timer north_tank.step_time Preset 60000 Accum 0

EN DN

Quando north_tank.step_time estiver completo, a linha incrementa o north_tank.step para o nmero seguinte e aquele elemento da matriz timer_presets carregado no temporizador.
north_tank.step_time.DN Add Source A ADD 1

Source B north_tank.step 0 Dest north_tank.step 0

Quando o north_tank.step excede o tamanho da matriz, a linha reseta o tag para comear no primeiro elemento da matriz. (A matriz contm elementos de 0 a 3.)
EQU Equal Source A north_tank.step 0 Source B 4 MOV Move Source 0

Dest north_tank.step 0

42358

Publicao 1756-PM001D-PT-P - Novembro 2001

Atribuio de um Endereo Indireto

11-3

Expresses

Voc tambm pode usar uma expresso para especificar o subscrito de uma matriz. Uma expresso usa operadores, como + ou , para calcular um valor. O controlador calcula o resultado da expresso e usa-o como o subscrito da matriz. Voc pode usar estes operadores para especificar o subscrito de uma matriz:
Operador: + * / ABS AND FRD Descrio: adio subtrao/negao multiplicao diviso Valor Absoluto AND de BCD para inteiro Operador: MOD NOT OR SQR TOD TRN XOR Descrio: Mdulo complemento OR raiz quadrada de inteiro para BCD Truncado OU exclusivo

Formate suas expresses como a seguir:


Se o operador requisitar: um valor (tag ou expresso) dois valores (tags, constantes ou expresses) Use este formato: operador (valor) value_a operator value_b Exemplos: ABS(tag_a) tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)

Publicao 1756-PM001D-PT-P - Novembro 2001

11-4

Atribuio de um Endereo Indireto

Notas:

Publicao 1756-PM001D-PT-P - Novembro 2001

Captulo

12

Buffer de E/S

Quando Usar o Buffer de E/S

O buffer de E/S uma tcnica na qual a lgica no faz referncia nem manipula diretamente os tags dos dispositivos de E/S reais. Ao invs disso, a lgica usa uma cpia dos dados de E/S. O buffer de E/S usado nas seguintes situaes: Para previnir que um valor de entrada ou sada mude durante a execuo de um programa. (Atualizaes de E/S assncronas execuo da lgica.) Para copiar um tag de entrada ou sada para um integrante de uma estrutura ou elemento de uma matriz.

Buffer de E/S

Para armazenamento no buffer de E/S, realize estas aes: 1. Na linha, antes da lgica para a(s) funo(es), copie ou mova os dados dos tags de entrada requisitados para seus tags de buffer correspondentes. 2. Na lgica da(s) funo(es), faa referncia aos tags do buffer. 3. Na linha, depois da(s) funo(es), copie os dados dos tags do buffer para os tags de sada correspondentes. O seguinte exemplo copia as entradas e sadas para os tags de uma estrutura para uma furadeira.

Publicao 1756-PM001D-PT-P - Novembro 2001

12-2

Buffer de E/S

EXEMPLO

Buffer de E/S

A rotina principal do programa executa as seguintes subrotinas, nesta seqncia.

JSR Jump to Subroutine Routine name map_inputs

JSR Jump to Subroutine Routine name drill

JSR Jump to Subroutine Routine name map_outputs

A rotina map_inputs copia os valores dos dispositivos de entrada para seus tags correspondentes, que so usados na rotina drill.
_1791_8AC:I.Data[0].0 drill[1].depth_limit

_1791_8AC:I.Data[0].4

drill[1].home_limit

A rotina drill executa a lgica para a furadeira.


drill[1].part_advance / drill[1].forward one_shots.0 ONS drill[1].depth_limit / drill[1].forward

drill[1].depth_limit drill[1].retract

drill[1].home_limit /

drill[1].retract

A rotina map_outputs copia os valores dos dispositivos de sada na rotina drill para seus dispositivos de sada correspondentes.
drill[1].forward _1791_8AC:O.Data[0].0

drill[1].retract

_1791_8AC:O.Data[0].1

42369

Publicao 1756-PM001D-PT-P - Novembro 2001

Buffer de E/S

12-3

O exemplo a seguir usa a instruo CPS para copiar uma matriz de dados que representa os dispositivos de entrada de uma rede DeviceNet. Buffer de E/S

EXEMPLO

Local:0:I.Data armazena os dados de entrada da rede DeviceNet, que 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 alter-los. A aplicao utiliza para sua execuo os dados de entrada em input_buffer.
CPS Synchronous Copy File Source Local:0:I.Data[0] Dest input_buffer[0] Length 20

42578

Publicao 1756-PM001D-PT-P - Novembro 2001

12-4

Buffer de E/S

Notas:

Publicao 1756-PM001D-PT-P - Novembro 2001

Captulo

13

Teste de um Projeto

Teste de um Projeto

Para testar um projeto, realize essas aes: Configurao de um Driver de Comunicao Download de um Projeto para o Controlador Seleo de um Modo para o Controlador Correo de Falhas Graves Salvar Suas Alteraes Online

Alm disso, voc deve realizar essas aes: Use as instrues de controle de programa para isolar a execuo da lgica para rotinas ou linhas especficas. Consulte Logix5000 Controllers General Instructions Reference Manual, publicao 1756-RM003 Force valores de entrada ou sada. Consulte Valores com Force na pgina 14-1.

Configurao de um Driver de Comunicao

O software RSLogix 5000 requer um driver de comunicao para se comunicar com o controlador. Para configurar drivers de comunicao, use o software RSLinx: 1. Inicie o software Start RSLinx. 2. A partir do menu Communications, selecione Configure Drivers. 3. A partir da lista Available Driver Types, selecione um driver:

Para esta rede: Serial DH+ ControlNet Ethernet DeviceNet Dispositivos DF1 RS-232 1784-KT/KTX(D)/PKTX(D) 1784-KTC(X) Dispositivos Ethernet

Selecione este driver: Computador Desktop Computador Laptop Dispositivos DF1 RS-232 1784-PCMK 1784-PCC Dispositivos Ethernet Drivers DeviceNet (drivers 1784-PCD/PCIDS, 1770-KFD, SDNPT)

Drivers DeviceNet (drivers 1784-PCD/PCIDS, 1770-KFD, SDNPT)

4. Clique em Add New. 5. Se voc quiser atribuir um nome descritivo ao driver, mude o nome padro. 6. Selecione OK.
1 Publicao 1756-PM001E-PT-P - Agosto 2002

13-2

Teste de um Projeto

7. Configure o driver:
Para este driver: Serial Faa isto: A. A partir da lista Comm Port, selecione a porta serial que o driver usar. B. A partir da lista Device, selecione Logix 5550-Serial Port. C. Clique em Auto-Configure. A. Na caixa Station Name, digite um nome que identificar o computador na janela RSWho. B. Selecione o valor de interrupo, o endereo de memria e o endereo de base da E/S. C. Na caixa Net Address, digite o nmero do n ControlNet que voc quer atribuir ao computador. A. A partir da lista Value, selecione o tipo de carto de interface que o driver usar. B. Na lista Property, selecione o prximo item. C. Na caixa Value, digite ou selecione o valor apropriado. D. Repita as etapas B. e C. para as propriedades restantes. Para cada dispositivo Ethernet nesta rede com a qual voc quer comunicar-se (ex.: cada mdulo 1756-ENET ou controlador CLP-5E), adicione uma entrada de mapa: A. Na coluna Host Name, digite o endereo IP ou o nome do host do dispositivo Ethernet. B. Voc quer comunicar-se com um outro dispositivo Ethernet nesta rede? Se: Sim No Ento: 1. Selecione Add New. 2. V para a etapa A. V para a prxima etapa.

ControlNet

DH+

Ethernet

3. Clique em OK. 4. Clique em Close.

Publicao 1756-PM001E-PT-P - Agosto 2002

Teste de um Projeto

13-3

Download de um Projeto para o Controlador

Use este procedimento para fazer o download de um projeto para o controlador, voc pode executar sua lgica. Ao fazer o download de um projeto, voc perde o projeto e os dados que esto no controlador atualmente, se for o caso. Se a reviso do controlador no corresponder a reviso do projeto, voc est pronto para atualizar o firmware do controlador. O software RSLogix 5000 permite que voc atualize o firmware do controlador da parte da seqncia do download. ATENO Ao fazer o download de um projeto ou atualizar o firmware, todos os servo eixos ativos so desligados. Antes de fazer o download de um projeto ou atualizar o firmware, certifique-se de que isto no causar nenhum movimento inesperado do eixo.

!
IMPORTANTE

Para atualizar o firmware de um controlador, primeiro instale um kit de upgrade do firmware. Um kit de upgrade enviado em um CD suplementar juntamente com o software RSLogix 5000. Para fazer o download de um kit de upgrade, acesse o site www.ab.com. Selecione Product Support. Selecione Firmware Updates.

1. Abra o projeto RSLogix 5000 que voc quer fazer o download. 2. A partir do menu Communications, selecione Who Active. 3. Expanda rede at que voc visualize o controlador.
Para expandir um nvel um da rede, faa uma das seguintes aes: Clique duas vezes na rede. Selecione a rede e pressione a tecla. Clique no sinal de +.

Workstation
+

Linx Gateways, Ethernet driver

communication module

backplane
+

controller

4. Selecione o controlador. 5. Selecione Download.

Publicao 1756-PM001E-PT-P - Agosto 2002

13-4

Teste de um Projeto

6. Que resposta o software deu:


Se o software indicar: o download feito para o controlador Ento: V para a etapa 7.

Falhou ao fazer o download para o controlador. A reviso V para a etapa 9. do projeto offline e o firmware do controlador no so compatveis.

7. Selecione Download. Os downloads do projeto feitos para o controlador e o software do RSLogix 5000 ficam online. 8. Pule o resto deste procedimento. 9. Selecione Update Firmware.

10.

11.

43056

10. Selecione a reviso requisitada para o controlador. 11. Selecione Update. Uma caixa de dilogo solicita a confirmao da atualizao. 12. Para atualizar o controlador, selecione Yes. O seguinte evento ocorre: O firmware do controlador atualizado. Os downloads do projeto para o controlador so feito. O software RSLogix 5000 fica offline.

Publicao 1756-PM001E-PT-P - Agosto 2002

Teste de um Projeto

13-5

Seleo de um Modo para o Controlador

Para testar um projeto, selecione um modo para o controlador:

42627

A
42525

Selecione um destes modos: Operao PROG REM Operao Programao Teste


seleo da chave fim A de curso Seleo RSLogix 5000 B

Publicao 1756-PM001E-PT-P - Agosto 2002

13-6

Teste de um Projeto

Correo de Falhas Graves

Se o controlador inserir o modo de falha, uma falha grave ocorreu e parou de executar a lgica.

O controlador falhou. Uma falha grave ocorreu e o controlador no executa mais sua lgica.

43057

1.

Para corrigir uma falha grave: 1. Pressione o boto.

2. Use as informaes na lista Recent Faults para corrigir a causa da falha. Consulte Codigos de Falha Grave na pgina A-1. 3. Clique no boto Clear Majors.

DICA

Voc tambm pode remover uma falha grave usando a chave seletora de modo, no controlador. Gire a chave seletora de modo para Prog, ento para Run e de volta para Prog.

Salvar Suas Alteraes Online

Se voc fizer alteraes para o projeto enquanto estiver on-line, salve o projeto de forma que o arquivo do projeto offline corresponda ao arquivo do projeto online:
Se voc quiser: armazenar as mudanas online e os valores de dados armazenar as mudanas online, mas no os valores de dados online Faa isto: No menu File, selecione Save. A. A partir do menu Communications, selecione Go Offline. B. No menu File, selecione Save.

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

14

Comunicao com Outro Controlador

Quando Usar Este Procedimento

Use este procedimento para transferir dados entre os controladores (enviar ou receber dados). Voc pode transferir dados usando um destes mtodos: Produo e Consumo de um Tag Envio de uma Mensagem

Como Usar Este Procedimento

Selecione um mtodo para a transferncia de dados entre controladores:


Se os dados: precisarem de uma entrega regular a uma taxa que voc especificar (ou seja, determinstica) forem enviados quando uma condio especfica ocorrer em sua aplicao so coletado de mltiplos controladores (e tags consumidos no so uma opo ou no desejados) Ento: Produo e Consumo de um Tag Envio de uma Mensagem Envio de uma Mensagem para Controladores Mltiplos Consulte a pgina: 14-1

14-11 14-13

Produo e Consumo de um Tag

Um tag produzido envia seus dados para um ou mais tag consumidos (consumidores) sem usar a lgica ladder.

controller3 tag produzido

controller3 tag consumido

controller3 tag consumido

controller3 tag consumido

Publicao 1756-PM001E-PT-P - Agosto 2002

14-2

Comunicao com Outro Controlador

Voc pode usar tags produzidos e consumidos com as seguintes combinaes de controlador e rede.
Este controlador: SLC 500 CLP-5 ControlLogix FlexLogix SoftLogix Pode produzir e consumir tags nesta rede: Backplane ControlNet Ethernet

Tags produzidos e consumidos trabalham conforme segue: Uma conexo transfere os dados entre os controladores: Mltiplos controladores podem consumir (receber) os dados. Atualizao dos dados no intervalo requisitado para atualizao (RPI), conforme configurado pelos tags de consumo. Cada tag produzido ou consumido usa o seguinte nmero de conexes:
Cada: tag produzido tag consumido 1 Usa estas conexes: number_of_consumers + 1

EXEMPLO

Conexes usadas pelos tags produzidos ou consumidos A produo de um tag para 5 controladores (consumidores) usa 6 conexes (5 consumidores +1 = 6). A produo de 4 tags para 1 controlador usa 8 conexes. cada tag usa duas conexes (1 consumidor + 1 = 2). 2 conexes por tag x 4 tags = 8 conexes. O consumo de 4 tags para um controlador usa 4 conexes (1 conexo por tag x 4 tags = 4 conexes).

O Que Voc Precisa Fazer


Para compartilhar dados com outro(s) controlador(es), realize estas aes: Organizao de Tags para Dados Produzidos ou Consumidos Produo de um Tag

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-3

Consumo de um Tag Produzido Dependendo de seu sistema, voc tambm pode ter que realizar estas aes: Produo de Inteiros para um Controlador CLP-5C Produo de REALs para um Controlador CLP-5C Consumo de Inteiros de um Controlador CLP-5C Ajuste para Limitaes de Largura da Banda

Organizao de Tags para Dados Produzidos ou Consumidos


Ao criar os tags que eventualmente produziro ou consumiro dados (dados compartilhados), siga estas orientaes: 1. Crie os tags no escopo do controlador. Somente tags de uso geral do controlador podem ser compartilhados. 2. Use um destes tipos de dados: DINT REAL array de DINTs ou REALs definido pelo usurio 3. Para compartilhar um tipo de dados diferente dos listados nas orientaes 2., crie um tipo de dados definidos pelo usurio que contenha os dados requisitados. 4. Use o mesmo tipo de dados para o tag produzido e para o(s) tag(s) consumido(s) correspondente(s). 5. Para compartilhar tags em um controlador CLP-5, use um tipo de dados definidos pelo usurio. Consulte estas sees: Produo de Inteiros para um Controlador CLP-5C, 14-6 Produo de REALs para um Controlador CLP-5C, 14-7 Consumo de Inteiros de um Controlador CLP-5C, 14-8

Publicao 1756-PM001E-PT-P - Agosto 2002

14-4

Comunicao com Outro Controlador

6. Limite o tamanho do tag para menor ou igual a 500 bytes. Caso voc deva transferir mais de 500 bytes, crie a lgica para transferir os dados em pacotes. Consulte Produce a Large Array na pgina 11-1. 7. Se voc produzir o tag na rede ControlNet, o tag pode precisar ter menos de 500 bytes. Consulte Ajuste para Limitaes de Largura da Banda na pgina 10-10. 8. Se estiver produzindo diversos tags no mesmo controlador: Agrupe os dados em um ou mais tipos de dados definidos pelo usurio. (Isto usa menos conexes que a produo de cada tag separadamente). Agrupe os dados de acordo com as taxas de atualizao similares. (Para conservar a largura de banda da rede, use um RPI maior para dados menos importantes). Por exemplo, voc pode criar um tag para dados que so crticos e outro tag para dados que no so crticos.

Produo de um Tag
1. Abra o projeto RSLogix 5000 que contm o tag que voc quer produzir. 2. A partir do menu Logic, selecione Edit Tags. 3. A partir de Scope, selecione name_of_controller (controlador) (Apenas tags que so de uso geral do controlador podem produzir dados). 4. Selecione o tag que produzir os dados e pressione as teclas ALT + Enter.

5.

6.

42352

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-5

5. Selecione o boto da opo Produced. 6. Digite ou selecione o nmero de controladores que consumiro (recebero) o tag. 7. Clique em OK. 8. Configure o tag em outro(s) controlador(es) para consumir este tag produzido. Consulte Consumo de um Tag Produzido na pgina 10-5.

Consumo de um Tag Produzido


1. Abra o projeto RSLogix 5000 que consumir o tag produzido. 2. No organizador do controlador, I/O Configuration (Configurao da E/S), adicione o controlador que contm o tag produzido. 3. A partir do menu Logic, selecione Edit Tags. 4. A partir de Scope, selecione name_of_controller (controlador) (Apenas tags que so de uso geral do controlador podem consumir outros tags). 5. Selecione o tag no controlador que consumir o tag produzido e pressione as teclas ALT + Enter.

6. 7. 8. 9.
42353

10.

6. Selecione o boto da opo Consumed.

Publicao 1756-PM001E-PT-P - Agosto 2002

14-6

Comunicao com Outro Controlador

7. Selecione o controlador que contm o tag produzido. 8. Digite o nome do tag produzido. 9. Selecione o mesmo tipo de dados que o tag produzido. 10. Digite ou selecione o tempo entre as atualizaes do tag: Use o valor mais alto permitido para sua aplicao. Caso o controlador consuma o tag na rede ControlNet, use um binrio mltiplo da ControlNet tempo de atualizao da rede (NUT). Por exemplo, se o NUT for de 5 ms, digite uma taxa de 5, 10, 20, 40 ms, etc. 11. Clique em OK. 12. Se voc compartilhar o tag em uma rede ControlNet, use o software RSNetWorx for ControlNet para programar a rede.

IMPORTANTE

Se uma conexo de tag consumido falhar, todos os outros tags que so consumidos a partir daquele controlador remoto param de receber os novos dados.

Produo de Inteiros para um Controlador CLP-5C


1. Abra o projeto do RSLogix 5000. 2. Crie um tipo de dados definido pelo usurio que contenha um array de INTs com um nmero par de elementos, como INT[2]. (Ao produzir INTs, voc deve produzir dois ou mais.) 3. Crie um tag produzido e selecione um tipo de dados definidos pelo usurio a partir da Etapa 2. 4. Abra o software RSNetWorxfor ControlNet. 5. Na configurao da ControlNet para o controlador CLP-5C alvo: a. Insira um Receive Scheduled Message (Receber de Mensagem Programada). b. No tamanho da Mensagem, insira o nmero de inteiros no tag produzido. 6. No software RSNetWorx for ControlNet, programe a rede.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-7

Produo de REALs para um Controlador CLP-5C


1. Abra o projeto do RSLogix 5000. 2. Quantos valores voc quer produzir?
Se estiver produzindo: Apenas um valor REAL Mais de um valor REAL Ento: Crie um tag produzido e selecione o tipo de dados REAL. A. Crie um tipo de dados definidos pelo usurio que contenha o array de REALs. B. Crie um tag produzido e selecione um tipo de dados definidos pelo usurio a partir da Etapa A.

3. Abra o software RSNetWorx for ControlNet. 4. Na configurao da ControlNet para o controlador CLP-5C alvo: a. Insira Receive Scheduled Message (Receber de Mensagem Programada). b. No Tamanho da mensagem, insira duas vezes o nmero de REALs no tag produzido. Por exemplo, se o tag produzido contiver 10 REALs, insira 20 para o tamanho da Mensagem. DICA Quando um controlador CLP-5C consome um tag que produzido por um controlador Logix5000, ele armazena o dado em inteiros de 16 bits consecutivos. O CLP-5C armazena dados de ponto flutuante, o que requisita 32 bits, no importando o tipo do controlador, como a seguir: O primeiro inteiro contm os bits mais significativos (localizados na extrema esquerda) do valor. O segundo inteiro contm os bits menos significativos (localizados na extrema direita) do valor. Este padro continua para cada valor de ponto flutuante.

Publicao 1756-PM001E-PT-P - Agosto 2002

14-8

Comunicao com Outro Controlador

5. No controlador CLP-5C, reconstrua os dados de ponto flutuante, conforme o descrito no seguinte exemplo: EXEMPLO Reconstruo de um valor de ponto flutuante

As duas instrues MOV revertem a ordem dos inteiros, conforme os inteiros se movem para um novo local. Como o destino de uma instruo COP um endereo de ponto flutuante, ele leva dois inteiros consecutivos para um total de 32 bits e os converte em um nico valor de ponto flutuante.

42354

6. No software RSNetWorx for ControlNet, programe a rede.

Consumo de Inteiros de um Controlador CLP-5C


1. Abra o software RSNetWorx for ControlNet. 2. Na configurao ControlNet do controlador CLP-5C, insira um Envio de Mensagem Programada. 3. Abra o projeto do RSLogix 5000. 4. No organizador do controlador, acrescente o controlador CLP-5C para a configurao de E/S.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-9

5. Crie um tipo de dados definidos pelo usurio que contm os seguintes membros:
Tipo de Dados: DINT INT[x], onde x o tamanho da sada dos dados do controlador CLP-5C. Se voc estiver consumindo apenas um INT, nenhuma dimenso requisitada) Status Dados produzidos por um controlador CLP-5C Descrio:

6. Crie um tag consumido com as seguintes propriedades:


Para esta propriedade de tag: Tag Type Controller Remote Instance RPI Digite ou selecione: Consumed (Consumido) O CLP-5C que est produzindo os dados. O nmero da mensagem a partir da configurao do controlador CLP-5C ControlNet. Uma alimentao de duas vezes o NUT da rede ControlNet. Por exemplo, se o NUT for de 5 ms, selecione um RPI de 5, 10, 20, 40 etc. Tipo de dados definidos pelo usurio que voc criou na etapa 5.

Data Type

7. No software RSNetWorx for ControlNet, programe a rede.

Ajuste para Limitaes de Largura da Banda


Quando voc compartilhar um tag em uma rede ControlNet, o tag deve adequar-se largura de banda da rede: Conforme o nmero de conexes de uma rede ControlNet aumenta vrias conexes, inclusive os tags produzidos ou consumidos, podem precisar compartilhar um tempo de atualizao da rede (NUT). Como uma rede ControlNet pode passar somente 500 bytes em uma atualizao, os dados de cada conexo devem ser menores que 500 bytes para adequar-se ao NUT. Dependendo do tamanho de seu sistema, voc pode no ter a largura de banda suficiente em sua rede ControlNet para um tag de 500 bytes. Se um tag for muito grande para sua rede ControlNet, faa um ou mais dos seguintes ajustes: Reduza seu Tempo de Atualizao da Rede (NUT). Com um NUT mais rpido, menos conexes tm que compartilhar uma ranhura de atualizao. Aumente o Intervalo Requisitado para Atualizao (RPI) das suas conexes. Com RPIs mais altos, as conexes podem se alternar no envio de dados durante uma atualizao de ranhura.

Publicao 1756-PM001E-PT-P - Agosto 2002

14-10

Comunicao com Outro Controlador

Para um mdulo ponte ControlNet (CNB) em um chassi remoto, selecione o formato de comunicao mais eficiente para aquele chassi:
A maioria dos mdulos no chassi so mdulos de E/S digital sem diagnstico? Sim No Ento selecione este formato de comunicao para o mdulo CNB remoto: Rack Optimization (Otimizao de Gaveta) None (Nenhum)

O formato Rack Optimization usa um adicional de 8 bytes para cada ranhura no chassi. Os mdulos analgicos ou os mdulos que esto enviando ou obtendo dados de diagnstico, fusvel, registro de data e hora ou programados requisitam conexes diretas e no podem aproveitar o formato de otimizao de gaveta. A seleo de None libera os 8 bytes por ranhura para outros usos, como tags produzidos e consumidos. Separar os tags em dois ou mais tags menores: Agrupar os dados de acordo com as taxas de atualizao similares. Por exemplo, voc pode criar um tag para dados que so crticos e outro tag para dados que no so crticos. Atribuir um RPI diferente para cada varivel. Criar uma lgica para transferir os dados em sees menores (pacotes). Consulte "Produo de um Array Grande" na pgina 11-1.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-11

Envio de uma Mensagem

Para organizar os dados para uma mensagem, siga estas orientaes: 1. Para cada mensagem, crie um tag para controlar a mensagem: Crie o tag no escopo do controlador. Use o tipo de dados MESSAGE. O exemplo seguinte mostra o uso do tipo de dados MESSAGE:

EXEMPLO

Mensagem para outro controlador Logix5000

Quando count_send estiver energizado, count_msg envia dados.

count_send

count_msg.en /

MSG Type - Unconfigured Message Control

count_msg ...

EN DN ER

Digite: MESSAGE Escopo: Controlador

42188

2. Para os tags que as mensagens usaro (tags de fonte ou destino), crie os tags de uso geral no controlador. 3. No controlador Logix5000, use o tipo de dados DINT para inteiros, sempre que possvel: Os controladores Logix5000 operam com mais eficincia e usam menos memria quando trabalham com inteiros de 32 bits (DINTs).

Publicao 1756-PM001E-PT-P - Agosto 2002

14-12

Comunicao com Outro Controlador

4. Se sua mensagem for de/para um controlador CLP-5 ou SLC 500 e ele transferir inteiros (no REALs), use um buffer de INTs: a. Crie um buffer para os dados (de uso geral do controlador) usando o tipo de dados INT[x]. onde: x o nmero de inteiros na mensagem. (Para apenas um inteiro, omita [x].) b. Use o buffer na mensagem. c. Use uma instruo FAL para mover os dados entre o buffer e sua aplicao. EXEMPLO Escrita de valores inteiros para um controlador CLP-5

Mova continuamente os valores em dint_array para int_buffer. Isto converte os valores para inteiros de 16 bits (INTs). Ento, a instruo de mensagem envia int_buffer para um controlador CLP-5.
message.EN / fal_control RES FAL File Arith/Logical Control fal_control Length ? Position 0 Mode all Dest int_buffer[fal_control.pos] ?? Expression dint_array[fal_control.pos] EN DN ER MSG Type - Unconfigured Message Control EN DN ER

message ...

42192

Leitura de valores inteiros de um controlador CLP-5


Leia continuamente valores inteiros de 16 bits (INTs) de um controlador CLP-5 e armazene-os em int_buffer. A instruo FAL move os valores para dint_array. Isto converte os valores para inteiros de 32 bits (DINTs), para o uso por outras instrues no projeto.
message.EN / MSG Type - Unconfigured Message Control

message ...

EN DN ER

message.DN

fal_control RES

FAL File Arith/Logical Control fal_control Length ? Position 0 Mode all Dest dint_array[fal_control.pos] ?? Expression int_buffer[fal_control.pos]

EN DN ER

42192

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-13

Envio de uma Mensagem para Controladores Mltiplos

Use o seguinte procedimento para programar uma nica instruo de mensagem para comunicar-se com mltiplos controladores. Para reconfigurar uma instruo MSG durante o tempo de execuo, escreva novos valores para os membros do tipo de dados MESSAGE. IMPORTANTE No tipo de dados MESSAGE, o membro RemoteElement armazena o nome do tag ou o endereo dos dados no controlador que recebe a mensagem.
Se a mensagem: l dados escreve dados Ento o RemoteElement o: Elemento Fonte Elemento Destino

Nome do Tag message + message.RemoteElement. + message.RemoteIndex. + message.LocalIndex.


43052

+ message.Channel. + message.Rack.
A B

+ message.Group. + message.Slot. + message.Path.

A. Se voc usar um asterisco [*] para designar o nmero do elemento do array, o valor em B fornece o nmero de elemento. B. A caixa Index somente est disponvel quando voc usar um asterisco [*] no Elemento Fonte ou Elemento Destino. A instruo substitui o valor de Index para o asterisco [*].

Publicao 1756-PM001E-PT-P - Agosto 2002

14-14

Comunicao com Outro Controlador

Para enviar uma mensagem para mltiplos controladores: Definio da Configurao da E/S Definio dos Elementos Source e Destination Criao do Tipo de Dados MESSAGE_CONFIGURATION Criao do Array de Configurao Obteno do Tamanho do Array Local Carregamento das Propriedades para um Controlador Configurao da Mensagem Etapa para o Prximo Controlador Reincio da Sequncia Para copiar os componentes acima a partir de um projeto de amostra, abra a pasta \RSLogix 5000\Projects\Samples.

DICA

MSG_to_Multiple_Controllers.ACD
43055

Abra este projeto.

Definio da Configurao da E/S


Embora no seja necessrio, recomendamos que voc adicione os mdulos de comunicao e controladores remotos para a configurao da E/S do controlador. Isto a torna mais fcil para definir o caminho para cada controlador remoto. Por exemplo, uma vez que voc adicionou o mdulo de comunicao local, o mdulo de comunicao remoto e o controlador de destino, o boto Browse permite que voc selecione o destino.
Message Path Browser Path: peer_controller

peer_controller I/O Configuration [0] 1756-CNB/x Local_CNB 2 [0] 1756-CNB/x chassis_b [1] 1756-L55/x peer_controller

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-15

Definio dos Elementos Source e Destination


Neste procedimento, um array armazena os dados que forem lidos do ou escrito para cada controlador remoto. Cada elemento no array corresponde a um controlador remoto diferente. 1. Use a seguinte planilha para organizar os nomes dos tags nos controladores local e remoto:
Nome do controlador remoto: Tag ou endereo dos dados no controlador remoto: Tag neste controlador: local_array[0] local_array[1] local_array[2] local_array[3]

2. Crie o tag local_array que armazena os dados neste controlador.


Nome do Tag local_array tipo data_type [length ] onde: data_type o tipo de dados que a mensagem envia ou recebe, como DINT, REAL ou STRING. length o nmero de elementos no array local.

Publicao 1756-PM001E-PT-P - Agosto 2002

14-16

Comunicao com Outro Controlador

Criao do Tipo de Dados MESSAGE_CONFIGURATION


Neste procedimento, voc cria um tipo de dados definido pelo usurio para armazenar as variveis de configurao para a mensagem para cada controlador. Alguns destes membros requisitados do tipo de dados usam um tipo de dados da string. O tipo de dados STRING padro define 82 caracteres. Se seus caminhos ou nomes ou endereos de tags usam menos de 82 caracteres, voc tem a opo de criar um novo tipo de string que armazene menos caracteres. Isto permite que voc conserve a memria. Para criar um novo tipo de string, selecione File New Component String Type Caso voc crie um novo tipo de string, use-o no lugar do tipo de dados STRING neste procedimento.
Para criar um novo tipo de dados: + + + Controller Your_Project Tasks Motion Groups Trends Data Types User-Defined Membros: nome + + Path RemoteElement tipo de dados STRING STRING Estilo: Descrio

Para armazenar as variveis da configurao para a mensagem para cada controlador, crie o seguinte tipo de dados definido pelo usurio.
Tipo de Dados:MESSAGE_CONFIGURATION
Nome Descrio MESSAGE_CONFIGURATION Propriedades de configurao para uma mensagem para outro controlador

clique com o boto direito do mouse e selecione New Data Type.

Criao do Array de Configurao


Neste procedimento, voc armazena as propriedades de configurao para cada controlador em um array. Antes de cada execuo da instruo MSG, sua lgica carrega novas propriedades dentro da instruo. Isto envia a mensagem para um controlador diferente.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-17

Figura 14.1 Carregamento de Novas Propriedades Dentro de uma Instruo MSG


Array de Configurao Propriedades da Mensagem

message_config message_config[0] + message_config[0].Path + message_config[0].RemoteElement message_config[1] + message_config[1].Path + message_config[1].RemoteElement messages + message.Path. + message.RemoteElement.
prxima execuo da mensagem Propriedades da Mensagem primeira execuo da mensagem

message + message.Path. + message.RemoteElement.

Etapas:
1. Para armazenar as proprieddes de configurao para a mensagem, crie o seguinte array:
Nome do Tag message_config Tipo MESSAGE_CONFIGURATION[number ] Escopo qualquer

onde: number o nmero de controladores para o qual envia-se a mensagem.

Publicao 1756-PM001E-PT-P - Agosto 2002

14-18

Comunicao com Outro Controlador

2. No array message_config, insira o caminho para o primeiro controlador que recebe a mensagem.
Nome do Tag message_config message_config[0] + message_config[0].Path + message_config[0].RemoteElement {} {}
Clique com o boto direito do mouse e selecione Go to Message Path Editor.

Valor

Insira o caminho para o controlador remoto ou Navegue para o controlador remoto.

Message Path Browser Path: peer_controller I/O Configuration

3. No array message_config, insira o nome do tag ou endereo dos dados no primeiro controlador para receber a mensagem.
Nome do Tag message_config message_config[0] + message_config[0].Path + message_config[0].RemoteElement message_config[1] + message_config[1].Path + message_config[1].RemoteElement ... {} {} {} Valor

Insira o nome do tag ou endreo dos dados no outro controlador.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-19

4. Insira o caminho e o elemento remoto para cada controlador adicional:


Nome do Tag message_config message_config[0] + message_config[0].Path + message_config[0].RemoteElement message_config[1] + message_config[1].Path + message_config[1].RemoteElement {} {} {} Valor

Obteno do Tamanho do Array Local

1. 2. 3.
43051

1. A instruo SIZE conta o nmero de elementos em local_array. 2. A instruo conta SIZE o nmero de elementos na Dimenso 0 do array. Neste caso, aquele nmero somente a dimenso. 3. Local_array_length armazena o tamanho (nmero de elementos) de local_array. Este valor informa uma faixa subseqente quando a mensagem foi enviada para todos os controladores e para iniciar com o primeiro controlador novamente.
Nome do Tag local_array_length Tipo DINT

Publicao 1756-PM001E-PT-P - Agosto 2002

14-20

Comunicao com Outro Controlador

Carregamento das Propriedades para um Controlador


1. 2. 3.

4. 5.

6.
43051

1. Esta instruo XIO condiciona a faixa para enviar continuamente a mensagem.


Nome do Tag message Tipo MESSAGE Escopo do controlador

2. A instruo COP carrega o caminho para a mensagem. O valor de index determina qual elemento a instruo carrega a partir de message_config. Consulte a Figura 14.1 na pgina 14-17.
Nome do Tag index Tipo DINT Escopo qualquer

3. A instruo carrega 1 elemento de message_config. 4. A instruo COP carrega o nome do tag ou o endereo dos dados no controlador que recebe a mensagem. O valor de index determina qual elemento a instruo carrega a partir de message_config. Consulte a Figura 14.1 na pgina 14-17. 5. A instruo carrega 1 elemento de message_config. 6. Instruo MSG

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com Outro Controlador

14-21

Configurao da Mensagem
Embora sua lgica controla o elemento remoto e o caminho para a mensagem, a caixa de dilogo Message Properties requer uma configurao inicial.

IMPORTANTE

43054

Desmarque a caixa de verificao Cache Connection.

Tabela14.A Nesta guia: Configuration Se voc quiser: ler (receber) dados de outros controladores Para este item: Massage Type Source Element Number of Elements Tag de Destino Index escrever (enviar) dados para outros controladores Message Type Source Tag Index Number of Elements Destination Element Communicaton Path Cache Connections Digite ou selecione: o tipo leitura que corresponde a outros controladores tag ou endereo que contenha os dados no primeiro controlador 1 local_array[*] 0 o tipo escrita que corresponde para outros controladores local_array[*] 0 1 tag ou endereo que contenha os dados no primeiro controlador caminho para o primeiro controlador Desmarque a caixa de verificao Cache Connection. Como este procedimento altera continuamente o caminho da mensagem, ele mais eficiente para desmarcar esta caixa de verificao.

Publicao 1756-PM001E-PT-P - Agosto 2002

14-22

Comunicao com Outro Controlador

Etapa para o Prximo Controlador


1. 2. 3.

43051

1. Aps a instruo MSG enviar a mensagem 2. Esta instruo ADD incrementa index. Isto permite que a lgica carregue as propriedades de configurao para o prximo controlador dentro da instruo MSG. 3. Esta instruo ADD incrementa o membro LocalIndex da mensagem MSG. Isto permite que a lgica carregue o valor do prximo controlador dentro do prximo elemento de local_array..

Reincio da Sequncia
1. 2. 3.

43051

1. Quando o ndice for igual a local_array_length, o controlador enviou a mensagem para todos os outros controladores. 2. Esta instruo CLR configura index igual a 0. Isto permite que a lgica carregue as propriedades de configurao para o primeiro controlador na instruo MSG e inicia a seqncia de mensagens novamente. 3. Esta instruo CLR configura o membro LocalIndex da instruo MSG igual a 0. Isto permite que a lgica carregue o valor do primeiro controlador no primeiro elemento de local_array..

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

15

Produo de uma Matriz Grande


Quando Usar Este Procedimento
O controlador Logix5550 pode enviar at 500 bytes de dados em uma nica conexo programada. Isto corresponde a 125 elementos DINT ou REAL de uma matriz. Para transferir uma matriz de mais de 125 DINTs ou REALs, use um tag produzido/consumido de 125 elementos para criar um pacote de dados. Voc pode, ento, usar o pacote para enviar a matriz por partes para outro controlador. Quando voc enviar uma matriz de dados grande, em pequenos pacotes, voc deve garantir que a transmisso de um pacote esteja completa antes que os dados sejam movidos para a matriz destino, por estas razes. Dados produzidos na placa de fundo do chassi ControlLogix so enviados em segmentos de 50 bytes. A transmisso de dados assncrona varredura do programa. A lgica que esta seo inclui usa uma palavra de reconhecimento para garantir que cada pacote contm novos dados antes que os dados se movam para a matriz destino. A lgica tambm usa um valor de offset para indicar o elemento inicial do pacote dentro de uma matriz. Por causa dos elementos de offset e de reconhecimento, cada pacote carrega 123 elementos de dados a partir da matriz, conforme definido abaixo:
Produtor Consumidor

matriz pacote 0 pacote

matriz

123 offset 124 reconhecimento

offset reconhecimento

Alm disso, a matriz deve conter 122 elementos extras. Em outras palavras, ela deve ser 122 elementos maior do que o maior nmero de elementos que voc quer transferir: Esses elementos servem como um buffer. Desde que cada pacote contenha o mesmo nmero de elementos, o buffer evita que o controlador copie dados alm dos limites da matriz. Sem o buffer, isto ocorreria se o ltimo pacote contivesse menos de 123 elementos de dados reais.

Publicao 1756-PM001E-PT-P - Agosto 2002

15-2

Produo de uma Matriz Grande

Produo de uma Matriz Grande

1. Abra o projeto RSLogix 5000 que produzir a matriz. 2. Na pasta Controller Tags, crie os seguintes tags:
P Nome do Tag array_ack array_packet DINT[2] DINT[125] Tipo

onde: array o nome dos dados que voc est enviando. 3. Converta array_ack para um tag consumido:
Para: Controlador Nome do Tag Remoto Especifique: nome do controlador que est recebendo o pacote array_ack Ambos os controladores usam o mesmo nome para estes dados compartilhados.

Consulte Consumo de um Tag Produzido na pgina 14-5. 4. Na pasta Controller Tags ou na pasta Tags do programa que conter a lgica para a transferncia, crie os seguintes tags:
Nome do Tag array array_offset array_size array_transfer_time array_transfer_time_max array_transfer_timer Tipo DINT[x], onde x igual ao nmero de elementos para transferir, mais os 122 elementos. DINT DINT DINT DINT TIMER

onde: array o nome dos dados que voc est enviando. 5. No tag array_size, insira o nmero de elementos de dados reais. (O valor de x da etapa 4. menos os 122 elementos do buffer) 6. Crie ou abra uma rotina para a lgica que criar os pacotes de dados.

Publicao 1756-PM001E-PT-P - Agosto 2002

Produo de uma Matriz Grande

15-3

7. Entre com a seguinte lgica: Conta quanto tempo dura o envio de toda a matriz
TON Timer On Delay Timer array_transfer_timer Preset 10000000 Accum 0 EN DN

Quando o valor do offset em array_ack[0] no for igual ao valor do offset atual, mas array_ack[1] for igual a 999, o consumidor comea a receber o novo pacote, ento a linha move 999 para o ltimo elemento do pacote. O consumidor espera at que ele receba o valor 999 antes de copiar o pacote para a matriz. Isto garante que o consumidor tenha novos dados.
NEQ Not Equal Source A array_ack[0] 0 Source B array_packet[123] 0 EQU Equal Source A array_ack[1] 0 Source B -999 MOV Move Source -999

Dest array_packet[124] 0

Publicao 1756-PM001E-PT-P - Agosto 2002

15-4

Produo de uma Matriz Grande

Quando o valor do offset em array_ack[0] for igual ao valor do offset atual, o consumidor copiou o pacote para a matriz; ento, a linha verifica a existncia de mais dados para transferir. Se o valor do offset, mais 123, for menor do que o tamanho da matriz, h mais dados para transferir, ento a linha aumenta o offset em 123. Caso contrrio, no h mais dados para transferir, portanto a linha reseta o valor do offset, registra o tempo de transferncia e reseta o temporizador. Em ambos os casos, a linha usa o novo valor de offset para criar um novo pacote de dados, anexa o novo valor de offset ao pacote e remove o elemento de reconhecimento do pacote (packet[124]). q
Source A array_ack[0] 0 Source B array_packet[123] 0 CMP Compare Expression (array_ack[0] + 123) < array_size ADD Add Source A array_packet[123] 0 Source B 123 Dest CMP Compare Expression (array_ack[0] + 123) >= array_size array_offset 0 CLR Clear Dest array_offset 0 MOV Move Source array_transfer_timer.ACC 0 Dest array_transfer_time 0 array_transfer_timer RES COP Copy File Source array[array_offset] Dest array_packet[0] Length 123 MOV Move Source array_offset 0 Dest array_packet[123] 0 CLR Clear Dest array_packet[124] 0

Se o tempo de transferncia atual for maior do que o tempo mximo de transferncia, atualize o tempo mximo de transferncia. Isto mantm um registro do maior tempo para a transferncia de dados.
GRT Greater Than (A>B) Source A array_transfer_time 0 Source B array_transfer_time_max 0 MOV Move Source array_transfer_time 0 Dest array_transfer_time_max 0 FLL
42355

8. Abra o projeto RSLogix 5000 que consumir a matriz. 9. Na pasta Controller Tags, crie os seguintes tags:
P array_ack array_packet Nome do Tag DINT[2] DINT[125] Tipo

onde: array o nome dos dados que voc est enviando. Use o mesmo nome do controlador que est produzindo (etapa 2.).

Publicao 1756-PM001E-PT-P - Agosto 2002

Produo de uma Matriz Grande

15-5

10. Converta array_packet para um tag consumido:


Para: Controlador Nome do Tag Remoto Especifique: nome do controlador que est enviando o pacote array_packet Ambos os controladores usam o mesmo nome para estes dados compartilhados.

Consulte Consumo de um Tag Produzido na pgina 14-5. 11. Na pasta Controller Tags ou na pasta Tags do programa que conter a lgica para a transferncia, crie as seguintes variveis:
Nome do Tag array array_offset Tipo DINT[x], onde x igual ao nmero de elementos para transferir, mais os 122 elementos DINT

onde: array o nome dos dados que voc est enviando. 12. Crie ou abra uma rotina para a lgica que mover os dados dos pacotes para a matriz destino.

Publicao 1756-PM001E-PT-P - Agosto 2002

15-6

Produo de uma Matriz Grande

13. Entre com a seguinte lgica: Quando o valor do offset em array_packet[123] diferente do valor do offset em array_ack[0] o controlador comea a receber o novo pacote de dados; portanto a linha verifica a existncia do valor 999 no ltimo elemento do pacote. Se o ltimo elemento do pacote for igual a 999, o controlador recebe um pacote inteiro de novos dados e comea a operao de cpia: O valor do offset se move do pacote para array_offset. As instrues COP copiam os dados do pacote para a matriz destino, comeando no valor do offset. O valor de offset move-se para array_ack[0], que sinaliza que a cpia est completa. Array_ack[1] reseta para zero e espera o sinal de chegada de um novo pacote.

Se o ltimo elemento do pacote no for igual a 999, a transferncia do pacote para o controlador pode no estar completa; ento 999 move-se para array_ack[1]. Isto sinaliza o produtor para retornar o valor de 999 no ltimo elemento do pacote para verificar a transmisso do pacote.
NEQ Not Equal Source A array_packet[123] 0 Source B array_ack[0] 0 EQU Equal Source A array_packet[124] 0 Source B -999 MOV Move Source array_packet[123] 0 Dest array_offset 0 COP Copy File Source array_packet[0] Dest array[array_offset] Length 123 MOV Move Source array_packet[123] 0 Dest array_ack[0] 0 CLR Clear Dest array_ack[1] 0 NEQ Not Equal Source A array_packet[124] 0 Source B -999 MOV Move Source -999

Dest array_ack[1] 0

42356

A transferncia de uma matriz grande como pacotes menores melhora a performance do sistema em relao a outros mtodos de transferncia de dados. Um nmero menor de conexes usado do que se voc dividir os dados em matrizes mltiplas e mandar cada uma como um tag produzido. Por exemplo, uma matriz com 5000 elementos tomaria 40 conexes (5000/125 = 40) usando matrizes individuais.

Publicao 1756-PM001E-PT-P - Agosto 2002

Produo de uma Matriz Grande

15-7

Tempos de transmisso mais rpidos so alcanados, comparando-se com o uso de uma instruo de mensagem para enviar a matriz inteira. As mensagens so desprogramadas e executadas somente durante a poro de atraso do sistema da execuo do Logix5550. Portanto, as mensagens podem tomar um tempo relativamente longo para completar a transferncia de dados. Voc pode melhorar o tempo de transferncia, aumentando a fatia de tempo de atraso do sistema, mas isso diminui a performance da tarefa contnua.

Publicao 1756-PM001E-PT-P - Agosto 2002

15-8

Produo de uma Matriz Grande

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

16

Comunicao com um Dispositivo ASCII

Quando Usar Este Procedimento

Use este procedimento para trocar dados ASCII com um dispositivo atravs da porta serial do controlador. Por exemplo, voc pode usar a porta serial para: ler caracteres ASCII de um mdulo de balana de peso ou leitor de cdigo de barras enviar e receber mensagens de um dispositivo ASCII disparado, como um terminal MessageView.

conexo da porta serial do controlador para o dispositivo ASCII:

42237

Como Usar Este Procedimento

Antes de usar este procedimento: Configure o Dispositivo ASCII para Sua Aplicao Para completar este procedimento, execute as seguintes tarefas: Conexo do Dispositivo ASCII Configurao da Porta Serial Configurao do Protocolo do Usurio Criao de Tipos de Dados do String Leitura de Caracteres do Dispositivo Envio de Caracteres para o Dispositivo

Publicao 1756-PM001E-PT-P - Agosto 2002

16-2

Comunicao com um Dispositivo ASCII

Conexo do Dispositivo ASCII

1. Para a porta serial do dispositivo ASCII, determine quais os pinos enviam sinais e quais recebem sinais. 2. Conecte os pinos de envio para os pinos receptores correspondentes e conecte os jumpers:
Se a comunicao: handshake
Dispositivo ASCII
1 CD 2 RDX 3 TXD 4 DTR COMMON 6 DSR 7 RTS 8 CTS 9

Ento conecte os conectores conforme segue:


Controlador
1 CD 2 RDX 3 TXD 4 DTR COMMON 6 DSR 7 RTS 8 CTS 9
42231

sem handshake
Dispositivo ASCII
1 CD 2 RDX 3 TXD 4 DTR COMMON 6 DSR 7 RTS 8 CTS 9

Controlador
1 CD 2 RDX 3 TXD 4 DTR COMMON 6 DSR 7 RTS 8 CTS 9
42232

3. Conecte o cabo blindado a ambos conectores. 4. Conecte o cabo ao controlador e ao dispositivo ASCII.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com um Dispositivo ASCII

16-3

Configurao da Porta Serial

1. Determine as seguintes configuraes de comunicao para o dispositivo ASCII: a. b. c. d. taxa de transmisso bits de dados paridade bits de parada

2. Abra o RSLogix 5000.

42627

3. Na barra de ferramenta online, clique no boto do controlador. 4. Clique na guia Serial Port.

5.

6.

42251

5. Selecione User. 6. Selecione as configuraes para o dispositivo ASCII, a partir da etapa 1.

Publicao 1756-PM001E-PT-P - Agosto 2002

16-4

Comunicao com um Dispositivo ASCII

7.

8. 9.
42251

7. Selecione a opo Control Line (Linha de Controle):


Se: voc no estiver usando um modem voc estiver usando um modem ambos os modems em um link ponto-a-ponto so full-duplex o modem mestre full-duplex, enquanto o modem escravo half-duplex todos os modems no sistema so half-duplex controlador mestre controlador escravo E: E este o: Selecione: No Handshaking Full Duplex Ento: V para a etapa 10

Full Duplex Half Duplex Half Duplex Selecione a caixa de verificao Continuous Carrier. Remova a seleo da caixa de verificao Continuous Carrier (padro).

8. Digite a quantidade de atraso (unidades de 20 ms) entre o tempo que o sinal do RTS energiza (alto) e o tempo em que os dados so enviados. Por exemplo, um valor de 4 produz um atraso de 80 ms. 9. Digite a quantidade de atraso (unidades de 20 ms) entre o tempo que o ltimo caracter enviado e o tempo em que o sinal do RTS desenergiza (baixo). 10. Clique em Apply.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com um Dispositivo ASCII

16-5

Configurao do Protocolo do Usurio

1. Clique na guia User Protocol (Protocolo do Usurio).

2. 3.

42252

2. Selecione ou digite um nmero que seja maior ou igual ao maior nmero de caracteres em uma transmisso. (O dobro de caracteres uma boa orientao.) 3. Se voc estiver usando instrues ABL ou ARL, digite os caracteres que marcam o fim dos dados. Para o cdigo ASCII de um caracter, consulte a quarta capa do manual.
Se o dispositivo envia: um caracter de terminao Ento: A. Na caixa de texto Termination Character 1, digite o cdigo ASCII hexadecimal para o primeiro caracter. B. Na caixa de texto Termination Character 2, digite$FF. Nas caixas de texto Termination Character 1 e 2, digite o cdigo ASCII hexadecimal para cada caracter. Notas: Para os caracteres que podem ser impressos, como 1 ou A, digite o caracter.

dois caracteres de terminao

Publicao 1756-PM001E-PT-P - Agosto 2002

16-6

Comunicao com um Dispositivo ASCII

4. 5. 6.

7.
42252

4. Se voc estiver usando a instruo AWA, digite os caracteres a serem anexados aos dados. Para o cdigo ASCII de um caracter, consulte a quarta capa do manual.
Para anexar: um caracter Ento: A. Na caixa de texto Append Character 1, digite o cdigo ASCII hexadecimal para o primeiro caracter. B. Na caixa de texto Append Character 2, digite $FF. Notas:

dois caracteres

Para os caracteres que podem ser impressos, como 1 ou A, digite o Nas caixas de texto Append Character 1 e 2, digite caracter. o cdigo ASCII hexadecimal para cada caracter.

5. Se o dispositivo ASCII estiver configurado para o controle de fluxo XON/XOFF, selecione a caixa de verificao XON/XOFF. 6. Se o dispositivo ASCII for um CRT ou estiver pr-configurado para transmisso half-duplex, selecione a caixa de verificao Echo Mode. 7. Selecione Delete Mode (Modo Delete):
Se um dispositivo ASCII for: CRT Selecione: CRT Notas: O caracter DEL ($7F) e o caracter que o precede no so enviados ao destino. Se o modo de eco for selecionado e uma instruo ASCII ler o caracter DEL, o eco retorna trs caracteres: BACKSPACE SPACE BACKSPACE ( $08 $20 $08). O caracter DEL ($7F) e o caracter que o precede no so enviados ao destino. Se o modo de eco for selecionado e uma instruo ASCII ler o caracter DEL, o eco retorna dois caracteres: / ($2F) seguido pelo caracter que foi deletado. O caracter DEL ($7F) tratado como outro caracter qualquer.

impressora

Printer

Nenhum dos acima citados

Ignore

8. Clique em OK.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com um Dispositivo ASCII

16-7

Criao de Tipos de Dados do String

Voc armazena caracteres ASCII nos tags que usam um tipo de dado string.

42811

42812

Voc pode usar o padro tipo de dados STRING. Ele armazena at 82 caracteres.

ou

Voc pode criar um novo tipo de dados da string para armazenar o nmero de caracteres que voc define.

IMPORTANTE

Tenha cuidado ao criar um novo string de tipo de dados. Se, posteriormente, voc decidir mudar o tamanho do tipo de dados do string, possvel que voc perca dados em qualquer tag que atualmente usa aquele tipo de dados.
Se voc: faa um grupo de tipo de dados menor crie um tipo de dados de string maior Ento: Os dados esto truncados. O LEN no trocado. Os dados e LEN so resetados para zero.

1. Voc quer criar um novo tipo de dados do string?


Se: no sim
3.

Ento: V para Leitura de Caracteres do Dispositivo na pgina 16-8. V para a etapa 2.

2. Na organizador do controlador, clique com o boto direito do mouse em Strings e selecione String Type 3. Insira um para o tipo de dados. 4. Insira o nmero mximo de caracteres que este tipo de dados de string armazenar. 5. Selecione OK.

42233

4.

Publicao 1756-PM001E-PT-P - Agosto 2002

16-8

Comunicao com um Dispositivo ASCII

Leitura de Caracteres do Dispositivo

Como regra geral, antes de ler o buffer, use uma instruo ACB ou ABL para verificar qual buffer contm os caracteres requisitados: Uma instruo ARD ou ARL continua a ler o buffer, at que a instruo leia os caracteres requisitados. Enquanto uma instruo ARD ou ARL estiver lendo o buffer, nenhuma outra instruo da porta serial ASCII, exceto a instruo ACL, pode ser executada. A verificao de que o buffer contm os caracteres requisitados evita que a instruo ARD ou ARL impea a execuo de outras instrues da porta serial ASCII, enquanto o dispositivo de entrada envia seus dados. Para informaes adicionais sobre como programar as instrues ASCII, consulte Logix5000 Controllers General Instructions Reference Manual, publicao 1756-RM003.

IMPORTANTE

Se voc no estiver familiarizado sobre como inserir uma lgica ladder em um projeto do RSLogix 5000, primeiramente consulte Rotinas de Programas na pgina 4-1.

1. Qual o tipo de dispositivo que voc est lendo?


Se um dispositivo ASCII for: leitor de cgido de barras balana que envia um nmero fixo de caracteres terminal de mensagem ou display balana que envia um nmero varivel de caracteres V para a etapa 14. Ento: V para a etapa 2.

2. Insira a seguinte linha:


4. 5. 3.

42235a

3. Insira 0. (A porta serial o canal 0.) 4. Insira um nome do tag para a instruo ACB e defina o tipo de dado como SERIAL_PORT_CONTROL. 5. Insira o bit EN do tag ACB. (O tag da etapa 4.)

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com um Dispositivo ASCII

16-9

6. Insira a seguinte linha:


10. 9.

12.
42235a

8.

11.

12.

7. Insira o membro POS do tag ACB. (O tag da etapa 4.) 8. Insira o nmero de caracteres nos dados. 9. Insira 0. 10. Insira um nome de tag para armazenar os caracteres ASCII. Defina o tipo de dados como um string. 11. Insira um nome do tag para a instruo ARD e defina os tipo de dados como SERIAL_PORT_CONTROL. 12. Insira o nmero de caracteres nos dados.

Publicao 1756-PM001E-PT-P - Agosto 2002

16-10

Comunicao com um Dispositivo ASCII

EXEMPLO

Um leitor de cdigo de barras envia cdigos de barras 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.
ACB ASCII Chars in Buffer Channel 0 SerialPort Control bar_code_count Character Count 0

bar_code_count.EN /

EN DN ER

Quando o buffer contm ao menos 24 caracteres, o controlador recebeu um cdigo de barra. 24 A instruo ARD muda o cdigo de barra para o tag bag_bar_code.
GEQ Grtr Than or Eql (A>=B) Source A bar_code_count.pos 0 Source B 24 ARD ASCII Read Channel Destination SerialPort Control String Length Characters Read EN 0 bag_bar_code '' bar_code_read 24 0 DN ER

42227

bar_code_read.EM

MID

13. Voc quer enviar dados para o dispositivo?


Se: sim no Ento: V para Envio de Caracteres para o Dispositivo na pgina 16-13. Pare. Voc est pronto para este dispositivo. Para usar os dados, v para Caracteres do Processo ASCII na pgina 17-1.

14. Insira a seguinte linha:


16. 15. 17.

42235

15. Insira 0. 16. Insira um nome do tag para a instruo ABL e defina os tipo de dados como SERIAL_PORT_CONTROL. 17. Insira o bit EN do tag ABL. (O tag da etapa 16.) 18. Insira a seguinte linha:

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com um Dispositivo ASCII

16-11

21. 19.

20.

22.
42235

23.

19. Insira o bit FD do tag ABL. (O tag da etapa 16.) 20. Insira 0. 21. Insira um nome de tag para armazenar os caracteres ASCII. Defina o tipo de dados como um string. 22. Insira um nome do tag para a instruo ARL e defina os tipo de dados como SERIAL_PORT_CONTROL. 23. Insira 0. Isto permite que a instruo configure SerialPort Control Length igual ao tamanho de Destination.

Publicao 1756-PM001E-PT-P - Agosto 2002

16-12

Comunicao com um Dispositivo ASCII

EXEMPLO

Continuamente, teste o buffer para uma mensagem do terminal MessageView. Como cada mensagem termina em um retorno de carro ($0D), este configurado como um caracter de extremidade na caixa de dilogo Controller Properties, guia User Protocol. Quando o ABL encontra um retorno de carro, 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 o retorno de carro (MV_line.FD est configurado), o controlador remove os caracteres do buffer, at e incluindo o retorno de carro e coloca-os no tag MV_msg.
MV_line.FD ARL ASCII Read Line Channel Destination SerialPort Control String Length Characters Read

EN 0 MV_msg '' MV_read 12 0 DN ER

42226

24. Voc que enviar dados para o dispositivo?


Se: sim no Ento: V para Envio de Caracteres para o Dispositivo na pgina 16-13. Pare. Voc est pronto para este dispositivo. Para usar os dados, v para Caracteres do Processo ASCII na pgina 17-1.

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com um Dispositivo ASCII

16-13

Envio de Caracteres para o Dispositivo

1. Determine onde iniciar:


Se voc: sempre envia o mesmo nmero de caracteres E: quer automaticamente adicionar um ou dois caracteres no fim dos dados no quer anexar os caracteres envie nmeros diferentes de caracteres quer automaticamente adicionar um ou dois caracteres no fim dos dados no quer anexar os caracteres Ento: V para a etapa 2 V para a etapa 9 V para a etapa 16 V para a etapa 24

2. Insira a seguinte linha:


5. 3. 4.

6.
42236a

7.

3. Insira a(s) condio(es) de entrada que determina(m) quando os caracteres esto para ser enviados. Voc pode usar qualquer tipo de instruo de entrada. A instruo deve mudar de falsa para verdadeira cada vez que os caracteres esto para ser enviados. 4. Insira 0. 5. Insira o nome do tag que armazena os caracteres ASCII. Defina o tipo de dados como um string. 6. Insira um nome do tag para a instruo AWA e defina os tipo de dados como SERIAL_PORT_CONTROL. 7. Insira o nmero de caracteres para enviar. Omita os caracteres que so anexados pela instruo.

Publicao 1756-PM001E-PT-P - Agosto 2002

16-14

Comunicao com um Dispositivo ASCII

EXEMPLO

Quando a temperatura excede o limite alto (temp_high est on (ligado), a instruo AWA envia cinco caracteres do tag string[1] para um terminal MessageView. A $14 conta como um caracter. Ele o cdigo hex para o caracter Ctrl-T. A instruo tambm envia (acrescenta) os caracteres definidos no protocolo do usurio do controlador. Neste exemplo, a instruo AWA envia um retorno de carro ($OD), que marca o fim da mensagem.

temp_high

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

EN 0 string[1] '$1425\1' temp_high_write 5 6 DN ER

42229

8. V para Insero dos Caracteres ASCII na pgina 16-18. 9. Insira a seguinte linha:
12. 10. 11.

13.
42236b

14.

10. Insira a(s) condio(es) de entrada que determina(m) quando os caracteres esto para ser enviados. Voc pode usar qualquer tipo de instruo de entrada. A instruo deve mudar de falsa para verdadeira cada vez que os caracteres esto para ser enviados. 11. Insira 0. 12. Insira o nome do tag que armazena os caracteres ASCII. Defina o tipo de dados como um .string 13. Insira um nome do tag para a instruo AWT e defina os tipo de dados como SERIAL_PORT_CONTROL. 14. Insira o nmero de caracteres para enviar.
Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com um Dispositivo ASCII

16-15

EXEMPLO

Quando a temperatura alcanar o limite baixo (temp_lowh est on (ligado), a instruo AWT envia cinco caracteres do tag string[2] para um terminal MessageView. A $14 conta como um caracter. Ele o cdigo hex para o caracter Ctrl-T.
AWT ASCII Write Channel Source SerialPort Control String Length Characters Sent EN 0 string[2] '$142224\01$r' temp_low_write 9 9 DN ER

temp_low

42229

15. V para Insero dos Caracteres ASCII na pgina 16-18. 16. Insira a seguinte linha:
19. 17. 18.

21.
42236c

22.

20.

17. Insira a(s) condio(es) de entrada que determina(m) quando os caracteres esto para ser enviados. Voc pode usar qualquer tipo de instruo de entrada. A instruo deve mudar de falsa para verdadeira cada vez que os caracteres esto para ser enviados. 18. Insira 0. 19. Insira o nome do tag que armazena os caracteres ASCII. Defina o tipo de dados como um .string 20. Insira um nome do tag para a instruo AWA e defina os tipo de dados como SERIAL_PORT_CONTROL. 21. Insira o membro LEN do tag Source. (O tag da etapa 19.) 22. Insira o membro LEN da instruo AWA. (O tag da etapa 20.)

Publicao 1756-PM001E-PT-P - Agosto 2002

16-16

Comunicao com um Dispositivo ASCII

EXEMPLO

Quando o alarme est ligado, a instruo AWA envia os caracteres em alarm_msg e anexa um caracter de extremidade. Por causa do nmero de caracteres em alarm_msg varia, a primeira linha muda o comprimento do alarm_msg (alarm_msg.LEN) para o comprimento da instruo AWA (alarm_write.LEN). Em alarm_msg, o $14 conta como um caracter. Ele o cdigo hex 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 String Length Characters Sent

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

42229

23. V para Insero dos Caracteres ASCII na pgina 16-18. 24. Insira a seguinte linha:
27. 25. 26.

29.
42236d

30.

28.

25. Insira a(s) condio(es) de entrada que determina(m) quando os caracteres esto para ser enviados. Voc pode usar qualquer tipo de instruo de entrada. A instruo deve mudar de falsa para verdadeira cada vez que os caracteres esto para ser enviados. 26. Insira 0. 27. Insira o nome do tag que armazena os caracteres ASCII. Defina o tipo de dados como um string. 28. Insira um nome do tag para a instruo AWT e defina os tipo de dados como SERIAL_PORT_CONTROL. 29. Insira o membro LEN do tag Source. (O tag da etapa 27.) 30. Insira o membro LEN da instruo AWT. (O tag da etapa 28.)

Publicao 1756-PM001E-PT-P - Agosto 2002

Comunicao com um Dispositivo ASCII

16-17

EXEMPLO

Quando MV_update estiver ligado, a instruo AWT envia os caracteres em MV_msg. Por causa do nmero de caracteres em MV_msg varia, a primeira linha muda o comprimento do MV_msg (MV_msg.LEN) para o comprimento da instruo AWA (MV_write.LEN). Em MV_msg, o $16 conta como um caracter. Ele o cdigo hex 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 String Length 10 Characters Sent 10

42229

31. V para Insero dos Caracteres ASCII na pgina 16-18.

Publicao 1756-PM001E-PT-P - Agosto 2002

16-18

Comunicao com um Dispositivo ASCII

Insero dos Caracteres ASCII

Determine se voc deve completar esta etapa:


Se: Voc quer lgica para criar o string. Voc quer inserir os caracteres. Ento: V para Caracteres do Processo ASCII na pgina 16-1. V para a etapa 1.

IMPORTANTE

Esta janela String Browser mostra os caracteres at o valor do membro LEN do tag do string. O tag do string pode conter dados adicionais que a janela String Browser no mostra.

1.

42616

1. Clique duas vezes na rea de valor do Source.

2.

smbolo do dlar ($24) aspa nica ($27) alimentao da linha ($0A) linha nova ($0D$0A) alimentao de formulrio ($0C) retorno do carro ($0D) guia ($09)
42615

O nmero de caracteres que voc visualiza na janela. Esta a mesma janela do membro LEN do tag do string.

O nmero mximo de caracteres que o tag do string pode manter.

2. Insira os caracteres para o string. 3. Selecione OK.

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

17

Caracteres do Processo ASCII

Quando Usar Este Procedimento

Use este procedimento para: interpretar um cdigo de barras e realizar a ao baseada nesse cdigo usar o peso de uma balana quando o peso for enviado como caracteres ASCII decodificar uma mensagem de um dispositivo de disparo ASCII, como por exemplo, um terminal do operao construir um string para um dispositivo de disparo ASCII usando as variveis de sua aplicao

Como Usar Este Procedimento


IMPORTANTE

Se voc no estiver familiarizado sobre como inserir uma lgica ladder em um projeto do RSLogix 5000, primeiramente consulte Rotinas de Programas na pgina 4-1.

Dependendo da sua aplicao, no ser necessrio realizar todas as tarefas deste procedimento. Use a tabela a seguir para determinar onde comear:
Se voc quiser: isolar as informaes especficas de um cdigo de barras procurar por um array para um string especfico de caracteres comparar dois strings de caracteres usar um peso de uma balana decodificar uma mensagem a partir de um terminal de operao criar um string para enviar para um terminal de operao Consulte: Separao de um Produto de um Cdigo de Barras Exame de um Cdigo de Barras Verificao de Caracteres do Cdigo de Barras Converso de um Valor Decodificao de uma Mensagem ASCII Construo de um String Na pgina: 17-2 17-4 17-9 17-11 17-13 17-17

Para informaes adicionais sobre como relacionar as instrues ASCII, consulte Logix5000 Controllers General Instructions Reference Manual, publicao 1756-RM003.

Publicao 1756-PM001E-PT-P - Agosto 2002

17-2

Caracteres do Processo ASCII

Separao de um Produto de um Cdigo de Barras

Use as etapas a seguir para separar um produto de um cdigo de barras para que voc possa realizar a ao com base nesse valor. Por exemplo, um cdigo de barras pode conter informaes sobre uma bagagem em uma esteira transportadora em um aeroporto. Para verificar o nmero do vo e destino da bagagem, voc separa os caracteres entre 10 - 18.

linha area cdigo de barras nmero do caracter N 1 W A 2 3 4 5

origem H 6 O 7 P 8 9

n do vo 5 0 5 8

destino A M S

data 0 2 2 2 0 1

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

M S

9 caracteres

Etapas:
1. Insira a seguinte linha:
5. 3. 2. 6. 4.

42808

2. Insira o bit EM da instruo ARD que l o cdigo de barras. 3. Insira o string tag que contm o cdigo de barras. 4. Insira o nmero de caracteres na parte do cdigo de barras que voc quer verificar. 5. Insira a posio do primeiro caracter na parte do cdigo de barras que voc quer verificar. 6. Insira o nome do tag para armazenar a parte do cdigo de barras que voc quer verificar. Defina o tipo de dados como um string.

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-3

EXEMPLO

No manuseio do transporte da bagagem de um aeroporto, cada bagagem obtm um cdigo de barras. Os caracteres entre 10 - 18 do cdigo de barras correspondem ao nmero do vo e aeroporto de destino da bagagem. Depois que o cdigo de barras lido (bag_read.EM est energizado) a instruo MID copia o nmero do vo e o aeroporto de destino para o tag bag_flt_and_dest.

42808

Publicao 1756-PM001E-PT-P - Agosto 2002

17-4

Caracteres do Processo ASCII

Exame de um Cdigo de Barras

Use as seguintes etapas para retornar informaes especficas sobre um item baseado em seu cdigo de barras. Por exemplo, em uma classificao de operao, um array de um tipo de dados definido pelo usurio cria uma tabela que mostra o nmero da linha para cada tipo de produto. Para determinar qual linha faz o roteamento de um produto, o controlador busca a tabela para a ID do produto (caracteres do cdigo de barras que identificam o produto).
Nome do Tag sort_table Valor

product_id GHI

sort_table[0] + sort_table[0].Product_ID + sort_table[0].Lane sort_table[1] + sort_table[1].Product_ID + sort_table[1].Lane sort_table[2] + sort_table[2].Product_ID + sort_table[2].Lane GHI 3 linha 3 DEF 2 ABC 1

Para examinar um Cdigo de Barras DICA Criao do Tipo de Dados PRODUCT_INFO Busca de Caracteres Identificao do Nmero da Linha Rejeio de Caracteres Ruins Insero dos IDs de Produto e Nmeros da Linha

Para copiar os componentes acima a partir de um projeto de amostra, abra a pasta \RSLogix 5000\Projects\Samples.

Abra este projeto.


43039

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-5

Criao do Tipo de Dados PRODUCT_INFO


Para criar um novo tipo de dados: + + + Controller Your_Project Tasks Motion Groups Trends Data Types User-Defined Membros: Nome + Product_ID Linha Tipo de Dados STRING DINT Decimal Estilo: Descrio Caracteres ASCII que identificam o item Destino para o item baseado em seu ID

Crie o tipo de dados definidos pelo usurio a seguir.


Tipo de Dados:PRODUCT_INFO
Nome Descrio PRODUCT_INFO Identifica o destino para um item baseado em um string ASCII de caracteres que identificam o item

clique com o boto direito do mouse e selecione New Data Type.

Busca de Caracteres

1. 2. 3.

43038

1. A instruo SIZE conta o nmero de elementos no array sort_table. Este array contm o ID do produto para cada item e o nmero da linha correspondente para o item.
Nome do Tag sort_table Tipo PRODUCT_INFO[number_of_items ] onde: number_of_items o nmero de hat de itens voc deve classificar.

2. A instruo conta SIZE o nmero de elementos na Dimenso 0 do array. Neste caso, aquele nmero somente a dimenso.

Publicao 1756-PM001E-PT-P - Agosto 2002

17-6

Caracteres do Processo ASCII

3. A instruo SIZE configura Lenght (Comprimento) da instruo FSC subseqente igual ao tamanho do array sort_table. Isto garante que a instruo FSC busque o tamanho exato do array.
Nome do Tag sort_table_search Tipo CONTROL

4. 5. 6.
43038

4. O tag sort_table_search controla a instruo FSC, que examina o array sort_table para os caracteres do cdigo de barras. 5. Embora a instruo anterior configure o Lenght (Comprimento) desta instruo, o software requer um valor inicial para verificar o projeto. 6. O tag product_id contm os caracteres do cdigo de barras que identificam o item. A instruo FSC busca por cada membro Product_ID no array sort_table at que a instruo encontre um correspondente para o tag product_id.
Nome do Tag product_id Tipo STRING

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-7

Identificao do Nmero da Linha


1. 2. 3. 4.

43038

1. Quando a instruo FSC encontra o ID do produto dentro do array sort_table, a instruo energiza o bit FD. 2. Quando a FSC encontra um correspondente, o membro POS indica o nmero de elementos dentro do array sort_table do correspondente. O membro LANE correspondente indica o nmero a linha do correspondente. 3. Baseada no valor POS, a instruo MOV muda o nmero da linha do correspondente para o tag lane. O controlador usa o valor deste tag para fazer o roteamento do item.
Nome do Tag lane Tipo DINT

4. Depois que a instruo MOV configura o valor do tag lane, a instruo RES reseta a instruo FSC, logo, ela pode procurar o prximo ID de produto.

Publicao 1756-PM001E-PT-P - Agosto 2002

17-8

Caracteres do Processo ASCII

Rejeio de Caracteres Ruins


1. 2. 3.

43038

1. Caso a instruo FSC no encontre o ID do produto dentro do array sort_table, a instruo energiza o bit DN. 2. Quando nenhum correspondente for encontrado, a instruo MOV muda 999 para o tag da linha. Este informa ao controlador que rejeite ou faa um novo roteamento do item. 3. Depois que a instruo MOV configura o valor do tag lane, a instruo RES reseta a instruo FSC, logo, ela pode procurar o prximo ID de produto.

Insero dos IDs de Produto e Nmeros da Linha


No array sort_table, insira os caracteres ASCII que identificam cada item e o nmero da linha correspondente para o item.
Nome do Tag sort_table sort_table[0] + sort_table[0].Product_ID + sort_table[0].Lane sort_table[1] + sort_table[1].Product_ID + sort_table[1].Lane {} {} Caracteres ASCII que identificam o primeiro item o nmero da linha para o item {} Caracteres ASCII que identificam o prximo item o nmero da linha para o item Valor

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-9

Verificao de Caracteres do Cdigo de Barras

Nesta tarefa, voc usa uma instruo de comparao (EQU, GEQ, GRT, LEQ, LES, NEQ) para verificar os caracteres especficos. Os valores hexadecimais dos caracteres determinam se um string menor ou maior que outro string. Quando dois strings esto classificados em uma lista telefnica, a ordem dos strings determina qual deles o maior.
Caracteres ASCII 1ab
m e n o r m a i o r

Cdigos Hex $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B

1b A AB B A ab

Etapas:
1. Insira uma linha e uma instruo de comparao:
Para ver se o string : igual aos caracteres especficos diferente dos caracteres especficos maior do que os caracteres especficos igual ou maior do que os caracteres especficos menor do que os caracteres especficos igual ou menor do que os caracteres especficos Digite esta instruo: EQU NEQ GRT GEQ LES LEQ

2.

3.

6.

4.

42808

2. Insira o tag que armazena a parte do cdigo de barras que voc quer verificar. (O Destino a partir de Separao de um Produto de um Cdigo de Barras, etapa 6.) 3. Insira um nome de tag para armazenar os caracteres que voc quer testar. Defina o tipo de dados como um string. 4. Clique duas vezes na rea do valor da Fonte B. 5. Insira os caracteres ASCII para teste e selecione OK.
42615

Publicao 1756-PM001E-PT-P - Agosto 2002

17-10

Caracteres do Processo ASCII

6. Insira a sada solicitada.

EXEMPLO

Quando bag_flt_and_dest for igual a gate[1], xfer{1] acende. Dessa forma, a bagagem encaminhada para o porto correto.

42808

7. Voc quer verificar uma outra parte do cdigo de barras?


Se: sim no Ento: V para Separao de um Produto de um Cdigo de Barras na pgina 17-2. Pare. Voc est pronto para este dispositivo.

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-11

Converso de um Valor

Use as etapas a seguir para converter a representao ASCII de um valor para um valor DINT ou REAL que voc possa usar na aplicao. As instrues STOD e STOR ignoram qualquer controle inicial ou caracteres no numricos (exceto com o sinal menos na frente de um nmero). Se o string tiver mltiplos grupos de nmeros que esto separados pelos delimitadores (por exemplo., / ), as instrues STOD e STOR convertem somente o primeiro grupo de nmeros.

Etapas:
1. Que tipo de nmero o valor?
Se: ponto flutuante inteiro Ento: V para a etapa 2. V para a etapa 7.

2. Insira a seguinte linha:


4. 3. 5.

42810

3. Insira o bit EM da instruo ARD ou ARL que l o valor. 4. Insira o tag string que contm o valor. 5. Insira o nome do tag para armazenar o valor a ser usado na aplicao. Defina o tipo de dados como REAL.

EXEMPLO

Aps ler o peso na escala (weight_read.EM est energizado) a instruo STOR converte os caracteres numricos em weight_ascii para um valor REAL e armazena o resultado em weight.

42810

Publicao 1756-PM001E-PT-P - Agosto 2002

17-12

Caracteres do Processo ASCII

6. V para a etapa 11. 7. Insira a seguinte linha:


9. 8. 10.

42810

8. Insira o bit EM da instruo ARD ou ARL que l o valor. 9. Insira o tag string que contm o valor. 10. Insira o nome do tag para armazenar o valor a ser usado na aplicao. Defina o tipo de dados como DINT.

EXEMPLO

Quando MV_read.EM estiver energizado, a instruo STOD converte o primeiro conjunto de caracteres numricos em MV_msg para um valor inteiro. A instruo pula o caracter de controle inicial ($06) e pra no delimitador ( \ ).

42620

11. Este string possui um outro valor que voc queira usar?
Se: sim no Ento: V para Decodificao de uma Mensagem ASCII na pgina 17-13. Pare. Voc est pronto para este dispositivo.

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-13

Decodificao de uma Mensagem ASCII

Use as etapas a seguir para extrair e converter um valor de uma mensagem ASCII que contenha mltiplos valores. Por exemplo, uma mensagem pode ser semelhante a:
primeiro valor segundo valor terceiro valor

[Ctrl-F] n de \ F-key mensagem

\ F-key action [CR]

caracter de controle delimitador delimitador

caracter de terminao

1. Determine onde iniciar:


Se o: string possuir mais que um valor string possuir somente um valor E: Este o primeiro valor. Este no o valor. V para a etapa 2. V para Converso de um Valor na pgina 17-11. Ento: V para Converso de um Valor na pgina 17-11.

2. Que tipo de nmero o valor?


Se: ponto flutuante inteiro Ento: Insira Linha A: Encontre e Converta um Valor de Ponto Flutuante Insira Linha B: Encontre e Converta um Valor Inteiro

Linha A: Encontre e Converta um Valor de Ponto Flutuante

42810

Linha B: Encontre e Converta um Valor Inteiro

42810

Publicao 1756-PM001E-PT-P - Agosto 2002

17-14

Caracteres do Processo ASCII

4. 3.

5. 6.

42810

8.

9.

3. Insira o bit EM da instruo ARL que l o valor. 4. Insira o tag string que contm o valor. 5. Insira um nome do tag para armazenar o delimitador que marca o comeo do valor. Defina o tipo de dados como um string. 6. Clique duas vezes na rea do valor de Busca.

42615

7. Insira o delimitador e selecione OK. 8. Insira a posio no string para iniciar a busca. Inicialmente, voc pode usar o 0 para encontrar o primeiro delimitador. Para decodificar os dados adicionais, aumente este valor para buscar o prximo delimitador. 9. Insira um nome de tag para armazenar a localizao do delimitador. Defina o tipo de dados como um DINT.

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-15

10.

11.

42810

12.

13.

10. Insira o tag Zeichenkette que contm o valor. 11. Insira o nmero mximo de caracteres que este valor pode conter. 12. Insira o tag que armazena a posio do delimitador. (O tag da etapa 9.) 13. Insira o nome do tag para armazenar este valor. Defina o tipo de dados como um string. 14. Qual o tipo de instruo de converso que voc usou?
Se: STOR STOD V para a etapa 15. V para a etapa 18. Ento:

15.

16.

42809

15. Insira o tag que contm o valor. (O tag da etapa 13.) 16. Insira o nome do tag para armazenar o valor a ser usado na aplicao. Defina o tipo de dados como REAL. 17. V para a etapa 20.
18. 19.

Publicao 1756-PM001E-PT-P - Agosto 2002

17-16

Caracteres do Processo ASCII

42809

18. Insira o tag que armazena o valor. (O tag da etapa 13.) 19. Insira o nome do tag para armazenar o valor a ser usado na aplicao. Defina o tipo de dados como DINT. 20. Este string possui um outro valor que voc queira usar?
Se: sim Ento: A. Adicione 1 ao Resultado da instruo Find. (O tag da etapa 9.) B. Repita as etapas 2 - 19. Pare. Voc est pronto para este dispositivo.

no

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-17

Construo de um String

Use as etapas a seguir para construir um string a partir das variveis na aplicao. Voc pode enviar o string para um dispositivo de disparo ASCII, como um terminal MessageView. Neste procedimento, voc constri um string com duas variveis. Por exemplo, um terminal de operao pode requerer um string semelhante a:
[Ctrl-F] n de mensagem \ endereo [CR]

caracter de controle

delimitador

caracter de terminao

Se voc precisar incluir mais variveis, use as instrues adicionais INSERT ou CONCAT. Se voc precisar enviar um valor de ponto flutuante, use a instruo RTOS no lugar da instruo DTOS. O string final no incluir o caractere de terminao. Ao enviar o string, use uma instruo AWA para automaticamente anexar o caracter de terminao.

Etapas:
1. Insira a seguinte linha:
2. 3. 4.

42813

2. Insira a condio de entrada que determina quando construir um string. 3. Insira o tag DINT que contm o primeiro valor para o string. 4. Insira o nome do tag para armazenar a representao do valor ASCII. Defina o tipo de dados como um string.

Publicao 1756-PM001E-PT-P - Agosto 2002

17-18

Caracteres do Processo ASCII

5.

6.

8.

42813

9.

10.

5. Insira o nome do tag para armazenar o controle e o delimitador de caracteres para o string. Defina o tipo de dados como um string. 6. Clique duas vezes na rea de valor da Fonte A.

42615

7. Insira o controle e o delimitador de caracteres e selecione OK. Para um controle de caracteres, insira o cdigo hex dos caracteres. Para uma lista de cdigos hex, consulte a terceira capa deste manual. 8. Insira o tag que armazena a representao do primeiro valor ASCII. (O tag da etapa 4.) 9. Insira 2. Isto coloca o valor depois do primeiro caracteres (controla o caracteres) na Fonte A. 10. Insira um nome de tag para armazenar o string concludo parcialmente. Defina o tipo de dados como um string.

Publicao 1756-PM001E-PT-P - Agosto 2002

Caracteres do Processo ASCII

17-19

11.

12.

13.

14.

42813

15.

11. Insira o tag DINT que contm o segundo valor para o string. 12. Insira o nome do tag para armazenar a representao do valor ASCII. Defina o tipo de dados como um string. 13. Insira o tag que armazena o string concludo parcialmente. (O tag da etapa 10.) 14. Insira o tag que armazena a representao do segundo valor ASCII. (O tag da etapa 12.) 15. Insira um nome de tag para armazenar o string concludo. Defina o tipo de dados como um string.

Publicao 1756-PM001E-PT-P - Agosto 2002

17-20

Caracteres do Processo ASCII

EXEMPLO

Para disparar uma mensagem no terminal MessageView, o controlador envia ao terminal uma mensagem no seguinte formato: [Ctrl-T] message # \ address [CR] Quando send_msg estiver energizado, a linha faz o seguinte: A primeira instruo DTOS converte o nmero de mensagem para os caracteres ASCII. A instruo INSERT insere o nmero e mensagem (em ASCII) aps o caracter de controle [Ctrl-T]. (O cdigo hex parar Ctrl-T $14.) A segunda instruo DTOS converte o nmero de ns do terminal para os caracteres ASCII. A instruo CONCAT coloca o nmero de ns (em ASCII) depois da barra invertida [ \ ] e armazena o string final na msg. Para enviar a mensagem, uma instruo AWA envia o tag msg e anexa o CR [CR].

42813

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

18

Elementos da Lgica Force

Quando Usar Este Procedimento

Use um force para cancelar os dados que a lgica usa ou produz. Por exemplo, use os forces nas seguintes situaes: testar e depurar a lgica verificar a conexo a um dispositivo de sada manter temporariamente o processo funcionando quando houver uma falha de um dispositivo de entrada Use os forces somente como uma medida temporria. Eles no foram planejados para serem partes permanentes da aplicao.

Como Usar Este Procedimento


Se voc quiser: revisar as precaues que deve ter sempre que adicionar, alterar, remover ou desabilitar os forces determinar o estado atual dos forces no projeto determinar que tipo de elemento para forar o projeto revisar as informaes gerais sobre os forces de E/S incluindo quais elementos so permitidos forar e como um force de E/S repercute no projeto forar um valor de E/S Consulte: Precaues na pgina 18-2 Verificar o Status do Force na pgina 18-4 O Que Forar na pgina 18-6 Quando Usar um Force de E/S na pgina 18-6 Adicionar um force de E/S na pgina 18-8

revisar as informaes gerais sobre como passar por uma transio ou caminho simultneo Quando Usar Step Through na pgina 18-9 passar por uma transio passar por um caminho simultneo forado para falso revisar as informaes gerais sobre os forces SFC incluindo quais elementos so permitidos forar e como os forces repercutem na execuo da SFC forar uma transio ou caminho simultneo em uma SFC parar os efeitos de um force Uso de uma Opo Step Through para uma Transio ou Force de um Caminho na pgina 18-9 Quando Usar um Force de SFC na pgina 18-9 Adio de um Force SFC na pgina 18-11 Remoo ou Desabilitao de Forces na pgina 18-12

Publicao 1756-PM001E-PT-P - Agosto 2002

18-2

Elementos da Lgica Force

Precaues

Ao usar forces, tome as seguintes precaues: ATENO Forar pode causar um movimento inesperado da mquina que pode resultar em ferimentos. Antes de usar um force, determine o efeito que ele ter sobre sua mquina ou processo e mantenha os funcionrios longe da rea da mquina. Habilitar os forces de E/S resulta na alterao da entrada, sada e valores produzidos ou consumidos. Habilitar os forces SFC leva a sua mquina ou processo para um diferente estado ou fase. Remover os forces pode ainda deix-las no estado habilitado. Se os forces forem habilitados e voc instalar um force, o novo force entra em vigor imediatamente.

Habilitar Forces
Para um force ter efeito, necessrio habilit-los. possvel somente habilitar e desabilitar os forces no nvel do controlador. possvel habilitar os forces de E/S e os forces de SFC separadamente ou ao mesmo tempo. No possvel habilitar ou desabilitar os forces para um mdulo especfico, coleta de tag ou elemento de tag.

IMPORTANTE

Se fizer o download de um projeto que tenha os forces habilitados, o software de programao solicita a habilitao ou desabilitao dos forces aps a concluso do download. aparece

Quando os forces estiverem em execuo (habilitados), um prximo ao elemento forado.

Publicao 1756-PM001E-PT-P - Agosto 2002

Elementos da Lgica Force

18-3

os forces esto em execuo (habilitados)

estado para o qual o elemento forado

Desabilitar ou Remover um Force


Para parar a execuo de um force e deixar o projeto executar conforme programado, desabilite ou remova o force. possvel desabilitar ou remover os forces de E/S e os forces de SFC separadamente ou ao mesmo tempo. Remover um force em um tag alias tambm remove o force no tag base.

ATENO

Alterar os forces pode causar um movimento inesperado da mquina que resulte em ferimentos. Antes de desabilitar ou remover os forces, determine como a alterao ter efeito sobre sua mquina ou processo e mantenha os funcionrios longe da rea da mquina.

Publicao 1756-PM001E-PT-P - Agosto 2002

18-4

Elementos da Lgica Force

Verificar o Status do Force

Antes de usar um force, determine o status dos forces do controlador. possvel verificar o status do force da seguinte maneira:
Para determinar o status de: forces de E/S Use: Barra de Ferramentas On-line LED FORCE Instruo GSV forces de SFC Barra de Ferramentas On-line

Barra de Ferramentas On-line


A barra de ferramentas on-line mostra o status dos forces de E/S e de SFC separadamente.

Guia Forces

Este: Enabled

Significa: Se o projeto contiver algum force desse tipo, eles esto suprimindo a lgica. Se voc adicionar um force desse tipo, o novo force tem efeito imediato Os forces desse tipo so inativos. Se o projeto contiver algum force desse tipo, eles no esto suprimindo a lgica. Pelo menos um force desse tipo existe no projeto. Nenhum force desse tipo existe no projeto.

Disabled Installed None Installed

Publicao 1756-PM001E-PT-P - Agosto 2002

Elementos da Lgica Force

18-5

LED FORCE
Se o controlador possuir um LED FORCE, use-o para determinar o status dos forces de E/S. IMPORTANTE O LED FORCE mostra somente o status dos forces de E/S. Ele no mostra o status dos forces de SFC.
Ento: Nenhum dos tags contm valores de force. Os forces de E/S esto inativos (desabilitados). Pelo menos um tag contm um valor de force. os forces de E/S esto inativos (desabilitados). Os forces de E/S so ativos (habilitados). Os valores de force podem ou no existir.

Se LED FORCE estiver: off (desenergizado) piscando slido

Instruo GSV
IMPORTANTE O atributo ForceStatus mostra somente o status dos forces de E/S. Ele no mostra o status dos forces de SFC.

O exemplo a seguir mostra como usar uma instruo GSV para obter o status dos forces.

onde: Force_Status um tag DINT.


Para determinar se: os forces esto instalados no h forces instalados os forces esto habilitados os forces esto desabilitados 0 0 1 1 Examine esse bit: 1 0 1 0 Para esse valor:

Publicao 1756-PM001E-PT-P - Agosto 2002

18-6

Elementos da Lgica Force

O Que Forar

possvel forar os seguintes elementos do projeto:


Se voc quiser: Ento: Adicionar um force de E/S Uso de uma Opo Step Through para uma Transio ou Force de um Caminho Adio de um Force SFC

suprimir um valor de entrada ou sada e um tag produzido ou consumido suprimir as condies de uma transio uma vez para ir de uma etapa ativa para a prxima etapa suprimir uma vez o force de um caminho simultneo e executar as etapas deste caminho suprimir as condies de uma transio em um controle seqencial de funes executar alguns, mas no todos, os caminhos de uma ramificao simultnea de um controle seqencial de funes

Quando Usar um Force de E/S

Use um force de E/S para: suprimir um valor de entrada de um outro controlador (isto , um tag consumido) suprimir um valor de entrada de um dispositivo de entrada suprimir a lgica e especificar um valor de sada para um outro controlador (isto , um tag produzido) suprimir a lgica e especificar o estado de um dispositivo de sada

IMPORTANTE

O force aumenta o tempo de execuo da lgica. Quanto mais valores forem forados, mais tempo leva para executar a lgica.

IMPORTANTE

Os forces de E/S so suportados pelo controlador e no pela estao de trabalho de programao. Os forces permanecem mesmo se a estao de trabalho de programao estiver desconectada.

Quando forar um valor de E/S: possvel forar todos os dados de E/S, exceto para os dados de configurao. Se o tag est em uma matriz ou estrutura, como um tag de E/S, force um elemento ou membro BOOL, SINT, INT, DINT ou REAL. Se o valor de dados for um SINT, INT ou DINT, possvel forar os valores totais ou possvel forar os bits individuais no valor. Os bits individuais podem ter um status de force de: sem force force energizado force desenergizado possvel tambm forar um alias para um membro de estrutura de E/S, tag produzido ou tag consumido.

Publicao 1756-PM001E-PT-P - Agosto 2002

Elementos da Lgica Force

18-7

Um tag alias compartilha os mesmos valores de dados que o seu tag base, pois forando um tag alias tambm fora o tag base associado. Remover um force de um tag alias remove o force do tag base associado.

Forar um Valor de Entrada


Forar um tag consumido ou entrada: suprime o valor no importando o valor do dispositivo fsico ou tag produzido no afeta o valor recebido pelos outros controladores monitorando a entrada ou o tag produzido

Forar um Valor de Sada


Forar uma sada ou um tag produzido suprime a lgica para o dispositivo fsico ou outro controlador(es). Outros controladores monitorando o mdulo de sada em um recurso listen-only tambm visualizaro o valor forado.

Publicao 1756-PM001E-PT-P - Agosto 2002

18-8

Elementos da Lgica Force

Adicionar um force de E/S

Para suprimir um valor de entrada, valor de sada, tag produzido ou tag consumido use um force de E/S: ATENO Alterar os forces pode causar um movimento inesperado da mquina que resulte em ferimentos. Antes de desabilitar ou remover os forces, determine como a alterao ter efeito sobre sua mquina ou processo e mantenha os funcionrios longe da rea da mquina. Habilitar os forces de E/S resulta na alterao dos valores de entrada, sada, produzidos ou consumidos. Se os forces estiverem habilitados e voc instalar um force, o novo force tem efeito imediato.

!
Se:

1. Qual o estado do indicador dos Forces de E/S ?


Observe o seguinte:

off No existem forces de E/S atualmente. (desenergizado) piscando No h forces de E/S ativo. Entretanto, pelo menos, j existe no projeto. Ao habilitar os forces de E/S, todos os forces de E/S existentes tambm tero efeito. Os forces de E/S esto habilitados (ativos). Ao instalar (adicionar) um force, ele tem efeito imediato.

slido

2. Abra a rotina que contm o tag que voc quer forar. 3. Clique com o boto direito do mouse no tag e selecione Monitor Se necessrio, expanda o tag para mostrar o valor que quer forar (p. ex.: valor BOOL de um tag DINT). 4. Instale o valor do force:
Para forar um: valor BOOL valor no BOOL Faa isto: Clique com o boto direito do mouse no tag e selecione Force ON ou Force OFF. Na coluna Force Mask para o tag, digite o valor para o qual quer forar o tag. Pressione a tecla Enter.

5. Os forces de E/S esto habilitadas? (Consulte a etapa 1.)


Se: no sim Ento: No menu Logic, escolha I/O Forcing Enable All I/O Forces. Em seguida, selecione Yes para confirmar. Pare.

Publicao 1756-PM001E-PT-P - Agosto 2002

Elementos da Lgica Force

18-9

Quando Usar Step Through

Para suprimir uma transio falsa uma vez e ir de uma etapa ativa para a etapa seguinte, use a opo Step Through. Com a opo Step Through: Voc no tem que adicionar, habilitar, desabilitar ou remover os forces. A prxima vez que SFC alcanar a transio, ela executa de acordo com as condies de transio. Essa opo, tambm permite que voc iniba uma vez o force falso de um caminho simultneo. Ao realizar um step through pelo force, a SFC executa as etapas do caminho.

Uso de uma Opo Step Through para uma Transio ou Force de um Caminho

Para usar a opo step through para a transio de uma etapa ativa ou um force de um caminho simultneo: 1. Abra a rotina SFC 2. Clique com o boto direito do mouse na transio ou no caminho forado e selecione Step Through.

Quando Usar um Force de SFC

Para suprimir a lgica de um SFC, voc tem essas opes:


Se voc quiser: suprimir as condies de uma transio cada vez que a SFC alcana a transio evitar a execuo de um ou mais caminhos de uma ramificao simultnea Ento: Force de uma Transio Force de um Caminho Simultneo

Force de uma Transio


Para suprimir as condies de uma transio por execues repetidas de um SFC, force a transio. O force permanece at que voc a remova ou desabilite os forces
Se voc quiser: evitar que SFC v para a etapa seguinte levar SFC para a prxima etapa independente das condies de transio Ento: force a transio falsa force a transio verdadeira

Se forar uma transio em uma ramificao simultnea que seja falsa, SFC permanece na ramificao simultnea enquanto o force estiver ativo (instalado e habilitado). Para sair de uma ramificao simultnea, a ltima etapa de cada caminho deve executar pelo menos uma vez e a transio abaixo da ramificao deve ser verdadeira. Forar uma transio falsa evita que o SFC de alcance a ltima etapa de um caminho. Ao remover ou desabilitar o force, o SFC pode executar o restante das etapas no caminho.
Publicao 1756-PM001E-PT-P - Agosto 2002

18-10

Elementos da Lgica Force

Por exemplo, para sair dessa ramificao, o SFC deve: executar a Step_011 pelo menos uma vez ter passado Tran_011 e executar Step_012 pelo menos uma vez determinar se Tran_012 verdadeiro

Force de um Caminho Simultneo


Para evitar a execuo de um caminho de uma ramificao simultnea, force o caminho falso. Quando SFC alcanar a ramificao, ele executa somente caminhos no forados.

se caminho executa.

Esse caminho no executa.

Se forar um caminho de uma ramificao simultnea que seja falsa, o SFC permanece na ramificao simultnea enquanto o force estiver ativo (instalado e habilitado). Para sair de uma ramificao simultnea, a ltima etapa de cada caminho deve executar pelo menos uma vez e a transio abaixo da ramificao deve ser verdadeira. Forar um caminho falso evita que o SFC insira um caminho e execute suas etapas. Ao remover ou desabilitar o force, o SFC pode executar as etapas no caminho.

Publicao 1756-PM001E-PT-P - Agosto 2002

Elementos da Lgica Force

18-11

Adio de um Force SFC

Para suprimir a lgica de um SFC, use um force de SFC: ATENO Alterar os forces pode causar um movimento inesperado da mquina que resulte em ferimentos. Antes de desabilitar ou remover os forces, determine como a alterao ter efeito sobre sua mquina ou processo e mantenha os funcionrios longe da rea da mquina. Habilitar os forces de E/S resulta na alterao dos valores de entrada, sada, produzidos ou consumidos. Se os forces estiverem habilitados e voc instalar um force, o novo force tem efeito imediato.

!
Se:

1. Qual o estado do indicador dos forces de SFC?


Observe o seguinte:

off No existem forces SFC atualmente. (desenergizado) piscando No h forces de SFC ativos. Entretanto, j existe pelo menos um force j existe no projeto. Ao habilitar os forces de SFC, todos os forces de SFC existentes tambm repercutiro. No h forces SFC habilitados (ativos). Ao instalar (adicionar) um force, ele tem efeito imediato.

slido

2. Abra a rotina de SFC. 3. Clique com o boto direito na transio ou comece de um caminho simultneo que quer forar e selecione Force TRUE (somente para uma transio) ou Force FALSE. 4. H forces de SFC habilitados? (Consulte a etapa 1.)
Se: no sim Ento: No menu Logic, selecione SFC Forcing Enable All SFC Forces. Em seguida Yes para confirmar. Pare.

Publicao 1756-PM001E-PT-P - Agosto 2002

18-12

Elementos da Lgica Force

Remoo ou Desabilitao de Forces


ATENO

!
Se voc quiser: parar um force individual parar todos os forces de E/S e de SFC

Alterar os forces pode causar um movimento inesperado da mquina que resulte em ferimentos. Antes de desabilitar ou remover os forces, determine como a alterao ter efeito sobre sua mquina ou processo e mantenha os funcionrios longe da rea da mquina.

E: deixe outros forces habilitados e em vigor deixe os forces no projeto remover os forces do projeto

Ento: Remover um Force Individual Desabilitao de Todos os Forces de E/S e SFC Remover Todos os Forces de E/S e SFC Desabilitao de Todos os Forces de E/S Remoo de Todos os Forces de E/S Desabilitao de Todos os Forces de SFC Remoo de Todos os Forces de SFC

parar todas os forces de E/S, mas deixar todos os forces de SFC ativos parar todos os forces de SFC, mas deixar todos os forces de E/S ativos

deixe os forces de E/S no projeto remover os forces de E/S no projeto deixe os forces de SFC no projeto remover os forces de SFC no projeto

Remover um Force Individual


ATENO Se remover um force individual, os forces permanecem no estado habilitado e qualquer novo force tem efeito imediato. Antes de remover um force, determine como a alterao ter efeito sobre sua mquina ou processo e mantenha os funcionrios longe da rea da mquina.

!
SFC lgica ladder bloco de funes texto estruturado

1. Abra a rotina que contm o force que voc quer remover. 2. Qual a linguagem da rotina?
Se: Ento: V para a etapa etapa 4. V para a etapa etapa 4. V para a etapa etapa 3. V para a etapa etapa 3.

3. Clique com o boto direito no tag que possui o force e escolha Monitor Se necessrio, expanda o tag para mostrar o valor forado (p. ex.:, valor BOOL de um tag DINT).

Publicao 1756-PM001E-PT-P - Agosto 2002

Elementos da Lgica Force

18-13

4. Clique com o boto direito no tag ou no elemento que possui o force e selecione Remove Step.

Desabilitao de Todos os Forces de E/S e SFC


1. Na barra de ferramentas on-line, clique na guia Forces. 2. Na guia Forces, clique em e escolha Disable All Forces. Em seguida, selecione Yes para confirmar.

Remover Todos os Forces de E/S e SFC


1. Na barra de ferramentas on-line, clique na guia Forces. 2. Na guia Forces, clique em e selecione Remove All Forces. Selecione Yes para confirmar.

Desabilitao de Todos os Forces de E/S


No menu Logic, escolha I/O Forcing Disable All I/O Forces e selecione Yes para confirmar.

Remoo de Todos os Forces de E/S


No menu Logic, escolha I/O Forcing Remove All I/O Forces e selecione ento Yes para confirmar.

Desabilitao de Todos os Forces de SFC


No menu Logic, escolha SFC Forcing Disable All SFC Forces e selecione Yes para confirmar.

Remoo de Todos os Forces de SFC


No menu Logic, escolha SFC Forcing Remove All SFC Forces e selecione ento Yes para confirmar.

Publicao 1756-PM001E-PT-P - Agosto 2002

18-14

Elementos da Lgica Force

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

19

Desenvolvimento de uma Rotina de Falha

Quando Usar Este Procedimento

Se uma condio de falha ocorrer, que seja severa o suficiente para que o controlador desligue, o controlador gera uma falha grave e pra a execuo da lgica. Dependendo de sua aplicao, voc pode no querer que todas as falhas graves desliguem todo o seu sistema. Nestas situaes, voc pode usar uma rotina de falha para remover a falha especfica e permitir que algumas partes do sistema continuem a operar. EXEMPLO Use uma rotina de falha Em um sistema que usa nmeros de receita, como endereos indiretos, um nmero digitado de forma errada pode produzir uma falha grave, como tipo 4, cdigo 20. Para prevenir que o sistema todo desligue, uma rotina de falha remove qualquer falha do tipo 4, cdigo 20.

Como Usar Este Procedimento

Para desenvolver uma rotina de falha : Crie do Tipo de Dados FAULTRECORD Remova de uma Falha Grave Remova de uma Falha Grave Remova de uma Falha Grave Durante a Pr-varredura Teste uma Rotina de Falha

Publicao 1756-PM001E-PT-P - Agosto 2002

19-2

Desenvolvimento de uma Rotina de Falha

Crie do Tipo de Dados FAULTRECORD


Para criar um novo tipo de dados: + + + Controller Your_Project Tasks Motion Groups Trends Data Type User-Defined

Crie o tipo de dados definido pelo usurio a seguir. Ele armazena as informaes sobre a falha.
Tipo de Dados:FAULTRECORD
Nome Descrio Membros: Nome Time_Low Time_High Tipo de Dados DINT DINT INT INT DINT[8] Estilo: Decimal Decimal Decimal Decimal Hexadecimal Descrio mais baixo que 32 bits do valor de registro de data e hora da falha mais alto que 32 bits do valor de registro de data e hora da falha tipo de falha (programa, E/S, etc) cdigo nico para a falha informaes especficas de falha FAULTRECORD Armazena os atributos MajorFaultRecord ou MinorFaultRecord do objeto PROGRAM.

clique com o boto direito do mouse e selecione New Data Type.

Tipo Code Info

Publicao 1756-PM001E-PT-P - Agosto 2002

Desenvolvimento de uma Rotina de Falha

19-3

Criao de um Rotina de Falha


Para uma falha que ocorreu devido: execuo de uma instruo

Uma rotina de falha permite que voc use a lgica ladder para remover as falhas especficas e que o controlador reinicie a execuo. O local em que voc coloca a rotina depende do tipo de falha que voc quer remover:
Faa isto: Crie uma rotina de falha para o programa: A. No organizador do controlador, clique com o boto direito do mouse em name_of_program e selecione New Routine (Nova Rotina). B. Na caixa do nome, digite um nome para a rotina de falha (name_of_fault_routine). C. A partir da lista Type, selecione Ladder. Clique em OK. D. Clique com o boto direito do mouse em name_of_program e selecione Properties. E. Clique na guia Configuration. F. A partir da lista Fault, selecione name_of_fault_routine. G. Clique em OK. Crie um programa e rotina principal para o Controller Fault Handler (Organizador de Falha do Controlador): A. No organizador do controlador, clique com o boto direito do mouse em Controller Fault Handler e selecione New Program (Novo Programa). B. Digite: name_of_program description (opcional) C. Clique em OK. D. Clique no sinal de + prximo a Controller Fault Handler. E. Clique com o boto direito do mouse em name_of_program e selecione New Routine. F. Digite: name_of_routine description (opcional) G. Na lista Type, selecione a linguagem de programao para a rotina. H. Clique em OK. I. Clique com o boto direito do mouse em name_of_program e selecione Properties. J. Clique na guia Configuration. K. Na lista Main, selecione name_of_routine L. Clique em OK.

perda de alimentao E/S watchdog da tarefa mudana de modo eixo de movimento

Publicao 1756-PM001E-PT-P - Agosto 2002

19-4

Desenvolvimento de uma Rotina de Falha

Remova de uma Falha Grave

Para remover uma falha grave que ocorre durante a execuo de seu projeto, insira as seguinte lgica na rotina de falha adequada. (Consulte Criao de um Rotina de Falha na pgina 19-3.) Obteno do Tipo e Cdigo de Falha Verificao para uma Falha Especfica Remoo de Falhas

Obteno do Tipo e Cdigo de Falha

1. 2.
42372

1. A instruo GSV acessa o atributo MAJORFAULTRECORD deste programa. Este atributo armazena as informaes sobre a falha. 2. A instruo GSV armazena as informaes de falha no tag major_fault_record. Ao inserir um tag que estiver baseado na estrutura, insira o primeiro membro do tag.
Nome do Tag major_fault_record Tipo FAULTRECORD

Publicao 1756-PM001E-PT-P - Agosto 2002

Desenvolvimento de uma Rotina de Falha

19-5

Verificao para uma Falha Especfica


1. 2.

42372

3.

4.

1. Esta instruo EQU verifica um tipo especfico de falha, como programa, E/S, etc. Em Source B, insira o valor para o tipo de falha que voc quer remover. 2. Esta instruo EQU verifica um cdigo de falha especfico. Em Source B, insira o valor para o cdigo que voc quer remover. 3. Esta instruo CLR configura em zero o valor do tipo de falha no tag major_fault_record. 4. Esta instruo CLR configura em zero o valor do cdigo de falha no tag major_fault_record.

Remoo de Falhas

1. 2.
42372

1. A instruo SSV escreve novos valores para o atributo deste programa MAJORFAULTRECORD 2. A instruo SSV escreve os valores contidos no tag major_fault_record. Como os membros Type e Code esto configurados em zero, a falha removida e o controlador reinicia a execuo.

Publicao 1756-PM001E-PT-P - Agosto 2002

19-6

Desenvolvimento de uma Rotina de Falha

Remova de uma Falha Grave Durante a Pr-varredura

Se o controlador falhar imediatamente aps voc executar seu chaveamento para o modo Run, examine a operao pr-varredura para a falha. Por exemplo, a pr-varredura examina os endereos indiretos (um tag que serve como um indicador para um elemento dentro de um array). Caso um endereo indireto seja inicializado no tempo de operao, ele pode ser pode ser muito grande para o array durante a pr-varredura. Se o controlador encontrar um endereo indireto que est fora da faixa durante a pr-varredura, uma falha grave ocorre. Para permitir que o controlador conclua a pr-varredura, use a rotina de falha do programa para prender remover a falha. Para remover uma falha grave que ocorre durante a pr-varredura: Identificao Quando o Controlador est em Pr-varredura Obteno do Tipo e Cdigo de Falha Verificao para uma Falha Especfica Remoo de Falhas

Identificao Quando o Controlador est em Pr-varredura


Na rotina principal de seu programa, insira a seguinte faixa:
1. 1.

43063

1. Insira esta faixa como a primeira na rotina principal do programa. 2. A rotina de falha deste programa usa o status deste bit para determinar se a falha ocorreu durante a pr-varredura ou a varredura normal da lgica: Durante a pr-varredura, o bit est desenergizado. (Durante a pr-varredura, o controlador reseta todos os bits que so referidos pelas instrues OTE). Uma vez que o controlador comea a executar a lgica, este bit sempre estar energizado.
Nome do Tag CPU_scanning Tipo BOOL

Publicao 1756-PM001E-PT-P - Agosto 2002

Desenvolvimento de uma Rotina de Falha

19-7

Obteno do Tipo e Cdigo de Falha


Insira esta faixa na rotina de falha para o programa:

1. 2.
43064

1. A instruo GSV acessa o atributo MAJORFAULTRECORD deste programa. Este atributo armazena as informaes sobre a falha. 2. A instruo GSV armazena as informaes de falha no tag major_fault_record. Ao inserir um tag que estiver baseado na estrutura, insira o primeiro membro do tag.
Nome do Tag major_fault_record Tipo FAULTRECORD

Publicao 1756-PM001E-PT-P - Agosto 2002

19-8

Desenvolvimento de uma Rotina de Falha

Verificao para uma Falha Especfica


Insira esta faixa na rotina de falha para o programa:
1. 2. 4. 3. 5.

43064

1. Durante a pr-varredura, os bits de todas as instrues OTE so desenergizadas e esta instruo verdadeira. Uma vez que o controlador comea a executar a lgica, esta instruo falsa. 2. Esta instruo EQU verifica uma falha do tipo 4, o que significa que uma instruo neste programa causou a falha. 3. Esta instruo EQU verifica uma falha de cdigo 20, o que significa que um array subscrito muito grande ou um valor POS ou um LEN de uma estrutura CONTROL invlida. 4. Esta instruo CLR configura em zero o valor do tipo de falha no tag major_fault_record. 5. Esta instruo CLR configura em zero o valor do cdigo de falha no tag major_fault_record.

Publicao 1756-PM001E-PT-P - Agosto 2002

Desenvolvimento de uma Rotina de Falha

19-9

Remoo de Falhas
Insira esta faixa na rotina de falha para o programa:
1.

2. 3.
43064

1. Durante a pr-varredura, os bits de todas as instrues OTE so desenergizadas e esta instruo verdadeira. Uma vez que o controlador comea a executar a lgica, esta instruo falsa. 2. A instruo SSV escreve novos valores para o atributo deste programa MAJORFAULTRECORD. 3. A instruo SSV escreve os valores contidos no tag major_fault_record. Como os membros Type e Code esto configurados em zero, a falha removida e o controlador reinicia a execuo.

Publicao 1756-PM001E-PT-P - Agosto 2002

19-10

Desenvolvimento de uma Rotina de Falha

Teste uma Rotina de Falha

Voc pode usar uma instruo JSR para testar a rotina de falha de um programa sem criar um erro (ou seja, simulao de uma falha): 1. Crie um tag BOOL que voc usar para iniciar a falha. 2. Na rotina principal ou em uma sub-rotina do programa, insira a seguinte faixa:

onde: aaa. bbb rotina de falha do programa

o: tag que voc usar para iniciar a falha.(Etapa 1.)

3. Para simular uma falha, energize a condio de entrada.

EXEMPLO

Teste uma rotina de falha

Quando test._fault_routine est energizada, uma falha de advertncia ocorre e o controlador executa Fault_Routine.

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

20

Criao de uma Falha Grave Definida Pelo Usurio

Quando Usar este Procedimento

Se voc quiser suspender (desligar) o controlador, baseado em condies na sua aplicao, crie uma falha grave definida pelo usurio. Com uma falha grave definida pelo usurio: Voc define um valor para o cdigo da falha. O controlador manuseia a falha do mesmo modo que outras falhas graves: O controlador muda para o modo de falha (falha grave) e pra de executar a lgica. As sadas so energizadas para seu estado ou valor configurado para o modo com falha.

EXEMPLO

Falha grave definida pelo usurio Quando input_value for maior que 80, produza uma falha grave e gere um cdigo de falha de 999.

Criao de uma Falha Grave Definida pelo Usurio

1. J existe uma rotina de falha para o programa?


Se: Sim No V para a etapa 2. Crie uma rotina de falha para o programa: A. No organizador do controlador, clique com o boto direito do mouse em name_of_program e selecione New Routine (Nova Rotina). B. Na caixa do nome, digite um nome para a rotina de falha (name_of_fault_routine). C. A partir da lista Type, selecione Ladder. D. Clique em OK. E. Clique com o boto direito do mouse em name_of_program e selecione Properties. F. Clique na guia Configuration. G. A partir da lista Fault, selecione name_of_fault_routine. H. Clique em OK. I. Clique duas vezes em name_of_fault_routine. J. Insira uma instruo NOP (de forma que a rotina verifique se no h erro). Ento:

2. Na rotina principal do programa, insira a seguinte linha:

Publicao 1756-PM001E-PT-P - Agosto 2002

20-2

Criao de uma Falha Grave Definida Pelo Usurio

condies nas quais o controlador deve desligar


42373

JSR Jump to Subroutine Routine name name_of_fault_routine Input par x

onde: name_of_fault_routine x rotina da etapa 1.

: valor para o cdigo da falha

EXEMPLO

Criao de uma falha grave definida pelo usurio

Quando input_value for maior ou igual a 80, a execuo salta para name_of_fault_routine. Uma falha grave ocorre e o controlador insere o modo com fallha. As sadas vo para o estado com falha. A janela Controller Properties, guia Major Faults, mostra o cdigo 999.
GEQ Grtr Than or Eql (A>=B) Source A input_value 0 Source B 80 JSR Jump to Subroutine Routine name name_of_fault_routine Input par 999

42373

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

21

Monitorao de Falhas de Advertncia

Quando Usar Este Procedimento

Se uma condio de falha ocorrer, que no seja severa o suficiente para que o controlador desligue, o controlador gera uma falha de advertncia. O controlador continua a executar. Voc no precisa remover uma falha de advertncia. Para otimizar o tempo de execuo e garantir a preciso do programa, voc deve monitorar e corrigir as falhas de advertncia.

Monitorao de Falhas de Advertncia


Para verificar: Sobreposio de tarefas peridicas carregue a memria no voltil um problema com a porta serial uma bateria fraca um problema com uma instruo

Para usar a lgica ladder para obter informaes sobre uma falha de advertncia:

Faa isto: 1. Insira uma instruo GSV, que obtm o objeto FAULTLOG, atributo MinorFaultBits. 2. Monitore o bit 6. 1. Insira uma instruo GSV, que obtm o objeto FAULTLOG, atributo MinorFaultBits. 2. Monitore o bit 7. 1. Insira uma instruo GSV, que obtm o objeto FAULTLOG, atributo MinorFaultBits. 2. Monitore o bit 9. 1. Insira uma instruo GSV, que obtm o objeto FAULTLOG, atributo MinorFaultBits. 2. Monitore o bit 10. 1. Crie um tipo de dado definido pelo usurio que armazene as informaes de falhas. D um nome ao tipo de dado, FaultRecord, e atribua os seguintes membros: Nome: TimeLow TimeHigh Tipo Code Info DINT DINT INT INT DINT[8] Tipo de Dados: Decimal Decimal Decimal Decimal Hexadecimal Estilo:

2. Crie um tag que armazenar os valores do atributo MinorFaultRecord. Selecione o tipo de dado a partir da etapa 1. 3. Monitore S:MINOR. 4. Se S:MINOR estiver energizado, use uma instruo GSV para obter os valores do atributo MinorFaultRecord. 5. Se voc quiser detectar uma falha de advertncia que foi causada por outra instruo, resete S:MINOR. (S:MINOR permanece energizado at o final da varredura).

O seguinte exemplo verifica a existncia de um aviso de bateria fraca.

Publicao 1756-PM001E-PT-P - Agosto 2002

21-2

Monitorao de Falhas de Advertncia

EXEMPLO

Verificao de uma falha de advertncia

Minor_fault_check realiza uma contagem de tempo durante 1 minuto (60.000 ms) e, ento, recomea automaticamente.

A cada minuto, minor_fault_check.DN energizado para uma varredura. Quando isto ocorre, a instruo GSV obtm o valor do objeto FAULTLOG, atributo MinorFaultBits e armazena-o no tag minor_fault_bits. Como a instruo GSV executada apenas uma vez a cada minuto, o tempo de varredura da maioria das varreduras reduzido.

Se minor_fault_bits.10 estiver energizado, ento a bateria est fraca.

42373

Publicao 1756-PM001E-PT-P - Agosto 2002

Monitorao de Falhas de Advertncia

21-3

O seguinte exemplo verifica a existncia de uma falha de advertncia que foi causada por uma instruo especfica. Verifique uma falha de advertncia que causada por uma instruo

EXEMPLO

Multiplique value_a por 1000000 e verifique a existncia de uma falha de advertncia, como um overflow matemtico: Para garantir que uma instruo anterior no produziu a falha, a linha remove S:MINOR primeiro. A linha, ento, executa a instruo de multiplicao. Se a instruo produzir uma falha de advertncia, o controlador energiza S:MINOR. Se S:MINOR estiver energizado, a instruo GSV obtm as informaes sobre a falha e reseta S:MINOR.

42373

Publicao 1756-PM001E-PT-P - Agosto 2002

21-4

Monitorao de Falhas de Advertncia

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

22

Desenvolvimento de uma Rotina de Energizao

Quando Usar Este Procedimento

A rotina de power-up uma tarefa adicional que executada quando o controlador energizado no modo de Operao.

42195

Use a rotina de power-up quando quiser realizar qualquer destas aes depois que a alimentao for perdida e recuperada: Evitar que o controlador retorne ao modo de Operao. A rotina de power-up produzir uma falha grave, tipo 1, cdigo 1 e o controlador entrar em modo com Falha. Tome aes especficas e reinice a execuo normal da lgica.

Desenvolvimento de uma Rotina de Energizao

As etapas para o desenvolvimento de uma rotina de energizao so semelhantes ao desenvolvimento de uma rotina de falha: 1. Crie um tipo de dados definidos pelo usurio que armazenar as informaes da falha. Nomeie o tipo de dados, FaultRecord, e atribua os seguintes membros:
Nome: TimeLow TimeHigh Type Code Info Tipo de Dados: DINT DINT INT INT DINT[8] Decimal Decimal Decimal Decimal Hexadecimal Estilo:

2. Crie um tag que armazenar as informaes de falha. Selecione o tipo de dados FaultRecord.

Publicao 1756-PM001E-PT-P - Agosto 2002

22-2

Desenvolvimento de uma Rotina de Energizao

3. Crie um programa para a Rotina de Power-up:


Ao: 1. Crie um programa. Etapas detalhadas: A. No organizador do controlador, clique com o boto direito do mouse em Power-Up Handler e selecione New Program (Novo Programa). B. Digite: name_of_program description (opcional) C. Clique em OK. A. Clique no sinal de + que est prximo a Power-Up Handler. B. Clique com o boto direito do mouse em name_of_program e selecione New Routine. C. Digite: name_of_main_routine description (opcional) D. A partir da lista Type, selecione a linguagem de programao para a rotina. E. Clique em OK. F. Clique com o boto direito do mouse em name_of_program e selecione Properties. G. Clique na guia Configuration. H. A partir da lista Main, selecione name_of_main_routine I. Clique em OK. J. Para acrescentar rotinas adicionais (subrotinas) para o programa, repita as etapas B. a E.

2. Crie e atribua uma rotina principal (a rotina que executada primeiro no programa).

3. Como voc quer manusear uma perda de alimentao?


Para: Evitar que o controlador retorne ao modo de Operao Faa isto: Procedimento concludo. Quando a alimentao for restaurada, uma falha grave, tipo 1, cdigo 1, ocorrer e o controlador inserir o modo com Falha. A. Abra (clique duas vezes) name_of_routine. B. Insira a lgica para as aes.

Quando a alimentao for restaurada, tomar aes especficas e reiniciar a operao normal.

Publicao 1756-PM001E-PT-P - Agosto 2002

Desenvolvimento de uma Rotina de Energizao

22-3

4. Insira a seguinte lgica para remover a falha: Obtm as informaes de falha e armazena-as no tag major_fault (estrutura definida pelo usurio)
GSV Get system value CIP Object class PROGRAM CIP Object name THIS Attribute name MAJORFAULTRECORD Dest major_fault.TimeLow 0

Configura o tipo e o cdigo da falha no tag major_fault para zero e configura MAJORFAULTRECORD para os novos valores, que removem a falha.
MOV Move Source 0 Move Source MOV 0 SSV Set system value CIP Object class PROGRAM CIP Object name THIS Attribute name MAJORFAULTRECORD Source major_fault.TimeLow 0

Dest major_fault.Type 0

Dest major_fault.Code 0

42375

onde: major_fault o tag da etapa 2.

Publicao 1756-PM001E-PT-P - Agosto 2002

22-4

Desenvolvimento de uma Rotina de Energizao

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

23

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

Quando Usar Este Procedimento


IMPORTANTE

A memria no voltil armazena os contedos de memria do usurio ao mesmo tempo em que voc armazena o projeto. As alteraes que voc fizer depois de armazenar o projeto no so refletidas na memria no voltil. Se voc fizer as alteraes no projeto, mas no armazenar essas alteraes, elas so sobrescritas quando carregar o projeto da memria no voltil. Se isso ocorrer, voc precisa fazer o upload ou download do projeto para ficar on-line. Se voc quiser armazenar as alteraes, como por exemplo, as edies on-line, valores de tag ou um programa da rede ControlNet, armazene o projeto novamente depois de fazer as alteraes.

Use este procedimento para armazenar ou carga um projeto usando a memria no voltil de um controlador. Se o controlador perder energia e no tiver capacidade suficiente de bateria, ele perde o projeto na memria do usurio. A memria no voltil permite que voc guarde uma cpia de seu projeto no controlador. O controlador no precisa de alimentao para guardar esta cpia. Voc pode carregar a cpia de memria no voltil para a memria do usurio do controlador: em cada energizao sempre que no houver projeto no controlador e ele estiver energizado a qualquer momento atravs do software RSLogix 5000

Publicao 1756-PM001E-PT-P - Agosto 2002

23-2

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

Um armazenamento ou carregamento tem os seguintes parmetros:


Tabela 23.1 Parmetro: Quanto tempo leva para se fazer um armazenamento ou carregamento? Em que modo do controlador posso armazenar ou carregar um projeto? Posso ficar on-line com o controlador durante um armazenamento ou carregamento? Qual o estado da E/S durante um armazenamento ou carregamento? Armazenamento: muitos minutos modo de programa no Carregamento: muitos segundos

A E/S permanece em seu estado configurado durante o modo programa.

Dependendo do controlador, uma atualizao de firmware pode ou no pode apagar o projeto que est armazenado na memria no voltil.
Se a memria no voltil for: no removvel (sem carto CompactFlash) Ento: Ao atualizar o firmware do controlador, voc apaga os contedos da memria no voltil (reviso 10.x ou superior). Ao atualizar o firmware do controlador, o projeto permanece na memria no voltil.

removvel (com carto CompactFlash)

Como Usar Este Procedimento


Se voc quiser: selecionar um controlador que contenha memria no voltil revisar as precaues ao usar o carto 1784-CF64 Industrial CompactFlash escolher quando carregar um projeto de volta para o controlador armazenar um projeto na memria no voltil do controlador Consulte: Seleo de um Controlador Que Possua Memria No Voltil na pgina 23-3 Cuidados com o Carto 1784-CF64 Industrial CompactFlash na pgina 23-4 Seleo de Quando Carregar uma Imagem na pgina 23-5 Armazenamento de um Projeto na pgina 23-5

sobrescrever o projeto atual no controlador com o projeto que est armazenado na memria Carregamento de um Projeto na pgina no voltil do controlador 23-8 carregar o projeto depois que uma perda de alimentao apagou a memria porque no havia bateria usar a lgica ladder para sinalizar que o seu projeto foi carregado a partir da memria no voltil remover um projeto da memria no voltil do controlador Verificao de um Carregamento na pgina 23-10 Limpeza da Memria No Voltil na pgina 23-11

Publicao 1756-PM001E-PT-P - Agosto 2002

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

23-3

Seleo de um Controlador Que Possua Memria No Voltil

Os controladores Logix5000 a seguir possuem memria no voltil para o armazenamento do projeto.


Tipo de Controlador: CompactLogix5320 CompactLogix5330 ControlLogix5555 Cd. Cat.: 1769-L20 1769-L30 1756-L55M22 1756-L55M23 1756-L55M24 ControlLogix5563 DriveLogix5720 FlexLogix5433 FlexLogix5434 Srie B
(1)

Reviso de Firmware: 10.x ou superior 10.x ou superior 10.x ou superior 8.x ou superior 8.x ou superior 11.x ou superior 10.x ou superior 10.x ou superior 11.x ou superior

1756-L63(1) vrios 1794-L33 1794-L34/B

Requer um carto de memria 1784-CF64 Industrial CompactFlash.

Publicao 1756-PM001E-PT-P - Agosto 2002

23-4

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

Cuidados com o Carto 1784-CF64 Industrial CompactFlash

Se estiver usando um carto 1784-CF64 Industrial CompactFlash no controlador, siga essas orientaes: IMPORTANTE Um carto CompactFlash armazena somente o projeto RSLogix 5000. Ele no armazena o firmware para o controlador. Uma reviso principal ou secundria do projeto deve corresponder reviso principal ou secundria do controlador. Caso contrrio, uma falha grave ocorre ao tentar carregar o projeto do carto CompactFlash.

Use somente o controlador Logix5000 para armazenar um projeto em um carto CompactFlash. O carto CompactFlash requer um formato especial. No use um leitor CompactFlash para ler a partir do ou escrever para o carto com um computador. Armazene somente um nico projeto Logix5000 e nenhum outro dado em um carto CompactFlash. Ao armazenar um projeto em um carto CompactFlash, voc sobrescreve todos os contedos do carto. Em outras palavras, voc perde tudo que est no carto atualmente. Antes de atualizar o firmware do controlador, faa o seguinte: Remova o carto CompactFlash do controlador. Verifique a opo Load Image do projeto que est atualmente na memria no voltil do controlador. Se for definido como On Power Up ou On Corrupt Memory, primeiro armazene o projeto com a opo Load Image ajustada para User Initiated. Se voc no realizar uma dessas aes acima, possvel que uma falha grave ocorra ao atualizar o firmware do controlador. Isso ocorre porque as opes On Power Up ou On Corrupt Memory fazem com que o controlador carregue o projeto da memria no voltil. A diferena do firmware aps a carga gera uma falha grave. Aps atualizar o firmware do controlador, armazene o projeto novamente na memria no voltil. Isso garante que a reviso do firmware do projeto na memria no voltil corresponde reviso do firmware do controlador.

Publicao 1756-PM001E-PT-P - Agosto 2002

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

23-5

Seleo de Quando Carregar uma Imagem


Se voc quer carreg-lo:

Voc possui muitas opes para quando (sob quais condies) carregar o projeto de volta para a memria do usurio (RAM) do controlador?

Ento selecione: On Power Up

Notas: Durante o ciclo de alimentao, voc perder todas as alteraes on-line, valores de tag e seqenciamentos de rede que voc no armazenou na memria no voltil. Voc sempre pode usar o software RSLogix 5000 para fazer o carregamento do projeto.

sempre que voc ligar ou desligar e ligar o ciclo de alimentao do chassi

sempre que no houver nenhum projeto no controlador e voc ligar ou desligar e ligar a alimentao do chassi somente para o software RSLogix 5000

On Corrupt Memory

Voc pode sempre usar o software RSLogix 5000 para fazer o carregamento do projeto.

User Initiated

Armazenamento de um Projeto

Nesta tarefa, voc armazena um projeto na memria no voltil do controlador. Isso sobrescreve todo o contedo da memria no voltil. ATENO Durante um armazenamento, todos os eixos servos ativos esto desligados. Antes de armazenar um projeto, certifique-se de que isto no causar nenhum movimento inesperado de um eixo.

Antes de armazenar o projeto: faa todas as edies necessrias na lgica faa o download do projeto para o controlador Para armazenar um projeto: Configurao da Operao de Armazenamento Armazenamento do Projeto Armazenamento do Projeto Online

Publicao 1756-PM001E-PT-P - Agosto 2002

23-6

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

Configurao da Operao de Armazenamento


1. Fique on-line com o controlador. 2. Coloque o controlador no modo Program (Programa Remoto ou Programa).

3.
42627

3. Na barra de ferramentas Online, clique no boto controller properties. 4. Clique na guia Nonvolatile Memory.

5.

42865

5. Selecione Load/Store.
Projeto que est na memria no voltil do controlador atualmente (se houver um projeto). Projeto que est na memria do usurio (RAM) do controlador atualmente.

6. 7. 8.

1.

6. Escolha quando (sob quais condies) carregar o projeto para a memria do usurio (RAM) do controlador novamente.
Publicao 1756-PM001E-PT-P - Agosto 2002

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

23-7

7. Na etapa 6, qual opo de imagem de carregamento voc selecionou?


Se: On Power Up On Corrupt Memory Ento: Selecione o modo que voc quer que o controlador fique depois de um carregamento: programa remoto operao remota Para ir para este modo depois de um carregamento, gire a chave seletora de modo do controlador para a posio REM. V para a etapa etapa 8.

User Initiated

8. Insira uma nota que descreva o projeto que voc est armazenando, se desejado.

Armazenamento do Projeto
1. Selecione < Store. Uma caixa de dilogo solicita a confirmao do armazenamento. 2. Para armazenar um projeto, selecione Yes. Durante o armazenamento, os seguintes eventos ocorrem: Na parte da frente do controlador, o LED OK exibe a seguinte seqncia: verde piscante vermelho verde O software RSLogix 5000 fica off-line. Uma caixa de dilogo informa que o armazenamento est em andamento. 3. Selecione OK. Quando o armazenamento estiver concludo, voc permanece off-line.

Armazenamento do Projeto Online


1. Fique on-line com o controlador. 2. Salve o projeto.

Publicao 1756-PM001E-PT-P - Agosto 2002

23-8

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

Carregamento de um Projeto

Nesta tarefa, voc usa o software RSLogix 5000 para fazer o carregamento do projeto na memria no voltil. ATENO Durante um carregamento, todos os eixos servos ativos esto desligados. Antes de carregar um projeto, certifique-se de que isto no causar nenhum movimento inesperado do eixo.

!
Etapas:

1. Fique on-line com o controlador. 2. A caixa de dilogo a seguir abriu?

42873

Se: No Sim V para a etapa etapa 3. V para a etapa etapa 5.

Ento:

3. Coloque o controlador no modo Program (Programa Remoto ou Programa).

4.
42627

4. Na barra de ferramentas Online, clique no boto controller properties. 5. Clique na guia Nonvolatile Memory.

Publicao 1756-PM001E-PT-P - Agosto 2002

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

23-9

6.
42865

6. Selecione Load/Store.
Projeto que est na memria no voltil do controlador atualmente (se houver um projeto). Projeto que est na memria do usurio (RAM) do controlador atualmente.

7.

7. Selecione Load >. Uma caixa de dilogo solicita a confirmao do carregamento. 8. Para fazer o carregamento do projeto da memria no voltil, selecione Yes. Durante o carregamento, os seguintes eventos ocorrem: Na parte da frente do controlador, o LED OK exibe a seguinte seqncia: vermelho verde O software RSLogix 5000 fica off-line. Quando o carregamento estiver concludo, voc permanece off-line. Se voc quiser ficar on-line, necessrio fazer a seleo manualmente.

Publicao 1756-PM001E-PT-P - Agosto 2002

23-10

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

Verificao de um Carregamento

Quando o controlador carrega um projeto a partir da memria no voltil, so fornecidas as seguintes informaes: registros de uma falha de advertncia (tipo 7, cdigo 49) ajustes do objeto FAULTLOG, atributo MinorFaultBits, bit 7 Se voc quiser que o projeto sinalize que foi carregado a partir da memria no voltil, use a lgica ladder a seguir:

Na primeira varredura do projeto (S:FS est energizado), a instruo GSV obtm o objeto FAULTLOG, atributo MinorFaultBits e armazena o valor em minor_fault_bits. Se o bit 7 estiver energizado, o controlador carregou o projeto a partir de sua memria no voltil.

42867

Onde: minor_fault_bits NVM_load

: O tag que armazena o objeto FAULTLOG, atributo MinorFaultBits. O tipo de dado DINT. O tag que indica que o controlador carregou o projeto a partir da memria no voltil.

Publicao 1756-PM001E-PT-P - Agosto 2002

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

23-11

Limpeza da Memria No Voltil

Para remover um projeto da memria no voltil, execute as aes a seguir: Verifique a Opo de Carregamento de Imagem Atual Alterao da Opo de Carregamento de Imagem Excluso do Projeto a Partir do Controlador Armazenamento da Imagem Vazia

Verifique a Opo de Carregamento de Imagem Atual


1. Fique on-line com o controlador.

2.
42627

2. Na barra de ferramentas Online, clique no boto controller properties. 3. Clique na guia Nonvolatile Memory.

4.
42865

4. A opo Load Image est ajustada para User Initiated?


Se: No Sim Ento: V para Alterao da Opo de Carregamento de Imagem na pgina 23-11. V para Excluso do Projeto a Partir do Controlador na pgina 23-12.

Alterao da Opo de Carregamento de Imagem


1. Selecione Load/Store.

Publicao 1756-PM001E-PT-P - Agosto 2002

23-12

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

2. Na lista Load Image, selecione User Initiated. 3. Selecione <- Store. Uma caixa de dilogo solicita a confirmao do armazenamento. 4. Para armazenar um projeto, selecione Yes. Uma caixa de dilogo informa que o armazenamento est em andamento. 5. Selecione OK. 6. Espere at que o LED OK na parte da frente do controlador esteja verde slido. Isto indica que o armazenamento terminou.

Excluso do Projeto a Partir do Controlador


1. Desconecte a bateria do controlador. 2. Desligue e ligue a alimentao do chassi. 3. Reconecte a bateria ao controlador.

Armazenamento da Imagem Vazia


1. Fique on-line com o controlador. A caixa de dilogo Conected To Go Online abre. 2. Clique na guia Nonvolatile Memory.

3.

42865

3. Selecione Load/Store.

Publicao 1756-PM001E-PT-P - Agosto 2002

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

23-13

42874

4.

4. Selecione < Store. Uma caixa de dilogo solicita a confirmao do armazenamento. 5. Para armazenar um projeto, selecione Yes. Durante o armazenamento, os seguintes eventos ocorrem: Na parte da frente do controlador, o LED OK exibe a seguinte seqncia: verde piscante vermelho verde O software RSLogix 5000 fica off-line. Uma caixa de dilogo informa que o armazenamento est em andamento. 6. Selecione OK. Quando o armazenamento estiver concludo, voc permanece off-line. Se voc quiser ficar on-line, necessrio faz-lo manualmente.

Publicao 1756-PM001E-PT-P - Agosto 2002

23-14

Armazenamento e Carregamento de um Projeto Usando Memria No Voltil

Notas:

Publicao 1756-PM001E-PT-P - Agosto 2002

Captulo

24

Proteo de um Projeto

Quando Usar Este Procedimento

Use este procedimento para controlar quem tem acesso ao seu projeto. Para garantir a proteo de um projeto, estas opes esto disponveis:
Se voc quiser: Ento: Consulte a pgina: 24-1 24-11

Prevenir que outros visualizem a lgica Uso da Proteo de Fonte da dentro de uma ou mais rotinas de um projeto Rotina Atribuir variao de nveis de acesso para um Uso do Security Server RSI para Proteger um Projeto projeto, como por exemplo, permitir que: os engenheiros tenham acesso livre a equipe de manuteno faa alteraes limitadas operadores visualizem somente a lgica e os dados

Voc pode usar todas as opes ao mesmo tempo.

Uso da Proteo de Fonte da Rotina

Para limitar quem tem acesso a uma rotina, use o software RSLogix 5000 para atribuir uma chave source para uma rotina (proteo da rotina). Para proteger uma rotina, deve-se primeiro ativar o recurso para o software RSLogix 5000. Uma vez protegida uma rotina, um computador requer a chave source para editar, copiar ou exportar a rotina. Voc tem a opo de tornar a rotina visvel ou no visvel sem a chave source. Independentemente da chave source estar disponvel ou no, voc pode fazer o download do projeto e executar todas as rotinas. possvel recuperar o acesso a uma rotina protegida de um computador especfico usando um dos mtodos a seguir: Adicione o arquivo de chave source e indique o software RSLogix 5000 para o local do arquivo. Crie um arquivo de chave source e insira, manualmente, um nome para ela.

Publicao 1756-PM001E-PT-P - Agosto 2002

24-2

Proteo de um Projeto

O organizador do controlador mostra o status de proteo de uma rotina:

Para esta rotina

Este o status de proteo.

Se o organizador do controlador exibe: Source Not Available

Ento: Uma chave source atribuda rotina. Para abrir a rotina, seu computador requer a chave source para a rotina. Uma chave source atribuda rotina. possvel somente abrir e visualizar a rotina. No possvel realizar nenhuma alterao ou copiar algum contedo da rotina. Uma chave source atribuda rotina. Tem-se total acesso rotina. Uma chave source atribuda rotina. Tem-se total acesso rotina. Aqueles que no possuem a chave source podem ainda visualizar a rotina. Nenhuma chave source atribuda rotina. Tem-se total acesso rotina.

Source Not Available (Viewable)

Source Available Source Available (Viewable)

Nenhum dos acima citados

IMPORTANTE

Se a fonte da rotina no estiver disponvel, no exporte projeto. Uma exportao de arquivo (.L5K) contm apenas rotinas nas quais o cdigo fonte est disponvel. Se voc exportar um projeto no qual o cdigo fonte no est disponvel para todas as rotinas, voc no estar capacitado a restaurar o projeto inteiro.

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-3

Para atribuir e gerenciar as chaves source, realize as aes a seguir:

Seleo do Nvel de Proteo para Cada Rotina Seleo de um Nmero de Chaves Source Definio da Chave ou Chaves Source Seleo de um Local de Arquivo Para Armazenar as Chaves Source Ativao do Recurso de Proteo da Fonte do RSLogix 5000 Criao de um Arquivo para as Chaves Source Proteo de uma Rotina com uma Chave Source Limitar o acesso s rotinas protegidas deste computador? Sim Usar este computador para proteger outras rotinas? No Desabilitao da Proteo da Fonte da Rotina Remoo do Acesso para uma Rotina Protegida Sim No

Conclud

Opcional Obteno do Acesso a uma Rotina Protegida (deste computador)

Publicao 1756-PM001E-PT-P - Agosto 2002

24-4

Proteo de um Projeto

Seleo do Nvel de Proteo para Cada Rotina


A proteo da fonte protege o projeto no nvel da rotina. possvel proteger algumas rotinas de um projeto enquanto deixa outras rotinas desprotegidas (acessvel a qualquer um). Alm disso, voc tem a opo de proteger uma rotina, mas todos podero visualiz-la.
Tabela 24.1 Opes de Proteo da Rotina Se voc quiser: E: Ento: Proteger a rotina? evite que algum faa isso: edite a rotina altere as propriedades da rotina exporte a rotina evite tambm que algum faa isso: abra (exibir) a rotina procure a rotina v para a referncia cruzada dentro da rotina imprima a rotina sem outras limitaes permita a qualquer um o total acesso rotina. sim Permitir a visualizao? no

sim no

sim

Seleo de um Nmero de Chaves Source


Para proteger uma rotina, atribui-se uma chave source rotina. possvel reutilizar uma chave source com a freqncia que voc quiser, conforme mostrado a seguir.
Este: uma chave source para todos os projetos nica chave source para cada projeto nica chave source para cada rotina em cada projeto maior nmero de chaves source (maior dificuldade para gerenciar, mas mais proteo) Fornece a voc: alguns nmeros de chaves source (facilidade de gerenciar, mas sem proteo)

Escolha o nmero de chaves source que equilibre suas necessidades de proteo com o nvel de gerenciamento de chave que quer aceitar.

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-5

Definio da Chave ou Chaves Source


As chaves source seguem as mesmas regras dos outros componentes RSLogix 5000 para regras, como rotinas, tags e mdulos. Siga essas regras para definir o nome de uma chave source: devem comear com um caracter alfabtico (A-Z ou a-z) ou uma sublinha (_) podem conter apenas caracteres alfabticos, caracteres numricos e sublinhas podem ter at 40 caracteres no devem ter caracteres de sublinha consecutivos ou posteriores (_) no so sensveis ao contexto

Seleo de um Local de Arquivo Para Armazenar as Chaves Source


Um arquivo de chave source (sk.dat) armazena as chaves source. O arquivo de chave source separado dos arquivos do projeto do RSLogix 5000 (.acd). possvel armazenar o arquivo da chave source em qualquer pasta que desejar.

Ativao do Recurso de Proteo da Fonte do RSLogix 5000


Para usar o recurso de proteo da fonte da rotina do software RSLogix 5000, voc precisa fazer as seguintes entradas de registros que ativam o recurso:
Chave: Nome: HKEY_CURRENT_USER\Software\Rockwell Software\RSLogix 5000\ProtectedRoutine PTCRoutine Valor de Entrada: Tipo: DWORD 1 Dados:

Para fazer a entrada de registro: 1. Pegue seu CD do software RSLogix 5000. 2. No CD, execute o seguinte arquivo: language \Tools\Source Protection Tool\Enable Protected Routine Config.reg onde: language o idioma do seu software. Por exemplo, para o software que estiver em ingls, abra a pasta ENU.

Publicao 1756-PM001E-PT-P - Agosto 2002

24-6

Proteo de um Projeto

O arquivo Enable Protected Routine Config.reg cria as entradas de registro solicitadas.

Criao de um Arquivo para as Chaves Source


1. Abra o projeto RSLogix 5000 que quer proteger. 2. No menu Tools , selecione Security Configure Source Protection. 3. O software RSLogix 5000 est pronto para especificar o local para o arquivo da chave source?
Se: No Sim Ento: Seu computador j tem o arquivo de chave source (sk.dat). V para Proteo de uma Rotina com uma Chave Source na pgina 24-7. V para etapa 4.

4. Selecione Yes.

5. 7.

5. Clique em 6. Selecione uma pasta para armazenar o arquivo e selecione OK. 7. Selecione OK. Uma caixa de dilogo pergunta se voc quer criar o arquivo de chave source (sk.dat). 8. Selecione Yes.

localizao do arquivo de chave source (sk.dat)

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-7

Proteo de uma Rotina com uma Chave Source


1. Abra o projeto RSLogix 5000 que quer proteger. 2. No menu Tools , escolha Security Configure Source Protection.

4. 3.

3. Selecione a(s) rotinas(s) que voc quer proteger. 4. Clique em Protect.

7. 5. 6.

5. Insira um nome que voc quer usar como chave source ou selecione uma chave source existente na lista. 6. Se algum no tiver a chave source, voc quer que esta pessoa abra e visualize a rotina?
Se: No Sim Ento: Desenergize (desmarque) a caixa de seleo (padro) Allow viewing of routine. Marque a caixa de seleo Allow viewing of routine.

7. Selecione OK. 8. Ao atribuir as chaves source solicitadas para o projeto, clique em Close. 9. No menu File, selecione Save.

Publicao 1756-PM001E-PT-P - Agosto 2002

24-8

Proteo de um Projeto

Remoo do Acesso para uma Rotina Protegida


IMPORTANTE Antes de remover o arquivo de chave source (sk.dat) de um controlador, grave as chaves source ou faa uma cpia do arquivo e armazene-o em um local seguro.

1. Abra o projeto do RSLogix 5000 que est protegendo 2. No menu Tools, selecione Security Configure Source Protection.

3.

3. Clique em Clear. Uma caixa de dilogo pergunta se voc quer excluir o arquivo de chave source (sk.dat). 4. Voc quer remover o arquivo de chave source do computador (evitar o acesso futuro ao arquivo)?
Se: Sim No Selecione Yes. Selecione No. Ento:

Desabilitao da Proteo da Fonte da Rotina


IMPORTANTE Antes de remover o arquivo de chave source (sk.dat) de um controlador, grave as chaves source ou faa uma cpia do arquivo e armazene-o em um local seguro.

1. Abra o projeto do RSLogix 5000 que est protegendo 2. No menu Tools, selecione Security Configure Source Protection.

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-9

4.

3. Clique em Disable Ability To Configure Protected Routines. Uma caixa de dilogo est pronta para confirmar a ao. 4. Selecione Yes. Uma caixa de dilogo pergunta se voc quer excluir o arquivo de chave source (sk.dat). 5. Voc quer remover o arquivo de chave source do computador (evitar o acesso futuro ao arquivo)?
Se: Sim No Selecione Yes. Selecione No. Ento:

Obteno do Acesso a uma Rotina Protegida


1. Abra o projeto do RSLogix 5000 que contm as rotinas protegidas. 2. No menu Tools, selecione Security Configure Source Protection. 3. O software RSLogix 5000 est pronto para especificar o local para o arquivo de chave source?
Se: No Sim V para etapa 7. V para etapa 4. Ento:

4. Selecione Yes.

Publicao 1756-PM001E-PT-P - Agosto 2002

24-10

Proteo de um Projeto

5. 7.

5. Clique em 6. Este computador j possui um arquivo de chave source (sk.dat)?


Se: Sim No Ento: A. Selecione a pasta que contm o arquivo e selecione OK. B. Selecione OK. A. Selecione a pasta para armazenar o novo arquivo e selecione OK. Uma caixa de dilogo pergunta se voc quer criar o arquivo chave source (sk.dat). B. Selecione Yes.

7.

7. Clique em View. Caso esteja pronto para selecionar um programa para abrir o arquivo, selecione um programa de processamento de palavra, como o Bloco de Notas. O arquivo sk.dat abre. 8. Digite o nome da chave source. Para inserir mltiplas chaves, digite cada tipo de chave em uma linha separada.
sk.dat - Notepad key1 key2 key3

9. Salve e feche o arquivo sk.dat.

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-11

Uso do Security Server RSI para Proteger um Projeto

O software do RSI Security Server permite que voc controle o acesso aos projetos do RSLogix 5000. Com este software, voc customiza o acesso aos projetos baseado no: Usurio que est conectado estao de trabalho Projeto do RSLogix 5000 que o usurio est acessando Estao de trabalho a partir da qual o usurio est acessando o projeto do RSLogix 5000 Antes de usar o software Servidor de Segurana para os projetos RSLogix 5000, configure o software: Instalao do Software RSI Security Server Configurao de DCOM Habilitao do Servidor de Segurana para o Software RSLogix 5000 Importao do Arquivos RSLogix5000Security.BAK Definio de Aes Globais para seus Usurios Definio das Aes de Projeto para seus Usurios Adio de Usurios Adio de Grupos de Usurio Atribuio do Acesso Global ao Software RSLogix 5000 Atribuio de Aes de Projetos para o New RSLogix 5000 Projects

Uma vez que o software estiver configurado para projetos do RSLogix 5000, execute as seguintes aes para proteger um projeto: Segurana de um Projeto RSLogix 5000 Atribuio do Acesso a um Projeto RSLogix 5000 Atualizao do Software RSLogix 5000, Se Necessrio

Instalao do Software RSI Security Server


IMPORTANTE Se o software RSLogix 5000 j est em seu computador ao instalar o software, habilite a segurana para o software RSLogix 5000 quando voc estiver pronto.

Consulte Getting Results with Rockwell Softwares Security Server (Standalone Edition) que enviado com seu software do Servidor de Segurana RSI.

Configurao de DCOM
Consulte Getting Results with Rockwell Softwares Security Server (Standalone Edition) que enviado com seu software do Servidor de Segurana RSI.

Publicao 1756-PM001E-PT-P - Agosto 2002

24-12

Proteo de um Projeto

Habilitao do Servidor de Segurana para o Software RSLogix 5000


Voc instalou o Servidor de Segurana antes de ter instalado o software RSLogix 5000?
Se: Sim No V para etapa 1. V para Importao do Arquivos RSLogix5000Security.BAK na pgina 24-12. Ento:

Program Files

Keys.ini SetSecKeys.exe

Rockwell Software

1. Execute este arquivo.

RSLogix 5000

language

version

Security

Onde:
language version

o: o idioma de seu software. Por exemplo, para o software que estiver em ingls, abra a pasta ENU. verso do seu software, como por exemplo, v10

A caixa de dilogo Locate Project File abre. De acordo com o padro, o arquivo Keys.ini j deve estar selecionado. 2. Selecione Open.

3. Selecione a caixa de verificao RSLogix 5000 e selecione OK.


43073

Importao do Arquivos RSLogix5000Security.BAK


O arquivo RSLogix5000Security.bak fornece a configurao que o Servidor de Segurana requer para operar com o software RSLogix 5000. 1. Inicie o explorer Security Configuration. 2. A partir do menu File, selecione Import Database.

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-13

3. Qual a reviso do software do Servidor de Segurana voc est usando:


Se: 2.00 Consulte esta pasta: Ento:

Program Files

Rockwell Software

RSLogix 5000

language

version

+
Onde:
language

Security

o: o idioma de seu software. Por exemplo, para o software que estiver em ingls, abra a pasta ENU. verso do seu software, como por exemplo, v10

version

2.01

Consulte esta pasta:

Program Files

Rockwell Software

Security Server

System

4. Selecione o arquivo RSLogix5000Security.bak e selecione Open.

Definio de Aes Globais para seus Usurios


As aes globais so tarefas que no esto ligadas a um projeto particular, como criar um novo projeto ou atualizar o firmware de um controlador. As seguintes aes aplicam-se ao software RSLogix 5000.
43077

Tabela 24.2 Aes Globais Para permitir que um usurio: proteja qualquer controlador desprotegido crie um novo projeto do RSLogix 5000 abra um arquivo .L5K no software RSLogix 5000 que crie um projeto traduza um projeto do CLP ou do SLC para um arquivo .L5K use o software RSLogix 5000 para iniciar o software ControlFLASH e atualizar o firmware de um controlador Atualizao do Firmware Conceda o acesso s seguintes aes: Proteo do Controlador Novo Projeto

Publicao 1756-PM001E-PT-P - Agosto 2002

24-14

Proteo de um Projeto

Use a planilha a seguir para registrar as aes globais que voc permitir que cada grupo de usurios execute.
Tabela 24.3 Aes globais para cada grupo de usurios Este grupo de usurios: Requer este acesso: Protege o Controlador Novo Projeto Atualizao do Firmware

Definio das Aes de Projeto para seus Usurios


As aes do projeto permitem que voc realize tarefas especficas em um projeto em particular ou um grupo de projetos. Ao habilitar a segurana para um projeto do RSLogix 5000 ou criar um novo projeto com a segurana ativada, ele se torna um membro do grupo New RSLogix 5000 Resources. Os usurios que trabalhem com projetos neste grupo requerem o acesso adequado. Recomendamos que voc permita Full Access para todos que tenham acesso para criar um projeto. Para customizar o acesso de um projeto, remova-o do grupo New RSLogix 5000 Resources e atribua os privilgios especficos para aquele projeto.

43075

43078

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-15

As seguintes aes aplicam-se a um projeto do RSLogix 5000 protegido ou grupo de projetos.


Tabela 24.4 Aes de Projeto Para permitir que um usurio: E: E: Permita esta ao: View Project Go Online salve um projeto salve um projeto como um arquivo .ACD diferente abra uma antiga reviso de um projeto compacte um projeto exporte um projeto faa o download ou carregamento de um projeto altere o modo do controlador altere o caminho para o controlador imprima um relatrio remova falhas altere a hora do relgio de parede crie, exclua, edite e opere uma tendncia altere a configurao de um mdulo de E/S altere a configurao de uma instruo MSG insira, desabilite e remova forces altere os valores do tag atualize o firmware Mantenha um Projeto abra um projeto off-line copie os componentes de um fique on-line e projeto monitore um projeto exporte os tags de um projeto

realize todas as aes disponveis atravs do software RSLogix 5000 exceto desproteger um controlador protegido desproteja um controlador protegido

Full Access

Full Access e Unsecure Controller Atualizao do Firmware

atualize o firmware de um controlador

Publicao 1756-PM001E-PT-P - Agosto 2002

24-16

Proteo de um Projeto

Use a planilha na pgina 24-16 para registrar as aes do projeto que voc permitir que cada usurio ou grupo de usurios realizem.
Tabela 24.5 Aes do projeto para projetos que esto no grupo New RSLogix 5000 Resources e para projetos individuais Para este projeto ou grupo de projetos: New RSLogix 5000 Resources New RSLogix 5000 Resources New RSLogix 5000 Resources New RSLogix 5000 Resources Este usurio ou grupo de usurios: Requer este acesso: View Project Go Online Maintain Project Full Access Unsecure Controller Update Firmware

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-17

Adio de Usurios

1. Clique com o boto direito do mouse e selecione New.


43078

43084

2. Insira as informaes para o usurio e selecione OK.

Adio de Grupos de Usurio


Um grupo permite que voc gerencie mltiplos usurios que requisitem privilgios similares. 1. A partir do menu Help, selecione Quick Start.

2. Siga as etapas para esta tarefa.

43074

Atribuio do Acesso Global ao Software RSLogix 5000


Para permitir que os usurios realizem aes globais:

Publicao 1756-PM001E-PT-P - Agosto 2002

24-18

Proteo de um Projeto

1. No explorer Configuration, selecione o grupo RSLOGIX 5000.


43077

2. A partir do menu Help, selecione Quick Start.

3. Siga as etapas para esta tarefa. Atribua as aes que voc registrou na Tabela 24.3 na pgina 24-14.
43076

Atribuio de Aes de Projetos para o New RSLogix 5000 Projects


Para permitir que os usurios realizem as aes nos projetos que esto no grupo New RSLogix 5000 Resources:

1. No explorer Configuration, selecione o grupo New RSLogix 5000 Resources.


43075

2. A partir do menu Help, selecione Quick Start.

3. Siga as etapas para esta tarefa. Atribua as aes que voc registrou na Tabela 24.5 na pgina 24-16.
43076

Publicao 1756-PM001E-PT-P - Agosto 2002

Proteo de um Projeto

24-19

Segurana de um Projeto RSLogix 5000


Para novos projetos, a opo de segurana est disponvel ao criar o projeto. Para permitir que o software de Security Server proteja um projeto existente, habilitar a segurana para o projeto. 1. Abra o projeto do RSLogix 5000.

2. Clique no boto de propriedades do controlador.


42627

3. Clique na guia Advanced.


43069

4. Selecione RSI Security Server. 5. Selecione OK e Yes. No software Security Server, o projeto aparece como um membro do grupo New RSLogix 5000 Resources. Se o software Security Server j estiver aberto, a partir de seu menu View, selecione Refresh.

Atribuio do Acesso a um Projeto RSLogix 5000


Enquanto um projeto estiver no grupo New RSLogix 5000 Resources, a lista de controle daquele grupo determina as aes que um usurio realizar em um projeto. Para customizar o acesso de um projeto, remova-o do grupo e atribua as aes especficas:

Publicao 1756-PM001E-PT-P - Agosto 2002

24-20

Proteo de um Projeto

1. No explorer Configuration, selecione o grupo New RSLogix 5000 Resources.


43075

2. Clique na guia Group Members.

3.
43079

3. Na lista Member items, selecione o projeto e clique no boto <<. 4. Selecione Apply.

5. No explorer Configuration, selecione o projeto.


43078

6. A partir do menu Help, selecione Quick Start.

7. Siga as etapas para esta tarefa. Atribua as aes que voc registrou na Tabela 24.5 na pgina 24-16.
43076

Atualizao do Software RSLogix 5000, Se Necessrio


Caso um projeto RSLogix 5000 esteja aberto e as alteraes feitas no software RSI Security Server afetem o projeto, atualize o software RSLogix 5000: A partir do menu Tools, selecione Security Refresh Privileges.

Publicao 1756-PM001E-PT-P - Agosto 2002

Apndice

Cdigos de Falha

Quando Usar Este Apndice

Use esse apndice para interpretar: Cdigos de Falhas Graves Cdigos de Falha de Advertncia

Cdigos de Falhas Graves

Use a tabela a seguir para determinar a causa e a ao corretiva para uma falha grave. O tipo e o cdigo correspondem ao tipo e cdigo exibidos nesses locais: Caixa de dilogo de Controller Properties, guia Major Faults objeto PROGRAM, atributo MAJORFAULTRECORD

Tabela A.1 Tipos e Cdigos de Falhas Grave s Tipo: 1 3 Cdigo: Causa: 1 16 O controlador alimentado no modo Run. Uma conexo requisitada do mdulo de E/S falhou. Mtodo de Recuperao: Execute o manipulador de perda de alimentao. Verifique se o mdulo de E/S est no chassi. Verifique os requisitos de codificao eletrnica. Visualize a guia Major Fault nas propriedades do controlador e a guia Conexo nas propriedades do mdulo para obter mais informaes sobre a falha. Irrecupervel - substitua o chassi.

3 3 4 4 4 4

20 23 16 20 21 31

Possvel problema com o chassi ControlBus.

Pelo menos uma conexo necessria no foi Espere que o LED indicador de E/S do controlador fique verde estabelecida antes de passar para o modo Run. antes de mudar para o modo Run. Instruo desconhecida encontrada. Subscrito da matriz muito grande, as estruturas de controle .POS ou .LEN so invlidas. Estrutura de controle .LEN ou .POS < 0. Os parmetros da instruo JSR no correspondem aos da instruo SBR ou RET associada. Uma instruo do temporizador teve um valor acumulado ou um valor negativo pr-selecionado. JMP (salto para um label) que no exista ou foi deletado. Um controle seqencial de funes (SFC) chamou uma sub-rotina e a sub-rotina tentou voltar para o SFC que estava chamando. Ocorre quando o SFC usa uma instruo JSR ou FOR para chamar a sub-rotina. Os dados testados no estavam dentro dos limites exigidos. Remova a instruo desconhecida. Isto provavelmente aconteceu devido ao processo de converso do programa. Ajuste o valor de acordo com a faixa vlida. No exceda o tamanho da matriz ou ultrapasse as dimenses definidas. Ajuste o valor de modo que ele seja > 0. Transfira o nmero de parmetros apropriados. Se muitos parmetros forem transferidos, os extras sero ignorados sem qualquer erro. Arrume o programa para no carregar um valor negativo no valor acumulado ou valor pr-selecionado do temporizador. Corrija o JMP alvo ou adicione o label que estiver faltando. Remova o jump back para o SFC que est chamando.

34

4 4

42 82

83

Modifique o valor de acordo com os limites.

Publicao 1756-PM001E-PT-P - Agosto 2002

A-2

Cdigos de Falha

Tabela A.1 Tipos e Cdigos de Falhas Grave (Continuao)s Tipo: 4 4 6 Cdigo: Causa: 84 89 1 Overflow da pilha. Em uma instruo SFR, a rotina alvo no contm uma etapa alvo. O Watchdog da tarefa expirou. A tarefa no foi concluda pelo usurio no perodo de tempo especfico. Um erro de programa causou uma malha infinita ou o programa complexo demais para executar to rpido quanto o especificado ou uma tarefa com maior prioridade est afastando essa tarefa do trmino. Armazenamento na memria no voltil falhou. Mtodo de Recuperao: Reduza os nveis de encadeamento da sub-rotina ou o nmero de parmetros transferidos. Corrija a SFR ou adicione a etapa que estiver faltando. Aumente o watchdog da tarefa, diminua o tempo de execuo, eleve o nvel de prioridade dessa tarefa, simplifique as tarefas de maior prioridade ou mova alguns cdigos para um outro controlador.

40

1. Tente armazenar novamente o projeto na memria no voltil. 2. Se o projeto falhar ao ser armazenado na memria no voltil, substitua a placa de memria. Atualize o firmware do controlador para o mesmo nvel de reviso que o projeto que est na memria no voltil.

42

A carga da memria no voltil falhou porque a reviso do firmware do projeto na memria no voltil no corresponde reviso do firmware do controlador. Tentativa de colocar o controlador em modo Run com a chave seletora de modo durante o download. A posio real excedeu o limite de overtravel positivo. A posio real excedeu o limite positivo da ultrapassagem de curso. A posio real excedeu a tolerncia de erro. A conexo do canal A, B ou Z do encoder est interrompida. Evento de rudo no encoder detectado ou os sinais do encoder no esto na quadratura. A entrada Drive Fault foi ativada. A conexo sncrona apresentou uma falha.

Espere a concluso do download e remova a falha.

11 11 11 11 11 11 11

1 2 3 4 5 6 7

Mova os eixos na direo negativa at a posio ficar dentro do limite de overtravel e execute Motion Axis Fault Reset. Mova os eixos na direo positiva at a posio ficar dentro do limite de ultrapassagem e execute Motion Axis Fault Reset. Mova a posio para dentro da tolerncia e execute Motion Axis Fault Reset. Reconecte o canal do encoder e execute Motion Axis Fault Reset. Conserte a fiao do encoder e execute Motion Axis Fault Reset. Remova a Drive Fault e execute Motion Axis Fault Reset. Primeiro, execute Motion Axis Fault Reset. Se no funcionar, retire o servomdulo e conecte-o novamente. Se falhar mais substitua o servomdulo. Substitua o mdulo. Primeiro, execute Motion Axis Fault Reset. Se no funcionar, arranque o servomdulo e conecte-o novamente. Se falhar mais substitua o servomdulo. A taxa de atualizao do curso do grupo muito alta para manter a operao correta. Remova o tag de falha do grupo, aumente a taxa de atualizao do grupo e remova a falha grave.

11 11

8 9

O servomdulo detectou uma falha grave de hardware. A conexo assncrona apresentou a uma falha.

11

32

A tarefa de movimento sofreu uma sobreposio.

Publicao 1756-PM001E-PT-P - Agosto 2002

Cdigos de Falha

A-3

Cdigos de Falha de Advertncia

Use a seguinte tabela para determinar a causa e a ao corretiva para uma falha de advertncia. O tipo e o cdigo correspondem ao tipo e cdigo exibidos nesses locais: Caixa de dilogo Controller Properties, guia Minor Faults Objeto PROGRAM, atributo MINORFAULTRECORD

Tabela A.2 Tipos e Cdigos de Falha de Advertncia Tipo: 4 4 4 4 4 Cdigo: 4 7 35 36 51 Causa: Um overflow aritmtico em uma instruo. O tag de destino GSV/SSV foi pequeno demais para suportar todos os dados. Tempo delta PID 0. Setpoint do PID fora da faixa O valor LEN do tag string superior ao tamanho de DATA do tag string. Mtodo de Recuperao: Para arrumar o programa, examine as operaes aritmticas (ordem) ou ajuste os valores. Arrume o destino de modo que tenha espao suficiente. Ajuste o tempo de delta PID para que seja > 0. Ajuste o setpoint de forma que fique dentro da faixa. 1. Verifique se nenhuma instruo est escrevendo no membro LEN do tag string. 2. No valor LEN, insira o nmero de caracteres que o string contm. Crie um novo tipo de dados do string que seja grande o suficiente para o string de sada. Use o novo tipo de dados do string como o tipo dados para o destino. Ou: Reduza o tamanho do valor de ASCII. Use um tipo de dados maior para o destino. 1. Verifique se o valor de Inicial est entre 1 e o tamanho de DATA de Fonte. 2. Verifique se o valor Inicial mais o valor de Quantidade so menores ou equivalentes ao tamanho de DATA da Fonte. Ou: Mude o ajuste da Linha de Controle da porta serial. Apague a instruo AHL.

52

O string de sada maior que o de destino.

53

O nmero de sada ultrapassa os limites do tipo de dados do destino. O valor Inicial ou de Quantidade invlido.

56

57

A instruo AHL falhou ao ser executada porque a porta serial est ajustada para no handshaking.

Sobreposio de tarefas peridicas A tarefa peridica no foi concluda antes da nova execuo. Projeto carregado a partir da memria no voltil. Erro desconhecido ao fazer a manuteno da porta serial. A linha CTS no est correta para a configurao atual.

Simplifique os programas, aumente o perodo ou aumente a prioridade relativa, etc.

7 9 9

49 0 1

Entre em contato com a equipe de GTS. Desconecte e reconecte o cabo da porta serial ao controlador. Certifique-se de que o cabo est conectado corretamente

Verifique os erros a seguir na lista de polling: Erro da lista de polling. o nmero total de estaes maior que o Um problema foi detectado com a lista de polling do espao no tag da lista de polling DF1 mestre, como por exemplo, especificar mais o nmero total de estaes maior do que 255 estaes que o tamanho do arquivo, especificar mais de o indicador de estao atual maior que o final 255 estaes e tentar indexar aps o final da lista ou o do tag da lista de polling fazer o polling do endereo de difuso (STN #255). foram encontradas mais do que 254 estaes

Publicao 1756-PM001E-PT-P - Agosto 2002

A-4

Cdigos de Falha

Tabela A.2 Tipos e Cdigos de Falha de Advertncia (Continuao) Tipo: 9 Cdigo: 5 Causa: Perodo de espera do polling escravo DF1. O watchdog do polling foi interrompido por um escravo. O mestre no fez o polling neste controlador no tempo especificado. O contato com o modem foi perdido. As linhas de controle DCD e/ou DSR so esto sendo recebidas na seqncia e/ou estado corretos. A bateria no foi detectada ou precisa ser substituda. Mtodo de Recuperao: Determine e corrija o atraso para o polling.

Corrija a conexo do modem com o controlador.

10

10

Instale uma bateria nova.

Publicao 1756-PM001E-PT-P - Agosto 2002

Apndice

Conformidade IEC61131-3

Use Este Apndice


Para obter informaes sobre: Sistema Operacional Definies de Dados Linguagens de Programao Conjunto de Instrues Portabilidade do Programa IEC61131-3 Tabelas de Conformidade com IEC Consulte a pgina: B-2 B-2 B-3 B-3 B-3 B-5

Introduo

A International Electrotechnical Commission (IEC) tem desenvolvido uma srie de especificaes para os controladroes programveis. Estas especificaes so projetadas para promover a unificao internacional de equipamentos e linguagem de programao para usar na indstria de controles. Esses padres fornecem os fundamentos dos controladores Logix5000 e software de programao RSLogix 5000. A especificao do controlador programvel IEC dividida em cinco partes separadas, cada uma focaliza um aspecto diferente do sistema de controle: Parte 1: Informaes Gerais Parte 2: Teste de Equipamentos e Requerimentos Parte 3: Linguagens de Programao Parte 4: Orientaes do Usurio Parte 5: Mensagem da Especificao do Servio

A indstria de controle como um todo tem se concentrado na parte 3 (IEC61131-3), Linguagens de Programao, porque ela fornece o alicerce para a implementao de outros padres e fornece o benefcio mais significativo ao usurio final atravs da reduo do custo de treinamento. Devido a esse motivo, somente IEC61131-3 ser abordada. A especificao da linguagem de programao IEC61131-3 aborda inmeros aspectos dos controladores programveis incluindo a execuo de operao do sistema, definies dos dados, as linguagens de programao e o conjunto de instruo. Os componentes da especificao IEC61131-3 so categorizados conforme requisitado pela especificao, opcional ou extenses. Portanto, a especificao IEC61131-3 fornece um conjunto mnimo de funcionalidade que pode ser estendida para atender as necessidades de aplicao do usurio final. O lado negativo dessa abordagem que cada fornecedor do sistema de controle programvel pode implementar diferentes componentes da especificao ou fornecer extenses diferentes.
1 Publicao 1756-PM001E-PT-P - Agosto 2002

B-2

Conformidade IEC61131-3

Sistema Operacional

O sistema operacional multitarefa e preemptivo (OS) dos controladores Logix5000 atendem a definio IEC61131-3. Em IEC61131-3, o sistema operacional dos controladores programveis podem conter zero ou mais tarefas que podem ser executadas por um ou mais programas cada uma contendo uma ou mais funes ou rotinas. De acordo com o IEC61131-3, o nmero de cada um desses componentes depende da implementao. Os controladores Logix5000 fornecem mltiplas tarefas, cada uma contendo programas mltiplos e um nmero ilimitado de funes ou rotinas. A IEC61131-3 fornece uma opo para criar diferentes classificaes de execuo de tarefas. As tarefas podem ser configuradas como contnuas, peridicas ou baseadas em eventos. Uma tarefa contnua no precisa ser programada, j que utilizar qualquer tempo de processamento no utilizado no sistema quando outras tarefas estiverem inativas. As tarefas peridicas so programadas para operar baseadas em um perodo de tempo recorrente. A especificao IEC61131-3 no especifica um tempo para a configurao da tarefa peridica. Uma tarefa baseada em eventos IEC61131-3 disparada ao detectar a borda crescente da entrada configurada. Os controladores Logix5000 fornecem as tarefas contnua e peridica. Alm disso, o perodo para uma tarefa peridica configurvel iniciando em 1 milissegundo (ms).

Definies de Dados

A especificao IEC61131-3 fornece acesso para a memria atravs da criao de variveis nomeadas. Os nomes IEC61131-3 para as variveis consistem de, no mnimo, seis caracteres (o software de programao RSLogix5000 permite um mnimo de 1 caracter) iniciando com um sublinhado _ ou um caracter alfa (A-Z), seguido por um ou mais caracteres consistindo de um sublinhado _, caracter alfa (A-Z) ou um nmero (0-9). Opcionalmente, os caracteres alfa minsculos (a-z) podem ser suportados, j que no so sensveis ao contexto (A = a, B = b, C = c ). Os controladores Logix5000 fornecem total conformidade com essa definio, oferecem suporte para a opo de letra minscula e estendem o nome em at 40 caracteres. As variveis de dados em IEC61131-3 podem ser definidas como acessveis a todos os programas dentro de um recurso ou controlador ou o acesso limitado fornecido somente para as funes ou rotinas dentro de um nico programa. Para passar os dados entre os mltiplos recursos ou controladores, os caminhos de acesso podem ser configurados para definir o local dos dados dentro de um sistema. Os controladores Logix5000 fornecem conformidade atravs de dados do programa e do controlador e permitem a configurao de caminhos de acesso usando os dados produzidos/consumidos. A interpretao de memria de uma varivel no IEC61131-3 definida atravs do uso de um dado elementar ou um tipo de dado derivado opcional criado a partir de um grupo de tipos de dados mltiplos. Os controladores Logix5000 fornecem suporte para o uso dos tipos de dados elementares BOOL (1 bit), SINT (inteiro de 8 bits), INT (inteiro de 16 bits), DINT (inteiro de 32 bits) e REAL (nmero de ponto flutuante IEEE). Alm disso, os tipos de dados derivados opcionais so suportados pela criao de estruturas e matrizes definidos pelo usurio.

Publicao 1756-PM001E-PT-P - Agosto 2002

Conformidade IEC61131-3

B-3

Linguagens de Programao

A especificao IEC61131-3 define cinco (5) linguagens de programao diferentes e um conjunto de elementos comuns. Todas as linguagens so definidas como opcionais, mas pelo menos uma deve ser suportada para afirmar a conformidade com a especificao. Os componentes da linguagem de programao IEC61131-3 so definidos como: Elementos de Linguagem Comum Elementos Grficos Comuns Elementos de Linguagem da Lista de Instruo (IL) Elementos de Linguagem de Texto Estruturado (ST) Elementos de Linguagem de Diagrama Ladder (LD) Elementos de Linguagem do Controle Sequencial de Funes (SFC) Elementos de Linguagem do Diagrama de Bloco de Funes (FBD)

Os controladores Logix5000 e RSLogix5000 fornecem suporte para os elementos de linguagem comuns e para as opes de linguagens de Texto Estruturado, Diagrama Ladder, Controle Seqencial de Funes e Diagrama de Bloco de Funes. Alm disso, o ambiente utiliza um formato importao/exportao ASCII baseado na linguagem de Texto Estruturado. Os recursos de troca do conjunto de instruo e de arquivo de programa so discutidos em detalhes nas sees a seguir.

Conjunto de Instrues

O conjunto de instrues especificado pelo IEC61131-3 completamente opcional. A especificao lista um conjunto limitado de instrues que, se implementado, deve estar em conformidade com a representao visual e a execuo determinada. A IEC61131-3, entretanto, no limita o conjunto de instrues para aquelas listadas na especificao. Cada fornecedor de CLP est livre para implementar a funcionalidade adicional na forma de instrues acima ou no mesmo nmero daquelas listadas pela especificao. Os exemplos de tais instrues estendidas so aquelas necessrias para executar o diagnstico, o controle da malha PID, controle de posicionamento e manipulao de arquivo de dados. Como as instrues estendidas no esto definidas pela especificao IEC61131-3, no h garantia de que a implementao entre os diferentes fornecedores de CLP ser compatvel. Deste modo, a utilizao dessas instrues pode evitar a troca de lgica entre os fornecedores. Os controladores Logix5000 e RSLogix5000 fornecem um pacote de instrues que executam conforme definido pela especificao IEC61131-3. A representao fsica dessas instrues mantm sua aparncia e funcionalidade com os sistemas existentes para reduzir o custo de treinamento associado ao trabalho com o ambiente. Alm das instrues em conformidade com as instrues IEC61131-3, uma faixa completa de instrues dos produtos existentes foi trazida para o ambiente para que no haja nenhuma perda de funcionalidade.

Portabilidade do Programa IEC61131-3

Uma das metas dos programas pelos usurios finais em um ambiente de conformidade com a IEC61131-3 o movimento ou a portabilidade de programas entre os controladores desenvolvidos por diferentes fornecedores.
Publicao 1756-PM001E-PT-P - Agosto 2002

B-4

Conformidade IEC61131-3

Essa rea um ponto fraco da IEC61131-3 porque nenhum formato de troca de arquivo definido pela especificao. Isto significa que qualquer programa criado em um ambiente do fornecedor exigir manipulao para mov-lo para um outro sistema de fornecedor. Para minimizar o esforo envolvido na realizao da portabilidade pelo fornecedor, o software de programao RSLogix 5000 para os controladores inclui um utilitrio completo de exportao e importao de ASCII. Alm disso, o formato de arquivo utilizado por essa ferramenta baseado em uma definio da linguagem de Texto Estruturado IEC61131-3 hbrido. O sistema operacional do controlador e as definies de dados seguem os formatos adequados IEC61131-3. As extenses so implementadas para converter a lgica do Diagrama Ladder em texto ASCII j que este no definido pelo IEC61131-3. Para maiores informaes sobre o utilitrio de importao e exportao ASCII do software de programao RSLogix 5000, consulte Logix5000 Controllers Import/Export Reference Manual, publicao 1756-RM084.

Publicao 1756-PM001E-PT-P - Agosto 2002

Conformidade IEC61131-3

B-5

Tabelas de Conformidade com IEC


Cdigo da Tabela:(1) 1 1 1 1 2 2 2 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 Cdigo do Recurso: 2 3a 4a 6a 1 2 3 1 1 2 3 4 5 6 7 1A 1B 1C 1D 1E 1F 1G 1H 1I 2 3 4

Os controladores Logix5000 e RSLogix5000 esto em conformidade com os requisitos IEC61131-3 para os seguintes recursos de linguagem:

Descrio do Recurso: Letras minsculas Smbolo do nmero (n) Smbolo do dlar ($) Delimitadores subscritos ([ ]) Identificadores que usam letra maiscula e nmeros Identificadores de uso de maisculas, nmeros e sublinhas incorporadas Identificadores de uso de maisculas e minsculas, nmeros e sublinhas incorporadas Comentrios Inteiro literal Literal real Literal real com expoentes Literal de base 2 Literal de base 8 Literal de base 16 Booleano zero e um String vazio'' String de comprimento um contendo um caracter 'A'

Extenses e Notas de Implementao: Nenhum Usado para a designao imediata de tipos de dados do valor Usado para descrio e para o caracter de controle da string Matrizes subscritos Nome de tarefas, programa, rotina, estrutura e nome de tag Nome de tarefas, programa, rotina, estrutura e nome de tag Nome de tarefas, programa, rotina, estrutura e nome de tag Os Comentrios ST, tambm suportam /* Comment */, e // End of line comments. 12, 0, -12 12,5, -12,5 -1,34 E-12, 1,234 E6 2#0101_0101 8#377 16#FFE0 0, 1 Descries e Editor de String Descries e Editor de String

String de comprimento um contendo um espao Descries e Editor de String '' String de comprimento um contendo uma nica aspa de caracter de aspa nica '$'' String de comprimento um contendo um caracter de aspa dupla '''' String de comprimento dois contendo os caracteres CR e LF String de comprimento um contendo o caracter LF '$0A' String de comprimento 5 impressos como "$1,00" usando '$$1,00' Strings equivalentes de comprimento dois 'AE' e '$C4$CB' Smbolo do dlar do string '$$' Aspa nica do String '$'' Alimentao da Linha de String '$L' ou '$l' Descries e Editor de String Descries e Editor de String Descries e Editor de String Descries e Editor de String Descries e Editor de String Descries e Editor de String Descries e Editor de String Descries e Editor de String Descries e Editor de String

Publicao 1756-PM001E-PT-P - Agosto 2002

B-6

Conformidade IEC61131-3

Cdigo da Tabela:(1) 6 6 6 6 6 10 10 10 10 10 10 10 11 12 12 12 13 13 13 13 14 14 14 14 19 a 20 20 20 20 21 22

Cdigo do Recurso: 5 6 7 8 9 1 2 3 4 10 12 16 1 1 4 5 1 4 5 9 1 4 5 6 2a 1 2 3 4 1 1

Descrio do Recurso: Linha nova de String '$N' ou '$n' String da Alimentao (pgina) '$P' ou '$p' Retorno do carro do string '$R' ou '$r' Trava de String '$T' ou '$t' Aspa dupla do String '$'' Tipo de Dados BOOL Tipo de Dados SINT Tipo de Dados INT Tipo de Dados DINT Tipo de Dados REAL Tempo Tipo de dados STRING Hierarquia de tipo de dados Derivao direta de tipos elementares Tipos de dados da matriz (matriz) Tipos de Dados Estruturados Valor inicial de BOOL, SINT, INT, DINT de 0 Valor incial de REAL, LREAL de 0,0 Valor inicial do tempo T#0s String Vazio'' Inicializao de tipos derivados diretamente Inicializao de tipos de dados da matriz Inicializao dos tipos de dados estruturados derivados Invocao textual, no formal Use EN e ENO Uso sem EN e ENO Uso com EN e sem ENO Uso sem EN e com ENO Funes sobrecarregadas ADD (INT, DINT) ou ADD(DINT, REAL) Funo de converso _TO_

Extenses e Notas de Implementao: Descries e Editor de String Descries e Editor de String Descries e Editor de String Descries e Editor de String Descries e Editor de String Definio da varivel de tag Definio da varivel de tag Definio da varivel de tag Definio da varivel de tag Definio da varivel de tag Definio da varivel de tag, Estrutura TIMER 8 Bits Nenhum estruturas de tipo de dados definido pelo usurio Definio da varivel do tag Tipo de dados definido pelo usurio Definio da varivel do tag Definio da varivel do tag Definio da varivel do tag, instruo RES (reset) Descries e Strings Importao / exportao Importao / exportao Importao / exportao Disponvel em ST Funo presente em LD, mas no registrada. Disponvel em FBD. Disponvel em FBD Disponvel em FBD Disponvel em FBD Todos os tipos sobrecarregados compatveis so documentados com cada instruo RAD, DEG instrues de Radianos de/para Decimais. Converso numrica de String STOD, STOR, RTOS, DTOS. Outros no so necessrios por causa do sobrecarregamento da instruo instruo TRN em LD e funo TRUNC em ST Instruo FRD em LD

Inicializao dos elementos do tipo estruturado Importao / exportao

22 22

2 3

Funo de converso truncada Converso de BCD para INT

Publicao 1756-PM001E-PT-P - Agosto 2002

Conformidade IEC61131-3

B-7

Cdigo da Tabela:(1) 22 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 25 25 25 25 26 26 26 26 27 27 27

Cdigo do Recurso: 4 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 1 2a 2b

Descrio do Recurso: Converso de INT para BCD Valor absoluto Raiz quadrada Log Neperiano Logaritmo de base 10 Seno em radianos Co-seno em radianos Tangente em radianos Arco seno principal Arco co-seno principal Arco tangente principal Adio aritmtica Multiplicao aritmtica Subtrao aritmtica Diviso aritmtica Mdulo Exponenciao Movimento de valor Deslocamento de bit esquerda Deslocamento de bit direita Rotao de bit esquerda Rotao de Bit direita AND OR XOR NOT SELECT Selecionar mximo MAX Selecionar mnimo MIN

Extenses e Notas de Implementao: Instruo TOD em LD Instruo ABS Instruo SQR em LD e funo FBD e SQRT em ST. Instruo LN Instruo LOG funo/instruo SIN funo/instruo COS funo/instruo TAN Instruo ASN em LD e funo FBD e ASIN em ST. Instruo ACS em LD e funo FBD e ACOS em ST. Instruo ATN em LD e funo FBD e ATAN em ST. Instruo ADD em LD e FBD, e + em ST. Instruo MUL em LD e FBD, e * em ST. Instruo SUB em LD e FBD, e - em ST. Instruo DIV em LD e FBD, e / em ST. Instruo MOD LD e ST Instruo XPY em LD e FBD, e ** em ST. Instruo MOV em LD, e := em ST. Funcionalidade contida na instruo BSL em LD para deslocamento 1 Funcionalidade contida na instruo BSR em LD para deslocamento 1 Funcionalidade contida na instruo BSR em LD para deslocamento 1 Funcionalidade contida na instruo BSR em LD para deslocamento 1 Instruo BAND em FBD e operador "&" em ST Instruo BOR em FBD Instruo BXOR em FBD Instruo BNOT em FBD Instruo SEL em FBD Funcionalidade contida na instruo ESEL em FBD e ST Funcionalidade contida na instruo ESEL em FBD e ST

Publicao 1756-PM001E-PT-P - Agosto 2002

B-8

Conformidade IEC61131-3

Cdigo da Tabela:(1) 27 27 28 28 28 28 28 28 29 29 29 29 29 29 32 32 32 32 34 34 35 35 36 37 37 38 38 40 40 40

Cdigo do Recurso: 3 4 5 6 7 8 9 10 1 4 5 6 7 9 1 2 3 4 1 2 1 2 1b 2a 3a 2 3 1a 1b 2a

Descrio do Recurso: Limite Alto/Baixo LIMIT Multiplexador MUX Comparao maior que Comparao maior ou igual a Comparao igual Comparao menor que Comparao menor ou igual a Comparao diferente de Comprimento de String LEN String mdio MID Concatenao de String CONCAT Insero do String INSERT Delete String DELETE Encontro de String Leitura de entrada Escrita de entrada Leitura de sada Escrita de sada Dominante do conjunto bistable Dominante do reset bistable Detector de borda crescente Detector da borda descendente Contagem crescente Temporizador em atraso Temporizador de desenergizao Temporizao de energizao Temporizao de desenergizao Etapa SFC Etapa inicial SFC Etapa Textual SFC

Extenses e Notas de Implementao: Instruo HLL em FBD e ST Instruo MUX em FBD Instruo GRT em LD e FBD, e > em ST. Instruo GRE em LD e FBD, e >= em ST. Instruo EQU em LD e FBD, e = em ST. Instruo LES em LD e FBD, e < em ST. Instruo LEQ em LD e FBD, e <= em ST. Instruo NLEQ em LD e FBD, e <> em ST. Contido como parmetro de tipo de dados STRING Instruo MID em LD e ST Instruo CONCAT em LD e ST Instruo INSERT em LD e ST Instruo DELETE em LD e ST Instruo FIND em LD e ST FBD e ST FBD e ST FBD e ST FBD e ST Instruo SETD em FBD e ST Instruo RESD em FBD e ST Instruo OSR em LD e instruo OSRI em FBD e ST. Instruo OSF em LD e instruo OSFI em FBD e ST. Funcionalidade contida nas instrues CTU e RES em LD e na instruo CTUD em FBD e ST Funcionalidade contida na instruo TON em LD e na instruo TONR em FBD e ST Funcionalidade contida na instruo TOF em LD e na instruo TOFR em FBD e ST Funcionalidade contida na instruo TOF em LD e na instruo TOFR em FBD e ST Funcionalidade contida na instruo TOF em LD e na instruo TOFR em FBD e ST

O nome da etapa de importao/exportao especificado usando o formato "Operand := step_name"

Publicao 1756-PM001E-PT-P - Agosto 2002

Conformidade IEC61131-3

B-9

Cdigo da Tabela:(1) 40

Cdigo do Recurso: 2b

Descrio do Recurso: SFC Etapa textual inicial

Extenses e Notas de Implementao: Importao / exportao, usa o parmetro "InitialStep" e o nome da etapa especificado e usando o formato "Operand := step_name" Tag de retorno da etapa Tag de retorno da etapa Importar/exportar com diferente formatao Tag de retorno da transio Tag de retorno da transio Tag de retorno da transio Tag de retorno da transio Tag de retorno da ao Importao/exportao

40 40 41 41 41 41 41 41 42 42 43 43 43 43 44 44 44 44 44 44 45 45 45 45 45 45 45 45 45 45 45 45

3a 4 1 5 7 7a 7b 7d 1 3s 1 2 3 4 1 2 3 5 6 7 1 2 3 4 5 6 7 8 9 10 11 12

Forma geral do Flag da Etapa SFC Forma geral do tempo transcorrido da etapa Transio usando ST Forma de transio textual Nome da transio Conjunto de transio por LD Conjunto de transio por FBD Conjunto de transio por ST Ao Booleana Representao de texto da ao Associao da Ao de Etapa Etapa com Aes Concatenadas Corpo da etapa textual Campo do Corpo de Ao Qualificador do Bloco de Ao Nome do Bloco de Ao Tag de Indicao da Ao Ao usando ST Ao usando LD Ao usando FBD Nenhum qualificador de ao Qualificador de Ao N - No Armazenado Qualificador de Ao R - Reset Qualificador de Ao S - Definido/Armazenado Qualificador de Ao L - Tempo Limitado Qualificador de Ao D - Tempo de Atraso Qualificador de Ao P - Pulso Qualificador de Ao SD - Armazenado e Tempo de Atraso Qualificador de Ao DS - Atrasado e Armazenado Qualificador de Ao SL - Armazenado e Tempo limitado Qualificador de Ao P1 - Borda Crescente de Pulso Qualificador de Ao P0 - Borda Descendente de Pulso

Importao/exportao com diferente formatao ST Incorporado

Estendido para suportar DINT, INT, SINT, ou REAL alm do BOOL Suporta ST e JSR incorporados para a rotina ST Usando JSR para a rotina LD Usando JSR para a rotina FBD O padro N quando nenhum explicitamente inserido

Publicao 1756-PM001E-PT-P - Agosto 2002

B-10

Conformidade IEC61131-3

Cdigo da Tabela:(1) 45a 45a 46 46 46 46 46 46 46 46 46 47 47 48 48 48 48 48 48 48 55 55

Cdigo do Recurso: 1 2 1 2a 2b 3 4a 4b 5a, b, c 6a, b, c 7 1 4 1 2 3 4 5 6 7 1 2

Descrio do Recurso: Controle de Ao Controle de Ao Seqncia nica SFC Divergncia SFC de seleo da seqncia Divergncia SFC de seleo da seqncia com a ordem de execuo. Convergncia SFC de seleo da seqncia Divergncia de seqncia simultnea SFC Convergncia de seqncia simultnea SFC Ignorar Seqncia SFC Malha de seqncia SFC Setas direcionais da malha SFC Representao grfica SFC Representao grfica SFC Requisitos de Conformidade Mnimos da Etapa SFC Requisitos de Conformidade de Transio Mnima SFC Requisitos de Conformidade da Ao Mnima SFC Requisitos de Conformidade do Corpo de Ao Mnima SFC Requisitos de Conformidade do Qualificador de Ao Mnima SFC Requisitos de Conformidade da Ramificao Mnima SFC Requisitos de Conformidade com a Conexo Mnima do Bloco SFC Parentizao ST (expresso) Avaliao de Funo ST

Extenses e Notas de Implementao:

Uso de conexes de linha vs. asterisco

Quando o fio estiver escondido

Consulte as observaes nas tabelas individuais acima. Consulte as observaes nas tabelas individuais acima. Consulte as observaes nas tabelas individuais acima. Consulte as observaes nas tabelas individuais acima. Consulte as observaes nas tabelas individuais acima. Consulte as observaes nas tabelas individuais acima. Consulte as observaes nas tabelas individuais acima. Uso de uma forma de invocao informal para construo em funes. JSR usado na linguagem ST para chamar o cdigo desenvolvido pelo usurio.

55 55 55 55 55 55 55 55 55

3 4 5 6 7 8 9 10 11

Exponenciao ST ** Negao ST ST Negao NOT ST Multiplicao * ST Diviso / ST Mdulo MOD ST Adio + ST Subtrao ST Comparao <, >, <=, >=

Publicao 1756-PM001E-PT-P - Agosto 2002

Conformidade IEC61131-3

B-11

Cdigo da Tabela:(1) 55 55 55 55 55 55 56 56 56 56 56 56 56 56 56 56 57 57 57 57 57 57 57 58 58 58 58 58 59 59 60 60 61 61 61 62

Cdigo do Recurso: 12 13 14 15 16 17 1 2 3 4 5 6 7 8 9 10 1, 2 3, 4 5, 6 7, 8 9, 10 11, 12 13, 14 2 3 4 5 8 1 2 1 2 1, 2 3, 4 5, 6 1

Descrio do Recurso: ST Igualdade = ST Diferena <> ST Booleana AND como & ST Booleana AND ST Booleana XOR ST Booleana OR ST Atributo := ST invocao de Bloco de Funes ST RETURN ST IF / ELSIF / ELSE/ END_IF ST CASE OF / ELSE / END_CASE ST FOR / END_FOR ST WHILE DO / END_WHILE ST REPEATE / UNTIL / END_REPEAT ST EXIT ST Declarao Vazia ; Linha horizontal Linha Vertical Conexo Horizontal/ Vertical Cruzamentos de linha sem conexo Conexo e no conexo Blocos com conexo Conectores Salto incondicional Salto alvo Salto condicional Volta condicional Volta incondicional Trilho de alimentao esquerdo Trilho de alimentao direito Link Horizontal Link Vertical Contato Normalmente aberto --| |-Contato Normalmente fechado --| / |-Bobina --( )--

Extenses e Notas de Implementao:

RET( ) com parmetros mltiplos

editor LD, editor FBD editor LD, editor FBD editor LD, editor FBD editor FBD editor LD, editor FBD editor LD, editor FBD editor FBD Instruo JMP em LD Instruo LBD em LD Instruo FRD em LD Instruo RET em LD Instruo JMP em LD editor LD editor LD editor LD editor LD Instruo XIC em LD Instruo XIO em LD Instruo OTE em LD

Contato de deteco de transio positiva -| P |- Instruo ONS em LD

Publicao 1756-PM001E-PT-P - Agosto 2002

B-12

Conformidade IEC61131-3

Cdigo da Tabela:(1) 62 62 62 62
(1)

Cdigo do Recurso: 3 4 8 9

Descrio do Recurso: Ajuste de (com trava) bobina Reset (sem trava) de bobina Bobina de deteco de transio positiva Bobina de deteco de transio negativa

Extenses e Notas de Implementao: Funcionalidade contida na instruo OTL em LD Funcionalidade contida na instruo OTU em LD Instruo OSR em LD Instruo OSF em LD

A tabela associada s linguagens diferentes das de texto estruturado, controle seqencial de funes, diagrama ladder e diagrama do bloco de funes foram puladas.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

ao Em um controle seqencial de funes (SFC), uma ao representa uma diviso funcional de uma etapa. Muitas aes compem uma etapa. Cada ao realiza uma funo especfica, como controlar um motor, abrir uma vlvula ou colocar um grupo de dispositivos em um modo especfico.
Etapa
Faa isto...

Aes

COMBINAO
e faa isso

Cada ao inclui um qualificador. Quando a etapa est ativa (em execuo) o qualificador determina quando a ao comea e quando ela pra. Consulte controle seqencial de funes, etapa e qualificador alias tag Um tag que se refere a outro tag. Um tag com alias/smbolo pode se referir a outro tag com alias/smbolo a um outro ou um tag base. Um tag com alias/smbolo tambm pode se referir a um componente de outro tag, referindo-se a um membro de uma estrutura, um elemento de uma matriz ou um bit dentro de um tag ou membro. Consulte tag base. aplicao A combinao de rotinas, programas, tarefas e configurao de E/S, usada para definir a operao de um nico controlador. Consulte projeto. armazenar Para copiar um projeto para a memria no voltil do controlador. Isto sobrescreve qualquer projeto que esteja atualmente na memria no voltil. Consulte carga, memria no voltil. ASCII Um cdigo de 7 bits (com um bit de paridade opcional) que usado para representar caracteres alfanumricos, pontuao e caracteres de controle de cdigos. Para uma lista de cdigos ASCII, consulte a quarta capa deste manual.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

assncrono Aes que ocorrem independentes umas das outras e no tm um padro regular. Nos controladores Logix5000, os valores de E/S so atualizados de forma assncrona execuo da lgica.: Programas dentro de uma tarefa acessam dados de entrada e sada diretamente da memria de uso do controlador. A lgica dentro de qualquer tarefa pode modificar os dados utilizados pelo controlador. Os dados e os valores de E/S so assncronos e podem mudar durante o curso de execuo de uma tarefa. Um valor de entrada indicado no comeo da execuo de uma tarefa pode ser diferente quando indicado posteriormente. ATENO Certifique-se de que a memria de dados contm os valores apropriados durante toda a execuo da tarefa. Voc pode duplicar ou colocar no buffer dados no comeo da varredura para fornecer valores de referncia para sua lgica.

!
B
binrio

Valores inteiros mostrados e inseridos em base 2 (cada dgito representa um nico bit). Pr-fixado com n 2. Adaptado ao comprimento do booleano ou inteiro (1, 8, 16 ou 32 bits). Quando mostrado, todos os grupos de 4 dgitos so separados por uma sublinha, para legibilidade. Consulte decimal, hexadecimal, octal. bit Dgito binrio. A menor unidade de memria. Representado pelos dgitos 0 (desenergizado) e 1 (energizado). BOOL Um tipo de dados que armazena o estado de um nico bit, onde: 0 igual a desenergizado 1 igual a energizado byte Uma unidade de memria constituda de 8 bits.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

cache Para deixar a conexo aberta depois que a instruo MSG estiver concluda. Isto til se voc executa repetidamente a instruo MSG, pois a inicializao da conexo aumenta o tempo de varredura. A seguinte tabela mostra quais mensagens usam uma conexo e se voc pode ou no armazenar a conexo em cache:
Este tipo de mensagem: Usando este mtodo de comunicao: Use uma conexo: Qual voc pode armazenar em cache:

L ou escreve a tabela de dados CIP

CIP

CLP2, CLP3, CLP5 ou SLC (todos os CIP tipos) CIP com Source ID DH+ CIP Generic l ou escreve o block-transfer
1 2

N/A N/A

Somente uns poucos mdulos alvo requerem uma conexo.

Considere o armazenamento em cache somente se o mdulo alvo requisitar uma conexo. Use as etapas a seguir para escolher uma opo de cache para uma mensagem que voc possa armazenar em cache. 1. Sua lgica altera o caminho de uma mensagem? (ou seja, uma instruo MSG comunica-se com mais de um dispositivo?)
Se: Sim No Ento: A. Desmarque a caixa de verificao Cache Connection. B. Pule a etapa 2. V para etapa 2.

2. Para quantos controladores este controlador envia mensagens para que voc possa armazenar em cache?
Se: 16 ou menos controladores mais de 16 controladores Ento: Deixa a caixa de verificao Cache Connection selecionada (marcada). A. Selecione os 16 controladores que requerem mensagens mais freqentes. B. Esta a mensagem para um daqueles controladores? Se: Sim No Ento: Deixa a caixa de verificao Cache Connection selecionada. Desmarque a caixa de verificao Cache Connection.

Consulte conexo, conexo no por cache.


Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

caminho O caminho descreve a rota que a mensagem leva para chegar ao destino. Se a configurao de E/S do controlador contiver um dispositivo de destino, use o boto Browse para selecionar o dispositivo. Isto define o caminho automaticamente.
Message Path Browser Path: peer_controller

peer_controller

I/O Configuration

[0] 1756-CNB/x Local_CNBB

2 [0] 1756-CNB/x chassis_b


[1] 1756-L55/x peer_controller

peer_controller

Se a configurao de E/S no contiver o dispositivo destino, insira o caminho para o destino usando o seguinte formato: port,address,port,address
onde: port Para isto: Placa de fundo do chassi de qualquer controlador ou mdulo 1756 Porta DF1 de um controlador Logix5000 Porta ControlNet de um mdulo 1756-CNB Porta Ethernet de um mdulo 1756-ENBx ou -ENET Porta DH+ no canal A de um mdulo 1756-DHRIO Porta DH+ no canal B de um mdulo 1756-DHRIO endereo Placa de fundo do chassi ControlLogix Rede DF1 Rede ControlNet Rede DH+ rede EtherNet/IP 3 nmero de slot Endereo da estao (0-254) Nmero do n (1-99 decimal) n 8 seguido pelo nmero do n (1-77 octal) Por exemplo, para especificar o endereo do n octal de 37, tipo 8#37. Voc pode especificar um mdulo em uma rede EtherNet/IP usando qualquer um destes formatos: IP address IP address:Port DNS name DNS name:Port (p. ex.: 130.130.130.5) (p. ex.: 130.130.130.5:24) (p. ex.: tanks) (p. ex.: tanks:24) : 1 2

Consulte conexo.
Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

carga Para copiar um projeto da memria no voltil para a memria do usurio (RAM) do controlador. Isto sobrescreve qualquer projeto que est atualmente no controlador. Consulte memria no voltil, armazenar. carregamento O processo de transferir os contedos de um controlador para um arquivo de projeto na estao de trabalho. Se voc no tem o arquivo de projeto para um controlador, voc pode carregar a partir do controlador e criar um arquivo de projeto. Entretanto, nem tudo que est armazenado em um arquivo de projeto est disponvel a partir do controlador. Se voc carregar a partir de um controlador, o novo arquivo de projeto no conter: comentrios da linha descries para tags, tarefas, programas, rotinas, mdulos ou estruturas definidas pelo usurio cadeias de aliases (aliases apontando para outros aliases) Cadeias com o mesmo alias no so completamente reconstrudas a partir do controlador. Se houver vrios nomes possveis para um item de dados, o firmware e o software escolhem o alias que melhor se encaixa, o que pode no refletir como o alias foi especificado no projeto original. Consulte download. chave source Um mecanismo que limita quem pode visualizar uma rotina. Voc atribui uma chave source para uma ou mais rotinas. As chaves source seguem as mesmas regras dos outros componentes RSLogix 5000 para regras, como rotinas, tags e mdulos. Para atribuir uma tecla de origem para uma rotina (proteger a rotina), use o software RSLogix 5000. (Voc precisa primeiro ativar a ferramenta.). Um arquivo de chave source (sk.dat) armazena as chaves source. O arquivo de chave source separado dos arquivos do projeto do RSLogix 5000 (.acd). Para visualizar uma rotina que estiver protegida por uma chave source, voc deve ter a chave source. Sem a chave source, voc no pode abrir uma rotina. O software RSLogix 5000 exibe Source Not Available (Source No Disponvel). Independentemente da chave source estar disponvel ou no, voc pode fazer o download do projeto e executar todas as rotinas. Consulte nome CIP Consulte Controle e Protocolo de Informaes.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

conexo O mecanismo de comunicao do controlador para outro mdulo no sistema de controle. O nmero de conexes que um nico controlador pode ter limitado. As comunicaes com mdulos de E/S, tags consumidos, tags produzidos e instrues MSG usam conexes para transferir dados. conexo bidirecional Uma conexo em que os dados fluem nas direes: da origem para o receptor e do receptor para a origem. Consulte conexo, conexo unidirecional. conexo listen-only (recepo de dados) Uma conexo de E/S onde outro controlador armazena/fornece os dados de configurao para o mdulo de E/S. Um controlador usando uma conexo para recepo de dados (listen only) no grava os dados de configurao e pode apenas manter a conexo com o mdulo de E/S quando o controlador que armazena a configurao do mdulo estiver controlando o mdulo de E/S ativamente. Consulte controlador que armazena a configurao do sistema. conexo sem cache Com a instruo MSG, uma conexo sem cache instrui o controlador a fechar a conexo na concluso da instruo MSG. A remoo da conexo deixa-a disponvel para outros controladores. Consulte conexo, conexo cache. conexo unidirecional Uma conexo em que os dados fluem somente em uma direo: da origem para o receptor. Consulte conexo, conexo bidirecional. Contador Tipo de dados de estrutura que contm as informaes de status e controle para instrues de contador. controlador que armazena a configurao do sistema O controlador que cria a configurao primria e a conexo de comunicao com um mdulo. O controlador que armazena a configurao do sistema grava os dados de configurao e pode estabelecer uma conexo com o mdulo. Consulte conexo listen-only (recepo de dados).

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

controladores mltiplos que armazenam a configurao do sistema Uma configurao onde mais de um controlador tem exatamente as mesmas informaes de configurao para armazenar, simultaneamente, o mesmo mdulo de entrada. Controle e Protocolo de Informaes Protocolo de envio de mensagens usado pela linha Logix5000 da srie Allen-Bradley de equipamentos de controle. Protocolo de comunicao nativa usado na rede ControlNet. controle seqencial de funes Um controle seqencial de funes (SFC) semelhante a um fluxograma. Ele usa as etapa e as transies para controlar uma mquina ou processo. Consulte ao, etapa, transio. correspondncia exata Um modo de proteo de reviso eletrnica que requisita que todos os atributos (fornecedor, cdigo de catlogo, reviso principal) do mdulo fsico e do mdulo configurado no software correspondam para estabelecer uma conexo com o mdulo.

decimal Os valores inteiros e inseridos na base 10. Sem prefixo.No adaptados ao comprimento do inteiro. Consulte binrio, hexadecimal, octal. desabilitao da reviso Um modo de proteo de reviso eletrnica que no requisita que nenhum atributo do mdulo fsico e do mdulo configurado no software correspondam e ainda estabelece uma conexo com o mdulo. Consulte mdulo compatvel, correspondncia exata. descrio Texto opcional que voc pode usar para documentar sua aplicao. Voc pode usar qualquer caracter que possa ser impresso, incluindo backspace, tabulaes e espao. O download das descries no feito no controlador. Elas permanecem no arquivo de projeto off-line. As descries tm estes limites de comprimento: Para tags, podem ser usados at 120 caracteres. Para outros objetos (tarefas, programas, mdulos, etc.) podem ser usados at 128 caracteres.
Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

dimenso Especificao do tamanho de uma matriz. As matrizes podem ter at trs dimenses. Consulte matriz. DINT Um tipo de dados que armazena um valor inteiro de 32 bits com sinal (4 bytes) (-2,147,483,648 a +2,147,483,647). Em controladores Logix5000, use DINTs para inteiros: Os controladores Logix5000 so executados mais eficientemente e usam menos memria quando trabalham com inteiros de 32 bits (DINTs), ao invs de inteiros de 16 bits (INTs) ou inteiros de 8 bits (SINTs). Tipicamente, as instrues convertem valores SINT ou INT para um tipo de dados otimizados (geralmente um valor DINT ou REAL) durante a operao. Como isto requer tempo e memria adicionais, minimize o uso de tipo de dados SINT e INT. direta Uma conexo de E/S onde o controlador estabelece conexes individuais com um mdulo de E/S. Consulte gaveta otimizada. download O processo de transferir os contedos de um projeto na estao de trabalho para o controlador. Consulte carregamento.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

elemento Uma unidade enderevel de dados que uma subunidade de uma unidade de dados maior. Uma unidade nica de uma matriz. Voc especifica um elemento em uma matriz atravs de seu(s) subscrito(s):
Para esta matriz: dimenso um dimenso dois dimenso trs Especifique: array-name[subscript_0] array-name[subscript_0, subscript_1] array-name[subscript_0, subscript_1, subscript_2]

Consulte matriz. escopo Define onde voc pode acessar uma srie especfica de tags. Quando voc cria um tag, voc o atribui tanto como um tag de uso geral do controlador como um tag de programa para um programa especfico, conforme demonstrao abaixo.

tags que todas as rotinas e dispositivos externos (p. ex.: outros controladores) podem acessar

tags que apenas rotinas no MainProgram podem acessar

42195

Voc pode ter tags mltiplos que contenham o mesmo nome: Cada tag pode ser de uso geral do controlador ou do programa. Por exemplo, um dos tags pode ser um tag de uso geral do controlador e os outros tags podem ser tags de programa para programas diferentes. Ou, cada tag pode ser um tag de programa para um programa diferente. Dentro de um programa, voc no pode se referir a um tag do controlador se um tag com o mesmo nome existir como um tag de programa para aquele programa. Consulte escopo do controlador, escopo do programa. escopo do controlador
Publicao 1756-PM001E-PT-P - Agosto 2002

10

Glossrio

Dados acessveis em qualquer lugar no controlador. O controlador contm um grupo de tags que pode ser referido pelas rotinas e tags aliases em qualquer programa, assim como por outros tags aliases de uso geral do controlador. Consulte escopo do programa. escopo do programa Dados acessveis apenas dentro do programa atual. Cada programa contm um grupo de tags que pode ser referido apenas pelas rotinas e tags aliases naquele programa. Consulte escopo do controlador. estilo O formato em que os valores numricos so exibidos. Consulte ASCII, binrio, decimal, exponencial, flutuante, hexadecimal, octal. estrutura Alguns tipos de dados so uma estrutura. Uma estrutura armazena um grupo de dados, cada qual podendo ser um tipo de dados diferente. Em uma estrutura, cada tipo de dados individual chamado de membro. Como tags, os membros tm um nome e um tipo de dados. Voc cria suas prprias estruturas, chamadas de tipo de dados definido pelo usurio, usando qualquer combinao de tags individuais e a maioria das outras estruturas. Para copiar dados para uma estrutura, use a instruo COP. Consulte Logix5000 Controllers General Instruction Set Reference Manual, publicao 1756-RM003. Os tipos de dados COUNTER e TIMER so exemplos das estruturas mais comumente usadas.
Para expandir uma estrutura e mostrar seus membros, clique no sinal de +. Estrutura COUNTER (Contador) Para fechar a estrutura e esconder seus membros, clique no sinal . Estrutura TIMER (Temporizador)

membros de running_seconds

tipo de dados dos membros

42365

Consulte membro, tipo de dados definido pelo usurio.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

11

estrutura definida pelo produto Um tipo de dados de estrutura que automaticamente definido pelo software e pelo controlador. Configurando um mdulo de E/S, voc adiciona a estrutura definida pelo produto para aquele mdulo. estrutura pr-definida Um tipo de dados de estrutura que armazena as informaes relacionadas a uma instruo especfica, como uma estrutura TIMER para instrues do temporizador. Estruturas pr-definidas esto sempre disponveis, no importando a configurao do hardware do sistema. Consulte estrutura definida pelo produto. etapa Em um controle seqencial de funes (SFC), uma etapa representa uma funo principal de um processo. Ela contm os eventos que ocorrem em um tempo particular, fase ou estao.

Etapa
Uma etapa executa de forma contnua at a condio de lgica pedir para o controlador ir para a etapa seguinte. Faa isto:

Aes

COMBINAO
e faa isso

Uma etapa est organizada em uma ou mais aes. Cada ao realiza uma funo especfica, como controlar um motor, abrir uma vlvula ou colocar um grupo de dispositivos em um modo especfico.

Consulte ao, controle seqencial de funes, transio exponencial Valores reais mostrados e inseridos em formato cientfico ou exponencial. O nmero sempre mostrado com um dgito esquerda do ponto decimal, seguido da poro decimal e, em seguida, por um exponente. Consulte estilo. expresso BOOL No texto estruturado, uma expresso que produz o valor BOOL de 1 (verdadeiro) ou 0 (falso). Uma expresso bool usa os tags bool, operadores relacionados e operadores lgicos para comparar os valores ou verificar se as condies so verdadeiras ou falsas. Por exemplo, tag1>65. Uma expresso bool simples pode ser um nico tag BOOL. Geralmente, usam-se expresses bool para condicionar a execuo de outra lgica. expresso numrica

Publicao 1756-PM001E-PT-P - Agosto 2002

12

Glossrio

No texto estruturado, uma expresso que calcula um valor inteiro ou de ponto flutuante. Uma expresso numrica usa operadores aritmticos, funes aritmticas e operadores bitwise. Por exemplo, tag1+5. Geralmente, voc encadeia uma expresso numrica e uma expresso bool. Por exemplo, tag1+5>65.

falha de advertncia Uma condio de falha que no severa o bastante para que o controlador desligue:
Se isto ocorrer: um problema com uma instruo O controlador: 1. configura S:MINOR 2. registra as informaes sobre a falha para o objeto PROGRAM, atributo MinorFaultRecord 3. energiza o bit 4 do objeto FAULTLOG, atributo MinorFaultBits energiza o bit 6 do objeto FAULTLOG, atributo MinorFaultBits energiza o bit 9 do objeto FAULTLOG, atributo MinorFaultBits energiza o bit 10 do objeto FAULTLOG, atributo MinorFaultBits

Sobreposio de tarefas peridicas um problema com a porta serial bateria fraca

Para remover falhas de advertncia: 1. No organizador do controlador, clique com o boto direito sobre a pasta Controller name_of_controller e selecione Properties. 2. Clique na guia Minor Fault. 3. Use as informaes na lista Recent Faults para corrigir a causa da falha. Consulte a Cdigos de Falha de Advertncia na pgina A-3. 4. Clique no boto Clear Minors. Consulte falha grave.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

13

falha grave Uma condio de falha que severa o bastante para que o controlador desligue, a no ser que a condio seja removida. Quando uma falha grave ocorre, o controlador: 1. Energiza um bit de falha grave 2. Executa a lgica de falha fornecida pelo usurio, se houver 3. Se a lgica de falha fornecida pelo usurio no puder remover a falha, o controlador vai para o modo de falha 4. Energiza as sadas, de acordo com seu estado de sada, durante o modo de programa 5. O LED OK pisca em vermelho O controlador suporta dois nveis de manipulao de falhas graves: a rotina de falha de programa: Cada programa pode ter sua prpria rotina de falha. O controlador executa a rotina de falha do programa quando uma falha de instruo ocorre. Se a rotina de falha do programa no remover a falha ou uma rotina de falha de programa no existir, o controlador prossegue para executar a rotina de manipulao de falhas (se definido). rotina de manipulao de falhas: Se a rotina de manipulao de falhas no existir ou no puder remover a falha grave, o controlador entra no modo de falha e desliga. Neste ponto, o FAULTLOG atualizado. (Consulte a prxima pgina). Todas as falhas sem instruo (E/S, watchdog de tarefa etc.) executam a rotina de manipulao de falhas do controlador diretamente. (Nenhuma rotina de falha de programa chamada). A falha que no foi removida e at duas falhas adicionais que no foram removidas so registradas no histrico de falhas do controlador.

Publicao 1756-PM001E-PT-P - Agosto 2002

14

Glossrio

falha grave ocorre

sim falha de instruo?

o controlador registra a falha grave para o PROGRAM MajorFaultRecord atual

sim existe rotina de falha de programa? no

executa a rotina de falha do programa atual

no

sim falha removida?

no continua a execuo da lgica o controlador determina a falha grave para a rotina de manipulao de falhas PROGRAM MajorFaultRecord

no

a rotina de manipulao de falhas existe sim

a rotina de manipulao

de falhas

sim falha removida?

no continua a execuo da lgica entre com o modo de falha, registre o FAULTLOG e desligue

Consulte estado de falha, falha de advertncia.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

15

fatia de tempo de atraso do sistema Especifica a porcentagem do tempo do controlador (excluindo o tempo para tarefas peridicas) que dedicado comunicao e tarefas de segundo plano (atraso do sistema): O controlador realiza as funes de atraso do sistema para at 1 ms de cada vez. Se o controlador completar as funes de atraso em menos de 1 ms, ele reinicia a tarefa contnua. A comunicao e as tarefas de atraso incluem o seguinte: comunicao com os dispositivos de programao e IHM (como o software RSLogix 5000) rplica para mensagens envio de mensagens, incluindo block-transfers reestabelecer e monitorar as conexes de E/S (como as condies RIUP); isto no inclui a comunicao de E/S normal que ocorre durante a execuo do programa comunicao em ponte da porta serial do controlador para outros dispositivos ControlLogix, atravs da placa de fundo do chassi ControlLogix Se a comunicao no for concluda de forma rpida o suficiente, aumente a fatia de tempo de atraso do sistema. A seguinte tabela mostra a relao entre a tarefa contnua e as funes de atraso do sistema:
A esta fatia de tempo: 10% 20% 33% 50% A tarefa contnua executada para: 9 ms 4 ms 2 ms 1 ms E, ento, o atraso ocorre para at: 1 ms 1 ms 1 ms 1 ms

Na fatia de tempo padro de 10 %, o atraso do sistema interrompe a tarefa contnua a cada 9 ms (do tempo da tarefa contnua).
Legenda: A tarefa executada. A tarefa interrompida (suspensa).

1 ms atraso do sistema 9 ms tarefa contnua 5 tempo transcorrido (ms) 10 15 9 ms

1 ms

20

25

Publicao 1756-PM001E-PT-P - Agosto 2002

16

Glossrio

A interrupo de uma tarefa peridica aumenta o tempo transcorrido (tempo do relgio) entre a execuo do atraso de sistema.
1 ms tarefa peridica 1 ms atraso do sistema 9 ms de tempo da tarefa contnua tarefa contnua 5 tempo transcorrido (ms) 10 15 20 25 9 ms de tempo da tarefa contnua 1 ms 1 ms 1 ms 1 ms

Se voc aumentar a fatia de tempo para 20 %, o atraso do sistema interrompe a tarefa contnua a cada 4 ms (do tempo da tarefa contnua).
1 ms atraso do sistema 4 ms tarefa contnua 5 tempo transcorrido (ms) 10 15 20 25 4 ms 4 ms 4 ms 4 ms 1 ms 1 ms 1 ms 1 ms

Se voc aumentar a fatia de tempo para 50 %, o atraso do sistema interrompe a tarefa contnua a cada 1 ms (do tempo da tarefa contnua).
1 ms atraso do sistema 1 ms tarefa contnua 5 tempo transcorrido (ms) 10 15 20 25

Se o controlador tiver apenas uma tarefa peridica, a fatia de tempo de atraso do sistema no tem efeito. O atraso de sistema executado sempre que uma tarefa peridica no est sendo executada.
tarefa peridica

atraso do sistema 5 tempo transcorrido (ms) 10 15 20 25

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

17

Para mudar a fatia de tempo de atraso do sistema: 1. Abra o projeto do RSLogix 5000. 2. No organizador do controlador, clique com o boto direito sobre a pasta Controller name_of_controller e selecione Properties. 3. Clique na guia Advanced. 4. Na caixa de texto System Overhead Time Slice, digite ou selecione a porcentagem de tempo de atraso (10 a -90 %). 5. Clique em OK. flutuante Valores reais mostrados e inseridos em formato de ponto flutuante. O nmero de dgitos esquerda do ponto decimal varia de acordo com a magnitude do nmero. Consulte estilo. formato de comunicao Define como um mdulo de E/S se comunica com o controlador. A escolha de um formato de comunicao define: quais guias de configurao esto disponveis atravs do software de programao a estrutura e o mtodo de configurao do tag

gaveta otimizada Uma conexo de E/S onde o mdulo 1756-CNB coleta as palavras de E/S digital em uma imagem de gaveta (semelhante ao 1771-ASB). Uma conexo de gaveta otimizada conserva as conexes da ControlNet e da largura de banda, entretanto, as informaes de status e diagnstico esto disponveis quando estiver usando este tipo de conexo. Consulte direta.

hexadecimal Valores inteiros mostrados e inseridos em base 16 (cada dgito representa quatro bits). Pr-fixado com n 16. Adaptado ao comprimento do booleano ou inteiro (1, 8, 16 ou 32 bits). Quando mostrado, todos os grupos de 4 dgitos so separados por uma sublinha, para legibilidade. Consulte binrio, decimal, octal.

Publicao 1756-PM001E-PT-P - Agosto 2002

18

Glossrio

ndice Uma referncia usada para especificar um elemento dentro de uma matriz. instruo O controlador avalia as instrues ladder, com base na condio da linha que antecede a instruo (entrada da condio da linha).

instruo de entrada

instruo de sada

entrada da condio da faixa

sada da condio de linha

Apenas instrues de entrada afetam a entrada da condio de linha das instrues subseqentes na linha: Se a entrada da condio de linha de uma instruo de entrada for verdadeira, o controlador avalia a instruo e energiza a sada da condio de linha para corresponder aos resultados da avaliao. Se a instruo avaliar para verdadeiro, a sada da condio de linha verdadeira. Se a instruo avaliar para falso, a sada da condio de linha falsa. Uma instruo de sada no muda a sada da condio de linha Se a entrada da condio de linha para uma instruo de sada for verdadeira, a sada da condio de linha energizada para verdadeira. Se a entrada da condio de linha para uma instruo de sada for falsa, a sada da condio de linha energizada para falsa. Nos controladores Logix5000, mltiplas instrues de sada podem ser inseridas por linha de lgica. Voc pode inserir as instrues de sada: na seqncia da linha (serial) entre as instrues de entrada, desde que a ltima instruo da linha seja uma instruo de sada

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

19

O exemplo seguinte usa mais de uma sada em uma linha. Coloque mltiplas sadas em uma linha

EXEMPLO

Quando running_seconds.DN for energizado, running_hours conta de um em um e running_seconds reseta.


running_seconds.DN Count Up Counter Preset Accum CTU running_hours 500 0 CU DN running_seconds RES

Quando machine_on for energizado, drill_1_on energiza. Quando machine_on e drill[1].part_advance esto energizados, conveyor_on energizado.
machine_on drill_1_on drill[1].part_advance conveyor_on

42362

INT Um tipo de dados que armazena um valor inteiro de 16 bits (2 bytes) (-32.768 a +32.767). Minimize o uso deste tipo de dados: Normalmente, as instrues convertem valores SINT ou INT para um tipo de dados otimizados (geralmente um valor DINT ou REAL) durante a operao. Como isto requer tempo e memria adicionais, minimize o uso de tipo de dados SINT e INT. intervalo requisitado para atualizao (RPI) Quando estiver comunicando em uma rede, esta a maior quantidade de tempo entre a produo subseqente de dados de entrada. Normalmente, este intervalo configurado em microssegundos. A produo real de dados restringida ao maior mltiplo do tempo de atualizao da rede, que menor do que o RPI selecionado. Use uma alimentao de duas vezes o tempo de atualizao da rede ControlNet (NUT). Por exemplo, se o NUT for de 5 ms, digite uma taxa de 5, 10, 20, 40 ms, etc. Consulte tempo de atualizao da rede (NUT).

matriz
Publicao 1756-PM001E-PT-P - Agosto 2002

20

Glossrio

Uma matriz permite que voc agrupe dados (do mesmo tipo de dados), sob um nome comum. Uma matriz semelhante a um arquivo. Um subscrito identifica cada elemento o individual na matriz. Um subscrito comea em 0 e se estende ao nmero de elementos menos 1 (baseado em zero).
Para expandir a matriz e mostrar seus elementos, clique no sinal de +.

Para desfazer uma matriz e esconder seus elementos, clique no sinal . elementos de timer_presets

Esta matriz contm seis elementos do tipo de dados DINT. seis elementos DINTs

42367

Um tag de matriz ocupa um bloco contguo de memria no controlador, cada elemento em seqncia. Uma matriz e instrues de seqenciador podem ser usados para manipular ou indexar os elementos de uma matriz. Uma matriz pode ter at trs dimenses. Isto lhe fornece a flexibilidade de identificar um elemento usando um, dois ou trs subscritos (coordenao).

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

21

Em uma matriz com duas ou trs dimenses, a dimenso mais direita incrementada primeiro na memria.

Esta matriz contm uma grade de elementos de duas dimenses, de seis em seis elementos.

42367

Quando a dimenso mais direita recomea, a dimenso esquerda incrementa em um.

A dimenso mais direita incrementa em seu valor mximo e recomea.

Publicao 1756-PM001E-PT-P - Agosto 2002

22

Glossrio

O nmero total de elementos em uma matriz o produto de cada tamanho de dimenso, como descrito nos seguintes exemplos:
Esta matriz: dimenso um Armazena dados como: Por exemplo: Nome do tag: one_d_array Tipo DINT[7] Dimenso 0 7 Dimenso 1 -Dimenso 2 --

nmero total de elementos = 7 faixa de subscrito vlida DINT[x], onde x=06 dimenso dois Nome do tag: two_d_array Tipo DINT[4,5] Dimenso 0 4 Dimenso 1 5 Dimenso 2 --

nmero total de elementos = 4 5 = 20 faixa de subscrito vlida DINT[x,y] onde x=03; y=04 dimenso trs Nome do tag: three_d_array Tipo Dimenso 0 Dimenso 1 3 Dimenso 2 4

DINT[2,3,4] 2

nmero total de elementos = 2 3 4 = 24 faixa de subscrito vlida DINT[x,y,z] onde x=01; y=02, z=03

Voc pode modificar as dimenses da matriz quando estiver programando off-line, sem perda dos dados de tags. Voc no pode modificar as dimenses da matriz quando estiver programando on-line. membro Um elemento de uma estrutura que tem seu prprio tipo de dado e nome. Os membros tambm podem ser estruturas, criando tipos de dados de estrutura encadeados. Cada membro em uma estrutura pode ser um tipo de dados diferente. Para fazer referncia a um membro em uma estrutura, use este formato: tag_name.member_name Por exemplo:
Este endereo: timer_1.pre input_load como tipo de dados load_info input_load.height Faz referncia a: Valor PRE da estrutura timer_1. membro height da estrutura definida pelo usurio input_load

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

23

Se a estrutura estiver embutida em outra estrutura, use o nome do tag da estrutura no nvel mais alto, seguido de um nome de tag de uma subestrutura e do nome do membro: tag_name.substructure_name.member_name Por exemplo:
Este endereo: input_location como local do tipo de dados input_location.load_info.height Faz referncia a: membro height da estrutura load_info, na estrutura input_location.

Se a estrutura definir uma matriz, use o tag da matriz, seguido da posio na matriz e quaisquer nome de subestrututras e membros. array_tag[position].member ou array_tag[position].substructure_name.member _name Por exemplo:
Este endereo: conveyor[10].source Faz referncia a: membro source do 11 elemento na matriz conveyor (os elementos da matriz so baseados em zero). membro height da estrutura info, no 11 elemento da matriz conveyor (os elementos da matriz so baseados em 0).

conveyor[10].info.height

Consulte estrutura.

Publicao 1756-PM001E-PT-P - Agosto 2002

24

Glossrio

memria Meio de armazenamento eletrnico construdo dentro de um controlador usado para armazenar programas e dados. memria no voltil Memria do controlador que permanece com seus contedos enquanto o controlador estiver sem alimentao ou uma bateria. Consulte carga, armazenar mestre (CST) Dentro de um nico chassi, um e apenas um, o controlador deve ser designado como o mestre de Tempo do Sistema Coordenado (CST). Todos os outros mdulos no chassi sincronizam seus valores de CST com o mestre CST. modo de falha O controlador gerou uma falha grave, no pde remover a falha e desligou. Consulte falha grave. mdulo compatvel Um modo de proteo de reviso eletrnica que requisita que os atributos de fornecedor, cdigo de catlogo e de reviso principal do mdulo fsico e do mdulo configurado no software correspondam, para estabelecer uma conexo com o mdulo. Consulte desabilitao da reviso, correspondncia exata. mdulo de interface (IFM) Um sistema de conexo de campo de E/S pr-fiado. mudana de estado (COS) Qualquer mudana no status de um ponto ou de um grupo de pontos em um mdulo de E/S. multicast Um mecanismo onde um mdulo pode enviar dados em uma rede que so simultaneamente recebidos por mais de um receptor. Descreve o recurso da linha ControlLogix I/O que suporta mltiplos controladores recebendo dados de entrada do mesmo mdulo de E/S, ao mesmo tempo.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

25

nome Os nomes identificam os controladores, as tarefas, os programas, os tags, etc. Os nomes seguem as regras IEC-1131-3 e: devem comear com um caracter alfabtico (A-Z ou a-z) ou uma sublinha (_) podem conter apenas caracteres alfabticos, caracteres numricos e sublinhas podem ter at 40 caracteres no devem ter caracteres de sublinha consecutivos ou posteriores (_) no so sensveis ao contexto o download no feito para o controlador

objeto Uma estrutura de dados que armazena informaes de status. Quando voc entra com uma instruo GSV/SSV, voc especifica o objeto e o atributo que quer acessar. Em alguns casos, existe mais de uma instncia do mesmo tipo de objeto, portanto, pode ser necessrio especificar o nome do objeto. Por exemplo, podem haver diversas tarefas em sua aplicao. Cada tarefa tem seu prprio objeto TASK que acessado pelo nome da tarefa. octal Valores inteiros mostrados e inseridos em base 8 (cada dgito representa trs bits). Pr-fixado com n 8. Adaptado ao comprimento do booleano ou inteiro (1, 8, 16 ou 32 bits). Quando mostrado, todos os grupos de trs dgitos so separados por uma sublinha para legibilidade. Consulte binrio, decimal, hexadecimal. off-line Visualizao e edio de um projeto que est no disco rgido de uma estao de trabalho. Consulte on-line. on-line Visualizao e edio de um projeto em um controlador. Consulte off-line.

Publicao 1756-PM001E-PT-P - Agosto 2002

26

Glossrio

ps-varredura Uma funo do controlador onde a lgica dentro de um programa examinada antes, desabilitando o programa para resetar as instrues e os dados. pr-varredura A pr-varredura uma varredura imediata durante a transio do modo RUN. O controlador realiza a pr-varredura quando voc muda do modo Program para um modo Run. A pr-varredura examina todos os programas e instrues e inicializa os dados baseados nos resultados. Algumas das instrues executam e forma diferente durante a pr-varredura da que eles executam durante a varredura normal. prioridade Especifica qual tarefa executar primeiro, se duas tarefas so acionadas ao mesmo tempo. A tarefa com maior prioridade executada primeiro. As prioridades vo de 1 a 15, sendo que 1 a maior prioridade. Uma tarefa de prioridade maior interromper uma tarefa de prioridade menor. Se duas tarefas com a mesma prioridade so inicializadas ao mesmo tempo, o controlador alterna entre as duas tarefas a cada milissegundo.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

27

programa Uma srie de rotinas e tags relacionados. Cada programa contm tags de programa, uma rotina principal executvel, outras rotinas e uma rotina opcional de falha. Para executar as rotinas em um programa, voc atribui (define) o programa para uma tarefa: Quando a tarefa acionada, os programas definidos na tarefa so executados at a concluso, do primeiro at o ltimo. Quando uma tarefa executa um programa, a rotina principal do programa executada primeiro. A rotina principal pode, por sua vez, executar sub-rotinas, usando a instruo JSR. A pasta Unscheduled Programs contm programas que no esto atribudos a uma tarefa. Se a lgica no programa produzir uma falha grave, a execuo salta para uma rotina de falha configurada para o programa. As rotinas em um programa podem acessar os seguintes tags: tags de programa do programa tags de controlador As rotinas no podem acessar tags de programa de outros programas. Consulte rotina, tarefa. programa de rotina de power-up Uma tarefa opcional que executada quando o controlador energizado no modo de Operao. Para usar a Rotina de Power-up, voc deve criar um programa de energizao e associ-lo rotina principal.

42195

Publicao 1756-PM001E-PT-P - Agosto 2002

28

Glossrio

A rotina de power-up executada conforme segue:

O controlador foi energizado no modo de Operao? Sim A Rotina de Power-up contm um programa? Sim Falha grave, tipo 1, cdigo 1, ocorre.

No

O controlador permanece no modo atual.

No

O controlador permanece no modo de Operao e executa sua lgica.

O programa Rotina de Power-up executado.

A falha grave foi removida?

Sim

O controlador permanece no modo de Operao e executa sua lgica.

No O controlador insere o modo de falha.

projeto Arquivo na sua estao de trabalho (ou servidor) que armazena a lgica, a configurao, dados e documentao para o controlador. O arquivo de projeto tem uma extenso ACD. Quando voc cria um arquivo de projeto, o nome do arquivo o nome do controlador. O nome do controlador independente do nome do arquivo de projeto. Se voc salvar um arquivo de projeto atual com outro nome, o nome do controlador no mudado. Se o nome do controlador for diferente do nome do arquivo de projeto, a pequena barra do software RSLogix 5000 mostra ambos os nomes. Consulte aplicao.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

29

qualificador Na ao de um controle seqencial de funes (SFC), um qualificador define quando uma ao comea e quando ela pra. Consulte ao, controle seqencial de funes, etapa

ramificao No h limite para o nmero de nveis de ramificao paralelos que voc pode inserir. A figura a seguir mostra uma ramificao paralela com cinco nveis. A linha principal o primeiro nvel da ramificao, seguido de quatro ramificaes adicionais.
instruo de sada

instruo de entrada

Voc pode encadear as ramificaes em at 6 nveis. A figura abaixo mostra uma ramificao encadeada. A instruo final de sada est em uma ramificao encadeada que tem trs nveis de profundidade.
instruo de entrada instruo de sada

Publicao 1756-PM001E-PT-P - Agosto 2002

30

Glossrio

REAL Um tipo de dados que armazena um valor de ponto flutuante IEEE de 32 bits (4 bytes), com a seguinte faixa: -3,40282347E38 para -1,17549435E-38 (valores negativos) 0 1,17549435E-38 para 3,40282347E38 (valores positivos) O tipo de dados REAL tambm armazena infinidade e NAN e -IND, mas o display do software difere, baseado no formato do display.
Formato do Display: Real Equivalente: +infinito -infinito +NAN -NAN -indefinido +infinito -infinito +NAN -NAN -indefinido 1.$ -1.$ 1.#QNAN -1.#QNAN -1.#IND 1.#INF000e+000 -1.#INF000e+000 1.#QNAN00e+000 -1.#QNAN00e+000 -1.#IND0000e+000

Exponencial

O software tambm armazena e exibe a faixa subnormal IEEE: -1,17549421E-38 para -1.40129846E-45 (valores negativos) 1,40129846E-45 para 1,17549421E-38 (valores positivos) registro de data e hora Um processo do ControlLogix que registra uma mudana nos dados de entrada com uma referncia de tempo relativa de quando aquela mudana ocorreu. remoo e insero sob alimentao (RIUP) Um recurso do ControlLogix que permite que um usurio instale ou remova um mdulo enquanto a alimentao do chassi estiver aplicada. reviso eletrnica Um recurso da linha 1756 I/O, onde os mdulos podem ser requisitados para realizarem uma verificao eletrnica para garantir que o mdulo fsico est consistente com o que foi configurado pelo software. Habilita o usurio, atravs do software, a evitar que mdulos incorretos ou revises incorretas de mdulos sejam usadas inadvertidamente. Consulte mdulo compatvel, desabilitao da reviso, correspondncia exata.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

31

reviso principal A linha 1756 de mdulos tm indicadores de revises principais e secundrias. A reviso principal atualizada toda vez que h uma mudana funcional no mdulo. Consulte reviso eletrnica, reviso secundria. reviso secundria A linha 1756 de mdulos tem indicadores de revises principais e secundrias. A reviso secundria atualizada toda vez que h uma mudana em um mdulo que no afeta sua funo ou interface. Consulte reviso eletrnica, reviso principal. rotina Uma srie de instrues lgicas em uma nica linguagem de programao, como um diagrama ladder. As rotinas fornecem o cdigo executvel para o projeto em um controlador (semelhante a um arquivo de programa em um controlador CLP ou SLC). Cada programa tem uma rotina principal: Quando o controlador aciona a tarefa associada e executa o programa associado, a rotina principal a primeira rotina a ser executada. Para chamar outra rotina no programa, insira uma instruo JSR na rotina principal. Voc tambm pode especificar uma rotina opcional de falha de programa. Se alguma rotina no programa associado produzir uma falha grave, o controlador executa a rotina de falha do programa Consulte programa, tarefa. rotina de manipulao de falhas A rotina de manipulao de falhas uma tarefa opcional que executada quando: a falha grave no uma falha de execuo de instruo a rotina de falha de programa: no pde remover a falha grave falhou no existe Voc pode criar apenas um programa para a rotina de manipulao de falhas. Depois que voc criar esse programa, voc deve configurar uma rotina como a rotina principal. O programa de falha do controlador no executa uma rotina de falha.
Publicao 1756-PM001E-PT-P - Agosto 2002

32

Glossrio

Se voc especificar uma rotina de falha para o programa de falha do controlador, o controlador nunca executar essa rotina. Voc pode criar rotinas adicionais e cham-las a partir da rotina principal. rotina principal A primeira rotina a ser executada quando um programa executado. Use a rotina principal para chamar (executar) outras rotinas (sub-rotinas).

SINT Um tipo de dados que armazena um valor inteiro com sinal de 8 bits (1 byte) (-128 a +127). Minimize o uso deste tipo de dados: Tipicamente, as instrues convertem valores SINT ou INT para um tipo de dados otimizados (geralmente um valor DINT ou REAL) durante a operao. Como isto requer tempo e memria adicionais, minimize o uso de tipo de dados SINT e INT. Sobreposio de tarefas peridicas Uma condio que ocorre quando uma tarefa est sendo executada e a mesma tarefa acionada novamente. O tempo de execuo da tarefa maior do que a taxa peridica configurada para a tarefa. Consulte tarefa peridica. string Um grupo de tipo de dados que armazena os caracteres ASCII.

42811

42812

Voc pode usar o padro tipo de dados STRING. Ele armazena at 82 caracteres.

ou

Voc pode criar um novo tipo de dados string para armazenar o nmero de caracteres que voc define.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

33

Cada string de tipo de dados contm os seguintes membros:


Nome: LEN Tipo de Dados: DINT Descrio: nmero de caracteres no string Notas: O LEN automaticamente se atualiza para a nova contagem de caracteres sempre que voc: usar uma caixa de dilogo String Borrares para a insero de caracteres usar as instrues que lem, convertem ou manipulam um string O LEN apresenta o comprimento do string atual. O membro DATA pode conter caracteres velhos adicionais, que no estejam includos na contagem do LEN. DADOS matriz SINT caracteres ASCII do string Para acessar os caracteres do string, encaminhe o nome do tag. Por exemplo, para acessar os caracteres do tag string_1, digite string_1. Cada elemento do matriz DATA contm um caracter. Voc pode criar um string de tipos de dados que armazenam menos ou mais caracteres.

Novo string de tipos de dados so mais usados nas seguintes situaes: Se voc tiver um grande nmero de strings com um tamanho fixo que seja menor que 82 caracteres, voc pode conservar a memria, ao criar um novo string de tipo de dados. Caso voc deva manusear os strings que tenham mais que 82 caracteres, voc pode criar um novo string de tipo de dados para ajustar o nmero necessrio de caracteres.

IMPORTANTE

Tenha cuidado ao criar um novo string de tipo de dados. Se, posteriormente, voc decidir mudar o tamanho do tipo de dados do string, possvel que voc perca dados em qualquer tag que atualmente usa aquele tipo de dados.
Se voc: faa um string de tipo de dados menor crie um tipo de dados de string maior Ento: Os dados esto truncados. O LEN no trocado. Os dados e LEN so resetados para zero.

Publicao 1756-PM001E-PT-P - Agosto 2002

34

Glossrio

O exemplo a seguir mostra o tipo de dados STRING e um novo string de tipo de dados.

Este tag usa o padro tipo de dados STRING.

Este tag uma matriz de 20 elementos do padro de tipo de dados STRING.

42234

Este tag usa um novo string de tipo de dados. O mais usado o chamado string de tipo de dados STRING_24. O novo string de tipo de dados armazena somente 24 caracteres.

tag Uma rea nomeada da memria do controlador, onde os dados so armazenados. Tags so mecanismos bsicos de alocao de memria, referindo-se a dados da lgica e monitorando dados. A alocao mnima de memria para um tag quatro bytes. Quando voc cria um tag que armazena um BOOL, SINT ou INT (que so menores que quatro bytes), o controlador aloca quatro bytes, mas os dados preenchem apenas a parte necessria. Os tipos de dados definidos pelo usurio e as matrizes armazenam dados na memria contgua e agrupam tipos de dados menores em palavras de 32 bits. Os seguintes exemplos mostram a alocao de memria para diversas variveis: start, que usa um tipo de dados BOOL:
Alocao de memria alocao Bits 31 no usados 1 start 0

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

35

station_status, que usa o tipo de dados DINT:


Alocao de memria: alocao Bits 31 station_status 0

mixer, que usa um tipo de dados definido pelo usurio:


Alocao de memria alocao 1 alocao 2 alocao 3 alocao 4 Bits 31 24 23 16 15 8 7 0

mixer.pressure mixer.temp mixer.agitate_time


no usado no usado no usado bit 0 mixer.inlet bit 1 mixer.drain bit 2 mixer.agitate

temp_buffer, que uma matriz de quatro INTS (INT[4] ):


Alocao de memria: alocao 1 alocao 2 Bits 31 16 0

temp_buffer[1] temp_buffer[3]

temp_buffer[0] temp_buffer[2]

Consulte alias tag, tag base, tag consumido. tag base Um tag que realmente define a memria onde um elemento de dados armazenado. Consulte alias tag. tag consumido Um tag que recebe os dados que so enviados por um tag produzido em uma rede ControlNet ou em uma placa de fundo do chassi ControlLogix. Um tag consumido deve: ser de uso geral do controlador ser do mesmo tipo de dados (incluindo qualquer dimenso da matriz) que o tag remoto (tag produzido) Consulte tag produzido.

Publicao 1756-PM001E-PT-P - Agosto 2002

36

Glossrio

tag produzido Um tag que um controlador est deixando disponvel para o uso de outros controladores. Os tags produzidos so sempre de uso geral do controlador. Consulte tag consumido. tarefa Um mecanismo de programao para a execuo de um programa. Por padro, cada novo arquivo de projeto contm uma tarefa contnua pr-configurada. Voc configura tarefas peridicas, opcionais, conforme necessrio. Uma tarefa fornece informaes de programao e prioridade para uma srie de um ou mais programas, que so executados com base em critrios especficos. Uma vez que uma tarefa acionada (ativada), todos os programas atribudos (definidos) tarefa so executados na ordem em que so mostrados no organizador do controlador. Voc pode atribuir apenas um programa a uma tarefa de cada vez. Consulte tarefa contnua, tarefa peridica. tarefa contnua Tarefa que executada continuamente. A tarefa contnua executada em segundo plano. Qualquer tempo de CPU no alocado para outras operaes (como movimento, comunicaes e tarefas peridicas) usado para executar os programas na tarefa contnua. A tarefa contnua recomea depois que o ltimo de seus programa terminar a execuo. Um projeto no requer uma tarefa contnua. Se usada, deve haver apenas uma tarefa contnua. Todas as tarefas peridicas interrompem a tarefa contnua. Quando voc cria um projeto, o padro MainTask a tarefa contnua. Voc pode deixar esta tarefa como est ou mudar suas propriedades (nome, tipo, etc.). Consulte tarefa peridica.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

37

tarefa peridica Uma tarefa que acionada pelo sistema operacional em um perodo de tempo repetitivo. Use uma tarefa peridica para funes que requisitam execuo precisa ou determinstica. Sempre que o tempo expirar, a tarefa acionada e seus programas so executados. Os dados e as sadas estabelecidos pelos programas na tarefa peridica retm seus valores at a prxima execuo da tarefa ou so manipulados por outra tarefa. Voc pode configurar o perodo de tempo de 1 ms a 2000 s. O padro 10 ms. ATENO Certifique-se de que o perodo de tempo seja maior do que a soma dos tempos de execuo de todos os programas definidos para a tarefa. Se o controlador detectar que a inicializao de uma tarefa peridica ocorre para uma tarefa que j est operando, uma falha de advertncia ocorre.

!
taxa

Tarefas peridicas sempre interrompem a tarefa contnua. Dependendo do nvel de prioridade, uma tarefa peridica pode interromper outras tarefas peridicas no controlador. Consulte tarefa contnua.

Para uma tarefa peridica, a taxa na qual o controlador executa a tarefa, de 1 ms a 2.000.000 ms (2.000 segundos). O padro 10 ms. tempo de atualizao da rede (NUT) Um intervalo de tempo repetitivo no qual os dados podem ser enviados em uma rede ControlNet. A faixa de tempo de atualizao da rede vai de 2 ms at 100 ms. tempo de execuo O tempo total requisitado para a execuo de um nico programa. O tempo de execuo inclui apenas o tempo usado por aquele nico programa e exclui qualquer tempo compartilhado/usado por outros programas em outras tarefas que estejam realizando outras operaes. Quando estiver on-line, a janela Task Properties pode ser usada para visualizar o tempo mximo de varredura e o ltimo tempo de varredura (em s) para o programa atual. Estes valores so tempos de execuo para o programa e no incluem nenhum tempo gasto para outros programas ou tarefas de maior prioridade.

Publicao 1756-PM001E-PT-P - Agosto 2002

38

Glossrio

Consulte tempo transcorrido. Tempo de Sistema Coordenado (CST) Um valor de 64 bits que representa o nmero de microssegundos desde que o controlador mestre CST comeou a contagem. O valor CST armazenado como uma matriz DINT[2], onde: o primeiro elemento armazena os 32 bits menos significativos o segundo elemento armazena os 32 bits mais significativos Voc pode usar o registro de data e hora CST para comparar o tempo relativo entre as amostras de dados. tempo de varredura Consulte tempo transcorrido, tempo de execuo. tempo transcorrido O tempo total requisitado para a execuo de todas as operaes configuradas dentro de uma nica tarefa. Se o controlador estiver configurado para executar mltiplas tarefas, o tempo transcorrido inclui qualquer tempo usado/compartilhado por outras tarefas realizando outras operaes. Enquanto estiver on-line, a janela Task Properties pode ser usada para visualizar o tempo mximo de varredura e o ltimo tempo de varredura, em ms, para a tarefa atual. Estes valores so de tempo transcorrido, o que inclui qualquer tempo gasto na espera pelas tarefas de maior prioridade. Consulte tempo de execuo. tipo de dados Uma definio de tamanho e layout de memria que ser alocada quando um tag daquele tipo de dados for criado.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

39

tipo de dados definido pelo usurio Voc tambm pode criar sua(s) prpria(s) estruturas, chamada de tipo de dados definidos pelo usurio (tambm comumente referenciado como estrutura definida pelo usurio). Um tipo de dados definidos pelo usurio agrupa tipos de dados diferentes em uma nica entidade com nome. Em um tipo de dados definidos pelo usurio, voc define o(s) membro. Como tags, os membros tm um nome e um tipo de dados. Voc pode incluir matrizes e estruturas. Uma vez que voc criou um tipo de dados definido pelo usurio, tags podem ser criados, usando aquele tipo de dados. Minimize o uso dos seguintes tipos de dados, pois eles, tipicamente, aumentam os requisitos de memria e o tempo de execuo de sua lgica: INT SINT Por exemplo, alguns valores do sistema usam o tipo de dados SINT ou INT. Se voc criar um tipo de dados definidos pelo usurio para armazenar tais valores, use o tipo de dados SINT ou INT correspondente. Se voc incluir membros que representam dispositivos de E/S, a lgica ladder deve ser usada para copiar os dados entre os membros na estrutura e as tags de E/S correspondentes. Consulte Buffer de E/S na pgina 12-1. Ao usar os tipos de dados BOOL, SINT ou INT, coloque os membros que usam o mesmo tipo de dados em seqncia:
mais eficiente BOOL BOOL BOOL DINT DINT menos eficiente BOOL DINT BOOL DINT BOOL

Voc pode usar matrizes de dimenso nica. Voc pode criar, editar e excluir tipos de dados definidos pelo usurio apenas quando estiver programando off-line. Se voc modificar o tipo de dados definidos pelo usurio e mudar seu tamanho, os valores existentes de qualquer tag que usam o tipo de dados so configurados para zero (0). Para copiar dados para uma estrutura, use a instruo COP. Consulte Logix5000 Controllers General Instruction Set Reference Manual, publicao 1756-RM003. Consulte estrutura.

Publicao 1756-PM001E-PT-P - Agosto 2002

40

Glossrio

tipo de dados otimizados Um tipo de dados que uma instruo do Logix5000 usa (geralmente os tipo de dados DINT e REAL). Nos manuais de referncia de instrues, um tipo de dados em negrito indica um tipo de dados otimizados. As instrues so executadas mais rapidamente e requisitam menos memria se todos os operandos da instruo usarem: o mesmo tipo de dados um tipo de dados otimizados Se voc misturar tipos de dados e usar tags que no so tipos de dados otimizados, o controlador converte os dados de acordo com estas regras Existe algum operando de valor REAL?
Se: Sim No Ento os operandos de entrada (p. ex.: fonte, tag em uma expresso, limite) so convertidos para: REALs DINTs

Depois da execuo da instruo, o resultado (um valor DINT ou REAL) convertido para o tipo de dados de destino, se necessrio. Como a converso de dados exige tempo e memria adicionais, voc pode aumentar a eficincia de seu programas: usando o mesmo tipo de dados ao longo de toda a instruo minimizando o uso dos tipos de dados SINT ou INT Em outras palavras, use tags DINT ou todas os tags REAL, juntamente com valores imediatos, nas suas instrues.

Publicao 1756-PM001E-PT-P - Agosto 2002

Glossrio

41

A seguinte tabela resume como o controlador converte os dados entre tipos de dados:
Converso: de inteiro maior para inteiro menor Resultado: O controlador trunca a poro superior do inteiro maior e gera um overflow. Por exemplo: Decimal DINT INT SINT de SINT ou INT para REAL de DINT para REAL 65,665 129 -127 Binrio 0000_0000_0000_0001_0000_0000_1000_0001 0000_0000_1000_0001 1000_0001

Nenhuma preciso de dados perdida A preciso dos dados pode ser perdida. Ambos os tipos de dados armazenam dados em 32 bits, mas o tipo REAL usa alguns destes 32 bits para armazenar o valor do expoente. Se a preciso for perdida, o controlador a seleciona da poro menos significativa do DINT. O controlador arredonda a parte fracional e trunca a poro superior da parte no fracional. Se os dados forem perdidos, o controlador energiza o flag de status de overflow. Os nmeros so arredondados conforme segue: Os nmeros diferentes de x,5 so arredondados para o nmero mais prximo. X,5 arredondado para o nmero par mais prximo. Por exemplo: REAL (fonte) -2,5 -1,6 -1,5 -1,4 1,4 1,5 1,6 2,5 DINT (resultado) -2 -2 -2 -1 1 2 2 2

de REAL para inteiro

transio Em um controle seqencial de funes (SFC), uma transio uma condio verdadeira ou falsa ou condies que determinam quando ir para a etapa seguinte.

valor imediato Um valor verdadeiro ou inteiro com sinal, de 32 bits, real. No um tag que armazena um valor.

Publicao 1756-PM001E-PT-P - Agosto 2002

42

Glossrio

watchdog Especifica o tempo em que uma tarefa pode ser executada antes do acionamento de uma falha grave. Cada tarefa tem um temporizador de watchdog que monitora a execuo da tarefa. Um tempo de watchdog pode ir de 1 ms a 2.000.000 ms (2.000 segundos). O padro 500 ms. O temporizador watchdog comea a marcar o tempo quando a tarefa iniciada e para quando todos os programas dentro da tarefa foram executados. Se a tarefa levar mais tempo que o tempo de watchdog, uma falha grave ocorre: (O tempo inclui as interrupes por outras tarefas.) Uma falha de interrupo de watchdog (falha grave) tambm ocorre se a tarefa for acionada novamente enquanto estiver sendo executada (sobreposio de tarefa peridica). Isto pode acontecer se uma tarefa de menor prioridade for interrompida por uma tarefa de maior prioridade, atrasando a concluso da tarefa de menor prioridade. Voc pode usar a rotina de manipulao de falhas para remover uma falha de watchdog. Se a mesma falha de watchdog ocorrer uma segunda vez durante a mesma varredura de lgica, o controlador entra com o modo de falha, no importando se a rotina de manipulao de falhas remove a falha do watchdog ou no.

ATENO

Se o temporizador watchdog alcanar uma pr-programao configurvel, uma falha grave ocorre. Dependendo da rotina de manipulao de falhas, o controlador pode desligar.

Para mudar o tempo de watchdog de uma tarefa: 1. Abra o projeto do RSLogix 5000. 2. No organizador do controlador, clique com o boto direito do mouse em name_of_task e selecione Properties. 3. Clique na guia Configuration. 4. Na caixa de texto Watchdog, digite um tempo de watchdog. 5. Clique em OK.

Publicao 1756-PM001E-PT-P - Agosto 2002

ndice
A
abertura rotina 2-8 ao 5-17 adicione 5-15 armazenar 4-36 atribuio da seqncia 5-20 atribuio do qualificador 5-16 booleana 4-18 configurao 5-16 do programa 4-17 escolha entre booleana e no booleana 4-17 no booleana 4-17 programa 5-18 qualificador 4-21 renomeao 5-15 reset 4-36 tipo de dados 4-19 use a expresso 5-16 uso de texto estruturado 5-18 ao booleana 4-18, 5-17 programa 4-18 alarme controle seqencial de funes 4-26, 5-11 alias criao 10-2 uso 10-1 armazenamento projeto 23-5 armazenar ao 4-36 arquivo de projeto criao 1-1 ASCII atribuio de texto estruturado 6-5 comparao de caracteres 17-4, 17-9 conexo do dispositivo 16-2 configurao da porta serial 16-3 configurao do protocolo do usurio 16-5 construo de string 17-17 converso de caracteres 17-11 decodificao da mensagem 17-13 escrita de caracteres 16-13 exame de caracteres 17-4 extrao de caracteres 17-2 insero de caracteres 16-18 leitura de caracteres 16-8 manipulao de caracteres 17-1 organizao de dados 16-7 assumir dados disponveis 7-8 atraso de varredura diagrama do bloco de funes 7-10 atribuio caracter ASCII 6-5 no retentivo 6-4 atributos retentivo 6-2

B
buffer E/S 12-1

C
caixa de texto controle seqencial de funes 5-23 mostrar ou esconder no controle seqencial de funes

5-24 carregamento 13-6

carregamento de um projeto 23-8 Carto 1784-CF64 Industrial CompactFlash 23-4 CASE 6-17 chave source 24-1 CLP-5C dados compartilhados 14-6, 14-7, 14-8 cdigo de barras busca por 17-4 extrao de caracteres 17-2 teste de caracteres 17-4, 17-9 cdigos falha de advertncia A-3 falha grave A-1 comentrios texto estruturado 6-29 comparao caracteres ASCII 17-4, 17-9 comunicao outros controladores 14-1 condio de linha 8-3 conecte controle seqencial de funes 5-8 configurao ao 5-16 carregamento da memria no voltil 23-8 carregue a memria no voltil 23-5 driver 13-1 etapa 5-10 execuo de um controle seqencial de funes 4-43, porta serial para ASCII 16-3 protocolo do usurio para ASCII 16-5 configure alarme 5-11 rotina principal 2-12 Conformidade IEC61131-3 Introduo B-1 conformidade IEC61131-3
Publicao 1756-PM001E-PT-P - Agosto 2002

5-26

ii

ndice

conjunto de instrues B-3 definies de dados B-2 linguagem de programao B-3 portabilidade do programa B-3 sistema operacional B-2 tabelas B-5 conjunto de instrues B-3 considerar dados disponveis 7-9, 7-10, 7-19 construo texto estruturado 6-12 consumo inteiros do CLP-5C 14-8 tag 14-1 Controlador memria no voltil 23-3 controlador desligamento 20-1 informaes sobre a memria 9-6 modo 13-5 mudana de propriedades 1-2 suspenso 20-1 controle de programao/operao caractersticas gerais 7-12 controle seqencial de funes ao

fio 4-16 forar elemento 18-1, 18-9, 18-11 insira um novo elemento 5-2 mostrar ou esconder a documentao 5-24 opo de reset automtico 4-33 opo de reset programado 4-31 opo don't scan 4-31 organizar etapas 4-11 organizar um projeto 4-6 pare 4-39 pausa de uma SFC 4-44 qualificador 4-21 ramificao de seleo

atribuio de prioridades 5-7 caractersticas gerais 4-13 criao 5-5


ramificao simultnea

ramificao simultnea da step through 18-9 reinicie 4-40 reset

caractersticas gerais 4-14 criao 5-4

dados 4-29 SFC 4-40, 4-42


resete seqncia 4-13 step through

atribuio da seqncia 5-20 caractersticas gerais 4-17 chame uma sub-rotina 5-19 configurao 5-16 insira 5-15 programa 5-18 renomeao 5-15 utilizao de uma ao booleana 4-18 ao booleana 4-18 aplicaes para 2-5 caixa de texto 5-23 chame uma sub-rotina 5-19 configurao da execuo 5-26 definir tarefas 4-5 documento 5-21 encadeamento 4-42
etapa

SFC 4-44

ramificao simultnea 18-9 transio 18-9


transio

caractersticas gerais 4-22 do programa 5-13 renomeao 5-13 transio step through 18-9 ltima varredura 4-29 volte para uma etapa anterior 5-8
ControlNet configurao do driver 13-1 produo e consumo de dados 14-1 converso Caracteres ASCII 17-11 criao alias 10-2 arquivo de projeto 1-1 do programa 2-10 driver 13-1 string 17-17 tag 8-10 tag com uso do Excel 3-9 tarefa peridica 2-9 tipo de dado STRING 16-7

caractersticas gerais 4-6 configurao 5-10 definir 4-6 organizar 4-11 renomeao 5-10
execuo

configurao 4-43 diagramas 4-44 pausa 4-44 expresso numrica 5-11, 5-16
Publicao 1756-PM001E-PT-P - Agosto 2002

diagrama do bloco de funes 7-20

ndice

iii

criar estrutura 3-6 matriz 3-8 tag 3-8 tipo de dados definidos pelo usurio 3-6 crie rotina 2-11

don't scan controle seqencial de funes 4-31 download 13-3 driver configurao 13-1

E
E/S buffer 12-1 sincronizao com a lgica 12-1 endereo atribuio de indireto 11-1 tag

D
DADOS ASCII 16-7 Insero dos Caracteres ASCII 16-18 produo e consumo 14-1 dados definies B-2 force 18-6, 18-8 dados do sistema acesso 9-3 desabilitar force 18-3, 18-12 Descrio texto estruturado 6-29 desligamento do controlador 20-1 diagrama do bloco de funes adio de um elemento 7-16 adio de uma planilha 7-16 aplicaes para 2-5 atribuio de um valor imediato 7-22 criao de um atraso de varredura 7-10 determinao de uma malha 7-8, 7-19 determinao do fluxo de dados entre blocos 7-9 elementos de conexo 7-19 esconder um pino 7-18 forar um valor 18-1 mostrar um pino 7-18 organizar planilhas 7-2 renomeao de um bloco 7-21 reteno de dados 7-5 seleo dos elementos 7-3 seqncia de execuo 7-5 do controlador download 13-3 do programa ao 4-17 criao 2-10 portabilidade B-3 transio 5-13 documentao mostrar ou esconder no controle seqencial de funes

diagrama do bloco de funes 7-3 lgica ladder 8-7, 8-10 endereo indireto 11-1 remoo de uma falha grave 19-6
envio caracteres ASCII 16-13 escrita caracteres ASCII 16-13 estrutura criar 3-6 organizar 3-1 SFC_ACTION 4-19 SFC_STEP 4-8 SFC_STOP 4-41 estrutura SFC_ACTION 4-19 Estrutura SFC_STEP 4-8 Estrutura SFC_STOP 4-41 etapa adio de uma ao 5-15 alarme 4-26 atribuio de um tempo pr-programado 5-10 configurao 5-10 configure o alarme 5-11 definir 4-6 organizar no controle seqencial de funes 4-11 ramificao de seleo 4-13 ramificao simultnea 4-14 renomeao 5-10 seqncia 4-13 temporizador 4-26 tipo de dados 4-8 Ethernet configurao do driver 13-1 produo e consumo de tags 14-1 Exame de um Cdigo de Barras 17-4 execuo controle seqencial de funes 4-44, 5-26 expresso expresso BOOL

5-24
documento controle seqencial de funes 5-21 texto estruturado 6-29

controle seqencial de funes 4-24, 5-13


Publicao 1756-PM001E-PT-P - Agosto 2002

iv

ndice

texto estruturado 6-5


expresso numrica

controle seqencial de funes 5-11, 5-16 texto estruturado 6-5


seqncia de execuo

texto estruturado 6-11


texto estruturado

monitorar 18-4 opes 18-6 precaues de segurana 18-2 remover 18-3, 18-12 tag 18-6, 18-8 funes texto estruturado 6-6

caractersticas gerais 6-5 funes 6-6 operadores aritmticos 6-6 operadores bitwise 6-10 operadores lgicos 6-9 operadores relacionados 6-8
expresso BOOL controle seqencial de funes 4-24, 5-13 texto estruturado 6-5 expresso numrica 5-11, 5-16, 6-5 extrao caracteres ASCII 17-2

H
habilitar force 18-2

I
ICON adio 7-23 insero 7-16 seleo 7-3 IF...THEN 6-13 insero caracteres ASCII 16-18 controle seqencial de funes 5-2 elemento do bloco de funes 7-16 endereo 8-10 ICON 7-23 lgica ladder 8-9 OCON 7-23 insira ao 5-15 ramificao de seleo 5-5 ramificao simultnea 5-4 instruo EOT 4-25 instruo SFP 4-44 instruo SFR 4-40, 4-42, 4-44 IREF insero 7-16 para atribuir um valor imediato 7-22 reteno de dados 7-5 seleo 7-3

F
falha cdigos de falha de advertncia A-3 cdigos de falhas graves A-1 criao definida pelo usurio 20-1 desenvolvimento de rotina para remover uma falha 22-1 desenvolvimento de uma rotina para remover a falha durante a pr-varredura 19-6 endereo indireto 19-6 monitorao de advertncia 21-1 remoo 13-6, 19-1 teste de uma rotina de falha 19-10 falha de advertncia cdigos A-3 lgica 21-1 remoo 21-1 falha grave cdigos A-1 criao definida pelo usurio 20-1 desenvolvimento de rotina de falha 22-1 desenvolvimento de uma rotina de falha 19-1 Ferramenta de Proteo de Fonte do RSLogix 5000 24-1 fio controle seqencial de funes 4-16 diagrama do bloco de funes 7-5, 7-8, 7-18 FOR...DO 6-20 force controle seqencial de funes 18-9, 18-11 desabilitar 18-3, 18-12 habilitar 18-2 LED 18-4
Publicao 1756-PM001E-PT-P - Agosto 2002

19-1

L
LED force 18-4 leitura caracteres ASCII 16-8 linguagem de programao conformidade IEC61131-3 B-3 seleo 2-5 lgica ladder aplicaes para 2-5 atribuio de um valor imediato 8-12 cancelar um valor 18-1 condio de linha 8-3

ndice

desenvolvimento 8-5 forar um valor 18-1 insero 8-9 organizao das instrues de entrada 8-6 organizao das instrues de sada 8-7 ramificao 8-2

operadores seqncia de execuo

texto estruturado 6-11


operadores aritmticos texto estruturado 6-6 operadores bitwise texto estruturado 6-10 operadores lgicos texto estruturado 6-9 operadores matemticos texto estruturado 6-6 operadores relacionados texto estruturado 6-8 OREF insero 7-16 seleo 7-3 organizao strings 16-7 organizador do controlador abertura da rotina 2-8 navegao 2-7 organizar estrutura 3-1 matriz 3-1 tag 3-1

M
malha de realimentao diagrama do bloco de funes 7-8 malha sem determinao diagrama do bloco de funes 7-8 manipulao de string 17-1 marque como booleana 5-17 matriz ao longo do ndice 11-1 criar 3-8 organizar 3-1 produo de uma matriz grande 15-1 memria 9-6 memria no voltil armazenamento de um projeto 23-5 caractersticas gerais 23-1 carregamento de um projeto 23-8 Carto 1784-CF64 Industrial CompactFlash 23-4 controladores suportados 23-3 opes de carregamento de imagem 23-5 remoo 23-11 Verificao do Carregamento 23-10 mensagem decodificao de string 17-13 mensagens para mltiplos controladores 14-13 para um nico controlador 14-11 modo controlador 13-5 modo de operao 13-5 modo de programa 13-5 modo de teste 13-5 monitorar forces 18-4

P
parado. tipo de dados 4-41 pare controle seqencial de funes 4-39 pasta abertura 2-7 fechamento 2-7 pausa de uma SFC 4-44 peso converso 17-11 planilha adio 7-16 conexo 7-23 diagrama do bloco de funes 7-2 ps-varredura controle seqencial de funes 4-29 texto estruturado 6-4 pr-varredura remoo de uma falha grave 19-6 prioridade ramificao de seleo 5-7 tarefa peridica 2-2 produo matriz grande 15-1 tag 14-1 tags para CLP-5C 14-6, 14-7
Publicao 1756-PM001E-PT-P - Agosto 2002

N
nome nome do tag 7-3, 8-7 nmero de ranhura 1-2

O
OCON adio 7-23 insero 7-16 seleo 7-3 opo de reset programado 4-31

vi

ndice

programa ao 5-18 ao booleana 4-18 rotina principal 2-12 projeto armazenamento em memria no-voltil 23-5 carregamento 13-6 carregamento da memria no voltil 23-8 carregue a memria no voltil 23-5 download 13-3 memria no voltil 23-1 proteo 24-1, 24-11 restrio de acesso 24-11 verifique 2-12 proteo projeto 24-1, 24-11 proteo de um projeto 24-11 proteo de uma rotina 24-1 rotina 24-1 proteo de fonte da rotina 24-1 protocolo do usurio configurao para ASCII 16-5

Q
qualificador atribuio 5-16 seleo 4-21

transio 5-13 REPEAT...UNTIL 6-26 reset ao 4-36 SFC 4-40 reset automtico controle seqencial de funes 4-33 reset de um SFC 4-42 resete um SFC 4-44 reteno de dados diagrama do bloco de funes 7-5 rotina abertura 2-8 como transio 4-25 configure como rotina principal 2-12 crie 2-11 encadeamento no controle seqencial de funes 4-42 proteo 24-1 restrio de acesso 24-1 verificao 5-26, 7-24, 8-12 rotina principal uso de um controle seqencial de funes 4-6 RSLinx configurao 13-1

S
saltar controle seqencial de funes 4-16 salvar 1-2 salvar como 1-2 seqncia de execuo diagrama do bloco de funes 7-5 expresso de texto estruturado 6-11 Serial configurao da porta para ASCII 16-3 serial conexo de um dispositivo ASCII 16-2 conexo do cabo 16-2 smbolo criao 10-1 sistema operacional B-2 Software RSI Security Server 24-11 status force 18-4 memria 9-6 monitorao 9-3 monitorar 9-1 step through ramificao simultnea 18-9 transio 18-9 string avaliao no texto estruturado 6-8 busca de um array de caracteres 17-4

R
ramificao controle seqencial de funes 4-11, 5-4, 5-5 lgica ladder 8-2 ramificao de seleo atribuio de prioridades 5-7 caractersticas gerais 4-13 crie 5-5 ramificao simultnea 4-14 force 18-9, 18-11 insira 5-4 step through 18-9 reinicie controle seqencial de funes 4-40 remoo falha de advertncia 21-1 falha grave 13-6, 19-1 memria no voltil 23-11 remover force 18-3, 18-12 renomeao ao 5-15 bloco de funes 7-21 etapa 5-10

Publicao 1756-PM001E-PT-P - Agosto 2002

ndice

vii

comparao de caracteres 17-4, 17-9 converso de caracteres 17-11 criao 17-17 escrita de caracteres 16-13 extrao de caracteres 17-2 insero de caracteres 16-18 leitura de caracteres 16-8 manipulao 17-1 organizao de dados 16-7 Tipo de Dados 16-7 suspenso controlador 20-1

T
tabela de dados 3-1 tabelas de conformidade B-5 tag atribuio 8-10 compartihamento com o CLP-5C 14-7 compartilhamento com o CLP-5C 14-6, 14-8 criao 8-10 criao com uso do Excel 3-9 criao de alias 10-2 criar 3-8 force 18-6, 18-8 insero 8-10 organizao para mensagens 14-11 organizar 3-1 produo de uma matriz grande 15-1 produo e consumo 14-1 seleo do nome 7-3, 8-7 string 16-7 tamanho do chassi 1-2 tansio uso de uma sub-rotina 4-25 tarefa defina 2-4 definir 4-5 tarefa peridica aplicao para 2-6, 4-5 criao 2-9 teste de uma rotina de falha 19-10 texto estruturado aplicaes para 2-5 atribuio do caracter ASCII 6-5 atribuio no retentivo 6-4 atributos 6-2 avaliao de strings 6-8

diagrama do bloco de funes 7-20

CASE 6-17 comentrios 5-21, 6-29 componentes 6-1 construes 6-12 em ao 5-18 expresso 6-5 expresso numrica 6-5 FOR...DO 6-20 forar um valor 18-1 funes 6-6 IF...THEN (SE...ENTO) 6-13 operadores aritmticos 6-6 operadores bitwise 6-10 operadores lgicos 6-9 operadores relacionados 6-8 REPEAT...UNTIL 6-26 WHILE...DO 6-23 tipo de dado STRING criao 16-7 tipo de dados definido pelo usurio criar 3-6 transio chame a sub-rotina 5-14 definir 4-22 do programa 5-13 expresso BOOL 4-24 force 18-9, 18-11 instruo EOT 4-25 renomeao 5-13 seleo do mtodo de programa 4-24 step through 18-9

U
ltima varredura controle seqencial de funes 4-29

V
valor imediato diagrama do bloco de funes 7-22 lgica ladder 8-12 verificao rotina 5-26, 7-24, 8-12 verifique projeto 2-12

W
WHILE...DO 6-23

Publicao 1756-PM001E-PT-P - Agosto 2002

viii

ndice

Publicao 1756-PM001E-PT-P - Agosto 2002

Cdigos do Caracter ASCII


Caracter [ctrl-A] SOH [ctrl-B] STX [ctrl-C] ETX [ctrl-D] EOT [ctrl-E] ENQ [ctrl-F] ACK [ctrl-G] BEL [ctrl-H] BS [ctrl-I] HT [ctrl-J] LF [ctrl-K] VT [ctrl-L] FF [ctrl-M] CR [ctrl-N] SO [ctrl-O] SI [ctrl-P] DLE [ctrl-Q] DC1 [ctrl-R] DC2 [ctrl-S] DC3 [ctrl-T] DC4 [ctrl-U] NAK [ctrl-V] SYN [ctrl-W] ETB [ctrl-X] CAN [ctrl-Y] EM [ctrl-Z] SUB ctrl-[ ESC [ctrl-\] FS ctrl-] GS [ctrl-^] RS [ctrl-_] US Dec Hex $00 $ 01 $ 02 $ 03 $ 04 $ 05 $ 06 $ 07 $ 08 $ 09 $l ($ 0A) $0B $0C $r ($ 0D) $ 0E $ 0F $ 10 $ 11 $ 12 $ 13 $ 14 $ 15 $ 16 $ 17 $ 18 $ 19 $ 1A $ 1B $ 1C $ 1D $ 1E $ 1F 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Caracter SPACE (ESPAO) ! # $ % & ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < := > ? Dec Hex 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 $ 20 $ 21 $ 22 $ 23 $ 24 $ 25 $ 26 $ 27 $ 28 $ 29 $ 2A $ 2B $ 2C $ 2D $ 2E $ 2F $ 30 $ 31 $ 32 $ 33 $ 34 $ 35 $ 36 $ 37 $ 38 $ 39 $ 3A $ 3B $ 3C $ 3D $ 3E $ 3F Caracter @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ Dec Hex 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 $ 40 $ 41 $ 42 $ 43 $ 44 $ 45 $ 46 $ 47 $ 48 $ 49 $ 4A $ 4B $ 4C $ 4D $ 4E $ 4F $ 50 $ 51 $ 52 $ 53 $ 54 $ 55 $ 56 $ 57 $ 58 $ 59 $ 5A $ 5B $ 5C $ 5D $ 5E $ 5F Caracter a b c d e f g h I j k l m n o p q r s t u v w x y z { | } ~ DEL Dec Hex 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 $ 60 $ 61 $ 62 $ 63 $ 64 $ 65 $ 66 $ 67 $ 68 $ 69 $ 6A $ 6B $ 6C $ 6D $ 6E $ 6F $ 70 $ 71 $ 72 $ 73 $ 74 $ 75 $ 76 $ 77 $ 78 $ 79 $ 7A $ 7B $ 7C $ 7D $ 7E $ 7F

[ctrl-@] NUL 0

Suporte Rockwell Automation

Para assistncia tcnica, telefone para o representante local da Rockwell Automation ou entre em contato com a Rockwell Automation por:
Telefone Estados Unidos / Canad Outras Localidades 1.440.646.5800 Voc pode obter o nmero do telefone em seu pas atravs 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 1. Acesse o site http://www.ab.com 2. Clique em Product Support (http://support.automation.rockwell.com)

Internet

Quarta Capa

Allen-Bradley, ControlLogix, DH+, Logix5000, PLC-5, RSLogix 5000, RSLinx, RSNetWorx, and SLC so marcas registradas da Rockwell Automation. ControlNet uma marca da ControlNet International, Ltd. Ethernet uma marca da Digital Equipment Corporation, Intel e Xerox Corporation.

Publicao 1756-PM001E-PT-P - Agosto 2002 1


Substitui Publicao 1756-PM001D-PT-P - Novembro 2001

PN 957678-91
2002 Rockwell Automation. Todos os direitos reservados.

Você também pode gostar