Professional Documents
Culture Documents
Apostila n. 5
Sumário
Controle em Malha-Fechada................................................................................................ 1
Definições ............................................................................................................................ 1
Introdução ............................................................................................................................ 4
Fluxograma ........................................................................................................................ 11
Declarando as Variáveis................................................................................................. 17
Descobrindo o Erro......................................................................................................... 19
Lógica................................................................................................................................. 27
Algoritmo ............................................................................................................................ 27
Exercícios de Fixação............................................................................................................ 33
1
1. Automação industrial
Controle em Malha-Fechada
Processo
Atuação Medição
Controle
Definições
Medição ⇒ Responsável pela transformação da grandeza que se deseja controlar num sinal que
possa ser manipulado pelo sistema de controle.
Atuação ⇒ Responsável pela transformação do sinal de saída do controlador no sinal que possa
comandar a variável de entrada do sistema que está sob controle.
Processo ⇒ Operação que evolui progressivamente e que se constitui por uma série de ações
controladas objetivando um particular resultado.
Para realizar o controle dos processos existe o Controlador Lógico Programável que pode
ocupará o bloco de controle da figura x.x.
Processo
Atuação Medição
O Sr. Armando confusão, no exemplo da figura x.x, está controlando a temperatura da água
para uso em um hotel. Pode-se ver no exemplo os blocos: Processo, Medição, Controlador, Atuação.
Medição
Sensor
Atuador Controlador
Vávula
Trocador de
Calor
Misturador
Serpentina
Processo
Aquecer água
utilizando a energia
térmica do vapor
Introdução
A NTU.01 orienta que: motores trifásicos de gaiola ou de indução com potência acima 5
(C.V.), devem partir de forma indireta. Um possível sistema de partida indireta é a manobra Υ/∆
(estrela/triângulo).
O sistema de manobra Υ/∆ (estrela/triângulo) tem por objetivo reduzir a corrente de partida de
motores.. As companhias fornecedoras de energia elétrica fixam valores máximos para a corrente de
partida. Se o motor a ser instalado possuí uma corrente de partida maior que a fixada é necessário
implementar um circuito que minimize a corrente de partida.
Fusível Geral
Partida de motores Trifásicos: Acionamento por Botão e
b1 c1
c
b0 d1 d1
c c
c2
d1 c1 c2 c3
N
Ligação:
1. Botão de comando b1 aciona o contator estrela c2e o dispositivo de retardamento d1.
2. O contato fechador c2 atua sobre o contator de rede c1, cujo contato fechador opera.
3. O motor entra em funcionamento em estrela.
Comutação:
1. Decorrido o retardamento, o contato abridor d1 opera e o contator estrela c2 é desligado.
2. Quando o contato abridor de c2 fecha, entra o contator triângulo c3, pois o contato fechador de
c1 já estava fechado quando c1 ligou.
3. O motor funciona, agora, em triângulo.
Interrupção:
1. Acionado o botão b0, interrompe o contator c1.
Contato fechador de c1 abre-se em seguida; o contator triângulo e o motor são desligados.
O PLC é um dispositivo que permite construir lógicas de automação flexíveis de instalação rápida
ocupando pequeno espaço físico. É um equipamento para tarefas de automação como:
Controle
Regulação
Operação
Cálculos
Posicionamento
Medições
Comunicação
Controlador Programável
PS4-201-MM1 da Moeller
Iniciando o SUCOSOFT
Atalho para acessar
O arquivo executável é o
rapidamente o
WORKB.EXE
SUCOSOFT na Área de
C:\S40\WORKB.EXE
Trabalho
Com um duplo clique no Atalho S40 tem-se acesso à barra de ferramentas do Sucosoft Manager —
Tools.
Project Topology
Code Configurator
Manager
Generation
Fluxograma
Início N
Sintaxe
2
Correta?
Problema de
Automação S
Compilar
Code Generate
4 Algoritmo
N
Testes
Configurar 3
Ok?
Topologia
S
Verificar Sintaxe
Syntax Check
O Programa
N
1 Soluciona o
4
Problema de
Automação?
Fim
Para dar nome ao projeto é necessário lembrar as regras para nomear arquivos do DOS — Disk
Operating System. Embora o SUCOSOFT S40 versão 3.01 seja desenvolvida para o ambiente
Windows, ele ainda guarda esta restrição do sistema operacional DOS.
Procure criar um nome mnemônico — que ajude a memória, que facilite a localização e a
lembrança do conteúdo. Por exemplo: pmotoret é o acrograma de Partida Motor Estrela/Triangulo.
Acrograma é a palavra formada pela redução de palavras ou expressões a letras ou sílabas iniciais.
Após a inserção da lógica é hora de nomear os contatos. Com um clique do botão direito em
cima do contato aparecerá o menu de atalho
Com um clique em Name Element..., aparecerá a caixa um caixa de diálogo, onde iremos
nomear o contato. As regras para nomerar um contato são:
Clicando com o botão direito do mouse sobre a área sombreada aparecerá o menu de atalho,
escolha a opção insert AND. Apertando a barra de espaço o contato passará de normalmente aberto
para normalmente fechado, outra opção que gera o mesmo resultado é clicar com o botão direito do
mouse sobre o contato inserido e escolher a opção Negate Spacebar.
Inserindo nova linha do diagrama Ladder: Vamos inserir um bloco de função definido pelo
fabricante para gerar um atraso de tempo entre o instante que se liga o contator estrela e o instante em
que se desliga o contator estrela e se ligue o contator triangulo.
O SUCOSOFT® da Moeller possui blocos de função padrão IEC1131.3 e blocos padrão
Moeller, que estão disponíveis para o programador. O IEC — International Electrotechnical
Commission, é um orgão de padronização no âmbito internacional. Para acessar os blocos de função:
Quando o foco estiver na janela do editor de linguagens aparecerá Symbols ao invés de Data
Types. O procedimento é o mesmo. Para mudar o foco basta clicar na barra de títulos da janela
Foco no Editor de Barra de
LD/FDB-Editor.
Variáveis Títulos
Barra de
Rolagem
Nome do
Temporizador
Com um clique do botão esquerdo do mouse sobre a linha de Set esta ficará selecionada, em
seguida com um clique do botão direito pode-se determinar qual é o operando que irá setar o bloco. No
nosso caso será o contator de rede C_Rede.
Na entrada do Preset Time ao invés de entrar com um valor diretamente iremos faze-lo através
de uma variável que iremos chamar de uiTemp. Explicações sobre o porque deste nome.
Continuação:
Declarando as Variáveis
Após todas as linha inseridas é hora de declarar as variáveis. Com um clique na barra de títulos
Syntax-Controled Variable Editor o foco irá para esta janela, ou simplemente maximizamos a janela.
Após digitar Name, selecionar BOOL em Type, atribuir a entrada zero ao botão de liga e
acrescentar um comentário sobre a variável basta clicar no botão Add.Na continuação declaramos
todas as variáveis e os blocos utilizados na lógica. Para declarar o bloco de função clicamos em
DataType e selecionamos o bloco MS_TimeRising.
Data Types ⇒ Manufactuer-Defined Function Blocks... ⇒ Selecione MS_TimeRising.
Em restaurar pode-se retornar para as duas janelas lado a lado. Para salvar a programação ⇒ na
barra de ferramentas clicar em File e em Save As. Aparecerá a caixa de diálogo.
Syntax Check
O programa está salvo é hora de verificar se ao digitar cometemos erros de sintaxe.
Na barra de ferramentas do POU-Editor encontra-se a Opção Syntax Check
No caso de ocorrer um erro a caixa de mensagens aparecerá indicando qual o tipo de erro
cometido. No caso existe um identificador que não foi declarado.
Descobrindo o Erro
Clicando duas vezes sobre a linha que identifica o erro o foco é deslocado para local onde
encontra-se o erro.
No caso da figura x.x o mensagem de erro aponta que um identificador não foi declarado. O
foco está sobre o contato Deslig. A variável foi declarada como Desliga. Pode-se corrigir o Tag do
contato para Desliga ou a declaração da variável para Deslig.
Topology Configurator, os arquivos são criados com a extensão .dcf (device configuration) e
salvos em kompo.sys. Em salvar "save" o arquivo é criado com o nome do projeto no caso pmotoret
com a extensão dcf ⇒ c:pmotoret\kompo.sys\pmotoret.dcf
O arquivo com o programa do usuário é salvo com a extensão .poe. É salvo na pasta
c:\pmotort\kompo.sys\pmotoret.poe
Outra opção para gerar o código fonte é no POU-Editor em File Generate Code. Clicando em
sim aparecerá a tela da figura x.x
O status indica que o CLP e o Computador não estão logicamente conectados. Clicando no
Botão Connect, o computador tentará uma conexão com o CLP.
Clicar no arquivo pmotoret.pcd ⇒ Transfer → PLC. O programa informará que o CLP está
rodando um programa, e perguntará se deseja parar de rodar o programa, conforme tela da figura x.x
Ms_TimeRising
Set OutputControl
Reset ElapsedTime
Hold
PresetTime
Description
Time diagram
Set
Reset
Hold
THOLD
T T
OutputControl
T + THOLD
Simbologia
A simbologia dos blocos de função tem por objetivo representar as relações entre as entradas e
as saídas sem que para isto seja necessário apresentar explicitamente sua lógica interna.
Símbolo de
Qualificação
de Entrada
Ms_TimeRising
Set
Entradas Saídas
As linhas de entrada são colocadas à esquerda, exceto quando indicadas por meio de setas nas
linhas de acesso.
A entrada Set aciona a contagem de tempo a partir da borda de subida do sinal aplicado. A
partir da borda de subida da entrada Set o temporizador conta o tempo T e a saída OutputControl vaí
para um (1), e permanece em um até que o sinal aplicado a entrada Set volte para zero (0).
Set
OutputControl
Metodologia de Programação
A metodologia de programação tem por objetivos: programas legíveis, claros, confiáveis,
eficazes, de rápida depuração com alta produtividade.
Procedurais ⇒ Estruturada
Orientadas a Objetos
Orientada a Eventos
O prof. Edsgar W. Dijkstra da Tecnological University of Eindhoven, Holanda, 1965,
introduziu os primeiros conceitos de programação estruturada.
O programa ao longo da vida, útil quase que seguramente, terá algumas manutenções que irão
gerar nova codificação e testes. Os custos com a manutenção em boa parte das vezes chega a
equiparar-se com os custos de elaboração.
A partir das respostas a estas perguntas é possível elaborar um algoritmo. Só então passa-se a
codificação. Após execução e depuração o programa está pronto. A documentação, é também um
histórico e, deve ser construída a cada passo desde a abordagem à depuração
Lógica
"A linguagem natural nem sempre é clara e precisa, sendo muito comum a ocorrência de
ambigüidades que geram dúvidas sobre o significado do que se está falando.
Por isso, um dos objetivos da lógica é estabelecer uma linguagem formal, onde se pode
expressar com clareza, precisão e emitir juízo de verdadeiro e falso para determinadas frases
(elemento de comunicação que relaciona palavras entre si de modo a estabelecer uma mensagem com
sentido completo".4
Algoritmo
Definição: "Um algoritmo é uma seqûencia ordenada finita de operações bem definidas e eficazes que,
quando executadas por um computador, operando sobre dados caracterizando o estado atual do
contexto e o estado desejado, sempre termina num determinado período de tempo, produzindo uma
solução ou indicando que a solução não pôde ser obtida". 11
Quem tem como objetivo, por exemplo, jogar Duke Nukem® 3D em rede, precisa certificar-se de
algumas coisas e tomar algumas providências antes de jogar. Verificar se o a rede está acessível. Onde
está a vítima. opps! Quero dizer o parceiro e assim por diante.
Prever todos os obstáculos e situações possíveis nem sempre é fácil. Existem algoritmos mais
complexos e outros mais simples, depende do objetivo (onde se quer chegar) e da clareza de raciocínio
do programador.
Quase sempre existe mais de um algoritmo para resolver um determinado problema. Qual é o
melhor? O tamanho do programa e o tempo de execução devem ser levados em consideração para
escolha.
Edge detection
1 F_TRIG Edge detection, falling edge
2 R_TRIG Edge detection, rising edge
Flip-flops
3 RS RS Flip-Flop
4 SR SR Flip-Flop
Timing FBs
17 MS_TimeFalling Off-delay timer, milliseconds
18 MS_TimeRising On-delay timer, milliseconds
19 S_TimeFalling Off-delay timer, seconds
20 S_TimeRising On-delay timer, seconds
21 TimeGenerator Clock generator
22 TimePulse Pulse generator
23 TOF Off delay
24 TON On delay
25 TP Pulse
Register operations
36 SR_x 1-bit shift register
37 SRB_x 8-bit shift register
38 SRW_x 16-bit shift register
39 LifoBx 8-bit LIFO register
40 LifoWx 16-bit LIFO register
41 FifoBx 8-bit FIFO register
42 FifoWx 16-bit FIFO register
Code converters
43 _16BitBinaryToBCD 16-bit binary/decimal code converter
44 _32BitBinaryToBCD 32-bit binary/decimal code converter (only PS416, PS4-300)
45 BCDTo16BitBinary 16-bit decimal/binary code converter
46 BCDTo32BitBinary 32-bit decimal/binary code converter (only PS416, PS4-300)
Array operations
47 CompareArray Data block comparison or value search
48 TransferArray Copy or initialise array
49 Serialize Copy data structure to array
50 Deserialize Extract data from array
51 BlockCompare Data block comparison or value search (only PS4-200, PS4-300)
52 BlockTransfer Copy or initialise data block (only PS4-200, PS4-300)
Sequence control
53 SFC_x Sequence control function block (only PS4-200, PS4-300)
String processing
54 COMtoSTR Convert received characters to STRING
55 STRtoCOM Copy string to marker area
56 ADRtoSTR Convert received characters to STRING (only PS4-200, PS4-300)
57 STRtoADR Copy string to marker area (only PS4-200, PS4-300)
Communication
58 ASi_PARAM Change slave parameters during operation: ASi_PARAM (only PS4-200, PS4-
300)
59 DE4netK Frequency inverters DF4
60 MI4K Communication function block MI4 (only PS4-200, PS4-300)
61 MI4netK Communication function block MI4
62 DialOrHangup Establish or clear a connection to a DTE via modem (only PS416, PS4-
300)
63 SendATCommand Send AT command to a modem (only PS416, PS4-300) {bmc
64 COM Serial communication function block (only PS416)
65 SCO Serial communication function block (only PS4)
66 PSCO Profibus-FMS communication (only PS4-200, PS4-300)
67 MOD200 Serial communication via MODBUS /IBUS (only PS416)
68 SUCOM_A Protocol emulation for direct memory access (only PS416)
69 SuconetP PROFIBUS-FMS communication (only PS416)
70 SuconetS_BGKS InterBus communication (only PS416)
71 PdpStationDiag Request diagnostics data from PROFIBUS-DP station (only PS416)
Alarm FBs
77 CounterAlarm Counter alarm (only PS4-200, PS4-300)
78 CAlarm Counter alarm (only PS416)
79 EdgeAlarm Edge alarm (only PS4-200, PS4-300)
80 FAlarm Edge alarm (only PS416)
81 TimerAlarm Timer alarm (only PS4-200, PS4-300)
82 TAlarm Timer alarm (only PS416)
PS416-specific FBs
Referências Bibliográficas
MOELLER. Training Guide Sucosoft S 40 Programming Software. Alemanha: 2a ed. Jul. 1998, 140 p.
Exercícios de Fixação
1. Uma comissão formada por Presidente, diretor Administrativo, diretor Financeiro e diretor de
Marketing se reúnem para analisar e aprovar questões relativas a empresa. Uma proposta é
aprovada se recebe a maioria dos votos ou se o presidente e qualquer outro membro votar a
favor.
S=P.(A+F+ M ) +(A.F.M)