Sumário: Controllogix 5000
Sumário: Controllogix 5000
Sumário: Controllogix 5000
‘Sumário
Plataformas Logix
ControlNet – Introdução
ControlNet
Backplane
Backplane
Desta forma, a placa de fundo do chassi trabalha 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.
Por esta razão, as capacidades do sistema ControlLogix também estão muito além do
controlador tradicional programável.
Na arquitetura ControlLogix, todas as E/S remotas estão conectadas via ControlNet e são
visualizadas por qualquer controlador de forma contínua, como se as E/S estivessem na
sua própria gaveta.
Chassi
1756-A4 4 slots
1756-A7 7 slots
1756-A10 10 slots
1756-A13 13 slots
1756-A17 17 slots
Fonte de Alimentação
As fontes de alimentação ControlLogix são usadas com os racks 1756 para fornecer
alimentação de 1,2 V; 3,3 V; 5 V e 24 Vcc diretamente para o backplane do rack. Há
fontes de alimentação não redundantes (1756-PA72, -PB72, -PA75, -PB75) e redundantes
(1756-PA75R, -PB75R) disponíveis.
Para criar um sistema com fonte de alimentação redundante, você precisa de:
O controlador 1756-L6x realiza as varreduras de lógica ladder quase duas vezes mais
rápido que os controladores 1756-L55 e executa o bloco de função, o tipo de dados REAL
e as instruções de posicionamento 4 a 5 vezes mais rápido que os controladores 1756-
L55.
Bateria
Leds da CPU
Alguns modelos de CPU´s possuem mais ou menos leds no frontal, iremos estudar os
diversos modelos existentes verificando o significado de cada led individualmente.
VERDE - Controlador OK
DESLIGADO - Os Forces de I/O estão inativos/desabilitados
Veremos abaixo as permissões que podemos utilizar em relação a cada posição da chave.
Modo RUN:
- Roda o programa
- Habilita as saídas
- Não é permitido criar ou deletar tasks, programas ou rotinas
- Não é permitido criar ou deletar tags ou Ladder
- Permite Upload do projeto
- Não é permitido alterações em On-line
- Não é permitido modificar o modo de operação via software de programação
(RSLogix 5000)
Modo PROG:
- Igual ao modo PROG, porém é possível alterar o modo de operação via software de
programação (RSLogix 5000)
- Roda o programa
- Habilita as saídas
- Permite criar ou deletar tasks, programas ou rotinas
- Permite criar ou deletar tags ou Ladder
- Permite Upload e Download do projeto
- Permite alterações em On-line
- Permite modificar o modo de operação via software de programação (RSLogix
5000)
3. Entradas e Saídas
A arquitetura ControlLogix oferece uma ampla faixa de módulos de entrada e saída para
englobar muitas aplicações, desde discreta em alta velocidade até controle de processo.
O sistema ControlLogix não impõem limitações artificiais no número de pontos de E/S que
um sistema de controle possa ter. Quando os pontos de E/S são configurados ou quando o
código da aplicação é criado, a memória é usada de forma contínua.
Portanto, um dos elementos limitadores para o número de ponto de E/S no sistema é a
memória. Se o uso de mais de uma memória for necessário, o usuário pode acrescentar
mais memória via uma placa de expansão de memória ou acrescentar um controlador a
um chassi para aumentar o número total de pontos de E/S no sistema.
Um segundo fator que pode limitar o número total de pontos de E/S para um determinado
controlador envolve o conceito de conexões. O sistema ControlLogix usa uma conexão para
estabelecer um enlace de comunicação entre dois dispositivos. Esses dispositivos podem
ser controladores, módulos de comunicação, módulos de E/S, variáveis produzidas e
consumidas ou mensagens.
As conexões são diferentes dos pontos de E/S individuais. Cada controlador Logix 5550,
por exemplo, tem capacidade de realizar 250 conexões. Em uma configuração, uma única
conexão pode ser realizada para todo o chassi. Considerando o fato que chassis com 17
ranhuras estão disponíveis e considerando módulos de 32 pontos, um único controlador
pode, na realidade, suportar até 128.000 pontos de E/S digital; 4.000 pontos de E/S
analógicos podem ser suportados usando um cálculo semelhante para a E/S analógicas.
Embora esses números sejam grandes, eles duplicam quando um segundo controlador é
inserido no chassis, triplicam e assim por diante. Mesmo esses números parecendo muito
elevados se visualizados desta maneira, o ponto que permanece é que a arquitetura do
ControlLogix não impõem um limite artificial ao número total de pontos de E/S que podem
ser suportados para uma determinada aplicação.
Especifica a taxa na qual dados são produzidos por um cartão de entrada ou saída. Este
valor está compreendido entre 0,2 a 750 milisegundos.
Para módulos de saída, independente do IRP há sempre uma atualização das saídas ao
final do scan de cada programa. Isto só é válido para cartões pertencentes ao mesmo
chassis da CPU.
Endereçamento
Local
O endereçamento é considerado como LOCAL sempre que estiver presente no mesmo rack
que se encontra a CPU do ControlLogix.
0 1 2 3 4 5 6 7 8 9
Número do Slot
Cada módulo é conectado em um Slot (ranhura) do chassi. Cada slot possui um número de
identificação, começando pelo 0 (zero).
A fonte de alimentação está fora do chassi (conexão lateral), com isso ela não ocupa uma
posição no slot.
Localização:Slot:Tipo.Membro.Bit
Tipo:
I para Entradas
O para saídas
Exemplos
Local:2:I.Data.4
Local:7:0.CH0Data
Para módulos de entrada: Local:slot:I.data.bit
Para módulos de saída: Local:slot:O.data.bit
Remoto
Quando o módulo a ser utilizado não estiver no mesmo rack que a CPU do ControlLogix, ele
é considerado como Remoto. Os endereços relacionados aos módulos remotos tem uma
única diferença que é o caminho de onde está este módulo. Substitua o local no inicio do
endereçamento pelo nome do rack remoto.
ControlNet
Controlador
(local)
Remoto
R1:6:I.Data:0
Conexões
Conexão é definida com um link (enlace) de comunicação entre dois dispositivos, que
podem ser controladores, módulos de comunicação, módulos de E/S, variáveis produzidas
e consumidas ou mensagens.
A linha de controladores L6x suporta até 250 conexões. Já a linha de controladores L7x
suporta até 500 conexões.
Conexão Direta
A conexão direta também pode ser utilizada para dados em chassi remoto
Modelos de CPU L6x suportam até 250 conexões, sendo que cada módulo podemos ter até
32 bits de E/S. desta forma podemos afirmar que é possível utilizar na configuração até
8.000 pontos de E/S. Nas CPUs modelos L7x este valor é dobrado, pois é suportado até
500 conexões.
Input
Output
Input
RPI do módulo ControlNet
(rack remoto somente com
E/S digital)
Utilizamos conexões mistas sempre que existir módulos analógicos no rack remoto. Neste
caso, cada cartão analógico obrigatoriamente consome uma conexão.
Compartilhamento de I/O
Multicast
Owner
Utilizado quando uma única CPU pode ser propriedade de um cartão. Os módulos
de SAIDAS apenas podem possuir um proprietário, não sendo possível que duas ou
mais CPUs escrevam no mesmo cartão.
Listen Only
Utilizado quando uma CPU somente pode ler os dados de um cartão, não podendo
escrever nem configurar o mesmo. Um cartão de SAIDA deve ser configurado para
uma CPU como Owner onde apenas ela poderá escrever em suas saídas, mas as
outras CPUs podem ter acesso a este mesmo módulo como Listen Only.
Controlador
Organização do Projeto
Em um projeto do ControlLogix podemos ter até 32 tarefas (tasks) sendo uma contínua e
outras 31 periódicas ou eventos. Dentro de cada tarefa podemos ter até 32 programas e
dentro de cada programa podemos ter até 32.767 rotinas.
Task 32
Task 1
Configuração
Program 1 Program Tags
Status
Watch Dog
Main rotine
Routines
fault rotine
Diagrama Multitarefas
- uma tarefa de maior prioridade pode interromper uma tarefa de menos prioridade
em tempos variáveis;
- quando uma tarefa continua completa uma varredura, ele reinicia imediatamente;
- tarefas da mesma prioridade são executadas com base em uma fatia de tempo
com intervalos de 1ms.
Comunicação Serial
Podemos utilizar a porta serial do ControlLogix e também uma porta serial do PC para
podermos realizar a comunicação entre os dois dispositivos, seja para configuração, edição
do programa e visualização de status e falhas.
Como configurar:
Comunicação Ethernet
Como configurar:
12. Verifique agora se o ícone correspondente a rede ethernet está disponível no Who
Active do RSLinx.
Através deste capítulo iremos aprender como criar um novo projeto, inserir task, programas
ou novas rotinas no ControlLogix.
Selecione o tipo de CPU que será utilizada no projeto. Preencha os campos que são
solicitados, veja abaixo o que significa cada campo:
Tasks (tarefas)
O sistema ControlLogix disponibiliza a utilização de três tipos de Tasks (tarefas), que são:
Task Continua:
Task Periódica:
Task Evento:
Task Continua
Sempre que um novo projeto é criado, automaticamente é criada a task contínua com o
nome Main Task.
Clique sobre a task (tarefa) continua Main Task com o botão direito do mouse e selecione a
opção Properties (propriedades), onde:
Type: seleção do tipo de task a ser utilizada. Tem como possíveis escolhas contínua,
periódica e evento.
Watchdog: tempo de supervisão que o sistema irá medir. Caso a execução completa da
task seja superior ao tempo de supervisão, o controlador entrará em modo de falha.
Task Periódica
Iremos agora aprender como criar uma task periódica. Siga os seguintes procedimentos:
Clique com o botão direito do mouse sobre a pasta Task e aparecerá a opção New Task.
Veja figura abaixo:
Type: seleção do tipo de task a ser utilizada. Tem como possíveis escolhas contínua,
periódica e evento. Esta task será periódica.
Watchdog: tempo de supervisão que o sistema irá medir. Caso a execução completa da
task seja superior ao tempo de supervisão, o controlador entrará em modo de falha.
Period: intervalo de tempo em que a task periódica será executada. Este tempo deve ser
inserido em milissegundos.
Tarefas de mesma prioridade são executadas com base em uma fatia de tempo com
intervalos de 1 ms.
Clique em OK para finalizar a criação da task. Será mostrada a nova task na árvore do
projeto conforme a figura abaixo.
Task Evento
Iremos agora aprender como criar uma task evento. Siga os seguintes procedimentos:
Clique com o botão direito do mouse sobre a pasta Task e aparecerá a opção New Task.
Veja figura abaixo:
Type: seleção do tipo de task a ser utilizada. Tem como possíveis escolhas contínua,
periódica e evento. Esta task será event.
Watchdog: tempo de supervisão que o sistema irá medir. Caso a execução completa da
task seja superior ao tempo de supervisão, o controlador entrará em modo de falha.
Clique em OK para finalizar a criação da task. Será mostrada a nova task na árvore do
projeto conforme a figura abaixo.
Programas
O sistema ControlLogix suporta dentro de cada Task (contínuo, periódico ou evento) até 32
(trinta e dois) programas.
Sempre que um projeto novo é criado, uma Task do tipo continua é automaticamente
criada e com ela temos também um programa padrão chamado de MainProgram.
Dentro deste programa mais duas pastas são criadas automaticamente, a Program Tags e
também a MainRoutine.
Uma nova janela será mostrada com os campos do programa que está sendo criado.
Schedule in: Define em qual Task este Programa irá ser executado.
Para finalizar a criação do novo programa, clique em OK. Em seguida verifique na árvore do
projeto dentro da Task CONTINUA o novo programa chamado PROGRAMA, conforme a
figura abaixo:
Rotinas
Para criar uma rotina dentro de um programa, clique com o botão direito do mouse sobre a
pasta PROGRAMA e selecione a opção New Rotine, conforme a figura abaixo.
Uma nova janela será mostrada com os campos da rotina que está sendo criada.
Type: Define qual o tipo da rotina será criada. Temos 4 tipos de rotinas disponíveis, que
são:
Ladder Diagram: utiliza à linguagem ladder a qual tem como base o diagrama
elétrico a relé.
Function Block Diagram: utiliza blocos com funções pré-definidas pelo software,
mais utilizados para controle de motores através de inversores de frequência.
Dentro dos programas podemos ter várias rotinas (32.767). É necessário definir qual será
a rotina principal que será executada pelo programa automaticamente. As demais rotinas
são executadas/chamadas através de instruções no Ladder dentro da rotina principal.
Para definir a rotina principal, clique com o botão direito do mouse sobre a pasta
PROGRAMA e selecione a opção Properties, veja na figura abaixo, que será apresentada
uma nova janela onde devemos selecionar a rotina na opção Main.
Tags
- BOOL
Tag a nível de bit, assumi apenas dois valores que são 0 (desligado) e 1 (ligado),
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Bit utilizado
Bit não utilizado
- SINT
Os tags do tipo SINT utilizam 8 bits (BYTE) e assumem valores na faixa de -128 até
+127.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Bit utilizado
Bit não utilizado
- INT
Os tags do tipo INT utilizam 16 bits (WORD) e assumem valores na faixa de -32.768
até +32.767.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Bit utilizado
Bit não utilizado
- DINT
Os tags do tipo DINT utilizam 32 bits (DOUBLE WORD) e assumem valores na faixa
de –2.147.483.648 a +2.147.483.647.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Bit utilizado
Bit não utilizado
- REAL
Os tags do tipo REAL utilizam 32 bits (Floating) e trabalham com números não
inteiros.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Bit utilizado
Bit não utilizado
Os Tags podem ser criados em duas pastas dentro do projeto, que são:
Controller Tags
Escopo global do projeto. Todas as tasks tem acesso a esta pasta. Todos os tags
com acesso aos I/Os deve ser criados nesta pasta.
Program Tags
Considerado Tags locais. São criados dentro dos programas e somente estão
disponíveis para serem acessados pelos seus respectivos programas.
Na figura acima podemos ver duas opções de trabalho com Tags, que são:
Monitor Tags
Apenas para monitoração dos dados. Funciona apenas quando estiver ON-LINE
com o controlador.
Edit Tags
Ferramenta utilizada na criação de Tags.
Para criar um novo Tag, utilize a opção Edit Tags, dentro do menu Logic. Veja na figura
abaixo:
Na tabela de Tags, utilize as linhas da cor branca para inserir um novo tag.
Digite o nome do tag a ser criado e também selecione o tipo do tag na coluna Data Type.
Na pasta Edit Tags, digite o nome do tag a ser criado na coluna Tag name e defina na
coluna Alias for o endereço que será associado.
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, etc.
Tag do tipo BOOL não pode ter array.
Para criar um tag do tipo array, vá em Edit Tags, digite o nome do novo tag na coluna Name
e selecione na coluna Data Type o tipo INT com array de 28 (Dim 0).
Veja na figura abaixo como realizar o cadastramento.
TAG estruturado
Tag estruturado é um conjunto de tags que tem por finalidade otimizar a memória do
controlador. Estes tags podem conter dados de todos os tipos de tag base SINT, INT, DINT,
REAL, BOOL ou também dados estruturados.
Para criar um tag estruturado, vá até a árvore do projeto e selecione com o botão direito do
mouse sobre o item User Defined, que é encontrado dentro da pasta Data Types e
selecione New Data Type... (veja na figura abaixo).
Dentro da tabela Members será inserido os tags que farão parte do tag estruturado:
Finalize com o botão OK. Veja que na pasta User Defined localizada na árvore do
projeto será criado um tag estruturado com o nome declarado na criação acima
(TANQUE).
Com o nosso tag estruturado criado, iremos agora criar um tag comum e fazer a
associação deste com o tag estruturado criado anteriormente.
Crie dois tags, um com o nome SODA e outro com o nome DETERGENTE.
Na coluna Data Type dos dois tags selecione o nosso tag estruturado chamado
TANQUE.
8. Módulos de I/O
Neste capítulo iremos aprender como inserir e configurar um módulo de E/S nos
controladores ControlLogix. Todos os módulos que serão utilizados no projeto devem fazer
parte do programa e devem estar configurados.
Utilizaremos o mesmo software de programação, o RSLogix 5000.
Dentro da árvore do projeto, a última pasta chamada de I/O Configuration fica todos os
módulos do projeto. Para inserirmos um módulo, clique com o botão direito sobre o ítem
I/O Configuration e selecione a opção New Module...
Será apresentada uma lista contendo todos os módulos disponíveis que poderão ser
inseridos em seu projeto.
Selecione o cartão 1756-OB16D e clique em OK. Uma nova janela será apresentada com
as propriedades do módulo. Entre com os dados conforme a figura abaixo:
Name: Defina um nome para o cartão. Este nome pode conter no máximo 40 caracteres,
não sendo permitido o uso de caracteres especiais e também não pode ser iniciado o
nome com números.
- Full Diagnostics – Output Data: esta opção torna a CPU onde o módulo de I/O esta
sendo configurado, mestre do cartão, para a escrita dos dados de saída e das
configurações do módulo.
- Listen Only – Full Diagnostics – Output Data: esta opção é utilizada por outras
CPU´s que necessitam dos dados deste módulo já configurado por outra CPU.
Estes dados serão apenas de leitura, não permitindo a alteração de qualquer
variável de configuração.
- Compatible Module: o cartão que irá substituir o módulo com defeito deverá ser
do mesmo tipo.
- Disable Keying: o cartão que irá substituir o módulo com defeito poderá ser de
qualquer modelo, porém deverá respeitar a mesma família, não podemos substituir
o cartão de saída por um de entrada, ou um cartão analógico.
- Exact Match: o cartão que irá substituir o módulo com defeito deverá ser idêntico,
tanto na revisão quanto no modelo do modulo.
Requested Packet Interval (RPI): Defini os valores de tempo para troca de dados entre o
cartão e o controlador. Este tempo é inserido em milissegundos.
Major Fault On Controller if Connection Fails While in Run Mode: Caso o cartão seja sacado
ou pare de comunicar com o controlador a CPU entrará em modo de falha, onde as
mensagens de erro poderão ser lidas na caixa Module Fault.
Informações dos módulos estão disponíveis apenas em modo ONLINE, onde são
apresentados dados de fabricação e de status do módulo.
Todas as saídas podem ser configuradas, individualmente, o estado que irá permanecer
sempre que houver uma falha ou que o controlador for colocado em modo PROG
(programa).
A página de diagnóstico somente pode ser visualizada em modo RUN e em ONLINE para
resetar os fusíveis Eletrônicos e os bit´s retidos para os dezesseis pontos deste módulo.
Com o módulo inserido e configurado, iremos agora verificar os tags que foram criados
automaticamente pelo controlador.
Clique duas vezes sobre o item Controller Tags, que está dentro da pasta do
controlador.
Dentro do Controller Tags, em Edit Tags, será mostrado as três entradas referentes
ao modulo.
Estas três entradas são estruturas dos tag´s (ou grupos) e que contém mais tag´s
como é exibido de fato na tela.
No tag o nome Local indica que este módulo está no mesmo chassi do controlador.
O número entre os dois pontos é o número do slot do chassi que está conectado o
modulo, slot 5. Os caracteres após os dois pontos são I, O, e C, que indicam se os
Explore (+) o tag Local:5:O para exibir todas as tag´s de saída para este módulo.
Um tag deve aparecer debaixo da estrutura do tag Local:5:O, que será
Local:5:O:Data que são os bits de saída atuais.
Explore (+) o tag Local:5:C para exibir todas as tag´s de configuração deste módulo.
Alguns campos de configuração do módulo poderão ser alterados em através dos
tags encontrados nesta estrutura.
Dentro da árvore do projeto, a última pasta chamada de I/O Configuration fica todos os
módulos do projeto. Para inserirmos um módulo, clique com o botão direito sobre o ítem
I/O Configuration e selecione a opção New Module...
Será apresentada uma lista contendo todos os módulos disponíveis que poderão ser
inseridos em seu projeto.
Selecione o cartão 1756-IF6I e clique em OK. Uma nova janela será apresentada com as
propriedades do módulo. Entre com os dados conforme a figura abaixo:
Name: Defina um nome para o cartão. Este nome pode conter no máximo 40 caracteres,
não sendo permitido o uso de caracteres especiais e também não pode ser iniciado o
nome com números.
- Full Diagnostics – Input Data: esta opção torna a CPU onde o módulo de I/O esta
sendo configurado, mestre do cartão, para a escrita das configurações do módulo.
- Listen Only – Full Diagnostics – Input Data: esta opção é utilizada por outras
CPU´s que necessitam dos dados deste módulo já configurado por outra CPU.
Estes dados serão apenas de leitura, não permitindo a alteração de qualquer
variável de configuração.
- Compatible Module: o cartão que irá substituir o módulo com defeito deverá ser
do mesmo tipo.
- Disable Keying: o cartão que irá substituir o módulo com defeito poderá ser de
qualquer modelo, porém deverá respeitar a mesma família, não podemos substituir
o cartão de saída por um de entrada, ou um cartão analógico.
- Exact Match: o cartão que irá substituir o módulo com defeito deverá ser idêntico,
tanto na revisão quanto no modelo do modulo.
Requested Packet Interval (RPI): Defini os valores de tempo para troca de dados entre o
cartão e o controlador. Este tempo é inserido em milissegundos.
Major Fault On Controller if Connection Fails While in Run Mode: Caso o cartão seja sacado
ou pare de comunicar com o controlador a CPU entrará em modo de falha, onde as
mensagens de erro poderão ser lidas na caixa Module Fault.
Informações dos módulos estão disponíveis apenas em modo ONLINE, onde são
apresentados dados de fabricação e de status do módulo.
Nesta página é possível apenas ser utilizada em modo ONLINE e serve para resetar os bits
retentivos de diagnósticos para os dezesseis pontos deste módulo.
Com o módulo inserido e configurado, iremos agora verificar os tags que foram criados
automaticamente pelo controlador.
Clique duas vezes sobre o item Controller Tags, que está dentro da pasta do
controlador.
Estas duas entradas são estruturas dos tag´s (ou grupos) e que contém mais tag´s
como é exibido de fato na tela.
No tag o nome Local indica que este módulo está no mesmo chassi do controlador.
O número entre os dois pontos é o número do slot do chassi que está conectado o
modulo, slot 6. Os caracteres após os dois pontos são I e C, que indicam se os
Explore (+) o tag Local:6:C para exibir todas as tag´s de configuração deste módulo.
Alguns campos de configuração do módulo poderão ser alterados em através dos
tags encontrados nesta estrutura.
Dentro da árvore do projeto, a última pasta chamada de I/O Configuration fica todos os
módulos do projeto. Para inserirmos um módulo, clique com o botão direito sobre o ítem
I/O Configuration e selecione a opção New Module...
Será apresentada uma lista contendo todos os módulos disponíveis que poderão ser
inseridos em seu projeto.
Selecione o cartão 1756-OF6VI e clique em OK. Uma nova janela será apresentada com as
propriedades do módulo. Entre com os dados conforme a figura abaixo:
Name: Defina um nome para o cartão. Este nome pode conter no máximo 40 caracteres,
não sendo permitido o uso de caracteres especiais e também não pode ser iniciado o
nome com números.
- CST Timestamped Float Data: esta opção torna a CPU onde o módulo de I/O esta
inserido como mestre do cartão, para a escrita dos dados de saída e das
configurações do módulo. O cartão de saída será atualizado a partir de uma base
de tempo determinada pela CPU mestre do cartão. Os dados deverão ser do tipo
REAL. O RPI será ignorado.
- CST Timestamped Integer Data: idem ao item anterior porém o formato dos dados
serão DINT. O RPI será ignorado.
- Float Data: Os dados serão enviados ao módulo de I/O de acordo com o RPI
estipulado na configuração do mesmo. Os dados deverão ser do tipo REAL.
- Integer Data: idem ao anterior, porém os dados deverão ser do tipo DINT.
- Listen Only – CST Timestamped Float Data: esta configuração deverá ser
utilizada por outras CPU´s que desejam obter o status e diagnósticos deste
módulo, os status dos canais de saída serão atualizados nesta CPU pela taxa
configurada pela CPU mestre deste módulo. Os dados serão do tipo REAL.
- Listen Only – CST Timestamped Integer Data: idem ao item anterior porém o
formato dos dados serão DINT. O RPI será ignorado.
- Listen Only – Float Data - idem ao item anterior porém o formato dos dados serão
REAL e os dados serão enviados ao módulo de I/O de acordo com o RPI estipulado
na configuração do mesmo.
- Listen Only – Integer Data - idem ao item anterior porém o formato dos dados
serão do tipo DINT.
- Compatible Module: o cartão que irá substituir o módulo com defeito deverá ser
do mesmo tipo.
- Disable Keying: o cartão que irá substituir o módulo com defeito poderá ser de
qualquer modelo, porém deverá respeitar a mesma família, não podemos substituir
o cartão de saída por um de entrada, ou um cartão analógico.
- Exact Match: o cartão que irá substituir o módulo com defeito deverá ser idêntico,
tanto na revisão quanto no modelo do modulo.
Requested Packet Interval (RPI): Defini os valores de tempo para troca de dados entre o
cartão e o controlador. Este tempo é inserido em milissegundos.
Major Fault On Controller if Connection Fails While in Run Mode: Caso o cartão seja sacado
ou pare de comunicar com o controlador a CPU entrará em modo de falha, onde as
mensagens de erro poderão ser lidas na caixa Module Fault.
Informações dos módulos estão disponíveis apenas em modo ONLINE, onde são
apresentados dados de fabricação e de status do módulo.
Na tela de configuração iremos definir os valores das escalas para cada canal de saída
deste módulo. Veja na figura abaixo, que existe 6 botões, um para cada canal (Channel de
0 a 5).
- High Signal e Low Signal: define o range de saída deste módulo. Como padrão
estes canais veem definidos com um range entre -10V e +10V.
- High Engineering e Low Engineering: define o range dos canais dentro da CPU.
Como padrão estes canais também veem definidos com um range entre -10V e
+10V.
Sensor Offset: neste campo é possível digitar um valor de offset que será incrementado a
saída analógica. Este incremento é independente para cada canal.
O termo Hold For Initialization se refere ao fato de que o módulo aguardará um comando
de uma instrução Ladder para a atualização da saída analógica. A instrução utilizada para
isto é a PID.
Nesta página são definidos os status das saídas quando a CPU passar do modo RUN para
PROG, quando houver falha no cartão e quando no modo PROG houver uma falha de
comunicação com a CPU.
Caso um alarme ocorra é possível que o bit que indica esta falha seja setado, basta deixar
habilitada a opção Latch Limit Alarms. Desta forma o alarme somente será resetado
através desta tela com o uso dos botões Unlatch ou através de instruções Ladder no
programa.
No caso de escolha de um modo de segurança, podemos definir uma rampa para que o
módulo atualize as saídas em função do modo.
O valor que será incrementado/decrementado nesta rampa deve ser configurado em Ramp
Rate após habilitar a opção Ramp in Run Mode.
Os canais podem ser calibrados. Consulte o manual do módulo para maiores informações
quanto a procedimentos de calibração do mesmo.
Com o módulo inserido e configurado, iremos agora verificar os tags que foram criados
automaticamente pelo controlador.
Dentro do Controller Tags, em Edit Tags, será mostrado as três entradas referentes
ao modulo.
Estas três entradas são estruturas dos tag´s (ou grupos) e que contém mais tag´s
como é exibido de fato na tela.
No tag o nome Local indica que este módulo está no mesmo chassi do controlador.
O número entre os dois pontos é o número do slot do chassi que está conectado o
modulo, slot 2. Os caracteres após os dois pontos são I, O, e C, que indicam se os
dados são de entrada, saída ou dados de configuração. Neste caso o módulo de
saída possui os três tipos de dados.
Dentro da árvore do projeto, a última pasta chamada de I/O Configuration fica todos os
módulos do projeto. Para inserirmos um módulo, clique com o botão direito sobre o ítem
I/O Configuration e selecione a opção New Module...
Será apresentada uma lista contendo todos os módulos disponíveis que poderão ser
inseridos em seu projeto.
Selecione o cartão 1756-IF6I e clique em OK. Uma nova janela será apresentada com as
propriedades do módulo. Entre com os dados conforme a figura abaixo:
Name: Defina um nome para o cartão. Este nome pode conter no máximo 40 caracteres,
não sendo permitido o uso de caracteres especiais e também não pode ser iniciado o
nome com números.
- CST Timestamped Float Data: esta opção torna a CPU onde o módulo de I/O esta
inserido como mestre do cartão, para a leitura dos dados de entrada e das
configurações do módulo. O cartão de saída será atualizado a partir de uma base
de tempo determinada pela CPU mestre do cartão. Os dados deverão ser do tipo
REAL. O RPI será ignorado.
- CST Timestamped Integer Data: idem ao item anterior porém o formato dos dados
serão DINT. O RPI será ignorado.
- Float Data: Os dados serão enviados ao módulo de I/O de acordo com o RPI
estipulado na configuração do mesmo. Os dados deverão ser do tipo REAL.
- Integer Data: idem ao anterior, porém os dados deverão ser do tipo DINT.
- Listen Only – CST Timestamped Float Data: esta configuração deverá ser
utilizada por outras CPU´s que desejam obter o status e diagnósticos deste
módulo, os status dos canais de entrada serão atualizados nesta CPU pela taxa
configurada pela CPU mestre deste módulo. Os dados serão do tipo REAL.
- Listen Only – CST Timestamped Integer Data: idem ao item anterior porém o
formato dos dados serão DINT. O RPI será ignorado.
- Listen Only – Float Data - idem ao item anterior, porém o formato dos dados será
REAL e os dados serão enviados ao módulo de I/O de acordo com o RPI estipulado
na configuração do mesmo.
- Listen Only – Integer Data - idem ao item anterior, porém o formato dos dados
será do tipo DINT.
- Compatible Module: o cartão que irá substituir o módulo com defeito deverá ser
do mesmo tipo.
- Disable Keying: o cartão que irá substituir o módulo com defeito poderá ser de
qualquer modelo, porém deverá respeitar a mesma família, não podemos substituir
o cartão de saída por um de entrada, ou um cartão analógico.
- Exact Match: o cartão que irá substituir o módulo com defeito deverá ser idêntico,
tanto na revisão quanto no modelo do modulo.
Requested Packet Interval (RPI): Defini os valores de tempo para troca de dados entre o
cartão e o controlador. Este tempo é inserido em milissegundos.
Major Fault On Controller if Connection Fails While in Run Mode: Caso o cartão seja sacado
ou pare de comunicar com o controlador a CPU entrará em modo de falha, onde as
mensagens de erro poderão ser lidas na caixa Module Fault.
Informações dos módulos estão disponíveis apenas em modo ONLINE, onde são
apresentados dados de fabricação e de status do módulo.
Na tela de configuração iremos definir os valores das escalas para cada canal de entrada
deste módulo. Veja na figura abaixo, que existe 6 botões, um para cada canal (Channel de
0 a 5).
- High Signal e Low Signal: define o range de saída deste módulo. Como padrão
estes canais veem definidos com um range entre -10V e +10V.
- High Engineering e Low Engineering: define o range dos canais dentro da CPU.
Como padrão estes canais também veem definidos com um range entre -10V e
+10V.
Input Range: é selecionado qual o range das entradas. Podemos escolher entre:
-10V à 10V
0V à 5V
0V à 10V
0mA à 20mA
Sensor Offset: neste campo é possível digitar um valor de offset que será incrementado a
entrada analógica. Este incremento é independente para cada canal.
Notch Filter: é um filtro de linha que poderá ser utilizado para a remoção de variações de
leitura dos canais de entrada.
Digital filter: é um filtro digital, onde será feita uma média das leituras realizadas durante o
período escolhido, removendo os picos de sinal de entrada.
Os limites para alarme de processo são definidos entre High High, High, Low, Low Low.
Caso os limites sejam ultrapassados será gerado um alarme (desde que não esteja ticada
a opção Disable All Alarms).
Caso um alarme ocorra é possível que o bit que indica esta falha seja setado, basta deixar
habilitada a opção Latch Process Alarms. Desta forma o alarme somente será resetado
através desta tela com o uso dos botões Unlatch ou através de instruções Ladder no
programa.
Os canais podem ser calibrados. Consulte o manual do módulo para maiores informações
quanto a procedimentos de calibração do mesmo.
Com o módulo inserido e configurado, iremos agora verificar os tags que foram criados
automaticamente pelo controlador.
Estas duas entradas são estruturas dos tag´s (ou grupos) e que contém mais tag´s
como é exibido de fato na tela.
No tag o nome Local indica que este módulo está no mesmo chassi do controlador.
O número entre os dois pontos é o número do slot do chassi que está conectado o
modulo, slot 2. Os caracteres após os dois pontos são I, O, e C, que indicam se os
dados são de entrada, saída ou dados de configuração. Neste caso o módulo de
saída possui os três tipos de dados.
9. Instruções de Bit
Utilize a instrução XIC para verificar se um bit está ligado (acionado). Quando a
instrução é executada retorna verdadeiro para o estado lógico 1 e falso para o
resultado lógico 0.
Ao contrário da instrução XIC, utilize a instrução XIO para verificar se um bit está
desligado (não acionado). Quando a instrução é executada retorna verdadeiro para
o estado lógico 0 e falso para o resultado lógico 1.
Utilize a instrução OTE para ligar um bit (1), isso ocorrerá quando as instruções de
entrada da linha forem verdadeiras.
As instruções OTL e OTU são retentivas, após acionadas mantém o estado mesmo
que as condições de entrada da linha se tornem falsas.
OTL é utilizado para ligar um bit e a OTU para desligar um bit.
Normalmente as instruções são utilizadas em pares, endereçadas com o mesmo
bit.
A seguir iremos aprender a inserir linhas de programa utilizando instruções binárias bem
como associar os endereços necessários as instruções.
Também aprenderemos como monitorar status dessas linhas, executar download e upload
do projeto.
Inserindo instruções
Realize o mesmo procedimento para a inserção de mais instruções. Veja que a próxima
instrução é sempre inserida após a instrução já colocada anteriormente. Você também
pode arrastar e soltar a instrução, a posição que poderá ser inserida a instrução será
sinalizado através de um circulo verde.
Insira a instrução OTE no final da linha conforme a figura abaixo.
Agora com as instruções inseridas na linha iremos associar aos endereços dos módulos de
E/S. Dê um duplo clique sobre o ponto de interrogação do XIC, será apresentado um
combobox onde será listados todos os I/Os e tags criados em nosso projeto.
Local:6:I.Data.0
Outra forma de inserir instruções em uma linha de programa é digitar a instrução ao invés
de selecionar o ícone correspondente na barra de ferramentas.
Para isso, de um duplo click sobre o número da linha que está sendo editada.
Será apresentado na tela um local onde poderá ser digitado o comando. Veja na figura
abaixo,
Após digitar e apertar a tecla ENTER no teclado será inserido na linha as duas instruções
automaticamente.
Também é possível digitar o nome da instrução juntamente com o endereço que será
associado ao comando, veja na figura.
Após digitar e apertar a tecla ENTER no teclado será inserido na linha a instrução com o
endereço automaticamente.
Mais de uma instrução pode ser inserida com o seu endereço respectivo.
Para inserir uma nova, utilize a função New Rung através do ícone .
A nova linha será inserida logo abaixo da linha que está selecionada no momento.
Para criar um contato em paralelo (branch), marque a instrução sobre a qual será colocado
Clique sobre uma das laterais do branch e arraste para a posição desejada.
Para criar vários paralelos, selecione o paralelo existente e em uma de suas extremidades
clique com o botão direito do mouse e selecione a opção Add Branch Level.
Para verificar 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 realizar a verificação, duas situações podem ser apresentadas, que são:
- Não ocorreu nenhum erro na lógica ladder. As letras e existentes do lado esquerdo
da linha serão eliminadas.
- Caso algum erro seja encontrado será mostrado na parte inferior da tela, na aba
Errors, a relação de erros encontrados (veja na figura acima).
Se houver erros, basta clicar duas vezes sobre a linha que está indicando o erro que será
mostrado automaticamente o local, facilitando o reparo da linha.
Verificando um projeto
Edição ONLINE
Para editar um programa quando o controlador estiver em modo Rem-RUN deve-se dar um
duplo click sobre a linha que será alterada, ou selecionar a linha e pressionar o botão
Este procedimento faz uma cópia exata acima da linha para que a mesma possa ser
modificada. As modificações são realizadas apenas na primeira linha copiada (com
caracteres “i” a esquerda da linha).
Depois de editado, marque a linha e clique no botão Accept Pending Rung Edits ou no
Accept Pending Rung Edits irá verificar se existem erros de sintaxe na linha que
está sendo alterada.
Accept Pending Program Edits irá verificar se existem erros de sintaxe em todas as
alterações do programa.
Quando você executa esse procedimento a letra “i” vira “I” se não existirem erros na linha
ou no programa.
Neste momento o botão Test Program Edits é habilitado e ele serve para testar se a
alteração que foi feita está realmente correta.
Assim que selecionada a função Test Program Edits, o programa passa a rodar
considerando a linha que está sendo alterada, ou seja, a linha original passa a ser
ignorada. Podemos verificar essa mudança através das cores do lado esquerdo das linhas,
é feita uma inversão entre as linhas, ficará verde a que está sendo modificada.
Depois dos testes se as alterações não foram corretas deve-se clicar no botão Untest
Program Edits que faz com que a linha original volte a ser executada.
Após os testes, se a linha ficou correta deve-se clicar no botão Assemble Program Edits
que serve para confirmar as alterações. Esse procedimento faz com que a linha
original seja apagada e que a nova linha permaneça definitivamente em seu lugar.
Para inserir uma nova linha o procedimento é igual ao de alterar uma linha ONLINE, siga os
passos abaixo:
- verifique se existe erros de sintaxe com o comando Accept Pending Rung Edits
Para deletar uma linha do Ladder deve-se marcar a linha e clicar no botão Delete do
computador. A letra D aparecerá no lado esquerdo da linha indicando que ela foi deletada.
Teste a linha com a alteração, utilize o botão Test Program Edits e confirme com o
A instrução ONS (one shot) é utilizada para que uma linha se torne verdadeira apenas por
um ciclo de scan (pulso), sempre que houver uma transição de falso para verdadeiro na
condição total da linha.
A instrução necessita que seja utilizado um tag do tipo Bool para armazenar o último
estado da linha.
Exercício
Faça uma lógica em Ladder para que uma saída digital seja ligada ou desligada sempre
que pressionado um botão (pulso).
Descrição de endereço
Todo endereço pode ter anexado uma descrição. Esta descrição será mostrada sempre em
cima do endereço.
Para inserir o comentário, selecione o endereço na linha e clique com o botão direito do
mouse e escolha a opção Edit Man Operand Description.
Uma janela será aberta para que o texto da descrição seja digitada. Confirme utilizando o
Comentário da linha
Todas as linhas do programa podem ter um comentário. Para inserir este comentário,
selecione a linha desejada, clique com o botão direito do mouse e escolha a opção Edit
Rung Comment.
As instruções JSR, SBR e RET direcionam o processador para ir à outra sub-rotina dentro do
programa Ladder, executa as lógicas contidas nessa sub-rotina e retorna para o ponto de
onde foi chamada.
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 apenas uma vez.
14. Temporizadores
As instruções de temporização utilizam Tags do tipo TIMER. Esses tags podem ser criados
em duas pastas no RSLogix 5000 que são: Controller Tags ou Program Tags.
Selecione a pasta Edit Tags, digite o nome do tag na coluna TAG NAME na linha de cor
branca, as de cor cinza não são editáveis. Defina o tipo do tag como TIMER na coluna DATA
TYPE.
Cada tag do tipo TIMER contém 2 palavras do tipo DINT e outras 7 do tipo BOOL, conforme
podemos ver na figura abaixo.
A instrução TON é utilizada para ligar ou desligar uma saída após uma temporização
determinada no valor Preset (PRE).
A cada ciclo de scan é verificado se valor de preset (PRE) foi alcançado pelo valor de
contagem acumulado (ACC).
Bits de status:
DN – Timer done
É ligado quando o valor do acumulador é igual ao valor de preset, e permanece
ligado até que as condições da linha se tornem falsas.
TT – Timer timing
É ligado enquanto a contagem está em andamento. Ele permanecerá desligado
quando a contagem ainda não foi iniciada ou quando o bit DN tornar-se verdadeiro,
ou seja, ao final da temporização.
EN – Timer enable
Somente é ligado sempre que as condições da linha forem verdadeiras.
A instrução TOF é utilizada para ligar ou desligar uma saída após uma temporização
determinada no valor Preset (PRE).
A cada ciclo de scan é verificado se valor de preset (PRE) foi alcançado pelo valor de
contagem acumulado (ACC).
Bits de status:
DN – Timer done
É ligado quando as condições da linha se tornam verdadeiras e permanece ligado
até que o valor do acumulador seja maior ou igual ao valor de preset.
TT – Timer timing
É ligado enquanto a contagem está em andamento.
EN – Timer enable
Somente é ligado sempre que as condições da linha forem verdadeiras.
A instrução RTO é utilizada 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 é iniciada 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
ocorrerem:
Bits de status:
DN – Timer done
É ligado quando o valor do acumulador é igual ao valor de preset, e permanece
ligado até que as condições da linha se tornem falsas.
TT – Timer timing
É ligado enquanto a contagem está em andamento. Ele permanecerá desligado
quando a contagem ainda não foi iniciada ou quando o bit DN tornar-se verdadeiro,
ou seja, ao final da temporização.
EN – Timer enable
Somente é ligado sempre que as condições da linha forem verdadeiras.
Exercício:
15. Contadores
As instruções de contagem utilizam Tags do tipo COUNTER. Esses tags podem ser criados
em duas pastas no RSLogix 5000 que são: Controller Tags ou Program Tags.
Selecione a pasta Edit Tags, digite o nome do tag na coluna TAG NAME na linha de cor
branca, as de cor cinza não são editáveis. Defina o tipo do tag como COUNTER na coluna
DATA TYPE.
Cada tag do tipo COUNTER contém 2 palavras do tipo DINT e outras 5 do tipo BOOL,
conforme podemos ver na figura abaixo.
O CTU é uma instrução que conta as transições de falso para verdadeiro da linha,
incrementando sempre 1 ao valor atual do acumulador.
Bits de status:
CU – Count Up enable
É ligado quando as condições da linha se tornam verdadeiras. O bit CU será
desligado quando as condições da linha se tornarem falsas ou um comando de
reset (RES) for executado.
DN – Done
É ligado somente enquanto o valor do acumulador seja maior ou igual ao valor de
preset.
OV - Overflow
É ligado enquanto o acumulador for maior que +2.147.483.647(DINT).
O CTD é uma instrução que conta as transições de falso para verdadeiro da linha,
decrementando sempre 1 ao valor atual do acumulador.
Bits de status:
DN – Done
É ligado somente enquanto o valor do acumulador seja maior ou igual ao valor de
preset.
OV - Overflow
É ligado enquanto o acumulador for maior que +2.147.483.647(DINT).
O valor em radiano inserido no campo Source será convertido e armazenado seu resultado
no campo Dest em graus.
O valor em graus inserido no campo Source será convertido e armazenado seu resultado
no campo Dest em radiano.
O valor em decimal inserido no campo Source será convertido e armazenado seu resultado
no campo Dest em BCD.
O valor em BCD inserido no campo Source será convertido e armazenado seu resultado no
campo Dest em decimal.
Exercício:
Deverá existir três tags para visualização do cronometro, segundos, minutos e horas
Para as instruções de adição (ADD), subtração (SUB), multiplicação (MUL) e divisão (DIV),
devem ser preenchidas os três parâmetros, que são SOURCE A, SOURCE B e DEST.
Os tags a serem utilizados poderão ser dos tipos DINT, INT, SINT, REAL ou constantes.
Não é permitido a utilização de constantes nos parâmetros SOURCE A e SOURCE B
simultaneamente.
Caso o destino seja um tag do tipo DINT, INT ou SINT, o resultado da operação será
arredondado para ser armazenado em seu destino (DEST).
O valor do campo Source A será somado ao valor do campo Source B e o resultado será
armazenado no campo Dest.
O valor do campo Source B será subtraído do valor do campo Source A e o resultado será
armazenado no campo Dest.
O valor do campo Source A será dividido ao valor do campo Source B e o resultado será
armazenado no campo Dest. Caso o destino seja um tag do tipo DINT, INT ou SINT, o
resultado da operação será arredondado para ser armazenado.
O número inserido no campo Source tem seu sinal invertido (* -1) e armazenar o resultado
no campo Dest.
Exercicio
Faça uma rotina para cálculo de média de produção de uma determinada semana.
Crie um tag com 7 posições do tipo Real.
Desenvolva uma lógica utilizando as funções utilizadas anteriormente onde a soma das 7
posições serão armazenadas no tag SOMA e o resultado dá media no tag MEDIA.
A instrução CPT permite que várias operações matemáticas sejam executadas de uma só
vez. A expressão deve ser inserida no campo Expression. O resultado será armazenado no
campo Dest.
Exercício
Refaça a rotina para cálculo de média. Utilize agora a instrução CPT para realizar os
cálculos.
Instruções de movimentação
MOV – Move
A instrução MOV move o valor do campo Source (origem) para o campo Dest (destino),
enquanto a linha permanecer verdadeira a instrução é executada.
A instrução MVM move o valor do campo Source (origem) para o campo Dest (destino)
através de uma máscara.
Se o bit da máscara for igual a um, o bit correspondente da origem (source) será movido
para o destino (dest). Se o bit da máscara for igual a zero, o bit correspondente da origem
(source) não será movido para o destino (dest).
Instruções de Lógica
As instruções de lógicas abaixo realizam operações bit a bit. A operação é realizada com o
valor do campo Source A e do campo Source B. O resultado será armazenado no campo
Dest (destino).
Os campos Source A e Source B podem ser definidos como endereço ou como constante,
entretanto ambos não podem ser uma constante.
AND
O resultado Dest apenas será verdadeiro (1) quando os campos Source A e Source B forem
verdadeiros (1). Qualquer outra combinação entre o Source A e o Source B resultará o Dest
em falso (0).
Tabela Verdade
Source A Source B Dest
0 0 0
1 0 0
0 1 0
1 1 1
OR
O resultado Dest será verdadeiro (1) sempre que um dos campos Source A ou Source B
forem verdadeiros (1). Apenas será falso (0) quando os dois campos Source A e Source B
forem também falsos (0).
Tabela Verdade
Source A Source B Dest
0 0 0
1 0 1
0 1 1
1 1 1
XOR
O resultado Dest será verdadeiro (1) sempre que os campos Source A e Source B forem
diferentes um do outro.
Tabela Verdade
Source A Source B Dest
0 0 0
1 0 1
0 1 1
1 1 0
NOT
O campo Dest terá sempre como valor o inverso do valor inserido no campo Source.
Tabela Verdade
Source Dest
0 1
1 0
CLR
O valor do campo Dest será zerado sempre que a instrução for executada.
A instrução MEQ compara se dois valores de entrada (Source e Compare) são iguais
através de uma máscara (Mask). Se o bit da máscara for igual a um, o bit correspondente
do campo Source será comparado ao campo Compare. Caso o bit da máscara for igual a
zero, o bit correspondente será ignorado na comparação. Sendo verdadeira a condição a
saída é habilitada.
Exercício
A instrução LIM testa valores dentro ou fora de uma faixa específica, dependendo de
como os limites são definidos.
Os campos Low Limit, Test e High Limit podem ser endereços ou constantes, restritos as
seguintes combinações:
- Se o campo Test for uma constante, os campos Low Limit e High Limit devem ser
endereços.
- Se o campo Test for um endereço, os campos Low Limit e High Limit podem ser
endereços ou constantes.
O resultado da operação será falso quando o valor a ser testado (Test) for maior ou igual ao
Low Limit ou menor ou igual ao High limit. Para isso, o valor contido dentro do Low Limit
deverá ser menor ou igual ao valor contido no campo High Limit.
10 15 30
Low Limit Test High Limit
No exemplo acima, quando o valor for maior ou igual a 10 ou menor ou igual a 30 será
verdadeiro a saída da instrução.
Quando o valor do Low Limit for maior ou igual ao valor do campo High Limit, significa que
a comparação deverá ser invertida, ou seja, o resultado da operação será falso quando o
valor a ser testado (Test) estiver entre os valores dos limites.
30 50 10
Low Limit Test High Limit
No exemplo acima, quando o valor do campo Test estiver fora dos valores de limites (maior
que 30 ou menor que 10) o resultado da comparação será verdadeiro.
Exercício
Vermelho – 9 segundos
Amarelo – 3 segundos
Verde – 6 segundos
As informações de sistema são obtidas através das instruções GSV (get system value) e
SSV (set system value). Essas instruções obtêm e definem os dados do sistema do
controlador que estão armazenados nos objetos
Parâmetros:
Quando habilitada a instrução SSV define o atributo especificado com os dados da fonte
(sorce).
Ao inserir uma instrução GSV/SSV o RSLogix 5000 exibe as classes válidas ao objeto, os
nomes, as instâncias e os nomes do 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
RSLogix 5000 exibe somente aqueles atributos que são permitidos.
Objetos disponíveis:
AXIS
CONTROLLER
CONTROLLERDEVICE
CST
DF1
FAULTLOG
MESSAGE
MODULE
MOTIONGROUP
PROGRAM
ROUTINE
SERIALPORT
TASK
WALLCLOCKTIME
Ao inserir uma instrução GSV/SSV você especifica o objeto e atributo que será acessado.
Para alguns objetos, haverá mais do que uma opção do mesmo tipo de objeto, de forma
que você também possa especificar o atributo do objeto. Por exemplo, no objeto TASK,
pode-se acessar uma das tarefas existentes na sua aplicação pelo nome Tarefa.
Atenção ao definir tags para a fonte ou destino das instruções GSV/SSV, caso os tags
criados forem menores do que solicitados pelo objeto, a instrução não será executada e
uma falha de advertência é registrada.
O exemplo abaixo busca informações de tempo do scan do programa que está sendo
executado (THIS) e armazena nos tags ULTIMOSCAN e MAXIMOSCAN.
Objeto CONTROLLER
Objeto CONTROLLERDEVICE
Objeto FAULTLOG
Objeto MESSAGE
É possível acessar o objeto MESSAGE através das instruções GSV/SSV. Especifique o nome
do tag da mensagem para determinar qual o objeto MESSAGE você quer utilizar. O objeto
MESSAGE fornece uma interface para configuração e disparo das comunicações ponto a
ponto.
1. use uma instrução GSV para obter o atributo MessageType e guarde em um tag
2. use uma instrução SSV para configurar MessageType em 0.
3. use uma instrução SSV para configurar um atributo Message que você deseja
alterar.
4. Use uma instrução SSV para configurar o atributo MessageType no valor original
novamente obtido na etapa 1.
Objeto MODULE
Objeto PROGRAM
Objeto ROUTINE
O objeto ROUTINE fornece as informações de status sobre uma rotina. Especifique o nome
da rotina para determinar qual objeto ROUTINE você irá utilizar.
Objeto TASK
O objeto TASK fornece as informações de status sobre uma tarefa. Especifique o nome do
programa para determinar qual objeto TASK você irá utilizar.
Objeto WALLCLOCKTIME
O objeto WALLCLOCKTIME fornece um registro de data e hora que o controlador pode usar
para programação.
Exercício
Crime uma nova rotina com o nome de CLOCK. E utilize as instruções GSV/SSV para ler e
ajustar o valor da data e hora do controlador.
21. Force
O Force aumenta o tempo de execução da lógica. Quanto mais valores forem forçados,
maior será o tempo de scan do programa.
Os Forces criados são mantidos pelo controlador, ou seja, mesmo que o microcomputador
seja desligado o Force permanecerá ativo.
Atenção !
Inserindo Force
Através da aba Monitor/Tags da janela ou use a janela Ladder para inserir novos forces.
Para forçar um valor inteiro dos tipos SINT, INT, DINT ou REAL inteiro, digite o valor de force
na coluna Force Mask, usando um formato decimal, octal hexadecimal ou de
flutuação/exponencial. Para uma valor do tipo REAL deverá ser utilizado o formado de
número flutuação/exponencial.
Para remover o force, deixe o campo em branco.
Para forçar um bit individual de um tag do tipo SINT, INT ou DINT, expanda o valor e edite a
coluna Force Mask. O valor do force será mostrado em formato binário, onde:
- “0” indica force desernegizado
- “1” indica force energizado
- “ “ indica nenhum force
Para forçar um dado do tipo BOOL entre com o valor de force onde:
- “0” indica force desernegizado
- “1” indica force energizado
Para remover o force, deixe o campo em branco.
Através da lógica Ladder é possível realizar forces sobre tags com formatos booleanos ou
valores de bits inteiros usados em instruções binárias.
Após selecionar o modo de force, abaixo da instrução será indicado com um texto qual o
modo foi selecionado, ON ou OFF. Veja na figura abaixo.
Para valores forçados nas instruções mais complexas, você pode apenas remover os
forces. Para realizar os forces nesses casos, utilize o monitor de dados.
Habilitação de Forces
Para que o force tenha efeito, habilite os forces que foram anteriormente selecionados.
É possível habilitar e desabilitar forces apenas no controlador. Não é permitido habilitar ou
desabilitar forces para um módulo específico, grupo de tags ou elemento de tag.
Para habilitar a barra de forces. Clique sobre o botão Forces, selecione a opção I/O Forcing
e habilite o force através do item Enable All I/O Forces. (veja figura abaixo).
Sempre que um projeto for descarregado para o controlador e tiver forces habilitados, o
software de programação RSLogix 5000 solicita que você habilite ou desabilite forces
depois que o descarregamento seja concluído.
Sempre que for dado um comando para habilitar ou desabilitar um force será mostrada
uma janela de confirmação da operação.
Desabilitação de Forces
É possível que os forces sejam desabilitados sem que os mesmos sejam removidos do
controlador. Desabilitando os forces, o projeto pode ser executado como programado. Os
forces continuarão inseridos porém desabilitados não afetando a execução das rotinas do
programa.
Removendo Forces
Utilizando uma linha de comando em Ladder, selecione o endereço ou tag que está forçado
e clique com o botão direito do mouse e selecione Remove Force, conforme mostra a figura
abaixo.
Monitoração de Forces
É possível localizar e ou substituir vários itens do seu projeto através das seguintes
ferramentas do menu Search, que são:
- Find
- Replace
- Go to
- Cross Reference
Find
A janela de procura (find) permite que você especifique o tipo de item a procurar e onde
procura-lo.
Opções de buscas
específicas
Clique no botão Find Next para ativar a procura. À medida que os elementos são
encontrados, eles são detectados na tela do ladder. Se nada for encontrado, uma
mensagem aparece notificando.
Replace
Go to
A ferramenta Go to permite que você seja direcionado para uma linha, para a janela de
monitoração, edição ou de propriedades de um tag, para a rotina que fez a chamada do
ladder ou para a rotina chamada a partir do ladder selecionado.
Selecione a opção Go to a partir do menu Search ou através do menu poup-up, veja como
na figura abaixo.
Cross Reference
A função Cross Reference (referência cruzada) permite que você faça uma busca em todo o
seu projeto para encontrar as ocorrências do endereço do elemento selecionado. Você
pode executar essa modo Online ou modo Offline.
- Logic (instruções)
- Tag (tag alias da tag, data type ou módulo selecionado)
- Tag hierarchy (tag para a qual o tag selecionado é um alias).
23. Trend
O gráfico de tendência (Trend) é uma ferramenta gráfica que é capaz de plotar dados
digitais e analógicos para até 8 tags. A janela do gráfico inclui opções para iniciar e parar a
execução do gráfico no controlador, configurar propriedades de exibição e visualização de
dados amostrados.
Criando um Trend
Selecione a opção New Trend dentro da pasta Trends conforme mostra a figura abaixo.
Uma nova janela será apresentada onde nos auxiliará a criar um novo Trend.
Nome do Trend
Base de tempo
Período de amostragem
Após finalizar a criação do Trend será apresentado na tela o Trend conforme mostra a
figura abaixo. Observe que gráfico disponibiliza de botões de controles RUN, STOP,
ERRORS e LOG.
O gráfico é plotado, para encerrar utilize o botão Stop contido na barra de ferramentas
conforme mostra a figura acima. Também é possível acessar a tela de parâmetros do
gráfico, para isto, clique com o botão direito do mouse sobre o gráfico e selecione a opção
Chart Properties.
Para adicionar tags ao gráfico Trend, selecione a pasta Pens e clique sobre o botão
Add/Configure Tags e selecione o novo tag a ser inserido.
Observe que é possível determinar a quantidade de leituras será realizada bem como ter
as informações do tamanho do arquivo que será gerado por este trend no
microcomputador.
A ferramenta ADD ON instruction está disponível a partir da versão de firmware 16. Esta
ferramenta cria instruções customizadas, que podem ser utilizadas no projeto ou em
outros projetos.
A instrução Add On engloba diversas outras instruções do qual estará estruturando uma
lógica do seu programa e poderá compor outras Add On Instruction e será similar a uma
rotina que poderá ser chamada várias vezes em seu programa.
Na árvore do projeto, selecione a pasta Data Types. Clique com o botão direito do mouse
sobre o item Add-On-Defined e selecione a opção New Add-On Instruction.
Uma janela será apresentada na tela onde alguns parâmetros devem ser configurados
para a criação da nova Add ON.
Local Tags: Nesta aba iremos definir os tags a serem utilizados na instrução.
Exercício
- Liga (IN)
- Desliga (IN)
- Tempo de troca (IN)
- K1 (OUT)
- K2 (OUT)
- K3 (OUT)
Sempre que uma falha ocorrer, que seja severa o suficiente para que o controlador
desligue, o controlador gera uma falha grave e para a execução da lógica.
Em função do seu processo, você pode não querer que todas as falhas graves desliguem
todo o seu sistema. Nessas condições é possível utilizar uma rotina de falha para remover
a falha específica e permitir assim que algumas partes do sistema continuem a operar.
Exemplo:
Com esta falha aprenderemos a identificar, resetar e também preparar uma rotina para
que esta falha não interrompa a execução do nosso programa. Também aprenderemos
como disponibilizar as informações de diagnóstico de falhas para serem visualizadas em
um dispositivo externo, como por exemplo, um sistema de supervisão ou um interface
homem-máquina.
a) Ligue o tag TRANSFERE. Utilize a função Toggle Bit. Clique com o botão direito
do mouse sobre o tag.
b) Desligue o tag TRANSFERE. Faça o mesmo procedimento utilizando novamente
o a função Toggle Bit.
c) Ligue o tag LIGA. Utilize a função Toggle Bit. Clique com o botão direito do
mouse sobre o tag.
d) O Controlador neste momento entrar em mofo falha. Observe no frontal do
controlador que o led indicativo OK estará piscando na cor vermelha. Também
é possível visualizar a indicação através do software RSLOGIX 5000, conforme
mostra a figura abaixo.
Para identificar a falha, entre nas propriedades do controlador. Utilize o atalho encontrado
abaixo da identificação gráfica do modo da chave, veja na figura abaixo.
Observe na figura anterior, que é fornecido pelo controlador, informações importantes para
a detecção da falha, como:
Através de rotinas em Ladder é possível que as falhas sejam identificadas e tratadas antes
que o controlador possa entrar em falha e parar a execução do programa.
Em nosso exemplo de falha, podemos observar que foram gerados os seguintes números
04 para tipo (type) e 34 para código (code). Através destes números iremos criar uma
rotina para identificar e solucionar a falha.
4. Crie um novo tag em Controller Tags chamado de FALHA e associe ao data type
LEITURA_FALHA.
5. Edite a nova rotina DETECTA_FALHA. Observe que sobre o ícone da rotina agora
aparece um símbolo representando que esta rotina esta associada a uma rotina de
falha (fault) do programa principal (MainRoutine).
6. Na primeira linha da rotina, utilize a instrução GSV para lêr as informações sobre
falhas no controlador. Armazena no tag FALHA que contém a estrutura definida
anteriormente. Selecione sempre o primeiro item da estrutura (FALHA.TimeLow).
Algumas falhas ocorrem no controlador que não severas, ou seja, não interrompe a
execução do programa e não coloca o controlador em modo falha.
Essas falhas são chamadas de Falhas de Advertências.
No exemplo abaixo, a instrução GSV é lida a cada 1 minuto, onde é verificado se a bateria
do controlador está fraca (ADVERTENCIA.10). Caso verdadeira a condição é acionada uma
saída pra indicação externa, lâmpada ou buzina (BATERIA_FRACA). Insira as linhas em uma
nova rotina chamada de DETECTA_ADVERTENCIA.
O próximo exemplo, veremos como identificar uma falha de advertência gerada por um erro
de instrução.
Para simularmos a advertência, iremos multiplicar um número inteiro (0-65535) por
1.000.000, fazendo com que haja um estouro na capacidade de armazenamento do tag,
overflow matemático.