970 likes | 1.54k Views
CS-PLC1. Curso Básico Autómatos Programáveis. 2º Dia - continuação. APRESENTAÇÃO. O formador: João Mealhas. Temporizadores e contadores. CX-PROGRAMMER - EDITOR DE SÍMBOLOS
E N D
CS-PLC1 Curso Básico Autómatos Programáveis 2º Dia - continuação APRESENTAÇÃO O formador: João Mealhas
Temporizadores e contadores CX-PROGRAMMER - EDITOR DE SÍMBOLOS Até agora, propositadamente, não nos preocupamos com o modo como introduzimos os endereços necessários aos programas que fomos desenvolvendo. Estes foram introduzidos com a seguinte sequência: • Introdução do endereço pretendido (ex: 000.00) • Comentário associado (ex: ON) ENDEREÇO Desta forma a nossa variável fica orientada ao comentário, e perco algumas funcionalidades, como seja a chamada do endereço pelo seu nome. COMENTÁRIO
Temporizadores e contadores CX-PROGRAMMER - EDITOR DE SÍMBOLOS No entanto a definição das variáveis pode ser feita das seguintes formas: • Individualmente à medida das necessidades • Introdução directa do endereço • Introdução directa do nome • Utilizando o Editor de Símbolos • Directamente • Recorrendo a outros softwares • Assignação automática Como se tem vindo a fazer
Temporizadores e contadores INTRODUÇÃO DIRECTA DO ENDEREÇO
Temporizadores e contadores INTRODUÇÃO DIRECTA DO NOME
Temporizadores e contadores AUXILIADO POR OUTROS SOFTWARES DIRECTAMENTE ATRAVÉS DO CX-PROGRAMMER UTILIZANDO O EDITOR DE SÍMBOLOS Sempre que possível esta deve ser a forma utilizada. Num fase prévia ao desenvolvimento do programa propriamente dito, elaborar uma lista com as variáveis que nos parecem necessárias ao programa, e fazer a respectiva atribuição de endereços, nomes e comentários.
Temporizadores e contadores Depois de ter habilitado a opção “Automatic Allocation” para o PLC em causa, cada contacto que for criado deixando o seu endereço em branco, (é necessário colocar o nome do contacto), terá assignado um endereço que será marcado como “Auto” para indicar que esse endereço não foi atribuído pelo programador. ASSIGNAÇÃO AUTOMÁTICA O CX-Programmer pode assignar automaticamente endereços aos contactos/nomes
Iniciação à programação de autómatos EXERCÍCIO9 • Descrição do pretendido: • Utilizando o editor de símbolos do Cx-Programmer, trabalhar o último programa feito, de modo a atribuir nomes aos respectivos endereços. • NOTA: Trabalhar a partir do último programa feito.
Temporizadores e contadores CX-PROGRAMMER – SECÇÕES DO PROGRAMA Os programas a partir de um determinado tamanho/complexidade, tornam-se difíceis de interpretar, dada a grande quantidade de informação junta. Uma melhor interpretação pode ser feita se o programa estiver estruturado em blocos, devidamente identificados. Desta forma é possível analisar apenas a parte do programa em questão, em vez da sua totalidade, o que simplifica bastante as coisas.
Iniciação à programação de autómatos EXERCÍCIO10 Manual de Exercícios pág. 12 • Descrição do pretendido: • Utilizando o programa na sua última fase, criar 3 secções designadas por: • TAPETE – Colocar apenas a função referente ao movimento do tapete • TEMPO_INSP – Colocar apenas o temporizador • FIM – Alterar apenas o nome • NOTA: Trabalhar a partir do último programa feito.
Temporizadores e contadores CONTADORES – CNT A instrução CNT permite a programação de um contador decrescente Este é identificado com um número, tal como acontece nos temporizadores É especificado também o valor de PRESET que pode ser uma constante ou o valor contido numa word. Um pormenor importante de se referir, é que ao contrário dos temporizadores, os contadores retêm o seu conteúdo, mesmo após a falha de alimentação do autómato.
Temporizadores e contadores CONTADORES – CNTR(12) A instrução CNTR(12) permite programar um contador reversível Tal como na instrução CNT, este é identificado com um número É especificado também o valor de PRESET que pode ser uma constante ou o valor especificado por um canal
Iniciação à programação de autómatos EXERCÍCIO11 • Descrição do pretendido: • Ao processo que temos vindo a utilizar, foi retirada a fase referente à inspecção. • Pretende-se agora, e após a ordem de arranque do sistema (On), transportar 5 peças (ex: unidades por palete), após as quais o sistema devera permanecer em repouso até nova ordem (On). • À ordem de paragem (Off) o sistema deverá parar. Ao reiniciar deverá contar novamente mais 5 peças, independentemente do número em que se encontrava quando foi dada a ordem de paragem.
Temporizadores e contadores CX-PROGRAMMER – APAGAR ENDEREÇOS NÃO NECESSÁRIOS Durante o desenvolvimento do programa, é frequente encontra-se endereços que por razões várias não estão a ser utilizados. Por exemplo por se ter apagado ou alterado parte do programa. Como é óbvio é muito complicado fazer esta verificação manualmente, principalmente se o programa for extenso. O Cx-Programmer permite apagar de uma forma automática os endereços definidos mas não utilizados. Esta verificação pode ser feita a uma determinada área de memória ou à sua totalidade.
Iniciação à programação de autómatos EXERCÍCIO12 • Descrição do pretendido: • Apagar todos os endereços do programa anterior que não estejam a ser utilizados, recorrendo à função do Cx-Programmer que permite esta operação. Antes Depois
Temporizadores e contadores Dentro do editor de variáveis globais declaram-se as variáveis que serão comuns a qualquer das tarefas que se definam para o projecto. As variáveis criadas nos editores de variáveis locais só serão visíveis na tarefa (programa) onde tenham sido criadas e não nas restantes. VARIÁVEIS GLOBAIS E LOCAIS
Iniciação à programação de autómatos EXERCÍCIO13 • Descrição do pretendido: • Ao programa feito no exercício anterior, alterar as variáveis definidas como Globais para variáveis Locais. • Recorrendo ao editor de símbolos, alterar os seguintes endereços: • Sensor de saída: De 000.04 para 000.02 • Contador: De C0001 para C0000
Sistemas numéricos SISTEMAS NUMÉRICOS O sistema mais comum de representação é sem duvida o sistema decimal que utiliza os símbolos de "0" a "9". • Em certas aplicações (máquinas, comunicações, etc.), recorre-se frequentemente a outros sistemas de numeração, por forma a optimizar a sua exploração tais como sistemas: • Binário • BCD ( binário codificado decimal ) • Hexadecimal • Gray • Ascii
Sistemas numéricos SISTEMA BINÁRIO Num circuito eléctrico, facilmente podemos definir dois estados: ligado/desligado ou com tensão/sem tensão. Podem-se então usar estes dois estados como base de um sistema numérico; um sistema binário. Para simplificar a representação dos estados ligado e desligado usam-se os símbolos 1 e 0 respectivamente. Podemos codificar valores numéricos numa base binária, usando a mecânica que já foi anteriormente explicada para o sistema decimal. À frente da representação binária, colocou-se o valor decimal correspondente.
Sistemas numéricos SISTEMA BINÁRIO Fórmula geral de conversão de um número binário para decimal Procedimento para a conversão do numero 12em decimal, para o seu equivalente em binário. Procedimento para a conversão do numero 1100 em binário, para o seu equivalente em decimal.
Sistemas numéricos SISTEMA BCD Para que a conversão de um valor binário em decimal seja mais fácil, existe um sistema de codificação que usa quatro bits para codificar valores de 0 a 9, desaproveitando as restantes 6 combinações possíveis. Esta forma de codificar valores numéricos em binário chama-se BCD. Procedimento para a representação do numero 12 em BCD Para codificar o valor decimal 947, temos a seguinte codificação BCD:
Sistemas numéricos SISTEMA HEXADECIMAL Este sistema utiliza como símbolos, os números de 0 a 9 e as letras de 'A' a ' F'. Procedimento para a conversão do numero 4382 em decimal para hexadecimal. Procedimento para a conversão do numero 111E em hexadecimal para decimal
TRATAMENTO DE DADOS OBJECTIVOS Análise e aplicação de algumas intrusões dedicadas ao tratamento de dados Trabalhar com o editor de áreas de memória do cx-programmer
Tratamento de dados INSTRUÇÃO DE COMPARAÇÃO CMP(20) Esta instrução permite comparar dois valores numéricos sendo o resultado dado pelo estado de três relés especiais A instrução CMP(20) é sempre antecedida por uma condição lógica que quando está a ON permite a execução da comparação Nas novas famílias de autómatos CS e CJ podem utilizar-se funções de comparação directas: Se A>B então o relé 255.05 vai a ON. Se A=B então o relé 255.06 vai a ON. Se A<B então o relé 255.07 vai a ON.
Iniciação à programação de autómatos EXERCÍCIO14 • Descrição do pretendido: • Ao programa da fase anterior foi acrescentada uma torre luminosa para informação ao operador do estado da contagem. • Durante a contagem das 5 peças a embalar a luz vermelha e a luz amarela devem dar a seguinte indicação: • Amarela – Deve acender quando faltarem 2 peças para finalizar o ciclo • Vermelha – Deve acender à 5 peça transportada. Adicionando o facto de que esta deverá piscar em intervalos de 1 segundo. • À ordem de novo ciclo (On), ou à ordem de paragem (Off) os indicadores luminosos deverão apagar.
Tratamento de dados INSTRUÇÃO MOV(21) A instrução MOV (MOVE) permite copiar o valor contido em A para o destino expresso em B, sempre que a condição lógica que antecede esta instrução esteja a ON. • "A" pode ser um canal, um temporizador/contador ou uma constante • "B" pode ser um canal ou temporizador/contador
Tratamento de dados INSTRUÇÃO MOVN(22) A instrução MOVE NOT permite copiar o conteúdo negado de A para o destino expresso em B, sempre que a condição lógica que antecede esta instrução esteja a ON • "A" pode ser um canal, um temporizador/contador ou uma constante • "B" pode ser um canal ou temporizador/contador
Iniciação à programação de autómatos EXERCÍCIO15 • Descrição do pretendido: • Ao sistema anterior fizeram-se algumas alterações, no sentido de permitir que os lotes não fossem feitos sempre de 5 peças, mas de acordo com a posição de um selector fazer respectivamente lotes de 3, 5 e 10 peças. • Foi retirada a torre luminosa • O selector deverá permitir seleccionar uma das 3 ordens de fabrico possíveis: • Ord. Fabrico 1 – Para fazer lotes de 3 peças • Ord. Fabrico 2 – Para fazer lotes de 5 peças • Ord. Fabrico 3 – Para fazer lotes de 10 peças
Tratamento de dados CX-PROGRAMMER – EDITOR DE ÁREAS DE MEMÓRIA Existem ferramentas que devem ser dominadas, quando se trabalha com dados. Quando se pretende controlar uma quantidade grande de dados (de distintas áreas de memória), pode-se utilizar a janela “Address Monitor” na área de memória do PLC.
Tratamento de dados EXEMPLO DE APLICAÇÃO– (Editor de Áreas de Memória ) Vamos como base utilizar o exemplo utilizado na instrução MVN(21), para melhor entender o editor de áreas de memória do Cx-Programmer, e aproveitar para monitorizar o efeito da função MVN(21).
Tratamento de dados INSTRUÇÃO SFT(10) A instrução SHIFT permite implementar um registo deslocamento começando na word A e acabando na word B A word A deverá ter um endereço menor ou igual à word B, e as duas devem pertencer à mesma área de memória
Tratamento de dados EXEMPLO DE APLICAÇÃO 1º Passo – Desenvolver programa • Em cx-programmer, elaborar o programa abaixo representado (trata-se do exemplo simples mas suficiente para compreender o funcionamento da instrução SFT(10)) • Transferir o programa para o autómato, e seleccionar o modo de funcionamento MONITOR
Tratamento de dados 2º Passo – Abrir a janela de visualização Esta janela “Toggle Watch Window”, permite monitorizar o estado dos endereços especificados, bem como a alteração do seu estado
Tratamento de dados 3º Passo – Especificar o/os endereço/s a trabalhar 4º e 5º Passo – Alteração dos valores EDIÇÃO EM BINÁRIO
Tratamento de dados 6º Passo – Monitorização do funcionamento da função SFT(10) FIM EXEMPLO
Iniciação à programação de autómatos EXERCÍCIO16 • Descrição do pretendido: • Na zona de embalagem do nosso projecto, é necessário fazer uma operação para selagem do produto final. • O sistema é composto por 5 cilindros. • A ordem de descida dos cilindros deverá ser do 1 para o 5, um de cada vez, e a cada ordem de descida dada pelo operador. • Os cilindros devem manter-se actuados, até ordem de paragem (Off) ou ordem de nova descida já com todos os cilindros actuados. • Para o recuo dos cilindros basta retirar o sinal de actuação correspondente.
Programação de processos sequenciais GRAFCET Representação gráfica O GRAFCET representa graficamente o funcionamento de um automatismo recorrendo a um conjunto de: ETAPAS, ás quais estão associadas ACÇÕES TRANSIÇÕES, ás quais estão associadas RECEPTIVIDADES LIGAÇÕES, ligação das etapas ás transições e vice versa
Iniciação à programação de autómatos EXERCÍCIO21 • Descrição do pretendido: • Pretende-se a cada ordem (On) encher 2 depósitos consecutivos, Produto A e Produto B. • O fim de descarga de cada produto é indicado pelo respectivo equipamento EV1 e EV2. • Ao fim de encher o último deposito, o tapete deve avançar e parar logo que o depósito abandone a zona de enchimento (deixar de actuar no sensor). • À ordem de paragem (Off) o sistema deve desligar todas as saídas, e ficar pronto para novo ciclo.
Tratamento de dados EXEMPLO– Utilizando a função SFT(10)
Tratamento de dados EXEMPLO– Utilizando a função SFT(10)
INSTRUÇÕES DE CÁLCULO ARITMÉTICO OBJECTIVOS Utilização das funções elementares utilizadas no calculo aritmético. Tipo de variáveis do cx-programmer Como atribuir comentários ao programa, utilizando o cx-programmer
Instruções de cálculo aritmético CX-PROGRAMMER - TIPOS DE VARIÁVEIS Até agora não se tinha dado grande importância à natureza do tipo de variável utilizada, pois não era factor essencial Nesta fase, tratamento de dados, e em concreto instruções aritméticas, é importante este assunto
Instruções de cálculo aritmético OPERAÇÕES ARITMÉTICAS É hoje frequente nos autómatos instruções que permitem a execução de operações aritméticas, embora esta não seja uma máquina vocacionada para o cálculo numérico Dependendo do autómato, poderemos encontrar as operações básicas (soma, subtracção, multiplicação e divisão) ou outras mais sofisticadas, como sendo o cálculo em virgula flutuante, funções trigonométricas, raiz quadrada, etc.. A base numérica também pode ser diversa:binário, BCD, etc.. Vamos neste capítulo analisar o uso das operações aritméticas básicas em BCD e outras funções associadas
Instruções de cálculo aritmético SOMA EM BCD ADD(30) • Esta função permite adicionar dois valores numéricos A e B e coloca o resultado da adição no canal especificado em C • Os valores numéricos especificados em A e B podem ser constantes ou o conteúdo de um canal, contador ou temporizador Nas novas famílias de autómatos CS e CJ utilizar:
Instruções de cálculo aritmético Pág. 158 EXEMPLO DE APLICAÇÃO– SOMA BCD
Instruções de cálculo aritmético Analisemos o exemplo que se segue... RELÉ DE CARRY O relé CY é utilizado em operações aritméticas, para detectar: • Existência de OVERFLOW • Existência de resultado negativo
Instruções de cálculo aritmético O relé de carry (abreviadamente CY) tem no autómato CPM1A o endereço 255.04 O RELÉ DE CARRY uma vez a ON, só passa a OFF se for executada a função CLC(41). RELÉ DE CARRY EXEMPLO DE APLICAÇÃO- CY Nestes casos a presença do bit mais significativo (1) é sinalizado por um relé especial que passa a ON, e que se designa por RELÉ DE CARRY
Instruções de cálculo aritmético Neste contexto o programa do exemplo anterior poderia ser melhorado desta forma RELÉ DE CARRY Quando se trabalha com números positivos, é boa norma fazer executar a função CLC(41) antes de executar uma função aritmética Desta forma limpa-se o relé de CARRY (é colocado a OFF) que poderia ter sido colocado a ON por outra operação aritmética existente no programa e que caso estivesse activo falsearia o resultado da operação a executar
Instruções de cálculo aritmético SUBTRACÇÃO EM BCD - SUB(31) A função SUB(31) permite subtrair ao valor contido em A o valor contido em B e coloca o resultado no canal especificado em C Nas novas famílias de autómatos CS e CJ utilizar: • No caso da operação de subtracção, o resultado nunca excede quatro dígitos • Há no entanto a possibilidade de o resultado ser negativo ( quando A for menor que B ). Esta ocorrência é assinalada pelo mesmo relé de carry atrás mencionado.