Você está na página 1de 278

CURSO PROGRAMAÇÃO RSLOGIX 5000

COMPACTLOGIX 1769-L23E & SOFTLOGIX 5800

Assis Ângelo Pereira Trindade


UNITECH ENGENHARIA | NATAL & MOSSORÓ-RN
A UNITECH ENGENHARIA

A Unitech Engenharia é uma empresa de com foco em Desenvolvimento


de Aplicações, Projetos, Manutenção Treinamento e Consultoria para
Instrumentação, Automação Industrial e Telecomunicação.
Portfólio de serviços
 Elaboração e Atualização de Projeto de Instrumentação e Automação

Arquitetura de Rede; Diagrama de Interligação; Fluxograma de


Engenharia (P&I); Folha de dados dos Instrumentos de Medição; Lista de
Alarmes; Lista de Entradas e Saídas; Lista de Material para instalação da
Instrumentação e Automação; Lista de Ponto de Ajustes; Mapa de
Memória e Comunicação; Memorial Descritivo de Lógica; Planta de
Encaminhamento de Cabos de Instrumentação;

 Desenvolvimento e Comissionamento e Manutenção de Sistemas de


Automação
 Configuração e Manutenção de Redes Industriais;
 Treinamento e Consultoria;

O INSTRUTOR

desenvolvimento de projetos,
comissionamento e manutenção
industrial e melhorias de processos
como redução de custos e quebras
em máquinas e equipamentos
industriais e sistema de qualidade.
Programação de CLP (Rockwell,
ASSIS ÂNGELO
Siemens, Schneider, WEG e Altus) e
Sistemas Supervisórios (Intouch,
Formação:
Indusoft, WinCC e IHMs),
Fiscalização de Obras de
 Bacharelado em
Construção e Montagem de
Administração de Empresas
Unidades Industriais da Industria de
(cursando)
Óleo e Gás.
 Técnico em Eletrotécnica,
CEFET-RN.
Instrutor Técnico em cursos de
programação de CLP família Logix
Experiência Profissional:
500 e 5000 e Supervisório Intouch,
Eletrônica Analógica e Digital,
Possue experiência na área de
Instalações Elétrcas Residencial e
Automação, Instrumentação e
Industrial, Acionamento Estático
Manutenção Elétrica Industrial,
(Inversor e Softstarter).
conhecimentos na área de

1
SUMÁRIO

1. INTRODUÇÃO 5

2. CONHECENDO A FAMÍLIA LOGIX 5000 7

2.1 A FAMÍLIA LOGIX 5000 8


2.2 SOFTLOGIX 10
2.3 COMPACTLOGIX L23E 11
2.3.1 CARACTERÍSTICAS CONTROLADORES COMPACTLOGIX 12
2.3.2 CARTÕES DE ENTRADAS E SAÍDAS 13
2.3.3 INSTALAÇÃO DE CARTÕES DE ENTRADAS E SAÍDAS 17
2.4 DIAGNÓSTICO DO CONTROLADOR 25

3. CRIANDO UM PROJETO COM RSLOGIX 5000 31

3.1 COMO ADICIONAR O SEU MÓDULO DE E/S 37


3.1.1 INTERVALO DO PACOTE REQUISITADO 39
3.1.2 FORMATO DE COMUNICAÇÃO 40
3.1.3 CODIFICAÇÃO ELETRÔNICA 44
3.2 COMO ACESSAR OS DADOS DE E/S 49
3.3 TAREFAS DO CONTROLADOR 53
3.3.1 CONFIGURANDO TAREFAS DO CONTROLADOR 54
3.3.2 CRIANDO PROGRAMAS E SUBROTINAS 56
3.4 TIPOS DE DADOS 69
3.4.1 CRIANDO UM TAG 70
3.4.2 TIPO DE DADO DE UM TAG 71
3.4.3 TAG COM ALIAS 75
3.4.4 DADOS DEFINIDOS PELO USUÁRIO 78
3.4.5 ENDEREÇO DE UM TAG 85
3.4.6 ARRAY 86
3.5 LINGUAGENS DE PROGRAMAÇÃO 95
3.5.1 LÓGICA LADDER 97
3.5.2 DIAGRAMA DE BLOCOS DE FUNÇÕES 102
3.5.3 TEXTO ESTRUTURADO 104
3.5.4 CONTROLE SEQÜENCIAL DE FUNÇÕES 110

2
3.5.5 GERENCIE TAREFAS 112

4. INSTRUÇÕES BÁSICAS DE PROGRAMAÇÃO 116

4.5 INSTRUÇÕES DE BIT 116


4.6 CONTROLE DE FLUXO DO PROGRAMA 127
4.7 INSTRUÇÕES DE TEMPORIZAÇÃO 128
4.8 INSTRUÇÕES DE CONTAGEM 133
4.9 INSTRUÇÕES DE CONVERSÃO DE DADOS 137
4.10 INSTRUÇÕES DE LÓGICA 138
4.11 INSTRUÇÕES MATEMÁTICAS 140
4.12 INSTRUÇÕES DE MOVIMENTAÇÃO 142
4.13 INSTRUÇÕES DE COMPARAÇÃO 144
4.14 ACESSO AOS VALORES DE SISTEMA 148

5. COMUNICAÇÃO COM O CLP E REDE INDUSTRIAL 156

5.1 CONEXÃO DIRETA AO CONTROLADOR ATRAVÉS DA PORTA SERIAL 157


5.2 FUNDAMENTOS DE REDE ETHERNET/IP 160
5.2.1 CONEXÕES NA ETHERNET/IP 163
5.3 COMUNICAÇÃO COM OUTRO CONTROLADOR 165
5.3.1 PRODUÇÃO E CONSUMO DE UM TAG 165
5.4 MENSAGEM 174

6 ADD-ON INSTRUCTIONS 195

7 CONTROLE DE PROCESSOS 198

7.1 MALHA DE CONTROLE 203


7.2 A INSTRUÇÃO PID 205
7.3 UTILIZAÇÃO DAS INSTRUÇÕES PID 210
7.4 MALHAS EM CASCATA 220

8 DESENVOLVENDO UMA APLICAÇÃO CONTROLE INDUSTRIAL 222

8.1 FLUXOGRAMA DE ENGENHARIA 224


8.2 MEMORIAL DESCRITIVO DE LÓGICA 225

3
8.3 DIAGRAMA LÓGICO 229
8.4 MODELO DE TRATAMENTO DE ENTRADAS E SAÍDAS E ALARMES 232
8.5 PROGRAMANDO O CLP 234
8.5.1 LÓGICA DE TRATAMENTO DAS ENTRADAS DIGITAIS 235
8.5.2 LÓGICA DE TRATAMENTO DE ENTRADAS ANALÓGICAS 239
8.5.3 LÓGICA DE TRATAMENTO DE ALARMES 242
8.5.4 LÓGICA DE CONTROLE DE PROCESSOS 260
8.5.5 LÓGICA DE SINCRONISMO DE RELÓGIO DO CLP 265
8.5.6 LÓGICA DE TOTALIZAÇÃO 268
8.5.7 LÓGICA DE MONITORAMENTO DE STATUS CLP E MODO EM FALHA 270

9 MANUTENÇÃO 272

9.1 MONITORE MÓDULOS DE E/S 272


9.2 DIAGNOSTICO POR PAGINA LOCAL 274
9.3 FALHAS MINORITÁRIAS 274
9.4 FALHAS MAJORITÁRIAS 275
9.5 FALHAS DE HARDWARE 275
9.6 ACESSO ÀS PASTAS DE FALHAS 275
9.7 RESET DE FALHA 276
9.8 DIAGNÓSTICO POR PÁGINA WEB 277

4
1. INTRODUÇÃO

Atualmente no ambiente corporativo há uma necessidade de profissionais


que possam dominar os assuntos relacionados a sua área de trabalho, mas que
também possam compreender e ajudar as demais áreas da empresa. Em uma
indústria uma equipe com esse perfil pode ajudar a empresa a melhorar o
processo produtivo, desenvolver novos produtos ou serviços. Neste contexto, a
automação é fundamental para ajudar a empresa a buscar seus objetivos.

Os recursos que estão disponíveis no mercado para automação industrial,


estabelecem novos paradigmas para um profissional da automação industrial,
onde exige um vasto conhecimento sobre as mais diversas áreas de
conhecimento do processo produtivo, por exemplo:

INFOR
MÁTICA

CONTROLE REDES
PROCESSO INDUSTRIAIS

MECÂNICA
AUTOMAÇÃO ELETRÔNICA
INDUSTRIAL

ELÉTRICA NORMAS

INSTRU
MENTAÇÃO

Diante desse esboço podemos notar que há uma “integração sinergética”


entre as áreas do conhecimento na indústria com a automação industrial. Que
tipo de postura temos que adotar? Se o profissional da automação trabalha com
elaboração ou implementação de projetos, manutenção ou melhorias de
processos, uma coisa é fundamental: A organização. É muito difícil gerir todas

5
essas interfaces sem a devida organização. Exemplo: Um profissional elabora
um programa ladder para um CLP durante dias e o computador apresenta um
defeito no HD ou no sistema operacional, mas não existe um backup. Guarda
todos os arquivos num pendrive e ao retirá-lo da porta USB queima o dispositivo.
O que fazer?

Uma outra situação que podemos notar é a dificuldade de alguns


profissionais em ler. A leitura dos manuais técnicos dos equipamentos, é
fundamental. Tanto para o desenvolvimento de um aplicativo novo, como para
manutenção dos sistemas automatizados. É difícil fazer uma manutenção em um
instrumento, um inversor de frequência, um relé microcontrolado ou um painel
elétrico, se não tivermos os manuais dos equipamentos ou os esquemas de
ligação à disposição. Agora imagine programar qualquer equipamento sem
conhecer seus parâmetros ou instruções de comando.

Seja bem-vindo, todos os dias iremos precisar estudar um pouco mais. A


recompensa será ver um monte equipamentos que antes não fazia nada e agora
como numa grande orquestra cada um faz sua parte e o maestro é você.

6
2. CONHECENDO A FAMÍLIA LOGIX 5000

Acredito que todos percebemos que o primeiro passo é conhecer os


equipamentos e ferramentas com as quais iremos trabalhar. Durante a
elaboração de um projeto de automação industrial são elaborados diversos
documentos de engenharia, tais como: Folha de Dados, Lista de Material,
Diagrama de Interligação, Diagrama Lógico, Memorial Descritivo, Diagrama de
Malhas, Fluxogramas, Arquitetura de Rede ou Automação, entre outros.

A aquisição dos equipamentos deve atender aos requisitos básicos


especificados nas Folhas de Dados, Lista de Material e Memorial Descritivo. Um
outro documento que pode ajudar bastante com um overview do sistema é a
Arquitetura de Rede ou Automação. Após a definição dos equipamentos, é
importante organizar os manuais dos fabricantes para cada equipamento ou
software que será necessário para o desenvolvimento do projeto.

É importante observar que cada fabricante possui diversas linhas de


produtos para atender as especificidades de cada aplicação. Segue alguns
fabricantes e modelos de equipamentos disponíveis no mercado:

7
2.1 A FAMÍLIA LOGIX 5000

8
A Familia Logix 5000, é basicamente formada por:

 Backplane: Um dos elementos principais do sistema


Logix 5000 é que a comunicação é projetada em cada camada desse
sistema, começando com a placa de fundo do chassi até os
módulos de E/S, os controladores e é claro, os próprios módulos
de comunicação. A placa de fundo do chassi do Logix é baseada na
rede ControlNet e usa o mesmo modelo produtor/consumidor – nome
dado ao modelo de comunicação pelo qual os nós da rede ou os
módulos no chassi produzem dados. Outros nós ou módulos podem,
então, consumir os dados conforme a necessidade. Isto é
muito diferente de outros modelos onde por exemplo, um mestre deve
administrar a tarefa de comunicação, perguntando a cada nó ou
módulo se o mesmo tem uma mensagem para enviar e organizar a
operação. Desta forma, a placa de fundo do chassi age como uma
rede de alta velocidade que fornece a capacidade de comunicação
entre todos os módulos e a placa de fundo do chassi, bem como todos
aqueles que estão estendidos a outros chassis através da rede
ControlNet.

 Fonte de Alimentação: São usadas com os chassis para fornecer


alimentação de 1,2 V; 3,3 V; 5 V e 24 Vcc diretamente para o
backplane. A fonte de alimentação se encaixa na extremidade
esquerda do chassi.

 Tipos de CPU: O controlador Logix 5000 fornece uma solução de


controlador escalável, com capacidade para endereçar uma grande
quantidade de pontos de E/S. O controlador pode controlar a E/S local,
assim como a E/S remota através das redes Ethernet/IP, ControlNet,
DeviceNet e E/S Remota Universal.
Anotações:

9
2.2 SOFTLOGIX

10
2.3 COMPACTLOGIX L23E

Em nosso curso, os equipamentos utilizados serão do fabricante Rockwell


Automation. Utilizaremos a família de controladores CompactLogix.

11
2.3.1 CARACTERÍSTICAS CONTROLADORES COMPACTLOGIX

O sistema CompactLogix foi projetado para fornecer uma solução Logix


para aplicações de tamanho pequeno e médio. Tipicamente, estas são
aplicações de controle em nível de máquina. Um sistema simples pode consistir
em um controlador independente com um banco simples de módulos de E/S e
comunicação DeviceNet. Em um sistema mais complexo, adicione outras redes,
controle de movimento, e controle de segurança. Como parte do sistema de
Arquitetura Integrada, os controladores CompactLogix usam o mesmo software
de programação, protocolo de rede e recursos de informação que todos os
controladores Logix, fornecendo um ambiente de desenvolvimento comum para
todas as disciplinas de controle.

12
2.3.2 CARTÕES DE ENTRADAS E SAÍDAS

Os cartões de entradas e saídas são essenciais para interação do


programa desenvolvido e armazenado na memória do CLP, pois por meio dos
cartões de I/O ou E/S, que o CLP recebe, processa e transmite os sinais dos
instrumentos ou comanda os equipamentos instalados no campo, processo ou
máquinas.

A quantidade de I/O ou E/S, que cada CLP vai possuir, depende do que
vai ser controlado. Um CLP para controlar um compressor ou uma bomba, muito
provavelmente terão número de I/O diferentes, por que vai depender dos
instrumentos associados a este equipamento, ou seja da quantidade de
sensores instalados. Podemos dividir os sinais básicos processados nos CLP
em Entrada e Saída, Analógico e Digital. Existem ainda outros sinais que são
processados pelo CLP que atualmente está em grande expansão, que são os
sinais digitais via rede de comunicação industrial. Os documentos de engenharia
que podem fornecer informações sobre os I/Os, podem ser as Folha de Dados,
Lista de Instrumentos, Diagrama de Malha, Diagrama de Interligação, Lista de
IO e Mapa de Memória do CLP.
Para atender as diversas topologia de hardware, os fabricantes fornecem
diversas opções, por exemplo:

 E/S embutido – A E/S Embutido é projetada especificamente para


um controlador e são integradas ao invólucro da CPU.

 E/S de RACK - A E/S de rack é projetada especificamente para um


controlador. Você pode instalar a E/S localmente no mesmo rack
que o controlador. Além disso, com o uso de redes de comunicação
de E/S, você pode distribuir a E/S para mais perto dos sensores e
atuadores, reduzindo seus custos com fiação.

 E/S Distribuída - A E/S distribuída em painel (IP20) pode ser


posicionada em sua aplicação e exige o uso de um gabinete. A E/S
modular no painel permitem selecionar a combinação exata de
interfaces de E/S e adaptadores de comunicação que atendem
suas necessidades, com maior flexibilidade no projeto de seu
sistema. Além de uma ampla gama de módulos analógicos, digitais
e especializados.

13
Os controladores CompactLogix 1769-L23x com E/S embutido fornecem a
seguinte funcionalidade:
 Fonte de alimentação incorporada;
 Duas portas seriais, uma porta serial e uma EtherNet/IP, dependendo do
controlador;
 Uma combinação de módulos de E/S embutidos digitais, analógicos, e
contadores de alta velocidade;
 Terminação direita 1769-ECR;

14
CARACTERÍSTICAS GERAIS DOS
PRODUTOS
O Compactlogix oferece em um produto
os benefícios da plataforma Logix -
ambiente de programação comum, redes
comuns, mecanismo de controle comum -
em uma base pequena de alto
desempenho.

Ideal para o controle independente ou conectado ao sistema via


Ethernet/IP, Controlnet ou DeviceNet. Pense no Compactlogix sempre que
precisar de controle econômico e confiável.

Logix em um instante

- Controlador individual;
- Memória do controlador: 512KB a 3MB;
- Cartão de memória compactflash: 64 e 128MB;
- Porta de comunicação padrão: RS-232, Controlnet, Ethernet (verificar as
opções dos códigos dos controladores);
- Comunicação da porta serial: ASCII, DF1 full/half-duples, DF1 radio modem,
DH-485, Modbus via logic;
- Opções de comunicação: Ethernet I/P, ControlNet, DeviceNet;
- Linguagem de programação: ladder, texto extruturado, bloco de função e SFC;
- Software de programação RSLogix 5000;
- Módulos de entrada/saída são instalados lado a lado;
- Distância dos módulos da fonte: até 4 (apenas para código 1769-L);
- Tensão de alimentação: AC e CC.

15
Controlador com I/O incorporado

- Controlador individual;
- Memória do controlador: 512MB;
- Porta de comunicação padrão: RS-232, Controlnet, Ethernet (verificar as
opções dos códigos dos controladores);
- Comunicação da porta serial: ASCII, DF1 full/half-duples, DF1 radio modem,
DH-485, Modbus via logic;
- Opções de comunicação: Ethernet I/P, ControlNet, DeviceNet;
- Linguagem de programação: ladder, texto extruturado, bloco de função e SFC;
- Software de programação RSLogix 5000;
- I/O: entradas e saídas CC, entradas e saídas analógicas, entrada rápida
(verificar as opções dos códigos dos controladores);
- Tensão de alimentação: 24Vcc.

16
2.3.3 INSTALAÇÃO DE CARTÕES DE ENTRADAS E SAÍDAS

Para inserir um cartão de IO com o CompacLogix é necessário remover a


alimentação elétrica, ou seja não é possível Replace Under Power (RIUP).

50 mm para ventilação dos módulos do controlador.

17
Cartões Saídas Digitais

Ref:___________________________________________________________

Ref:___________________________________________________________

Ref:___________________________________________________________

18
Cartões Entradas Digitais

Ref:___________________________________________________________

Interconexão de Sensores Discretos As saídas típicas dos sensores


discretos (e entradas do CLP) são apresentadas na lista a seguir: -
“Sinking”/”Sourcing” - com chaves normamente ligadas ou desligadas. - Chaves
Simples- Controlando tensões “On” ou “OFF”. - Relés de estado sólido - podem
chavear saídas AC. - Saídas TTL (Transistor Transistor Logic) - Usam 0V e 5V
para indicar os níveis lógicos.

Transistor-Transistor Logic (TTL) A lógica TTL está baseada em dois


níveis de tensão 0V para “Falso” e 5V para “Verdadeiro”. As tensões na realidade
variam em torno desses valores e ainda podem ser detectadas corretamente.

Sensores Discretos “Sinking/Sourcing” “Sinking”: permitem a passagem


de corrente para dentro do sensor na direção do comum ou terra. “Sourcing”:
permitem a passagem de corrente para fora do sensor a partir da fonte positiva.

19
Nos dois casos o objetivo é fluxo de corrente, não tensão. O que diminui
o ruído elétrico. Os transistores PNP atuam como saídas do tipo “Sourcing” e os
transistores NPN atuam como saídas do tipo “Sinking”.

“Sourcing”: Sensor inativo ⇒ linha ativa fica na tensão V+ ⇒ transistor


cortado, não permitindo a passagem de corrente para o circuito exterior. Sensor
ativado ⇒ linha ativa cai pra um valor baixo de tensão ⇒ chaveando o transistor
e permitindo a passagem de corrente pra fora do sensor

20
Cartão 1769-IF4

21
Cartão 1769-OF2

22
Cartão 1769-IF4XOF2

23
Cada cartão possui especificidades quanto a configurarção da entrada ou
saída para corrente/tensão. O sinal de entrada é convertido e disponibilizado no
canal equivalente ao sinal aplicado no formato configurado, quando disponível.

 Para entrada Local:Slot:I.ChXData X = Canal de entrada.


 Para Saída Local:Slot:O.ChXData X = Canal de saída.

Obs: Quando possuir rack em rede observe o nome configurado no campo


“propridede de módulos”, “Nome”.

EXERCÍCIO: IDENTIFICANDO HARDWARE

CPU: ________________________________________
FONTE: ________________________________________
CARTÃO 01: ________________________________________
CARTÃO 02: ________________________________________
CARTÃO 03: ________________________________________
CARTÃO 04: ________________________________________

24
2.4 DIAGNÓSTICO DO CONTROLADOR

Diagnostico visual – As falhas ocorridas em um sistema


COMPACTLOGIX podem ser verificadas através dos LEDs
indicadores do processador ou mesmo através da imagem
frontal do processador apresentada no software de
programação RSLogix 5000. Veja os LEDs indicadores de
status do controlador COMPACTLOGIX.

25
26
27
28
29
30
3. CRIANDO UM PROJETO COM RSLOGIX 5000

As Plataformas Logix da Rockwell Automation fornecem uma única


arquitetura de controle integrada para controle discreto, inversores,
posicionamento e processo.

A arquitetura Logix integrada fornece um controlador comum, ambiente


de software de programação e suporte de comunicação através de diversas
plataformas de hardware. Todos os controladores Logix operam com um sistema
operacional de multi-tarefas e multi-processamento e suportam o mesmo
conjunto de instruções em diversas linguagens de programação. Um pacote de
software de programação 5000 programa todos os controladores Logix. Além
disso, todos os controladores Logix incorporam a arquitetura NetLinx para
comunicação através de redes EtherNet/IP, ControlNet e DeviceNet.

Devido sua grande flexibilidade os controladores lógicos programáveis


necessitam de um software de configuração e programação para que o
executem as atividades que atendam a máquina e/ou processo.

O software de configuração e programação do ControlLogix é o RSLogix


5000, que é dedicado a controladores Allen Bradlley ControlLogix, SoftLogix,
CompactLogix, FlexLogix e outros.

31
Start Menu => Programs => Rockwell Software => RSLogix 5000 Enterprise
Series => RSLogix 5000

ABRINDO O RSLOGIX 5000 CRIANDO UM PROJETO

32
SELECIONANDO O CONTROLADOR CONFIGURANDO O PROJETO

Convenções para nomes

Em todo o projeto de um Logix5000, você define nomes para os diferentes


elementos do projeto, como controlador, endereços de dados (tag), rotinas,
módulos de E/S etc. Ao inserir os nomes, siga as regras a seguir:

 somente letras, números e sublinhas (_)


 devem começar com uma letra ou uma sublinha
 ≤ 40 caracteres

33
 sem sublinhas consecutivas ou delimitadoras
 sem distinção entre maiúsculas e minúsculas

Local de armazenamento dos projetos


Anotações:

34
35
36
3.1 COMO ADICIONAR O SEU MÓDULO DE E/S

Para comunicar-se com qualquer módulo de E/S de seu sistema, adicione


os módulos à pasta de configuração de E/S do controlador. As propriedades que
você selecionar para cada módulo definem o comportamento do módulo.

37
Para comunicar com um
módulo de E/S em seu sistema,
você adiciona o módulo à pasta
I/O Configuration do controlador.

Quando adiciona o
módulo, você também define uma
configuração específica para o
módulo. Embora as opções de
configuração variem de modulo
para módulo, estas são algumas
opções comuns que você
geralmente configura:

 Intervalo do pacote requisitado


 Formato de comunicação
 Codificação eletrônica

38
3.1.1 INTERVALO DO PACOTE REQUISITADO

O controlador Logix5000 usa as conexões para transmitir os dados de


E/S.

Conexão

Um link de comunicação entre dois dispositivos, como entre um


controlador e um módulo de E/S, terminal PanelView ou outro controlador.
As conexões são alocações de recursos que fornecem comunicações
mais confiáveis entre os dispositivos que mensagens desconectadas. O número
de conexões que um único controlador pode ter é limitado.
Você indiretamente determina o número de conexões que o controlador
usa ao configurar o controlador para se comunicar com outros dispositivos no
sistema. Os tipos de comunicação a seguir usam conexões:

 Módulo de E/S
 Tags produzidos e consumidos
 Determinados tipos de instruções Message (MSG) (não são todos
os tipos que usam uma conexão)

Intervalo do pacote requisitado (RPI)

O RPI especifica o período em que os dados atualizam em uma conexão.


Por exemplo, um módulo de entrada envia dados para um controlador no RPI
que você atribui ao módulo.

 Geralmente, você configura um RPI em milisegundos (ms). A faixa é


0,2 ms (200 microssegundos) a 750 ms.

 Se uma rede ControlNet conecta os dispositivos, o RPI reserva um slot


no fluxo de dados que passa pela rede ControlNet. A temporização

39
deste slot pode não coincidir com o valor exato do RPI, mas o sistema
de controle garante que a transferência de dados ocorra com a mesma
frequência que o RPI, pelo menos.

Nos controladores Logix5000, os valores de E/S são atualizados em um


período que você configura através da pasta de configuração da E/S do projeto.
A atualização dos valores é assíncrona à execução da lógica. No intervalo
especificado, o controlador atualiza um valor independentemente da execução
da lógica.

Os programas dentro de uma tarefa acessam os dados de entrada e saída


diretamente da memória utilizada pelo controlador.

 A lógica dentro de qualquer tarefa pode modificar os dados utilizados


pelo controlador.
 Os valores de dados e de E/S são assíncronos e podem mudar durante
a execução de uma tarefa.
 Um valor de entrada referenciado no início de uma execução de tarefa
pode ser diferente quando referenciado mais tarde.
 Para evitar que um valor de entrada mude durante uma varredura,
copie o valor para outro tag e use os dados dele (colocar os valores
em buffer).

3.1.2 FORMATO DE COMUNICAÇÃO

O formato de comunicação que você escolhe determina a estrutura de


dados para os tags que estão associados ao módulo. Muitos módulos de E/S
suportam diferentes formatos. Cada formato usa uma estrutura de dados
diferente. O formato de comunicação que você escolhe também determina:

 Conexão direta ou otimizada para rack.


 Aquisição.

Conexão direta ou otimizada para rack

O controlador Logix5000 usa as conexões para transmitir os dados de


E/S. Estas conexões podem ser diretas ou otimizadas para rack.

40
Conexão direta

Uma conexão direta é um link de transferência de dados em tempo real


entre o controlador e um módulo de E/S. O controlador mantém e monitora a
conexão com o módulo de E/S. Qualquer interrupção na conexão, como uma
falha ou a remoção do módulo enquanto ele estiver energizado, energiza os bits
de falha na área de dados associada ao módulo.

Conexão otimizada para rack

Para módulos de E/S digital, você pode selecionar a comunicação


otimizada para rack. Uma conexão otimizada para rack consolida o uso da
conexão entre o controlador e todos os módulos de E/S digital no rack (ou trilho
DIN). Em vez de ter conexões diretas individuais para cada módulo de E/S, há
uma conexão para todo o rack (ou trilho DIN).

Aquisição

Em um sistema Logix5000, os dados fazem multicast dos módulos. Isto


significa que os múltiplos dispositivos podem receber os mesmos dados ao
mesmo tempo de um dispositivo único. Quando escolher um formato de

41
comunicação, você tem que escolher entre estabelecer um relacionamento de
leitura de controle ou modo de escuta com o módulo.

Controlador de leitura de controle

O controlador que cria a configuração primária e a conexão de


comunicação com um módulo. O controlador de leitura de controle grava a
configuração e pode estabelecer uma conexão com o módulo.

Conexão de modo de Escuta

Uma conexão de E/S em que outro controlador adquire/fornece os dados


de configuração para o módulo de E/S. Um controlador que usa uma conexão
de modo de escuta apenas monitora o módulo. Ele não grava os dados de
configuração e pode apenas manter uma conexão com o módulo de E/S quando
o controlador de leitura de controle está controlando ativamente o módulo de
E/S.

42
Use a tabela a seguir para escolher o tipo de aquisição para um módulo.

Há uma diferença observada no controle dos módulos de entrada e no


controle de módulos de saída.

43
3.1.3 CODIFICAÇÃO ELETRÔNICA

O recurso de codificação eletrônica compara automaticamente o módulo


esperado, conforme mostrado na árvore I/O Configuration do RSLogix 5000, ao
módulo físico antes da comunicação da E/s começar.

Você pode usar a codificação eletrônica para ajudar a evitar comunicação


com um módulo que não corresponda ao tipo e revisão esperados.

Para cada módulo na árvore I/O Configuration, a opção de codificação


selecionada pelo usuário determina se e como uma verificação de codificação
eletrônica é realizada. Geralmente, há três opções de codificação disponíveis.

 Correspondência exata
 Codificação compatível
 Desabilitar a codificação

Você deve considerar cuidadosamente os benefícios e as implicações de


cada opção de codificação quando selecionar uma delas. Para alguns tipos
específicos de módulos, há menos opções disponíveis.

A codificação eletrônica é baseada em um conjunto de atributos


exclusivos a cada revisão do produto. Quando um controlador Logix5000
começar a se comunicar com um módulo, este conjunto de atributos de
codificação é considerado.

44
Você pode encontrar as informações de revisão na guia General na caixa
de diálogo Properties do módulo.

Correspondência exata

A codificação de correspondência exata requer que todos os atributos de


codificação, ou seja, fornecedor, tipo de produto, código de produto (código de
catálogo), revisão principal e revisão secundária, do módulo físico e o módulo
criado no software para corresponder precisamente e estabelecer a
comunicação. Se algum atributo não corresponder exatamente, a comunicação
da E/S não é permitida com o módulo ou com os módulos conectados através
dele, como no caso de um módulo de comunicação.

Use a codificação
de correspondência
exata quando precisar
que o sistema verifique
se as revisões do
módulo em usa são
exatamente como
especificado no projeto,
como para uso em
indústrias altamente
regulamentadas. A
codificação Exact Match
também é necessária
para habilitar a
atualização automática
do firmware para o
módulo através do
recurso Firmware
Supervisor de um
controlador Logix5000.

45
Codificação compatível

A codificação compatível indica que o módulo determina se é para aceitar


ou rejeitar a comunicação. As famílias de módulos diferentes, módulos
adaptadores de comunicação e tipos de módulos implementam a verificação de
compatibilidade de uma maneira diferente de acordo com os recursos da família
e no conhecimento prévio de produtos compatíveis.

A codificação compatível é a configuração padrão. A codificação


compatível permite que o módulo físico aceite o código do módulo configurado
no software desde que o módulo configurado seja um módulo físico com
capacidade de emulação. O nível exato de emulação necessário é específico do
produto e revisão.

Com a codificação compatível, você pode substituir um módulo de uma


determina revisão principal por um com o mesmo código de catálogo e a mesma
revisão principal ou posterior, que seja superior.

Em alguns casos, a seleção possibilita o uso uma substituição que tenha


um código de catálogo diferente da original. Por exemplo, você pode substituir
um módulo 1756-CNBR por um módulo 1756-CN2R. As notas da versão para
módulos individuais indicam os detalhes específicos de compatibilidade.

Quando um módulo é criado, os desenvolvedores consideram seu


histórico de
desenvolvimento
para implementar os
recursos que
emulem os
desenvolvimentos
do módulo anterior.
Porém, os
desenvolvedores
não sabem quais
serão os
desenvolvimentos
futuros. Por causa
disso, quando um
sistema é
configurado,
recomendamos que
você configure seu
módulo usando um
mais antigo, ou seja,

46
uma revisão inferior do módulo físico que você acredita que será usado no
sistema.

Ao fazer isso, você


pode evitar que um módulo
físico rejeite a solicitação de
codificação porque ele tem
uma revisão anterior a que
está configurada no software.

Codificação desabilitada

A codificação desabilitada indica que os atributos de codificação não são


considerados quando tentar
comunicar com um módulo.
Outros atributos, como
tamanho e formato dos dados,
são considerados e devem ser
aceitáveis antes que a
comunicação da E/S seja
estabelecida. Com a
codificação desabilitada, a
comunicação da E/S pode
ocorrer com um tipo de
módulo diferente do
especificado na árvore I/O
Configuration com resultados
inesperados. Geralmente, não
recomendamos usar a
codificação desabilitada.

47
48
3.2 COMO ACESSAR OS DADOS DE E/S

As informações de E/S são apresentadas como um conjunto de tags.

49
50
Formato de dados válidos para entradas e saídas analógicas integradas
do controlador 1769-L23E-QBFC1 e do cartão1769-IF4XOF2.
Valid Input Data

0 to +10 V DC Raw/Proportional Data Range

+10.5 V 32640

+10 V 31086

+5 V 15543

0V 0

0 to 20 mA Raw/Proportional Data Range

21 mA 32640

20 mA 31086

10 mA 15543

4 mA 6217

0 mA 0

Valid Output Data

0 to +10 V DC Raw/Proportional Data Range

+10.5 V 32640

31086
+10 V

+5 V 15543

0V 0

0 to 20 mA Raw/Proportional Data Range

21 mA 32640

20 mA 31086

10 mA 15543

4 mA 6217

0 mA 0

51
Determine quando os dados são atualizados

Os controladores CompactLogix atualizam os dados de modo assíncrono


com a execução da lógica. Esse fluxograma ilustra quando os produtores enviam
dados. Controladores, módulos de entrada e módulos de pontes são produtores.

Se você precisar garantir que os valores de E/S usados durante a


execução da lógica sejam de um momento específico, como no início de um
programa de lógica ladder, use a instrução de cópia síncrona (CPS) para guardar
os dados de E/S.

52
3.3 TAREFAS DO CONTROLADOR

Após a criação de um novo projeto no RSLogix5000 conforme os


procedimentos descritos anteriormente, podemos verificar que a Task Continua
é criada automáticamente com o nome “Main Task”, conforme figura abaixo:

53
3.3.1 CONFIGURANDO TAREFAS DO CONTROLADOR

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 é disparada (ativada), todos os programas
atribuídos (programados) à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


interrompe a tarefa contínua, executa uma vez e volta para o controle de
onde a tarefa contínua parou.
 Você pode configurar o período de tempo de 1 ms a 2000 s. O padrão é
10 ms.

O número de tarefas suportadas depende do controlador:

54
Uma tarefa pode ter até
32 programas separados
(CompactLogix L23E 16), cada
um com suas próprias rotinas
executáveis e códigos de
acesso do programa. Uma vez
que uma tarefa é iniciada
(ativada), todos os programas
definidos para a tarefa são
executados na ordem na qual
eles foram agrupados. Os
programas só podem aparecer
uma vez no Organizador do
Controlador e não podem ser
compartilhados por tarefas
múltiplas.
Quando a tarefa é
acionada, os programas
definidos na tarefa são
executados até a conclusão, do
primeiro até o último. Cada
programa contém códigos de
acesso de programa, uma rotina principal, outras rotinas e uma rotina opcional
de falha. Quando um programa é executado, sua rotina principal é executada
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
(Jump to Subroutine).

Detalhes de tarefa de evento


Não são todos os controladores Logix que suportam disparos de tarefa de
evento:

55
3.3.2 CRIANDO PROGRAMAS E SUBROTINAS

Um programa é uma subdivisão de uma tarefa. Quando a tarefa é


acionada, os programas definidos na tarefa são executados até a conclusão, do
primeiro até o último. Cada programa contém tags de programa, uma rotina
principal, outras rotinas e uma rotina opcional de falha.
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:

 Definição das Funções do Projeto;


 Atribuição de Cada Função a uma Tarefa

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

Uma das primeiras decisões no desenvolvimento de um projeto Logix5000


é definir as funções (operações) da máquina ou processo.

 Identifique as funções principais (operações) da máquina ou processo.

 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.

56
Clique com o botão direito sobre a pasta Task e aparecerá a opção New
Task, conforme desenho abaixo.

Em seguida aparecerá a tela abaixo onde deveremos configurar os seguintes


itens.

57
Name : Neste campo iremos definir o nome da Task.
Description : Campo utilizado para comentários relativos a Task a ser criada.

Type : Define qual o tipo da Task, ou seja Continua ou Periodica. Neste tópico
iremos utilizar a opção Continua.

Watchdog : Tempo máximo para execução da Task, caso este tempo for
ultrapassado o CLP irá gerar uma falha na CPU

Para finalizar clique em OK e na árvore do projeto aparacerá a Task


Continua criada acima, conforme figura abaixo

Agora vamos aprender como criar uma Task Periodica, para isto
utilizaremos os seguintes procedimentos.

Clique com o botão direito sobre a pasta Task e aparecerá a opção New
Task, conforme desenho abaixo.

58
Em seguida aparecerá a tela abaixo onde deveremos configurar os
seguintes itens.

Name : Neste campo iremos definir o nome da Task.


Description : Campo utilizado para comentários relativos a Task a ser criada.

Type : Define qual o tipo da Task, ou seja Continua ou Periodica. Neste tópico
iremos utilizar a opção Continua.

Watchdog : Tempo máximo para execução da Task, caso este tempo for
ultrapassado o CLP irá gerar uma falha na CPU
Rate : Intervalo de tempo em que a Task Periodica será executada.
Priority : Prioridade de execução da Task Periodica, quanto menor o número
maior a prioridade.
OBS.:

· Tarefas de mesma prioridade são executadas com base em uma fatia de


tempo com intervalos de 1 ms.
· Para mudar as propriedades de uma tarefa (nome, tipo, prioridade, etc.),
dê um clique com o botão direito na tarefa e selecione Properties.

59
Para finalizar clique em OK e na árvore do projeto aparacerá a Task
Periodica criada acima, conforme figura abaixo.

Podemos verificar graficamente que o ControlLogix possui um Sistema


Operacional Multitarefa Pré Definido.

60
Com o CompactLogix L23E, podem ser criadas até 3 tarefas sendo uma
contímua.

61
Criando Programas

No sistema ControlLogix podemos ter dentro de cada Task seja ela do tipo
Continua ou Periodica até 32 (trinta e dois) Programas. Após a criação de uma
Task no RSLogix5000. Com o CompactLogix L23E é possível criar até 16
programas.

Após a criação de uma Task no RSLogix5000 conforme os procedimentos


descritos anteriormente neste capitulo, verificaremos agora quais os
procedimentos necessários para criar um Programa. Clique com o botão direito
sobre a pasta Continua ou Periodica e aparecerá a opção New Program,
conforme desenho abaixo.

Em seguida aparecerá a tela abaixo onde deveremos configurar os


seguintes itens.
Name : Neste campo iremos definir o nome do Programa.
Description : Campo utilizado para comentários relativos ao Programa a ser
criado.
Schedule in : Define em qual Task este Programa irá ser executado.

62
Para finalizar clique em OK e na árvore do projeto dentro da pasta
determinada no item Schedule in teremos o Programa criado, na figura abaixo
podemos visualizar este caminho.

63
Criando Rotinas

No sistema ControlLogix podemos ter dentro de cada Programa até


32.767 Rotinas. Após a criação de um Programa no RSLogix5000 conforme os
procedimentos descritos anteriormente neste capitulo, verificaremos agora quais
os procedimentos necessários para criar uma Rotina. Clique com o botão direito
sobre a pasta Programa_1 e parecerá a opção New Rotine, conforme desenho
abaixo.

Em seguida aparecerá a tela abaixo onde deveremos configurar os


seguintes itens.
Name : Neste campo iremos definir o nome da Rotina.
Description : Campo utilizado para comentários relativos a Rotina a ser
criado.

Type : Define em qual tipo de Rotina iremos criar, podemos ter vários tipos
que são:

64
a) Ladder Diagram : utiliza a liguagem ladder a qual tem como base o
diagrama elétrico a relé.
b) Sequential Function Chart : semelhante ao fluxograma, ou seja as
decisões são tomadas em sequência.
c) Function Block Diagram : utiliza blocos com funções pré definidas pelo
software, mais utilizados para controle de motores através de inversores
de potência.
d) Structured Text : semelhante a uma programação em visual basic.

Ao longo do treinamento utilizaremos rotinas tipo Ladder, Função de Bloco


e Texto Estruturado.
In Program : Define em qual Programa a Rotina irá ser executada

65
Para finalizar clique em OK e na árvore do projeto dentro da pasta
determinada no item In Program teremos a Rotina criada, na figura abaixo
podemos visualizar este caminho.

Após criadas as Rotinas temos que definir qual delas será a Principal.
Clique com o botão direito sobre a pasta Programa_1 e aparecerá a opção
Properties, conforme desenho abaixo.

66
Em seguida aparecerá a tela abaixo onde deveremos selecionar a pasta
Configuration. Dentro desta pasta no item Main selecionaremos a rotina na qual
desejamos que seja a principal.

67
Após selecionada a rotina que será a principal deverá aparecer na mesma
a seguinte identificação.

Resumindo este capítulo podemos concluir que a estrutura de um projeto


no ControlLogix poderá ter no máximo a seguinte configuração:

32 Tasks (1 Continua + 31 Periodicas) (CompactLogix l23E 1 + 2 Períodicas)

32 Programas (CompactLogix L23E 16)

32.767 Rotinas

68
3.4 TIPOS DE DADOS

Os controladores Logix 5000 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 os equipamentos do processo


 Documentar (através dos nomes de tags) suas aplicações bem como
desenvolvê-las

Quando você cria um tag, você atribui as seguintes propriedades:

Ao criar um tag na janela Tag Editor permite que você crie e edite os tags
ao usar uma visualização tipo planilha dos tags.

Siga estas etapas para criar um tag usando o software de programação


RSLogix 5000.

1. No Controller Organizer, clique com o botão direito do mouse em


Controller Tags e selecione Edit Tags. A janela Tag Editor aparece.

69
2. Escolha um escopo para o tag.

3. Insira um nome, tipo de dados e descrição (opcional) para o tag.


4. Especifique os atributos External Access e Constant.

3.4.1 CRIANDO UM TAG

70
3.4.2 TIPO DE DADO DE UM TAG

A tabela seguinte esboça os tipos mais comuns de dados e quando usar


cada um:

No sistema Logix 5000 podemos ter vários tipos de dados, conforme


abaixo.

a) Bool : tag a nível de bit, ou seja assumi apenas dois valores que são : 0
(desligado) e 1 (ligado).

71
b) SINT : esta tag utiliza 8 (oito) bits, ou seja assumi valores na faixa de -128
à +127.

c) INT : esta tag utiliza 16 (dezeseis) bits, ou seja assumi valores na faixa de
-32768 à +32767.

d) DINT : esta tag utiliza 32 (trinta e dois) bits, ou seja assumi valores na
faixa de - 2.147.483.648 à +2.147.483.647.

e) REAL : esta tag utiliza 32 (trinta e dois) bits, porém utilizada para trabalhar
com números não inteiros.

72
As tags acima podem ser criadas em duas pastas no RSLogix 5000, que
são nas pastas Controller Tags ou Program Tags. Ao clicar na pasta Controller
Tags ou Program Tags aparecerá a seguinte tela.

Na tela acima você tem duas opções para escolha que são:

Monitor Tags: Apenas para monitoração dos dados quando você estiver em
ON-LINE com o controlador.
Edit Tags: Utilizada para criação de Tags por exemplo do tipo BOOL

Selecione a pasta Edit Tags, digite o nome da tag na coluna “Tag Name”,
depois defina o tipo da tag na coluna “Type”

73
74
3.4.3 TAG COM ALIAS

Um tag alias permite que você crie um tag que representa outro tag.

 Ambos os tags compartilham o mesmo valor.


 Quando o valor de um dos tags muda, o outro tag reflete esta alteração
também.

Use aliases nas seguintes situações:

 Programar a lógica antes dos esquemas elétricos.


 Atribuir um nome descritivo a um dispositivo de E/S.
 Fornecer um nome mais simples para um tag complexo.
 Usar um nome descritivo para um elemento de um vetor.

Um uso comum de tags alias é programar a lógica antes dos esquemas


elétricos, lista de entradas e saídas ou diagrama de interligação estarem
disponíveis.

1. Para cada dispositivo de E/S, crie um tag com um nome que descreva o
dispositivo, como transportador para o motor do transportador.

2. Programe sua lógica usando nomes de tags descritivos.

75
Você pode até testar sua lógico sem conectar à E/S.

3. Mais tarde, quando os esquemas elétricos estão disponíveis, adicione os


módulos de E/S à configuração da E/S do controlador.

4. Finalmente, converta os tags descritivos em alias para seus respectivos


pontos de E/S ou canais.

76
Um é um simbolo para um
determinado endereço de entrada
ou de saída. Quando está entrada
ou saída é energizada, o tag com
alias /simbolo também será
energizada. A seguir vamos
verificar como fazer um alias
utilizando o RSLogix5000.
Na pasta Edit Tags, digite o
nome da tag na coluna “Tag
Name”, depois defina na coluna
“Alias For” a qual endereço a tag
criada será associada.

77
3.4.4 DADOS DEFINIDOS PELO USUÁRIO

Os tipos de dados definidos pelo usuário são estruturas que permitem que
você organize seus dados para que combinem com sua máquina ou processo.
Com a Tag Estruturada é possive criar um conjunto de tags com a finalidade
otimizar a memoria do controlador, estas tags podem ser dos seguintes tipos:
SINT, INT, DINT, REAL e etc. Exceto elementos do tipo BOOL.

Orientações para os tipos de dados definidos pelo usuário

Quando você criar um tipo de dado definidos pelo usuário, use estas
orientações:

 Se incluir os membros que representam os dispositivos de E/S, você deve


usar a lógica para copiar os dados entre os membros na estrutura e os
tags de E/S correspondentes.

Se você incluir um vetor como um membro, limite o vetor a uma única


dimensão. Os vetores de várias dimensões não são permitidos em um tipo de
dado definido pelo usuário.

78
 Quando usar os tipos de dados BOOL, SINT ou INT, coloque os membros
que usam o mesmo tipo de dado em sequência.

Descrição de um tipo de dados definidos pelo usuário

O software de programação RSLogix 5000 permite que você construa


automaticamente descrições fora das descrições em seus tipos de dados
definidos pelo usuário. Isto reduz significativamente a quantidade de tempo que
você precisa gastar documentando seu projeto.

Conforme você organiza seus tipos de dados definidos pelo usuário, tenha
em mente os seguintes recursos do software RSLogix 5000.

Criação de um tipo de dados definidos pelo usuário

79
1. Em Controller Organizer na pasta User-defined
em Data Types, clique com o botão direito do mouse
em User-Defined.

2. Selecione New Data Type.

3. Insira um nome e uma descrição para o tipo de


dados definidos Pelo usuário. Uma descrição é
opcional.

4. Para cada membro do tipo de dado definido


pelo usuário, insira um nome, tipo de dado, estilo e
descrição.
5. Clique na coluna External Access e selecione
um atributo.

Limite todos os vetores a uma única dimensão. Para exibir o valor do


membro em um estilo diferente (radix), selecione o tipo.

6. 6. Clique em Apply.

7. 7. Adicione quantos membros forem necessários.

80
A seguir vamos verificar como fazer uma tag estruturada utilizando o
RSLogix5000. Na árvore do projeto clique com o botão direito sobre a pasta
“User Defined”, selecione a opção “New Data Type”, conforme a figura abaixo.

81
Após selecionada a opção acima, aparecerá a seguinte tela:

Na tela acima deveremos configurar os seguintes itens:

Name : Neste campo iremos definir o nome da Tag Estruturada.

82
Description : Neste campo podemos fazer uma
descrição da utilização da Tag Estruturada em
questão.

Depois de definido o nome da tag


estruturada e a sua respectiva descrição, vamos
relacionar as tags que serão controladas pela
mesma.

Name : Nome da tag que será controlada pela


Tag Estruturada.

Data Type : Tipo da tag que será controlada pela


Tag Estruturada.

Para finalizar clique em OK e na pasta


“User Defined” localizada na árvore de projeto
será criado um arquivo com o nome definido no
campo “Name”, conforme figura ao lado.

Abra a pasta Controller


Tags ou Program Tags,
para que possamos criar
uma tag para controle da
tag estruturada criada
anteriormente.
Na coluna “Tag Name”
defina o nome da tag, em
seguida vamos definir o
“Type” neste campo
selecione o nome da tag
estruturada criada
anteriormente, conforme
demonstrado na figura ao
lado.

83
Para finalizar clique em OK e aparecerá a figura abaixo.

84
3.4.5 ENDEREÇO DE UM TAG

85
3.4.6 ARRAY

Array é uma matriz, de elementos de memória que pode assumir até 3


dimensões, estes elementos podem ser do tipo SINT, INT, DINT, REAL e etc.
Exceto elementos do tipo BOOL.

Os controladores Logix5000 também permite que você use os vetores


para organizar os dados.
Um tag que contém um bloco de várias partes de dados.

 Um vetor é semelhante a um arquivo.


 Dentro de um vetor, cada parte individual do dado é chamado de
elemento.
 Cada elemento usa o mesmo tipo de dado.
 Um tag do vetor ocupa um bloco contíguo de memória no controlador,
cada elemento na sequência.
 Você pode usar um vetor ou as instruções do sequenciador para
manipular ou indexar através do elementos de um vetor
 Você organiza os dados em um bloco de uma, duas ou três dimensões.

Configuração de um vetor
Para criar um vetor, você cria um tag e atribuir as dimensões com o tipo
de dado.

1. No Controller Organizer, clique com o botão direito do mouse em


Controller Tags e selecione Edit Tags.

2. A janela Tag Editor aparece.

86
3. Insira um nome para o tag e selecione um escopo para o tag.

4. Atribua as dimensões do vetor.

Exemplo Vetor de duas dimensões (x,y)

Você pode modificar as dimensões da matriz quando estiver programando


offline, sem perda dos dados de tags. Você não pode modificar as dimensões da
matriz quando estiver programando online.

87
A seguir vamos verificar como fazer um array utilizando o RSLogix5000.
Na pasta Edit Tags, digite o nome da tag na coluna “Tag Name”, depois defina o
tipo desta tag na coluna “Type”, neste momento a janela abaixo será exibida.

Nesta janela temos o campo Array Dimensions onde iremos definir as


dimensões que serão utilizadas para está tag. Após definidas as dimensões
clique em OK.

Atribuição de um endereço indireto

Ser você quiser que uma instrução acesse diferentes elementos em uma
tabela, use um tag no subscrito da matriz (um endereço indireto). Ao mudar o
valor do tag, você muda o elemento da matriz à qual sua lógica se refere.

88
A seguinte tabela descreve alguns usos comuns para um endereço
indireto:

O exemplo seguinte carrega uma série de valores pré-selecionados em


um temporizador, um valor (elemento de matriz) de cada vez.
Observe a matriz

A matriz timer_presets armazena uma série de valores pré-selecionados


para o temporizador na próxima 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
instrução carrega timer_presets[0] no temporizador (6000 ms).

Quando north_tank.step_time estiver completo, a linha incrementa o


north_tank.step para o número seguinte e aquele elemento da matriz
timer_presets é carregado no temporizador.

89
Quando o north_tank.step excede o tamanho da matriz, a linha reseta o
tag para começar no primeiro elemento da matriz. (A matriz contém elementos
de 0 a 3.)

Expressões

Você também pode usar uma expressão para especificar o subscrito de


uma matriz.
 Uma expressão usa operadores, como + ou –, para calcular um valor.
 O controlador calcula o resultado da expressão e usa-o como o subscrito
da matriz.

Você pode usar estes operadores para especificar o subscrito de uma


matriz:

Formate suas expressões como a seguir:

90
Buffe de E/S

O buffer de E/S é uma técnica na qual a lógica não faz referência nem
manipula diretamente os tags dos dispositivos de E/S reais. Ao invés disso, a
lógica usa uma cópia dos dados de E/S. O buffer de E/S é usado nas seguintes
situações:
 Para prevenir que um valor de entrada ou saída mude durante a
execução de um programa.
 Para copiar um tag de entrada ou saída para um integrante de uma
estrutura ou elemento de uma matriz.

Para armazenamento no buffer de E/S, realize estas ações:

1. Na linha, antes da lógica para a(s) função(ões), copie ou mova os


dados dos tags de entrada requisitados para seus tags de buffer
correspondentes.

2. Na lógica da(s) função(ões), faça referência aos tags do buffer.

3. Na linha, depois da(s) função(ões), copie os dados dos tags do buffer


para os tags de saída correspondentes.

91
Como as atualizações de E/S ocorre de forma assíncrona à execução da
lógica. Esta função é importante em situações onde não pode haver mudanças
durante a execução. Pode-se agrupar dois Slots de E/S digitais em um Tag com
tipo de dado “DINT”, assim o processamento é mais eficiente. Outra opção é
usar matriz e um vetor em uma lógica para fazer a polarização.

Organização de tags

A tabela esboça os quatro tipos de tags que podem ser criados e as


descrições que você pode documentar para cada um.

Tag Descrição
Quando você cria um tag sem especificar um tipo, o RSLogix
5000 atribui automaticamente um tipo padrão de seu tag como
Base. Como os tags base permitem que você crie seu próprio
Base
armazenamento de dados internos, você pode documentar a
natureza do dado que está sendo armazenado na descrição do
tag.
Ao criar um tag alias tag, você pode atribuir seu próprio nome a
um tag existente, membro do tag da estrutura ou bit. Na
Alias
descrição de seu tag alias, você pode descrever o tag que seu
tag alias referencia.
Um tag produzido refere-se a um tag que é consumido por outro
controlador. Na descrição de seu tag produzido, você pode
Produzido descrever os controladores remotos que você quer disponibilizar
como tags produzidos através de mensagens do controlador
para o controlador.
Um tag consumido refere-se a um tag que é produzido por outro
controlador e cujos dados você quer usar em seu controlador. Na
Consumido descrição de seu tag consumido, você pode descrever como
você quer usar os dados de um tag produzido ou o controlador
que produz o tag.

92
3.4.7 EXTERNAL ACCESS

Usando o atributo External Access, você pode controlar como as


aplicações e os dispositivos externos podem acessar os tags.

Este processo pode ajudar você a gerenciar os milhares de tags que,


provavelmente, você tem em um projeto com nomes semelhantes que podem
ser facilmente confundidos quando referenciados em aplicações ou dispositivos.

Usar este atributo também pode ajudar a melhorar o desempenho do


sistema reduzindo o número de tags do RSLinx precisa manter, varrer e colocar
em cache. Este volume pode afetar o desempenho do servidos de dados do
RSLinx e de outras aplicações relacionadas.

As aplicações e dispositivos externos incluem:

 Software RSLinx Classic e RSLinx Enterprise.


 outros controladores Logix.
 Terminais PanelView.
 Controladores CLP/SLC.
 Software FactoryTalk Historian.
 outros software de terceiros.

Configuração do acesso externo

Você pode configurar o acesso externos por meio de um menu pull-down


quando cria um novo tag ou tipo de dados. Você também pode modificar o valor
da mesma forma que faz com outros atributos de tags. Estas alterações podem
ser feitas através do software. Por exemplo, elas podem ser feitas no editor de
tipo de dados definido pelo usuário, na caixa de diálogo New Tag e na caixa de
diálogo Tag Properties.

O software de programação RSLogix 5000 tem total acesso a todos os


tags, independente das configurações de External Access. O atributo External

93
Access aplica-se a todos os tags de programas, controladores e instrução Add-
On.

Se o controlador estiver no modo de trava de segurança, somente os tags


de segurança não poderão ser acessados. Os tags padrão terão o mesmo
comportamento que o modo destravado.

94
3.5 LINGUAGENS DE PROGRAMAÇÃO

Cada rotina no seu projeto utiliza uma linguagem de programação


específica. Para programar em uma outra linguagem, como através de um
diagrama de blocos de funções, crie uma nova rotina.

95
96
Ao inserir uma nova rotina você deve selecionar qual linguagem de
programação você deseja utilizar.

Nem todas as instruções de programação estão disponíveis em todas as


linguangens de programação.

3.5.1 LÓGICA LADDER

97
A lógica ladder posiciona instruções de entrada e de saída em linhas.

Não há limite para o


número de níveis de
ramificação paralela que
você pode inserir. A figura a
seguir mostra uma
ramificação paralela com
cinco níveis. A linha
principal é o primeiro nível
da ramificação, seguido de
quatro ramificações
adicionais.

Você pode encadear as ramificações em até 6 níveis. A figura abaixo


mostra uma ramificação interna. A instrução final de saída está em uma
ramificação interna que tem três níveis de profundidade.

98
99
Como inserir lógica ladder

Para um controlador Logix5000, você deve inserir a lógica em rotinas.

Como abrir uma rotina


Ao criar um projeto, o software produz automaticamente uma rotina
principal que utiliza a linguagem de programação de diagrama ladder.

Como inserir lógica ladder

Uma maneira de inserir lógica é arrastar botões de uma barra de


ferramentas para o local desejado.

100
101
3.5.2 DIAGRAMA DE BLOCOS DE FUNÇÕES

Cada rotina no seu projeto utiliza uma linguagem de programação


específica. Para programar em uma outra linguagem, como através de um
diagrama de blocos de funções, crie uma nova rotina.

Os diagramas de blocos de funções são programas visuais que podem


conter os seguintes elementos. Cada bloco de funções é uma instrução que
define uma ação de controle.:

102
103
3.5.3 TEXTO ESTRUTURADO

O texto estruturado é uma linguagem de programação textual que usa as


declarações para definir o que executar. O texto estruturado é sem distinção
entre maiúsculas e minúsculas. Use as guias e mecanismo de retorno de carro
(linhas separadas) para tornar seu texto estruturado mais fácil de ler. Eles não
têm efeito na execução do texto estruturado. Este é um exemplo de uma rotina
de texto estruturado.

104
105
A inserção de espaços em uma sintaxe de texto estruturado é opcional.
Espaços não possuem efeito na execução do texto estruturado.

106
107
108
109
3.5.4 CONTROLE SEQÜENCIAL DE FUNÇÕES

110
111
3.5.5 GERENCIE TAREFAS

Com um controlador Logix5000, você pode usar múltiplas tarefas para


agendar e priorizar a execução de seus programas com base em critérios
específicos. Esta função divide o tempo de processamento do controlador entre
as diferentes operações na sua aplicação. Lembre-se que:

 O controlador executa somente uma tarefa de cada vez.


 Uma tarefa de exceção pode interromper outra e tomar o controle.
 Em qualquer tarefa, apenas um programa é executado de cada vez.

Desenvolva programas

O sistema operacional do controlador é um sistema multitarefa preemptivo


em conformidade com IEC 1131-3. Esse ambiente oferece:

 Tarefas para configurar a execução do controlador


 Programas para agrupar dados e lógica.
 Rotinas para encapsular códigos executáveis escritos em uma única
linguagem de programação.

Defina tarefas

Tarefas fornecem informações de agendamento e prioridade para


programas. Você pode configurar tarefas como contínuas, periódicas ou
eventuais. Somente uma tarefa pode ser contínua.

Uma tarefa pode ter até 32 programas separados, cada um com suas
próprias rotinas executáveis e tags com escopo de programa. Uma vez que uma
tarefa é disparada (ativada), todos os programas atribuídos à tarefa são
executados na ordem em que estão agrupados. Programas podem aparecer
somente uma vez no organizador do controlador e não podem ser compartilhado
por múltiplas tarefas.

Especifique prioridades de tarefas

112
Cada tarefa no controlador tem um nível de prioridade. O sistema
operacional usa o nível de prioridade para determinar qual tarefa executar
quando diversas tarefas são disparadas. É possível configurar tarefas periódicas
para serem executadas desde a prioridade mais baixa, de 15 até a prioridade
mais alta, de 1. Tarefas de prioridade mais alta interrompem quaisquer tarefas
de prioridade mais baixa. A tarefa contínua tem a prioridade mais baixa e é
sempre interrompida por uma tarefa periódica.

O controlador CompactLogix usa uma tarefa periódica específica na


prioridade 6 para processar dados de E/S. Essa tarefa periódica é executada no
RPI que você configura para o CompactBus, que pode ter velocidade de até uma
vez por milissegundo. Seu tempo de execução total é o tempo que leva para
varrer os módulos de E/S configurados.

O modo de configuração das suas tarefas afeta como o controlador recebe


dados de E/S. As tarefas com prioridade 1 a 5 têm precedência sobre a tarefa
de E/S exclusiva. As tarefas desse intervalo de prioridade podem causar impacto
no tempo de processamento de E/S. Por exemplo, se você usar a configuração
a seguir:

 E/S RPI = 1 ms
 Uma tarefa de prioridade = 1 a 5 que requer 500 μs para ser executada e
está programada para ser executada a cada milissegundo essa
configuração aloca 500 μs para a tarefa de E/S exclusiva concluir o
trabalho de varredura da E/S configurada.

Entretanto, se agendar duas tarefas de alta prioridade de 1 a 5 a cada


milissegundo, e ambas exigirem 500 μs ou mais para sua execução, não restará
tempo de CPU para a tarefa de E/S exclusiva. Além disso, se você tiver muitas
E/S configuradas e o tempo de execução da tarefa de E/S exclusiva for próximo
a 2 ms (ou o conjunto das tarefas de alta prioridade e das tarefas de E/S
exclusivas for próximo a 2 ms), não restará tempo de CPU para as tarefas de
baixa prioridade de 7 a 15.

Por exemplo:

Se seu programa precisa reagir a entradas e saídas de controle a uma


taxa definida, configure uma tarefa periódica com uma prioridade maior do que
6 (1 a 5). Fazer isso evita que a tarefa de E/S afete a taxa periódica do seu
programa. Entretanto, se o seu programa tem muita matemática e manipulação
de dados, posicione essa lógica em uma tarefa com prioridade mais baixa do
que 6 (7 a 15), como a tarefa contínua, para que a tarefa de E/S exclusiva não
seja afetada negativamente pelo seu programa.

113
Lembre-se que:

 A tarefa de mais alta prioridade interrompe todas as tarefas de prioridade


mais baixa.
 A tarefa de E/S exclusiva pode ser interrompida por tarefas com níveis de
prioridade de 1 a 5.
 A tarefa de E/S exclusiva interrompe tarefas com níveis de prioridade de
7 a 15. Essa tarefa é executada na taxa de RPI selecionada agendada
para o sistema CompactLogix (2 ms, neste exemplo).
 A tarefa contínua é executada na prioridade mais baixa e é interrompida
por todas as outras tarefas.
 Uma tarefa de prioridade mais baixa pode ser interrompida diversas vezes
por uma tarefa de prioridade mais alta.
 Quando a tarefa contínua completa uma varredura completa, ela se
reinicia imediatamente, a não ser que uma tarefa de prioridade mais alta
esteja sendo executada.

Defina programas

Cada programa contém:

 Tags de programa.
 Uma rotina principal executável.
 Outras rotinas.
 Uma rotina de falha opcional.

Cada tarefa pode agendar até 32 programas.

114
Programas agendados dentro de uma tarefa são executados
completamente desde o primeiro até o último. Programas não anexados a
nenhuma tarefa aparecem como programas não agendados. Você deve
especificar (agendar) um programa dentro de uma tarefa antes que o controlador
possa fazer a varredura do programa.

Defina rotinas

Uma rotina é um conjunto de instruções lógicas em uma única linguagem


de programação, como a lógica ladder. As rotinas fornecem um código
executável para o projeto em um controlador. Uma rotina é semelhante a um
arquivo de programa ou sub-rotina em um controlador CLP ou SLC.
Cada programa tem uma rotina principal. Esta é a primeira rotina a ser
executada quando o controlador dispara a tarefa associada e chama o programa
associado. Use lógica, como a instrução Jump to Subroutine ( JSR), para chamar
outras rotinas.
Também é possível especificar uma rotina de falha de programa opcional.
O controlador executa esta rotina se encontrar uma falha de execução de
instrução dentro de qualquer uma das rotinas no programa associado.

Desenvolvimento de programas

115
4. INSTRUÇÕES BÁSICAS DE PROGRAMAÇÃO

4.5 INSTRUÇÕES DE BIT

As instruções de bit são endereçadas através de elementos que


apresentem estados discretos (0 ou 1). Durante a operação, o processador pode
setar ou resetar o bit, baseado na continuidade lógica das linhas do programa
ladder.

XIC – Examine If Closed “Examine Se Fechado”

Utilize a instrução XIC para determinar se um bit está ligado. Quando


a instrução é executada, se o bit está ligado (1), então a instrução é
verdadeira. Caso contrário, a instrução é falsa.
Exemplo:
Enquanto chave_1 estiver em Um (1),
a condição da linha permanecerá
verdadeira e a próxima instrução será
habilitada.

XIO – Examine If Open “Examine Se Aberto”

Ao contrário da instrução XIC, utilize a instrução XIO para determinar


se um bit está desligado. Quando a instrução é executada, se o bit
está desligado (0), então a instrução é verdadeira. Caso contrário, a
instrução é falsa.

116
Exemplo:

Enquanto chave_1 estiver


em Zero (0), a condição da
linha permanecerá
verdadeira e a próxima
instrução será habilitada.

OTE – Output Energize “Energize a Saída”

Utilize a instrução OTE para ligar um bit (1), isso ocorrerá quando as
instruções de entrada da linha forem verdadeiras. Um exemplo de
aplicação é o acionamento de uma lâmpada (endereçada como
O:003/3, por exemplo).
Exemplo:

Enquanto a condição de entrada da linha


for verdadeira, a saída, saida_1,
permanecerá em Um ( 1 ).

OTL – Output Latch e OTU – Output Unlatch

As instruções OTL e OTU são saídas retentivas. Ou seja, após acionadas


manterão seu estado mesmo que as condições de entrada da linha se tornem
falsas. A instrução OTL é utilizada para ligar um bit enquanto a OTU desliga um
bit. Essas instruções são, normalmente, utilizadas em pares, com ambas as
instruções endereçando o mesmo bit.

Exemplo:
Quando a condição de entrada da linha for verdadeira, a saída saida_1
irá para Set, indo para o estado Um ( 1 ),
mantendo-se neste estado, mesmo
desabilitando a linha, até que seja dado
um Reset.

117
Exemplo:

Quando a condição da linha for verdadeira, a instrução OTU dará um


Reset no bit saida_ 1, que ficou em Set
com a instrução OTL. Quando
desabilitada, a instrução OTL não altera
o estado de um bit.

Inserindo Instruções e Endereços no Ladder


Após concluir este
capítulo, você será capaz de
inserir instruções, associar
endereços, verificar o
programa, monitorar on-line
e executar download/upload
do projeto.
Dê um clique sobre a
linha END (a linha será
marcada pela cor azul).
Clique sobre a instrução a
seguir na barra de
ferramentas de instruções.

Dê um clique sobre a instrução desejada na barra de ferramentas de


instruções

Proceda da mesma forma para a inserção de mais instruções. Note que


para a próxima instrução sempre será inserida a frente da instrução marcada
conforme figura abaixo.

118
Após a inserção das instruções, deve-se atribuir os endereços
correspondentes às mesmas. Para tanto, dê um duplo-clique sobre o ponto de
interrogação e defina o endereçamento conforme a figura a seguir

Uma outra forma de inserir instruções é através da digitação do


mnemônico das mesmas Dê um duplo-clique sobre o número da linha a ser
editada (a linha será marcada com a letra “e”-edição). Digite o mnemônico das
instruções separados por um espaço em branco. Para finalizar, tecle “Enter”.

Após a inserção das instruções, deve-se atribuir os endereços


correspondentes às mesmas. Para tanto, dê um duplo-clique sobre o ponto de
interrogação e defina o endereçamento conforme a figura a seguir.

119
Para inserir uma nova linha, clique em (New Rung) na barra de
ferramentas de instruções.

Uma nova linha será inserida abaixo da linha que estiver selecionada.

Para criar um paralelo (branch), marque a instrução sobre a qual será


colocado o paralelo e clique em (Rung Branch) na barra de ferramentas de
instruções.

120
Para criar vários paralelos, selecione a extremidade do paralelo e clique
com o botão direito do mouse. No menu pop-up, selecione “Extend Branch
Down”.

Para verifica a sintaxe da rotina ladder, selecione a linha que foi editada
(marcada com a letra “e”-edição) e clique em (Verify Rotine). Após está
verificação você poderá ter duas situações que são:
a) Não ocorrer nenhum erro, ou seja sua lógica ladder está OK
(eliminação das letras “e” ao lado das linhas).

121
b) Caso tenha algum erro aparecerá na parte inferior uma janela com
a relação dos erros que ocorreram, conforme figura abaixo corrija estes
erros e faça uma nova verificação.

Verificando um projeto Para verificar a sintaxe de todo o controlador, ou

seja, de todos os programas simultâneamente, clique em (Verify Controller).

Após está verificação você poderá ter duas situações que são:

a) Não ocorrer nenhum erro, ou seja sua lógica ladder está OK (eliminação
das letras “e” ao lado das linhas);

122
b) Caso tenha algum erro aparecerá na parte inferior uma janela com a
relação dos erros que ocorreram, conforme figura abaixo corrija estes erros e
faça uma nova verificação.

Para editar um programa quando o controlador estiver no modo Rem-


Run, em primeiro lugar deve-se marcar a linha que será alterada e clicar
no botão Start Rung Edits (ou dar um duplo-clique na linha que será editada).

Esse procedimento faz uma cópia exata acima da linha para que a mesma
possa ser modificada. Nessa cópia, por exemplo podemos colocar mais um
contato.

Depois de editada, marque a linha e clique no botão Accept Pending Rung


Edit ou no botão Accept Pending Program Edits Esse comando irá verificar se
não existem erros de sintaxe.

O primeiro botão verifica se não existem erros de sintaxe na


linha o segundo testa também se não existem erros de
sintaxe, mas em todas as alterações do programa.

Quando você executa esse procedimento a letra i vira I senão existir erros
na linha ou no programa.

Nesse momento o botão Test Program Edits é habilitado e ele serve para

testar se a alteração que foi feita está realmente correta


Após clicar nele a nova linha com as alterações passa a rodar e a linha
original deixa de rodar. Podemos verificar isso pela mudança de lugar da cor
na lateral do Ladder.

123
Se a alteração ficou correta deve-se clicar no botão Assemble Program
Edits que serve para confirmar as alterações. Esse procedimento faz
com que suma a linha orinal e permanessa apenas a nova linha.

Depois do teste se a alterações não foram corretas deve-se clicar no


botão Untest Program Edits que faz com que a linha original volta a ser
axecutada.

Os botões Cancel Program Edits e Cancel Pending Program Edits


servem para cancelar as alterações.

Para incluir uma nova linha on line, em primeiro lugar, devemos inserir
uma linha normalmente e editarmos a nova linha com as novas instruções.
Depois da nova linha pronta, devemos seguir os mesmos passos
quando editamos uma linha em ON-LINE, ou seja:

• Verificar se não existem erros de sintaxe com o comando Accept Pending


Rung Edit ou no botão Accept Pending Program Edits..
• Testar a nova linha (clicando no botão Test Program Edits) e, por último,
confirmar a linha com o comando Assemble Program Edits.

Pronto, a nova linha ja está


definitivamente no programa

Para deletar uma linha do Ladder deve-se marcar a linha e clicar no botão
Delete do computador. A letra D aparece ao lado da linha indicando que a linha
será deletada.

Testar a nova linha clicando no botão Test Program Edits e confirmar com o
botão
Assemble Programs Edits.

Pronto a linha foi deletada definitivamente do programa.

Instrução ONS

A instrução ONS é uma instrução de entrada que torna a linha


verdadeira por um ciclo de scan quando houver uma transição de
falso-para-verdadeiro na linha

124
Utilize a instrução ONS para realizar eventos momentâneos como, por
exemplo, congelar um valor em um Display.

É necessário utilizar uma tag do tipo Bool para a instrução, o qual


armazenará o último estado da linha.

Exemplo:

Quando chave_1 vai para Um (1), e a


instrução ONS, bit de
armazenamento_1, está em Zero (0),
esta habilita a seqüência da linha. Na
próxima varredura do programa, mesmo com chave_1 em Um (1), a seqüência
da linha é desabilitada. Para que se possa habilitar novamente a seqüência da
linha, é necessário que chave_1 vá para Zero e novamente para Um(1), ou que
seja dado um Reset no bit de armazenamento_1 (ONS).

Exemplo com SoftLogix 5800 v17:

125
Exercício

Criar uma rotina com o nome Liga/Desliga.

Elaborar um programa ladder para acionar uma saída digital quando for
dado um pulso num botão.

Desligar a mesma saída quando for dado um novo pulso no mesmo botão.

Utilizar somente as instruções: XIC, XIO, OTE, OTL, OTU e ONS.

126
4.6 CONTROLE DE FLUXO DO PROGRAMA

As instruções JSR, SBR e RET direcionam o processador para ir à outra


sub-rotina dentro do programa Ladder, executa a lógica dessa sub-rotina e
retorna para o ponto de onde foi chamada.

A instrução JSR direciona o processador para o arquivo de sub-rotina


específico.

A instrução SBR é utilizada na primeira linha da sub-rotina. A utilização


dessa instrução é opcional.

A instrução RET finaliza a sub-rotina. Utilize sub-rotinas para programar


lógicas que podem ser acessadas por múltiplos arquivos de programa ou para
organizar seu projeto. A sub-rotina economiza memória pois a programação
será feita apensa uma vez.

No programa Ladder, é necessário que se faça uma chamada para a sub-


rotina. Por exemplo, para que a rotina “Motores AC” seja executado, é
necessário programar uma instrução JSR na “Rotina Principal” direcionada para
a rotina “Motores AC”, caso contrário, a rotina “Motores AC” não será executada.

127
4.7 INSTRUÇÕES DE TEMPORIZAÇÃO

As instruções de temporização utilizam Tags do tipo TIMER, a seguir vamos


aprender como criar uma Tag para uso dos temporizadores.

As tags do tipo Timer podem ser criadas em duas pastas no RSLogix 5000,
que são nas pastas Controller Tags ou Program Tags.

Ao clicar na pasta Controller Tags ou Program Tags aparecerá a seguinte


tela.

Na tela acima você tem duas opções para escolha que são:
Monitor Tags: Apenas para monitoração dos dados quando você estiver em
ON-LINE com o controlador.
Edit Tags: Utilizada para criação de Tags por exemplo do tipo TIMER.
Selecione a pasta Edit Tags, digite o nome da tag na coluna “Tag Name”,
depois defina o tipo da tag na coluna “Type”.

128
Cada Tag do tipo Timer contém 3 palavras que são do tipo DINT. Por
exemplo, a Tag “Temporizador”, temos a palavra que armazena os bits de estado
(EN, TT, DN), a palavra que armazena o Preset (PRE) e a palavra que armazena
o valor do acumulador (ACC). Abaixo temos um exemplo de como ficam estes
endereços para utilização no ladder.

129
TON – Temporizador na Energização

Utilize a instrução TON para ligar ou desligar


uma saída após uma temporização
determinada no valor Preset (PRE). A instrução
TON inicia a contagem dos intervalos de tempo
quando a condição da linha se torna verdadeira. Enquanto a condição da linha
permanecer verdadeira, o temporizador incrementa o valor do Acumulador
(ACC) , baseado no Time Base, a cada ciclo de scan até que o valor do Preset
seja alcançado (PRE). O valor do Acumulador é resetado quando a condição da
linha vai para falso, independentemente do valor do Preset ter sido alcançado.
OBS.: A base de tempo do TON é de milissegundos (mseg).

O Bit É setado quando... E permanece setado até


que..
O valor acumulado é
As condições da linha se
Timer Done – DN maior ou igual ao valor do
tornem falsas.
preset.
As condições da linha são
verdadeiras e o valor e o As condições da linha se
Timer Timing – TT valor do acumulador é tornem falsas ou o bit de
menor que o valor do Done (DN) seja setado.
preset.
As condições de linha são As condições da linha se
Timer Enable – EM
verdadeiras. tornem falsas.

130
TOF – Temporizador na Desenergização

Utilize a instrução TOF para ligar ou desligar


uma saída após uma temporização
determinada no valor Preset (PRE). A
instrução TOF inicia a contagem dos
intervalos de tempo quando a condição da linha passa de verdadeira para falsa.
Enquanto a condição da linha permanecer falsa, o temporizador incrementa o
valor do Acumulador (ACC), baseado no Time Base, a cada ciclo de scan até
que o valor do Preset seja alcançado (PRE). O valor do Acumulador é resetado
quando a condição da linha vai para verdadeiro, independentemente do valor
do Preset ter sido alcançado.
OBS.: A base de tempo do TOF é de milesegundos (mseg).

O Bit É setado quando... E permanece setado até


que..
As condições da linha se
As condições de linha são tornem falsas e o valor do
Timer Done – DN
verdadeiras. acumulador é maior ou
igual ao valor do preset.
As condições da linha são As condições da linha se
falsas e o valor do tornem verdadeiras ou o bit
Timer Timing – TT
acumulador é menor que de Done (DN) seja
o valor do preset. setaddo.
As condições de linha são As condições da linha se
Timer Enable – EN
verdadeiras. tornem falsas.

RTO – Temporizador Retentivo

Utilize a instrução RTO para ligar ou desligar


uma saída após uma temporização
determinada no valor Preset (PRE). A
instrução RTO é uma instru ção retentiva
que começa a contar intervalos de tempo,
definidos no Time Base, quando a condição da linha se torna verdadeira.

A instrução RTO retém o valor do acumulador quando qualquer das


situações abaixo ocorrer:

· A condição da linha se tornar falsa


· O modo de operação do controlador passar de Run para Program
· A alimentação for perdida (desde que haja uma bateria de backup)
· Uma falha ocorrer

131
Quando o processador volta ao modo Run e/ou as condições da linha se
tornam verdadeiras, a temporização continua a partir do valor retido no
acumulador. Dessa forma, os temporizadores retentivos medem o período
acumulado durante o qual as condições da linha são verdadeiras.

Para resetar os bits de estado e o valor do acumulador de um


temporizador retentivo, é necessário programar uma instrução de
reset (RES) com o mesmo endereço do temporizador em uma
outra linha.

O Bit É setado quando... E permanece setado até


que..
O valor acumulado é
As condições da linha se
Timer Done – DN maior ou igual ao valor do
tornem falsas.
preset.
As condições da linha são
verdadeiras e o valor e o As condições da linha se
Timer Timing – TT valor do acumulador é tornem falsas ou o bit de
menor que o valor do Done (DN) seja setaddo.
preset.
As condições de linha são As condições da linha se
Timer Enable – EM
verdadeiras. tornem falsas.

Exercício: Criar uma lógica Ladder para implementar um pisca-pisca cujo


funcionamento segue o gráfico abaixo:

Ligado Desligado
3.6s 1.2s

132
4.8 INSTRUÇÕES DE CONTAGEM

As instruções de contagem utilizam Tags do tipo COUNTER, a seguir vamos


aprender como criar uma Tag para uso dos contadores.

As tags do tipo Counter podem ser criadas em duas pastas no RSLogix


5000, que são nas pastas

Controller Tags ou Program Tags.

Ao clicar na pasta Controller Tags ou Program Tags aparecerá a seguinte tela.

Na tela acima você tem duas opções para escolha que são:

Monitor Tags: Apenas para monitoração dos dados quando você estiver em
ON-LINE com o controlador.
Edit Tags: Utilizada para criação de Tags por exemplo do tipo TIMER.

133
Selecione a pasta Edit Tags, digite o nome da tag na coluna “Tag Name”,
depois defina o tipo da tag na coluna “Type”.

Cada Tag do tipo Counter contém 3 palavras que são do tipo DINT. Por
exemplo, a Tag “Contador”, temos a palavra que armazena os bits de estado
(CU, CD, DN, OV e UN), a palavra que armazena o Preset (PRE) e a palavra
que armazena o valor do acumulador (ACC). Abaixo temos um exemplo de como
ficam estes endereços para utilização no ladder.

134
CTU – Contador Crescente

O CTU é uma instrução que conta as


transições de falso-para-verdadeiro da
linha. As transições da linha podem ser
causadas por eventos ocorridos no
programa ou em dispositivos externos
como peças passando em um sensor ou atuando uma chave
de fim-de-curso.

Quando a condição da linha passa por uma transição de falso-para-


verdadeiro, o valor do acumulador é incrementado.

O valor do acumulador é retido quando a linha torna-se novamente falsa.


Da mesma forma, os valores dos bits de status também são retidos. Assim, para
resetar os bits de estado e o valor do acumulador de um contador, é necessário
programar uma instrução de reset (RES) com o mesmo endereço do contador
em uma outra linha.

O bit É setado quando... E permanece setado até


quando...
Um comando RES seja
executado com o mesmo
O valor do Acumulador endereço do contador ou o
Overflow - OV é maior que contador decremente para
+2.147.483.647 um valor menor ou igual a
+2.147.483.647 utilizando
uma instrução CTD
O valor do Acumulador O valor do Acumulador se
Done – DN é maior ou igual ao torne menor que o valor do
valor do Preset Preset
As condições da linha se
tornem falsas ou um
As condições da linha são
Count Up Enable - CU comando RES seja
verdadeiras
executado com o mesmo
endereço do contador.

135
CTD – Contador Decrescente

O CTD é uma instrução que conta as transições


de falso-para-verdadeiro da linha. As transições
da linha podem ser causadas por eventos
ocorridos no programa ou em dispositivos
externos como peças passando em um sensor ou atuando uma chave de fim-
de-curso. Quando a condição da linha passa por uma transição de falso-para-
verdadeiro, o valor do acumulador é decrementado.

A instrução CTD também é retentiva, assim, para resetar os bits


de estado e o valor do acumulador, é necessário programar uma
instrução de reset (RES) com o mesmo endereço do contador
em uma outra linha.

O bit É setado quando... E permanece setado até


quando...
Um comando RES seja
executado com o mesmo
O valor do Acumulador endereço do contador ou o
Underflow - UN é maior que - contador incremente para
2.147.483.647 um valor maior ou igual a -
2.147.483.647 utilizando
uma instrução CTU
O valor do Acumulador
Done – DN é maior ou igual ao Menor que o valor do Preset
valor do Preset
As condições da linha se
tornem falsas ou um
Count Down Enable - As condições da linha são
comando RES seja
CD verdadeiras
executado com o mesmo
endereço do contador.

136
4.9 INSTRUÇÕES DE CONVERSÃO DE DADOS

TOD - To BCD FRD - From BCD

A instrução TOD converte um valor A instrução FRD converte um valor


em Decimal para BCD de 4 dígitos. em BCD de 4 dígitos para a base
Decimal.

Exercício

1- Criar um arquivo número___ com nome RELÓGIO.


2- Programar um relógio para funcionar conforme descrição abaixo:
60s => 1min => 60 min => 1hora => 23:59:59 24horas 00:00:00
a) O relógio inicia a operação ao apertarmos uma chave retentiva do
simulador.
b) Na tag “Horas” o programa deverá mostrar as horas do relógio
c) Na tag “Minutos” o programa deverá mostrar os minutos do relógio

137
4.10 INSTRUÇÕES DE LÓGICA

As instruções abaixo realizam operações lógicas bit-a-bit. A operação é


feita com o valor da fonte A (Source A) e da fonte B (Source B). O resultado é
armazenado no destino. “Source A” e “Source B” podem ser um endereço ou
uma constante; entretanto ambos não podem ser uma constante.

138
139
4.11 INSTRUÇÕES MATEMÁTICAS

Para as instruções de adição (ADD), subtração


(SUB), multiplicação (MUL) e divisão (DIV), devem-se
informar 3 parâmetros (parcela A, parcela B e o destino
do resultado) podendo-se utilizar tag’s dos tipos DINT,
INT, SINT, REAL ou Constantes.

Não é permitido a utilização de constantes na parcela A


e na parcela B simultâneamente.

Caso o destino seja uma tag do tipo DINT, INT ou


SINT, o resultado da operação será arredondado para
ser armazenado no destino.

A instrução NEG inverte o sinal do valor contido no


parâmetro “Source” e armazena o resultado no destino
“Dest”.

A instrução SQR calcula a raíz quadrada do parâmetro


informado em “Source” e escreve o resultado no
parâmetro “Dest”.

A instrução CLR zera o conteúdo da variável informada no


parâmetro “Dest”.

140
Exercício E: Desenvolver uma
lógica ladder para controle de
produção das Esteiras A, B, C e
Total Produzido, conforme
descrição abaixo:

Mostrar nas tag’s “Esteira_A”,


“Esteira_ B”, “Esteira_C” a produção
máxima que cada esteira poderá
alcançar no período de 1 hora.

Mostrar na tag “Total” a produção


total máxima no período de 1 dia.

A instrução CPT permite que


várias operações matemáticas
sejam executadas de uma só vez.
Para essa instrução, devem ser
informados o endereço do destino (Dest) e a expressão matemática
correspondente à operação.

A tabela abaixo apresenta os símbolos que se insere na expressão da


instrução CPT para definir uma operação e apresenta também um exemplo

141
Operação Símbolo Exemplo
Adição + (sinal de mais) Arquivo_A + Arquivo_B
Subtração - (sinal de menos) Arquivo_A - Arquivo_B
Multiplicação * (asterisco) Arquivo_A * Arquivo_B
Divisão / (barra) Arquivo_A / Arquivo_B
Raiz Quadrada SQR SQR Arquivo_A
Negação - (sinal de menos) - Arquivo_A
Conversão para BCD TOD TOD Destino
Conversão de BCD FRD FRD Destino
E AND Arquivo_A AND Arquivo_B
OU OR Arquivo_A OR Arquivo_B
OU Exclusivo XOR Arquivo_A XOR Arquivo_B
Complementação NOT NOT Arquivo_A
Zeramento Entrar ‘0’ na Expressão 0
Entrar somente Arquivo_A
endereço Fonte ou
constante de programa
Movimentação para a expressão

4.12 INSTRUÇÕES DE MOVIMENTAÇÃO

MOV – Move

Essa instrução de saída move o valor de “Source” para


“Dest”. Enquanto a linha permanecer verdadeira, a
instrução moverá os dados a cada ciclo de scan.

Parâmetros:
Source – é o endereço ou a constante que se deseja mover.
Dest – é o endereço para onde o dado será movido.

142
MVM – Masked Move

A instrução MVM move dados de uma fonte (Source) para


um destino (Dest) através de uma máscara.

Se o bit da máscara for igual a um, o bit correspondente


da fonte será movido para o destino; se o bit da máscara
for igual a zero, o bit correspondente da fonte não será
movido para o destino, ou seja, esses bits do destino não
serão alterados.
Parâmetros:
Source – é o endereço ou a constante que se deseja mover.

Mask – é o endereço ou a constante correspondente à máscara. Quando for uma


constante, podemos utiliza-la em “binária” ou “hexadecimal” para mudar a base
da máscara. Por exemplo, ao invés de digitar –1 como uma constante, pode-se
digitar 2#1111111111111111 ou 16#FFFF.
Dest – é o endereço para onde o dado será movido.

Exemplo do MVM:

Valor do Source (antes do movimento): 0101 0101 0101 0101


Valor da Mascara (hexadecimal): 1111 0000 1111 0000
Valor do Destino (antes do movimento): 1111 1111 1111 1111
__________________
Valor do Destino (após o movimento): 0101 1111 0101 1111

143
4.13 INSTRUÇÕES DE COMPARAÇÃO

As instruções de comparação são instruções de entrada. Conforme o


resultado da comparação, a instrução de saída será habilitada ou não.

O parâmetro “Source A” deve ser um endereço. “Source B” pode ser uma


constante ou um endereço.

EQU - Igual a
Utilize a instrução EQU para testar se dois valores são
iguais. Se “Source A” e “Source B” são iguais, a instrução
é verdadeira e a saída é habilitada

NEQ – Não igual


Utilize a instrução NEQ para testar se dois valores são
diferentes. Se “Source A” e “Source B” são diferentes, a
instrução é verdadeira e a saída é habilitada.

LES – Menor Que


Utilize a instrução LES para testar se um valor (Source
A) é menor que outro (Source B). Se “Source A” é menor
que “Source B” a instrução é verdadeira e a saída é
habilitada.

LEQ – Menor ou Igual


Utilize a instrução LEQ para testar se um valor (Source
A) é menor ou igual a outro (Source B). Se “Source A”
é menor ou igual a “Source B” a instrução é verdadeira
e a saída é habilitada.

GRT – Maior Que


Utilize a instrução GRT para testar se um valor (Source
A) é maior que outro (Source B). Se “Source A” é maior
que “Source B” a instrução é verdadeira e a saída é
habilitada.

144
GEQ – Maior ou Igual
Utilize a instrução GEQ para testar se um valor (Source
A) é maior ou igual a outro (Source B). Se “Source A” é
maior ou igual a “Source B” a instrução é verdadeira e
a saída é habilitada

MEQ – Mover com Mascara


A instrução MEQ compara dados de uma fonte (Source)
com um valor definido (Compare) através de uma
máscara.

Se o bit da máscara for igual a um, o bit correspondente


da fonte será comparado ao valor do parâmetro
“Compare”; se o bit da máscara for igual a zero, o bit
correspondente da fonte não será relevante na
comparação.

Parâmetros:
Source – é o endereço ou a constante que se deseja comparar.

Mask – é o endereço ou a constante correspondente à máscara. Quando for uma


constante, podemos utiliza-la em “binária” ou “hexadecimal” para mudar a base
da máscara.

Por exemplo, ao invés de digitar –1 como uma constante, pode-se digitar


2#1111111111111111 ou 16#FFFF.
Compare – é o endereço ou constante com a qual será feita a comparação.

Exercício

1 - Criar uma rotina com nome SOMADOR.


2 - Programar um somador para funcionar conforme descrição abaixo:
a- O somador inicia a operação ao apertarmos uma chave retentiva do
simulador.
b- b- O somador deverá somar valores de 10 em 10 a cada 2seg. ,
iniciando no zero.
c- c- Quando o valor for maior que 150, zerar e iniciar o ciclo
novamente.
d- d- Mostrar o resultado na Tag “Somador”.

145
LIM – Limite

Utilize a instrução LIM para testar valores dentro ou fora


de uma faixa específica, dependendo de como os limites
são definidos.

a) O limite inferior (Low Limit), o valor a ser testado (Test) e o limite superior
(High Limit) podem ser endereços ou constantes, restrito às seguintes
combinações:Se o parâmetro “Test” é uma constante, os parâmetros “Low
Limit” e “High Limit” devem ser endereços;

b) Se o parâmetro “Test” é um endereço, os parâmetros “Low Limit” e “High


Limit” podem ser endereços ou constantes;

Se o limite inferior (Low Limit) tem um valor igual ou menor ao limite


superior (High Limit), a instrução é verdadeira quando o valor testado (Test) está
entre os limites ou é igual à um dos limites, caso contrário, a instrução é falsa,
como mostrado abaixo.

Se o limite inferior (Low Limit) tem um valor maior que o limite superior
(High Limit), a instrução é falsa quando o valor testado (Test) está entre os
limites. Se o valor testado (Test) está fora dos limites ou é igual à um dos limites,
a instrução é verdadeira, como mostrado abaixo.

146
Exercício:

01. Criar uma rotina com nome Tanque, referente ao TQ-01. A malha de controle
de nível do TQ-01, deve funcionar da seguinte forma:

a) O nível do tanque será monitorado pelo LIT-01, 0 a 10 metros


Especifique a entrada analógica: ______________________________.

b) Quando o nível do tanque atingir 3,5m, deve ser gerado um alarme de


nível baixo. Caso o nível seja inferior 2m a XV-02 deve ser fechada e
só poderá ser aberta quando o nível for superior a 3m e a XV-01 deve
permanecer aberta até o nível atingir 5m.

c) Se o nível 7,5m, deve ser gerado um alarme de nível alto. Se o nível


for superior a 8,5m válvula XV-01 deve ser fechada e a XV-01 deve ser
aberta até o nível atingir 7m.

147
4.14 ACESSO AOS VALORES DE SISTEMA

Os valores de sistema são armazenados pelo controlador, como não há


arquivos de status em controladores da família Logix 5000, como na familía Logix
500 ou PLC-5, as informações de sistemas são obtidas através das instruções
GSV e SSV. Estas instruções obtêm e definem os dados do sistema dos
controladores Logix 5000 que são armazenas no objetos.

Monitoração de Flags de Status

O controlador suporta as palavras-chave de status que podem ser usadas


na lógica para monitorar eventos específicos:

As palavras-chave de status não são sensíveis ao contexto. Como os flags


de status podem mudar rapidamente, o software RSLogix 5000 não exibe o
status dos flags. Não é possível definir alias do tag para uma palavra-chave.

Obtenção e Definição de Dados do Sistema (Informações de Status)

O controlador armazena os dados do sistema nos objetos. Use as


instruções GSV/SSV de leitura e escrita dos dados do sistema do controlador
que estão armazenados em objetos: Para obter ou energizar um valor do
sistema:+

Selecione o objeto de sistema que você quer:

148
Na lista de atributos para o objeto, identifique o atributo que quer acessar.

Crie um tag para o valor do atributo:

Obtenção do Valor do Sistema (GSV) e Definição do Valor do Sistema (SSV)

As instruções GSV/SSV obtêm e definem os dados do sistema do


controlador que estão armazenados nos objetos.

149
As instruções GSV/SSV obtêm e definem os dados do sistema do
controlador que estão armazenados nos objetos. O controlador armazena os
dados do sistema nos objetos. Não há arquivo de status, como no controlador
CLP-5.
Quando habilitada, a instrução GSV recupera a informação específica e a
coloca no destino. Quando habilitada, a instrução SSV define o atributo
especificado com os dados da fonte.

Ao inserir uma instrução GSV/SSV, o software de programação exibe as


classes válidas de objeto, os nomes do objeto e os nomes de atributo para cada
instrução. Para a instrução GSV, você pode obter valores para todos os atributos
disponíveis. Para a instrução SSV, o software exibe somente aqueles atributos,
cuja configuração é permitida.

Informações de Status Disponíveis - Objetos GSV/SSV

Atributos do CONTROLADOR

Atributos CONTROLLERDEVICE

150
Atributos CST

Atributos DF1

151
152
Atributos FAULTLOG

Atributos MESSAGE

Atributos MODULE

153
Exercício:

Crie uma lógica para monitorar o status dos cartões de Entradas e Saídas
do CLP. Crie uma tela no supervisório com nome “Unitech - Arquitetura de
Automação” para monitorar os cartões do CLP, Falhas na CPU e identificação
do CLP usado.

Atributos PROGRAM

154
Atributos WALLCLOCKTIME

Exercício:

01. Crie uma lógica lógica para buscar data e hora armazenada no CLP.

02. Crie uma lógica sincronismo do relório CLP e o relógio do supervisório


sempre que a diferença for supeior a 5 segundos.

155
5. COMUNICAÇÃO COM O CLP E REDE INDUSTRIAL

156
5.1 CONEXÃO DIRETA AO CONTROLADOR ATRAVÉS DA
PORTA SERIAL

O canal 0 dos controladores CompactLogix é totalmente isolado e não


necessita de um dispositivo de isolamento separado. O canal
1 do 1769-L31 é uma porta serial não isolada.
Para que o controlador CompactLogix opere em uma rede
serial, você precisa:

 de uma estação de trabalho com uma porta serial


 do software RSLinx para configurar o driver de
comunicação serial
 de um software de programação RSLogix 5000 para
configurar a porta serial do controlador

157
4. Especifique as configurações da porta
serial:

a. Na lista drop-down Comm Port, selecione


a porta serial (na estação de trabalho) em
que o cabo está conectado.
b. Na lista drop-down Device, selecione
Logix 5550-Serial Port.
c. Clique em Auto-Configure.

5. Auto Configuration Successful!

158
159
5.2 FUNDAMENTOS DE REDE ETHERNET/IP

Neste curso utilizaremos a rede com


protocolo Industrial EtherNet
(EtherNet/IP), que é uma conexão de
rede industrial aberta que suporta
envio de mensagens implícitas (envio
de mensagens de E/S em tempo
real), envio de mensagens explícitas (troca de mensagens) ou ambos, além de
usar os circuitos integrados de comunicação e meio físico.
A EtherNet/IP padrão usa:

o IEEE 802.3 Física e Link de dados padrão


o Conjunto de protocolos EtherNet TCP/IP (Protocolo de Controle de
Transmissão/Protocolo de Internet), a EtherNet padrão de indústria.

160
o Protocolo de Controle e Informações (CIP), o protocolo que fornece
envio de mensagens padrão e envio de mensagens de informações
/peer-to-peer.

161
Os módulos de comunicação EtherNet/IP:

 Suportam envio de mensagens, tags produzidos/consumidos, IHM e


E/S distribuída
 Encapsulam mensagens dentro do protocolo TCP/UDP/IP padrão
 Compartilham a mesma camada de aplicação com a ControlNet e com
a DeviceNet
 Fazem interface através do RJ45, categoria 5, cabo par trançado não
blindado
 Suportam operações de transmissão half/full duplex de 10 Mbps ou
100 Mbps
 Não precisam de sequenciamento de rede
 Não precisam de tabelas de roteamento

Neste exemplo:

 Os controladores podem produzir e consumir tags entre eles.


 Os controladores podem iniciar as instruções MSG que
enviam/recebem dados ou configuram dispositivos.
 O microcomputador pode carregar/descarregar projetos para os
controladores.
 O microcomputador pode configurar os dispositivos na EtherNet/IP

162
5.2.1 CONEXÕES NA ETHERNET/IP

Você determina, de forma indireta, o número de conexões que o


controlador usa através da configuração do controlador para se comunicar com
outros dispositivos no sistema. As conexões são alocações de recursos que
fornecem comunicação mais confiável entre os dispositivos do que mensagens
não conectadas.

Controlador Backplane ControNet EtherNet


SCL 500 ✔
CLP-5 ✔
ControlLogix ✔ ✔ ✔
1769 CompacLogix ✔ ✔
1768 CompacLogix ✔
SofLogix 5800 ✔ ✔ ✔
DriveLogix ✔ ✔

Todas as conexões EtherNet/IP são não programadas. Uma conexão não


programada é uma transferência de mensagem entre controladores que é
disparada pelo intervalo do pacote requisitado (RPI) ou pelo programa (tal como
uma instrução MSG). O envio de mensagem não programada permite que você
envie e receba dados quando necessário.

163
Os controladores 1769-L32E e 1769-L35E suportam 100 conexões,
porém a porta EtherNet/IP incorporada suporta somente 32 conexões CIP na
rede EtherNet/IP. Com estes controladores, o número de conexões de fim de nó
que realmente suportam depende do RPI da conexão:

Se o RPI para a Conexões de


conexão for comunicação suportadas
2 ms 2
4 ms 5
8 ms 10
16 ms 18
32 ms 25

É possível usar todas as 32 conexões de comunicação com a porta


EtherNet/IP incorporada. Entretanto, recomendamos que você deixe algumas
conexões disponíveis para trabalhos como entrar em comunicação, e não para
fins de E/S.
Ethernet TCP and CIP Connections for ControlLogix and CompactLogix

ControlLogix & CompactLogix Ethernet TCP CIP

1756-ENBT 64 TCP 128 CIP connections

1756-EN2T 128 TCP 256 CIP connections

depends on depends on firmware


1768-ENBT
firmware revision revision

1769-L3xE 32 TCP 32 CIP connections

1769-L23E 8 TCP 32 CIP connections

O número de ligações mantém-se inalterado, independentemente do tipo


de ligação. Otimização do Rack reduz o número de conexões necessárias, mas
uma conexão ainda é uma conexão.

Exercício: Identifique o número de conexões de comunicação e conexões


CIP na rede EtherNet/P.

IP: ________________________ CPU: _____________________


Conexões: ________________________ CIP: _____________________

164
5.3 COMUNICAÇÃO COM OUTRO CONTROLADOR

Em muitas aplicações é necessário enviar e receber dados usando as


portas de comunicação do controlador. Existem diversas estruturas de rede e
protocolos de comunicação industrial.

Na fampilia Logix 5000, podemos transferir dados entre controladores


(enviar ou receber dados), usando um desses métodos:

 Produção e Consumo de um tag;


 Envio de uma mensagem

5.3.1 PRODUÇÃO E CONSUMO DE UM TAG

Um tag produzido envia seus dados para um ou mais tag consumidos


(consumidores) sem usar a lógica ladder.

O controlador suporta
a capacidade de produzir
(transmitir) e consumir
(receber) tags compartilhados
pelo sistema nas redes
EtherNet/IP ou ControlNet.
Tags produzidos e
consumidos: cada um
necessita de conexões. Em
ControlNet, os tags
produzidos e consumidos são
conexões agendadas.

Tipo de Tag Descrição


Um tag produzido permite que outros controladores
consumam o tag, o que significa que um controlador pode
receber os dados do tag de outro controlador. O controlador
produtor usa uma conexão para o tag produzido e outra para
cada consumidor. O dispositivo de comunicação do
Produzidos controlador usa uma conexão para cada consumidor. À
medida que você aumenta o número de controladores que
podem consumir um tag produzido, você também reduz o
número de conexões que o controlador e o dispositivo de
comunicação têm disponíveis para outras operações, como
comunicação e E/S.

165
Cada tag consumido requer uma conexão para o controlador
Consumidos que está consumindo o tag. O dispositivo de comunicação do
controlador usa uma conexão para cada consumidor.

Para que dois controladores compartilhem tags produzidos ou


consumidos, ambos os controladores devem estar conectados à mesma rede
Ethernet/IP ou ControlNet. Não é possível fazer ponte de tags produzidos e
consumido em duas redes.

O número de conexões disponíveis limita o número total de tags que


podem ser produzidos ou consumidos. Se o controlador usar todas as suas
conexões para dispositivos de comunicação e E/S, não haverá conexões
disponíveis para tags produzidos e consumidos.

Envie e receba mensagens

As mensagens transferem dados para outros dispositivos, tais como


controladores ou interfaces de operação. As mensagens usam conexões não
agendadas para enviar ou receber dados. As mensagens conectadas podem
deixar a conexão aberta (cache) ou fechar a conexão quando a mensagem
termina de ser transmitida.

As mensagens conectadas são conexões não agendadas das redes


ControlNet e EtherNet/IP.

Cada mensagem usa uma conexão, independentemente de quantos


dispositivos estiverem no caminho da mensagem. É possível programar o alvo
de uma instrução MSG para otimizar o tempo de transferência da mensagem.

166
Decida gravar ou não em cache

As conexões de mensagem quando você configura uma instrução MSG,


pode guardar ou não a conexão em cache.

Conexões

Um sistema Logix5000 usa uma conexão para estabelecer um link de


comunicação entre dois dispositivos. As conexões podem ser:

 Controlador com módulos de E/S locais ou módulos de comunicação


locais.
 Controlador com E/S remota ou módulos de comunicação remotos.
 Controlador com módulos de E/S remota (otimizados para rack).
 Tags produzidos e consumidos.
 Mensagens.
 Acesso ao controlador por meio do software de programação rslogix 5000.
 Acesso ao controlador via software rslinx para aplicações IHM ou outras
aplicações.

O limite de conexões pode depender do módulo de comunicação usado


para a conexão. Se o roteamento do caminho de mensagem passar por um
módulo de comunicação, a conexão relacionada à mensagem também será
contabilizada no limite de conexões do módulo de comunicação.

Exemplo de conexões

Nesse sistema de exemplo, o controlador compactlogix 1769-L35E:

 Controla módulos de E/S digitais locais de um mesmo rack.


 Controla dispositivos de E/S remotos em uma rede devicenet.
 Envia e recebe mensagens para e de um controlador controllogix
em uma rede ethernet/IP.
 Produz um tag que é consumido pelo controlador 1794 flexlogix.
 É programado por meio do software de programação rslogix 5000.

167
Organização de Tags para Dados Produzidos ou Consumidos

Ao criar os tags que eventualmente produzirão ou consumirão dados


(dados compartilhados), siga estas orientações:

1. Crie os tags no escopo do controlador. Somente tags de uso geral do


controlador podem ser compartilhados.

2. Use um destes tipos de dados:

 DINT
 REAL
 array de DINTs ou REALs
 definido pelo usuário

168
3. Para compartilhar um tipo de dados diferente dos listados nas orientações
2., crie um tipo de dados definidos pelo usuário que contenha os dados
requisitados.

4. Use o mesmo tipo de dados para o tag produzido e para o(s) tag(s)
consumido(s) correspondente(s).

Limite o tamanho do tag para menor ou igual a 500 bytes. Caso você deva
transferir mais de 500 bytes, crie a lógica para transferir os dados em pacotes.

5. Se você produzir o tag na rede ControlNet, o tag pode precisar ter menos
de 500 bytes. Consulte “Ajuste para Limitações de Largura da Banda” na
página 10-10.

6. Se estiver produzindo diversos tags no mesmo controlador:

 Agrupe os dados em um ou mais tipos de dados definidos pelo usuário.


(Isto usa menos conexões que a produção de cada tag separadamente).

 Agrupe os dados de acordo com as taxas de atualização 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 são críticos e outro
tag para dados que não são críticos.

Produção de um Tag

1. Abra o projeto RSLogix 5000 que contém 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 são de uso geral do controlador podem produzir dados).

4. Selecione o tag que produzirá os dados e pressione as teclas ALT + Enter.

169
5. Selecione o botão da opção Produced.

6. Digite ou selecione o número de controladores que consumirão


(receberão) o tag.

7. Clique em OK.

8. Configure o tag em outro(s) controlador(es) para consumir este tag


produzido.

Consumo de um Tag Produzido

1. Abra o projeto RSLogix 5000 que consumirá o tag produzido.

2. No organizador do controlador, I/O Configuration (Configuração da E/S),


adicione o controlador que contém o tag produzido.

3. A partir do menu Logic, selecione Edit Tags.

4. A partir de Scope, selecione name_of_controller (controlador) (Apenas


tags que são de uso geral do controlador podem consumir outros tags).

170
5. Selecione o tag no controlador que consumirá o tag produzido e pressione
as teclas ALT + Enter.

6. Selecione o botão da opção Consumed.

7. Selecione o controlador que contém 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 atualizações do tag:

 Use o valor mais alto permitido para sua aplicação.


 Caso o controlador consuma o tag na rede ControlNet, use um binário
múltiplo da ControlNet tempo de atualização 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.

171
12. Se você compartilhar o tag em uma rede ControlNet, use o software
RSNetWorx for ControlNet para programar a rede.

Importante

Se uma conexão de tag consumido falhar, todos os outros tags que são
consumidos a partir daquele controlador remoto param de receber os novos
dados.

Ajuste para Limitações de Largura da Banda

Quando você compartilhar um tag em uma rede ControlNet, o tag deve


adequar-se à largura de banda da rede:

Conforme o número de conexões de uma rede ControlNet aumenta várias


conexões, inclusive os tags produzidos ou consumidos, podem precisar
compartilhar um tempo de atualização da rede (NUT).

Como uma rede ControlNet pode passar somente 500 bytes em uma
atualização, os dados de cada conexão devem ser menores que 500 bytes para
adequar-se ao NUT.

Dependendo do tamanho de seu sistema, você pode não ter a largura de


banda suficiente em sua rede ControlNet para um tag de 500 bytes. Se um tag
for muito grande para sua rede ControlNet, faça um ou mais dos seguintes
ajustes:

Reduza seu Tempo de Atualização da Rede (NUT). Com um NUT mais


rápido, menos conexões têm que compartilhar uma ranhura de atualização.

Aumente o Intervalo Requisitado para Atualização (RPI) das suas


conexões. Com RPIs mais altos, as conexões podem se alternar no envio de
dados durante uma atualização de ranhura.

Para um módulo ponte ControlNet (CNB) em um chassi remoto, selecione


o formato de comunicação mais eficiente para aquele chassi:

172
O formato Rack Optimization usa um adicional de 8 bytes para cada
ranhura no chassi. Os módulos analógicos ou os módulos que estão enviando
ou obtendo dados de diagnóstico, fusível, registro de data e hora ou
programados requisitam conexões diretas e não podem aproveitar o formato de
otimização de gaveta. A seleção 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 atualização similares.

Por exemplo, você pode criar um tag para dados que são críticos e outro
tag para dados que não são críticos.
 Atribuir um RPI diferente para cada variável.
Criar uma lógica para transferir os dados em seções menores (pacotes).

173
5.4 MENSAGEM

A instrução MSG realiza a leitura ou escreve de


forma assíncrona em um bloco de dados para outro módulo
em uma rede.

174
Obs:

O controlador processa os bits .ST, .EW, .DN e .DR de forma assíncrona


para a varredura
do programa.
Para verificar
estes bits em
lógica de
diagrama ladder,
copie as palavras
.FLAGS para um
tag INT e verifique
os bits a partir
deste ponto. Caso
contrário,
problemas de
temporização
podem invalidar a
sua aplicação com
possíveis danos
ao equipamento e
ferimentos pessoais.

Onde: Descrição:

1. Entrada da condição da linha for verdadeira

.EN está energizado


.EW está energizado A conexão está aberta*

2. A mensagem é enviada

.ST está energizado


.EW é desenergizado

175
3. A mensagem foi executada ou apresentou erro e a entrada da condição
da linha é falsa

.DN ou .ER está energizado


.ST é desenergizado a conexão é fechada (se .EN_CC = 0)
.EN é desenergizado (porque a entrada da condição da linha é falsa)

4. A entrada da condição da linha é verdadeira e .DN ou .ER foi energizado


anteriormente

.EN está energizado


.EW está energizado a conexão está aberta*
.DN ou .ER é desenergizado

5. A mensagem é enviada

.ST está energizado


.EW é desenergizado.

6. A mensagem foi executada ou apresentou erro e a entrada da condição


da linha ainda é verdadeira

.DN ou .ER está energizado


.ST é desenergizado a conexão é fechada (se .EN_CC = 0)

7. A entrada da condição da linha se torna falsa e .DN ou .ER é energizado

.EN é desenergizado

*O bit .EW não é energizado se a mensagem não puder ser executada.

176
177
178
Especificação dos Detalhes de Configuração

Depois de inserir a instrução MSG e especificar a estrutura MESSAGE,


use a janela Message Configuration no software de programação para
especificar os
detalhes da
mensagem.

Os detalhes de
configuração dependem
do tipo de mensagem
selecionado.

Deve especificar essa


informação de
configuração:

179
Se você especificar um tag na matriz do Logix5000 como Source ou
Destination, especifique somente o nome do tag da matriz. Não inclua entre
colchetes ou subscrito de posição.

Especificação de Mensagens CIP

Os tipos de mensagem CIP são determinados para transferir dados


de/para outros dispositivos do ControlLogix, como por exemplo, enviar uma
mensagem de um controlador Logix5000 para outro.

Uso de mensagens CIP genéricas para resetar os módulos de E/S


Especifique esta informação para criar uma mensagem customizada, usando o
tipo de mensagem Generic CIP.

180
181
Especificação de Mensagens do SLC Os tipos de mensagem do SLC são
elaboradas para os controladores SLC e MicroLogix.

O tipo de tag do Logix5550 deve estar de acordo com o tipo de dado do


SLC. Você só pode transferir dados DINT (que são mapeados para o tipo de
dados binários do SLC) ou dados INT (que são mapeados para o tipo de dados
inteiros do SLC).

Especificações dos Detalhes de Comunicação (Guia Communication)

Ao configurar uma instrução MSG, você especifica estes detalhes na guia


Communication.

182
Especificação de um percurso de conexão O percurso de conexão
descreve o caminho que a mensagem transcorrerá para chegar ao módulo ou
controlador destino. O percurso usa números, onde os pares de números o
deslocam de um módulo para outro através de uma placa de fundo do
ControlLogix ou da rede de comunicação.

Use o fluxograma abaixo para determinar se você deve inserir um


percurso.

Para especificar um percurso:


Se a árvore de Configuração de E/S contém um módulo ou controlador
destino ao invés de especificar um percurso, clique em Browse para selecionar
o dispositivo.

1. Na caixa de texto Path, digite o seguinte, separando cada


número com uma vírgula [,]:

a. Especifique a porta pela qual a mensagem sai. (Para o primeiro número


no percurso, geralmente é o “1” que designa a porta da placa de fundo do
controlador Logix5550 que está enviando a mensagem.):

183
b. Especifique o próximo módulo:

2. Repita a Etapa 1. até que você especifique o módulo ou controlador destino.


Especificação de um caminho pela Ethernet

Percurso: 1, 1, 2, 127.127.127.12, 1, 3

184
Seleção de uma opção de cache:

Alguns tipos de mensagens usam uma conexão para enviar ou receber


dados. Alguns possibilitam duas opções: deixar a conexão aberta (cache) ou
fechar a conexão quando a transmissão da mensagem terminar. A tabela a
seguir mostra quais mensagens usam uma conexão e se você pode ou não
copiar no cache a conexão:

Use a tabela a seguir para selecionar uma opção de cache para uma
mensagem.

185
Para organizar os dados para uma mensagem, siga estas orientações:

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:

2. Para os tags que as mensagens usarão (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 possível:

 Os controladores Logix5000 operam com mais eficiência e usam


menos memória quando trabalham com inteiros de 32 bits (DINTs).

4. Se sua mensagem for de/para um controlador CLP-5® ou SLC 500™ e


ele transferir inteiros (não 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]. x é o número de inteiros na mensagem.
(Para apenas um inteiro, omita [x].)

b. Use o buffer na mensagem.

c. Use uma instrução FAL para mover os dados entre o buffer e sua
aplicação.

186
Exercício: Comunicação entre controladores Logix 5000.

01) Adicione os módulos de comunicação dos controladores:

a. No RSLinx adicione o drive de comunicação para rede EtherNet/IP;

b. Verifique os Controladores encontrados:

CP01 __________________ IP: __________________


CP02 __________________ IP: __________________
CP03 __________________ IP: __________________
CP04 __________________ IP: __________________
CP05 __________________ IP: __________________

c. Utilize o software RSWorx para EtherNet/IP para verfificar os


dispositos da rede;

02) Em cada controlador crie um tag produzido;

03) Crie os tags consumidos, disponibilizados no item 02;

Exercício: Comunicação entre controladores Logix 5000 e Logix 500.

01) Crie uma rotina no CompactLogix para ler os dados do N10:0 no


MicroLogix 1500 IP:__________________ ;

02) Crie uma rotina no MicroLogix 1500 para ler e escrever dados no
CompacLogix 1769-L23E e SoftLogix 5800, respectivamente
IP:__________________ e _________________;

187
Uso de Mensagem Explicita

Mensagens explícitas são usadas para transferir dados que não exigem
atualizações contínuas. Com as mensagens explícitas, é possível configurar e
monitorar os parâmetros de um dispositivo escravo na rede.
Use a Mensagem Explicita para configurar e monitorar o drive PoweFlex
525 com porta EtherNet/IP incorporada.

188
Logic Command Word

189
Exercício: Comunicação entre Controlador Logix5000 e um Driver
PowerFle 525 numa rede EtherNet/IP.

01. Desenvolva uma aplicação ladder para o CLP se comunicar com o inversor
PowerFlex 525. Atendendo aos seguintes requisitos:

a) A aplicação pode ser desenvolvida para o SoftLogix v17 ou CompacLogix


1769-L23E v19;
b) O inversor não pode ser um IO do CLP;
c) Fazer Leitura de saída de frequência do motor;
d) Escrever o tempo de aceleração da rampa do motor;
e) Realizar leitura simultâneas de diversos parâmetros do inversor.

190
CompactLogix Example Ladder Logic Program to Read a Single Parameter

191
CompactLogix – Formatting a Messageto Write a Single Parameter

192
CompactLogix Example Ladder Logic Program to Read Multiple
Parameters

193
CompactLogix Example Ladder Logic Program to Write Multiple
Parameters

194
6 ADD-ON INSTRUCTIONS

O ADD ON Instruction é uma nova ferramenta disponível na versão 16.


Esta ferramenta cria instruções customizaddas, que podem ser utilizadas no
projeto ou em outros.

Esta instrução engloba diversas outras do qual estará estruturando uma


lógica do seu programa e poderácompor ADD ON Instructions e será similar a
uma rotina que poderá ser chamada várias vezes.

Cada instrução programada dentro de uma instrução customizada (Add


On Instrution) será utilizada no programa do projeto como uma instrução
qualquer.
Vantagens:
 Reduzir tempo de projeto e depuração do programa;
 Usar sua instrução em diversas linguagens;
 Modificar a instrução definida, reajustando para todo o projeto;
 Proteger sua propriedade intectual;

A seguir vamos verificar como fazer uma ADD ON Instruction utilizando o


RSLogix 5000. Na árvore do projeto clique com o botão direito sobre a pasta
“Add On Instruction”, slecione a opção “New Add On Instruction”, conforme figura
a baixo.

Após selecionada a opção acima, aparecerá a seguinte tela.

195
Na tela acima devemos configurar os seguintes itens:

 Name: Definir nome do bloco Add On Instruction;

 Description: Neste campo podemos fazer uma descrição da utilização da


Add On Instruction em questão;

 Type: Linguagem de programação que será desenvolvido o Add On


Instruction;

 Revision: Documentação da revisão da instrução criada;

 Vendor: Documentação do Desenvolvedor;

Para finalizar click em OK e na pasta “Add On Instruction” localizada na


árvore do projeto será criado um arquivo como o nome definido no campo
“Name”, conforme figura abaixo.

196
Na janela acima devemos configurar os seguintes itens:

 Paremeters: Neste campo iremos definir os parâmetros de entradas e


saídas da “Add On Instruction”.

 Local Tags: Neste campo iremos definir as tags a serem utilizadas na


Add On Instrutions.

 Scan Modes: Permite especificar diversos comportamentos para a rotina.

 Change History: Histórico das mudanças da instrução criada.

 Help: Documentação para usuário da Add On.

Após seleciona a opção acima, a Add On Instruction já poderá ser


utilizada, como demonstrada na figura abaixo.

197
7 CONTROLE DE PROCESSOS

As primeiras aplicações de controle automático podem ser encontradas já


entre 300 A.C. e 1 A.C. na Grécia com mecanismos de reguladores flutuantes.
Em 250 A.C., Philon concebeu um mecanismo desse tipo para manter o nível de
óleo constante em um lampião. O relógio de água de Ketsibios foi outro exemplo
desse tipo de mecanismo (veja figura abaixo).

Sistemas de Controle em Malha Aberta X Malha Fechada

Malha Aberta: A saída não é utilizada para alterar a ação de controle. Exemplos:
aquecedor elétrico para ambientes domésticos (o usuário escolhe a posição de
um botão e não a altera mais); forno de fogão a gás doméstico.

Sistema de Controle em Malha Aberta, é aquele em que a saída ou


resposta não possui nenhuma influência sobre a entrada.

Malha Fechada: A saída é utilizada para alterar a ação de controle, motivo pelo
qual é sinônimo de sistemas a realimentação. O controlador é um dispositivo
cuja finalidade é usar o erro de um comparador entre o valor desejado de uma
certa variável e o seu valor real para calcular o valor da variável de controle.
Exemplo: geladeira doméstica (o usuário escolhe um nível de "frio" através de
um botão com escala e a temperatura se mantém aproximadamente constante,
a despeito de perturbações externas, tais como variações da temperatura

198
ambiente, entrada de massas de ar quente provocada pela abertura de portas,
armazenamento de alimentos à temperatura ambiente,etc).

Sistema de Controle em Malha Fechada é aquele em que a saída ou


resposta influencia a entrada do sistema.

Vantagens da operação em malha fechada

 Insensibilidade a perturbações externas (distúrbios externos);


 Insensibilidade a variações em parâmetros do sistema;
 Possibilidade de utilização de componentes baratos e não precisos para
obter sistemas com desempenho de alta qualidade.

Desvantagem da operação em malha fechada

 Possibilidade de perda de estabilidade causada, em geral, por ganhos


elevados (imagine um motorista dirigindo seu carro em uma estrada e
aplicando correções acentuadas de direção sempre que observa algum
erro de rumo; note, entretanto, que neste caso o controle em malha aberta
é impraticável, já que haveria a necessidade de conhecimento prévio de
toda a trajetória).

Esquema geral de sistemas de controle em malha fechada

199
Classificação geral

Os controladores são classificados em geral conforme a forma de


energia principal que eles usam, isto é, elétrica, hidráulica, pneumática,
mecânica, etc.

O objetivo principal do estudo dos sistemas de controle e resolver o que


se costuma denominar por “Problema de Controle”. Para que se possa
apresentar uma formulação geral do que seja o problema de controle, são
necessárias algumas definições iniciais.

200
 Planta

É uma parte de um equipamento ou instalação industrial, eventualmente


um conjunto de itens de uma máquina que funcionam juntos, cuja finalidade é
desempenhar uma dada operação.
 Processo

Pode ser definido como uma operação ou desenvolvimento natural que


evolui progressivamente, caracterizado por uma série de mudanças graduais
que se sucedem de modo relativamente fixo, conduzindo a um resultado ou
finalidade particular.
 Sistema

É uma disposição, conjunto ou coleção de partes, dentro de um universo,


que estão conectadas ou relacionadas de tal maneira a formarem um todo.
 Sistema Físico
É uma parte do universo que foi delimitada para estudo.
 Especificações de Desempenho

São descrições do comportamento a ser apresentado pelo sistema físico,


conforme solicitação do usuário.
 Modelo

Consiste na representação de certas características do sistema físico que


são relevantes para seu estudo.
 Controle

É a ação de fazer com que um sistema físico atenda as especificações de


desempenho determinadas a priori.
 Controlador
Dispositivo utilizado para a obtenção do controle de um sistema físico.
 Sistema de Controle
Conjunto formado pelo sistema a ser controlado e o controlador.

Os processos industriais são operados em condições dinâmicas...

 Resultantes de constantes perturbações no sistema ou causadas por


mudanças propositais no ponto de operação para atender à programação
da produção

201
Esta dinâmica é modificada (compensada) por ação de MALHAS DE
CONTROLE, para manter a estabilidade da operação e atender às
especificações de processo.

O sistema de controle se implanta principalmente para levar a cabo de


forma automática as seguintes tarefas:

 Processos contínuos: regulação de uma variável (manter uma variável


em um valor de referencia ou set-point).

Em alguns casos, pela complicação do processo, não se pode regular


uma variável de forma totalmente automatizada. Em tais situações o controle se
faz mediante aviso com alarmes e intervenção direta do operador.
 Processos descontínuos: regulação de uma variável e sequenciamento
de operações.

Alguns processos funcionam seguindo uma sequencia de operações


programáveis, que se leva a cabo mediante sinais de entrada desde o processo
e ordens desde a unidade de controle.

Objetivos de um sistema de controle


 Suprimir a influência de perturbações externas
 Garantir a estabilidade do processo
 Otimizar o desempenho de um processo
Com um controle mais eficiente tem-se:

 um menor desvio padrão na saída


 uma maior proximidade entre o set-point e a especificação
 uma maior otimização

202
7.1 MALHA DE CONTROLE

Representação prática da estratégia de controle. Composta por:


1) Processo

2) Instrumentos de Medição: Informam de modo contínuo os valores das


variáveis de processo.

3) Instrumentos de Controle: Fazem a tomada de decisão e ação de atuação


sobre o processo.
4) Instrumentos de Atuação: Permitem implementar a ação de correção.

O TT fornece o sinal
(PV), que representa o
estado do processo sendo
controlado. Os TIC compara
o PV com o SP e abre e
fecha o EFC para manter o
processo estável.

203
TIPOS DE SINAL

 Pneumático: 3 a 15 psi
 Eletrônico (analógico): 4 a 20 mA
 Fieldbus (digital)

204
7.2 A INSTRUÇÃO PID

A instrução PID controla um tag de processo como, por exemplo, fluxo,


pressão, temperatura ou nível.

A instrução PID geralmente recebe a


variável de processo (PV) de um módulo de
entrada analógica e modula uma saída da
variável de controle (CV) em um módulo de
saída analógica a fim de manter a variável de processo no setpoint desejado.

O bit .EN indica o status de execução. O bit EN é energizado quando a


entrada da condição da linha passa
de falsa para verdadeira. O bit .EN é
desenergizado quando a entrada da
condição da linha se torna falsa. A
instrução PID não utiliza um bit .DN.
A instrução PID é executada a cada
varredura, sempre que a entrada da condição da linha for verdadeira.

205
206
Estrutura: Especifique uma estrutura PID única para cada instrução PID.

207
208
209
7.3 UTILIZAÇÃO DAS INSTRUÇÕES PID

O controle de malha fechada PID mantém uma variável de processo em


um setpoint desejado. A figura a seguir mostra um exemplo de nível de taxa de
fluído/fluxo:

No exemplo acima, o nível no tanque é comparado com o setpoint. Se o


nível for mais elevado do que o set point, a equação PID aumenta a variável de
controle e abre a válvula de saída do tanque, diminuindo, portanto, o nível no
tanque.

A equação PID usada na instrução PID é uma equação de forma


posicional com a opção de usar ganhos independentes ou dependentes. Ao usar
ganhos independentes, os ganhos proporcional, integral e derivativo afetam
apenas seus termos proporcional, integral ou derivativo específicos,
respectivamente.

Ao usar os ganhos dependentes, o ganho proporcional é substituído por


um ganho de controlador que afeta todos os três termos. É possível usar a forma
da equação para realizar o mesmo tipo de controle. Os dois tipos de equação
são fornecidos apenas para que você use o tipo com o qual está mais
familiarizado.

210
Onde:

211
Se você não quiser usar um termo particular da equação de PID, defina o
ganho em zero. Por exemplo, se você não quiser nenhuma ação derivativa,
defina Kd ou Td igual a zero.

Windup anti-reset e transferência ininterrupta de manual para automático

A instrução PID automaticamente previne o windup de reset, evitando que


o termo integral acumule sempre que a saída CV alcançar os seus valores
máximo ou mínimo, conforme definido por .MAXO e .MINO.

O termo integral acumulado permanece congelado até que a saída CV


fique abaixo do seu limite máximo ou fique acima do seu limite mínimo. Em
seguida, o acúmulo normal integral reinicia automaticamente.

A instrução PID suporta dois modos manuais de controle:

A instrução PID também fornece automaticamente transferências


ininterruptas do modo manual do software para o automático ou do manual para
o automático. A instrução PID calcula novamente o valor do termo de acúmulo

212
integral requerido para fazer com que o caminho da saída CV energize o valor
da saída (.SO) no modo manual do software ou a entrada tieback no modo
manual. Dessa forma, quando a malha chavear para o modo automático, a saída
CV inicia a partir da saída configurada ou do valor de tieback e não ocorre
nenhuma "interrupção" no valor de saída.

A instrução PID também pode fornecer automaticamente uma


transferência ininterrupta do manual para o automático, mesmo que o controle
integral não seja usado (por ex.: Ki = 0). Nesse caso, a instrução modifica o termo
.BIAS para fazer com que o caminho da saída CV energize a saída ou os valores
tieback. Quando o controle automático for reiniciado, o termo .BIAS manterá o
seu último valor. Você pode desabilitar o novo cálculo do termo .BIAS,
configurando o bit .NOBC na estrutura de dados PID. Preste atenção, pois se
você definir .NOBC em verdadeiro, a instrução PID não fornecerá mais uma
transferência ininterrupta de manual para automático quando o controle integral
não for usado.

Temporização da instrução PID

A instrução PID e a amostra da variável de processo precisam ser


atualizadas periodicamente. Esse tempo de atualização está relacionado ao
processo físico que está sendo controlado. Para malhas muito lentas como, por
exemplo, malhas de temperatura, um tempo de atualização de uma vez por
segundo ou mais geralmente é suficiente para se obter bom controle. Malhas um
pouco mais rápidas como, por exemplo, malhas de fluxo ou pressão, podem
requerer um tempo de atualização de uma vez a cada 250 milissegundos.

Somente em casos raros como, por exemplo, controle de tensão em um


carretel de desbobinador, requerem atualizações de malha a cada 10
milissegundos ou mais rápido. Como a instrução PID usa uma base de tempo no
seu cálculo, é necessário sincronizar a execução da instrução com a amostra da
variável de processo (PV).

A forma mais fácil de executar a instrução PID é colocá-la em uma tarefa


periódica. Defina o tempo de atualização de malha (.UPD) igual à taxa da tarefa
periódica e certifique-se de que a instrução PID seja executada a cada varredura
da tarefa periódica. Por exemplo, use uma linha de diagrama ladder não
condicionada.

213
Ao usar uma tarefa periódica, certifique-se de que a entrada analógica
para a variável de processo seja atualizada para o controlador a uma taxa que é
significativamente mais rápida do que a taxa da tarefa periódica. Na forma ideal,
a variável de processo deve ser enviada para o controlador pelo menos cinco a
dez vezes mais rápido do que a taxa da tarefa periódica. Isto reduz a diferença
de tempo entre as amostras atuais da variável de processo e a execução da
malha PID.

Por exemplo, se a malha PID estiver em uma tarefa periódica de 250


milissegundos, use um tempo de atualização de malha de 250 milissegundos
(.UPD = .25) e configure o módulo de entrada analógica para produzir dados a,
pelo menos, cada 25 e 50 ms. Outro método, um pouco menos preciso de
execução da instrução PID é colocar a instrução em uma tarefa contínua e usar
um bit executado do temporizador para disparar a execução da instrução PID.

Nesse método, o tempo de atualização de malha da instrução PID deve


ser configurado igual ao valor pré-programado do temporizador. No caso de usar
uma tarefa periódica, você deve ajustar o módulo de entrada analógica para
produzir a variável do processo a uma taxa significativamente mais elevada do
que o tempo de atualização da malha. Você deve usar somente o método do

214
temporizador da execução de PID para as malhas com os tempos de atualização
que são várias vezes mais longas do que o tempo de execução do pior caso para
a tarefa contínua.

215
A forma mais precisa de executar uma instrução PID é usar o recurso de
amostragem em tempo real (RTS) dos módulos de entrada analógica 1756. O
módulo de entrada analógica realiza uma amostra das suas entradas à taxa de
amostragem em tempo real definida na configuração do módulo.

Quando o período de amostra em tempo real do módulo expira, o módulo


atualiza as suas entradas e atualiza os dados para impressão da data e hora
(representado pelo membro .RollingTimestamp da estrutura de dados de entrada
analógica) produzidos pelo módulo. Os dados de impressão de hora e data
variam de 0-32767 milissegundos.

Monitore os dados de impressão de data e hora. Quando o mesmo é


alterado, uma nova amostra da variável de processo foi recebida. Cada vez que
a data e a hora são alteradas, execute a instrução PID uma vez. Como a amostra
da variável de processo é direcionada pelo módulo de entrada analógica, o
tempo de amostra de entrada é muito preciso e o tempo de atualização da malha
usado pela instrução PID deve ser configurado igual ao tempo RTS do módulo
de entrada analógica.

Para certificar-se de que não haja perda de amostras da variável de


processo, execute a sua lógica em uma taxa mais rápida do que o tempo de
RTS. Por exemplo, se o tempo RTS for de 250 ms, é possível colocar a instrução
PID em uma tarefa periódica que é executada a cada 100 ms para garantir que
nenhuma amostra seja perdida. É possível colocar a lógica PID em uma tarefa
contínua, contanto que você se certifique de que a lógica será atualizada com
uma freqüência maior do que 250 milissegundos.

Um exemplo do método RTS de execução é mostrado abaixo. A execução


da instrução PID depende da recepção de novos dados de entrada analógica.
Se o módulo de entrada analógica apresentar falha ou for removido, o
controlador pára de receber impressões de data e hora atualizadas e a malha de
PID pára a execução. Você deve monitorar o bit de status da entrada analógica
PV, e se isso mostrar um status deficiente, force a malha no modo manual do
software e execute a malha a cada varredura. Isto permite que o operador ainda
altere manualmente a saída da malha PID.

216
Reinicialização ininterrupta

A instrução PID pode interagir com os módulos de saída analógica 1756


para suportar uma reincialização ininterrupta quando o controlador mudar do
modo Program para Run ou na energização do controlador.

Quando um módulo de saída analógica 1756 perde comunicação com o


controlador ou detecta que o controlador está no modo Program, o módulo de
saída analógica energiza as suas saídas para os valores de condição de falha
especificados na configuração do módulo. Quando o controlador retorna para o
modo Run ou re-estabelece comunicação com o módulo de saída analógica,
você pode fazer com que a instrução PID reset automaticamente a saída da
variável de controle igual à saída analógica, usando o bit Inhold e os parâmetros
Inhold Value na instrução PID. Para configurar uma reinicialização initerrupta:

217
A seguinte instrução PID usa o bit Inhold e o valor Inhold:

Polarização derivativa

O cálculo da derivativa é melhorado por um filtro de polarização derivativa.


Esse filtro digital de primeira ordem e de passa/baixa ajuda a reduzir os grandes
impulsos do termo derivativo causados por ruído na PV. Essa polarização se
torna mais agressiva com valores maiores de ganho derivativo.

É possível desabilitar a polarização derivativa se o processo necessitar de


valores muito grandes de ganho derivativo (Kd > 10, por exemplo). Para
desabilitar a polarização derivativa, selecione a opção “No derivative smoothing“
na guia Configuration ou energize o bit .NDF na estrutura PID.

Configuração da zona morta

A zona morta ajustável permite que você selecione uma faixa de erro
acima e abaixo do setpoint, onde as saídas não serão alteradas desde que o
erro permaneça dentro da faixa. Essa zona morta permite o controle do nível de
correspondência entre a variável de processo e o setpoint, sem que a saída seja
alterada. A zona morta também ajuda a reduzir o desgaste no seu dispositivo de
controle final.

218
O cruzamento zero é um controle de zona morta que permite que a
instrução utilize o erro para cálculos, conforme a variável de processo atravessa
a zona morta, até que a variável de processo cruze o setpoint. Quando a variável
de processo cruzar o setpoint (o erro cruza o valor zero e altera o sinal) e durante
o tempo em que a variável de processo permanecer na zona morta, a saída não
será alterada.

A zona morta se estende acima e abaixo do setpoint, de acordo com o


valor especificado por você. Insira zero para inibir a zona morta. A zona morta
possui as mesmas unidades convertidas do setpoint. É possível usar a zona
morta sem recurso de cruzamento zero, selecionando-se a opção “no zero
crossing for deadband“ na guia Configuration ou energizando-se o bit .NOZC na
estrutura PID. Se você estiver usando a zona morta, Control variable deve ser
do tipo REAL ou o mesmo será forçado em 0 quando houver um erro dentro da
zona morta.

Uso da limitação de saída

É possível definir um limite de saída (% da saída) na saída de controle.


Quando a instrução detectar que a saída atingiu um limite, ela energizará o bit
de alarme e impedirá que a saída ultrapasse o limite superior ou inferior.

Feedforward ou polarização da saída (bias)

É possível direcionar (feedforward) um distúrbio do sistema, alimentando


o valor .BIAS no valor de bias/feedforward da instrução PID. O valor feedforward
representa um distúrbio alimentado na instrução PID antes que o distúrbio tenha
chance de alterar a variável de processo. Feedforward é geralmente usado para
controlar processos com um atraso de transporte. Por exemplo, um valor
feedforward representando “água fria sendo jogada em uma mistura quente“
poderia impulsionar o valor de saída mais rápido do que esperar que a variável
de processo consegue alterar o resultado da mistura.

Um valor bias é geralmente usado quando nenhum controle integral é


usado. Nesse caso, o valor de bias pode ser ajustado para manter a saída na
faixa requerida para manter o PV próximo ao setpoint.

219
7.4 MALHAS EM CASCATA

A PID forma cascata com duas malhas, atribuindo a saída na


porcentagem da malha de mestre para o setpoint da malha de escravo.

A malha de escravo automaticamente converte a saída da malha de


mestre em unidades de medida corretas para o setpoint da malha de escravo,
com base nos valores da malha de escravo para .MAXS e .MINS.

Controle de um índice

É possível manter dois valores em um índice, usando-se a instrução MUL


com estes parâmetros:

 Valor não controlado


 Valor controlado (o setpoint resultante a ser usado pela Instrução PID)
 Razão entre esses dois valores
Na instrução MUL, insira:

220
221
8 DESENVOLVENDO UMA APLICAÇÃO CONTROLE
INDUSTRIAL

Atualmente os processos industriais são controlados por Controladores


Lógicos Programáveis (CLP), SDCD’s ou ainda por Controladores dedicados.
Para que estes equipamentos executem as funções necessárias para atender
aos requisitos do projeto é necessário desenvolver um programa e descarrega-
lo nos controladores. Geralmente é desenvolvida em linguagem de programação
Ladder. Entretanto, como já visto anteriormente dependendo do controlador
utilizado é possível desenvolver em outras linguagens de programação.

Outro sistema importante para o processo ou máquina, é o sistema


supervisório, onde é possível visualizar em real time as variáveis do processo,
trends históricos e em tempo real, gerenciamento de alarmes, controle e etc.
Existem diversos tipos no mercado, com suas vantagens e desvantagens ao
longo deste curso utilizaremos o Intouch Wonderware para comunicação com
CLP.

Muitas vezes é necessário realizar algum tipo de programação nas redes


de comunicação industrial para definir as rotas de comunicação. Para isso é
necessário ter a arquitetura de rede ou automação disponível, os cartões de rede
específicos e seu respectivo software. Deve ser levado em consideração o
protocolo de comunicação, número de nós que a rede suporta e estrutura física
requerida.

Para desenvolver uma aplicação para o CLP e Supervisório, alguns


documentos de engenharia são importantes. Entre eles podemos citar:

a) Memorial Descritivo;
b) Fluxograma de Engenharia;
c) Arquitetura de Rede ou Automação;
d) Lista de Entradas e Saídas;
e) Matriz de Causa e Efeito;
f) Conjunto de Normas pertinentes;

222
A proposta de nosso curso é elaborar uma aplicação de nível industrial
simples para que o aluno possa entender as interfaces existentes na área de
automação industrial.

Como já explicitado existem inúmeras formas de construir uma aplicação


para um supervisório ou um ladder para um CLP. Mas algo é necessário para
uma aplicação: Integração entre:

Rede

Aplicativo Aplicativo
Supervisório CLP

Segue um exemplo de tela de um supervisório:

Segue alguns de exemplos de documentos de engenharia:

223
8.1 FLUXOGRAMA DE ENGENHARIA

224
8.2 MEMORIAL DESCRITIVO DE LÓGICA

OBJETIVO

Descrever o procedimento operacional da Planta Didática simulada


no Curso de Programação de Controlador Lógico Programável e
Configuração de Supervisório Intouch.

INTRODUÇÃO

A seguir, apresenta-se a descrição resumida do processo que


poderá ser acompanhada nos Fluxogramas de Engenharia da Planta
Didática listados nos documentos de referência.

DESCRIÇÃO OPERACIONAL E LÓGICA DE CONTROLE DE


PROCESSO

SISTEMA DE ARMAZENAMENTO DE FLUIDO

Na planta didática há o Sistema de Armazenamento de Fluidos


(TQ-01), a medição do nível é realizada pelo LIT-01 e controle pelo LIC-01
por meio da XV-01, com uma válvula do tipo ON-OFF.

O controle de nível deve permitir ajustes de setpoint de operação e


alarmes. Em caso de falha no LIT-01, o controlador de nível deve passar de
automático para manual e um pop-up deve alertar ao operador sobre a
condição.
O TQ-01, possui duas chaves de nível, LSHH-01 e LSLL-01. A LSHH
possui intertravamento para fechar a XV-01, ao mesmo tempo que deve enviar
um comando para a B-01 ir para rotação máxima. Se o FIC-01 estiver operando
no modo cascata, o FIC-01 deve passar para o modo manual. A LSLL possui
intertravamento com a B-01, enviando comando de desliga e colocar o FIC-01
em modo manual e um comando abrir XV-01 deve ser enviado.

SISTEMA DE ESCOAMENTO DE LÍQUIDO

Na saída do TQ-01 está instalada uma bomba centrifuga B-01, para


transferência do fluido até a entrada do Permutador P-01.

A velocidade de operação da bomba B-01 é controlada por meio do


FIC-01, que pode operar em modo Cascata com o TIC-01 da TV-01. Sendo

225
o TIC-01 o controlador “Mestre” da cascata. Em caso de falha no FIT-01 deve
passar de automático para manual e um pop-up deve alertar ao operador
sobre a condição. O modo cascata só poderá ser habilitado com o FIC-01
em modo automático.
Deve ser implementado controle e monitoramento da pressão no
header da descarga da B-01, com intertravamento para pressão muito
baixa (PALL) e pressão muito alta (PAHH), nas duas situações da bomba
deve ser desligada e o operador alertado por meio de um pop-up.

CONTROLE DE TEMPERATURA DO FLUIDO

A planta está equipada com uma medição e controle de


temperatura, para melhorar o escoamento do fluido, por meio do TIT-01 e o
TIC-01. O TIC-01 pode operar como controlador Mestre para o FIC-01,
desde que não haja falha no TIT-01 e o FIC-01 não esteja operando no modo
manual.

SHUTDOWN

Deve existir um comando remoto para colocar a planta em condição


de segurança, desligando a bomba B-01, o controle de temperatura e
fechamento das XV-01 e XV-02.

Em caso de falha nos comandos das XV-01 e XV-02, deve ser


implementado os seguintes alarmes: Falha para Abrir, Falha para Fechar,
Time Out Abertura e Time Out Fechamento e a condição de Falha no caso do
ZSL e ZSH acionados simultaneamente.

DESCRIÇÃO OPERACIONAL E LÓGICA DE CONTROLE DE


PROCESSO

O controle da Planta Didática será feito por um sistema Supervisório


instalado na sala de controle. A comunicação entre os CLP (controladores
lógicos programáveis) do campo e o Supervisório será por rede ethernet.
A sinalização do “status” de todas as bombas da Planta Didática:
“Ligada/Desligada” estará disponível no Supervisório através da função
“XAL/H”.
Todas as bombas da Planta Didática possuem uma chave remota “HS”
com indicação permanente do seu “status” no Supervisório, através da função
“XI”.

226
Todas as válvulas “ON-OFF” da Planta Didática, terão sua posição de
“aberta” ou “fechada” indicada no Supervisório, através da função “ZAH/ZAL”
ou “ZIH/ZIL” respectivamente.
Todas as válvulas “ON-OFF” da Planta Didática, têm botoeira virtual no
supervisório para fechamento/abertura da válvula.
Deve existir um comando manual no supervisório de “SHUTDOWN”,
para colocar a planta em condição de segurança ou quando os seguintes
alarmes ocorrem na planta PALL ou PAHH. Quando o SHUTDOWN ocorrer
na planta, as XV-01 e XV-02 devem fechar, a bomba B-01 deve ser desligada,
a TV-01 deve ser fechada. A sequência de SHUTDOWN deve acontecer
mesmo quando alguma saída estiver na condição de “Override” de zero ou
um.
Sempre que o Supervisório emitir um comando para abertura ou
fechamento de uma válvula, ligar ou desligar uma bomba seja por atuação
local ou remota (pelo operador ou por lógica) e esta ação não se efetivar, o
Supervisório deverá avisar imediatamente ao operador desta falha específica,
por exemplo: “Válvula XV-01 foi acionada para abrir e não abriu”.

TABELA CAUSA E EFEITO


EQUIPAMENT
CAUSA INSTRUMENTO EFEITO
O OU LINHA

Nível muito alto LIT-01 Tanque-01 Fecha XV-01

Nível muito baixo LIT-01 Tanque-01 Abre XV-01

Chave de nível muito alta LSHH-01 Tanque-01 Fecha XV-01

Chave de nível muito Tanque-01


LSLL-01 Abre XV-01
baixa

Pressão muito alta PIT-01 Bomba-01 Desliga B-01

Pressão muito baixa PIT-01 Bomba-01 Desliga B-01

Temperatura muito alta TIT-01 Permutador-01 Fecha TV-01

Permutador -
Temperatura muito baixa TIT-01 Fecha TV-01
01

Chave Fecha XV-01 e XV-02,


Shutdown HS
Supervisório Desliga B-01 e P-01.

227
DADOS DE PROCESSO VAZÃO, PRESSÃO, TEMPERATURA E
NÍVEL UTILIZADA NOS DOCUMENTOS DE DIMENSIONAMENTO

Valores de operação para efeito de dimensionamento.

SISTEMA OPERAÇÃ OPERAÇÃ


DE O MÍNIMA O MÁXIMA UNIDADE
PRODUÇÃ S
O

VAZÃO DO
3500 800 4500 m3/h
FLUÍDO

TEMPERATUR
450 300 600 °C
A

PRESSÃO 12 4 16 Kgf/cm2

NÍVEL 55 25 80 %

228
8.3 DIAGRAMA LÓGICO

DIAGRAMA LÓGICO – INSTRUMENTOS

229
DIAGRAMA LÓGICO – MONITORAMENTO E TOTALIZAÇÃO

230
DIAGRAMA LÓGICO – VÁLVULA ON/OFF

231
8.4 MODELO DE TRATAMENTO DE ENTRADAS E SAÍDAS E
ALARMES

ENTRADAS ENTRADAS
DIGITAIS ANALÓG.
VALOR (ESP) NÍVEIS
ESPERADO DE
LÓGICA DE LÓGICA ALAR-
POLARIZAÇÃO CONSISTÊNCIA ME

SOLICIT. DE ENTR. POL. E


"BY-PASS" (BYP) TEMP. (EPT)
LÓGICA DE
"BY-PASS"
COM.P/ VLV
TAB. RECONH.
ALARM. (REC) EPB E EQUIP (CMD)

LÓGICA DE SELO E LÓGICA DE


RECONHECIMENTO INTERTRAVAMENTO
DE ALARMES DE PROCESSO

SELO DE LÓGICA DE
TAB. ENT. BYP. INTERTRAVAMENTO
E SEL. (EBS) RECONHECIMENTO
DE SEGURANÇA
(SRA)
VALOR (SSP) SAÍDAS
ESPERADO LÓGIC. (SLG)

SOL.DE OVER.
EM 1 (OV1)
ZERA CMD
SOL.DE OVER.
EM 0 (OV0)
LÓGICA DE
OVERRIDE
TAB. SAÍ. LOG.
OVER. (SLO)
LÓGICA DE
POLARIZ.
LEGENDA:
Blocos ou Tabelas internos ao CP SAÍDAS
Blocos de comunicação com a ECOS FÍSICAS

232
Além dos conhecimentos sobre os documentos de engenharia é
necessário conhecer os equipamentos que serão utilizados e seus respectivos
softwares de configuração e/ou programação, as instruções de programação,
tipo de dado a ser manipulado e o tipo de rede de comunicação.

A organização no desenvolvimento de um projeto de automação é


fundamental (como em qualquer atividade profissional), portanto crie uma
estrutura de pastas no computador com o nome do projeto e organize os
documentos de engenharia, aplicativos do CLP e do Supervisório, bem como as
normas, requisitos técnicos, manuais e as definições geradas em conjunto com
o cliente. É muito importante ter as premissas definidas e as que não estiver
claramente definida, deve ser acordado com o cliente (evita uma série de
transtornos futuros, principalmente o retrabalho).

Parece ser óbvio, mas precisa ser dito.


Não desenvolva nenhuma aplicação em mídia
removível, por exemplo pen drive. Crie backups
(locais distintos) de seus arquivos
desenvolvidos ou alterados.

Como já explicitado o software de


configuração e programação é o RSLogix 5000.

233
8.5 PROGRAMANDO O CLP

Os conteúdos tratados nesta seção, podem ser aplicados de uma forma


genérica para maioria dos sistemas Supervisório e CLP, iremos aplicar para o
Intouch 10 e Logix 5000 (CompactLogix 1769-L23E e SoftLogix 5800).

Como visto na seção anterior, “DESCRIÇÃO GERAL DO PROGRAMA


LADDER”, com esta estrutura podemos criar uma estrutura de dados
padronizados, ou seja, criar um modelo que possa ser utilizado tanto aplicativo
ladder e supervisório. “Não é pretensão minha ou deste curso criar modelos
teóricos sobre programação de supervisório ou CLP. O que estamos
apresentando é uma visão prática baseada nas experiências do dia a dia,
também não é escopo do curso esgotar todas as possibilidades de
implementação das estratégias de programação nos exemplos utilizados
ou a forma mais eficiente de implementá-las”. Lembre-se que existem muitas
maneiras de chegar ao mesmo funcionamento da lógica proposta.

Na maioria dos aplicativos bem estruturados, independente da família de


controladores ou fabricante, existem algumas lógicas que são desenvolvidas
direta ou indiretamente, por exemplo:

 Tratamento das Entradas Digitais;


 Tratamento de Entradas Analógicas;
 Tratamento das Rotinas de Comunicação;
 Tratamento de Alarmes;
 Controle de Processos (Níve, Vazão, Pressão, Temperatura, etc);
 Sincronismo de Relógio do CLP;
 Totalização;
 Monitoramento de Status CLP e Modo em falha;
 Tratamento das Saídas Digitais;
 Tratamento das Saídas Analógicas;

Obs: As lógicas apresentadas são apenas orientativas e para uso em sala


de aula, ou seja fins didáticos. Não implemente as lógicas apresentadas em
um processo real, sem realizar os devidos testes e customizações
necessárias, isso pode provocar danos a pessoas e equipamentos.

234
8.5.1 LÓGICA DE TRATAMENTO DAS ENTRADAS DIGITAIS

O tratamento das entradas digitais é muito importante para uma aplicação


industrial. Uma vez que as botoeiras de comando liga, desliga, reset, emergêcia,
chaves de processos como nível,temperatura, fluxostatos e pressostatos, na
maior parte das vezes são integradas por meio de entradas digitais ligadas ao
CLP.

a) Utilizando Alias

Criar um tag e associar a uma entrada digital pode ser uma estratégia de
programação. No exemplo a seguir ED_LAHH01 está associado a entrada física
Local:4:I.Data[1].

235
b) Com buffer, matriz ou tabelas

236
8.5.1.1 LÓGICA DE POLARIAÇÃO DE ENTRADA DIGITAL

Por especificação do cliente em algumas aplicações é necessário trabalhar


com lógica positiva, pois existem nas instalações entradas com lógica segura.
Por exemplo: Botoeiras de Emergência, Botões desliga, Chaves de Nível, Fluxo,
Etc. Neste casos é necessário criar uma lógica de polarização dessas entradas.
O tratamento de entradas garante facilidade de programação através da
uniformização dos sinais de entrada. Isto ocorre porque existem sinais de campo
que estão, em sua condição normal, enviando “1” e outros que, em sua condição
normal estão enviando “0”.
A uniformização, chamada de polarização de entrada, visa garantir que a
programação do intertravamento ou alarme seja transparente a estas
particularidades.

Entrada Polarizada (EP) na condição “0” – Situação Normal;


Entrada Polarizada (EP) na condição “1” – Entrada Atuada (A normal)

Para a geração das entradas polarizadas, pode ser utilizada a instrução


lógica XOR (Ou Exclusivo). Este bloco faz uma operação com a tabela da
Entrada Física (ENT) e com a tabela Estado Esperado da Entrada (ESP) para a
geração de uma terceira tabela, a tabela das Entradas Polarizadas (EP).

237
Desta forma pode ser implementada a polarização da entrada com “Alias”.

238
8.5.2 LÓGICA DE TRATAMENTO DE ENTRADAS ANALÓGICAS

O tratamento das entradas analógicas consiste basicamente em


escalonar o sinal de entrada analógica e converter em uma unidade de
engenharia. Por exemplo: Um LIT enviando um sinal de 4 a 20mA, com range
de 0 a 100 %.

A formula seguinte pode ser usada para calcular o valor da saída


escalonada:

O sinal de saída em unidade de engenharia pode extrapolar seus limites,


por erro ou defeito no instrumento ou eventual interrupção do sinal da entrada
analógica. A lógica de consistência é para monitorar o sinal recebido do
instrumento na entrada analógica e garantir que o sinal escalonado não
ultrapasse os batentes lógicos mínimos e máximos (Under e Over Range).
Para realizar o escalonamento podemos utilizar as instruções CPT
(Compute) e SCL (Escalonamento com Parâmetros), por exemplo.

239
É importante instrução verificar se a linguagem de programação suporta
a instrução escolhida. Por exemplo, a CPT é suportada na linguagem Ladder,
porém não é suportada na Função de Blocos (FB). A instrução SCL pode ser
utilizada na Função de Bloco e Texto Estruturado, porém a linguagem Ladder
não suporta a instrução.

Exemplo CPT:

Exemplo SCL – Função de Bloco:

Configuração do Bloco de Função SCL

240
Exemplo SCL – Texto Estruturado

Observe que os requisitos do uso da instrução SCL são diferentes do uso


da mesma instrução em linguagem Função de Bloco.

241
Na instrução SCL, para evitar que o valor escalonado da Tag extrapole seus
limites mínimos e máximos é necessário realizar a devida configuração.

 Na linguagem FB – Setar o bit “Limiting”;


 Na linguagem ST – Setar o bit “.Limiting”;

Quando usar a instrução CPT para fazer o escalonamento, uma forma de


limitar o valor de saída com a instrução CPT (Dest), é usar uma instrução de
limite antes da CPT e mover os valores máximo e mínimo escalonado em caso
de um recebido na entrada analógica fora dos limites especificados.

Segue exemplo:

8.5.3 LÓGICA DE TRATAMENTO DE ALARMES

Após a lógica de polarização das entradas digitais, a segunda operação


executada pelo tratamento de entradas é a temporização do sinal. Esta
temporização é um atraso provocado pelo tratamento de entradas no sinal vindo
do campo. Este atraso evita que transitórios ativem alguma lógica no
intertravamento, ou seja, confirma através de um atraso de tempo, a real
existência de uma condição anormal. A terceira operação executada é o bypass
de entrada. Esta serve para o operador, através do supervisório, sobrescrever o
sinal vindo do campo, ou seja, ignorá-lo. O sinal resultante destas três primeiras
operações é utilizado no intertravamento.

242
Ainda existe uma quarta operação, responsável pela comunicação com o
supervisório. Nesta função, o sinal resultante das três primeiras operações é
travado logicamente e enviado ao supervisório até que ocorra o reconhecimento.

Este reconhecimento é feito através do supervisório e serve para garantir que


o operador tomou conhecimento da alteração do estado do sinal no campo.
Existe ainda uma quinta operação que serve para limpar (resetar)
Reconhecimento de alarme. Esta função teve de ser implementada em sistemas
supervisórios onde não exista o comando pulsado. Ou pode ser

De maneira concisa, o que o sistema de tratamento de entradas deve fazer


é:
 A lógica de polarização da entrada;
 A lógica do filtro;
 A lógica de bypass;
 A lógica de travamento de alarme e de seu reconhecimento;

243
Podemos Dividir o tratamento de alarmes em duas etapas:

a) Alarmes Digitais:
b) Alarmes Analógicos;

O que vai diferenciar um do outro, é basicasmente a fonte do ininicador do


alarme. Um de uma entrada digital e o outro da comparação de um nível do sinal
e/ou de um bit de status do cartão analógico.

8.5.3.1 ALARMES DIGITAIS

Para desenvolver uma lógica de tratamento de alarmes digitais é necessário


entender o modelo apresentado. Segue as funções lógicas da entrada polarizada
até o reconhecimento de alarmes:
Crie uma estrutura de dados com os seguintes tags:

Para algumas variáveis como Nível de Tanques, Vazão e outras, há


necessidade de ser temporizada a ação da entrada de forma a se evitar a
atuação do alarme em caso de ondulações espúrias da variável.

EPT – ENTRADA POLARIZADA COM TEMPORIZAÇÃO

244
BYP - BYPASS

A função da lógica de "by-pass" é permitir ativar e cancelar "by-pass" de


ponto ou pontos de entrada do processo, para que possamos fazer manutenção
de equipamentos ou instrumentos e permitir a repartida do processo em caso de
parada por falha ou shutdown, sem que haja prejuízo para o processo.

O CLP coloca ou cancela um ponto em "by-pass" através de comando


executado pelo supervisório.

245
EBP – ENTRADA COM BYPASS E SELO

A lógica de "selo" integrada à de alarme visa reter o sinal de alarme até o


seu reconhecimento, mesmo que este já tenha sido normalizado. O CLP
disponibilizará um tag de ponto em alarme (EBS) a qual será utilizada tanto para
a lógica de intertravamento quanto pelo Supervisório. Um comando de
reconhecimento de alarmes será enviado pelo Supervisório ao CLP de forma a
desfazer o selo liberando simultaneamente alarme e intertravamento.

246
A sugestão de base de dados para Supertag (Intouch) dos alarmes digitais
no supervisório é:

8.5.3.2 ALARMES ANALÓGICOS

O tratamento dos alarmes


das variáveis analógicas é similar ao
tramento de alarmes digitais. A
grande diferença é a forma como é
gerado o sinal e a quantidade.
Escalonar a entradas analógica é o
passo inicial no tratamento do sinal,
após p escalomaneto é realizado
uma comparação entre o sinal em
unidade de engenharia (PV) e os
setpoints de alarmes: L, LL, H e HH.

247
Existem dois alarmes que identifica o estado da entrada analógica:

Under Range: Quando o valor de Corrente ou Tensão (EA) na entrada


analógica é inferior ao valor mínimo esperado (EA_MIN).

Over Range: Quando o valor de Corrente ou Tensão (EA) na entrada


analógica é superior ao valor máximo esperado (EA_MAX).

Os alarmes de Under e Over Range geralmente são obtidos nos bits de


estado do canal da respectiva entrada analógica (melhor opção) ou por meio de
comparação do valor de entrada analógica e seus respectivos limites (EA_MIN
e EA_MAX).

Como podemos verificar o tratamento dos alarmes analógicos é similar


aos digitais:

A seguir uma sugestão de como implementar essa estrutura de alarmes


analógicos. No “Data Type”, crie uma estrutura de dados definida pelo usuário
como segue:

248
Segue um resumo dos sinais que devem ser tratados na lógica de alarmes
analógicos:

Under LL L H HH Over
Ept X X X X X X
Byp X X X X X X
Ebs X X X X X X
Rec X X X X X X

Não são todas as aplicações que requer o tratamento de todos os sinais.


O fluxograma de engenharia, lista de alarmes, lista de pontos de ajuste e a matriz
de causa e efeito, podem auxiliar na elaboração das lógicas de alarme.

Segue um exemplo de como tratar a lógica de alarme analógico:

1) Criando Tipo de Dado para Analógico e Alarme de Analógicos

249
2) Lógica de Escalonamento

O escalonamento pode ser usado conforme estratégias apresentadas na


seção “Lógica de Tratamento de Entradas Analógicas”. Escolhi a lógica
implementada com Função de Bloco com instrução SCL:

250
3) Caso o escalonamento seja realizado com a função CPT é necessário ou
se a opção “Limit” não estiver habilitada no SCL.

251
4) Alarme de Under Range

Quando o cartão analógico não dispor de bit de under range é possível


implementar a lógica com o bloco de comparação.

Lógica de Bypass

Lógica de Selo do Alarme

Lógica de Reconhecimento de Alarme

252
5) Alarme de Over Range

Quando o cartão analógico dispõe de um bit de over range é possível


implementar a lógica com a instrução XIC.

Lógica de Bypass

Lógica de Selo do Alarme

Lógica de Reconhecimento de Alarme

253
6) Alarme Muito Baixo (LL)

Lógica de Bypass

Lógica de Selo do Alarme

254
Lógica de Reconhecimento do Alarme

7) Alarme Baixo (L)

Lógica de Bypass

Lógica de Selo do Alarme

255
Lógica de Reconhecimento do Alarme

8) Alarme Alto (H)

Lógica de Bypass

Lógica de Selo do Alarme

256
Lógica de Reconhecimento do Alarme

9) Alarme Muito Alto (HH)

Lógica de Bypass

257
Lógica de Selo do Alarme

Lógica de Reconhecimento do Alarme

Anotações:

258
A sugestão de base de dados para Supertag (Intouch) dos alarmes
analógicos no supervisório é:

259
8.5.4 LÓGICA DE CONTROLE DE PROCESSOS

Como já explicado no capítulo sobre controle de processos, podemos


fazer controle em malha fechada para uma série de variáveis. Existem diversas
estratégias de controle e consequente tipos de controladores, cada adequado
para alcançar um objetivo especíco num processo.

Estratégia para PIDGeral ou Master

AUTO/MAN SPwrite Máx Min


SLAVE SPread
MODONÃO M
EM
CASCATA nC

FORA M LIMITE M
RANGE
RAMPA Máx Min CVsupervisório
A B A
M

0-U.E. LIMITE

A/M SP
PV M
PV CVin
4-20mA 0-4095 PID CV
DB CVout
LIMITE 0-4095 4-20mA

A B kp ki kd

LIMITE

0-327,68 0-32,768 0-327,68


Banda
Morta

kp ki kd

A implementação deste modelo nos controladores PID, pode parecer um


pouco complexo, nas iremos mostrar passo a passo os principais pontos de
como implementar o controlador PID, os demais detalhes serão discutidos em
sala de aula.

Obs:

1) Atualiza a PV do Controlador

260
2) Range do Controlador

3) Modo manual do Controlador

261
4) Atualiza variáveis de sintonia do controlador

5) PV Tracking

6) Verifica valores do Setpoint (SP)

262
7) Limites da variável manipulada ou controlada (MV ou CV)

263
8) Execução da Instrução PID

9) Atualiza as variáveis SP e CV para indicação no supervisório

Obviamente existe outras formas mais simples para implementação de


um controle PID, entretanto as etapas apresentadas do item 1 ao 9, é para
atendimento parcial ao modelo aperensetado.

264
8.5.5 LÓGICA DE SINCRONISMO DE RELÓGIO DO CLP

Mesmo o relógio do CLP tendo uma boa precisão é aconselhável


implementar uma lógica de sincronismo entre o supervisório e o CLP. Segue
exemplo de como implementar no CLP Logix 5000:

1) Criando base de dados no CLP

2) Implemenado a lógica

265
3) Implementado lógica de sincronismo de relógio no supervisório Intouch

266
267
8.5.6 LÓGICA DE TOTALIZAÇÃO

A lógica de totalização pode ser implementada de diversas formas, neste


curso iremos utilizar lógica implementada no bloco Add On Instrution criado para
fazer a totalização de variáveis de vazão, por exemplo.

É importante que esse tipo de lógica seja realizada em rotinas que são
executadas com tempo fixo.

268
No supervisório:

269
8.5.7 LÓGICA DE MONITORAMENTO DE STATUS CLP E MODO
EM FALHA

Monitorar o status da CPU é fundamental, principalmente quando o


processo requer um conjunto UTR. Adutoras, estação elevatória, ponto de
entrega de gás natural, equipamentos instalados em oleodutos ou gasodutos,
etc.
Status de Modo

Status Falha e Bateria

270
Status Módulos Entradas e Saídas e Preseça de Forçe

271
9 MANUTENÇÃO

9.1 MONITORE MÓDULOS DE E/S

Com o controlador CompactLogix, você pode monitorar módulos de E/S


em diferentes níveis usando o software de programação para exibir dados da
falha. Programando a lógica para monitorar dados de falha para que você possa
tomar as ações apropriadas

Exibir dados de falha

Os dados de falha para certos tipos de falhas de módulo podem ser


visualizados por meio do software de programação. Para exibir os dados de
falha, realize este procedimento.

1. No software de programação RSLogix 5000, selecione tags de


controlador no organizador do controlador e clique com o botão direito
para selecionar Monitor Tags.

O estilo de exibição dos dados de falha volta ao padrão decimal.

272
2. Altere o estilo da exibição para Hex para ler o código da falha.

Se o módulo falhar, mas a conexão com o controlador permanecer aberta,


o banco de dados de tags do controlador exibe o valor de falha 16#0E01_0001.
A palavra de falha usa esse formato.

Detecção de Terminação e Falhas de Módulo

Se um módulo não adjacente a uma terminação sofrer uma falha e a


conexão com o controlador não estiver avariada, somente o módulo entra no
estado de falha. Se um módulo adjacente a uma terminação sofre uma falha,
tanto o módulo quanto o controlador passam para o estado de falha.

273
9.2 DIAGNOSTICO POR PAGINA LOCAL

Diagnóstico via software - O sistema COMPACTLOGIX possui meio para


verificação de falhas através dos LEDs indicadores localizados na parte frontal
de cada módulo ou através do software de programação do RSLogix 5000.

Existem três tipos de falha a ser em consideradas:

 Falhas Minoritárias
 Falhas Majoritárias
 Falhas de Hardware

Essas falhas podem ser verificadas através da página properties do


controlador. Clique com botão direito do mouse conforme indicação da seta e
em Properties.

9.3 FALHAS MINORITÁRIAS

Falhas minoritárias não apresentam gravidade e não comprometem o


controlador a ponto de provocar uma parada. Estas falhas indicam um desvio
operacional Este de falha ocorre em hardware ou em uma instrução. Quando
ocorre falha minoritária, o controlador:

 Continua com o scan de programa


 Não apresenta alteração no led de status do controlador

274
 Seta um bit de falha minoritária

9.4 FALHAS MAJORITÁRIAS

Falhas majoritárias promovem a interrupção do processamento. Essas falhas


podem ser impedidas de promoverem a interrupção do processamento. Para
isto, se for desejado/necessário o impedimento, deve-se configurar uma rotina
de falha que cancele a falha correspondente. Em geral, uso da instrução SSV se
faz necessário.

Este tipo de falha pode ocorrer em hardware ou em uma instrução. Quando


ocorre uma falha majoritária, o controlador:

 Seta o status de saída de acordo com o estado inicial de programação.


 Seta um bit de falha majoritária no software RSLogix 5000
 Permanece com seu led de status OK piscando na cor vermelha
 Seta lógica de falha feita pelo usuário, se ela existir. Se essa lógica não
cancelar a falha, o controlador entra em modo de defeito.

9.5 FALHAS DE HARDWARE

Esse tipo de falha indica um problema de hardware do controlador, sendo


necessário reparo ou troca do controlador. Quando ocorre falha de hardware, o
controlador:

 Seta as saídas de acordo com seus estados setados durante a falha.


 Seta o led OK em vermelho.

9.6 ACESSO ÀS PASTAS DE FALHAS

 Através das pastas de falhas majoritárias e falhas minoritárias, podem-se


verificar as falhas instantâneas.
 As falhas minoritárias apresentam conteúdo histórico e descrevem as falhas
ocorridas e sua origem, de forma que se possa analisar ou corrigir a falha.

275
As falhas majoritárias, por levarem o processador ao estado de falha,
necessitam ser limpas e eliminadas para que o processador possa ser retornado
ao estado RUN. O acesso às falhas majoritárias pode ser feito através do estado
do processador (falha) com um clique no ícone, à direita do texto da falha, vemos
a opção de:

 Limpar falha (Clear Fault)


 Ir para a falha (Go To)

É sempre importante identificar a falha para corrigi-la. Se uma falha for limpa
sem identificá-la, corre-se o risco do processador aceitar o retorno e a falha não
poder mais ser identificada/corrigida até uma nova ocorrência, uma vez que não
haverá histórico de falha.

9.7 RESET DE FALHA

O reset de falhas da CPU pode ser realizado de forma prática, através de


reset manual do módulo, sem acesso ao programa. Neste caso, a identificação
da falha não será possível. A chave de mudança de modo pode ser utilizada para

276
realizar reset do módulo. Para isto, basta, com a CPU em falha, virar a chave de
modo para PROG e, e a seguir, virar a chave para RUN. Se a falha não se repetir,
a CPU passará automaticamente para o modo RUN sem a respectiva falha
indicada.
Este reset é aplicável, normalmente, no retorno de energia. Algumas
aplicações executam programa de inicialização na energização que levam o
processador ao estado de falha e este reset retorna-o à operação normal.

9.8 DIAGNÓSTICO POR PÁGINA WEB

Para o diagnóstico do módulo ethernet via página da Web, basta entrar


com o IP do endereço o no navegador da internet. Então, você verá a página do
módulo ON-LINE

Anotações:

277