Comuns dos
Controladores
Logix5000™
1756-Lx, 1769-Lx, 1789-Lx, 1794-Lx,
PowerFlex 700
Manual de Programação
todas as etapas necessárias foram seguidas para garantir que cada aplicação e uso cumpram todos os requisitos de desempenho e segurança, incluindo todas as leis, regulamentações, códigos e padrões aplicáveis. Sob nenhuma
circunstância, a Rockwell Automation será responsável por danos indiretos ou que possam vir acontecer como resultado do uso ou a aplicação destes produtos.
As ilustrações, gráficos, exemplos de programas e de layout mostrados neste manual são apenas para fins ilustrativos. Visto que há diversas variáveis e requisitos associados a qualquer instalação em especial, a Rockwell
Automation não assume a responsabilidade (inclusive a responsabilidade por propriedade intelectual) pelo uso real baseado nos exemplos mostrados nesta publicação.
A publicação SGI-1.1, Diretrizes de Segurança para Aplicação, Instalação e
Manutenção dos Dispositivos de Controle Eletrônico (disponível no escritório local da Rockwell Automation/ Allen-Bradley), descreve algumas diferenças
importantes entre os equipamentos eletrônicos e dispositivos eletromecânicos, que devem ser levadas em consideração ao utilizar produtos como os descritos nesta publicação.
É proibida a reprodução, total ou parcial, deste manual sem a permissão por escrito da Rockwell Automation.
Ao longo deste manual, usamos notas a fim de chamar sua atenção para algumas considerações de segurança. As anotações a seguir acompanham declarações que ajudam você a identificar, evitar um perigo potencial e a reconhecer as suas conseqüências:
ADVERTÊNCIA
!
Identifica as informações sobre práticas ou circunstâncias que possam causar ferimentos ou morte, danos à
propriedade ou perdas econômicas.
ATENÇÃO
!
Identifica as informações sobre práticas ou circunstâncias que podem causar ferimentos ou a morte, danos à
propriedade ou perdas econômicas.
IMPORTANTE Identifica as informações críticas para aplicação e
Introdução
A edição deste documento contém informações novas e atualizadas.Informações atualizadas
O documento contém as seguintes alterações:Alteração: Capítulo/Apêndice:
Informações adicionais sobre como planejar as tarefas de um projeto incluindo a escolha da linguagem de programação apropriada para uma aplicação
2 Procedimentos adicionais sobre como trabalhar com o organizador do controlador, criar tarefas, criar
programas e criar rotina
Novas informações sobre como determinar um controle seqüencial de funções para a máquina ou processo 4 Novas informações sobre como inserir e configurar um controle seqüencial de funções usando o software
RSLogix 5000
5 Novas informações sobre como usar a linguagem de programação de texto estruturado incluindo atributos,
expressões, instruções, construções e comentários
6 Informações adicionais sobre como programar um diagrama de bloco de funções incluindo como usar as
planilhas, definir a seqüência de execução, determinar malhas, definir programas/controle de operação, inserir elementos e configurar elementos
7
Informações adicionais sobre como organizar e inserir a lógica ladder 8 Novas informações sobre como obter informações sobre a memória para um controlador 9 Informações atualizadas sobre forçar os valores de E/S 18 Novas informações sobre como forçar e passar pelos elementos de SFC
Novas informações sobre o Cartão Industrial CompactFlash 1784-CF64 (memória não volátil para o controlador ControlLogix 1756-L63)
23 Procedimentos atualizados para o recurso de proteção da fonte da rotina 24
2 novos códigos de falha grave A
Informações adicionais sobre a Conformidade com IEC61131-3 relacionadas às linguagens de programação de texto estruturado e controle seqüencial de funções
B Novas definições relacionadas ao controle seqüencial de funções Glossário
Objetivo deste Manual
Este manual fornece orientações para o desenvolvimento de projetos com controladores Logix5000. Ele fornece os procedimentos passo-a-passo sobre como realizar as seguintes tarefas que são comuns a todos os controladores Logix5000:•Organização de Tarefas, Programas e Rotinas
•Organização de Tags
•Projeto de um Controle Seqüencial de Funçõe
•Rotinas de Programas
•Teste de um Projeto
•Manipulação 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 usuário para seu tipo específico de controlador. Os manuais do usuário abrangem tarefas como:
•Instalação e configuração de E/S
•Comunicação com dispositivos de várias redes
•Manutenção da bateria
Quem Deve Usar Este
Manual
Este manual deve ser usado pelas pessoas responsáveis pela programação de aplicações que usam os controladores Logix5000, como:
•engenheiros de software
•engenheiros de controle
•engenheiros de aplicação
Quando Usar Este Manual
Use este manual quando realizar estas ações:•desenvolvimento do código básico para sua aplicação
•modificação de uma aplicação existente
•realização de testes isolados de sua aplicação
À medida que você integrar sua aplicação com dispositivos de E/S, controladores e redes em seu sistema:
•Consulte o manual do usuário para seu tipo de controlador específico.
•Use este manual como referência, quando necessário.
Como Usar Este Manual
Este manual é dividido em tarefas básicas que você executa durante a programação de um controlador Logix5000.•Cada capítulo aborda uma tarefa.
•As tarefas estão organizadas na seqüência em que você as executa normalmente.
Ao usar este manual, você verá alguns termos que estão formatados de forma diferente do restante do texto:
Texto: Identifica: Por exemplo: Significa:
itálico nome real do item que você vê na tela ou exemplo
Clique com o botão direito do mouse em User-Defined …
Clique com o botão direito do mouse no item chamado User-Defined.
negrito um verbete do “Glossário” Digite um nome … Se você quiser informações adicionais, consulte o nome no “Glossário”. Se você estiver visualizando o arquivo PDF do manual, clique em nome para consultar a entrada no glossário.
courier informações que você deve fornecer com base em sua aplicação (uma variável)
Clique com o botão direito do mouse em
name_of_program …
Você deve identificar o programa específico na sua aplicação. Geralmente, é um nome ou variável que você definiu. entre parênteses uma tecla do teclado Pressione [Enter]. Pressione a tecla Enter.
Capítulo 1
Gerenciamento dos Arquivos
de Projeto
Criação de um Arquivo de Projeto . . . 1-1
Armazenamento das Mudanças . . . 1-2
Capítulo 2
Organização de Tarefas,
Programas e Rotinas
Quando Usar Este Procedimento . . . 2-1
Antes de Começar . . . 2-1
Como Usar Este Procedimento. . . 2-1
Definições. . . 2-2
Tarefa . . . 2-2
Tarefa Contínua . . . 2-2
Tarefa Periódica . . . 2-2
Programa . . . 2-3
Rotina . . . 2-4
Rotina Principal . . . 2-4
Planejamento de Tarefas do Projeto . . . 2-4
Definição das Funções do Projeto . . . 2-5
Atribuição de Cada Função a uma Tarefa . . . 2-6
Uso do Organizador do Controlador . . . 2-7
Abertura ou Fechamento de uma Pasta . . . 2-7
Abertura de uma Rotina . . . 2-8
Criação de uma Tarefa Periódica. . . 2-9
Criação de um Programa . . . 2-10
Criação de uma Rotina. . . 2-11
Configuração de uma Rotina como uma Rotina Principal. . . 2-12
Verificação do Projeto . . . 2-12
Capítulo 3
Organização de Tags
Planejamento de Tags . . . 3-1
Crie um Tipo de Dados Definidos Pelo Usuário . . . 3-6
Notas: . . . 3-8
Criação de um Tag . . . 3-8
Criação de Tags Usando o Microsoft
®Excel
®. . . 3-9
Capítulo 4
Projeto de um Controle
Quando Usar Este Procedimento . . . 4-1
Como Usar Este Procedimento. . . 4-1
Ramificação de Seleção . . . 4-13
Ramificação Simultânea. . . 4-14
Conexão para uma Etapa Anterior . . . 4-16
Adição de Ações para Cada Etapa. . . 4-17
Como Você Quer Usar a Ação? . . . 4-17
Utilização de uma Ação Não Booleana . . . 4-17
Utilização de uma Ação Booleana. . . 4-18
Estrutura SFC_ACTION . . . 4-19
Descrição de Cada Ação em Pseudocódigo . . . 4-20
Seleção de um Qualificador para uma Ação . . . 4-21
Definição das Condições de Transição . . . 4-22
Tag de Transição . . . 4-24
Como Você Quer Programar a Transição? . . . 4-24
Utilização de uma Expressão BOOL . . . 4-24
Chamar uma Sub-rotina. . . 4-25
Transição Após um Tempo Específico. . . 4-26
Desenergização de um Dispositivo ao Final de uma Etapa . . . 4-29
Escolha uma Opção de Última Varredura.. . . 4-29
Use a Opção Don’t Scan . . . 4-31
Uso da Opção de Reset Programado . . . 4-31
Uso da Opção de Reset Automático. . . 4-33
Manter Algo Energizado seguindo Passo a Passo . . . 4-35
Como Você Quer Controlar o Dispositivo?. . . 4-35
Use uma Ramificação Simultânea . . . 4-36
Como Armazenar e Resetar uma Ação. . . 4-36
Uso de Uma Etapa Grande . . . 4-38
Finalização do SFC. . . 4-39
Ao Final do SFC, O Que Deseja Fazer?. . . 4-39
Uso do Elemento Stop . . . 4-39
Reinicie (Reset) o SFC . . . 4-40
Estrutura SFC_STOP . . . 4-41
Encadeamento de um SFC . . . 4-42
Passagem de Parâmetros . . . 4-43
Configuração ao Retornar para OS/JSR. . . 4-43
Pausa ou Resete de um SFC . . . 4-44
Diagramas de Execução. . . 4-44
Capítulo 5
Programação de um Controle
Seqüencial de Funções
Quando Usar Este Procedimento . . . 5-1
Antes de Usar Este Procedimento . . . 5-1
Como Usar Este Procedimento. . . 5-1
Adicione um Elemento SFC . . . 5-2
Adição e Conexão Manual de Elementos. . . 5-2
Adição e Conexão Automática de Elementos . . . 5-3
Arrastar e Soltar os Elementos . . . 5-3
Criação de uma Ramificação Simultânea. . . 5-4
Início de uma Ramificação Simultânea . . . 5-4
Finalização de uma Ramificação Simultânea . . . 5-4
Inicialização de uma Ramificação de Seleção . . . 5-5
Finalização de uma Ramificação de Seleção . . . 5-6
Defina as Prioridades de uma Ramificação de Seleção. . . 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
Renomeação de uma Etapa . . . 5-10
Configuração de uma Etapa. . . 5-10
Atribuição de um Tempo de Pré-programado para
uma Etapa . . . 5-10
Configure os Alarmes para uma Etapa . . . 5-11
Uso de uma Expressão para Calcular um Tempo . . . 5-11
Renomeação de uma Transição . . . 5-13
Programação de uma Transição. . . 5-13
Inserir uma Expressão BOOL . . . 5-13
Chame uma Sub-rotina . . . 5-14
Adição de uma Ação . . . 5-15
Renomeação de uma Ação. . . 5-15
Configuração de uma Ação . . . 5-16
Alteração do Qualificador de uma Ação. . . 5-16
Cálculo de um Tempo Pré-programado no Tempo de
Execução . . . 5-16
Indicação de uma Ação como uma Ação Booleana. . . 5-17
Programação de uma Ação . . . 5-18
Inserção do Texto Estruturado . . . 5-18
Chame uma Sub-rotina . . . 5-19
Atribuição da Seqüência de Execução de Ações . . . 5-20
Documentação do SFC . . . 5-21
Adição de Comentários do Texto Estruturado . . . 5-21
Adição de uma Descrição do Tag . . . 5-22
Adição de uma Caixa de Texto . . . 5-23
Mostrar ou Esconder as Caixas de Textos ou Descrições de Tag . . 5-24
Mostrar ou Esconder as Caixas de Textos ou Descrições
de Tag . . . 5-24
Esconder uma Descrição Individual de Tag. . . 5-24
Configuração da Execução do SFC. . . 5-26
Verificação da Rotina . . . 5-26
Uso dos operadores bitwise. . . 6-10
Determinação da seqüência de execução . . . 6-11
Instruções . . . 6-11
Construções . . . 6-12
IF...THEN . . . 6-13
CASE...OF . . . 6-17
FOR...DO. . . 6-20
WHILE...DO . . . 6-23
REPEAT...UNTIL. . . 6-26
Comentários . . . 6-29
Capítulo 7
Programação de um Diagrama
do Bloco de Funções
Quando Usar Este Procedimento . . . 7-1
Antes de Usar Este Procedimento . . . 7-1
Como Usar Este Procedimento. . . 7-1
Identificação das Planilhas para a Rotina . . . 7-2
Seleção dos Elementos do Bloco de Funções . . . 7-3
Seleção de um Nome de Tag para um Elemento . . . 7-3
Definição da Seqüência de Execução . . . 7-5
Retenção de Dados . . . 7-5
Seqüência de Execução . . . 7-7
Determinação de uma Malha. . . 7-8
Determinação do Fluxo de Dados Entre Dois Blocos . . . 7-9
Criação de um Atraso de Varredura . . . 7-10
Resumo. . . 7-11
Identificação de Todos os Conectores . . . 7-11
Definição do Controle de Programação/Operação . . . 7-12
Adição de uma Planilha . . . 7-16
Adição de um Elemento do Bloco de Funções . . . 7-16
Conexão de Elementos . . . 7-18
Mostrar ou Esconder um Pino . . . 7-18
Conexão de Elementos Juntos . . . 7-19
Marcação de uma Conexão com o Indicador Considerar
Dados Disponíveis. . . 7-19
Atribuição de um Tag . . . 7-20
Criação e Atribuição de um Tag Novo. . . 7-20
Renomeação do Tag de um Bloco de Funções . . . 7-21
Atribuição de um Tag Existente . . . 7-21
Atribuição de um Valor Imediato (Constante) . . . 7-22
Uso de uma IREF . . . 7-22
Inserção de um Valor no Tag de um Bloco . . . 7-22
Conexão de Blocos com um OCON e ICON . . . 7-23
Adição de um OCON . . . 7-23
Adição de um ICON . . . 7-23
Verificação da Rotina . . . 7-24
Como Usar Este Procedimento. . . 8-1
Definições. . . 8-2
Instrução. . . 8-2
Ramificação . . . 8-2
Condição de Linha. . . 8-3
Escrita da Lógica Ladder . . . 8-5
Seleção das Instruções Exigidas . . . 8-5
Organização das Instruções de Entrada . . . 8-6
Organização das Instruções de Saída . . . 8-7
Seleção de um Nome de Tag para um Operando . . . 8-7
Inserção da Lógica Ladder. . . 8-9
Acréscimo de um Elemento ao Local do Curso . . . 8-9
Arrastar e Soltar um Elemento . . . 8-10
Atribuição de Operandos. . . 8-10
Criação e Atribuição de um Tag Novo. . . 8-10
Seleção de um Nome ou de um Tag Existente . . . 8-11
Arrastar um Tag da Janela de Tags . . . 8-12
Atribuição de um Valor Imediato (Constante). . . 8-12
Verificação da Rotina . . . 8-12
Capítulo 9
Acesso aos Valores do
Sistema
Quando Usar Este Procedimento . . . 9-1
Como Usar Este Procedimentoo. . . 9-1
Monitoração de Flags de Status. . . 9-1
Obtenção e Energização de Dados do Sistema . . . 9-3
Determinação das Informações sobre a Memória do Controlador . . 9-6
Obtenção das Informações sobre a Memória do Controlador . . 9-7
Seleção das Informações sobre a Memória Desejada. . . 9-8
Conversão de INTs em DINT . . . 9-9
Capítulo 10
Atribuição de Aliases/
Símbolos
Tags com Aliases/Símbolos . . . 10-1
Exibição das Informações de Alias/Símbolo . . . 10-2
Atribuição de um Alias/Símbolo . . . 10-2
Capítulo 11
Atribuição de um Endereço
Quando Atribuir um Endereço Indireto. . . 11-1
Expressões . . . 11-3
Download de um Projeto para o Controlador . . . 13-3
Seleção de um Modo
para o Controlador. . . 13-5
Correção de Falhas Graves . . . 13-6
Salvar Suas Alterações Online . . . 13-6
Capítulo 14
Comunicação com Outro
Controlador
Quando Usar Este Procedimento . . . 14-1
Como Usar Este Procedimento. . . 14-1
Produção e Consumo de um Tag . . . 14-1
O Que Você Precisa Fazer . . . 14-2
Organização de Tags para Dados Produzidos ou Consumidos 14-3
Produção de um Tag . . . 14-4
Consumo de um Tag Produzido. . . 14-5
Produção de Inteiros para um Controlador CLP-5C. . . 14-6
Produção de REALs para um Controlador CLP-5C . . . 14-7
Consumo de Inteiros de um Controlador CLP-5C . . . 14-8
Ajuste para Limitações de Largura da Banda . . . 14-9
Envio de uma Mensagem. . . 14-11
Envio de uma Mensagem para Controladores Múltiplos. . . 14-13
Definição da Configuração da E/S. . . 14-14
Definição dos Elementos Source e Destination. . . 14-15
Criação do Tipo de Dados
MESSAGE_CONFIGURATION. . . 14-16
Criação do Array de Configuração . . . 14-16
Obtenção do Tamanho do Array Local . . . 14-19
Carregamento das Propriedades para um Controlador . . . 14-20
Configuração da Mensagem . . . 14-21
Etapa para o Próximo Controlador . . . 14-22
Reinício da Sequência . . . 14-22
Capítulo 15
Produção de uma Matriz
Grande
Quando Usar Este Procedimento . . . 15-1
Produção de uma Matriz Grande . . . 15-2
Capítulo 16
Comunicação com um
Dispositivo ASCII
Quando Usar Este Procedimento . . . 16-1
Como Usar Este Procedimento. . . 16-1
Conexão do Dispositivo ASCII. . . 16-2
Configuração da Porta Serial . . . 16-3
Configuração do Protocolo do Usuário . . . 16-5
Criação de Tipos de Dados do String . . . 16-7
Leitura de Caracteres do Dispositivo . . . 16-8
Envio de Caracteres para o Dispositivo . . . 16-13
Inserção dos Caracteres ASCII . . . 16-18
Capítulo 17
Caracteres do Processo ASCII
Quando Usar Este Procedimento . . . 17-1
Como Usar Este Procedimento. . . 17-1
Separação de um Produto de um Código de Barras. . . 17-2
Exame de um Código de Barras . . . 17-4
Criação do Tipo de Dados PRODUCT_INFO. . . 17-5
Busca de Caracteres . . . 17-5
Identificação do Número da Linha. . . 17-7
Rejeição de Caracteres Ruins. . . 17-8
Inserção dos IDs de Produto e Números da Linha . . . 17-8
Verificação de Caracteres do Código de Barras . . . 17-9
Conversão de um Valor . . . 17-11
Decodificação de uma Mensagem ASCII . . . 17-13
Construção de um String . . . 17-17
Capítulo 18
Elementos da Lógica Force
Quando Usar Este Procedimento . . . 18-1
Como Usar Este Procedimento. . . 18-1
Precauções . . . 18-2
Habilitar Forces . . . 18-2
Desabilitar ou Remover um Force . . . 18-3
Verificar o Status do Force . . . 18-4
Barra de Ferramentas On-line . . . 18-4
LED FORCE. . . 18-5
Instrução GSV . . . 18-5
O Que Forçar . . . 18-6
Quando Usar um Force de E/S . . . 18-6
Forçar um Valor de Entrada . . . 18-7
Forçar um Valor de Saída . . . 18-7
Adicionar um force de E/S . . . 18-8
Quando Usar Step Through . . . 18-9
Uso de uma Opção Step Through para uma Transição ou
Force de um Caminho . . . 18-9
Quando Usar um Force de SFC . . . 18-9
Force de uma Transição . . . 18-9
Force de um Caminho Simultâneo . . . 18-10
Adição de um Force SFC. . . 18-11
Remoção ou Desabilitação de Forces . . . 18-12
Capítulo 19
Desenvolvimento de uma
Rotina de Falha
Quando Usar Este Procedimento . . . 19-1
Como Usar Este Procedimento. . . 19-1
Crie do Tipo de Dados FAULTRECORD. . . 19-2
Criação de um Rotina de Falha . . . 19-3
Remova de uma Falha Grave. . . 19-4
Obtenção do Tipo e Código de Falha . . . 19-4
Verificação para uma Falha Específica . . . 19-5
Remoção de Falhas . . . 19-5
Remova de uma Falha Grave Durante a Pré-varredura . . . 19-6
Identificação Quando o Controlador está em Pré-varredura . . 19-6
Obtenção do Tipo e Código de Falha . . . 19-7
Verificação para uma Falha Específica . . . 19-8
Remoção de Falhas . . . 19-9
Teste uma Rotina de Falha . . . 19-10
Capítulo 20
Criação de uma Falha Grave
Definida Pelo Usuário
Quando Usar este Procedimento . . . 20-1
Criação de uma Falha Grave Definida pelo Usuário . . . 20-1
Capítulo 21
Monitoração de Falhas de
Advertência
Quando Usar Este Procedimento . . . 21-1
Monitoração de Falhas de Advertência . . . 21-1
Capítulo 22
Desenvolvimento de uma
Rotina de Energização
Quando Usar Este Procedimento . . . 22-1
Desenvolvimento de uma Rotina de Energização . . . 22-1
Capítulo 23
Armazenamento e
Carregamento de um Projeto
Usando Memória Não Volátil
Quando Usar Este Procedimento . . . 23-1
Como Usar Este Procedimento. . . 23-2
Seleção de um Controlador Que Possua Memória Não Volátil. . . . 23-3
Cuidados com o Cartão 1784-CF64 Industrial CompactFlash . . . . 23-4
Seleção de Quando Carregar uma Imagem. . . 23-5
Armazenamento de um Projeto. . . 23-5
Configuração da Operação de Armazenamento . . . 23-6
Armazenamento do Projeto . . . 23-7
Armazenamento do Projeto Online . . . 23-7
Carregamento de um Projeto. . . 23-8
Verificação de um Carregamento . . . 23-10
Limpeza da Memória Não Volátil . . . 23-11
Verifique a Opção de Carregamento de Imagem Atual. . . 23-11
Alteração da Opção de Carregamento de Imagem . . . 23-11
Exclusão do Projeto a Partir do Controlador. . . 23-12
Armazenamento da Imagem Vazia . . . 23-12
Capítulo 24
Proteção de um Projeto
Quando Usar Este Procedimento . . . 24-1
Uso da Proteção de Fonte da Rotina . . . 24-1
Seleção do Nível de Proteção para Cada Rotina . . . 24-4
Seleção de um Número de Chaves Source . . . 24-4
Definição da Chave ou Chaves Source. . . 24-5
Seleção de um Local de Arquivo Para Armazenar as
Chaves Source . . . 24-5
Ativação do Recurso de Proteção da Fonte do RSLogix 5000 . 24-5
Criação de um Arquivo para as Chaves Source . . . 24-6
Proteção de uma Rotina com uma Chave Source . . . 24-7
Remoção do Acesso para uma Rotina Protegida . . . 24-8
Desabilitação da Proteção da Fonte da Rotina. . . 24-8
Obtenção do Acesso a uma Rotina Protegida . . . 24-9
Uso do Security Server RSI para Proteger um Projeto. . . 24-11
Instalação do Software RSI Security Server . . . 24-11
Configuração de DCOM . . . 24-11
Habilitação do Servidor de Segurança para o Software
RSLogix 5000 . . . 24-12
Importação do Arquivos RSLogix5000Security.BAK . . . 24-12
Definição de Ações Globais para seus Usuários . . . 24-13
Definição das Ações de Projeto para seus Usuários . . . 24-14
Adição de Usuários . . . 24-17
Adição de Grupos de Usuário. . . 24-17
Atribuição do Acesso Global ao Software RSLogix 5000 . . . . 24-17
Atribuição de Ações de Projetos para o New RSLogix 5000
Projects. . . 24-18
Segurança de um Projeto RSLogix 5000. . . 24-19
Atribuição do Acesso a um Projeto RSLogix 5000 . . . 24-19
Atualização do Software RSLogix 5000, Se Necessário. . . 24-20
Apêndice A
Códigos de Falha
Quando Usar Este Apêndice . . . A-1
Códigos de Falhas Graves . . . A-1
Códigos de Falha de Advertência . . . A-3
Apêndice B
Glossário
Índice
Códigos do Caracter ASCII
Gerenciamento dos Arquivos de Projeto
Criação de um Arquivo
de Projeto
Antes de você programar um controlador Logix5000, você deve criar um
projeto:
1. Inicie o software RSLogix 5000™.
2. No menu Arquivo selecione Novo.
3. Selecione o tipo do controlador.
4. Digite um nome para o controlador.
5. Digite uma descrição das operações que o controlador desempenha (opcional).
6. Selecione o tipo do chassi (número de ranhuras) que o controlador
contém (não aplicável para alguns controladores). 42194 3. 4. 5. 6. 7. 8.
42371
Armazenamento das
Mudanças
Assim que você criar a lógica e fizer as mudanças de configuração, salve o projeto.
•Nomeie download para o controlador, enquanto a documentação (descrições, comentários de linha) não são descarregadas para o controlador.
•Para mudar o nome, tamanho do chassi ou número da ranhura do Quando você cria um projeto, o nome do arquivo do
projeto é o mesmo do controlador.
nome do controlador
organizador do controlador
Para: Faça isto:
salvar suas mudanças No menu File, selecione Save. fazer uma cópia do projeto
aberto, mas mantendo o nome do controlador existente
A. No menu File, selecione Save As .
B. Digite um nome para o arquivo do projeto. Use sublinhas [ _ ] no lugar dos espaços.
C. Clique em Save. fazer uma cópia do projeto e
atribuir um nome diferente para o controlador
A. No menu File, selecione Save As .
B. Digite um nome para o arquivo do projeto. Use sublinhas [ _ ] no lugar dos espaços.
C. Clique em Save.
D. No organizador do controlador, clique com o botão direito sobre a pasta
name_of_controller e selecione Properties.
E. Digite um novo nome para o controlador. F. Clique em OK.
a. No organizador do controlador, clique com o botão direito sobre a pasta Controller name_of_controller e selecione Properties. b. Mude as informações requisitadas.
Organização de Tarefas, Programas e Rotinas
Quando Usar Este
Procedimento
Use esse procedimento para:
•definir a organização geral de seu projeto
•escolher uma linguagem de programação para cada função principal da máquina ou processo.
•criar tarefas, programas e rotinas nos quais você programe a lógica
Antes de Começar
Para determinar quais linguagens de programação estão instaladas na sua versão do software RSLogix 5000:1. Inicie o software RSLogix 5000.
2. No menu Help, selecione About RSLogix 5000.
Para adicionar uma linguagem de programação, consulte FlexLogix Selection Guide, publicação 1756-SG001.
Como Usar Este
Procedimento
Para organizar o projeto em tarefas, programas e rotinas:
Revise as Definições
Planejamento de Tarefas do Projeto Uso do Organizador do Controlador Criação de uma Tarefa Periódica Criação de um Programa Criação de uma Rotina
Configuração de uma Rotina como uma Rotina Principal Verificação do Projeto
Definições
Antes de usar os procedimentos descritos neste capítulo, familiarize-se com as definições a seguir.Tarefa
Uma tarefa fornece informações de programação e prioridade para um conjunto de um ou mais programas executados com base em critérios específicos. Uma vez que uma tarefa é acionada (ativada), todos os programas atribuídos (seqüenciados) às tarefas são executados na ordem em que são mostrados no organizador do controlador.
Tarefa Contínua
A tarefa contínua é executada em segundo plano. Qualquer tempo de CPU não alocado para outras operações (como movimento, comunicações e tarefas periódicas) é usado para executar os programas na tarefa contínua.
•A tarefa contínua é executada a todo o tempo. Quando a tarefa contínua conclui uma varredura completa, ela reinicia imediatamente.
•Um projeto não requer uma tarefa contínua. Se usada, deve haver apenas uma tarefa contínua.
Tarefa Periódica
Uma tarefa periódica realiza uma função em uma taxa específica.
•Qualquer que seja o tempo para a tarefa periódica expirar, a tarefa
Tarefa Contínua Programa Tarefa Periódica Rotina Principal Rotina Tarefa
•Você pode configurar o período de tempo de 1 ms a 2000 s. O padrão é 10 ms.
É possível criar até 32 tarefas periódicas 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 múltiplos 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 execução de um projeto com três tarefas.
Programa
EXEMPLO Ordem de execução da tarefa para um projeto com duas tarefas periódicas e uma tarefa contínua
Tarefa: Tipo de Tarefa: Nível de Prioridade:
Tempo de Execução:
1 periódica de 20 ms 5 2 ms
2 periódica de 10 ms 10 4 ms
3 contínua nenhum (mais baixo) 24 ms
Legenda:
A tarefa é executada.
A tarefa é interrompida (suspensa).
Tarefa 1
Tarefa 2
Tarefa 3
5 10 15 20 25 30 35 40 45 50
Rotina
As rotinas fornecem o código executável para o projeto em um controlador (semelhante a um arquivo de programa em um controlador CLP ou SLC). Cada rotina usa uma linguagem de programação específica, como a lógica 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 instrução JSR (Salto para Sub-rotina).
Planejamento de Tarefas do
Projeto
Para identificar as tarefas, programas e rotinas para sua lógica, tome as decisões a seguir:
Essas decisões, normalmente, são interativas. Após tomar algumas decisões iniciais, revise as decisões para continuar a desenvolver o projeto.
Definição das Funções do Projeto Atribuição de Cada Função a uma Tarefa
Definição das Funções do Projeto
Uma das primeiras decisões no desenvolvimento de um projeto Logix5000 é definir as funções (operações) da máquina ou processo.
1. Identifique as funções principais (operações) da máquina ou processo.
2. Para cada função, escolha a linguagem de programação que melhor se ajusta às funções.
• Isso pode requerer que você revise a lista de funções para obter vantagens de diferentes linguagens.
• Use qualquer combinação de linguagens no mesmo projeto.
Em geral, se a função ou grupo de funções representar: Use esta linguagem:
execução contínua ou paralela de múltiplas operações (não seqüenciadas) lógica ladder operações baseadas em bit ou booleanos
operações lógicas complexas
processamento de comunicação e mensagem intertravamento de máquina
operações em que a equipe de serviço e manutenção pode ter que interpretar a fim de localizar as falhas da máquina ou processo.
processo contínuo e controle do inversor diagrama do bloco de funções controle da malha
cálculos em fluxo de circuito
gerenciamento de múltiplas operações em alto nível Use um controle seqüencial de funções (SFC)
seqüências repetitivas de operações processo por batelada
controle de posicionamento usando texto estruturado estado de operações da máquina
operações matemáticas complexas texto estruturado matriz especializada ou tabela de processamento de malha
Atribuição de Cada Função a uma Tarefa
Uma vez definidas as funções (operações) do projeto, use as diferentes opções de tarefas para iniciar a execução de cada função.
1. Determine o tempo de disparo para cada função (quando a função deve executar).
2. Com base no tempo de disparo da função, escolha uma tarefa em que
executar a função:
Se uma função executar: Então:
em uma taxa constante (p. ex.: executa uma malha PID a cada 100 ms)
atribua a função a uma rotina em uma tarefa periódica
muito rápido
quando um evento específico ou conjunto de condições ocorrer
atribua a função a uma rotina nas tarefas contínuas (isto é, MainTask)
a todo o tempo
quando uma falha ocorrer não for grave o bastante para que o controlador desligue
atribua a função a uma rotina de falha Consulte “Desenvolvimento de uma Rotina de Falha” na página 19-1.
Uso do Organizador do
Controlador
O organizador do controlador fornece uma característica geral de um projeto. À medida que desenvolver o projeto, é necessário realizar as seguintes ações comuns:
Abertura ou Fechamento de uma Pasta
O organizador do controlador armazena os diferentes componentes de um projeto em pastas. Cada pasta pode conter outras pastas.
Abertura ou Fechamento de uma Pasta Abertura de uma Rotina
Para fechar uma pasta e esconder seus conteúdos (desfazer), faça o seguinte:
• Clique duas vezes na pasta.
• Selecione a pasta e pressione a tecla ←.
• Clique no sinal de –.
Para abrir uma pasta e exibir seus conteúdos (expandir), faça o seguinte:
• Clique duas vezes na pasta.
• Selecione a pasta e pressione a tecla →.
Abertura de uma Rotina
Se uma rotina falhar ao abrir, verifique a linha de status do software RSLogix 5000:
Para abrir uma rotina, clique duas vezes na rotina. Se a rotina estiver desabilitada, não é possível abri-la.
Se a linha de status diz: Então:
“Failed to open the routine - editor not installed”
O editor para a linguagem da rotina não está instalado. Para uma lista de pacotes de software disponível, consulte: FlexLogix Selection Guide, publicação 1756-SG001
“Source not available” Para abrir a rotina, é necessário sua chave source. Consulte “Uso da Proteção de Fonte da Rotina” na página 24-1.
É possível:
• executar a rotina
• exibir as propriedades da rotina
• identificar as referências cruzadas para a lógica na rotina
IMPORTANTE Se a fonte da rotina não estiver disponível, não exporte
projeto.
• Uma exportação de arquivo (.L5K) contém apenas rotinas nas quais o código fonte estiver disponível.
• Se você exportar um projeto no qual o código fonte não estiver disponível para todas as rotinas, você não estará capacitado a restaurar o projeto inteiro.
Criação de uma Tarefa
Periódica
Uma tarefa periódica realiza uma função ou funções em uma taxa específica.
1. No organizador do controlador, clique com o botão direito na pasta Tasks e escolha New Task.
ATENÇÃO
!
Certifique-se de que o período de tempo seja maior do que a soma dos tempos de execução de todos os programas definidos para a tarefa. Se o controlador detectar que a inicialização de uma tarefa periódica ocorre para uma tarefa que já está operando, uma falha de advertência ocorre.
1.
2.
3. 4.
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
Criação de um Programa
Cada tarefa requer pelo menos um programa. É possível criar múltiplos programas para uma tarefa.1. No organizador do controlador, clique com o botão direito na tarefa que
executará o programa e escolha New Program.
2. Na caixa de texto Name, insira um nome para o programa.
3. Selecione
1.
Criação de uma Rotina
Cada programa requer pelo menos uma rotina. Use uma rotina para executar a lógica.1. No organizador do controlador, clique com o botão direito no programa que executará a rotina e selecione New Routine.
2. Na caixa de texto Name, insira um nome para a rotina.
3. Na lista Type, escolha a linguagem de programação para a rotina
4. Selecione
1.
2.
Configuração de uma
Rotina como uma Rotina
Principal
Cada programa requer uma rotina principal. A rotina principal executa sempre que o programa executa.
1. No organizador do controlador, clique com o botão direito no
programa que executará a rotina e selecione Properties.
2. Clique na guia Configuration.
3. Na lista Main, escolha o nome da rotina.
4. Selecione
Verificação 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 descrição na janela Results. c. Vá para a etapa 1.
3. Para fechar a janela Results, pressione [Alt] + [1].
1.
3. 2.
Organização de Tags
Planejamento de Tags
Os controladores Logix5000 armazenam os dados em tags (em contraste com arquivos de dados fixos que são endereçados numericamente). Com os tags, você pode•organizar os seus dados para refletir suas máquinas
•documentar (através dos nomes de tags) suas aplicações bem como desenvolvê-las
Quando você cria um tag, você atribui as seguintes propriedades:
A tabela seguinte esboça os tipos mais comuns de dados e quando usar cada um.
Tabela 3.1 Propriedades do Tag
Propriedade: Descrição:
escopo define quais rotinas podem acessar os dados
nome identifica os dados (Tags com diferentes usos podem ter o mesmo nome)
tipo de dados define a organização dos dados, bem como um bit, números inteiros, ou números de ponto flutuante
Tabela 3.2 Tipos de Dados
Para: Selecione:
dispositivo analógico em modo de ponto flutuante REAL dispositivo analógico em modo de número inteiro (para amostras de taxas muito rápidas)
INT
Caracteres ASCII grupo
bit BOOL
Counter COUNTER
ponto de E/S digital BOOL
número de ponto flutuante REAL
Utilize a tabela seguinte para organizar seus dados:
Os seguintes exemplos mostram os diferentes níveis nos quais você pode organizar seus dados:
•Tags de um único elemento, na página 3-3
•Matriz de dimensão única, na página 3-3
•Matriz de duas dimensões, na página 3-4
•Tipo de dados definidos pelo usuário que armazena uma receita, na página 3-5
•Um tipo de dados definido pelo usuário que armazene os dados que são necessários para executar uma máquina, na página 3-6
Para: Utilize Referência
um grupo de atributos comuns que são usados por mais de uma máquina
tipo de dados definido pelo usuário
Consulte “Crie um Tipo de Dados Definidos Pelo Usuário” na página 3-6.
um grupo de dados com o mesmo tipo de dados
matriz Consulte “Criação de um Tag” na página 3-8.
valor único tag de um único elemento dispositivo de E/S
EXEMPLO Tags de um único elemento dispositivo de E/S digital dispositivo de E/S analógica valor inteiro bit de armazenamento Contador temporizador 42364
EXEMPLO Matriz de dimensão única
Neste exemplo, uma instrução de temporizador simples realiza a contagem do tempo da duração de diversas etapas. Cada etapa requer um valor pré-selecionado diferente. Como todos os valores têm o mesmo tipo de dados (DINTs), uma matriz é usada.
Para expandir a matriz e mostrar seus elementos, clique no sinal de +.
Para desfazer uma matriz e esconder seus elementos, clique no sinal – .
Esta matriz contém seis elementos do tipo de dados DINT.
EXEMPLO Matriz de duas dimensões
Uma furadeira pode fazer de um a cinco furos em um livro. A máquina requer um valor para a posição de cada furo, desde a borda do livro. Para organizar os valores em configurações, uma matriz de duas dimensões é usada. O primeiro subscrito indica o furo para o qual o valor corresponde e o segundo subscrito indica quantos furos serão feitos (de um a cinco).
Na janela Tags, os elementos estão na ordem descrita abaixo. subscrito da segunda dimensão Descrição
0 1 2 3 4 5
subscrito da primeira dimensão
0
1 1.5 2.5 1.25 1.25 1.25 Posição do primeiro furo a partir da borda do livro 2 8.0 5.5 3.5 3.5 Posição do segundo furo a partir da borda do livro 3 9.75 7.5 5.5 Posição do terceiro furo a partir da borda do livro
4 9.75 7.5 Posição do quarto furo a partir da borda do livro
5 9.75 Posição do quinto furo a partir da borda do livro
42367 A dimensão mais à direita incrementa em seu valor máximo e recomeça.
Esta matriz contém uma grade de elementos de duas dimensões, de seis em seis elementos.
Quando a dimensão mais à direita recomeça, a dimensão à esquerda incrementa em um.
EXEMPLO Tipo de dados definidos pelo usuário que armazena uma receita
Em um sistema de vários 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 usuário é usado.
Uma matriz que é baseada neste tipo de dados será semelhante a:
Nome (do tipo de dados): TANK
Nome do Membro Tipo de Dados
temp REAL deadband REAL step DINT step_time TIMER preset DINT[6] mix BOOL 42368 matriz de receitas primeira receita
Esta matriz contém três elementos do tipo de dados TANK.
Crie um Tipo de Dados
Definidos Pelo Usuário
Para criar um tipo de dados definido pelo usuário:
EXEMPLO Um tipo de dados definido pelo usuário que armazene os dados que são necessários para executar
uma máquina
Como diversas estações de perfuração requisitam a seguinte combinação de dados, um tipo de dados definido pelo usuário é criado.
Uma matriz que é baseada neste tipo de dados será semelhante a:
Nome (do tipo de dados): DRILL_STATION
Nome do Membro Tipo de Dados
part_advance BOOL hole_sequence CONTROL tipo DINT hole_position REAL profundidade REAL total_depth REAL 42583 matriz de dois furos
primeiro furo
Esta matriz contém quatro elementos do tipo de dados DRILL_STATION.
1. Clique com o botão direito do mouse em User-Defined e selecione New Data Type.
2. Insira um nome para o tipo de dados.
3. Insira uma descrição (opcional).
42195
42196
2. 3.
x é o número de elementos na matriz.
6. Para mostrar o(s) valor (es) do membro em um estilo diferente (radical), selecione o estilo.
7. Insira uma descrição para o membro (opcional).
8. Clique em Apply.
9. Mais membros?
Notas:
•Se você incluir membros que representam dispositivos de E/S, a lógica 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 página 12-1.
•Ao usar os tipos de dados BOOL, SINT ou INT, coloque os membros que usam o mesmo tipo de dados em seqüência:
Criação de um Tag
Para criar um tag (incluindo uma matriz):1. A partir do menu Logic, selecione Edit Tags.
EXEMPLO Se o membro for uma matriz de seis DINTs, digite
DINT[6].
Se: Então:
Sim Repita as etapas 4. a 8. Não Clique em OK.
mais eficiente BOOL BOOL BOOL DINT DINT menos eficiente BOOL DINT BOOL DINT BOOL
2. Selecione um escopo para o tag:
3. Insira um nome para o controlador.
4. Insira o tipo de dados:
onde:
data_type é o tipo de dados que o tag ou matriz armazena. Consulte Tabela 3.2 a página 3-1.
x é o número de elementos na primeira dimensão.
42350
2.
3. 4. 5.
Se você for usar o tag: Então selecione:
em mais de um programa dentro do projeto
name_of_controller
(controlador)
como um produtor ou como um consumidor
em uma mensagem
em somente um programa dentro do projeto
programa que usará o tag
Se o tag for: Então digite:
não for uma matriz (arquivo) data_type
for uma dimensão de matriz data_type[x]
for matriz de duas dimensões data_type[x,y]
Para criar tags usando o Excel:
1. Abra o projeto do RSLogix 5000.
2. Crie diversos tags. (Isto ajuda a formatar a planilha eletrônica do Excel).
3. A partir do menu Tools, selecione Export Tags.
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. 42361 Os tags são armazenados nesta pasta. 4. 5.
7. No software Microsoft Excel, abra o arquivo de exportação.
8. Insira TAG
9. Identifique o uso (escopo) do tag:
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 contém os tags e clique Import.
Os tags são importados para o projeto. A seção inferior da janela do RSLogix 5000 mostra os resultados.
TYPE SCOPE NAME DESCRIPTION DATATYPE
TAG in_cycle DINT
TYPE SCOPE NAME DESCRIPTION DATATYPE TAG MainProgram conveyor_alarm BOOL
TAG MainProgram conveyor_on BOOL
TAG MainProgram drill_1 DRILL_STATION
TAG MainProgram hole_position REAL[6,6]
TAG MainProgram machine_on BOOL
8. 9. 10. 11.
Se o uso (escopo) for: Então:
do controlador Deixe esta célula vazia. do programa Insira o nome do programa
Se você planeja usar tags produzidos e consumidos, você deve seguir as orientações adicionais, à medida em que organiza seus tags.
Consulte “Comunicação com Outro Controlador” na página 14-1.
•Os seguintes tipos de dados inteiros também estão disponíveis:
– SINT (inteiro de 8 bits) – INT (inteiro de 16 bits)
Tipicamente, as instruções convertem valores SINT ou INT para um
tipo de dados otimizados (geralmente um valor DINT ou REAL) durante a operação. Como isto requer tempo e memória adicionais, minimize o uso de tipo de dados SINT e INT.
Projeto de um Controle Seqüencial de Funçõe
Quando Usar Este
Procedimento
Use esse procedimento para projetar um controle seqüencial de
funções (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 especificação funcional para seu sistema
•programar e controlar o sistema como uma série de etapas e transições Ao usar um SFC para especificar o processo, você tem as vantagens:
•Como um SFC é uma representação gráfica do processo, ele é mais fácil organizar e ler que uma versão de texto. Além disso, o software RSLogix 5000 permite:
– adicionar observações para esclarecer as etapas ou capturar
informações importantes sobre o seu uso mais tarde
– imprimir o SFC para compartilhar as informações com outros indivíduos
•Como os controladores Logix5000 suportam SFCs, não há necessidade de entrar na especificação uma segunda vez. Você programa o sistema enquanto o especifica.
Ao usar um SFC para programar seu processo, você tem as vantagens:
•divisão gráfica de processos em suas principais partes de lógica (etapas)
•execução repetida mais rápida de partes individuais da lógica
•display de tela mais simples
•tempo reduzido para projetar e depurar o programa
•localização de falhas mais rápida e mais fácil
•acesso direto ao ponto na lógica em que a máquina falhou
•atualizações e aperfeiçoamentos fáceis
O Que é um Controle
Seqüencial de Funções?
Um controle seqüencial de funções (SFC) é semelhante a um fluxograma. Ele usa as etapas e transições para realizar operações e ações específicas. Figura 4.1 e Figura 4.2 são exemplos que mostram os elementos de um SFC:
Figura 4.1 Exemplo de SFC
Uma etapa representa uma função principal do processo. Ela contém as ações que ocorrem em um tempo específico, fase ou estação.
Uma ação é uma das funções que a etapa realiza.
Uma ramificação simultânea executa mais de 1 etapa ao mesmo tempo.
Uma transição é uma condição verdadeira ou falsa que informa o SFC quando ir para a próxima etapa.
(continuação na próxima página)
Um qualificador determina quando uma ação começa e quando ela pára.
Mostra ou esconde uma ação.
Figura 4.2 Exemplo de SFC (continuação da página anterior)
Uma caixa de texto permite a adição de texto descritivo ou observações ao SFC.
Uma ramificação de seleção escolhe entre diferentes caminhos de execução.
Como Projetar um SFC:
Características Gerais
Para projetar um SFC, você executa as tarefas:
As seções restantes deste capítulo descrevem em detalhes como realizar cada tarefa.
Definição de Tarefas
Seleção do Modo de Execução do SFC Definição das Etapas do Processo Organização de Etapas
Adição de Ações para Cada Etapa
Descrição de Cada Ação em Pseudocódigo Seleção de um Qualificador para uma Ação Definição das Condições de Transição Transição Após um Tempo Específico
Desenergização de um Dispositivo ao Final de uma Etapa Manter Algo Energizado seguindo Passo a Passo
Finalização do SFC Encadeamento de um SFC
Configuração ao Retornar para OS/JSR Pausa ou Resete de um SFC
Definição de Tarefas
A primeira etapa no desenvolvimento de um SFC é separar a configuração e regulagem de dispositivos de comandos para esses dispositivos. Oscontroladores Logix5000 permitem a divisão do projeto em uma tarefa
contínua e em múltiplas tarefa periódicas.
1. Organize seu projeto de acordo com:
2. Para essas funções que ficam na tarefa periódica, agrupe as funções de acordo com as taxas de atualização semelhantes. Crie uma tarefa periódica para cada taxa de atualização.
Por exemplo, os dispositivos em 2 estados podem requerer atualizações mais rápidas que as malhas PID. Use tarefas periódicas separadas para cada um.
O exemplo a seguir mostra um projeto que usa duas tarefas periódicas para regular motores, válvulas e malhas de temperatura. O projeto usa um SFC para controlar o processo.
Essas funções: Vá aqui:
configurar e regular dispositivos tarefa periódica comandar um dispositivo para um estado
específico
SFC em tarefa contínua seqüenciar a execução do processo
EXEMPLO Definição de Tarefas
Essa tarefa (periódica) usa os diagramas do bloco de funções para ligar ou desligar os motores e abrir ou fechar as válvulas. O SFC em MainTask comanda o estado para cada dispositivo. Os diagramas do bloco de funções energizam e mantêm esse estado.
Essa tarefa (periódica) usa os diagramas do bloco de funções para configurar e regular as malhas de temperatura. O SFC em
MainTask comanda as temperaturas. Os diagramas do bloco
Seleção do Modo de
Execução do SFC
Para executar um SFC, configure-o como rotina principal para um programa ou chame-o como uma sub-rotina.
Se o SFC usa ações booleanas, outra lógica deve operar independente do SFC e monitorar os bits de status do SFC.
Definição das Etapas do
Processo
Uma etapa representa uma função principal de seu processo. Ela contém os eventos que ocorrem em um tempo particular, fase ou estação.
Uma transição termina uma etapa. A transição define as condições físicas que devem ocorrer ou alterar para ir para a etapa seguinte.
Siga Essas Orientações
Assim que definir as etapas do processo, siga essas orientações:
•Comece com etapas grandes e refine as etapas em diversas etapas.
Se: Então:
O SFC é apenas uma rotina no programa. Configure o SFC como rotina principal para o programa.
O SFC chama todas as outras rotinas do programa.
O programa requer que outras rotinas executem independente do SFC.
1. Configure uma outra rotina como rotina principal para o programa. 2. Use a rotina principal para chamar o
SFC como uma sub-rotina. O SFC usa as ações booleanas.
Etapa
COMBI-Uma etapa executa de forma contínua até a transição informar o controlador para ir para a etapa seguinte.
Transição
• Se for verdadeiro, vá para a etapa seguinte.
• Se for falso, repita a etapa anterior.
…e faça isso Ações Faça isto...
•Ao abrir uma rotina de SFC pela primeira vez, ela contém uma etapa e transição inicial. Use essa etapa para iniciar o processo.
•Para identificar uma etapa, procure uma alteração física no sistema, como por exemplo, uma nova parte que esteja em posição, uma temperatura alcançada, um tempo pré-programado alcançado ou uma seleção de resposta que ocorra. A etapa é às ações que substituem antes da alteração.
•Pare quando as etapas estiverem em incrementos significativos. Por exemplo: Remova Air_Flow Elec_Charg terceira etapa Transfer_In Remova Transfr_Out Pinte segunda etapa Pinte primeira etapa Paint_Flow Transfer_In Transfr_Out
Essa organização de etapas: É:
produce_solution provavelmente grande demais set_mode, close_outlet, set_temperature,
open_inlet_a, close_inlet_a, set_timer, reset_temperature, open_outlet, reset_mode
provavelmente pequena demais
preset_tank, add_ingredient_a, cook, drain provavelmente correta
etapa inicial
Estrutura SFC_STEP
Cada etapa usa um tag para fornecer as informações sobre a etapa. Acesse essas informações através da caixa de diálogo Step Properties ou pela guia Monitor Tags na janela Tags :
Se você quiser: Marque ou ener-gize esse membro:
Tipo de dados:
Detalhes:
determinar a quanto tempo a etapa foi ativada
(milissegundos)
T DINT Quando uma etapa se torna ativa, o valor do Temporizador (T) reseta e começa a contagem crescente em milissegundos. O temporizador continua a contagem crescente até a etapa ficar inativa, não importando o valor de Preset (PRE).
sinalizar quando a etapa foi ativada para um comprimento de tempo específico
(milissegundos)
PRE DINT Insira o tempo no membro Preset (PRE). Quando o Temporizador (T) alcançar o valor de Preset, o bit Done (DN) acende e permanece energizado até a etapa se tornar ativa novamente.
Como opção, insira uma expressão numérica que calcule o tempo no tempo de execução.
DN BOOL Quando o Temporizador (T) alcançar o valor de Preset (PRE), o bit Done (DN) acende e permanece energizado até a etapa se tornar ativa novamente.
sinalizar se a etapa não executou tempo suficiente
LimitLow DINT Insira o tempo no membro LimitLow.
• Se a etapa ficar inativa antes do Temporizador (T) alcançar o valor LimitLow, o bit AlarmLow acende.
• O bit AlarmLow fica energizado até que seja resetado.
• Para usar a função de alarme, energize (marque) o bit AlarmEnable (AlarmEn).
Como opção, insira uma expressão numérica que calcule o tempo no tempo de execução.
AlarmEn BOOL Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn).
AlarmLow BOOL Se a etapa ficar inativa antes do Temporizador (T) alcançar 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).
sinalizar se a etapa estiver executando em um tempo muito longo
LimitHigh DINT Insira o tempo no membro LimitHigh.
• Se o temporizador (T) alcançar 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 opção, insira uma expressão numérica que calcule o tempo no tempo de execução.
AlarmEn BOOL Para usar a função de alarme, energize (marque) o bit AlarmEnable (AlarmEn).
AlarmHigh BOOL Se o Temporizador (T) alcançar 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).
fazer algo enquanto a etapa está ativa (incluindo a primeira e a última varredura)
X BOOL O bit X está energizado durante todo o tempo que a etapa estiver ativa (em execução).
Normalmente, recomendamos usar uma ação com um qualificador
N Non-Stored para a realização disso.
fazer algo uma vez quando a etapa se tornar ativa
FS BOOL o bit FS está energizado durante a primeira varredura da etapa. Geralmente, recomendamos usar uma ação com um qualificador
P1 Pulse (Borda de Crescente) para a realização disso.
fazer algo enquanto a etapa está ativa, exceto na primeira e última varredura
SA BOOL O bit SA está energizado quando a etapa está ativa com exceção durante a primeira e última varredura da etapa.
fazer algo uma vez na última varredura da etapa
LS BOOL O bit LS está energizado durante a última varredura da etapa. Use esse bit somente se fizer isso: Na caixa de diálogo Controller
Properties, na guia SFC Execution, defina Last Scan of Active Step
para Don’t Scan ou Programmatic reset.
Normalmente, recomendamos usar uma ação com um qualificador
P0 Pulse (Borda de Descida) para a realização disso.
determinar a meta de uma instrução SFR (SFC Reset)
Reset BOOL Uma instrução SFR (SFC Reset) reseta SFC para uma etapa ou pára aquilo que a instrução especifica.
• O bit Reset indica para qual etapa ou interrupção SFC começará a executar novamente.
• Uma vez que SFC executar, o bit Reset desenergiza. determinar o tempo máximo que
uma etapa ficou ativa durante qualquer uma dessas execuções
TMax DINT Use isso para fins de diagnóstico. O controlador desenergiza esse valor somente quando você escolhe Restart Position de Restart at
initial step e o controlador altera os modos ou experiências de um
ciclo de alimentação. determinar se o valor de
Temporizador (T) inverte para um valor negativo
OV BOOL Use isso para fins de diagnóstico.
determinar quantas vezes a etapa se tornou ativa
Count DINT Isso não é uma contagem de varreduras da etapa.
• A contagem incrementa cada vez que a etapa se torna ativa.
• Ela incrementa novamente somente após a etapa ficar inativa e ativa novamente.
• A contagem reseta somente se configurar o SFC para reiniciar à etapa inicial. Com essa configuração, ela reseta quando o controlador alterar de um modo de programação para um modo de operação.
Se você quiser: Marque ou ener-gize esse membro:
Tipo de dados:
O diagrama a seguir mostra a relação dos bits X, FS, SA e LS.
usar um tag para vários bits de status desta etapa
Status DINT Para esse membro: Use esse bit:
Reset 22 AlarmHigh 23 AlarmLow 24 AlarmEn 25 OV 26 DN 27 LS 28 SA 29 FS 30 X 31
Se você quiser: Marque ou ener-gize esse membro:
Tipo de dados: Detalhes: step_name.FS step_name.X step_name.LS step_name.SA
Organização de Etapas
Uma vez definidas as etapas do processo, organize-as em seqüências, ramificações simultâneas, ramificações de seleção ou malhas.Características Gerais
Para: Use essa estrutura: Com essas considerações:
Executar 1 ou mais etapas em seqüência:
• A primeira executa de forma repetida.
• Então a próxima executa de forma repetida.
Seqüência O SFC verifica a transição 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 condições da lógica
• Execute uma etapa ou etapas ou pule a etapa ou etapas dependendo das condições lógicas
Ramificação de Seleção • Está OK para um caminho que não tenha etapas e somente uma transição. Isso permite que o SFC pule a
ramificação de seleção.
• Por padrão, o SFC verifica da esquerda para a direita as transições que começam cada caminho. Ele pega o primeiro caminho verdadeiro.
• Se nenhuma transição for verdadeira, o FC repete a etapa anterior.
• O software RSLogix 5000 permite a alteração da ordem em que o SFC verifica as transições.
Executar 2 ou mais etapas ao mesmo tempo. Todos os caminhos devem terminar antes da continuação do SFC
Ramificação Simultânea • Uma única transição termina a ramificação.
• O SFC verifica a transição final depois que a última etapa em cada caminho executou pelo menos uma vez. Se a transição for falsa, o SFC repete a etapa anterior.
Voltar a malha para uma etapa anterior Conexão para uma Etapa Anterior • Conecte o fio à etapa ou à ramificação simultânea para qual deseja ir.
Aqui, há alguns exemplos de estruturas de SFC para diferentes situações:
Situação Exemplo: Solução Exemplo:
As estações 45 e 46 de uma linha de montagem trabalham nas peças de forma simultânea. Quando as estações estão prontas, as peças voltam para a estação 1.
Ramificação Simultânea
Dependendo do código de construção, uma estação vai perfurar ou polir.
Ramificação de Seleção
Para simplificar a programação, quero separar a comunicação e transferências em bloco de outra lógica de controle. Todas ocorrem ao mesmo tempo.
Ramificação Simultânea
Em uma área de tratamento de calor, a temperatura acelera em uma taxa específica, mantém essa temperatura para uma duração específica e esfria a uma temperatura específica.
Seqüência
Na estação 12, a máquina perfura, bate e arremessa uma peça. As etapas ocorrem uma após a outra.
Seqüência
A etapa 12 inspeciona um processo para a combinação correta de substâncias químicas.
• Se OK, então continue as etapas restantes.
• Se não estiver OK, vá para a parte superior do SFC e depure o sistema. Fio 45 46 Polir Perfurar Comunicação Controle BTs Rampa Manter Esfriar Perfurar Bater Arremessar Etapa 12 OK Não está OK começo do SFC
Seqüência
Uma seqüência é um grupo de etapas que executam uma após a outra.
Para um diagrama detalhado da execução de uma seqüência de etapas, consulte a Figura 4.5 na página 4-45.
Para suprimir o estado de uma transição, consulte “Elementos da Lógica Force” na página 18-1.
Ramificação de Seleção
Uma ramificação de seleção representa uma escolha entre um caminho (etapa ou grupo de etapas) ou um outro caminho (isto é., uma estrutura OR).
•Somente um caminho executa.
•Por padrão, o SFC verifica as transições da esquerda para a direita.
– O SFC considera o primeiro caminho verdadeiro.
– O software RSLogix 5000 permite a alteração da ordem em que o
SFC verifica as transições. Consulte “Programação de um Controle Seqüencial de Funções” na página 5-1.
faça isto...
DEPOIS isso…
Para um diagrama detalhado da execução de uma ramificação de seleção, consulte a Figura 4.7 na página 4-47.
Para suprimir o estado de uma transição, consulte “Elementos da Lógica Force” na página 18-1.
Ramificação Simultânea
Uma ramificação simultânea 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 transição final depois que a última etapa de cada caminho executou pelo menos uma vez.
única linha horizontal
Esse caminho pula a estrutura (não faz nada).
cada caminho possui sua própria transição
faça isto... OU isso… OU isso…
única linha horizontal