·

Engenharia de Produção ·

Automação Industrial

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta
Equipe Meu Guru

Prefere sua atividade resolvida por um tutor especialista?

  • Receba resolvida até o seu prazo
  • Converse com o tutor pelo chat
  • Garantia de 7 dias contra erros

Recomendado para você

Texto de pré-visualização

UNIVERSIDADE UNIGRANRIO Núcleo de Educação a Distância wwwunigranriocombr Rua Prof José de Souza Herdy 1160 25 de Agosto Duque de Caxias RJ Reitor Arody Cordeiro Herdy PróReitoria de PósGraduação e Pesquisa PROPEP Emilio Antonio Francischetti PróReitoria de Administração Acadêmica PROAC Carlos de Oliveira Varella Núcleo de Educação a Distância NEAD Márcia Loch Produção Fábrica de Soluções Unigranrio Desenvolvimento do material Leonardo Resende Copyright 2019 Unigranrio Nenhuma parte deste material poderá ser reproduzida transmitida e gravada por qualquer meio eletrônico mecânico por fotocópia e outros sem a prévia autorização por escrito da Unigranrio PróReitoria de Graduação PROGRAD Virginia Genelhu de Abreu Francischetti PróReitoria de PósGraduação Lato Sensu e Extensão PROPEX Nara Pires Sumário Programação em Linguagem Formal Objetivo 04 Introdução 05 1 Programação em Ladder 06 2 Programação em CC 13 Síntese 20 Referências 21 4 Automação Industrial Objetivo Introduzir conceitos de programação em linguagem formal 5 Automação Industrial Introdução A linguagem ladder foi a pioneira na programação de controladores lógicos programáveis CLPs visto que ela se assemelha muito com os antigos diagramas elétricos utilizados pelos profissionais de automação da época O objetivo era apresentar uma linguagem de fácil entendimento para que o mercado aceitasse com maior facilidade Isso fez com que essa linguagem se tornasse muito utilizada graças à sua simplicidade Outros controladores surgiram no mercado com linguagens de programação mais complexas para o usuário comum Visto isso em 2005 dois italianos criaram um hardware programável de programação mais simples que poderia ser utilizado não somente por especialistas mas também por usuários comuns Inicialmente esse hardware que seria apenas para atender a um grupo específico se expandiu e é utilizado para uma grande quantidade de funcionalidades Ele é um hardware programável e se chama Arduino objeto de nosso estudo 6 Automação Industrial 1 Programação em Ladder O diagrama ladder também chamado de diagrama de contatos configurase em um desenho de duas linhas verticais que representam polos positivo e negativo de uma bateria ou fonte de alimentação de forma geral Entre essas linhas são desenhados os comandos que têm funcionalidade de chaves Essas chaves podem ser abertas ou fechadas e representam os estados de entrada de um CLP Figura 1 Diagrama elétrico de um sistema de partida direta Fonte Saber Elétrica 2016 Figura 2 Diagrama em ladder de um sistema de partida direta Fonte Do autor As Figuras 1 e 2 apresentam sistemas de partida direta utilizando diagrama elétrico e diagrama ladder No entanto devese salientar que para que os comandos funcionem chaves externas ligadas ao CLP devem ser acionadas A nomenclatura acima indica que I significa input dispositivo de entrada e Q significa output dispositivo de saída Os elementos básicos utilizados na nomenclatura acima podem ser especificados na Tabela 1 S1 E S0 E 4 14 13 1 K1 A1 A2 K1 3 2 i01 i02 Q01 Q01 001 002 7 Automação Industrial Elementos básicos em ladder Nomenclatura Abreviação Símbolo Contato normalmente aberto NA Contato normalmente fechado NF Saída ou Bobina Tabela 1 Elementos básicos de entrada e saída da linguagem ladder Fonte Do autor Os dispositivos apresentados na Tabela 1 funcionam da seguinte forma O contato normalmente aberto como diz o nome fecha quando é energizado enquanto o comando normalmente fechado atua de forma inversa ou seja abre quando é energizado A bobina é energizada quando os comandos de entrada realizam seus acionamentos de acordo com uma programação específica Além dessas funções podemos citar Programas básicos em ladder A linguagem ladder apresenta alguns códigos que representam funções lógicas conhecidas Elas também apresentam as seguintes funções a Função AND Representada por dois dispositivos de entrada em série ligados a uma saída Figura 3 Diagrama em ladder para o comando série Fonte Do autor Q01 i01 i01 i01 i02 Q01 001 8 Automação Industrial Nesse comando a bobina Q01 só será acionada se as entradas I01 e I02 forem acionadas ao mesmo tempo A Tabela 2 apresenta as possibilidades de combinação e quando a bobina Q1 será acionada I01 I02 Q01 0 0 0 0 1 0 1 0 0 1 1 1 Tabela 2 Tabela verdade Fonte Do autor b Função OR Representada por dois dispositivos de entrada em paralelo ligados a uma saída Figura 4 Diagrama em ladder para o comando paralelo Fonte Do autor Nesse comando a bobina Q01 só será acionada se a entrada I01 ou a entrada I02 forem acionadas A Tabela 3 apresenta as possibilidades de combinação e quando a bobina Q1 será acionada I01 I02 Q01 0 0 0 0 1 1 1 0 1 1 1 1 Tabela 3 Tabela verdade Fonte Do autor i01 Q01 i02 001 002 9 Automação Industrial c Função NOT Inversora Dispositivo de entrada inicia em normalmente fechado e quando é energizado realiza o processo inverso com a saída bobina Figura 5 Diagrama em ladder para o comando inversor Fonte Do autor A Tabela 4 representa os estados das saídas em função dos estados das entradas I01 Q01 0 1 1 0 Tabela 4 Tabela verdade Fonte Do autor d Função NAND Junção dos comandos AND e Inversor Utilizando o Teorema de Demorgan temos A Figura 6 representa a função Figura 6 Diagrama em ladder para o comando NAND Fonte Do autor i01 Q01 001 AB A B i01 Q01 i02 001 002 10 Automação Industrial Nesse comando a bobina só desliga quando I01 e I02 forem acionados ao mesmo tempo Em qualquer outra situação a bobina continua ativa I01 I02 Q01 0 0 1 0 1 1 1 0 1 1 1 0 Tabela 5 Tabela verdade Do autor e Função NOR Junção dos comandos OR e Inversor Utilizando o Teorema de Demorgan temos A Figura 7 representa a função Figura 7 Diagrama em ladder para o comando NOR Fonte Do autor A bobina desliga se I01 ou I02 forem acionados Qualquer outra combinação mantém a bobina ligada I01 I02 Q01 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 6 Tabela verdade Fonte Do autor A B AB i01 i02 Q01 001 11 Automação Industrial f Funções SET e RESET O comando SET aciona a saída e a mantém ligada mesmo que a entrada seja desligada Para desligar a bobina utilizase o comando RESET As instruções são mostradas a seguir Figura 8 Comandos SET e RESET Fonte Do autor g Temporizador O temporizador tem como função contar o intervalo de tempo transcorrido a partir de sua habilitação até chegar ao tempo determinado Quando a temporização estiver completa elevase a 1 o nível do bit e adiciona o operando associado a ele Figura 9 Comando temporizador Fonte Do autor O temporizador da Figura 9 é programado para contar 5 segundos Após a contagem de tempo a chave T1 da segunda linha é acionada e ativa a bobina Há casos em que o temporizador desliga a bobina basta modificar as configurações do temporizador I0 I0 1 Q01 2 Q01 001 002 0000 T01 Q01 001 002 1 1 T01 0500 I01 T01 12 Automação Industrial Usualmente temos três tipos de contadores o primeiro deles é o que conta ascendente 123 e esse tipo pode receber diferentes nomes dependendo do fabricante CTU CTN C ou CTR em segundo temos os que fazem a contagem descendente 9876 que normalmente são chamados de CTD por fim temos os contadores UpDown que são capazes de contar ascendente eou descendente sendo tipicamente denominados de UDC contador updown Fonte Citisystems h Contador O contador tem como função contar um número de vezes predeterminado para que a bobina seja acionada Figura 10 Comando contador Fonte Do autor O contador da Figura 10 registra o número de vezes que a entrada I01 é acionada Quando chega a contagem de 5 o contador aciona a chave na segunda linha que aciona a bobina Importante 000000 I01 C01 C02 Q01 001 002 Low 1 C01 Low 000005 13 Automação Industrial 2 Programação em CC O conceito de linguagem de programação pode ser comparado ao conceito de aprender uma língua Inicialmente percebese certa dificuldade porém com o passar do tempo o aumento de vocabulário faz com que fiquemos mais adaptados à nova língua aprendida Com a linguagem de programação o conceito tornase similar Caso já saiba uma linguagem de programação aprender C será mais simples A gramática e a sintaxe da linguagem C são extremamente regulares portanto se você aprender alguns conceitos iniciais será muito simples assimilar as demais informações Em Arduino um programa é chamado de sketch Ele representa uma lista de instruções que são executadas da forma como são escritas Como exemplo veja a Figura 11 Figura 11 Exemplo de um código em C adaptado Fonte Do autor Cada linha do código referente à Figura 11 representa uma funcionalidade A primeira linha do código acima escreve no pino digital 13 do Arduino nível alto High ou seja energiza o pino 13 a segunda linha apresenta a função delay que representa um atraso de 500ms a terceira linha escreve nível baixo Low no pino 13 Quando se utiliza os níveis HIGH e LOW isso caracteriza que o pino 13 é energizado e desenergizado respectivamente O objetivo dessas 3 linhas é fazer um led diodo emissor de luz piscar de 05 em 05 segundo Os códigos em Arduino são escritos em um ambiente de desenvolvimento integrado IDE que também é responsável pelo carregamento do código no hardware programável e da execução Importante 14 Automação Industrial Figura 12 Ambiente de Desenvolvimento Integrado IDE Fonte Arduino Na programação em C para Arduino existem algumas funções internas que já são definidas a função digitalWrite é uma delas Essas funções são caracterizadas como case sensitive ou seja existe a diferenciação de letras maiúsculas e minúsculas A estrutura básica do IDE é mostrada na Figura 12 Existem duas estruturas que não podem faltar no código setup inicialização e loop laço elas são importantes na estrutura do código Além delas temos outras funções que são comuns em uma estrutura em Arduino analogWrite analogRead e digitalWrite são algumas delas Algumas funções internas da linguagem C para Arduino são muito utilizadas nas programações mais simples Veja a seguir algumas e seus significados pinMode Determina a característica do pino declarado anteriormente Define se é dispositivo de entrada ou saída digitalRead Lê no pino declarado uma informação digital 15 Automação Industrial analogRead Lê no pino declarado uma informação analógica digitalWrite Escreve uma informação digital para o pino declarado anteriormente analogWrite Escreve um valor analógico sinal PWM em um pino de saída No site dos idealizadores do Arduino temos outras funções internas importantes A linguagem C apresenta diversos comandos embutidos Alguns deles serão apresentados a seguir Comando if É definida como um comando de condição e pode ser exemplificada no código a seguir Figura 13 Código comentado com a utilização da função if Fonte Do autor O código da Figura 13 mostra a aplicabilidade da função if Ela só executa a função predeterminada quando a condição é estabelecida Comando for É caracterizada por uma estrutura de repetição utilizada para reduzir sequências grandes que precisam de um processo de repetição O código a seguir exemplifica esse comando 16 Automação Industrial Figura 14 Código comentado com a utilização da função for Fonte Do autor O laço for define a quantidade de repetições que devem ocorrer no loop A primeira parte do for indica que foi criada uma variável i e armazenado zero nela a segunda etapa determina que se i for menor que 20 a condição que está dentro do comando for deve se repetir já a terceira condição é responsável pelo incremento da variável Quando atingir 20 repetições o programa sairá do laço de repetição e seguirá a sequência definida no programa Comando while Este comando também representa uma estrutura de repetição A Figura 15 mostra a estruturação do comando while Figura 15 Código comentado com a utilização da função while Fonte Do autor 17 Automação Industrial Enquanto i for menor que 20 a estrutura dentro do laço se repetirá Quando i exceder 20 aí o programa sairá da estrutura while Para reforçar seu entendimento conheça as demais funções internas que são utilizadas no C para Arduino No site oficial do Arduino são apresentadas as funções e como elas funcionam Aplicações Práticas Duas aplicações práticas serão apresentadas para exemplificar as funções das duas linguagens O primeiro exemplo mostra um sistema de controle que funciona de acordo com a Figura 16 Figura 16 Sistema de abastecimento de água Fonte Do autor A bomba deve funcionar de duas formas manual e automática No modo manual a bomba será ligada pressionando o botão liga e desligada ao pressionar o botão desliga No modo automático a bomba deve ser ligada 10 segundos após a detecção pelo sensor de nível baixo e desligada 10 segundos após a detecção pelo sensor de nível alto Saiba Mais Leia mais NÍVEL ALTO NÍVEL BAIXO AM LIGA DESL BOMBA 18 Automação Industrial O diagrama ladder apresentado na Figura 17 representa uma possível solução para o problema Figura 17 Solução do primeiro problema apresentado Fonte Do autor O segundo exemplo apresenta uma aplicação prática utilizando hardware programável Arduino A Figura 18 mostra uma simulação de um semáforo em um programa gratuito chamado TinkerCad Figura 18 Simulação de um semáforo básico Fonte Tinkercad 001 002 003 004 005 006 007 008 Q01 Q01 i05 T01 T01 Q01 i05 T02 T02 Q01 I01 Entrada Manual I01 Saída Manual I03 Entrada Automática I04 Saída Automática I05 Seleção de Modo 0000 1 1 T01 1000 0000 1 1 T02 1000 I01 I05 I05 I02 I03 I04 19 Automação Industrial A programação em C que realiza a lógica do semáforo é apresentada a seguir Figura 19 Código referente ao projeto do semáforo básico Fonte Do autor As lâmpadas ou leds são declaradas nos pinos 1011 e 12 No setup são apresentadas como dispositivos de saída No loop é realizada a lógica referente ao semáforo 20 Automação Industrial Síntese Nesta unidade apresentamos duas linguagens de programação utilizadas em automação industrial Vimos que a linguagem ladder se apresenta como de fácil entendimento e muito utilizada na programação de CLPs e que a linguagem de contatos substituiu os comandos via relés Aprendemos que a linguagem C foi adaptada para o IDE do Arduino e sabemos que apresenta muita eficiência e praticidade na programação Assim pudemos concluir que as funções internas são de grande importância para a elaboração de códigos e que o IDE é responsável pela comunicação com o Arduino Por isto foi importante conhecer alguns exemplos das duas técnicas para facilitar o entendimento e vermos algumas aplicações práticas 21 Automação Industrial Referências ARDUINO Functions Disponível em httpswwwarduinoccen ReferenceFunctionDeclaration Acesso em 24 abr 2019 CITISYSTEMS A função dos contadores na lógica ladder Disponível em httpswwwcitisystemscombrcontadoreslogicaladderclp Acesso em 24 abr 2019 MONK S Programação com Arduino começando com Sketches Porto Alegre Bookman 2017 ROSÁRIO J M Princípios de mecatrônica São Paulo Pearson Educación 2005 SABER ELÉTRICA Aplicações de comandos elétricos partida direta e indireta 2016 Disponível em httpswwwsabereletricacombrpartida diretaeindireta Acesso em 24 abr 2019 TINKERCAD Semáforo básico Disponível em httpswwwtinkercad comthingshWR4jBUBCldsemaforobasicoeditel Acesso em 24 abr 2019