SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Módulo I
Desenvolvimento
Software CLP - Básico
Lista de exercícios utilizados nas vídeo aulas e manual
de referência das instruções utilizadas em cada aula.
Setor de capacitação técnica Branqs Automação
Santos - SP
Módulo I
Desenvolvimento Software CLP - Básico
índice
Introdução............................................................................................4
Aula 01 - Instalação da ferramenta de programação do CLP..........................5
Aula 02 - Campainha residencial...............................................................6
Declarações e instruções do CLP............................................................7
Declaração: "CAMPO_ENTRADA_DIGITAL"...........................................7
Declaração: "CAMPO_SAIDA_DIGITAL"................................................8
Instrução: "SEL"..............................................................................9
Instrução: "MEMO".........................................................................10
Declaração de campos na IHM.............................................................11
Campo: "bool"...............................................................................11
Aula 03 - Acionamento de lâmpada por interruptor de toque.......................12
Declarações e instruções do CLP..........................................................13
Declaração: "SINAL_DIGITAL"..........................................................13
Instrução: "SUBIDA".......................................................................14
Instrução: "E"................................................................................15
Instrução: "EN"..............................................................................16
Instrução: "OU".............................................................................16
Declaração de campos na IHM.............................................................18
Aula 04 - Acionamento de lâmpada com sensor de presença.......................19
Declarações e instruções do CLP..........................................................20
Declaração: "CAMPO_INT"...............................................................20
Declaração: "TEMPORIZADOR".........................................................21
Instrução: "DESCIDA".....................................................................23
Declaração de campos na IHM.............................................................24
Campo: "int".................................................................................24
Aula 05 - Controle de enchimento de caixa d'água através de bomba...........25
Declarações e instruções do CLP..........................................................26
Instrução: "SED"............................................................................26
Declaração de campos na IHM.............................................................27
Aula 06 - Acionamento de lâmpada em horários programados.....................28
Declarações e instruções do CLP..........................................................29
Declaração: "CAMPO_CHAR"............................................................29
Declaração: "AgendamentoSemanal".................................................30
Declaração de campos na IHM.............................................................32
Aula 07 - Alarme residencial...................................................................33
Declarações e instruções do CLP..........................................................34
Instrução: "if"................................................................................34
Declaração de campos na IHM.............................................................36
Campo: "Senha"............................................................................36
Aula 08 - Controle do tempo de chuveiro ligado........................................37
Declarações e instruções do CLP..........................................................38
Setor de Capacitação Técnica - branqs Página 2 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Instrução: ENTAO_EXECUTA_BLOCO.................................................38
Declaração de campos na IHM.............................................................39
Controle de Revisões.............................................................................40
Setor de Capacitação Técnica - branqs Página 3 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Introdução
Este documento apresenta os exercícios que serão resolvidos através das Vídeo-Aulas
disponíveis na área de treinamento do site http://www.branqs.com.br.
Adicionalmente, este documento também apresenta um curto manual de referência
para as instruções utilizadas na solução de cada aula.
Esperamos que todos possam aproveitar o conteúdo.
Ficamos à disposição para prestar suporte através dos "comentários" do próprio
YouTube.
Setor de Capacitação Técnica - branqs Página 4 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Aula 01 - Instalação da ferramenta
de programação do CLP
Esta aula propõe simplesmente mostrar como é feita a instalação das ferramentas
necessárias para desenvolver o software do CLP branqs. Após a instalação, é
demonstrado como abrir as ferramentas de edição do programa CLP, o editor de
páginas da IHM e o simulador do software.
Setor de Capacitação Técnica - branqs Página 5 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Aula 02 - Campainha residencial
Enunciado do exercício
Montar um programa de controle da campainha de uma casa automatizada. A
campainha deve tocar sempre que o interruptor for pressionado. Os estados dos sinais
da campainha e do interruptor devem ser apresentados na IHM.
Entradas Digitais
• Interruptor de toque
Saídas Digitais
• Campainha
Setor de Capacitação Técnica - branqs Página 6 de 40
CLP
Interruptor
Campainha
Módulo I
Desenvolvimento Software CLP - Básico
Declarações e instruções do CLP
Declaração: "CAMPO_ENTRADA_DIGITAL"
Cria uma variável que assume o estado de uma entrada digital do CLP.
Sintaxe
CAMPO_ENTRADA_DIGITAL(nomeDaEntradaDigital)
A variável declarada (nomeDaEntradaDigital) possuirá um valor booleano conforme o
estado da entrada digital do CLP.
Comentário
A relação entre a declaração das entradas digitais e as entradas digitais físicas
existentes no CLP é feita através da ordem das declarações. A primeira variável
declarada corresponderá à primeira entrada da primeira placa BC8E. A segunda variável
corresponderá à segunda entrada e assim por diante.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
//Declaracao Entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(interruptorCampainha)
Quando a primeira entrada digital do CLP for acionada, a variável
"interruptorCampainha" receberá o estado lógico "1" (verdadeiro).
Setor de Capacitação Técnica - branqs Página 7 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração: "CAMPO_SAIDA_DIGITAL"
Cria uma variável que atribui seu estado lógico a uma saída digital do CLP
Sintaxe
CAMPO_SAIDA_DIGITAL(nomeDaSaidaDigital)
A variável declarada poderá receber um valor booleano (“0” ou “1”) conforme o
resultado de uma lógica construída no programa. O estado dessa variável é refletido em
uma saída digital do CLP.
Comentário
A relação entre a declaração das saídas digitais e as saídas digitais físicas existentes no
CLP é feita através da ordem das declarações. A primeira variável declarada
corresponderá à primeira saída da primeira placa BC8S. A segunda variável
corresponderá à segunda saída e assim por diante.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
//Declaracao Saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(saidaCampainha)
Quando a variável "saidaCampainha" receber o estado lógico "1" (Verdadeiro), a
primeira saída do CLP será acionada.
Setor de Capacitação Técnica - branqs Página 8 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Instrução: "SEL"
Instrução normalmente utilizada para iniciar uma sentença lógica entre sinais digitais.
A instrução SEL é o acrônimo da expressão "Se Ligado".
Sintaxe
SEL (variavelDeEstadoDigital)
Comentário
Ao ser executada, a instrução SEL copia o estado da variável indicada para uma outra
variável interna chamada de "Estado Lógico Corrente" (ELC). O ELC é uma variável
auxiliar interna do CLP usada para realizar a execução e armazenamento do resultado
intermediário de uma sentença lógica. Por esse motivo, esta instrução é muito utilizada
para iniciarmos uma sentença lógica. É equivalente a um “contato normalmente aberto”
no início de uma linha na linguagem de programação LADDER.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
//Declaracao Entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(interruptorCampainha)
//////////////////////////////////////////////////////////////////////////
//Declaracao Saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(saidaCampainha)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (interruptorCampainha)
MEMO (saidaCampainha)
Podemos ler a lógica acima do seguinte modo:
Se ligado o interruptorCampainha
Memoriza a saidaCampainha
Ou seja, se a entrada "interruptorCampainha" for acionada, então a "saidaCampainha"
também será acionada.
Setor de Capacitação Técnica - branqs Página 9 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Instrução: "MEMO"
Instrução utilizada para concluir uma operação lógica, armazenando o resultado da
sentença em uma variável que armazena um estado lógico (0 ou 1; verdadeiro ou
falso). A instrução MEMO é o acrônimo da expressão "MEMORIZA".
Sintaxe
MEMO (variavalDeEstadoDigital)
Esta instrução finaliza uma sentença lógica, armazenando o "Estado Lógico Corrente"
(ELC) na “variavelDeEstadoDigital”.
Comentário
A instrução MEMO equivale à "Bobina de um relê" utilizado na linguagem de
programação LADDER.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
//Declaracao Entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(interruptorCampainha)
//////////////////////////////////////////////////////////////////////////
//Declaracao Saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(saidaCampainha)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (interruptorCampainha)
MEMO (saidaCampainha)
A instrução MEMO irá atribuir à variável "saidaCampainha" o resultado lógico resultante
nas linhas anteriores. Considerando que no exemplo existe somente uma instrução SEL
antes da instrução MEMO, então o valor da variável "interruptorCampainha" será
transferido para a variável "saidaCampainha". Posteriormente serão mostrados
exemplos onde a instrução MEMO atribui valores resultantes de sentenças lógicas mais
complexas.
Setor de Capacitação Técnica - branqs Página 10 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração de campos na IHM
Campo: "bool"
Os campos do tipo "bool" permitem a visualização e edição do conteúdo de variáveis do
CLP do tipo "CAMPO_ENTRADA_DIGITAL", "CAMPO_SAIDA_DIGITAL" e "CAMPO_CHAR"
Sintaxe
Onde:
bool: Tipo do campo
tagCLP: Nome da variável declarada no CLP
ed: Valor 0 (zero) ou 1 (um). 0 - Não permite edição, 1 - Permite edição
niv: Nível de senha exigida para edição (Valor entre 0 e 3)
simbF: Símbolo de um único digito que será apresentado no campo quando
a variável possuir o estado lógico "Falso"
simbV: Símbolo de um único digito que será apresentado no campo quando
a variável possuir o estado lógico "Verdadeiro"
Comentário
Os símbolos "0 e 1" ou "N e S" são frequentemente utilizados.
Exemplo
O campo acima apresentará o conteúdo da variável "saidaRecuaCilindro". Esse campo
não será editável; terá o nível de proteção 0; mostrará o simbolo “0” (zero) quando a
variável possuir o estado lógico "Falso" e o símbolo “1” (um) quando a variável possuir
o estado lógico "Verdadeiro".
Setor de Capacitação Técnica - branqs Página 11 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Aula 03 - Acionamento de
lâmpada por interruptor de toque
Enunciado do exercício
Montar o programa de controle de uma lâmpada controlada por um interruptor de
toque em uma casa automatizada. Ao tocar no interruptor, deve inverter o estado da
lâmpada. Os estados das entradas e saídas digitais devem ser apresentados na IHM.
Entradas Digitais
• Interruptor de toque
Saídas Digitais
• Lâmpada
Setor de Capacitação Técnica - branqs Página 12 de 40
CLP
Interruptor
de toque
Lâmpada
Módulo I
Desenvolvimento Software CLP - Básico
Declarações e instruções do CLP
Declaração: "SINAL_DIGITAL"
Cria uma variável capaz de armazenar um estado lógico digital, ou seja, pode assumir
os estados "Falso" ou "Verdadeiro", também representados por "0" (zero) ou "1" (um).
Sintaxe
SINAL_DIGITAL(nomeDaVariavel)
Comentário
Variáveis do tipo "SINAL_DIGITAL" são largamente utilizadas como variáveis auxiliares
na construção da lógica do CLP. Estas variáveis não são manipuladas pela a IHM. Ao
ligarmos o CLP, o estado lógico de uma variável deste tipo é iniciado sempre com
"zero".
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
//Declaracao das entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(entradaDigitalCilindroRecuado)
//////////////////////////////////////////////////////////////////////////
//Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
SINAL_DIGITAL(cilindroRecuado)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (entradaDigitalCilindroRecuado)
MEMO (cilindroRecuado)
Quando o sinal "entradaDigitalCilindroRecuado" possuir o estado lógico "verdadeiro", a
variável "cilindroRecuado" também receberá o estado lógico "verdadeiro".
Setor de Capacitação Técnica - branqs Página 13 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Instrução: "SUBIDA"
Permite verificar se ocorreu a transição de subida (0 para 1) no estado lógico de uma
variável ou no resultado de uma sentença lógica.
Sintaxe
SUBIDA
Comentário
A instrução SUBIDA é extremamente útil para detectar o exato momento de
acionamento de um sinal. Essa instrução avalia o resultado da sentença lógica inserida
anteriormente a ela, e resulta em estado lógico "verdadeiro" somente durante um ciclo
de execução do CLP, exatamente no momento de transição do estado lógico "falso" para
"verdadeiro". (assistir explicação mostrada na vídeo aula).
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
// Declaracao Entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(botao)
//////////////////////////////////////////////////////////////////////////
// Declaracao Saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(sirene)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (botao)
SUBIDA
MEMO (sirene)
Quando o botão for pressionado, a sirene realizará um breve toque (durante milésimos
de segundos) como se emitisse um "beep". Perceba que a sirene não continuará
tocando enquanto o botão estiver pressionado. Para que ela realize o breve toque
novamente, será necessário soltar o botão e pressioná-lo novamente. Somente dessa
forma a instrução SUBIDA irá detectar a transição do sinal (de 0 para 1) e então
acionar a sirene novamente durante um único ciclo de CLP.
Setor de Capacitação Técnica - branqs Página 14 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Instrução: "E"
Realiza uma operação lógica “E” (AND) entre o "Estado Lógico Corrente" (ELC) e a
variável passada como parâmetro.
Sintaxe
E (sinalDigital)
Comentário
O resultado da operação "AND" entre a variável passada e o "Estado Lógico Corrente"
(ELC) é armazenado no próprio ELC. Esse resultado pode ser utilizado em novas
operações ou ser finalmente armazenado em uma variável destino através da operação
MEMO. Esta instrução equivale à utilização de uma ligação "em série" de um "contato
aberto" através da linguagem LADDER.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
// Declaracao das entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(sensorPortaFrontalFechada)
CAMPO_ENTRADA_DIGITAL(sensorPortaTraseiraFechada)
//////////////////////////////////////////////////////////////////////////
//Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
SINAL_DIGITAL(todasPortasFechadas)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (sensorPortaFrontalFechada)
E (sensorPortaTraseiraFechada)
MEMO (todasPortasFechadas)
O sinal "todasPortasFechadas" só será "verdadeiro" caso o sinal
"sensorPortaFrontalFechada" e o sinal "sensorPortaTraseiraFechada" também sejam.
Setor de Capacitação Técnica - branqs Página 15 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Instrução: "EN"
Realiza uma operação lógica “E NÃO” (AND NOT) entre o "Estado Lógico Corrente"
(ELC) e a variável passada como parâmetro.
Sintaxe
EN (sinalDigital)
Comentário
O resultado da operação "AND NOT" entre a variável passada e o "Estado Lógico
Corrente" (ELC) é armazenado no próprio ELC. Esse resultado pode ser utilizado em
novas operações ou ser finalmente armazenado em uma variável destino através da
operação MEMO. Esta instrução equivale à utilização de uma ligação "em série" com
um "contato fechado" através da linguagem LADDER.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
// Declaracao das entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(botaoRecuaCilindro)
CAMPO_ENTRADA_DIGITAL(protetorAberto)
//////////////////////////////////////////////////////////////////////////
// Declaracao das saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(saidaRecuaCilindro)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (botaoRecuaCilindro)
EN (protetorAberto)
MEMO (saidaRecuaCilindro)
No exemplo acima, a "saidaRecuaCilindro" só será acionada caso seja pressionado o
botão e o protetor não esteja aberto.
Setor de Capacitação Técnica - branqs Página 16 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Instrução: "OU"
Realiza uma operação lógica “OU” (OR) entre o "Estado Lógico Corrente" (ELC) e a
variável passada como parâmetro. O resultado é armazenado no próprio ELC.
Sintaxe
OU (sinalDigital)
Comentário
O resultado da operação "OR" entre a variável passada e o "Estado Lógico Corrente"
(ELC) é armazenado no próprio ELC. Esse resultado pode ser utilizado em novas
operações ou ser finalmente armazenado em uma variável destino através da operação
MEMO. Esta instrução equivale à utilização de uma ligação "em paralelo" com um
"contato" através da linguagem LADDER.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
// Declaracao das entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(botaoLigaEsteira)
CAMPO_ENTRADA_DIGITAL(botaoRecuaCilindro)
//////////////////////////////////////////////////////////////////////////
//Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
SINAL_DIGITAL(pressionouBotao)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (botaoRecuaCilindro)
OU (botaoLigaEsteira)
MEMO (pressionouBotao)
Se o "botaoRecuaCilindro" ou o "botaoLigaEsteira" forem pressionados, o sinal
"pressionouBotao" será verdadeiro.
Setor de Capacitação Técnica - branqs Página 17 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração de campos na IHM
Esta aula não apresenta novos tipos de campos.
Setor de Capacitação Técnica - branqs Página 18 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Aula 04 - Acionamento de
lâmpada com sensor de presença
Enunciado do exercício
Ligar automaticamente a iluminação de um cômodo ao detectar a presença de uma
pessoa. Garantir que a lâmpada fique ligada por aproximadamente 5 segundos após
cada detecção de movimento realizada pelo sensor. O sistema deve permitir alterar o
tempo de acionamento da lâmpada através de um campo na IHM. Os estados das
entradas e saídas digitais devem ser apresentados na IHM.
Entradas Digitais
• Sensor de presença
Saídas Digitais
• Lâmpada
Setor de Capacitação Técnica - branqs Página 19 de 40
CLP
Sensor de
presença
Lâmpada
Módulo I
Desenvolvimento Software CLP - Básico
Declarações e instruções do CLP
Declaração: "CAMPO_INT"
Cria uma variável para armazenamento de valores numéricos inteiros, que podem ser
apresentados ou modificados através do painel de operação (IHM).
Sintaxe
CAMPO_INT (nomeDaVariavel)
Comentário
Variáveis do tipo CAMPO_INT podem ser utilizadas em inúmeras ocasiões. Durante as
vídeo aulas da certificação M1-DSCLPB, elas serão intensamente utilizadas para
armazenar o set-point de temporizadores. Serão usadas também para armazenar
contadores e até mesmo números de senhas. Estas variáveis podem ser facilmente
comparadas através de operadores lógicos e manipuladas por operadores aritméticos e
de atribuição da linguagem "C". Este tipo de variável é sempre inicializada com o valor
zero ao iniciar a execução do programa.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
//Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
CAMPO_INT(temporizadorRecuoDoCilindro)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
temporizadorRecuoDoCilindro = 100;
O valor 100 é armazenado na variável "temporizadorRecuoDoCilindro".
Setor de Capacitação Técnica - branqs Página 20 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração: "TEMPORIZADOR"
Declara um temporizador para contagem de tempo pelo CLP.
Sintaxe
TEMPORIZADOR(nomeDoTemporizador,variavelSetPoint)
Onde:
nomeDoTemporizador: nome definido para o temporizador
variavelSetPoint: Variável do tipo INT que armazena o valor do
tempo em centésimos de segundo a ser
contado pelo temporizador (ex: 100 = 1 segundo)
Comentário
Ao declararmos um TEMPORIZADOR, são criados automaticamente dois sinais digitais
associados:
dsp_nomeDoTemporizador
fim_nomeDoTemporizador
Estes sinais serão utilizados para controlar e monitorar o uso do temporizador. O sinal
com o prefixo "dsp_" (disparo) serve para disparar a contagem. Ao receber o estado
lógico "1" ("Um" ou "Verdadeiro"), o temporizador começa a fazer a contagem do
tempo. Quando for decorrido o tempo programado na variável "variavelSetPoint", o
sinal com o prefixo "fim_" (Fim) passará automaticamente para o estado lógico "1".
Dessa forma, a variável "dsp_" deverá ser alterada por uma sentença lógica existente
no programa do CLP, enquanto a variável "fim_" será alterada automaticamente pelo
próprio temporizador e será consultada para verificar se a contagem do tempo chegou
ao fim. Segue abaixo uma pequena carta de tempos que demonstra o funcionamento
dos sinais de "disparo" e reconhecimento de "fim" da contagem:
Adicionalmente um temporizador permite também obtermos o valor corrente de sua
Setor de Capacitação Técnica - branqs Página 21 de 40
Módulo I
Desenvolvimento Software CLP - Básico
contagem. Para isso, devemos utilizar o método tempoDecorrido( ) conforme é
demonstrado no exemplo a seguir.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
// Declaracao das entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(sensorPoteEmBaixoDoCilindro)
//////////////////////////////////////////////////////////////////////////
// Declaracao das saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(avancaCilindro)
//////////////////////////////////////////////////////////////////////////
// Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
CAMPO_INT(duracaoDeAvancoDoCilindro)
TEMPORIZADOR(tmpDuracaoDeAvancoDoCilindro,duracaoDeAvancoDoCilindro)
CAMPO_INT(contagemDoTempo)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
duracaoDeAvancoDoCilindro = 200;
SEL (sensorPoteEmBaixoDoCilindro)
MEMO (dsp_tmpDuracaoDeAvancoDoCilindro)
SEL (dsp_tmpDuracaoDeAvancoDoCilindro)
EN (fim_tmpDuracaoDeAvancoDoCilindro)
MEMO (avancaCilindro)
contagemDoTempo=tmpDuracaoDeAvancoDoCilindro.tempoDecorrido();
No exemplo acima, a saída "avancaCilindro" será acionada durante 2 segundos sempre
que a entrada "sensorPoteEmbaixoDoCilindro" for acionada. Se a variável
"contagemDoTempo" for inserida em um campo da IHM, será possível visualizar a
contagem do tempo em andamento.
Setor de Capacitação Técnica - branqs Página 22 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Instrução: "DESCIDA"
Permite verificar se ocorreu a transição de descida (1 para 0) no estado lógico de uma
variável ou no resultado de uma operação lógica.
Sintaxe
DESCIDA
Comentário
Funciona de modo similar à instrução "SUBIDA", porém detectando a transição do
estado de 1 para 0.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
// Declaracao Entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(botao)
//////////////////////////////////////////////////////////////////////////
// Declaracao Saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(sirene)
//////////////////////////////////////////////////////////////////////////
//Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
SINAL_DIGITAL(pressionouBotao)
SINAL_DIGITAL(soltouBotao)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (botao)
SUBIDA
MEMO (pressionouBotao)
SEL (botao)
DESCIDA
MEMO (soltouBotao)
SEL (pressionouBotao)
OU (soltouBotao)
MEMO (sirene)
No exemplo acima, a sirene realizará um beep quando o botão for pressionado e
também quando for liberado.
Setor de Capacitação Técnica - branqs Página 23 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração de campos na IHM
Campo: "int"
Os campos do tipo "int" permitem a visualização e edição do conteúdo de variáveis do
tipo inteiro.
Sintaxe
Onde:
int: Tipo do campo
tagCLP: Nome da variável declarada no CLP
vMin: Valor mínimo permitido durante edição
vMax: Valor máximo permitido durante edição
ed: Valor 0 (zero) ou 1 (um). 0 - Não permite edição, 1 - Permite edição
tam: Tamanho do campo em número de dígitos
pto: Posição do ponto decimal
niv: Nível de senha exigida para edição (Valor entre 0 e 3)
Comentário
Este campo permite visualizar e alterar o valor de variáveis declaradas como
CAMPO_INT no CLP.
Exemplo
O exemplo acima apresenta o conteúdo da variável "contagemTempoReal". Essa
variável pode receber valores entre 0 e 9999. O campo será "editável" e ocupará 5
posições na tela. O ponto decimal será apresentado na segunda posição. Por último,
este campo não está protegido por senha, já que o último parâmetro especifica nível de
proteção "0" (zero).
Setor de Capacitação Técnica - branqs Página 24 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Aula 05 - Controle de enchimento
de caixa d'água através de bomba
Enunciado do exercício
Controlar o enchimento automático de uma caixa d'água acionando uma bomba d'água
sempre que o nível mínimo for atingido. A bomba deverá permanecer ligada até que o
nível máximo seja completado. Cada sensor é acionado quando o nível da água atinge a
altura do mesmo.
Entradas Digitais
• Sensor de nível máximo de água
• Sensor de nível mínimo de água
Saídas Digitais
• Bomba d'água
Setor de Capacitação Técnica - branqs Página 25 de 40
CLP
Bomba D'água
Sensor nível mínimo
Sensor nível máximo
Módulo I
Desenvolvimento Software CLP - Básico
Declarações e instruções do CLP
Instrução: "SED"
Instrução normalmente utilizada para iniciar uma sentença lógica entre sinais digitais.
A instrução SED é o acrônimo da expressão "Se Desigado".
Sintaxe
SED (variavelDeEstadoDigital)
Comentário
Ao ser executada, a instrução SED copia o estado "invertido" da variável indicada para
a variável do "Estado Lógico Corrente" (ELC). É equivalente a um “contato fechado” no
início de uma linha na linguagem de programação LADDER.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
//Declaracao Entradas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_ENTRADA_DIGITAL(sensorPortaFechada)
//////////////////////////////////////////////////////////////////////////
//Declaracao Saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(saidaCampainha)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SED (sensorPortaFechada)
MEMO (saidaCampainha)
Podemos ler a lógica acima do seguinte modo:
Se desligado o sensorPortaFechada
Memoriza a saidaCampainha
Ou seja, se a porta estiver aberta então aciona a Campainha.
Setor de Capacitação Técnica - branqs Página 26 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração de campos na IHM
Esta aula não apresenta novos tipos de campos.
Setor de Capacitação Técnica - branqs Página 27 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Aula 06 - Acionamento de
lâmpada em horários
programados
Enunciado do exercício
Permitir a definição de um horário para ligar e desligar automaticamente uma lâmpada
a cada dia da semana. Manter a função de acionamento manual desenvolvido na aula
03. A definição dos horários deve ser feito através de uma página na IHM.
Entradas Digitais
• Interruptor de toque
Saídas Digitais
• Lâmpada
Setor de Capacitação Técnica - branqs Página 28 de 40
CLP
Interruptor
de toque
Lâmpada
Módulo I
Desenvolvimento Software CLP - Básico
Declarações e instruções do CLP
Declaração: "CAMPO_CHAR"
Similar à declaração "SINAL_DIGITAL", esta declaração cria uma variável capaz de
armazenar um estado lógico digital, ou seja, esta variável pode assumir os estados
"Falso" ou "Verdadeiro", também representados por "0" (zero) ou "1" (um). A diferença
na utilização de "CAMPO_CHAR" e "SINAL_DIGITAL" é que a variável "CAMPO_CHAR"
poderá ser editada e visualizada na tela da IHM.
Sintaxe
CAMPO_CHAR (nomeDaVariavel)
Comentário
Idem a "CAMPO_SINAL_DIGITAL", porém permite sua edição e visualização
diretamente na IHM.
Exemplo
Idem a "SINAL_DIGITAL"
Setor de Capacitação Técnica - branqs Página 29 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração: "AgendamentoSemanal"
A declaração "AgendamentoSemanal" cria um objeto de agendamento de eventos
semanal, capaz de identificar quando o relógio do CLP atinge um determinado horário
(hora e minuto) em cada dia da semana.
Sintaxe
AgendamentoSemanal nomeDoAgendador;
Após declarar o objeto "agendador", devemos programar os horários de cada evento
por dia da semana. Essa programação do objeto é realizada através do método
"programaAgenda()" utilizando-se os seguintes parâmetros:
nomeDoAgendador.programaAgenda(
variavelHabilitaEventoDomingo,variavelHoraDomingo,variavelMinutoDomingo,
variavelHabilitaEventoSegunda,variavelHoraSegunda,variavelMinutoSegunda,
variavelHabilitaEventoTerca,variavelHoraTerca,variavelMinutoTerca,
variavelHabilitaEventoQuarta,variavelHoraQuarta,variavelMinutoQuarta,
variavelHabilitaEventoQuinta,variavelHoraQuinta,variavelMinutoQuinta,
variavelHabilitaEventoSexta,variavelHoraSexta,variavelMinutoSexta,
variavelHabilitaEventoSabado,variavelHoraSabado,variavelMinutoSabado);
Onde:
variavelHabilitaDiaSemana: Variável de estado lógico que habilita o evento
naquele dia da semana.
variavelHoraDiaSemana: Variável do tipo INT que armazena a hora
de ocorrência do evento naquele dia da semana.
variavelMinutoDiaSemana: Variável do tipo INT que armazena o minuto
de ocorrência do evento naquele dia da semana.
Por fim utilizamos o método "verificaAtivacao()" para identificar quando o relógio do
CLP atingiu o horário programado em cada evento habilitado. Ex:
variavelEstadoDigital=nomeDoAgendador.verificaAtivacao();
No exemplo acima, a "variavelEstadoDigital" receberá o estado "1" sempre que um
determinado horário habilitado em um dia da semana for atingido.
Comentário
Um bom exemplo da utilização deste recurso seria considerar o acionamento de uma
sirene no horário de fim de expediente de uma empresa que funciona de Segunda a
Sexta-Feira. O código a seguir demonstra exatamente este exemplo:
Setor de Capacitação Técnica - branqs Página 30 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
// Declaracao Saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(saidaSirene)
//////////////////////////////////////////////////////////////////////////
// Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
AgendamentoSemanal agendamentoHorarioFimDeExpediente;
CAMPO_CHAR(habAgendamentoDom)
CAMPO_CHAR(habAgendamentoSeg)
CAMPO_CHAR(habAgendamentoTer)
CAMPO_CHAR(habAgendamentoQua)
CAMPO_CHAR(habAgendamentoQui)
CAMPO_CHAR(habAgendamentoSex)
CAMPO_CHAR(habAgendamentoSab)
CAMPO_INT(horaFimExpedienteDom)
CAMPO_INT(horaFimExpedienteSeg)
CAMPO_INT(horaFimExpedienteTer)
CAMPO_INT(horaFimExpedienteQua)
CAMPO_INT(horaFimExpedienteQui)
CAMPO_INT(horaFimExpedienteSex)
CAMPO_INT(horaFimExpedienteSab)
CAMPO_INT(minutoFimExpedienteDom)
CAMPO_INT(minutoFimExpedienteSeg)
CAMPO_INT(minutoFimExpedienteTer)
CAMPO_INT(minutoFimExpedienteQua)
CAMPO_INT(minutoFimExpedienteQui)
CAMPO_INT(minutoFimExpedienteSex)
CAMPO_INT(minutoFimExpedienteSab)
Setor de Capacitação Técnica - branqs Página 31 de 40
Módulo I
Desenvolvimento Software CLP - Básico
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
// Comando
//////////////////////////////////////////////////////////////////////////
habAgendamentoDom=0;
habAgendamentoSeg=1;
habAgendamentoTer=1;
habAgendamentoQua=1;
habAgendamentoQui=1;
habAgendamentoSex=1;
habAgendamentoSab=0;
horaFimExpedienteSeg=17;
horaFimExpedienteTer=17;
horaFimExpedienteQua=17;
horaFimExpedienteQui=17;
horaFimExpedienteSex=16;
minutoFimExpedienteSeg=15;
minutoFimExpedienteTer=15;
minutoFimExpedienteQua=15;
minutoFimExpedienteQui=15;
minutoFimExpedienteSex=30;
agendamentoLigaLampadaDoCorredor.programaAgenda(
habAgendamentoDom,horaFimExpedienteDom,minutoFimExpedienteDom,
habAgendamentoSeg,horaFimExpedienteSeg,minutoFimExpedienteSeg,
habAgendamentoTer,horaFimExpedienteTer,minutoFimExpedienteTer,
habAgendamentoQua,horaFimExpedienteQua,minutoFimExpedienteQua,
habAgendamentoQui,horaFimExpedienteQui,minutoFimExpedienteQui,
habAgendamentoSex,horaFimExpedienteSex,minutoFimExpedienteSex,
habAgendamentoSab,horaFimExpedienteSab,minutoFimExpedienteSab);
saidaSirene=agendamentoHorarioFimDeExpediente.verificaAtivacao();
O agendador acima foi programado para acionar a sirene de segunda a quinta-feira às
17 horas e 15 minutos, enquanto na Sexta-Feira, a mesma será acionada às 16 horas e
30 minutos. Perceba que a sirene não será acionada aos sábados e domingos.
Declaração de campos na IHM
Esta aula não apresenta novos tipos de campos.
Setor de Capacitação Técnica - branqs Página 32 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Aula 07 - Alarme residencial
Implementar um alarme residencial composto de uma sirene e três sensores de
presença. A ativação e desativação do alarme deve ser feito através da digitação de
uma senha na IHM. Considere que a IHM está instalada na sala de estar.
Entradas Digitais
• Sensor sala de estar
• Sensor cozinha
• Sensor dormitório
Saídas Digitais
• Sirene
Setor de Capacitação Técnica - branqs Página 33 de 40
CLP
SireneSensor sala de estar
Sensor
cozinha
Sensor
dormitório
IHM
Módulo I
Desenvolvimento Software CLP - Básico
Declarações e instruções do CLP
Instrução: "if"
Nesta aula mostramos que o Framework CLP branqs permite a utilização de instruções
escritas na linguagem C. Este tipo de recurso estende significativamente a capacidade
de processamento, podendo aproveitar os vários recursos que esta linguagem oferece.
Sintaxe
if (expressaoLogica)
{
.
. bloco 1
.
}
else
{
.
. bloco 2
.
}
Caso a "expressaoLogica" for verdadeira, as instruções existentes entre as primeiras
chaves (bloco 1) serão executadas, caso contrário, as instruções existentes entre as
segundas chaves (bloco 2) serão executadas. A instrução "else" é opcional. Dentro dos
blocos delimitados pelas chaves, podem ser usadas quaisquer instruções disponíveis no
framework ou na própria linguagem C.
Comentário
Caso tenha interesse em conhecer formas adicionais de trabalhar com instruções "if",
basta seguir as definições existentes em qualquer tutorial para a linguagem ANSI-C.
Setor de Capacitação Técnica - branqs Página 34 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
// Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
CAMPO_INT(contadorDePotesProduzidos)
CAMPO_INT(numeroDePotesDesejados)
CAMPO_CHAR(producaoDePotesAtingida)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
// Comando
//////////////////////////////////////////////////////////////////////////
if ( contadorDePotesProduzidos >= numeroDePotesDesejados)
producaoDePotesAtingida=1;
else
producaoDePotesAtingida=0;
Se o valor do "contadorDePotesProduzidos" for maior ou igual ao valor do
"numeroDePotesDesejados" então o sinal " producaoDePotesAtingida" receberá o
estado lógico "Verdadeiro", caso contrário, receberá o estado lógico "Falso".
Setor de Capacitação Técnica - branqs Página 35 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração de campos na IHM
Campo: "Senha"
Os campos do tipo "senha" permitem a edição do conteúdo de variáveis do tipo inteiro,
porém diferentemente do tipo "CAMPO_INT", um campo do tipo "Senha" apresenta
asteriscos (*) no lugar dos números originalmente inseridos.
Sintaxe
Onde:
senha: Tipo do campo
tagCLP: Nome da variável declarada no CLP
ed: Valor 0 (zero) ou 1 (um). 0 - Não permite edição, 1 - Permite edição
tam: Tamanho do campo em número de dígitos
niv: Nível de senha exigida para edição (Valor entre 0 e 3)
Comentário
Os campos do tipo “senha” utilizam variáveis declaradas como "CAMPO_INT" no CLP.
Exemplo
A declaração acima apresenta um campo que permitirá a edição da variável
"senhaProtecaoNivel2" definida no CLP. Esse campo será editável, terá o tamanho de 6
caracteres e necessitará do nível de proteção 3 para poder ser editado. É importante
lembrar que serão apresentados asteriscos (*) no lugar dos números digitados.
Setor de Capacitação Técnica - branqs Página 36 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Aula 08 - Controle do tempo de
chuveiro ligado
Enunciado do exercício
Implementar o software de um sistema que controla o tempo máximo de chuveiro
ligado durante o banho de uma pessoa. O CLP monitora o tempo de chuveiro ligado
através de um sensor de corrente elétrica. Caso a duração de chuveiro ligado
ultrapasse o tempo limite programado na IHM, o CLP desliga a alimentação elétrica do
chuveiro através de um contator. Para ligar o chuveiro novamente, é necessário
pressionar o botão de RESET que fica localizado fora do banheiro.
Entradas Digitais
• Sensor de corrente
• Botão de reset
Saídas Digitais
• Contator de alimentação do chuveiro
Setor de Capacitação Técnica - branqs Página 37 de 40
CLP
Sensor de corrente
Contator de alimentação do chuveiro
Botão de RESET
Módulo I
Desenvolvimento Software CLP - Básico
Declarações e instruções do CLP
Instrução: "ENTAO_EXECUTA_BLOCO"
Permite executar um bloco de instruções caso o Estado Lógico Corrente (ELC) seja
verdadeiro.
Sintaxe
ENTAO_EXECUTA_BLOCO
{
.
. bloco de instruções
.
}
Comentário
Esta instrução funciona de forma muito parecida com a instrução "if", porém executa o
bloco dependendo do estado do ELC.
Exemplo
DECLARA.CLP
//////////////////////////////////////////////////////////////////////////
//Declaracao das saidas digitais
//////////////////////////////////////////////////////////////////////////
CAMPO_SAIDA_DIGITAL(saidaAvancaCilindro)
//////////////////////////////////////////////////////////////////////////
//Declaracao Campos e variaveis organizados por funcao
//////////////////////////////////////////////////////////////////////////
CAMPO_INT(contadorDeAvancos)
LOGICA.CLP
//////////////////////////////////////////////////////////////////////////
//Comando
//////////////////////////////////////////////////////////////////////////
SEL (saidaAvancaCilindro)
SUBIDA
ENTAO_EXECUTA_BLOCO
{
contadorDeAvancos = contadorDeAvancos + 1;
}
Toda vez que for identificada a borda de subida no sinal "saidaAvancaCilindro", o
"contadorDeAvancos" será incrementado em uma unidade.
Setor de Capacitação Técnica - branqs Página 38 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Declaração de campos na IHM
Esta aula não apresenta novos tipos de campos.
Setor de Capacitação Técnica - branqs Página 39 de 40
Módulo I
Desenvolvimento Software CLP - Básico
Controle de Revisões
Revisão: 01
Data: 29/06/2014
Descrição:
• Inserido o manual de referência das instruções utilizadas nas video-aulas.
Revisão: 00
Data: 05/09/2013
Descrição:
• Documento original criado para as vídeo aulas de introdução à
programação de CLP.
Setor de Capacitação Técnica - branqs Página 40 de 40

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
 
Etapas da programação
Etapas da programaçãoEtapas da programação
Etapas da programação
 
Linguagem C (UFRPE)
Linguagem C (UFRPE)Linguagem C (UFRPE)
Linguagem C (UFRPE)
 
C curso - notas de aula
C   curso - notas de aulaC   curso - notas de aula
C curso - notas de aula
 
O compilador dev c++
O compilador dev c++O compilador dev c++
O compilador dev c++
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06
 
Compus Party - processing e arduino
Compus Party - processing e arduinoCompus Party - processing e arduino
Compus Party - processing e arduino
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tutorial logix pro
Tutorial logix proTutorial logix pro
Tutorial logix pro
 
Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Maquinas multinivel
Maquinas multinivelMaquinas multinivel
Maquinas multinivel
 
Maquinas multinivel
Maquinas multinivelMaquinas multinivel
Maquinas multinivel
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem C
 
Fundamentos de Programação
Fundamentos de ProgramaçãoFundamentos de Programação
Fundamentos de Programação
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interação
 
Logica usando c_-_aula_1
Logica usando c_-_aula_1Logica usando c_-_aula_1
Logica usando c_-_aula_1
 

Destaque

Exercicios ladder01
Exercicios ladder01Exercicios ladder01
Exercicios ladder01Douglas Mota
 
04 dispositivos e_redes_comunicação
04 dispositivos e_redes_comunicação04 dispositivos e_redes_comunicação
04 dispositivos e_redes_comunicaçãoconfidencial
 
01 visão geral_sistema
01 visão geral_sistema01 visão geral_sistema
01 visão geral_sistemaconfidencial
 
Aocs short course bleaching quebec city 5 07 esp
Aocs short course bleaching quebec city 5 07 espAocs short course bleaching quebec city 5 07 esp
Aocs short course bleaching quebec city 5 07 espconfidencial
 
09 blocos de_organização
09 blocos de_organização09 blocos de_organização
09 blocos de_organizaçãoconfidencial
 
12 soluções sugeridas
12 soluções sugeridas12 soluções sugeridas
12 soluções sugeridasconfidencial
 
Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2confidencial
 
02 unidade de_treinamento
02 unidade de_treinamento02 unidade de_treinamento
02 unidade de_treinamentoconfidencial
 
treinamentos em automacao e solucoes industriais s7 tia 2 simatic s7 porgama...
 treinamentos em automacao e solucoes industriais s7 tia 2 simatic s7 porgama... treinamentos em automacao e solucoes industriais s7 tia 2 simatic s7 porgama...
treinamentos em automacao e solucoes industriais s7 tia 2 simatic s7 porgama...confidencial
 
Sitrain introdução a ihm
Sitrain introdução a ihmSitrain introdução a ihm
Sitrain introdução a ihmconfidencial
 
Apostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladderApostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem laddermarv2
 
01tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp0101tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp01confidencial
 
Fluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeFluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeconfidencial
 

Destaque (17)

Exercicios ladder01
Exercicios ladder01Exercicios ladder01
Exercicios ladder01
 
04 dispositivos e_redes_comunicação
04 dispositivos e_redes_comunicação04 dispositivos e_redes_comunicação
04 dispositivos e_redes_comunicação
 
01 visão geral_sistema
01 visão geral_sistema01 visão geral_sistema
01 visão geral_sistema
 
Aocs short course bleaching quebec city 5 07 esp
Aocs short course bleaching quebec city 5 07 espAocs short course bleaching quebec city 5 07 esp
Aocs short course bleaching quebec city 5 07 esp
 
03 step 7 basic
03 step 7 basic03 step 7 basic
03 step 7 basic
 
09 blocos de_organização
09 blocos de_organização09 blocos de_organização
09 blocos de_organização
 
12 soluções sugeridas
12 soluções sugeridas12 soluções sugeridas
12 soluções sugeridas
 
08 blocos de_dados
08 blocos  de_dados08 blocos  de_dados
08 blocos de_dados
 
Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2
 
02 unidade de_treinamento
02 unidade de_treinamento02 unidade de_treinamento
02 unidade de_treinamento
 
Exercicios+de+ladder+2009
Exercicios+de+ladder+2009Exercicios+de+ladder+2009
Exercicios+de+ladder+2009
 
treinamentos em automacao e solucoes industriais s7 tia 2 simatic s7 porgama...
 treinamentos em automacao e solucoes industriais s7 tia 2 simatic s7 porgama... treinamentos em automacao e solucoes industriais s7 tia 2 simatic s7 porgama...
treinamentos em automacao e solucoes industriais s7 tia 2 simatic s7 porgama...
 
Sitrain introdução a ihm
Sitrain introdução a ihmSitrain introdução a ihm
Sitrain introdução a ihm
 
Manual pc simu
Manual pc simu  Manual pc simu
Manual pc simu
 
Apostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladderApostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladder
 
01tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp0101tiaportal handson-basicov11v2-140421084257-phpapp01
01tiaportal handson-basicov11v2-140421084257-phpapp01
 
Fluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verdeFluxograma processo acucar_alcool_etanol_verde
Fluxograma processo acucar_alcool_etanol_verde
 

Semelhante a CLP Básico Módulo I

Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoClaudio Arkan
 
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdfDESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdfJulioCesar547337
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfLuanaBatista74
 
Clp allen bralley aula 04
Clp allen bralley aula 04Clp allen bralley aula 04
Clp allen bralley aula 04MAKILL
 
Introdução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageIntrodução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageEmbarcados
 
001 A 010 Material Auxiliar Para Curso AvançAdo Ii Msp430
001 A 010   Material Auxiliar Para Curso AvançAdo Ii Msp430001 A 010   Material Auxiliar Para Curso AvançAdo Ii Msp430
001 A 010 Material Auxiliar Para Curso AvançAdo Ii Msp430Texas Instruments
 
Clp completa
Clp completaClp completa
Clp completapanelada
 
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdfTREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdfssuser059c2c1
 
Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores picCesar Prim
 
Automação de Processos Industriais
Automação de Processos IndustriaisAutomação de Processos Industriais
Automação de Processos IndustriaisRicardo Akerman
 
Apostiladepic basic-110602153048-phpapp02
Apostiladepic basic-110602153048-phpapp02Apostiladepic basic-110602153048-phpapp02
Apostiladepic basic-110602153048-phpapp02Yury Pontes
 

Semelhante a CLP Básico Módulo I (20)

Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançado
 
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdfDESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
 
Rs logix 5000
Rs logix 5000Rs logix 5000
Rs logix 5000
 
Apostila s7
Apostila s7Apostila s7
Apostila s7
 
Minicurso de USER RPL para HP 50G
Minicurso de USER RPL para HP 50GMinicurso de USER RPL para HP 50G
Minicurso de USER RPL para HP 50G
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
 
Relatório final
Relatório finalRelatório final
Relatório final
 
Tutorial básico logix pro
Tutorial básico   logix proTutorial básico   logix pro
Tutorial básico logix pro
 
Aula04
Aula04Aula04
Aula04
 
Clp allen bralley aula 04
Clp allen bralley aula 04Clp allen bralley aula 04
Clp allen bralley aula 04
 
Introdução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageIntrodução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support package
 
001 A 010 Material Auxiliar Para Curso AvançAdo Ii Msp430
001 A 010   Material Auxiliar Para Curso AvançAdo Ii Msp430001 A 010   Material Auxiliar Para Curso AvançAdo Ii Msp430
001 A 010 Material Auxiliar Para Curso AvançAdo Ii Msp430
 
Clp completa
Clp completaClp completa
Clp completa
 
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdfTREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
 
Apostila clp cefet sp
Apostila clp   cefet spApostila clp   cefet sp
Apostila clp cefet sp
 
Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores pic
 
Automação de Processos Industriais
Automação de Processos IndustriaisAutomação de Processos Industriais
Automação de Processos Industriais
 
Apostila de pic basic
Apostila de pic basicApostila de pic basic
Apostila de pic basic
 
Apostiladepic basic-110602153048-phpapp02
Apostiladepic basic-110602153048-phpapp02Apostiladepic basic-110602153048-phpapp02
Apostiladepic basic-110602153048-phpapp02
 
Introducao clp
Introducao clpIntroducao clp
Introducao clp
 

Mais de MARCELO DOS OLIVEIRA

Mais de MARCELO DOS OLIVEIRA (20)

NBR-14276-2020.pdf
NBR-14276-2020.pdfNBR-14276-2020.pdf
NBR-14276-2020.pdf
 
NORMA TÉCNICA 07-2018 - ATUAL.pdf
NORMA TÉCNICA 07-2018 - ATUAL.pdfNORMA TÉCNICA 07-2018 - ATUAL.pdf
NORMA TÉCNICA 07-2018 - ATUAL.pdf
 
NBR 9604 - Coleta de Amostras.pdf
NBR 9604 - Coleta de Amostras.pdfNBR 9604 - Coleta de Amostras.pdf
NBR 9604 - Coleta de Amostras.pdf
 
Convenção Coletiva 2022.pdf
Convenção Coletiva 2022.pdfConvenção Coletiva 2022.pdf
Convenção Coletiva 2022.pdf
 
Antes de Comprar um jeep.pdf
Antes de Comprar um jeep.pdfAntes de Comprar um jeep.pdf
Antes de Comprar um jeep.pdf
 
NR-12-Anexo-02.pdf
NR-12-Anexo-02.pdfNR-12-Anexo-02.pdf
NR-12-Anexo-02.pdf
 
3.27.160_Manual-SLIM-HIGH-POWER.pdf
3.27.160_Manual-SLIM-HIGH-POWER.pdf3.27.160_Manual-SLIM-HIGH-POWER.pdf
3.27.160_Manual-SLIM-HIGH-POWER.pdf
 
SECRETARIA DE ESTADO DOS NEGÓCIOS DA SEGURANÇA PÚBLICA.pdf
SECRETARIA DE ESTADO DOS NEGÓCIOS DA SEGURANÇA PÚBLICA.pdfSECRETARIA DE ESTADO DOS NEGÓCIOS DA SEGURANÇA PÚBLICA.pdf
SECRETARIA DE ESTADO DOS NEGÓCIOS DA SEGURANÇA PÚBLICA.pdf
 
Física para cientista e engenheiros Vol 1 - Paul Tipler e Gene Mosca.pdf
Física para cientista e engenheiros Vol 1 - Paul Tipler e Gene Mosca.pdfFísica para cientista e engenheiros Vol 1 - Paul Tipler e Gene Mosca.pdf
Física para cientista e engenheiros Vol 1 - Paul Tipler e Gene Mosca.pdf
 
IFES 1-2022.pdf
IFES 1-2022.pdfIFES 1-2022.pdf
IFES 1-2022.pdf
 
IFES 1-2017.pdf
IFES 1-2017.pdfIFES 1-2017.pdf
IFES 1-2017.pdf
 
IFES 1-2016.pdf
IFES 1-2016.pdfIFES 1-2016.pdf
IFES 1-2016.pdf
 
IFES 1-2020.pdf
IFES 1-2020.pdfIFES 1-2020.pdf
IFES 1-2020.pdf
 
IFES 1-2019.pdf
IFES 1-2019.pdfIFES 1-2019.pdf
IFES 1-2019.pdf
 
IFES 1-2018.pdf
IFES 1-2018.pdfIFES 1-2018.pdf
IFES 1-2018.pdf
 
Carteira empresasamericanas
Carteira empresasamericanasCarteira empresasamericanas
Carteira empresasamericanas
 
It 42 2011 pts
It 42 2011 ptsIt 42 2011 pts
It 42 2011 pts
 
Manual proprietariogalloperbr
Manual proprietariogalloperbrManual proprietariogalloperbr
Manual proprietariogalloperbr
 
Permeabilidade do solo
Permeabilidade do soloPermeabilidade do solo
Permeabilidade do solo
 
Madeiras
MadeirasMadeiras
Madeiras
 

Último

PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
AULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobreAULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobremaryalouhannedelimao
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 

Último (20)

PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
AULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobreAULA DE CARIOLOGIA TSB introdução tudo sobre
AULA DE CARIOLOGIA TSB introdução tudo sobre
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 

CLP Básico Módulo I

  • 1. Módulo I Desenvolvimento Software CLP - Básico Lista de exercícios utilizados nas vídeo aulas e manual de referência das instruções utilizadas em cada aula. Setor de capacitação técnica Branqs Automação Santos - SP
  • 2. Módulo I Desenvolvimento Software CLP - Básico índice Introdução............................................................................................4 Aula 01 - Instalação da ferramenta de programação do CLP..........................5 Aula 02 - Campainha residencial...............................................................6 Declarações e instruções do CLP............................................................7 Declaração: "CAMPO_ENTRADA_DIGITAL"...........................................7 Declaração: "CAMPO_SAIDA_DIGITAL"................................................8 Instrução: "SEL"..............................................................................9 Instrução: "MEMO".........................................................................10 Declaração de campos na IHM.............................................................11 Campo: "bool"...............................................................................11 Aula 03 - Acionamento de lâmpada por interruptor de toque.......................12 Declarações e instruções do CLP..........................................................13 Declaração: "SINAL_DIGITAL"..........................................................13 Instrução: "SUBIDA".......................................................................14 Instrução: "E"................................................................................15 Instrução: "EN"..............................................................................16 Instrução: "OU".............................................................................16 Declaração de campos na IHM.............................................................18 Aula 04 - Acionamento de lâmpada com sensor de presença.......................19 Declarações e instruções do CLP..........................................................20 Declaração: "CAMPO_INT"...............................................................20 Declaração: "TEMPORIZADOR".........................................................21 Instrução: "DESCIDA".....................................................................23 Declaração de campos na IHM.............................................................24 Campo: "int".................................................................................24 Aula 05 - Controle de enchimento de caixa d'água através de bomba...........25 Declarações e instruções do CLP..........................................................26 Instrução: "SED"............................................................................26 Declaração de campos na IHM.............................................................27 Aula 06 - Acionamento de lâmpada em horários programados.....................28 Declarações e instruções do CLP..........................................................29 Declaração: "CAMPO_CHAR"............................................................29 Declaração: "AgendamentoSemanal".................................................30 Declaração de campos na IHM.............................................................32 Aula 07 - Alarme residencial...................................................................33 Declarações e instruções do CLP..........................................................34 Instrução: "if"................................................................................34 Declaração de campos na IHM.............................................................36 Campo: "Senha"............................................................................36 Aula 08 - Controle do tempo de chuveiro ligado........................................37 Declarações e instruções do CLP..........................................................38 Setor de Capacitação Técnica - branqs Página 2 de 40
  • 3. Módulo I Desenvolvimento Software CLP - Básico Instrução: ENTAO_EXECUTA_BLOCO.................................................38 Declaração de campos na IHM.............................................................39 Controle de Revisões.............................................................................40 Setor de Capacitação Técnica - branqs Página 3 de 40
  • 4. Módulo I Desenvolvimento Software CLP - Básico Introdução Este documento apresenta os exercícios que serão resolvidos através das Vídeo-Aulas disponíveis na área de treinamento do site http://www.branqs.com.br. Adicionalmente, este documento também apresenta um curto manual de referência para as instruções utilizadas na solução de cada aula. Esperamos que todos possam aproveitar o conteúdo. Ficamos à disposição para prestar suporte através dos "comentários" do próprio YouTube. Setor de Capacitação Técnica - branqs Página 4 de 40
  • 5. Módulo I Desenvolvimento Software CLP - Básico Aula 01 - Instalação da ferramenta de programação do CLP Esta aula propõe simplesmente mostrar como é feita a instalação das ferramentas necessárias para desenvolver o software do CLP branqs. Após a instalação, é demonstrado como abrir as ferramentas de edição do programa CLP, o editor de páginas da IHM e o simulador do software. Setor de Capacitação Técnica - branqs Página 5 de 40
  • 6. Módulo I Desenvolvimento Software CLP - Básico Aula 02 - Campainha residencial Enunciado do exercício Montar um programa de controle da campainha de uma casa automatizada. A campainha deve tocar sempre que o interruptor for pressionado. Os estados dos sinais da campainha e do interruptor devem ser apresentados na IHM. Entradas Digitais • Interruptor de toque Saídas Digitais • Campainha Setor de Capacitação Técnica - branqs Página 6 de 40 CLP Interruptor Campainha
  • 7. Módulo I Desenvolvimento Software CLP - Básico Declarações e instruções do CLP Declaração: "CAMPO_ENTRADA_DIGITAL" Cria uma variável que assume o estado de uma entrada digital do CLP. Sintaxe CAMPO_ENTRADA_DIGITAL(nomeDaEntradaDigital) A variável declarada (nomeDaEntradaDigital) possuirá um valor booleano conforme o estado da entrada digital do CLP. Comentário A relação entre a declaração das entradas digitais e as entradas digitais físicas existentes no CLP é feita através da ordem das declarações. A primeira variável declarada corresponderá à primeira entrada da primeira placa BC8E. A segunda variável corresponderá à segunda entrada e assim por diante. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// //Declaracao Entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(interruptorCampainha) Quando a primeira entrada digital do CLP for acionada, a variável "interruptorCampainha" receberá o estado lógico "1" (verdadeiro). Setor de Capacitação Técnica - branqs Página 7 de 40
  • 8. Módulo I Desenvolvimento Software CLP - Básico Declaração: "CAMPO_SAIDA_DIGITAL" Cria uma variável que atribui seu estado lógico a uma saída digital do CLP Sintaxe CAMPO_SAIDA_DIGITAL(nomeDaSaidaDigital) A variável declarada poderá receber um valor booleano (“0” ou “1”) conforme o resultado de uma lógica construída no programa. O estado dessa variável é refletido em uma saída digital do CLP. Comentário A relação entre a declaração das saídas digitais e as saídas digitais físicas existentes no CLP é feita através da ordem das declarações. A primeira variável declarada corresponderá à primeira saída da primeira placa BC8S. A segunda variável corresponderá à segunda saída e assim por diante. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// //Declaracao Saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(saidaCampainha) Quando a variável "saidaCampainha" receber o estado lógico "1" (Verdadeiro), a primeira saída do CLP será acionada. Setor de Capacitação Técnica - branqs Página 8 de 40
  • 9. Módulo I Desenvolvimento Software CLP - Básico Instrução: "SEL" Instrução normalmente utilizada para iniciar uma sentença lógica entre sinais digitais. A instrução SEL é o acrônimo da expressão "Se Ligado". Sintaxe SEL (variavelDeEstadoDigital) Comentário Ao ser executada, a instrução SEL copia o estado da variável indicada para uma outra variável interna chamada de "Estado Lógico Corrente" (ELC). O ELC é uma variável auxiliar interna do CLP usada para realizar a execução e armazenamento do resultado intermediário de uma sentença lógica. Por esse motivo, esta instrução é muito utilizada para iniciarmos uma sentença lógica. É equivalente a um “contato normalmente aberto” no início de uma linha na linguagem de programação LADDER. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// //Declaracao Entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(interruptorCampainha) ////////////////////////////////////////////////////////////////////////// //Declaracao Saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(saidaCampainha) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (interruptorCampainha) MEMO (saidaCampainha) Podemos ler a lógica acima do seguinte modo: Se ligado o interruptorCampainha Memoriza a saidaCampainha Ou seja, se a entrada "interruptorCampainha" for acionada, então a "saidaCampainha" também será acionada. Setor de Capacitação Técnica - branqs Página 9 de 40
  • 10. Módulo I Desenvolvimento Software CLP - Básico Instrução: "MEMO" Instrução utilizada para concluir uma operação lógica, armazenando o resultado da sentença em uma variável que armazena um estado lógico (0 ou 1; verdadeiro ou falso). A instrução MEMO é o acrônimo da expressão "MEMORIZA". Sintaxe MEMO (variavalDeEstadoDigital) Esta instrução finaliza uma sentença lógica, armazenando o "Estado Lógico Corrente" (ELC) na “variavelDeEstadoDigital”. Comentário A instrução MEMO equivale à "Bobina de um relê" utilizado na linguagem de programação LADDER. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// //Declaracao Entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(interruptorCampainha) ////////////////////////////////////////////////////////////////////////// //Declaracao Saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(saidaCampainha) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (interruptorCampainha) MEMO (saidaCampainha) A instrução MEMO irá atribuir à variável "saidaCampainha" o resultado lógico resultante nas linhas anteriores. Considerando que no exemplo existe somente uma instrução SEL antes da instrução MEMO, então o valor da variável "interruptorCampainha" será transferido para a variável "saidaCampainha". Posteriormente serão mostrados exemplos onde a instrução MEMO atribui valores resultantes de sentenças lógicas mais complexas. Setor de Capacitação Técnica - branqs Página 10 de 40
  • 11. Módulo I Desenvolvimento Software CLP - Básico Declaração de campos na IHM Campo: "bool" Os campos do tipo "bool" permitem a visualização e edição do conteúdo de variáveis do CLP do tipo "CAMPO_ENTRADA_DIGITAL", "CAMPO_SAIDA_DIGITAL" e "CAMPO_CHAR" Sintaxe Onde: bool: Tipo do campo tagCLP: Nome da variável declarada no CLP ed: Valor 0 (zero) ou 1 (um). 0 - Não permite edição, 1 - Permite edição niv: Nível de senha exigida para edição (Valor entre 0 e 3) simbF: Símbolo de um único digito que será apresentado no campo quando a variável possuir o estado lógico "Falso" simbV: Símbolo de um único digito que será apresentado no campo quando a variável possuir o estado lógico "Verdadeiro" Comentário Os símbolos "0 e 1" ou "N e S" são frequentemente utilizados. Exemplo O campo acima apresentará o conteúdo da variável "saidaRecuaCilindro". Esse campo não será editável; terá o nível de proteção 0; mostrará o simbolo “0” (zero) quando a variável possuir o estado lógico "Falso" e o símbolo “1” (um) quando a variável possuir o estado lógico "Verdadeiro". Setor de Capacitação Técnica - branqs Página 11 de 40
  • 12. Módulo I Desenvolvimento Software CLP - Básico Aula 03 - Acionamento de lâmpada por interruptor de toque Enunciado do exercício Montar o programa de controle de uma lâmpada controlada por um interruptor de toque em uma casa automatizada. Ao tocar no interruptor, deve inverter o estado da lâmpada. Os estados das entradas e saídas digitais devem ser apresentados na IHM. Entradas Digitais • Interruptor de toque Saídas Digitais • Lâmpada Setor de Capacitação Técnica - branqs Página 12 de 40 CLP Interruptor de toque Lâmpada
  • 13. Módulo I Desenvolvimento Software CLP - Básico Declarações e instruções do CLP Declaração: "SINAL_DIGITAL" Cria uma variável capaz de armazenar um estado lógico digital, ou seja, pode assumir os estados "Falso" ou "Verdadeiro", também representados por "0" (zero) ou "1" (um). Sintaxe SINAL_DIGITAL(nomeDaVariavel) Comentário Variáveis do tipo "SINAL_DIGITAL" são largamente utilizadas como variáveis auxiliares na construção da lógica do CLP. Estas variáveis não são manipuladas pela a IHM. Ao ligarmos o CLP, o estado lógico de uma variável deste tipo é iniciado sempre com "zero". Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// //Declaracao das entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(entradaDigitalCilindroRecuado) ////////////////////////////////////////////////////////////////////////// //Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// SINAL_DIGITAL(cilindroRecuado) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (entradaDigitalCilindroRecuado) MEMO (cilindroRecuado) Quando o sinal "entradaDigitalCilindroRecuado" possuir o estado lógico "verdadeiro", a variável "cilindroRecuado" também receberá o estado lógico "verdadeiro". Setor de Capacitação Técnica - branqs Página 13 de 40
  • 14. Módulo I Desenvolvimento Software CLP - Básico Instrução: "SUBIDA" Permite verificar se ocorreu a transição de subida (0 para 1) no estado lógico de uma variável ou no resultado de uma sentença lógica. Sintaxe SUBIDA Comentário A instrução SUBIDA é extremamente útil para detectar o exato momento de acionamento de um sinal. Essa instrução avalia o resultado da sentença lógica inserida anteriormente a ela, e resulta em estado lógico "verdadeiro" somente durante um ciclo de execução do CLP, exatamente no momento de transição do estado lógico "falso" para "verdadeiro". (assistir explicação mostrada na vídeo aula). Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// // Declaracao Entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(botao) ////////////////////////////////////////////////////////////////////////// // Declaracao Saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(sirene) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (botao) SUBIDA MEMO (sirene) Quando o botão for pressionado, a sirene realizará um breve toque (durante milésimos de segundos) como se emitisse um "beep". Perceba que a sirene não continuará tocando enquanto o botão estiver pressionado. Para que ela realize o breve toque novamente, será necessário soltar o botão e pressioná-lo novamente. Somente dessa forma a instrução SUBIDA irá detectar a transição do sinal (de 0 para 1) e então acionar a sirene novamente durante um único ciclo de CLP. Setor de Capacitação Técnica - branqs Página 14 de 40
  • 15. Módulo I Desenvolvimento Software CLP - Básico Instrução: "E" Realiza uma operação lógica “E” (AND) entre o "Estado Lógico Corrente" (ELC) e a variável passada como parâmetro. Sintaxe E (sinalDigital) Comentário O resultado da operação "AND" entre a variável passada e o "Estado Lógico Corrente" (ELC) é armazenado no próprio ELC. Esse resultado pode ser utilizado em novas operações ou ser finalmente armazenado em uma variável destino através da operação MEMO. Esta instrução equivale à utilização de uma ligação "em série" de um "contato aberto" através da linguagem LADDER. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// // Declaracao das entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(sensorPortaFrontalFechada) CAMPO_ENTRADA_DIGITAL(sensorPortaTraseiraFechada) ////////////////////////////////////////////////////////////////////////// //Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// SINAL_DIGITAL(todasPortasFechadas) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (sensorPortaFrontalFechada) E (sensorPortaTraseiraFechada) MEMO (todasPortasFechadas) O sinal "todasPortasFechadas" só será "verdadeiro" caso o sinal "sensorPortaFrontalFechada" e o sinal "sensorPortaTraseiraFechada" também sejam. Setor de Capacitação Técnica - branqs Página 15 de 40
  • 16. Módulo I Desenvolvimento Software CLP - Básico Instrução: "EN" Realiza uma operação lógica “E NÃO” (AND NOT) entre o "Estado Lógico Corrente" (ELC) e a variável passada como parâmetro. Sintaxe EN (sinalDigital) Comentário O resultado da operação "AND NOT" entre a variável passada e o "Estado Lógico Corrente" (ELC) é armazenado no próprio ELC. Esse resultado pode ser utilizado em novas operações ou ser finalmente armazenado em uma variável destino através da operação MEMO. Esta instrução equivale à utilização de uma ligação "em série" com um "contato fechado" através da linguagem LADDER. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// // Declaracao das entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(botaoRecuaCilindro) CAMPO_ENTRADA_DIGITAL(protetorAberto) ////////////////////////////////////////////////////////////////////////// // Declaracao das saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(saidaRecuaCilindro) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (botaoRecuaCilindro) EN (protetorAberto) MEMO (saidaRecuaCilindro) No exemplo acima, a "saidaRecuaCilindro" só será acionada caso seja pressionado o botão e o protetor não esteja aberto. Setor de Capacitação Técnica - branqs Página 16 de 40
  • 17. Módulo I Desenvolvimento Software CLP - Básico Instrução: "OU" Realiza uma operação lógica “OU” (OR) entre o "Estado Lógico Corrente" (ELC) e a variável passada como parâmetro. O resultado é armazenado no próprio ELC. Sintaxe OU (sinalDigital) Comentário O resultado da operação "OR" entre a variável passada e o "Estado Lógico Corrente" (ELC) é armazenado no próprio ELC. Esse resultado pode ser utilizado em novas operações ou ser finalmente armazenado em uma variável destino através da operação MEMO. Esta instrução equivale à utilização de uma ligação "em paralelo" com um "contato" através da linguagem LADDER. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// // Declaracao das entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(botaoLigaEsteira) CAMPO_ENTRADA_DIGITAL(botaoRecuaCilindro) ////////////////////////////////////////////////////////////////////////// //Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// SINAL_DIGITAL(pressionouBotao) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (botaoRecuaCilindro) OU (botaoLigaEsteira) MEMO (pressionouBotao) Se o "botaoRecuaCilindro" ou o "botaoLigaEsteira" forem pressionados, o sinal "pressionouBotao" será verdadeiro. Setor de Capacitação Técnica - branqs Página 17 de 40
  • 18. Módulo I Desenvolvimento Software CLP - Básico Declaração de campos na IHM Esta aula não apresenta novos tipos de campos. Setor de Capacitação Técnica - branqs Página 18 de 40
  • 19. Módulo I Desenvolvimento Software CLP - Básico Aula 04 - Acionamento de lâmpada com sensor de presença Enunciado do exercício Ligar automaticamente a iluminação de um cômodo ao detectar a presença de uma pessoa. Garantir que a lâmpada fique ligada por aproximadamente 5 segundos após cada detecção de movimento realizada pelo sensor. O sistema deve permitir alterar o tempo de acionamento da lâmpada através de um campo na IHM. Os estados das entradas e saídas digitais devem ser apresentados na IHM. Entradas Digitais • Sensor de presença Saídas Digitais • Lâmpada Setor de Capacitação Técnica - branqs Página 19 de 40 CLP Sensor de presença Lâmpada
  • 20. Módulo I Desenvolvimento Software CLP - Básico Declarações e instruções do CLP Declaração: "CAMPO_INT" Cria uma variável para armazenamento de valores numéricos inteiros, que podem ser apresentados ou modificados através do painel de operação (IHM). Sintaxe CAMPO_INT (nomeDaVariavel) Comentário Variáveis do tipo CAMPO_INT podem ser utilizadas em inúmeras ocasiões. Durante as vídeo aulas da certificação M1-DSCLPB, elas serão intensamente utilizadas para armazenar o set-point de temporizadores. Serão usadas também para armazenar contadores e até mesmo números de senhas. Estas variáveis podem ser facilmente comparadas através de operadores lógicos e manipuladas por operadores aritméticos e de atribuição da linguagem "C". Este tipo de variável é sempre inicializada com o valor zero ao iniciar a execução do programa. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// //Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// CAMPO_INT(temporizadorRecuoDoCilindro) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// temporizadorRecuoDoCilindro = 100; O valor 100 é armazenado na variável "temporizadorRecuoDoCilindro". Setor de Capacitação Técnica - branqs Página 20 de 40
  • 21. Módulo I Desenvolvimento Software CLP - Básico Declaração: "TEMPORIZADOR" Declara um temporizador para contagem de tempo pelo CLP. Sintaxe TEMPORIZADOR(nomeDoTemporizador,variavelSetPoint) Onde: nomeDoTemporizador: nome definido para o temporizador variavelSetPoint: Variável do tipo INT que armazena o valor do tempo em centésimos de segundo a ser contado pelo temporizador (ex: 100 = 1 segundo) Comentário Ao declararmos um TEMPORIZADOR, são criados automaticamente dois sinais digitais associados: dsp_nomeDoTemporizador fim_nomeDoTemporizador Estes sinais serão utilizados para controlar e monitorar o uso do temporizador. O sinal com o prefixo "dsp_" (disparo) serve para disparar a contagem. Ao receber o estado lógico "1" ("Um" ou "Verdadeiro"), o temporizador começa a fazer a contagem do tempo. Quando for decorrido o tempo programado na variável "variavelSetPoint", o sinal com o prefixo "fim_" (Fim) passará automaticamente para o estado lógico "1". Dessa forma, a variável "dsp_" deverá ser alterada por uma sentença lógica existente no programa do CLP, enquanto a variável "fim_" será alterada automaticamente pelo próprio temporizador e será consultada para verificar se a contagem do tempo chegou ao fim. Segue abaixo uma pequena carta de tempos que demonstra o funcionamento dos sinais de "disparo" e reconhecimento de "fim" da contagem: Adicionalmente um temporizador permite também obtermos o valor corrente de sua Setor de Capacitação Técnica - branqs Página 21 de 40
  • 22. Módulo I Desenvolvimento Software CLP - Básico contagem. Para isso, devemos utilizar o método tempoDecorrido( ) conforme é demonstrado no exemplo a seguir. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// // Declaracao das entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(sensorPoteEmBaixoDoCilindro) ////////////////////////////////////////////////////////////////////////// // Declaracao das saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(avancaCilindro) ////////////////////////////////////////////////////////////////////////// // Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// CAMPO_INT(duracaoDeAvancoDoCilindro) TEMPORIZADOR(tmpDuracaoDeAvancoDoCilindro,duracaoDeAvancoDoCilindro) CAMPO_INT(contagemDoTempo) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// duracaoDeAvancoDoCilindro = 200; SEL (sensorPoteEmBaixoDoCilindro) MEMO (dsp_tmpDuracaoDeAvancoDoCilindro) SEL (dsp_tmpDuracaoDeAvancoDoCilindro) EN (fim_tmpDuracaoDeAvancoDoCilindro) MEMO (avancaCilindro) contagemDoTempo=tmpDuracaoDeAvancoDoCilindro.tempoDecorrido(); No exemplo acima, a saída "avancaCilindro" será acionada durante 2 segundos sempre que a entrada "sensorPoteEmbaixoDoCilindro" for acionada. Se a variável "contagemDoTempo" for inserida em um campo da IHM, será possível visualizar a contagem do tempo em andamento. Setor de Capacitação Técnica - branqs Página 22 de 40
  • 23. Módulo I Desenvolvimento Software CLP - Básico Instrução: "DESCIDA" Permite verificar se ocorreu a transição de descida (1 para 0) no estado lógico de uma variável ou no resultado de uma operação lógica. Sintaxe DESCIDA Comentário Funciona de modo similar à instrução "SUBIDA", porém detectando a transição do estado de 1 para 0. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// // Declaracao Entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(botao) ////////////////////////////////////////////////////////////////////////// // Declaracao Saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(sirene) ////////////////////////////////////////////////////////////////////////// //Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// SINAL_DIGITAL(pressionouBotao) SINAL_DIGITAL(soltouBotao) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (botao) SUBIDA MEMO (pressionouBotao) SEL (botao) DESCIDA MEMO (soltouBotao) SEL (pressionouBotao) OU (soltouBotao) MEMO (sirene) No exemplo acima, a sirene realizará um beep quando o botão for pressionado e também quando for liberado. Setor de Capacitação Técnica - branqs Página 23 de 40
  • 24. Módulo I Desenvolvimento Software CLP - Básico Declaração de campos na IHM Campo: "int" Os campos do tipo "int" permitem a visualização e edição do conteúdo de variáveis do tipo inteiro. Sintaxe Onde: int: Tipo do campo tagCLP: Nome da variável declarada no CLP vMin: Valor mínimo permitido durante edição vMax: Valor máximo permitido durante edição ed: Valor 0 (zero) ou 1 (um). 0 - Não permite edição, 1 - Permite edição tam: Tamanho do campo em número de dígitos pto: Posição do ponto decimal niv: Nível de senha exigida para edição (Valor entre 0 e 3) Comentário Este campo permite visualizar e alterar o valor de variáveis declaradas como CAMPO_INT no CLP. Exemplo O exemplo acima apresenta o conteúdo da variável "contagemTempoReal". Essa variável pode receber valores entre 0 e 9999. O campo será "editável" e ocupará 5 posições na tela. O ponto decimal será apresentado na segunda posição. Por último, este campo não está protegido por senha, já que o último parâmetro especifica nível de proteção "0" (zero). Setor de Capacitação Técnica - branqs Página 24 de 40
  • 25. Módulo I Desenvolvimento Software CLP - Básico Aula 05 - Controle de enchimento de caixa d'água através de bomba Enunciado do exercício Controlar o enchimento automático de uma caixa d'água acionando uma bomba d'água sempre que o nível mínimo for atingido. A bomba deverá permanecer ligada até que o nível máximo seja completado. Cada sensor é acionado quando o nível da água atinge a altura do mesmo. Entradas Digitais • Sensor de nível máximo de água • Sensor de nível mínimo de água Saídas Digitais • Bomba d'água Setor de Capacitação Técnica - branqs Página 25 de 40 CLP Bomba D'água Sensor nível mínimo Sensor nível máximo
  • 26. Módulo I Desenvolvimento Software CLP - Básico Declarações e instruções do CLP Instrução: "SED" Instrução normalmente utilizada para iniciar uma sentença lógica entre sinais digitais. A instrução SED é o acrônimo da expressão "Se Desigado". Sintaxe SED (variavelDeEstadoDigital) Comentário Ao ser executada, a instrução SED copia o estado "invertido" da variável indicada para a variável do "Estado Lógico Corrente" (ELC). É equivalente a um “contato fechado” no início de uma linha na linguagem de programação LADDER. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// //Declaracao Entradas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_ENTRADA_DIGITAL(sensorPortaFechada) ////////////////////////////////////////////////////////////////////////// //Declaracao Saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(saidaCampainha) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SED (sensorPortaFechada) MEMO (saidaCampainha) Podemos ler a lógica acima do seguinte modo: Se desligado o sensorPortaFechada Memoriza a saidaCampainha Ou seja, se a porta estiver aberta então aciona a Campainha. Setor de Capacitação Técnica - branqs Página 26 de 40
  • 27. Módulo I Desenvolvimento Software CLP - Básico Declaração de campos na IHM Esta aula não apresenta novos tipos de campos. Setor de Capacitação Técnica - branqs Página 27 de 40
  • 28. Módulo I Desenvolvimento Software CLP - Básico Aula 06 - Acionamento de lâmpada em horários programados Enunciado do exercício Permitir a definição de um horário para ligar e desligar automaticamente uma lâmpada a cada dia da semana. Manter a função de acionamento manual desenvolvido na aula 03. A definição dos horários deve ser feito através de uma página na IHM. Entradas Digitais • Interruptor de toque Saídas Digitais • Lâmpada Setor de Capacitação Técnica - branqs Página 28 de 40 CLP Interruptor de toque Lâmpada
  • 29. Módulo I Desenvolvimento Software CLP - Básico Declarações e instruções do CLP Declaração: "CAMPO_CHAR" Similar à declaração "SINAL_DIGITAL", esta declaração cria uma variável capaz de armazenar um estado lógico digital, ou seja, esta variável pode assumir os estados "Falso" ou "Verdadeiro", também representados por "0" (zero) ou "1" (um). A diferença na utilização de "CAMPO_CHAR" e "SINAL_DIGITAL" é que a variável "CAMPO_CHAR" poderá ser editada e visualizada na tela da IHM. Sintaxe CAMPO_CHAR (nomeDaVariavel) Comentário Idem a "CAMPO_SINAL_DIGITAL", porém permite sua edição e visualização diretamente na IHM. Exemplo Idem a "SINAL_DIGITAL" Setor de Capacitação Técnica - branqs Página 29 de 40
  • 30. Módulo I Desenvolvimento Software CLP - Básico Declaração: "AgendamentoSemanal" A declaração "AgendamentoSemanal" cria um objeto de agendamento de eventos semanal, capaz de identificar quando o relógio do CLP atinge um determinado horário (hora e minuto) em cada dia da semana. Sintaxe AgendamentoSemanal nomeDoAgendador; Após declarar o objeto "agendador", devemos programar os horários de cada evento por dia da semana. Essa programação do objeto é realizada através do método "programaAgenda()" utilizando-se os seguintes parâmetros: nomeDoAgendador.programaAgenda( variavelHabilitaEventoDomingo,variavelHoraDomingo,variavelMinutoDomingo, variavelHabilitaEventoSegunda,variavelHoraSegunda,variavelMinutoSegunda, variavelHabilitaEventoTerca,variavelHoraTerca,variavelMinutoTerca, variavelHabilitaEventoQuarta,variavelHoraQuarta,variavelMinutoQuarta, variavelHabilitaEventoQuinta,variavelHoraQuinta,variavelMinutoQuinta, variavelHabilitaEventoSexta,variavelHoraSexta,variavelMinutoSexta, variavelHabilitaEventoSabado,variavelHoraSabado,variavelMinutoSabado); Onde: variavelHabilitaDiaSemana: Variável de estado lógico que habilita o evento naquele dia da semana. variavelHoraDiaSemana: Variável do tipo INT que armazena a hora de ocorrência do evento naquele dia da semana. variavelMinutoDiaSemana: Variável do tipo INT que armazena o minuto de ocorrência do evento naquele dia da semana. Por fim utilizamos o método "verificaAtivacao()" para identificar quando o relógio do CLP atingiu o horário programado em cada evento habilitado. Ex: variavelEstadoDigital=nomeDoAgendador.verificaAtivacao(); No exemplo acima, a "variavelEstadoDigital" receberá o estado "1" sempre que um determinado horário habilitado em um dia da semana for atingido. Comentário Um bom exemplo da utilização deste recurso seria considerar o acionamento de uma sirene no horário de fim de expediente de uma empresa que funciona de Segunda a Sexta-Feira. O código a seguir demonstra exatamente este exemplo: Setor de Capacitação Técnica - branqs Página 30 de 40
  • 31. Módulo I Desenvolvimento Software CLP - Básico Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// // Declaracao Saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(saidaSirene) ////////////////////////////////////////////////////////////////////////// // Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// AgendamentoSemanal agendamentoHorarioFimDeExpediente; CAMPO_CHAR(habAgendamentoDom) CAMPO_CHAR(habAgendamentoSeg) CAMPO_CHAR(habAgendamentoTer) CAMPO_CHAR(habAgendamentoQua) CAMPO_CHAR(habAgendamentoQui) CAMPO_CHAR(habAgendamentoSex) CAMPO_CHAR(habAgendamentoSab) CAMPO_INT(horaFimExpedienteDom) CAMPO_INT(horaFimExpedienteSeg) CAMPO_INT(horaFimExpedienteTer) CAMPO_INT(horaFimExpedienteQua) CAMPO_INT(horaFimExpedienteQui) CAMPO_INT(horaFimExpedienteSex) CAMPO_INT(horaFimExpedienteSab) CAMPO_INT(minutoFimExpedienteDom) CAMPO_INT(minutoFimExpedienteSeg) CAMPO_INT(minutoFimExpedienteTer) CAMPO_INT(minutoFimExpedienteQua) CAMPO_INT(minutoFimExpedienteQui) CAMPO_INT(minutoFimExpedienteSex) CAMPO_INT(minutoFimExpedienteSab) Setor de Capacitação Técnica - branqs Página 31 de 40
  • 32. Módulo I Desenvolvimento Software CLP - Básico LOGICA.CLP ////////////////////////////////////////////////////////////////////////// // Comando ////////////////////////////////////////////////////////////////////////// habAgendamentoDom=0; habAgendamentoSeg=1; habAgendamentoTer=1; habAgendamentoQua=1; habAgendamentoQui=1; habAgendamentoSex=1; habAgendamentoSab=0; horaFimExpedienteSeg=17; horaFimExpedienteTer=17; horaFimExpedienteQua=17; horaFimExpedienteQui=17; horaFimExpedienteSex=16; minutoFimExpedienteSeg=15; minutoFimExpedienteTer=15; minutoFimExpedienteQua=15; minutoFimExpedienteQui=15; minutoFimExpedienteSex=30; agendamentoLigaLampadaDoCorredor.programaAgenda( habAgendamentoDom,horaFimExpedienteDom,minutoFimExpedienteDom, habAgendamentoSeg,horaFimExpedienteSeg,minutoFimExpedienteSeg, habAgendamentoTer,horaFimExpedienteTer,minutoFimExpedienteTer, habAgendamentoQua,horaFimExpedienteQua,minutoFimExpedienteQua, habAgendamentoQui,horaFimExpedienteQui,minutoFimExpedienteQui, habAgendamentoSex,horaFimExpedienteSex,minutoFimExpedienteSex, habAgendamentoSab,horaFimExpedienteSab,minutoFimExpedienteSab); saidaSirene=agendamentoHorarioFimDeExpediente.verificaAtivacao(); O agendador acima foi programado para acionar a sirene de segunda a quinta-feira às 17 horas e 15 minutos, enquanto na Sexta-Feira, a mesma será acionada às 16 horas e 30 minutos. Perceba que a sirene não será acionada aos sábados e domingos. Declaração de campos na IHM Esta aula não apresenta novos tipos de campos. Setor de Capacitação Técnica - branqs Página 32 de 40
  • 33. Módulo I Desenvolvimento Software CLP - Básico Aula 07 - Alarme residencial Implementar um alarme residencial composto de uma sirene e três sensores de presença. A ativação e desativação do alarme deve ser feito através da digitação de uma senha na IHM. Considere que a IHM está instalada na sala de estar. Entradas Digitais • Sensor sala de estar • Sensor cozinha • Sensor dormitório Saídas Digitais • Sirene Setor de Capacitação Técnica - branqs Página 33 de 40 CLP SireneSensor sala de estar Sensor cozinha Sensor dormitório IHM
  • 34. Módulo I Desenvolvimento Software CLP - Básico Declarações e instruções do CLP Instrução: "if" Nesta aula mostramos que o Framework CLP branqs permite a utilização de instruções escritas na linguagem C. Este tipo de recurso estende significativamente a capacidade de processamento, podendo aproveitar os vários recursos que esta linguagem oferece. Sintaxe if (expressaoLogica) { . . bloco 1 . } else { . . bloco 2 . } Caso a "expressaoLogica" for verdadeira, as instruções existentes entre as primeiras chaves (bloco 1) serão executadas, caso contrário, as instruções existentes entre as segundas chaves (bloco 2) serão executadas. A instrução "else" é opcional. Dentro dos blocos delimitados pelas chaves, podem ser usadas quaisquer instruções disponíveis no framework ou na própria linguagem C. Comentário Caso tenha interesse em conhecer formas adicionais de trabalhar com instruções "if", basta seguir as definições existentes em qualquer tutorial para a linguagem ANSI-C. Setor de Capacitação Técnica - branqs Página 34 de 40
  • 35. Módulo I Desenvolvimento Software CLP - Básico Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// // Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// CAMPO_INT(contadorDePotesProduzidos) CAMPO_INT(numeroDePotesDesejados) CAMPO_CHAR(producaoDePotesAtingida) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// // Comando ////////////////////////////////////////////////////////////////////////// if ( contadorDePotesProduzidos >= numeroDePotesDesejados) producaoDePotesAtingida=1; else producaoDePotesAtingida=0; Se o valor do "contadorDePotesProduzidos" for maior ou igual ao valor do "numeroDePotesDesejados" então o sinal " producaoDePotesAtingida" receberá o estado lógico "Verdadeiro", caso contrário, receberá o estado lógico "Falso". Setor de Capacitação Técnica - branqs Página 35 de 40
  • 36. Módulo I Desenvolvimento Software CLP - Básico Declaração de campos na IHM Campo: "Senha" Os campos do tipo "senha" permitem a edição do conteúdo de variáveis do tipo inteiro, porém diferentemente do tipo "CAMPO_INT", um campo do tipo "Senha" apresenta asteriscos (*) no lugar dos números originalmente inseridos. Sintaxe Onde: senha: Tipo do campo tagCLP: Nome da variável declarada no CLP ed: Valor 0 (zero) ou 1 (um). 0 - Não permite edição, 1 - Permite edição tam: Tamanho do campo em número de dígitos niv: Nível de senha exigida para edição (Valor entre 0 e 3) Comentário Os campos do tipo “senha” utilizam variáveis declaradas como "CAMPO_INT" no CLP. Exemplo A declaração acima apresenta um campo que permitirá a edição da variável "senhaProtecaoNivel2" definida no CLP. Esse campo será editável, terá o tamanho de 6 caracteres e necessitará do nível de proteção 3 para poder ser editado. É importante lembrar que serão apresentados asteriscos (*) no lugar dos números digitados. Setor de Capacitação Técnica - branqs Página 36 de 40
  • 37. Módulo I Desenvolvimento Software CLP - Básico Aula 08 - Controle do tempo de chuveiro ligado Enunciado do exercício Implementar o software de um sistema que controla o tempo máximo de chuveiro ligado durante o banho de uma pessoa. O CLP monitora o tempo de chuveiro ligado através de um sensor de corrente elétrica. Caso a duração de chuveiro ligado ultrapasse o tempo limite programado na IHM, o CLP desliga a alimentação elétrica do chuveiro através de um contator. Para ligar o chuveiro novamente, é necessário pressionar o botão de RESET que fica localizado fora do banheiro. Entradas Digitais • Sensor de corrente • Botão de reset Saídas Digitais • Contator de alimentação do chuveiro Setor de Capacitação Técnica - branqs Página 37 de 40 CLP Sensor de corrente Contator de alimentação do chuveiro Botão de RESET
  • 38. Módulo I Desenvolvimento Software CLP - Básico Declarações e instruções do CLP Instrução: "ENTAO_EXECUTA_BLOCO" Permite executar um bloco de instruções caso o Estado Lógico Corrente (ELC) seja verdadeiro. Sintaxe ENTAO_EXECUTA_BLOCO { . . bloco de instruções . } Comentário Esta instrução funciona de forma muito parecida com a instrução "if", porém executa o bloco dependendo do estado do ELC. Exemplo DECLARA.CLP ////////////////////////////////////////////////////////////////////////// //Declaracao das saidas digitais ////////////////////////////////////////////////////////////////////////// CAMPO_SAIDA_DIGITAL(saidaAvancaCilindro) ////////////////////////////////////////////////////////////////////////// //Declaracao Campos e variaveis organizados por funcao ////////////////////////////////////////////////////////////////////////// CAMPO_INT(contadorDeAvancos) LOGICA.CLP ////////////////////////////////////////////////////////////////////////// //Comando ////////////////////////////////////////////////////////////////////////// SEL (saidaAvancaCilindro) SUBIDA ENTAO_EXECUTA_BLOCO { contadorDeAvancos = contadorDeAvancos + 1; } Toda vez que for identificada a borda de subida no sinal "saidaAvancaCilindro", o "contadorDeAvancos" será incrementado em uma unidade. Setor de Capacitação Técnica - branqs Página 38 de 40
  • 39. Módulo I Desenvolvimento Software CLP - Básico Declaração de campos na IHM Esta aula não apresenta novos tipos de campos. Setor de Capacitação Técnica - branqs Página 39 de 40
  • 40. Módulo I Desenvolvimento Software CLP - Básico Controle de Revisões Revisão: 01 Data: 29/06/2014 Descrição: • Inserido o manual de referência das instruções utilizadas nas video-aulas. Revisão: 00 Data: 05/09/2013 Descrição: • Documento original criado para as vídeo aulas de introdução à programação de CLP. Setor de Capacitação Técnica - branqs Página 40 de 40