A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CS-PLC1 Curso Básico Autómatos Programáveis APRESENTAÇÃO O formador: João Mealhas 2º Dia - continuação.

Apresentações semelhantes


Apresentação em tema: "CS-PLC1 Curso Básico Autómatos Programáveis APRESENTAÇÃO O formador: João Mealhas 2º Dia - continuação."— Transcrição da apresentação:

1 CS-PLC1 Curso Básico Autómatos Programáveis APRESENTAÇÃO O formador: João Mealhas 2º Dia - continuação

2 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: 1. Introdução do endereço pretendido (ex: ) 2. Comentário associado (ex: ON) ENDEREÇO COMENTÁRIO 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.

3 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

4 Temporizadores e contadores INTRODUÇÃO DIRECTA DO ENDEREÇO

5 Temporizadores e contadores INTRODUÇÃO DIRECTA DO NOME

6 Temporizadores e contadores 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. DIRECTAMENTE ATRAVÉS DO CX-PROGRAMMER AUXILIADO POR OUTROS SOFTWARES

7 Temporizadores e contadores ASSIGNAÇÃO AUTOMÁTICA O CX-Programmer pode assignar automaticamente endereços aos contactos/nomes 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.

8 Iniciação à programação de autómatos EXERCÍCIO 9 EXERCÍCIO 9 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. 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.

9 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.

10 Iniciação à programação de autómatos EXERCÍCIO 10 EXERCÍCIO 10 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. 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. Manual de Exercícios pág. 12 Manual de Exercícios pág. 12

11 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.

12 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

13 Iniciação à programação de autómatos EXERCÍCIO 11 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. 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.

14 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.

15 Iniciação à programação de autómatos EXERCÍCIO 12 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. 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. AntesAntes DepoisDepois

16 Temporizadores e contadores VARIÁVEIS GLOBAIS E LOCAIS 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.

17 Iniciação à programação de autómatos EXERCÍCIO 13 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 para Contador: De C0001 para C0000 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 para Contador: De C0001 para C0000

18 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árioBinário BCD ( binário codificado decimal )BCD ( binário codificado decimal ) HexadecimalHexadecimal GrayGray AsciiAscii

19 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.

20 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 1100 em binário, para o seu equivalente em decimal. Procedimento para a conversão do numero 12 em decimal, para o seu equivalente em binário.

21 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:

22 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

23 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 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

24 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 Se A>B então o relé vai a ON. Se A=B então o relé vai a ON. Se A

25 Iniciação à programação de autómatos EXERCÍCIO 14 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. 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.

26 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

27 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

28 Iniciação à programação de autómatos EXERCÍCIO 15 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 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

29 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.

30 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).

31 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

32 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

33 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

34 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 BINÁRIO

35 Tratamento de dados 6º Passo – Monitorização do funcionamento da função SFT(10) FIMEXEMPLO

36 Iniciação à programação de autómatos EXERCÍCIO 16 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. 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.

37 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

38 Iniciação à programação de autómatos EXERCÍCIO 21 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. 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.

39 Iniciação à programação de autómatos

40 Tratamento de dados EXEMPLO – Utilizando a função SFT(10)

41 Tratamento de dados EXEMPLO – Utilizando a função SFT(10)

42 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 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

43 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

44 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

45 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:

46 Instruções de cálculo aritmético EXEMPLO DE APLICAÇÃO – SOMA BCD Pág. 158

47 Instruções de cálculo aritmético RELÉ DE CARRY O relé CY é utilizado em operações aritméticas, para detectar: - Existência de OVERFLOW - Existência de resultado negativo Analisemos o exemplo que se segue...

48 Instruções de cálculo aritmético 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 O relé de carry (abreviadamente CY) tem no autómato CPM1A o endereço O RELÉ DE CARRY uma vez a ON, só passa a OFF se for executada a função CLC(41).

49 Instruções de cálculo aritmético 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 Neste contexto o programa do exemplo anterior poderia ser melhorado desta forma

50 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 No caso da operação de subtracção, o resultado nunca excede quatro dígitos 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. 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. Nas novas famílias de autómatos CS e CJ utilizar:

51 Instruções de cálculo aritmético EXEMPLO DE APLICAÇÃO – SUBTRACÇÃO EM BCD Como obter o valor absoluto da subtracção ?

52 Instruções de cálculo aritmético MULTIPLICAÇÃO EM BCD - MUL(32) A função que permite efectuar o produto de dois valores numéricos BCD, é a função MUL(32) Sempre que a condição lógica que antecede a função está a ON, o valor em A é multiplicado pelo valor contido em B e o resultado da operação é colocado no canal especificado em C e no imediatamente seguinte C+1 Sempre que a condição lógica que antecede a função está a ON, o valor em A é multiplicado pelo valor contido em B e o resultado da operação é colocado no canal especificado em C e no imediatamente seguinte C+1 Os quatro dígitos menos significativos do resultado são colocados no canal especificado em C e os quatro restantes dígitos mais significativos são colocados no canal C+1 Os quatro dígitos menos significativos do resultado são colocados no canal especificado em C e os quatro restantes dígitos mais significativos são colocados no canal C+1 Nas novas famílias de autómatos CS e CJ utilizar:

53 Instruções de cálculo aritmético EXEMPLO DE APLICAÇÃO – MULTIPLICAÇÃO EM BCD

54 Instruções de cálculo aritmético DIVISÃO EM BCD - DIV(33) A função DIV(33) permite efectuar o quociente de dois valores numéricos BCD Sempre que a condição lógica que antecede a função está a ON, o valor em A é dividido pelo valor contido em B e o resultado da operação é colocado no canal especificado em C e no imediatamente seguinte Sempre que a condição lógica que antecede a função está a ON, o valor em A é dividido pelo valor contido em B e o resultado da operação é colocado no canal especificado em C e no imediatamente seguinte O quociente é colocado no canal especificado em C e o resto é colocado no canal C+1 O quociente é colocado no canal especificado em C e o resto é colocado no canal C+1 Nas novas famílias de autómatos CS e CJ utilizar:

55 Instruções de cálculo aritmético EXEMPLO DE APLICAÇÃO – DIVISÃO EM BCD

56 Instruções de cálculo aritmético OPERAÇÕES ARITMÉTICAS EM BINÁRIO Nas operações aritméticas apresentadas anteriormente, apenas é possível trabalhar com operandos de 4 dígitos (uma word) em BCD Há no entanto situações que obrigam a trabalhar valores maiores que 9999 (BCD), e para o fazer temos de recorrer à codificação em Binário Em Binário é possível codificar numa word um valor que pode ir até 65535, contra 9999 em BCD Instruções aritméticas básicas para operar com valores binários: ADB(50) - soma binária ADB(50) - soma binária SBB(51) - subtracção binária SBB(51) - subtracção binária MLB(52) - multiplicação binária MLB(52) - multiplicação binária DVB(53) - divisão binária DVB(53) - divisão binária

57 Instruções de cálculo aritmético EXEMPLO DE APLICAÇÃO – OPERAÇÃO ARITMÉTICA EM BINÁRIO

58 Iniciação à programação de autómatos EXERCÍCIO 17 Descrição do pretendido: Aproveitar o exercício 11 Ao sistema em causa foi adicionado um terminal de diálogo homem máquina, para permitir introduzir o número de paletes que se pretende fazer (D0000), bem como monitorizar o número de peças que falta transportar para finalizar o pedido em curso (D0002) Uma vez dada ordem de inicio (On) o sistema deverá transportar o numero de peças necessárias para preencher o numero de paletes solicitadas Cada palete leva 5 peças Descrição do pretendido: Aproveitar o exercício 11 Ao sistema em causa foi adicionado um terminal de diálogo homem máquina, para permitir introduzir o número de paletes que se pretende fazer (D0000), bem como monitorizar o número de peças que falta transportar para finalizar o pedido em curso (D0002) Uma vez dada ordem de inicio (On) o sistema deverá transportar o numero de peças necessárias para preencher o numero de paletes solicitadas Cada palete leva 5 peças

59 Instruções de cálculo aritmético INSTRUÇÃO INC(38) E DEC(39) A instrução INC(38) deriva de um caso particular da adição em BCD. Sempre que a condição de execução está activa, esta instrução faz incrementar uma unidade ao conteúdo do canal especificado em A, em cada scan. Tal como acontecia com a instrução INC(38), a instrução DEC(39) deriva de um caso particular da subtracção em BCD. Sempre que a condição de execução está activa, esta instrução faz decrementar uma unidade ao conteúdo do canal especificado em A, em cada scan.

60 Iniciação à programação de autómatos EXERCÍCIO 18 Descrição do pretendido: Utilizar o programa na sua forma mais simples, ou seja apenas o controlo de tapete (Liga/Desliga) Foi colocada mais uma fotocélula sensivelmente no inicio do tapete. Pretende-se desta forma saber sempre quantas peças estão no decorrer do transporte, ou seja compreendidas entre os dois sensores. Descrição do pretendido: Utilizar o programa na sua forma mais simples, ou seja apenas o controlo de tapete (Liga/Desliga) Foi colocada mais uma fotocélula sensivelmente no inicio do tapete. Pretende-se desta forma saber sempre quantas peças estão no decorrer do transporte, ou seja compreendidas entre os dois sensores.

61 Temporizadores e contadores CX-PROGRAMMER – COMENTAR O PROGRAMA A assignação dos nomes e comentários ás varias malhas e blocos do projecto, é de extrema importância.

62 Tratamento de dados EXEMPLO 1º Passo – Comentar a secção

63 Tratamento de dados 2º Passo – Comentar as várias malhas da secção

64 Tratamento de dados 3º Passo – Habilitar os comentários das secções

65 Iniciação à programação de autómatos EXERCÍCIO 19 Descrição do pretendido: Embora os programas em causa tenham poucas secções, a título de exercício comentar as secções do programa anterior. Descrição do pretendido: Embora os programas em causa tenham poucas secções, a título de exercício comentar as secções do programa anterior.

66 FUNÇÕES DE EXECUÇÃO DIFERENCIAL OBJECTIVOS Conhecer alternativas à aplicação das funções DIFU e DIFD OBJECTIVOS Conhecer alternativas à aplicação das funções DIFU e DIFD

67 Funções de execução diferencial FUNÇÕES DE EXECUÇÃO DIFERENCIAL Há alternativa que permite dotar uma instrução da capacidade de ser executada, só quando houver uma transição de OFF para ON na condição de execução. Essa alternativa consiste em adicionar o à instrução. SOLUÇÕESEQUIVALENTES

68 Iniciação à programação de autómatos EXERCÍCIO 20 Descrição do pretendido: Aplicar às instruções do exercício anterior este conceito. Descrição do pretendido: Aplicar às instruções do exercício anterior este conceito.

69 CONVERSÃO DE DADOS OBJECTIVOS Análise de funções para a conversão de dados BIN/BCD OBJECTIVOS Análise de funções para a conversão de dados BIN/BCD

70 Conversão de dados INSTRUÇÕES PARA CONVERSÃO DE DADOS Existem instruções que permitem converter valores entre as duas bases numéricas, já enunciadas. É o caso das instruções: BIN(23) BCD(24)

71 TRATAMENTO DE BLOCOS DE DADOS OBJECTIVOS Conhecimento de algumas funções aplicadas no tratamento de blocos de dados OBJECTIVOS Conhecimento de algumas funções aplicadas no tratamento de blocos de dados

72 Tratamento de blocos de dados INSTRUÇÃO BSET(71) Esta instrução permite copiar o conteúdo de um canal, ou constante, para um grupo de canais especificados.

73 Tratamento de blocos de dados INSTRUÇÃO XFER(70) Transfere dados de um dado grupo de canais consecutivos, para outro grupo de canais igualmente consecutivos.

74 Tratamento de blocos de dados INSTRUÇÃO XCHG(73) Sempre que a condição que antecede a instrução é verdadeira, XCHG(73) troca o conteúdo dos dois canais operandos desta instrução.

75 Iniciação à programação de autómatos EXERCÍCIO 21 Descrição do pretendido: Pretende-se agora a cada ordem de produção (On) encher 2 depósitos consecutivos, o primeiro com o Produto A e o segundo com o Produto B. O fim de descarga de cada produto é indicado por um impulso fornecido ao PLC pelo respectivo equipamento EV1 e EV2 Ao fim de encher o 2 e ú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. Descrição do pretendido: Pretende-se agora a cada ordem de produção (On) encher 2 depósitos consecutivos, o primeiro com o Produto A e o segundo com o Produto B. O fim de descarga de cada produto é indicado por um impulso fornecido ao PLC pelo respectivo equipamento EV1 e EV2 Ao fim de encher o 2 e ú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.

76 PROGRAMAÇÃO DE PROCESSOS SEQUENCIAIS OBJECTIVOS Obter conhecimentos básicos sobre o método de representação gráfica – GRAFCET Métodos de aplicação de processos estruturados em grafcet, na programação de autómatos OBJECTIVOS Obter conhecimentos básicos sobre o método de representação gráfica – GRAFCET Métodos de aplicação de processos estruturados em grafcet, na programação de autómatos

77 Programação de processos sequenciais INTRODUÇÃO São inúmeras as situações de comando onde as tarefas a executar se repetem sempre na mesma sequência ou em sequências pré-determinadas. Estamos perante sistemas de carácter sequencial A experiência ensinou-nos que o objectivo de qualquer projectista é colocar em prática a sua ideia através de um modelo físico, que tecnicamente seja perfeito, economicamente acessível e rentável Assim, ele terá de conhecer vários MÉTODOS ou vias que lhe permitam atingir os seus objectivos

78 Programação de processos sequenciais INSTRUMENTOS DE REPRESENTAÇÃO Desde a concepção, o sistema a desenvolver deve ser suportado por uma ferramenta que permita o diálogo indispensável entre o projectista/técnico e o futuro utilizador A linguagem corrente, revela-se assim bastante mal adaptada à descrição de sistemas sequências. Deste modo facilmente compreendemos a necessidade de dispor de um método de representação desprovido de ambiguidades, fácil de compreender e utilizar. ENTRE AS VÁRIAS FERRAMENTAS EXISTENTES PARA O EFEITO, VAMOS APROFUNDAR NESTE CAPITULO O GRAFCET

79 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

80 Programação de processos sequenciais GRAFCET Especificações ETAPAS/ACÇÕES ACÇÕES ETAPA S 12 MT 1 MT 3 ETAPAS ACTIVAS 12 MT 1 ETAPA INICIAL 0 TRANSIÇÕES 3 54 RECEPTIVIDADES ASSOCIADAS ÁS ACÇÕES LIGAÇÕES ORIENTADAS 3 54 LIGAÇÕES ORIENTADAS

81 Programação de processos sequenciais TIPOS DE PROCESSAMENTO Pode-se ter num sistema basicamente três tipos de processamentos, numa representação em GRAFCET Processamento linear Processamento paralelo Processamento alternativo

82 Programação de processos sequenciais PROCESSAMENTO LINEAR Os estados do processo estão dispostos em linha. Independentemente das condições do processo, este consta de uma sucessão de passos que se executam sempre, e na mesma sequência. Exemplo 1 Exemplo 2 Exemplo 3 SequêncianãotranspostaSequêncianãotranspostaSequênciatransposta

83 Programação de processos sequenciais PROCESSAMENTO PARALELO Em determinado momento do processo, a sequência pode tomar dois ou mais caminhos que se vão executar em paralelo SequêncianãotranspostaSequêncianãotranspostaSequênciatransposta Exemplo 1 Exemplo 2 Exemplo 3

84 Programação de processos sequenciais PROCESSAMENTO ALTERNATIVO Surgem muito frequentemente situações de selecção exclusiva, de uma só sequência Receptividades exclusivas Receptividades prioritárias

85 Programação de processos sequenciais SALTOS ENTRE ETAPAS Podem ser feitos saltos entre etapas não consecutivas

86 Iniciação à programação de autómatos EXERCÍCIO 22 Descrição do pretendido: Resolver o exercício anterior recorrendo à sua representação em GRAFCET. Descrição do pretendido: Resolver o exercício anterior recorrendo à sua representação em GRAFCET.

87 Programação de processos sequenciais CONVERSÃO GRAFCET LINGUAGEM DE CONTACTOS Vão ser aqui abordados 3 métodos para levar a cabo a programação de processos sequenciais, a partir do GRAFCET Com funções de encravamento: KEEP(11) e SET RESET Com a função: SFT(10) Com as funções especiais: STEP(08) e SNXT(09)

88 Tratamento de dados EXEMPLO – Utilizando as funções SET e RESET

89 Tratamento de dados EXEMPLO – Utilizando a função KEEP(11)

90 Tratamento de dados EXEMPLO – Utilizando a função SFT(10) POR ÚLTIMO

91 Tratamento de dados EXEMPLO – Utilizando as funções STEP(08) e SNXT(09)

92 Iniciação à programação de autómatos EXERCÍCIO 23 Descrição do pretendido: A partir da representação anterior em GRAFCET, fazer a sua passagem para linguagem de contactos. Passar o programa para o PLC Testar o programa Descrição do pretendido: A partir da representação anterior em GRAFCET, fazer a sua passagem para linguagem de contactos. Passar o programa para o PLC Testar o programa

93 Iniciação à programação de autómatos EXERCÍCIO 24 Descrição do pretendido: Numa dada fase do processo é necessário fazer um teste térmico ao produto. Elaborar um programa de acordo com o seguinte funcionamento: À ordem de inicio do teste (On), o sistema deve iniciar o aquecimento e registar a evolução da temperatura do produto de 1 em 1 segundo. Ao fim de 10 registos (10 seg), o sistema deve parar. Se durante o evoluir do processo for dada ordem de paragem (Off), o sistema deve parar. O sensor de temperatura regista a temperatura actual no endereço (D0100). O historial dos valores da temperatura devem ser armazenados nos endereços (D0020 a D0029). Sempre que é dada ordem para um novo teste, todos os valores registados referentes ao teste anterior, devem ser apagados. Descrição do pretendido: Numa dada fase do processo é necessário fazer um teste térmico ao produto. Elaborar um programa de acordo com o seguinte funcionamento: À ordem de inicio do teste (On), o sistema deve iniciar o aquecimento e registar a evolução da temperatura do produto de 1 em 1 segundo. Ao fim de 10 registos (10 seg), o sistema deve parar. Se durante o evoluir do processo for dada ordem de paragem (Off), o sistema deve parar. O sensor de temperatura regista a temperatura actual no endereço (D0100). O historial dos valores da temperatura devem ser armazenados nos endereços (D0020 a D0029). Sempre que é dada ordem para um novo teste, todos os valores registados referentes ao teste anterior, devem ser apagados.

94 ENDEREÇAMENTO INDIRECTO OBJECTIVOS Compreensão do endereçamento indirecto e sua aplicação prática OBJECTIVOS Compreensão do endereçamento indirecto e sua aplicação prática

95 Endereçamento indirecto APLICAÇÃO Esta facilidade pode ser encontrada em alguns autómatos O uso do endereçamento indirecto permite dotar os programas de uma grande flexibilidade e reduzir a extensão dos mesmos. Exemplo 1 - Se a DM100 contém o valor 350, então o CH10 tomará esse valor Exemplo 2 - O conteúdo da DM100, contém o endereço de um outro DM, encontrando-se neste último o valor a ser considerado pela instrução.

96 Iniciação à programação de autómatos EXERCÍCIO 25 Descrição do pretendido: Numa dada fase do processo é necessário fazer um teste térmico ao produto. Elaborar um programa de acordo com o seguinte funcionamento: À ordem de inicio do teste (On), o sistema deve iniciar o aquecimento e registar a evolução da temperatura do produto de 1 em 1 segundo. Ao fim de 10 registos (10 seg), o sistema deve parar. Se durante o evoluir do processo for dada ordem de paragem (Off), o sistema deve parar. O sensor de temperatura regista a temperatura actual no endereço (D0100). O historial dos valores da temperatura devem ser armazenados nos endereços (D0020 a D0029). Sempre que é dada ordem para um novo teste, todos os valores registados referentes ao teste anterior, devem ser apagados. Descrição do pretendido: Numa dada fase do processo é necessário fazer um teste térmico ao produto. Elaborar um programa de acordo com o seguinte funcionamento: À ordem de inicio do teste (On), o sistema deve iniciar o aquecimento e registar a evolução da temperatura do produto de 1 em 1 segundo. Ao fim de 10 registos (10 seg), o sistema deve parar. Se durante o evoluir do processo for dada ordem de paragem (Off), o sistema deve parar. O sensor de temperatura regista a temperatura actual no endereço (D0100). O historial dos valores da temperatura devem ser armazenados nos endereços (D0020 a D0029). Sempre que é dada ordem para um novo teste, todos os valores registados referentes ao teste anterior, devem ser apagados.

97 Muito obrigado... Fim


Carregar ppt "CS-PLC1 Curso Básico Autómatos Programáveis APRESENTAÇÃO O formador: João Mealhas 2º Dia - continuação."

Apresentações semelhantes


Anúncios Google