1. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
APOSTILA SOBRE CONTROLADORES PROGRAMÁVEIS
Prof. Eng. Antonio Geraldo Stéfano
Revisão: Maio / 2007
Curso baseado no CP Altus
-1 -
2. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Introdução
Objetivos
O curso de programação básica dos CPs aborda conceitos básicos da utilização de controladores
programáveis, sistemas de numeração (binário, octal, decimal, hexadecimal), varredura de entradas e
saídas, forma de execução de programas no CP (lógicas), sistema de endereçamento, conceitos
básicos de hardware, operação do terminal de programação, apresentação com exercícios das
instruções básicas da linguagem dos CPs. São ressaltadas as diferenças da linguagem de
programação, apresentando o conceito de programação estruturada, embora não utilizando
intensamente o mesmo para não tornar complexo o curso que pretende ser introdutório.
O objetivo é fixar nos alunos os conceitos básicos de CPs e de sua programação, através
apresentação de exemplos e da solução de exercícios simples que permitem conhecimento da
operação do terminal de programação.
O aluno deve ser estimulado a consultar os manuais dos produtos aprendendo o seu conteúdo e
fixando locais onde pode solucionar dúvidas.
Pré-requisitos
Os pré-requisitos mínimos para que os alunos possam cursar satisfatoriamente o curso básico, são:
Conceitos de eletricidade básica;
Conceitos de lógicas de relés;
-2 -
3. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Histórico dos CPs
Os primeiros controladores programáveis foram introduzidos em controle industrial, no início da
década de 60, para substituir painéis de controle a relés. Quando era necessário inserir novos
requisitos de controle, não era econômico modificar a lógica destes painéis, o que acarretava,
freqüentemente, o projeto e aquisição de novos painéis. CPs foram desenvolvidos para serem
reprogramados, quando as alterações de controle são necessárias, sem grandes modificações no
hardware, sendo então equipamentos reutilizáveis.
Os CPs passaram a ser utilizados primeiramente na indústria automobilística e, a partir daí, nos
outros segmentos industriais.
Assim como a sua aceitação, também a demanda por mais funções, tais como maior capacidade de
memória e de pontos E/S, cresceu. A maioria dos fabricantes respondeu positivamente a estes
requisitos, introduzindo novos modelos de CPs, cobrindo aplicações de pequeno (50-100 relés),
médio (150-500 relés) e grande (500-3000 relés) número de pontos. Geralmente estes vários
modelos não eram compatíveis uns com os outros; os módulos de E/S não eram intercambiáveis,
exceto adicionando-se adaptadores, o que aumentava os custos e os problemas de manutenção.
O advento do microprocessador, das facilidades de desenvolvimento de software e uma maior
maturidade do mercado, deu aos CPs novo impulso. Na década de 80 surgiram microprocessadores
e memórias mais compactos, permitindo a redução de custos e tamanhos, com aumento de
confiabilidade. Esta nova geração de microprocessadores trouxe consigo a capacidade de
interligação dos CPs entre si e com outros equipamentos (computadores) em redes industriais de
comunicação, permitindo a informatização das fábricas.
-3 -
4. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Conceitos Básicos de CPs
Ponto de entrada
Considera-se cada sinal recebido pelo CP, a partir de dispositivos ou componentes
externos (sensores), como um ponto de entrada para o CP. Ex.: microchaves,
botões, termopares, relés, etc.
Ponto de saída
Cada sinal produzido pelo CP para acionar dispositivos ou componentes do
sistema de controle (atuadores) constitui um ponto de saída. Ex.: lâmpadas,
solenóides, motores, etc.
Programa
A lógica existente entre os pontos de entrada e de saída e que executa as funções
desejadas, de acordo com o estado das entradas no CP, é o programa.
Controlador programável (CP)
É um equipamento eletrônico digital com hardware e software compatíveis com
aplicações industriais (conceito ABNT).
-4 -
5. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Conceito de bit, byte, nibble e palavra
Bit
Bit (Binary DigiT) é a unidade para o sistema de numeração binário. Um bit é a unidade básica de
informação e pode assumir o valor "0" ou "1".
1 bit
Nibble
Nibble é a unidade formada por 4 bits consecutivos.
1 nibble = 4 bits
Byte
Byte é uma unidade constituída de 8 bits consecutivos. Em um CP por exemplo o estado das
entradas de um módulo digital de 8 pontos pode ser armazenado em um byte.
1 byte = 8 bits = 2 nibbles
Palavra / Word
É um conjunto de bytes que correspondem ao tamanho da palavra. No CP por exemplo, os valores
numéricos resultados de operações aritméticas, contagens ou temporizações são armazenados em
palavras de 16 bits.
1 palavra / Word pode Ter : 8, 16, 32 ou 64 bits
-5 -
6. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Sistemas de Numeração
Os CPs, como todos os computadores, somente conseguem manipular valores representados no
sistema binário.
Números decimais
Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Base: 10
Posição do algarismo no número: potências de 10
Exemplo:
nº 456 = (4 x 102 )+(5 x 101 )+(6 x 100)
Números binários
Dígitos: 0,1
Base: 2
Posição do algarismo no número: Potências de 2
Exemplo:
nº 110011 = (1 x 25)+(1 x 24)+(0 x 23)+(0 x 22)+(1 x 21)+(1 x 20) = 51D
Números Hexadecimais
Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Base: 16
Posição do algarismo no número: Potências de 16
Exemplo:
nº 1CD = (1 x 162)+(12 x 161)+(13 x 160) = 461D
-6 -
8. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Componentes de CP
Entradas
Terminal de Proces-
Memória Memória Dispositivo
Programação de de Saídas
sador Programa Dados de
Fonte de
Alimentação Campo
Fonte de Alimentação
Interna Externa
Figura 0-1 Componentes de um CP.
Terminal de Programação
O terminal de programação é um dispositivo que conectado temporariamente ao CP permite
introduzir o programa de usuário. Utiliza-se o terminal de programação para efetuar modificações em
programas ou para permitir ao pessoal de manutenção o exame do estado dinâmico de um sistema
de controle. É possível, através deste equipamento, verificar a operação própria ou imprópria de
qualquer parte do sistema de controle, acompanhando todos os passos do programa em tempo real.
Unidade Central de Processamento (UCP)
A UCP é a unidade "inteligente” do CP. Na UCP são tomadas todas as decisões para controle da
máquina ou processo, ela recebe os dados de entrada, realiza as decisões lógicas baseada no
programa armazenado e atualiza as saídas.
Entradas e saídas (E/S)
Elementos (módulos) responsáveis pela interface dos CPs com o ambiente externo realizando tarefa
de filtragem dos sinais adaptação de níveis de tensão e corrente.
Dispositivos de campo
São os elementos do sistema de controle necessários para obtenção de informações (sensores) e
atuação ( atuadores ) do processo.
-8 -
9. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Princípio de funcionamento de um CP
Um CP realiza continuamente um ciclo de varredura que consiste em:
1. Leitura de entradas;
2. Execução do programa, que consiste em calcular novas saídas em função das
entradas, de acordo com a seqüência de instruções;
3. Atualização das saídas.
A figura 1.2, mostra o ciclo básico de varredura de um CP, o tempo mínimo para
execução de uma varredura é de 20 ms.
Figura 0-2 Ciclo de varredura de um CP
-9 -
10. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Princípio de funcionamento de um CP
- 10 -
11. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Linguagens de relés e blocos
Características
Representação gráfica
Facilidade de compreensão
Linguagem mais utilizada no mundo
Exemplo
Exemplo de programa "ladder”
- 11 -
12. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Linguagens Estruturadas
Ciclo de varredura linguagens estruturadas
Vantagens da utilização de linguagens estruturadas
Organização;
Desenvolvimento de bibliotecas de rotinas utilitárias para utilização em vários
programas;
Facilidade de manutenção;
Simplicidade de documentação e entendimento por outras pessoas além do
autor do software.
- 12 -
13. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Redes de Comunicação
Conectividade Altus
Em uma fábrica existem três níveis de conectividade: o nível de planta, o nível de controle e o nível
de campo:
A rede na planta
No nível de planta é necessário manter uma base de dados global e coletar, processar, armazenar e
gerenciar diversos tipos de dados. Além disso, este nível é o que estabelece o plano básico de
produção e onde são realizados os diagnósticos dos elementos do próprio nível e dos níveis
inferiores. Aqui o número típico de nós é de 2 a 20 e as transferências se dão em uma velocidade de
10/s a 1/minuto. As mensagens trafegam aos megabytes e não há necessidade de determinismo na
rede (o tempo para completar as mensagens não precisa ter um limite máximo).
A rede em nível de planta deve ter alta confiabilidade, ser de arquitetura simples e com imunidade a
ruído dentro de padrões razoáveis. As tecnologias aplicáveis aqui são a Ethernet (IPX, TCP/IP) de
acordo com a norma IEEE 802.3, Nível 1.
A rede Altus Ethernet TCP/IP
Através de uma interface adequada, os Controladores Programáveis Altus podem conectar-se a
redes do tipo Ethernet TCP/IP permitindo um completo acesso às informações de planta via este tipo
de standard. Com isto, utilizando "workstations" ou sistemas de computação de maior hierarquia, as
aplicações de controle podem ser acessadas de forma padronizada aumentando-se com isto o seu
potencial de conectividade. A Altus disponibiliza "drivers" de software para a maioria dos
supervisórios existentes no mercado, facilitando completamente a aplicação desta opção.
As redes de controle
O nível de controle responde pelos equipamentos que compõe a linha de produção e pela leitura e
acionamento de todos os sinais de campo. É neste nível que são feitos os cálculos de algoritmos de
controle e otimização, bem como a aquisição de dados, monitoração dos processos e registros de
alarmes, dados de produção e manutenção. O próprio controle de qualidade da produção tem neste
nível o seu centro nervoso. As mensagens trafegam aos kilobytes e o determinismo é necessário
para garantir tempo mínimo para as ações de controle. A freqüência de transferência nestes casos é
de 1/10 ms a
1/10s.
A rede em nível de controle deve ter alta confiabilidade, não escapa de ter arquitetura mais complexa
e com alta imunidade a ruído. As tecnologias aplicáveis aqui são na sua maioria proprietárias mas
que tendem a atender a MAC (ISO 802.3), LLC (IEE 802.2 classe I).
A rede ALNET II
Implantada a partir da série de CPs AL-2000/MSP ("Multi-Station Processors") a rede ALNET II é
multi-mestre e permite o controle distribuído a partir de vários processadores de forma determinística.
Ela atinge a velocidade de 1 Mbaud. Possui o conceito de sub-redes, ou seja, sua arquitetura permite
distribuir e isolar o tráfego de informação nas aplicações. Seu desempenho permite a real distribuição
das tarefas de controle entre vários Controladores Programáveis. Possui gateways para diversos
tipos de conexões, o que permite a sua convivência em ambientes já desenvolvidos com produtos de
outras marcas.
A rede ALNET I
A rede ALNET I é uma rede de supervisão, do tipo mestre-escravo, extremamente útil na aquisição e
análise de dados, utilizada em toda a linha de Controladores Programáveis Altus. Ela pode auxiliar
- 13 -
14. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
em muito a implantação de redes de controle quando aplicada em conjunto com a rede ALNET II. Seu
protocolo é aberto e disponível para o desenvolvimento de qualquer tipo de "driver" de software. Ela
pode controlar até 31 CPs a partir de uma estação mestre.
As redes de campo
O nível de campo é utilizado para aquisição das variáveis de processo, envio de programação de
"set-points", aquisição do estado dos equipamentos, atuação sobre motores, válvulas e/ou outros
equipamentos. O número típico de nós por nível é de 50 a 500 com tempos de transferência da
ordem de 1/ms a 1/100 ms. As mensagens variam de 1 bit a alguns bytes e o determinismo é
necessário.
A rede PROFIBUS
PROFIBUS é uma rede de campo aberta, padronizada na Europa e de uso internacional, definida na
Norma EN 50170. Tem três versões para atender diferentes requisitos de um sistema de controle:
PROFIBUS-DP
O PROFIBUS DP é otimizado para conexão rápida e econômica. Esta versão é destinada
especialmente para comunicação entre sistemas de controle de automação e E/S distribuídos.
PROFIBUS-DP pode ser usado para substituir transmissão de sinais como 24 Vdc ou 4 a 20 mA.
PROFIBUS-PA
PROFIBUS-PA foi projetado especialmente para aplicação em processos contínuos. Possibilita a
conexão de sensores e atuadores em barramento único comum, em áreas intrinsecamente seguras
de acordo com o padrão internacional IEC 1158-2.
PROFIBUS-FMS
PROFIBUS-FMS é uma solução de comunicação genérica. Os serviços FMS abrangem uma larga
faixa de aplicações e proporcionam grande flexibilidade. PROFIBUS-FMS geralmente é utilizado a
nível de controle conectando os equipamentos responsáveis por este controle entre si.
- 14 -
15. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Vantagens do uso de Controladores Programáveis
Os CPs oferecem um considerável número de benefícios para aplicações na
indústria. Estes benefícios podem resultar em economia que excede o custo do CP
em si e devem ser considerados quando da seleção de um dispositivo de controle
industrial. As vantagens da utilização de CPs, se comparados a outros dispositivos
de controle industrial incluem:
• Menor ocupação de espaço;
• Potência elétrica requerida menor;
• Reutilização;
• Programável, se ocorrerem mudanças de requisitos;
• Confiabilidade maior;
• Manutenção mais fácil;
• Maior flexibilidade, satisfazendo um número maior de aplicações;
• Permite a interface através de rede de comunicação com outros CPs e com
microcomputadores;
• Projeto do sistema mais rápido.
Aplicações típicas de CPs
Praticamente não existem ramos de aplicações industriais onde não existam
aplicações de CPs, algumas aplicações típicas são:
• Máquinas industriais (operatrizes, injetoras de plástico, têxteis, calçados, etc.);
• Equipamentos industriais para processos (siderurgia, papel e celulose,
pneumáticos, dosagem e pesagem, fornos, etc.);
• Equipamentos para controle de energia (demanda, fator de carga);
• Controle de processos com realização de sinalização, intertravamento e laços
PID;
• Aquisição de dados de supervisão em: fábricas, prédios inteligentes,
dispositivos que necessitem de controle remoto, etc.;
• Bancadas de teste automático de componentes industriais.
- 15 -
16. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
INTRODUÇÃO A PROGRAMAÇÀO
LÓGICAS DE PROGRAMA
Chama-se lógica a matriz de programação formada por 32 células ( elementos da matriz ) dispostas
em 4 linhas ( 0 a 3 ) e 8 colunas ( 0 a 7 ). E cada uma das células podem ser colocadas instruções,
podendo-se programar até 32 instruções em uma mesma lógica.
Cada lógica presente no programa simula um pequeno trecho de um diagrama de relés real. A figura
abaixo mostra o formato de uma lógica do programa aplicativo.
As duas linhas laterais da lógica representam barras de energia entre as quais são colocadas
as instruções a serem executadas.
Estão disponíveis para a programação instruções simbólicas tipicamente encontradas em diagramas,
tais como contatos, bobinas, ligações e instruções representadas em caixas, como temporizadores,
contadores e aritméticas.
A lógica deve ser programada de forma que bobinas e entradas das instruções de caixas sejam
“energizadas “a partir do fechamento de um fluxo de “corrente “da esquerda para a direita entre as
duas barras, através de contatos ou das saídas das caixas interligados. Entretanto, o fluxo de
“corrente elétrica “simulado em uma lógica flui somente no sentido da barra de energia esquerda para
direita, diferentemente dos esquemas elétricos reais. O conceito utilizado simplifica sobremaneira o
projeto lógico de relés, uma vez que não é necessário a preocupação com caminhos de fuga de
corrente.
- 16 -
17. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
O processamento das instruções de uma lógica é realizado em colunas, desde a coluna 0 até a 7.
Uma coluna é processada na ordem seqüencial de suas linhas, desde a linha 0 até a linha 3. A figura
abaixo mostra a ordem de processamento de células da lógica. O número existente dentro de cada
célula indica a sua ordem de processamento.
Operandos da linguagem de relés
Operandos são elementos utilizados pelas instruções do Mastertool na elaboração de um programa
aplicativo. Os operandos podem definir valores constantes, definidos no momento da programação,
ou variáveis, identificados através de um endereço ou de um tag, com valores possíveis de serem
alterados durante a execução do programa aplicativo.
Identificação de um Operando pelo Endereço
A identificação e utilização de um operando pelo seu endereço é caracterizada pelo caractere %
como primeiro caractere do nome. O restante do nome utilizado deve seguir ás regras de formatação
de endereço de operandos.
Identificação de um Operando pelo seu Tag
A identificação e utilização de um operando pelo seu tag é caracterizada pela utilização de um nome,
com até 7 caracteres ( alfanuméricos ), que pode ser atribuído a qualquer operando, exceto
constantes. Este nome passa a representar o operando nos processos de programação, monitoração,
depuração e documentação de um programa aplicativo.
Ex.:
Atribui-se o tag CONT1 ao operando % M0000.
Sempre que o operando %M0000 necessite ser utilizado na edição do programa aplicativo, pode-se
utilizar o tag CONT1.
- 17 -
18. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Grupos de Instruções
Os CP’s Altus utilizam a linguagem de relés e blocos para a elaboração do programa aplicativo, cuja
principal vantagem, além de sua representação gráfica, é ser similar a diagramas de relés
convencionais.
A programação desta linguagem, realizada através do Mastertool, utiliza um conjunto de poderosas
instruções apresentadas abaixo em 7 grupos:
Conceitos de programação estruturada
Funcionalmente, um projeto de programação, pode ser visto como uma coleção de módulos utilizados
para realizar uma tarefa específica, também conhecido como programa aplicativo. Isto permite uma
visão hierárquica do projeto com a criação de sub-rotinas e funções.
Exemplo 1: Ligar e desligar uma lâmpada
Representação elétrica
C1
L1
Figura 0-3 Representação elétrica
Equivalência no diagrama de relés do CP
• C1 = E0000.0
• L1 = S0002.0
- 18 -
19. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Programa "ladder"
Figura 0-4 Programa "ladder"
O programador MASTERTOOL
VISÃO GERAL
O MASTERTOOL é uma aplicação executada no ambiente operacional Windows, possuindo todas as
facilidades e padronizações oferecidas por este .
Sua operação, como as demais , são orientadas a comandos de menus e caixas de diálogos que
permitem a realização das tarefas e escolha das opções.
Com o intuito de facilitar os procedimentos mais utilizados no MASTERTOOL, existem diversos
atalhos onde o pressionamento de duas teclas simultaneamente realizam um comando, bem como
uma Barra de Ferramentas onde basta clicar no botão desejado para a rápida realização do
comando.
O MASTERTOOL possui ainda janelas de edição específicas para Módulo de Configuração, Modulo
de Configuração de rede e Módulos de Programa. Estas janelas permitem uma edição eficiente e
uma visualização adequada dos diversos componentes de cada módulo específico.
Procedimentos de utilização de projetos
O QUE É UM PROJETO ?
Um projeto é um conjunto de módulos que são utilizados para a realização das tarefas de um CP ou
para a configuração de um dispositivo roteador.
O nome do arquivo de projeto pode possuir até 6 caracteres de comprimento e é finalizado com a
extensão .MTL. Alguns caracteres possuem significado especial para o sistema operacional, sendo
considerados caracteres inválidos para a formação do nome do projeto .
CARACTERES INVÁLIDOS : , . / ? * | “ : ; [ ] = + - < >
- 19 -
20. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Existem 2 tipos de projetos:
Projeto de Programação.
Um Projeto de programação é utilizado para reunir todos os módulos necessários á execução das
tarefas de um CP.
Neste tipo de Projeto é obrigatória a existência de um módulo de configuração e de um módulo de
execução E001. Quando se cria um novo projeto de programação, o módulo de configuração é
automaticamente criado e visualizado na janela de edição de módulo C.
O nome do módulo de configuração é formado pelo tipo do módulo ( C - ), pelo nome do projeto e
pela extensão .000.
O nome do módulo de execução principal é formado pelo tipo do módulo ( E- ), por um nome de até 6
caracteres ( sugere-se o nome do projeto ) e pela extensão .001. o Módulo de execução pode ser
criado com o comando Novo Módulo ou pode ser inserido com a opção Inserir Módulo do comando
Edita Projeto.
Projeto de Roteador.
Um projeto de roteador é utilizado para definir a configuração de rede e roteamento que deve ser
realizado pelo dispositivo roteador.
Neste tipo de projeto somente é permitida a utilização de um módulo de configuração de roteamento.
Quando se cria um novo projeto de roteador, o módulo de configuração de roteamento é
automaticamente criado e visualizado na janela de edição de módulo R.
O nome do módulo de configuração de roteamento é formado pelo tipo do módulo ( R- ), pelo nome
do projeto e pela extensão .000.
CRIANDO UM PROJETO :
Para a criação de um Projeto devem ser indicados o nome do projeto, o subdiretório do projeto e o
tipo do projeto a ser criado.
Para criar um novo projeto:
1. A partir do menu Arquivo, escolher Novo Projeto.
2. No Item Nome do Projeto, digitar o nome do Projeto a ser criado.
3. No item Tipo de Projeto, escolher Programação ou Roteadores conforme o
projeto a ser criado.
4. No item Diretório, digitar o caminhamento completo do subdiretório onde deve
ficar localizado o novo projeto
- 20 -
21. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Procedimentos de utilização de módulos de programa
ABRINDO UM MÓDULO :
Para que um módulo possa ser editado ou visualizado é necessário que ele esteja aberto.
Ao abrir um módulo que faça parte do projeto corrente ele poderá ser
visualizado e editado.
Caso o módulo sendo aberto não faça parte do projeto corrente, é exibida a caixa
de dialogo MASTERTOOL onde deve ser indicado se o módulo deve ser
inserido no projeto ou não. Se o módulo não for inserido no projeto, somente
poderá ser visualizado.
Para abrir um módulo :
1. Utilizar um dos seguintes métodos:
Na Barra de Ferramentas, clicar sobre o Botão Abrir.
A partir do Menu Arquivo, escolher Abrir Módulo .
Utilizar o Atalho de Teclado CTRL + L
2. No item Nome do Arquivo, digitar ou selecionar o nome do módulo.
3. No item Diretórios, selecionar o subdiretório onde esta localizado o módulo.
4. No item Listar Arquivos do Tipo, selecionar o tipo módulo.
5. No item Unidades , selecionar a unidade de disco onde esta localizado o
módulo.
6. Quando todos os parâmetros estiverem indicando o módulo, selecionar o
Botão OK.
Salvando um Módulo :
Após a edição de um módulo deve-se salvar o mesmo em disco para que as alterações realizadas
possam ser realmente efetivadas. O nome e a localização em disco permanecem as mesmas.
Sugere-se que o arquivo seja salvo freqüentemente.
Para salvar um módulo no disco:
1. Utilizar um dos seguintes métodos:
Na Barra de Ferramentas, clicar sobre o Botão Salvar.
A partir do menu Arquivo, escolher Salvar Módulo.
Utilizar o atalho de teclado CTRL + S.
- 21 -
22. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Configurações do Sistema
O que é um módulo “C”:
Módulo C é o módulo que possui todas as configurações necessárias para o uso de um projeto de
programação.
Configurando o Modelo de UCP :
O módulo de configuração deve estar declarado de acordo com o controlador a ser utilizado. P ara
isto deve-se configurar o modelo de UCP.
Para configurar o modelo de UCP deve-se:
Selecionar como módulo corrente o módulo C a ser configurado.
No item Modelo de UCP, selecionar o modelo de UCP a ser utilizado na lista de UCP’s
Configurando Operandos Simples:
Deve ser declarado no módulo C a quantidade de operandos simples usada pelos demais módulos
que compõe o programa aplicativo.
A quantidade total de memória para operandos depende do modelo de UCP.
À medida que os operandos são declarados, a quantidade de memória disponível pode ser
visualizada no item Bytes Livres.
Os operandos memória são alocados em blocos de 128 operandos. Caso o valor digitado não seja
múltiplo deste valor, é arredondado para o primeiro valor múltiplo de 128 maior que o número
digitado. Os operandos decimal são alocados em blocos de 64 operandos. Caso o valor digitado não
seja múltiplo deste valor, é arredondado para o primeiro valor múltiplo de 64 maior que o número
digitado.
Para configurar operandos simples.
No item Total de Operandos, Memória, digitar o número de operandos memória a serem
utilizados. O item ao lado mostra automaticamente o intervalo dos operando memória que
estão disponíveis para serem utilizados.
No item Total de Operandos, Decimal, digitar o número de operandos decimal a serem
utilizados. O item ao lado mostra automaticamente o intervalo dos operandos decimal que
estão disponíveis para serem utilizados.
- 22 -
23. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Configurando Barramento :
Deve ser declarado no módulo C a configuração de módulo C a configuração de módulos de entrada
e saída localizados em todos os barramentos possíveis para cada modelo UCP. Na configuração do
barramento são alocados operandos de entrada e saída ( % E e % S ) para os módulos digitais e
indicado o endereço dos operandos de endereço no barramento (% R
No item Primeiro Octeto de Saída é possível a definição do endereço do operando % S a partir do
qual serão reservados os pontos de saída. Este valor é automaticamente alterado com as
declarações dos módulos de E/S nos barramentos, só precisando ser modificado pelo usuário para
reservar endereços % E para futuras inserções de módulos de entrada..
Para configurar o barramento.
1. Selecionar o botão Barramento. É exibido um quadro de diálogo para a
configuração dos barramentos.
2. No item Primeiro Octeto de Saída, digitar o número do primeiro octeto de
saída.
3. No item Troca de Módulo Energizado, deve-se selecionar o item caso seja
utilizada a troca de módulos com CP energizado. Este item só existe na UCP
Al-2002/MSP.
4. Selecionar o botão Barramento 0. É exibido uma tabela para a configuração
do barramento 0. Cada linha da tabela corresponde a uma posição no
barramento indicado pela coluna Posição. A coluna PA indica o valor a ser
configurado na ponte de ajuste do módulos, ver Manual de Utilização do CP
utilizado, Manuais de Características Técnicas AL-1000/AL-2000 e Manuais de
Características Técnicas QUARK.
5. Na coluna Módulo, digitar ou selecionar o módulo de entrada ou saída que
deve ocupar aquela posição. Se o módulo for de entrada ou saída digital são
configurados os operandos %E ou %S de acordo com o número de octetos do
módulo. A coluna Endereço indica o endereço no barramento a ser utilizado
para acesso aos módulos analógicos e especiais.
6. Repetir este item para todos os módulos a serem inseridos no barramento 0.
7. Repetir o item 4 selecionando cada barramento a ser configurado. Repetir os
item 5 para configurar os módulos de cada barramento. O número de
barramentos varia de acordo com o modelo de UCP utilizado.
Os botões <<Anterior e Próximo>> podem ser utilizados durante a configuração
de um barramento para exibir diretamente a caixa de diálogo de configuração do
barramento anterior ou do próximo barramento.
- 23 -
24. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Edição de lógicas
Editando um Módulo de Programa
O que é um módulo de programa :
Módulo de programa é um módulo que possui rotinas desenvolvidas para serem executadas em um
CP.
Modificando um módulo de programa :
Para modificar um módulo de programa:
1. Selecionar o módulo a ser modificado para a janela ativa.
2. Utilizar um método dos seguintes
Na Barra de Ferramentas, clicar sobre o botão modificar.
A partir do menu Edição, escolher Modificar (ALT,E,M).
Realizar um duplo clique em qualquer ponto da Área de Edição.
O menu passa a ser o menu de modificação de módulos possuindo 2 itens com comandos para
edição e busca e vários itens contendo os grupos de instruções disponíveis.
- 24 -
25. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Inserindo uma Lógica:
Para inserir uma lógica:
1. Utilizar um dos seguintes métodos:
Na Barra de Ferramentas, clicar sobre o botão inserir nova lógica.
A partir do menu Edição, escolher Nova Lógica.
2. No item Lógica, digitar o número da lógica a ser inserida.
3. No item Tag, digitar o tag para a lógica. Pode possuir até 7 caracteres.
4. No item Descrição, digitar a descrição para a lógica. Pode possuir até 60 caracteres.
5. No item Observações, digitar as observações a respeito da lógica. Pode possuir até 280
caracteres.
Inserindo uma instrução:
O procedimento para a inserção de uma instrução é o mesmo para todas. Para as instruções que
possuem operandos, é apresentada uma caixa de dialogo para a edição dos mesmos.
Para inserir uma instrução:
1. Posicionar o cursor de lógica na célula onde deve ser inserida a instrução.
2. Selecionar no menu de instruções o grupo de instruções desejado.
3. Selecionar a instrução dentro do grupo. É exibida uma caixa de diálogo com o formato da caixa
da instrução.
4. Editar os operandos correspondentes a instrução selecionada indicando o endereço ou tag do
operando.
5. Caso o tag indicado não existir, é exibida uma mensagem indicando a inexistência do tag e
solicitando o endereço do operando e sua descrição na caixa de diálogo Criar Tag. Digitar o
endereço e a descrição do operando e escolher o botão OK. Caso não seja desejado editar o tag,
escolher o botão Cancelar.
- 25 -
26. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Seqüência de operações para transferir um programa para o
CP
Figura Seqüência de operações para envio de programa para o CP
Caso o CP esteja em estado de erro, antes de transmitir o programa, deve-se
passar o CP para o modo programação, enviar os módulos E-.001 e C-.000 após
passar o CP para o modo execução .
- 26 -
27. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instruções de Relés
Instruções Contato RNA e RNF, Ligações Horizontal, Vertical e Negada e
Bobina
LISTA DAS INSTRUÇÕES
Os CP’s ALTUS utilizam a linguagem de reles e blocos para a elaboração do programa aplicativo,
cuja principal vantagem, além de sua representação gráfica, é similar a diagramas de relés
convencionais.
A programação desta linguagem, realizada através do MASTERTOOL, utiliza um conjunto de
poderosas instruções apresentadas nas seguintes seções:
RELÉS
MOVIMENTADORES
ARITMÉTICOS
CONTADORES
CONVERSORES
GERAIS
LIGAÇÕES
Instruções do Grupo de Relés:
As instruções do grupo de Relés são utilizadas para o processamento lógico dos diagramas de relés.
Através das mesmas pode-se manipular os valores dos pontos digitais de entrada ( %E ) e saída (
%S ), bem como pontos de operandos auxiliares ( %A ), memória ( %M ) e decimal ( %D ).
São usadas também para desvio do fluxo e controle do processamento do programa aplicativo.
- 27 -
28. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Apresentação das instruções :
A descrição de cada instrução é feita da seguinte maneira:
1. A instrução é descrita com um título contendo o nome da instrução e a descrição do nome. Uma
figura apresentando como a instrução é visualizada no diagrama de relés contendo seus
operandos, entradas e saídas. Abaixo da figura, é exibida uma breve descrição do significado de
cada operando.
2. O item Descrição contém informações descrevendo o funcionamento da instrução conforme as
entradas habilitadas e os tipos de operando utilizados. Neste item também são descritas as
saídas que serão acionadas após a execução da instrução.
3. O item Sintaxe descreve as combinações de operandos que podem ser utilizados na instrução.
Esse item somente esta presente nas instruções que possuam operandos.
4. O item Exemplo fornece um exemplo de utilização da instrução descrevendo seu
comportamento. Este item somente esta presente nas instruções que requeiram um
detalhamento maior de seu funcionamento.
5. Podem existir outros itens descrevendo uma característica específica da instrução caso haja
necessidade.
Instruções do Grupo Relés.
As instruções do grupo Relés são utilizadas para o processamento lógico dos diagramas de
relés. Através das mesmas pode-se manipular os valores dos pontos digitais de entrada (%E) e
saída (%S), bem como pontos de operandos auxiliares (%A), memória (%M) e decimal (%D).
São usadas também para desvio do fluxo e controle do processamento do programa aplicativo.
Descrição:
Estas instruções refletem, logicamente, o comportamento real de um contato elétrico de um relé no
programa aplicativo.
O contato normalmente aberto fecha conforme o estado do seu operando associado. Caso o ponto
do operando esteja no estado lógico 1 ou 0, o contato normalmente aberto está fechado ou aberto,
respectivamente.
- 28 -
29. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
O contato normalmente fechado possui comportamento oposto ao normalmente aberto. Caso o ponto
do operando associado esteja no estado lógico 1 ou 0, o contato normalmente fechado está aberto
ou fechado, respectivamente.
Quando um contato está fechado, a instrução transmite o estado lógico da sua entrada para a sua
saída. Se estiver aberto, o valor da entrada não é colocado na saída.
Descrição:
As instruções bobina modificam o estado lógico do operando na memória imagem do controlador
programável, conforme o estado da linha de acionamento das mesmas.
A bobina simples liga ou desliga o ponto do opernado conforme a linha de acionamento, enquanto
que as bobinas do tipo desliga somente ligam ou desligam os operandos quandoa linha está
energizada (“set”/ “reset”).
Estas instruções somente podem ser posicionadas nacoluna 7 da lógica.
- 29 -
30. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Bobina Liga e Bobina Desliga
Descrição: Instrução Bobina de Salto
A instrução bobina de salto serve para controlar a sequência de execução de um programa
aplicativo, sendo usada para desviar o processamento do mesmo para uma lógica determinada.
Seu operando é uma constante que determina o numero de lógicas a serem saltadas a partir da
energização da bobina. A determinação da lógica destino é realizada pela soma da constante que
acompanha a instrução com o número da lógica onde a mesma se encontra.
Quando a linha de acionamento da bobina de salto estiver desenergizada, o salto não ocorre, e a
instrução seguinte aquela em que esta bobina está declarada é executada.
Exemplo:
Supondo que a instrução a seguir esteja na lógica 2, a execução do programa aplicativo é
desviada para a lógica 7 se a linha de acionamento estiver energizada, ou seja, se o valor do
ponto %A0009.3 for 1. Se o valor deste ponto for 0, a execução continuará normalmente na
lógica 003.
- 30 -
31. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Pode ser utilizada nesta instrução uma constante %KM com valor zero ou mesmo com valor
negativo. Se programada com o valor zero, a lógica destino é a mesma que contém a bobina de
salto, quando esta é energizada. Ou seja, o processamento é desviado para o início da própria lógica
da bobina. Se o valor programado é negativo, o processamento é desviado para uma lógica anterior
à lógica que contém a bobina de salto.O controle da execução nestas situações deve ser realizada
através de um intertravamento que desligue o salto para a lógica anterior, após um certo número de
laços executados no trecho de retorno.
ATENÇÃO:
O uso de constante zero ou negativo corresponde a um uso não convencional da
instrução. Caso deseje-se utilizá-la, deve-se tomar os cuidados necessários para
evitar a entrada em laço infinito de execução “loop” ou o aumento excessivo do
tempo de ciclo do programa aplicativo. Recomenda-se, contudo, a utilização da
bobina de salto somente com constantes positivas maiores que zero.
Caso a lógica destino ultrapasse a última lógica do programa aplicativo, o CP salta
para o final do programa e continua seu ciclo normal.
Caso a lógica destino de um salto de retorno seja menor do que a primeira lógica
do programa aplicativo, a execução é reiniciada a partir da lógica 0.
Descrição: Instrução Rele de Pulso
A instrução relé de pulso gera um pulso de uma varredura em sua saída, ou seja, permanece
energizada durante uma varredura do programa aplicativo quando o estado da sua entrada passar de
desenergizado para energizado.
O relé auxiliar declarado serve como memorizador, evitando limitações quanto ao número de
instruções de pulso presentes no programa aplicativo.
ATENÇÃO:
O valor do relé auxiliar não deve ser modificado em nenhum outro ponto do
programa aplicativo.
- 31 -
32. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Exemplo 4: Relé de Pulso
Descrição: Instrução Rele Mestre e Fim de Rele Mestre
As instruções relé mestre e fim de relé mestre são utilizados para delimitar trechos de programas
aplicativos, energizando ou não a barra lógica de alimentação nos mesmos, conforme o estado da
sua linha de acionamento.
Estas instruções não necessitam de operandos, podendo ser posicionadas somente na coluna 7 da
lógica.
Quando a entrada da instrução RM estiver desenergizada, a barra lógica de alimentação é
desenergizada desde a lógica seguinte até a lógica que contém a instrução FRM.
Como estas instruções atuam sempre na lógica seguinte a que estão contidas é aconselhável o seu
posicionamento sempre como últimas instruções da lógica em que estiverem presentes. Assim
sendo, o trecho de programa aplicativo delimitado visualmente pelas instruções no diagrama
corresponde exatamente ao controlado pelas mesmas, evitando assim má interpretação de seu
funcionamento.
ATENÇÃO:
As instruções COM, COB, TEE e TED contém saídas energizadas mesmo sem o
acionamento das suas entradas. Estas saídas permanecem energizadas mesmo
dentro de um trecho sob comando de um relé mestre desenergizado, podendo
causar acionamentos indesejáveis.
- 32 -
33. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Relé Mestre e Fim de Relé Mestre
- 33 -
34. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Intertravamento básico de um motor
Representação elétrica
Equivalência no diagrama de relés do CP
• Botão liga = E0000.0
• Nível OK = E0000.1
• Pressão OK = E0000.2
• Botão desliga = E0000.3
• Motor M1 = S0002.0
Programa "ladder"
- 34 -
35. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Modelos de UCP AL-2000/MSP
AL- AL-2002/MSP
2000/MSP
Número de Módulos de E/S 32 142
Número de E/S Digitais 512 512
Número de E/S Analógicas 512 *
Memória de Programa RAM 128 k 128 k
Memória de Programa "Flash" 128 k 128 k
Memória de Dados 15,5 k 15,5 k
Multiprocessamento Não Sim
Rede ALNET I Sim Sim
Rede ALNET II Sim Sim
Registro de Eventos Não Sim
Modelos de UCP AL-600
AL-600/4 AL-600/8 AL-600/16
Frequência de “Clock” 15 MHz 15 MHz 15 MHz
Entradas Integradas 24Vdc 16 16 16
Saídas Int. (24 VDC / 0,5 A) 8 8 8
Número Máx. de Módulos 4 8 16
Contadores até 10 KHz Int. 2 2 2
Total de Pontos de E/S 90 156 284
E/S Analógica Integrada
- 2 (0 a 10 VDC) 2 (0 a 10 VDC)
Memória de Programa
16 kbytes 32 kbytes 64 kbytes
"Flash"
Memória de Programa RAM 16 kbytes 16 kbytes 16 kbytes
Módulos Função Não Sim Sim
Memória de Dados 8 kbytes 8 kbytes 8 kbytes
Modelos de UCP QUARK
QK800 QK801 QK2000/MSP
Frequência de “Clock”
14,7456 MHz 14,7456 MHz 14,7456 MHz
Número Máximo de E/S 256 512 512
Número Máx. de Módulos 16 32 32
Interface de Comunicação
Sim Sim Sim
ALNET I
Interface de Comunicação
Não Não Sim
ALNET II
Capacidade padrão de 32kb RAM 32kb RAM 32kb RAM
memória 32kb FLASH 64kb FLASH 64kb FLASH
Capacidade máxima de 32kb RAM 128kb RAM 128kb RAM
memória 32kb FLASH 128kb FLASH 128kb FLASH
Modelos de UCP PICCOLO
PL101/R PL102/R PL103/R
PL101/T PL102/T PL103/T
Frequência de “Clock” 14,7456 MHz 14,7456 MHz 14,7456 MHz
Entradas Integradas 24Vdc 8 14 16
Saídas R (relé) T (transistor) 6 10 16
Nº Máx. Mod. E/S digitais. - - 3
E/S Analógicas Integradas - - 2 (0 a 10 Vdc)
Contadores até 10kHZ int. - - 2
Interface de Comunicação RS-232C RS-232C RS-232C e
ALNET I EIA-485
- 35 -
36. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Seqüência de operações para solução de
exercícios
Seqüência de operações para solução de exercícios
- 36 -
37. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Transportador de peças com expulsão automática
Transportador de peças com expulsão automática
Ao apertar o botão de Start o motor é energizado.
1 A peça será transportada até encostar no fim de curso 1 (FC1). Ao
encostar no FC1 o motor é desligado parando a esteira e o solenóide S1
deve ser energizado para empurrar a peça.
2 Quando a peça passar pelo fim de curso 2 (FC2) o pistão deve ser
recuado desenergizando o solenóide S1. Nesse momento o motor deve
ser ligado iniciando o transporte de uma nova peça.
3 Em qualquer momento que for pressionado o botão de Stop, o motor
deve ser desligado e o pistão recuado (desenergizando S1).
- 37 -
38. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Controle de nível de líquido
Controle de nível de líquido no reservatório
Elaborar um software aplicativo que implemente o controle do processo de enchimento de
um reservatório. Sempre que o nível cair abaixo de um mínimo permitido (chave de nível F1),
liga válvula Y1 e desliga a válvula Y2. Por outro lado, quando o nível atingir a chave de nível
F2, a válvula alimentadora Y1 deve ser desligada, permitindo o acionamento de Y2. Prever
uma chave manual/automático CH1.
Ligar e desligar um motor com apenas um pulso
Diagrama de sinais do exercício 2
Acionamento e reversão de um motor
Elaborar um software aplicativo que permita o acionamento e a reversão no sentido de rotação de um
motor através de um comando manual. As condições de desligamento ou não acionamento do motor
devem ser:
• botão stop
• pressão baixa no sistema
• temperatura elevada
- 38 -
39. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Exercicio: Engarrafamento de Bebidas
Desenvolver um software aplicativo que realize as seguintes funções de controle:
E0.0 = START - NA - PULSO S2.0 = SISTEMA LIGADO
E0.1 = PARADA - NF - NORMAL S2.1 = MANUAL
E0.2 = MANUAL=0 / AUTO=1 S2.2 = AUTO
E0.4 = MOVIMENTO P/ FRENTE S2.3 = ABASTECENDO
E0.6 = PRESENÇA DE GARRAFA (S1) S3.4 = ESTEIRA
E0.7 = GARRAFA CHEIA (S2)
- O sistema e iniciado através da entrada E0.0.
- O sistema e desligado através da entrada E0.1.
- A saída S2.0 liga a lâmpada quando o sistema e ligado.
- O modo de operação deverá ser sinalizado por: S2.1 = manual ; S2.2 = auto.
- O modo de operação manual/auto só poderá ser selecionado se o sistema estiver desligado.
- Durante a operação manual, a correia transportadora pode ser movimentada para frente (E0.4).
- Em operação automática, o motor de transportador (S3.4) ligará e permanecerá ligado até quando a chave
de parada (E0.1) abra, ou até que o sensor (E0.6) detecte a presença de garrafa.
- Depois que a garrafa é abastecida (temporizador) o transportador deverá partir automáticamente e
permanecer ligado até que outra garrafa seja detectada ou até que a chave parada (E0.1) seja acionada.
- Quando a garrafa esta localizada embaixo do dispositivo de abastecimento (E0.6), o procedimento de
abastecimento é iniciado, simulando 05 (cinco) segundos e é sinalizado através da saída (S2.3).
- O sensor (E0.7) deverá ser usado para registrar garrafas cheias, somente se o sistema estiver ligado.
- Para resetar o contador a maquina deverá estar em Auto (E0.2 = 1) e apertar ( E0.4 ).
- 39 -
40. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instruções Temporizador e Contador
Instrução Temporizador na Energização
Descrição:
Esta instrução realiza contagens de tempo com a energização das suas entradas de acionamento.
A instrução TEE possui dois operandos. O primeiro ( OPER1 ) especifica a memória acumuladora da
contagem de tempo. O segundo operando ( OPER2 ) indica o tempo máximo a ser acumulado. A
contagem de tempo é realizada em décimos de segundos, ou seja, cada unidade incrementada em
OPER1 corresponde a 0,1 segundo.
Enquanto as entradas libera e ativa estiverem simultaneamente energizadas, o operando OPER1 é
incrementado a cada décimo de segundo. Quando OPER1 for maior ou igual a OPER2, a saída Q é
energizada e –Q desenergizada, permanecendo OPER1 com o mesmo valor de OPER2.
Desacionando-se a entrada libera, há a interrupção na contagem do tempo, permanecendo OPER1
com o mesmo valor. Desacionando-se a entrada ativa, o valor em OPER1 é zerado.
Se OPER2 for negativo ou o acesso indireto for inválido , OPER1 é zerado e a saída –Q é
energizada.
O estado lógico da saída Q é exatamente o oposto da saída –Q . mesmo estando a instrução
desativada.
Atenção:
.
Com a entrada ativa desativada, a saída –Q permanece sempre
energizada, mesmo quando a instrução estiver em um trecho comandado
pela instrução RM ( relé mestre ).
Deve-se Ter cuidado para não realizar acionamentos indesejáveis na lógica
devido a este fato.
Temporizador na Energização ou "on delay"
- 40 -
41. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instrução Temporizador na Desenergização
Temporizador na Desenergização ou "off delay"
Programa "ladder"
Diagrama de tempo
Temporizador Monoestável
Programa "ladder"
256
Diagrama de tempo
- 41 -
42. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Temporizador Astável
Programa "ladder"
Diagrama de tempo
OBS : SE SUBSTITUIRMOS O OPERANDO SAÍDA S0002.0 POR UM OPERANDO AUXILIAR
A00010.0 , TEREMOS UM AUXILIAR PULSANTE A CADA 2 SEGUNDOS PARA SER
APLICADO EM QUALQUER PARTE DO PROGRAMA QUE SE DESEJE UM SISTEMA
DE PISCA – PISCA.
EXEMPLO: A SAÍDA S0002.5 É UMA LÂMPADA SINALIZADORA DE EMERGÊNCIA ACIONADA.
- 42 -
43. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Temporizadores em Cascata
Programa "ladder"
Diagrama de tempo
Exercício
1) Faça uma partida automática estrela-triângulo, utilizando-se dos conhecimentos adquiridos
até o momento.
- 43 -
44. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instrução Contador
Descrição :
Esta instrução realiza contagens simples, com o incremento de uma unidade em
cada acionamento.
A instrução contador simples possui dois operandos. O primeiro, sempre do tipo
%M, especifica a memória que contabiliza os eventos. O segundo estabelece o
valor limite de contagem para energização da saída superior e pode ser do tipo
%KM ou operando %M referenciado indiretamente.
Se a entrada ativa esta desenergizada, a memória em OPER1 é zerada, a saída
não limite energizada e a saída limite desenergizada.
Quando a entrada ativa está energizada, cada transição de ligação na entrada
incrementa aumenta o valor do operando contador ( OPER1 ) de uma unidade.
Programa "ladder"
- 44 -
45. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Multiplicação de Bases de Tempo
Programa "ladder"
- 45 -
46. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
COB - Contador Bidirecional
OPER1 - contador
OPER2 - passo de contagem
OPER3 - limite de contagem
Descrição
Esta instrução realiza contagens com o valor de incremento ou decremento definido por
um operando. A instrução contador bidirecional permite contagens em ambos os sentidos,
isto é, incrementa ou decrementa o conteúdo de um operando do tipo memória. O
operando OPER1 contém a memória acumuladora do valor contado, enquanto que
OPER2 especifica o valor do incremento ou decremento desejado. O operando OPER3
contém o valor limite da contagem. A contagem ocorre sempre que a entrada ativa está
energizada e as entradas incrementa ou decrementa sofrerem uma transição de
desligadas para ligadas. Se ambas as entradas sofrem a transição no mesmo ciclo de
varredura do programa, não há incremento nem decremento no valor da memória
declarada em OPER1.Caso o valor do incremento seja negativo, a entrada incrementa
provoca decrementos e a entrada decremento provoca incrementos no valor da
contagem. Se o valor de OPER1 tornar-se maior ou igual ao valor de OPER3, a saída
limite superior é energizada, não havendo incremento. Se o valor de OPER1 tornar-se
igual ou inferior a zero, a saída limite inferior é acionada, sendo armazenado zero em
OPER1.Se o valor de OPER1 está entre zero e o limite, a saída não limite é acionada. Se
a entrada ativa não está energizada, a saída limite inferior é energizada e o primeiro
operando é zerado. Em caso de acesso indireto inválido para qualquer um dos operandos
da instrução, a saída limite inferior é energizada.
ATENÇÃO:
Com a entrada ativa desativada, a saída limite inferior permanece sempre
energizada, mesmo quando a instrução estiver em um trecho comandado pela
instrução RM (relé mestre). Deve-se ter cuidado para não realizar acionamentos
indesejáveis na lógica devido a este fato.
- 46 -
47. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
INSTRUÇÃO PARA MOVIMENTAÇÃO DE OPERANDOS SIMPLES
OPER 1 – OPERANDO ORIGEM
OPER 2 – OPERANDO DESTINO
DESCRIÇÃO:
Esta instrução move o conteúdo de operandos simples, sem realizar conversões entre tipos
De operandos diferentes, quando a entrada habilita é acionada.
O operando que ocupa a primeira célula da instrução ( oper 1 ) é o operando origem, cujo valor é
movimentado para o operando destino, especificado na Segunda célula ( oper 2 ).
Se o formato do operando destino for menor que o de origem, os octetos mais significativos do valor
origem são
Desprezados. Se o formato do destino for maior, seus octetos mais significativos são zerados. Se a
movimentação for realizada , a saída sucesso é acionada.
Se os índices indiretos excederem os limites de operandos declarados no módulo de configuração, a
movimentação não é efetuada e a saída sucesso não é ligada.
Não é permitida a movimentação de subdivisões de operandos. Para isto, deve ser usada a instrução
MOP.
EXEMPLO DE UTILIZAÇÃO DA INSTRUÇÃO MOV:
- 47 -
48. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instrução CAB – Carrega Bloco
Oper1 – operando inicial ou tabela a ser carregada
Oper2 – número de operandos ou posições de tabela
Oper3 – tabela de constantes a serem carregadas
Descrição:
Esta instrução permite a carga de até 255 valores constantes em um bloco de operandos ou tabelas.
O operando inicial ou tabela a ser carregada é especificado no primeiro parâmetro (oper1 ),
O número de operandos ou posições da tabela a serem carregados no segundo operando
( oper2 ) e o valor das constantes no terceiro ( oper3 ).O valor do segundo operando deve ser
positivo, menor ou igual a %KM+128.
O terceiro operando ( oper3 ) é composto por uma tabela de valores constantes a serem carregados.
Estes valores são declarados selecionando o botão Bloco, sendo aberta uma janela de edição no
MasterTool. As constantes são do tipo %KM se o tipo do primeiro operando for %E, %S , %A, %M,
%T ou são do tipo %KD se o primeiro operando for %D ou %TD. Caso o primeiro operando seja um
octeto ( %E, %S ou %A ), somente serão movimentados os valores dos octetos menos significativos
de cada constante declarada.
Quando o botão Bloco é selecionado, é exibida a caixa de diálogo CAB – Valores:
- 48 -
49. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Dispositivo de Separação e Contagem
Elaborar software aplicativo que faça a separação automática das caixas
pequenas, conforme figura abaixo:
Figura -5 Dispositivo de Separação e Contagem
Considerar as seguintes condições:
• Velocidade da esteira: 5 m/min;
• Comprimento da caixa grande: 0,8 m;
• Comprimento da caixa pequena: 0,2 m;
• Tempo de acionamento do pistão: 0,5 s.
- 49 -
50. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
DISPOSITIVO DE PRENSAGEM COM MORSA PNEUMÁTICA
Dispositivo de prensagem de peças
Descrição das entradas e Saídas:
Entradas: Saídas:
Start Sol . 1
Emergência Sol. 2
Fc1 Lâmp. Emerg.
Fc2
Fc3
Fc4
- 50 -
51. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Dispositivo de Furação
Seqüência de funcionamento do dispositivo de furação
1. Para ligar a máquina, a broca deve estar recuada (SW3 ligada) e o fim de curso
1 ativado (FC1).
2. Ao acionar o botão de partida (START), o motor que dá rotação à broca é
ligado, é desligado o recuo (SW3) e ligado o avanço rápido (SW1).
3. Quando é ativado o fim de curso 2 (FC2), é desligado o avanço rápido (SW1) e
ligado o avanço lento (SW2) para corte.
4. Quando é ativado o fim de curso 3 (FC3), é desligado o avanço lento (SW2) e
ligado o recuo (SW3).
5. No recuo, quando ativar o fim de curso 1 (FC1), desliga o motor e permanece
ligado apenas o recuo (SW3), deixando a maquina parada na condição de
partida.
Obs.:
• O Botão de STOP deve em qualquer passo da máquina:
• Desligar o motor.
• Desligar avanço rápido (SW1).
• Desligar avanço lento (SW2)
• Ligar Recuo (SW3)
Dispositivo de Furação
- 51 -
52. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Fresadora
Elaborar um software aplicativo da fresadora (figura 10-5) na qual a peça é colocada manualmente.
Acionando start e a peça estando na posição (sensor atuado), a válvula Sol. 2 (cilindro A) fixa a
peça na mesa, ligando a serra circular. Após 5s a válvula Sol. 1 avança o cilindro B até o ponto
desejado para a fresagem. O tempo de fresagem é de 8s. Após, a válvula Sol. 1 é desacionada
retornando o cilindro B e desligando a serra. A válvula Sol. 2 recua o cilindro A para soltar a peça,
que é retirada manualmente. Em qualquer momento que for acionado o botão de emergência deve
desligar a serra circular recuar cilindro A e B .
Figura -6 Fresadora
Descrição das entradas e saídas:
Entradas: Saídas:
Start Sol. 1
Emergência Sol. 2
Sensor de peça Lâmp. Emerg. Acionada
Contator do Motor da Fresadora
- 52 -
53. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Folha deixada em branco propositalmente
- 53 -
54. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instruções de Chamada – CHP e CHF
Descrição - CHP
Esta instrução realiza o desvio do processamento do módulo corrente para módulo Procedimento especificado
nos seus operandos, se o mesmo estiver presente no CP.
Ao final da execução do módulo chamado, o processamento retorna para a instrução seguinte a CHP. Não há
passagem de parâmetros para o módulo chamado.
O conteúdo do primeiro operando é documentacional e especifica o nome do módulo a ser chamado. O
conteúdo do segundo operando especifica o número deste módulo, sendo implícito o fato do módulo chamado
ser do tipo procedimento.
Caso o módulo chamado não exista, a saída sucesso é desenergizada e a execução continua normalmente
após a instrução. O nome do módulo não é considerado pelo CP para a chamada, mas apenas o seu número.
Descrição - CHF
A instrução chama módulo função realiza o desvio do processamento do módulo corrente para o módulo
especificado na mesma, se este estiver presente no CP. Ao final da execução do módulo chamado, o
processamento retorna para a instrução seguinte a CHF.
Devem ser declarados o nome e o número do módulo, sendo implícito o fato do módulo chamado ser do tipo
função. Caso o módulo chamado não exista no controlador, a execução continua normalmente após a instrução
de chamada, com a saída sucesso da mesma desligada. O nome do módulo não é levado em consideração
pelo CP, estando no programa aplicativo apenas como referência documentacional, sendo considerados para a
chamada apenas o seu tipo e número.
Tecla de atalho
Chama Procedimento Chama Função
Sintaxe
- 54 -
55. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
F-ANLOG.006 – FUNÇÃO PARA CONVERSÃO A/D OU D/A
Introdução:
A função F_ANLOG.006 realiza a conversão A/D ( analógico / digital ) ou D/A ( digital / analógico )
dos dois canais analógicos disponíveis na UCP.
Utilizando-se duas instruções CHF, é possível realizar a conversão A/D em um
dos canais e D/A no outro ou o mesmo tipo de conversão em ambos.
Programação :
Operandos
As células da instrução CHF utilizada para chamada da função são programadas do seguinte modo:
OPER1 – Especifica o número de parâmetros que são passados para a função OPER3. Este
operando deve ser obrigatoriamente uma constante memória com valor 3 ( %KM+00003 ).
OPER2 – Deve ser um operando do tipo constante memória com valor 0 ( %KM+00000 ).
Determina o número de parâmetros possíveis de serem programados na janela de edição de
OPER4. Como esta função não necessita de nenhum parâmetro em OPEr4, o valor de OPER2 é
0.
OPER3 – Contém os parâmetros que são passados para a função, declarados através de uma
janela visualizada no MASTERTOOL quando a instrução CHF for editada. O número de
parâmetros editáveis é especificado em OPER1, sendo fixo em 3 para este módulo.
%KM+XXXXX – Especificação do canal a ser convertido. Deve-se utilizar %KM+00000 para DAC
1 e %KM+00001 para DAC 2.
%KM+XXXXX – Tipo de conversão a ser realizada no canal definido pelo parâmetro anterior.
Deve-se utilizar %KM+00000 para conversão A/D e %KM+00001 para conversão D/ª
%MXXXXX – Especificação do operando onde é armazenado o valor a ser escrito no conversor
em caso de conversão D/A ou valor lido em caso de conversão A/D.
OPER4 – Não utilizado.
Entradas e Saídas
Descrição das Entradas:
Habilita – quando esta entrada esta energizada a função é chamada, sendo analisados os
parâmetros programados na instrução CHF.
Descrição das Saídas:
Sucesso – é energizada quando a função foi corretamente executada.
Erro – é energizada caso ocorra erro na especificação dos operandos ou tentativa de acesso a
operandos não declarados.
- 55 -
56. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
F-CONT.005 - Função para Acesso às Entradas de Contagem Rápida
Introdução
A função F-CONT.005 realiza o interfaceamento do programa aplicativo com as entradas de
contagem rápida integradas na UCP AL-600 e PL103.
A UCPs AL-600 e PL103 possuem no painel frontal duas entradas de contagem rápida, possibilitando
a contagem de pulsos com elevada freqüência (até 10 KHz), quando se torna inadequada a
contagem por
meio de pontos de entrada convencionais.
Programação
Operandos
As células da instrução CHF utilizada para a chamada da função são programadas do seguinte modo:
- OPER1 - Especifica o número de parâmetros que são passados para a função em OPER3. Este
operando deve ser obrigatoriamente uma constante memória com valor 3 (%KM+00003).
- OPER2 - Deve ser um operando do tipo constante memória com valor 0 (%KM+00000). Determina o
número de parâmetros possíveis de serem programados na janela de edição de OPER4. Como esta
função
não necessita de nenhum parâmetro em OPER4, o valor de OPER2 é 0.
- OPER3 - Contém os parâmetros que são passados para a função, declarados quando a instrução
CHF for editada. O número de parâmetros editáveis é especificado em OPER1, sendo fixo em 3 para
este
módulo:
%KM+XXXXX - Número da entrada contadora (0 ou 1).
%DXXXX - Operando que armazena o valor de contagem.
%MXXXX - Operando utilizado pela função para o controle interno do seu processamento.
ATENÇÃO:
O operando de controle não deve ter seu conteúdo alterado em nenhuma parte do programa
aplicativo, sob pena de prejudicar a execução correta da função. Cada CHF para este módulo F deve
possuir um
operando de controle exclusivo, diferente dos demais.
- OPER4 - Não utilizado.
- 56 -
57. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Entradas e Saídas
Descrição das entradas:
- habilita - quando esta entrada está energizada a função é chamada, sendo analisados os
parâmetros programados na instrução CHF. Caso os mesmos estejam incorretos, a saída de erro é
energizada.
- zera - causa o zeramento do valor de contagem, quando habilitada.
- carrega - quando ativada, faz com que o valor armazenado no operando %D seja o novo valor de
contagem.
Descrição das saídas:
- contagem zero - é energizada quando o valor do operando %D de contagem possui valor zero.
- limite de contagem - é energizada quando o valor do operando %D de contagem possui valor
+9999999.
- erro - é energizada caso ocorra erro na especificação dos operandos ou tentativa de acesso a
operandos não declarados.
Quando se passa o CP de programação para execução a entrada ZERA das funções F-CONT.005
devem ser acionadas por uma varredura, de forma a permitir o referenciamento da função, visto que
seus
operandos de contagem e de controle foram zerado na troca de estados.
Utilização
Esta função pode ser utilizada somente nas UCPs da série AL-600, QK600, PL102, PL103 e PL104.
Descrição do Funcionamento
Cada contador realiza uma contagem incremental, de 0 a +9999999 pulsos, armazenada em um
operando %D. Quando a contagem atinge o valor limite, o operando não é mais incrementado,
ligando a saída
limite de contagem na instrução CHF.
O valor no operando de contagem pode ser inicializado com o acionamento da entrada zera da
instrução. Para começar a contagem com um valor diferente de zero, basta mover o valor desejado
para o
operando %D e acionar a entrada carrega da instrução.
A função deve ser chamada periodicamente, no ciclo de varredura normal ou no módulo executado
por interrupção de tempo E018. A freqüência máxima de contagem depende do período de chamada,
sendo
mostrada na tabela 6-4.
Freqüência Máxima de Contagem Período de Chamada da Função
2,5 Khz 100 ms
3,4 Khz 75 ms
5,0 Khz 50 ms
10,4 Khz 25 ms
- 57 -
58. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
SOM - Adição
OPER1 - primeira parcela
OPER2 - segunda parcela
OPER3 - total
Descrição:
Esta instrução realiza a soma aritmética de operandos. Quando a entrada habilita é energizada, os
valores dos operandos especificados nas duas primeiras células são somados e o resultado
armazenado no operando nas terceira célula.
Se o resultado da operação for maior ou menor do que o armazenável, a saída estouro é energizada
e o máximo ou mínimo valor armazenável é atribuído a variável total como resultado.
Se a entrada habilita não está energizada, todas as saídas são desernegizadas e o valor de OPER3
não é alterado.
- 58 -
59. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
SUB -Subtração
OPER1 - primeira parcela
OPER2 - Segunda parcela
OPAR3 - resultado
Descrição:
Esta instrução realiza a subtração aritmética entre operandos. Quando habilita é energizada, o valor
do operando da segunda célula é subtraído do valor do operando da primeira célula. O resultado é
armazenado na memória especificada na terceira célula.
As linhas de saída resultado > 0, resultado = 0 e resultado < 0 podem ser usadas para
comparações e são acionadas de acordo com o resultado da subtração.
Se a entrada habilita não está energizada, todas as saídas são desernegizadas e OPER3
permanece inalterado.
Se o resultado da operação excede o maior ou menor valor armazenável no operando, o respectivo
valor limite é considerado como resultado.
- 59 -
60. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
MUL - Multiplicação
OPER1 - multiplicando
OPER2 - multiplicador
OPER3 - produto
Descrição:
Esta instrução realiza a multiplicação aritmética de operandos. Quando a entrada habilita está
energizada, ocorre a multiplicação do conteúdo do operando especificado na primeira célula pelo
especificado na segunda.
O resultado é armazenado na memória especificada na terceira célula. Caso este exceda o valor
máximo armazenável em uma memória, o resultado final é este valor e a saída estouro é energizada.
Se a entrada habilita é desernegizada, nenhuma saída é ligada e OPER3 permanecerá inalterado.
- 60 -
61. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
DIV - Divisão
OPER1 - dividendo
OPER2 - divisor
OPER3 - quociente
OPER4 - resto
Descrição:
Esta instrução realiza a divisão aritmética de operandos. Quando a entrada habilita está energizada,
ocorre a divisão do valor do operando da primeira célula pelo da segunda, sendo o resultado
armazenado na memória especificada na terceira célula e o resto da operação colocado no quarto
operando. Os operandos da primeira e segunda células podem ser do tipo memória ou constante.
Se o valor do segundo operando for zero, a saída divisão por zero é acionada e em OPER3 é
colocado o valor máximo ou mínimo armazenável no operando, conforme o sinal de OPER1. Neste
caso, em OPER4 (resto) será armazenado zero. As saídas da instrução somente são energizadas se
a entrada habilita estiver acionada. Se não estiver acionada, OPER3 e OPER4 permanecerão
inalterados.
- 61 -
62. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
CAR - Carrega Operandos
OPER - operando a ser carregado
Descrição:
A instrução carrega operando realiza a carga do valor do operando especificado em registrador
especial interno ao CP, para subseqüente uso das instruções de comparação (maior, menor, igual). O
operando permanece carregado até a próxima instrução de carga, podendo ser utilizado por várias
lógicas, inclusive em ciclos de varredura subseqüentes.
A saída sucesso é acionada se a carga for realizada. Se algum acesso indireto a operando não for
possível (índice inválido), a saída sucesso não é acionada.
Instruções de Comparação de Operandos - Igual, Maior e Menor
Descrição:
As instruções maior, menor e igual realizam comparações do operando especificado com o valor
previamente carregado no registrador interno com a instrução CAR (Carrega Operando), fornecendo
o resultado da comparação em suas saídas. Caso algum acesso indireto seja inválido, a saída é
desacionada.
Por exemplo, a instrução maior energiza a sua saída se o valor do seu operando for maior que o valor
do operando presente na última instrução CAR ativa. As instruções igual e menor operam de forma
idêntica, mudando apenas o tipo de comparação realizada.
Se os operandos a serem comparados são do mesmo tipo, são comparados conforme o seu formato
de armazenamento (considerando o seu sinal). Se não são do mesmo tipo, são comparados ponto a
ponto (como valores binários sem sinal).
- 62 -
63. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
F-RELG.048 - Função para Acesso ao Relógio de Tempo Real
A função F-RELG.048 realiza o acesso ao relógio de tempo real contido na UCP. O relógio possui horário e
calendário completos, permitindo o desenvolvimento de programas aplicativos que dependam de bases de
tempo precisas. A informação de tempo é mantida mesmo com a falta de alimentação do sistema, pois a UCP é
alimentada por baterias.
Esta função possui características semelhantes à função F-SINC.049, pois ambas executam acessos ao
mesmo relógio, diferindo apenas quanto aos métodos de acerto. Elas podem ser utilizadas simultaneamente em
um mesmo programa, caso necessário.
Programação
Operandos
As células da instrução CHF utilizada para a chamada da função são programadas do seguinte modo:
- OPER1 - Especifica o número de parâmetros que são passados para a função em OPER3. Este operando
deverá ser obrigatoriamente uma constante memória com valor 2 (%KM+00002).
- OPER2 - Deve ser um operando do tipo constante memória com valor 0 (%KM+00000). Determina o número
de parâmetros possíveis de serem programados na janela de edição de OPER4. Como esta função não
necessita de nenhum parâmetro em OPER4, o valor de OPER2 é 0.
- OPER3 - Contém os parâmetros que são passados para a função, declarados quando a instrução CHF for
editada. O número de parâmetros editáveis é especificado em OPER1, sendo fixo em 2 para este módulo:
%MXXXX ou %TMXXXX - Especificação dos operandos para onde são lidos os valores do relógio. Se este
parâmetro for especificado como memória, os valores são lidos para a memória declarada e as 6 (seis)
subseqüentes. Se for especificado como tabela, os valores são colocados a partir da posição 0 até 6. Caso os
operandos não estejam declarados, a leitura dos valores de tempo não é realizada e as saídas da instrução são
desligadas. É possível o uso de tabelas com mais de 7 posições, sendo que a função ignora as posições
excedentes. Os valores são lidos dos operandos na seguinte seqüência:
Operando PosiçãoTabela Conteúdo Formato
MXXXX 0 Segundos 000XX
MXXXX+1 1 Minutos 000XX
MXXXX+2 2 Horas 000XX
MXXXX+3 3 Dia do mês 000XX
MXXXX+4 4 Mês 000XX
MXXXX+5 5 Ano 000XX
MXXXX+6 6 Dia da semana 000XX
O conteúdo destes operandos pode ser lido a qualquer momento, mas são atualizados com a hora real do
relógio apenas quando a instrução for executada. Não devem ser modificados em nenhum outro ponto do
programa aplicativo. É utilizado o formato 24 horas na contagem do tempo. Os dias da semana são contados
com valores de 1 a 7:
Valor Dia da Semana
1 Domingo
2 Segunda-feira
3 Terça-feira
4 Quarta-feira
5 Quinta-feira
6 Sexta-feira
7 Sábado
- 63 -
64. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
%MXXXX ou %TMXXXX - Especificação dos operandos de onde são acertados os valores do relógio, com o
acionamento de alguma das entradas de acerto da função. Se este parâmetro for especificado como memória,
os valores são copiados da memória declarada e as 6 subseqüentes. Se for especificado como tabela, os
valores são copiados da posição 0 até 6. Caso os operandos não estejam declarados, o acerto não é realizado
e as saídas da instrução são desligadas. Os valores a serem copiados para o relógio devem ser colocados nos
operandos na mesma seqüência dos operandos de leitura (segundos, minutos, horas, dia do mês, mês, ano e
dia da semana).
- OPER4 - Não utilizado.
Entradas e Saídas
Descrição das entradas:
- habilita - quando esta entrada está energizada a função é chamada, sendo analisados os parâmetros
programados na instrução CHF. Caso os mesmos estejam incorretos, todas as saídas da instrução são
desenergizadas. Se estiverem corretos, os valores de tempo do relógio são transferidos para os operandos
memória ou para a tabela declarada como primeiro parâmetro em OPER3, a saída sucesso é energizada e a
saída pulso um segundo é ligada por uma varredura a cada segundo.
- acerta relógio - quando energizada, os valores dos operandos declarados como segundo parâmetro em
OPER3 são acertados no relógio, caso estejam com valores corretos. Enquanto esta entrada estiver acionada o
tempo não é contado, permanecendo a saída pulso um segundo desenenergizada.
Descrição das saídas:
- sucesso - é energizada quando a função foi corretamente executada.
- pulso um segundo - indica se houve uma mudança no contador de segundos do relógio. O pulso dura uma
varredura e pode ser usado para sincronizar eventos do programa aplicativo.
- perda de horário - esta saída é ligada caso o relógio tenha ficado sem a alimentação da bateria durante falha
na alimentação principal. É desacionada com o acerto do relógio.
Utilização
Esta função pode ser utilizada somente nas UCPs AL-2002/MSP, AL-2003, PL104 e PL105.
ATENÇÃO:
A alimentação de bateria é fornecida para a UCP através do barramento. Portanto, a remoção da UCP AL-
2002/MSP, AL-2003 ou AL-2004 do bastidor causa a perda do horário do relógio.
Sintaxe
- 64 -
66. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instruções de Movimentação Indexada
Esta forma de acesso é usada em conjunto com um operando memória (%M) para referenciar indiretamente
outros operandos do sistema.
O sinal *, colocado na frente de um tipo de operando, indica que este é referenciado pelo endereço contido na
memória especificada à esquerda do sinal.
Formatos:
No MASTERTOOL, o acesso indireto às tabelas é representado sem o asterisco.
São utilizados em instruções de movimentação, comparação, contagem e de temporização.
Exemplos:
%M0043*E octeto de entrada referenciada indiretamente pela memória 43
%M1824*A octeto auxiliar referenciado indiretamente pela memória 1824
%M0371TD tabela decimal referenciada indiretamente pela memória 371
%M0009*M operando memória referenciado indiretamente pela memória 9
Esta instrução movimenta o valor +431 para o operando memória cujo endereço é o valor correntemente
armazenado em %M0009. Se %M0009 conter o valor 32, então o valor +431 será armazenado em %M0032. Se
%M0009 contiver o valor 12 então o valor constante será armazenado em %M0012.
ATENÇÃO:
É responsabilidade do programa aplicativo que o valor contido na memória de referência (%M0009, no
exemplo) represente endereços válidos, não contendo valores negativos ou muito altos, acima dos
endereços existentes para o tipo de operando referenciado indiretamente. As instruções não realizam
os acessos indiretos inválidos, normalmente possuindo um sinal de saída para a indicação do erro.
Se no programa do exemplo anterior houvessem sido declarados 256 operandos %M, o valor de %M0009
deveria estar entre 0 e 255 para que a instrução fosse corretamente executada. Caso o valor não estivesse
nesta faixa, o acesso não seria realizado.
- 66 -
67. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instruções de Manipulação de Tabelas
Instrução CAB – Carrega Bloco de
Constantes
Descrição
Esta instrução permite a carga de até 255 valores constantes em um bloco de operandos ou em tabelas.
O operando inicial ou tabela a ser carregada é especificado em OPER1, o número de operandos ou posições
da tabela a serem carregados em OPER2 e o valor das constantes em OPER3.
O valor de OPER2 deve ser positivo, menor ou igual a %KM+00255.
O operando OPER3 é composto por uma tabela de valores constantes a serem carregados. Estes valores são
declarados selecionando o botão Bloco, sendo aberta uma caixa de diálogo no MASTERTOOL. As constantes
são do tipo %KM se o tipo do primeiro operando for %E, %S, %A, %M, %TM ou são do tipo %KD se o primeiro
operando for %D ou %TD. Caso o primeiro operando seja um octeto (%E, %S ou %A), somente serão
movimentados os valores dos octetos menos significativos de cada constante declarada.
Quando o botão Bloco é selecionado é exibida a caixa de diálogo CAB Valores.
Para realizar a edição das constantes
1 Posicionar o cursor no índice a ser editado. Caso seja necessário rolar as páginas podem ser utilizadas
as teclas Page Down e Page Up ou a barra de rolagem vertical.
2 Digitar o valor da constante.
A saída índice destino inválido é acionada quando algum operando não puder ser acessado ou uma posição de
tabela não existir. Quando a saída índice destino inválido é acionada, nenhuma carga de constantes ocorreu.
A saída sucesso é acionada sempre que a instrução for executada corretamente. A carga dos valores
constantes é inteiramente realizada em uma só varredura do programa aplicativo, podendo ocasionar um tempo
de ciclo excessivo quando o mesmo for extenso. Na maior parte dos programas aplicativos, a instrução CAB
pode ser executada somente na inicialização do mesmo (carga de tabelas cujos conteúdos serão somente
lidos) ou em alguns momentos especiais, não precisando ser chamada em todas as varreduras. Nestes casos,
recomenda-se a sua programação no módulo de programa aplicativo de inicialização (E000) ou que seja
acionada apenas nos momentos de carga necessários.
Tecla de atalho
Cab
Sintaxe
- 67 -
68. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instrução MOT – Movimentação de Tabelas
Descrição
Esta instrução permite duas operações: transferir o valor de uma posição de tabela para um operando simples
ou de um operando simples para uma posição de tabela.
O operando OPER1 é o operando origem, cujo valor é movimentado para o operando destino especificado em
OPER3. OPER2
contém a posição da tabela declarada em OPER1 ou OPER3.
Leitura de conteúdo de tabela:
Permite ler o conteúdo de uma posição de tabela e carregá-lo em um operando memória ou decimal.
A instrução é programada da seguinte forma:
OPER1 - especifica o endereço da tabela a ser lida (%TM, %M*TM, %TD, %M*TD)
OPER2 - especifica a posição (%KM) a ser lida ou a memória (%M) que contém esta posição
OPER3 - especifica para onde o conteúdo da posição de tabela deve ser transferido (%M, %M*M, %D, %M*D)
Se OPER1 referenciar indiretamente uma tabela não especificada, ou se o valor de OPER2 for negativo ou
maior que a última posição definida para a tabela, a transferência não é realizada e a saída índice origem
inválido é acionada. Se OPER3 referenciar indiretamente um operando não declarado, a transferência não é
realizada e a saída índice destino inválido é acionada.
- 68 -
69. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Escrita de valores em tabela:
Permite escrever um valor constante ou o conteúdo de um operando memória ou decimal em uma posição de
tabela.
A instrução é programada da seguinte forma:
OPER1 - especifica o operando origem (%KM, %M, %M*M, %KD, %D, %M*D)
OPER2 - especifica a posição (%KM) a ser escrita na tabela ou a memória (%M) que contém esta posição
OPER3 - especifica o endereço da tabela para onde é transferido o conteúdo (%TM, %M*TM, %TD, %M*TD)
Se OPER1 referenciar indiretamente um operando não declarado, a transferência do conteúdo não é realizada
e a saída índice origem inválido é acionada. Se o valor de OPER2 for negativo ou maior que a última posição
definida para a tabela, ou se OPER3 referenciar indiretamente uma tabela não especificada, a transferência do
conteúdo não é realizada e a saída índice destino inválido é acionada.
Esta instrução simplifica a programação de uma série de algoritmos envolvendo decodificações,
seqüenciamentos, geração de curvas, armazenamento e comparação de valores, entre outros.
Tecla de atalho
Mot
- 69 -
70. CONTROLADORES PROGRAMÁVEIS – CURSO BÁSICO – TÓPICOS AVANÇADOS DE AUTOMAÇÃO
Instrução de Movimentação de Blocos de
Operando – MOB
Descrição
Esta instrução realiza a cópia dos valores de um bloco de operandos origem para um bloco destino.
Especifica-se o primeiro operando do bloco origem em OPER1 e o primeiro operando do bloco destino em
OPER4. O número total de transferências a serem realizadas é declarado no parâmetro OPER2, devendo
também ser especificados o número de transferências por varredura em OPER5 e uma memória acumuladora
para a contagem do número de transferências em OPER3.
Se o bloco origem ou destino for uma tabela, a transferência tem início na sua primeira posição.
Se o formato do operando destino for menor do que o origem, os octetos mais significativos do valor origem são
desprezados. Caso contrário, os octetos mais significativos do destino são zerados.
O número de transferências por varredura é limitado em 255 operandos. Na medida do possível deve-se evitar
um número elevado de transferências na mesma varredura, para diminuir o tempo de execução do programa.
Em cada instrução MOB é utilizada uma memória como operando de controle em OPER3, que deve estar
zerada antes da primeira execução.
ATENÇÃO:
O operando de controle não deve ter seu conteúdo alterado em nenhuma parte do programa aplicativo, sob
pena de prejudicar a execução correta da instrução. Cada ocorrência desta instrução no programa deve possuir
um operando de controle exclusivo, diferente dos demais. Este operando não pode ser retentivo.
Quando ligadas, as saídas índice origem inválido e índice destino inválido indicam, respectivamente, que pelo
menos um dos operandos componentes do bloco origem ou destino tem endereço superior ao número máximo
declarado para o operando ou tabela utilizado, não sendo realizada nenhuma movimentação. Caso o valor de
OPER2 seja negativo, a saída índice origem inválido é acionada.
A saída movimentação concluída é acionada na varredura em que a movimentação for completada.
ATENÇÃO:
A entrada habilita deve permanecer ativa até que a movimentação esteja concluída. Como esta instrução
é executada em múltiplos ciclos de execução, não deve ser saltada enquanto não estiver terminada a
movimentação.
Tecla de atalho
Mob
- 70 -