Escolar Documentos
Profissional Documentos
Cultura Documentos
Manual de Programao
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.
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
Notas:
Prefcio
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
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
Prefcio
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.
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:
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
Sumrio
Captulo 1 Gerenciamento dos Arquivos de Projeto
Criao de um Arquivo de Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Armazenamento das Mudanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
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
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
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
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
vi
Sumrio
Download de um Projeto para o Controlador . . . . . . . . . . . . . . . . . Seleo de um Modo para o Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Correo de Falhas Graves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Salvar Suas Alteraes Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sumrio
vii
viii
Sumrio
Sumrio
ix
Sumrio
Captulo
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.
1-2
nome do controlador
organizador do controlador
42371
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:
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.
1-4
Notas:
Captulo
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.
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
2-2
Definies
Antes de usar os procedimentos descritos neste captulo, familiarize-se com as definies a seguir.
Tarefa
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
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
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.
2-4
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).
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.
2-5
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
texto estruturado
2-6
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)
2-7
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
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 .
2-8
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.
2-9
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.
2-10
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-11
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
2-12
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.
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].
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:
3-2
Organizao de Tags
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
Organizao de Tags
3-3
EXEMPLO
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 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
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
Esta matriz contm uma grade de elementos de duas dimenses, de seis em seis elementos.
42367
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
matriz de receitas
primeira receita
membros da receita
42368
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
primeiro furo
42583
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:
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.
Organizao de Tags
3-9
2.
42350
3.
4.
5.
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).
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.
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.
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.
Organizao de Tags
3-11
DESCRIPTION DESCRIPTION
8.
9.
10.
11.
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
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.
Captulo
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
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.
4-2
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.
4-3
Figura 4.2 Exemplo de SFC (continuao da pgina anterior) Uma ramificao de seleo escolhe entre diferentes caminhos de execuo.
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.
4-4
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.
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.
4-6
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.
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.
4-7
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
4-8
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
LimitLow
DINT
LimitHigh
DINT
4-9
Se voc quiser:
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)
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
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.
4-10
Se voc quiser: usar um tag para vrios bits de status desta etapa
step_name.X
step_name.FS
step_name.SA
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.
Conecte o fio etapa ou ramificao simultnea para qual deseja ir. No conecte , fora da ou entre uma ramificao simultnea.
4-12
45
46
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
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.
4-14
nica linha horizontal cada caminho possui sua prpria transio faa isto... OU isso OU isso
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.
4-15
faa isto...
E isso
E isso
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.
4-16
4-17
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
4-18
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.
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.
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.
DINT
4-20
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
Status
DINT
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*/
4-21
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:
E:
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
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
4-22
A transio consiste das condies fsicas que devem ocorrer ou alterao para ir para a etapa seguinte.
transio
etapas transies
ramificao de seleo
transies
ramificao simultnea
transies
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_16
Para suprimir o estado de uma transio, consulte Elementos da Lgica Force na pgina 18-1.
4-24
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.
bool_tag_a
dint_tag_a > 8
4-25
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.
4-26
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.
4-27
Figura 4.4 O diagrama a seguir mostra a ao dos alarmes baixo e alto para uma etapa:
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)
4-28
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_Not_OK
Init.AlarmHigh
4-29
Quando o SFC deixa a etapa, voc tem diversas opes sobre como desenergizar os dispositivos que a etapa energizou.
Reset Programado
Reset Automtico
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.
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
pgina 4-33
4-30
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
Use as aes P e P0
Use:
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.
4-31
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.
4-32
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.
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.
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.
4-34
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.
4-35
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
4-36
EXEMPLO
Transfer_In
Paint_Flow
Air_Flow
Elec_Charg
Controle do Ventilador
Limpeza
Transfr_Out
4-37
Action_Name
ao que voc quer executar para mais de uma etapa
mais etapas
Action_Name
mesmo nome que a ao armazenada
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.
4-38
step_1
step_2
step_4
Para o ventilador voltar para energizado, o SFC tem que voltar para a step_1.
EXEMPLO
Para obter informaes adicionais sobre como encadear um SFC, consulte Encadeamento de um SFC na pgina 4-42.
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.
4-40
EXEMPLO
Reset Programado Dont scan NO encadeado (isto , nenhum SFC chama esse SFC como uma sub-rotina)
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
Count
DINT
Status
DINT
4-42
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.
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
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.
4-44
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
4-45
step_1
falsa
ltima varredura
step_2
falsa
ltima varredura
4-46
ltima varredura
step_2
step_3
tran_2 verdadeira
falsa
step_3
falsa
ltima varredura
step_3
4-47
ltima varredura
falsa
falsa
ltima varredura
parmetros de parmetros de entrada parmetros de retorno volte para OS/JSR falsa step_1
tran_1 verdadeira
parmetros de retorno
parmetros de
ltima varredura
4-48
falsa
tran_1 verdadeira
falsa
step_1
ltima varredura
step_2
falsa
tran_2 verdadeira
falsa
step_2
ltima varredura
Captulo
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
5-2
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
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.
5-3
ponto verde
5-4
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
5-5
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.
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.
5-6
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.
5-7
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.
5-8
Para saltar para uma etapa diferente no SFC: Conecte um Fio Etapa Esconder um Fio Mostrar um Fio Escondido
1.
Clique aqui.
2.
Arraste a barra horizontal aqui.
Clique aqui.
ponto verde
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.
Para ver o elemento de SFC para qual o fio vai, clique no local de rede na conexo.
fio escondido
5-10
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.
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
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.
5-11
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.
3.
5-12
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
5-13
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.
Para programar uma transio, voc tem essas opes: Inserir uma Expresso BOOL Chame uma Sub-rotina
BOOL_expression
5-14
O exemplo a seguir mostra as trs transies que usam uma expresso BOOL. EXEMPLO Inserir uma Expresso BOOL
2.
JSR(routine_name)
5-15
Adio de uma Ao
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.
5-16
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
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
5-17
2.
3.
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
2.
5-18
3. Selecione
Programao de uma Ao
Para programar uma ao, voc tem essas opes: Insero do Texto Estruturado Chame uma Sub-rotina
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].
5-19
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
5-20
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:
5-21
Documentao do SFC
Para documentar: as informaes gerais sobre o SFC etapa
transio
Para obter mais informaes, consulte Comentrios na pgina 6-29. Para inserir os comentrios:
5-22
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].
3.
3. Digite a descrio para o elemento (tag). 4. Selecione 5. Arraste a caixa de descrio para o local desejado na SFC.
5-23
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.
5-24
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
2.
4. Escolha
5-25
1. Clique no boto
3. Escolha Para mostrar outras descries, consulte Mostrar ou Esconder as Caixas de Textos ou Descries de Tag na pgina 5-24.
5-26
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
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].
5-28
Notas:
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)
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:
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).
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
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.
6-2
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
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
6-4
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.
6-5
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.
6-6
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.
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)
6-8
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);
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.
6-10
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
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.
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;
6-11
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
6-12
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);
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
6-13
IF...THEN
Operandos:
Texto Estruturado
IF bool_expression THEN <statement>; END_IF;
Tipo:
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
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
6-14
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
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.)
6-16
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;
6-17
CASE...OF
Operandos:
Texto Estruturado
CASE numeric_expression OF selector1: statement; selectorN: statement; ELSE statement; END_CASE;
selector
imediato
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
opcional
6-18
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>
Condies de Falha:
Nenhuma
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;
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.)
6-20
FOR...DO
Use a malha FOR...DO para fazer algo com um nmero especfico de vezes antes de fazer algo mais.
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.
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>;
opcional
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
Para parar a malha antes que a contagem alcance o ltimo valor, use uma declarao EXIT.
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;
6-22
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;
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;
Tipo:
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
6-24
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;
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.
Condies de Falha:
Uma falha grave ocorrer se: a construo das malhas for muito longa 6
Tipo de falha: 1
Cdigo de falha:
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.
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.
6-26
REPEAT...UNTIL
Operandos:
Texto Estruturado
REPEAT <statement>; UNTIL bool_expression END_REPEAT;
Tipo:
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
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:
Condies de Falha:
Uma falha grave ocorrer se: a construo das malhas for muito longa 6
Tipo de falha: 1
Cdigo de falha:
6-28
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.
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.
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*/ que ocupe mais de uma linha (*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*)
6-30
Captulo
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 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.
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
7-2
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
Planilha 3 de 4
motor 3
Planilha 4 de 4
motor 4
7-3
nico conector do fio de sada (OCON) e mltiplos conectores do fio de entrada (ICON)
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.
7-4
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.
7-5
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.
pino de sada
fio
pino de entrada
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
7-6
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.
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
7-8
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.
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.
Indicador Considerar Dados Disponveis Os fios usam o indicador Considerar Dados Disponveis.
7-10
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.
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.
7-12
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
7-13
Como a entrada ProgOperReq sempre energizada, no h efeito se pressionar o boto Program na placa frontal (que define a entrada
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.
7-14
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.
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.
7-16
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
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
7-18
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
2.
3. Selecione
7-19
ponto verde
conexo de entrada
7-20
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
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
7-21
8.
3.
7-22
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
3.
3. Clique duas vezes na rea do operando da IREF. 4. Insira o valor e pressione a tecla Enter.
2.
7-23
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
7-24
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].
Captulo
Use esse procedimento para: desenvolver a lgica para a rotina de lgica ladder inserir a lgica na rotina
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.
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
8-2
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
8-3
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
8-4
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.
8-5
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
8-6
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.
8-7
Coloque as instrues de sada entre as instrues de entrada, desde que a ltima instruo da linha seja uma instruo de sada
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
EXEMPLO
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
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
drill[1].part_advance
42357
8-9
Use a barra de ferramentas Language Element para adicionar um elemento de lgica ladder a sua rotina.
outras instrues
Para adicionar um elemento: Acrscimo de um Elemento ao Local do Curso Arrastar e Soltar um Elemento
8-10
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)
4. Pressione o boto
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-12
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].
Captulo
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
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
9-2
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.
9-3
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.
9-4
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.
9-5
Source (SSV)
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.
9-6
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)
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
9-7
9-8
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
9-9
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.
9-10
Captulo
10
Atribuio de 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
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.
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.
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 <Local:2:I.Data.1>
conveyor_on um alias/smbolo para Local:0:O.Data.0 (contator de acionamento para o motor da esteira transportadora)
42351
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.
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.
10-4
Atribuio de Aliases/Smbolos
Notas:
Captulo
11
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. 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.
11-2
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
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
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
11-4
Notas:
Captulo
12
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.
12-2
Buffer de E/S
EXEMPLO
Buffer de E/S
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
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
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
12-4
Buffer de E/S
Notas:
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.
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)
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
Teste de um Projeto
13-3
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
+
communication module
backplane
+
controller
13-4
Teste de um Projeto
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.
Teste de um Projeto
13-5
42627
A
42525
13-6
Teste de um Projeto
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.
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.
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.
Captulo
14
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
14-11 14-13
Um tag produzido envia seus dados para um ou mais tag consumidos (consumidores) sem usar a lgica ladder.
14-2
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).
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
14-4
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
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.
6. 7. 8. 9.
42353
10.
14-6
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.
14-7
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.
14-8
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
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:
Data Type
14-10
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.
14-11
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
count_send
count_msg.en /
count_msg ...
EN DN ER
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).
14-12
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
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
14-13
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
+ message.Channel. + message.Rack.
A B
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 [*].
14-14
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
peer_controller I/O Configuration [0] 1756-CNB/x Local_CNB 2 [0] 1756-CNB/x chassis_b [1] 1756-L55/x peer_controller
14-15
14-16
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
14-17
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
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
14-18
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
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
14-19
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
14-20
4. 5.
6.
43051
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
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
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.
14-22
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..
Captulo
15
matriz
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.
15-2
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.
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
15-4
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.).
15-5
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.
15-6
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.
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.
15-8
Notas:
Captulo
16
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.
42237
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
16-2
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
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.
16-3
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
42627
3. Na barra de ferramenta online, clique no boto do controlador. 4. Clique na guia Serial Port.
5.
6.
42251
16-4
7.
8. 9.
42251
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.
16-5
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.
16-6
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
Ignore
8. Clique em OK.
16-7
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.
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.
16-8
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.
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.)
16-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.
16-10
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
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:
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.
16-12
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
42226
16-13
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.
16-14
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
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
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.)
16-16
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
AWA ASCII Write Append Channel Source SerialPort Control String Length Characters Sent
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.)
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
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
16-18
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
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.
Captulo
17
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
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.
17-2
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.
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.
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
17-4
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.
17-5
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.
17-6
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
17-7
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.
17-8
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.
17-9
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
17-10
EXEMPLO
Quando bag_flt_and_dest for igual a gate[1], xfer{1] acende. Dessa forma, a bagagem encaminhada para o porto correto.
42808
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.
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
17-12
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.
17-13
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
caracter de terminao
42810
42810
17-14
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.
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.
17-16
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
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.
17-18
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.
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.
17-20
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
Captulo
18
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.
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
18-2
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
18-3
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.
18-4
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
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.
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.
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.
18-6
O Que Forar
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
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.
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.
18-8
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:
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.
18-9
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.
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
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
se caminho 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.
18-11
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:
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.
18-12
!
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
!
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).
18-13
4. Clique com o boto direito no tag ou no elemento que possui o force e selecione Remove Step.
18-14
Notas:
Captulo
19
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.
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
19-2
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.
19-3
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.
19-4
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
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
19-5
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.
19-6
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
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
19-7
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
19-8
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.
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.
19-10
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:
EXEMPLO
Quando test._fault_routine est energizada, uma falha de advertncia ocorre e o controlador executa Fault_Routine.
Captulo
20
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.
20-2
EXEMPLO
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
Captulo
21
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.
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).
21-2
EXEMPLO
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.
42373
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
21-4
Notas:
Captulo
22
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.
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.
22-2
2. Crie e atribua uma rotina principal (a rotina que executada primeiro no programa).
Quando a alimentao for restaurada, tomar aes especficas e reiniciar a operao normal.
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
22-4
Notas:
Captulo
23
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
23-2
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.
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
23-3
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
23-4
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.
23-5
Voc possui muitas opes para quando (sob quais condies) carregar o projeto de volta para a memria do usurio (RAM) do controlador?
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 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
23-6
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
23-7
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.
23-8
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:
42873
Ento:
4.
42627
4. Na barra de ferramentas Online, clique no boto controller properties. 5. Clique na guia Nonvolatile Memory.
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.
23-10
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
: 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.
23-11
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
2.
42627
2. Na barra de ferramentas Online, clique no boto controller properties. 3. Clique na guia Nonvolatile Memory.
4.
42865
23-12
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.
3.
42865
3. Selecione Load/Store.
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.
23-14
Notas:
Captulo
24
Proteo de um Projeto
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
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.
24-2
Proteo de um Projeto
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.
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.
Proteo de um Projeto
24-3
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
24-4
Proteo de um Projeto
sim no
sim
Escolha o nmero de chaves source que equilibre suas necessidades de proteo com o nvel de gerenciamento de chave que quer aceitar.
Proteo de um Projeto
24-5
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.
24-6
Proteo de um Projeto
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.
Proteo de um Projeto
24-7
4. 3.
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.
24-8
Proteo de um Projeto
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:
1. Abra o projeto do RSLogix 5000 que est protegendo 2. No menu Tools, selecione Security Configure Source Protection.
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:
4. Selecione Yes.
24-10
Proteo de um Projeto
5. 7.
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
Proteo de um Projeto
24-11
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
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.
24-12
Proteo de um Projeto
Program Files
Keys.ini SetSecKeys.exe
Rockwell Software
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.
Proteo de um Projeto
24-13
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
Program Files
Rockwell Software
Security Server
System
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
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
43075
43078
Proteo de um Projeto
24-15
realize todas as aes disponveis atravs do software RSLogix 5000 exceto desproteger um controlador protegido desproteja um controlador protegido
Full Access
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
Proteo de um Projeto
24-17
Adio de Usurios
43084
43074
24-18
Proteo de um Projeto
3. Siga as etapas para esta tarefa. Atribua as aes que voc registrou na Tabela 24.3 na pgina 24-14.
43076
3. Siga as etapas para esta tarefa. Atribua as aes que voc registrou na Tabela 24.5 na pgina 24-16.
43076
Proteo de um Projeto
24-19
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.
24-20
Proteo de um Projeto
3.
43079
3. Na lista Member items, selecione o projeto e clique no boto <<. 4. Selecione Apply.
7. Siga as etapas para esta tarefa. Atribua as aes que voc registrou na Tabela 24.5 na pgina 24-16.
43076
Apndice
Cdigos de Falha
Use esse apndice para interpretar: Cdigos de Falhas Graves Cdigos de Falha de Advertncia
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
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
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.
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
Cdigos de Falha
A-3
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
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.
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
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.
10
10
Apndice
Conformidade IEC61131-3
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.
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.
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.
Conformidade IEC61131-3
B-5
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
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
22 22
2 3
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
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
Conformidade IEC61131-3
B-9
Cdigo da Tabela:(1) 40
Cdigo do Recurso: 2b
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
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
B-10
Conformidade IEC61131-3
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
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 <, >, <=, >=
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
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 --( )--
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
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.
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.
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.
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:
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
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.
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
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.
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).
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.
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
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
42365
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
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
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.
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.
14
Glossrio
no
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
no continua a execuo da lgica entre com o modo de falha, registre o FAULTLOG e desligue
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
20
25
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
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.
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
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
Glossrio
19
O exemplo seguinte usa mais de uma sada em uma linha. Coloque mltiplas sadas em uma linha
EXEMPLO
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).
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
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
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.
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.
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.
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.
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
28
Glossrio
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
No
Sim
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.
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
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.
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.
Glossrio
33
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.
34
Glossrio
O exemplo a seguir mostra o tipo de dados STRING e um novo string de tipo de dados.
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
Glossrio
35
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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 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
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
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
iv
ndice
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
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
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
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
viii
ndice
[ctrl-@] NUL 0
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.
PN 957678-91
2002 Rockwell Automation. Todos os direitos reservados.