Clp 5 Davila Moeller
-
Upload
alecs-silva -
Category
Documents
-
view
51 -
download
1
Transcript of Clp 5 Davila Moeller
Disciplina: CLP Apostila n. 5
Sumário
Controle em Malha-Fechada................................................................................................1
Definições ............................................................................................................................1
Introdução ............................................................................................................................4
Partida de motores Trifásicos: Acionamento por Botão....................................................5
Partida Υ/∆ (Estrela/triângulo) de motores Trifásicos .......................................................6
Características básicas do Controlador Programável PS4-201 MM1®.................................7
Fluxograma ........................................................................................................................11
Passo: Project Manager — Criar um novo projeto .............................................................12
Editar o Programa do usuário. POU-Editor — Program Organisation Unit-Editor..............12
Começando a Programar em Ladder .................................................................................13
Declarando as Variáveis.................................................................................................17
Syntax Check .................................................................................................................18
Descobrindo o Erro.........................................................................................................19
Explicação Detalhada do Bloco de Função MS_TimeRising..............................................24
Lógica.................................................................................................................................27
Algoritmo ............................................................................................................................27
Sumário das Funções IEC 1131-3 e Moeller......................................................................28
Referências Bibliográficas .....................................................................................................32
Exercícios de Fixação............................................................................................................33
1
Centro Federal de Educação Tecnológica de São Paulo
P
1
t
m
C
a
D
p
. Automação industrial
rof. Eng.M.Sc. d'Avila
O objetivo da Automação industrial é o de tornar os processos automáticos, isto é, desenvolver
ecnologias para que os trabalhos realizados por homens sejam realizados por máquinas que se
ovam, regulem e operem por si mesmas.
ontrole em Malha-Fechada
Um sistema de controle pode ser representado pelos blocos da figura 1.1.
Medição
Processo
Controle
Atuação
Figura 1.1 - Sistema de Controle
Podemos dizer que a Automação Industrial é um conjunto de técnicas destinadas a tornar
utomáticos vários processos numa indústria.
efinições
Medição ⇒ Responsável pela transformação da grandeza que se deseja controlar num sinal que
ossa ser manipulado pelo sistema de controle.
2
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
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.
Controle Realimentado ⇒ É uma operação que na presença de distúrbios , tende a reduzir a
diferença entre a saída de um sistema e a entrada de referência.
Controle Automático
Para realizar o controle dos processos existe o Controlador Lógico Programável que pode
ocupará o bloco de controle da figura x.x.
Medição
Processo
Atuação
Figura x.x - Controle Automático com
CLP na malha de Realimentação
3
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
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.
Misturador
Trocador de Calor
Serpentina
Processo Aquecer água
utilizando a energia térmica do vapor
Atuador Vávula
Medição Sensor
Controlador
4
Centro Federal de Educação Tecnológica de São Paulo
P
)
I
s
d
(
(
m
p
i
e
c
u
o
Partida Υ/∆ (Estrela/triângulo
rof. Eng.M.Sc. d'Avila
ntrodução
A Norma Técnica Unificada — NTU.01, para fornecimento de energia elétrica em tensão
ecundária a edificações individuais tem por objetivo orientar os consumidores individuais das áreas
e concessão da CESP, CPFL e Eletropaulo.
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
otores.. As companhias fornecedoras de energia elétrica fixam valores máximos para a corrente de
artida. Se o motor a ser instalado possuí uma corrente de partida maior que a fixada é necessário
mplementar um circuito que minimize a corrente de partida.
A partida Υ/∆ é normalmente implementada por contatores e um temporizador. Pode-se, no
ntanto, utilizar um Controlador Lógico Programável — CLP para esta finalidade. A partida Υ/∆ com
ontatores e temporizador é mais econômica que a partida Υ/∆ utilizando um CLP. Evidentemente a
tilização do CLP numa única partida de motor está limitada aos casos onde o CLP realiza também
utras funções e existam entradas e saídas disponíveis.
5
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
Partida de Motores Acionamento por Botão
Partida de motores Trifásicos: Acionamento por Botão Fusível Geral
e
Circuito de comando didático simplificado. Acionamento por botão.
b0 = Botão de Comando Desliga (normalmente fechado) e
Relé Térmico b1 = Botão de Comando Liga (normalmente aberto)
c1 = Contator de Rede 1Contato Abridor
(normalmente fechado) c2 = Contator Estrela c 2c3 = Contator Triângulo 3
Contato Fechador
(normalmente aberto) d1 = Relé Temporizador
4c
R
d1
d1 c1 c2 c3
N
c
c
c
c2
c1
d1b0
b1
6
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
Partida Υ/∆ (Estrela/triângulo) de motores Trifásicos
Forma de Operação: Acionamento por botão.
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.
7
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
PLC — Programmable Logic Controller
Segundo a ABNT — Associação Brasileira de Normas Técnicas o PLC — Programmable
Logic Controller (Controlador Lógico Programável), é um equipamento eletrônico digital com
hardware e software compatíveis com aplicações industriais. No Brasil o termo CLP — Controlador
Lógico Programável, foi registrado pela Allen Bradley.
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
®
24V/0,5A protegidas contra curto-circuito e sobrecarga, e 01 Analógica de 12
Expans
nstalado no PC (Personal Computer) e transferido
através da porta serial (RS232C) para o PS4.
Comunicação
Imagem extraída do livro: Controle de Processos. Ogata
C
aracterísticas básicas do Controlador Programável PS4-201 MM1
08 entradas Digitais e 02 Analógicas de 10 bits (de 0 a 10 V)
06 Saídas Digitais
bits ( de 0 a 10 V)
ível localmente ou remotamente
o Localmente ⇒ Módulos LE4
o Remotamente ⇒ Módulos EM4
Programável em Lista de Instrução, Ladder ou blocos.
Programas desenvolvidos no SUCOSOFT i
8
Prof. Eng.M.Sc. d'Avila
Centro Federal de Educação Tecnológica de São Paulo
Controlador Programável PS4-201-MM1 da Moeller
Foto extraída do catálogo da Moeller
9
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
Controlador Programável PS4-201-MM1 da Moeller Vista Frontal
Imagem extraída do catálogo da Moeller
10
11
12
13
14
15
16
17
6 saídas digitais, 02 entradas analógicas
Interface SUCOnet K
Potenciômetros
Resistência de final de bus
Interface de Programação
Montagem em trilho DIN
Módulo de expansão de memória
Sinalização de Estado da CPU
Entrada para fonte de alimentação
Entrada do contador rápido
Entrada de interrupção
1
Presilha de fixação
Entradas digitais e alimentação das saídas
Conector do tipo plug-in
Sinalização de estado das entradas
Sinalização de estado das saídas
2
3
4
5
6
7
8
9 Conector do tipo plug-in
10
Centro Federal de Educação Tecnológica de São Paulo
P
T
P
rogramando com o SUCOSOFT® da Moeller
rof. Eng.M.Sc. d'Avila
Com um duplo clique no Atalho S40 tem-se acesso à barra de ferramentas do Sucosoft Manager —
ools.
Atalho para acessar rapidamente o
SUCOSOFT na Área de Trabalho
Iniciando o SUCOSOFT O arquivo executável é o
WORKB.EXE C:\S40\WORKB.EXE
ProjectManager
Topology Configurator
POU-Editor
Code Generation
Test and Commissioning
Figura x.x - Seqüência de
Programação SUCOSOFT
S 40 da Moeller (jul. 98,
p.20).
11
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
Fluxograma
SintaxeCorreta?
Compilar Code Generate
Transferir Programa para o
CLP
TestesOk?
Executar Programa
O Programa Soluciona o Problema de Automação?
1
S
N 2
S
N
S
4
2
Problema de Automação
Algoritmo
Editar o Programa do Usuário. POU-Editor
Declarar Variáveis
Configurar Topologia
Criar um Projeto no Sucosoft.
Project Manager
1
Verificar Sintaxe Syntax Check
Início
Testes e Comissionamento
N 4
3
Fim
12
Prof. Eng.M.Sc. d'Avila
Centro Federal de Educação Tecnológica de São Paulo
Passo: Project Manager — Criar um novo projeto
Project Manager ⇒ Project ⇒ New ⇒ Project Patch ⇒ digite C:\PMOTORET ⇒ Project ⇒ Exit
No conceito de hierarquia do Windows® temos: Área de Trabalho ⇒ Computador do Usuário
⇒ Unidade de Discos ⇒ Pastas ⇒ Subpastas ⇒ Arquivos. A pasta de projeto pmotoret, com suas
subpastas e arquivos, será guardada na unidade de disco "C".
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.
Regras para nomear pastas e arquivos:
Podem ter até oito caracteres.
Não são sensíveis a maiúsculas e minúsculas.
Podem conter apenas letras de A a Z, os números de 0 a 9, e os seguintes caracteres
especiais: _ ^ $ ~ ! # % & - { } @ ' ( ).
Não podem conter espaços, vírgulas, barras invertidas ou pontos (exceto o ponto que
separa o nome da extensão.
Não podem ser idênticos a outro nome de arquivo ou subpastas da mesma pasta.
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.
A árvore de pastas é criada automaticamente. A árvore é a hierarquia entre pastas e subpastas
com seus respectivos arquivos.
Editar o Programa do usuário. POU-Editor — Program Organisation Unit-Editor POU-Editor ⇒ File ⇒ New ⇒ na caixa de diálogo selecione ⇒
Program ⇒ New ⇒ Option ⇒ Syntax-Controlled Mode ⇒ Option ⇒ Programming Language ⇒ LD ⇒ Window ⇒ Tile.
13
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'A
Começando a Programar em Ladder
Iniciando a Programação
Inserção da Lógica
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:
vila
14
Centro Federal de Educação Tecnológica de São Paulo
Clicando em Ok o nome aparecerá acima do contato nomeado. A seguir vamos inserir um
contato em série com o contato Liga. Clicando sobre a linha na frente do contato Liga a linha ficará
sombreada conforme figura x.
Clicando com
escolha a opção inse
para normalmente fe
mouse sobre o contat
Inserindo nov
fabricante para gerar
que se desliga o conta
O SUCOSOF
Moeller, que estão
Commission, é um or
Symbols ou
MS_TimeRising.
Quando o foc
Types. O procedime
LD/FDB-Editor.
Prof. Eng.M.Sc. d'Avila
o botão direito do mouse sobre a área sombreada aparecerá o menu de atalho,
rt AND. Apertando a barra de espaço o contato passará de normalmente aberto
chado, outra opção que gera o mesmo resultado é clicar com o botão direito do
o inserido e escolher a opção Negate Spacebar.
a linha do diagrama Ladder: Vamos inserir um bloco de função definido pelo
um atraso de tempo entre o instante que se liga o contator estrela e o instante em
tor estrela e se ligue o contator triangulo.
T® da Moeller possui blocos de função padrão IEC1131.3 e blocos padrão
disponíveis para o programador. O IEC — International Electrotechnical
gão de padronização no âmbito internacional. Para acessar os blocos de função:
Data Types ⇒ Manufactuer-Defined Function Blocks... ⇒ Selecione
o estiver na janela do editor de linguagens aparecerá Symbols ao invés de Data
nto é o mesmo. Para mudar o foco basta clicar na barra de títulos da janela
Barra de Títulos
Foco no Editor de Variáveis
15
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
Escolha o bloco de função MS_TimeRising na tela de menu, dê um nome, para o bloco
escolhido, digite em Instance Name ⇒ Temp, que é a abreviação de temporizador. Para finalizar de
um clique no botão Accept.
Nome do Temporizador
Barra de Rolagem
Ao clicar no botão Accept o bloco é automaticamente inserido no modo LD/FDB ou no modo
IL são inseridas as linhas de programação. Para obter informações sobre os blocos de função clique em
Help ⇒ List of Manufacturer Function Blocks ⇒ no sumário das funções escolha o bloco.
Por exemplo: o temporizador que iremos utilizar na partida estrela/triângulo é o número 18 do
sumário de nome: MS_TimeRising e a descrição é: On-delay timer, milliseconds. Com um clique
sobre On-delay timer, milliseconds, temos a explicação detalhada do bloco, em inglês, não está
disponível a ajuda em espanhol.
A linha 2 um vez inserida contém o Ms_TimeRising, conforme figura X.
16
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
Com um clique
seguida com um clique
nosso caso será o conta
Na entrada do P
de uma variável que ire
Continuação:
Vamos inserir
programação.
do botão esquerdo do mouse sobre a linha de Set esta ficará selecionada, em
do botão direito pode-se determinar qual é o operando que irá setar o bloco. No
tor de rede C_Rede.
reset Time ao invés de entr
mos chamar de uiTemp. Ex
a terceira linha de progra
ar com um valor diretamente iremos faze-lo através
plicações sobre o porque deste nome.
mação através do botão de inserção de linha de
17
Centro Federal de Educação Tecnológica de São Paulo
Prof. E
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.
acresc
todas
DataT
Após digitar Name, selecionar BOOL em Type, atribuir a entrada zero ao botão de liga e
entar um comentário sobre a variável basta clicar no botão Add.Na continuação declaramos
as variáveis e os blocos utilizados na lógica. Para declarar o bloco de função clicamos em
ype e selecionamos o bloco MS_TimeRising.
Data Types ⇒ Manufactuer-Defined Function Blocks... ⇒ Selecione MS_TimeRising.
ng.M.Sc. d'Avila
18
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
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
Não houve Erro de Sintaxe
Verifica Erros de Sintaxe
19
Centro Federal de Educação Tecnológica de São Paulo
P
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.
D
e
rofescobrindo o Erro
Clicando duas vezes sobre a linha que identifica o erro o foco é deslocado para local onde
ncontra-se o erro.
. Eng.M.Sc. d'Avila
20
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.S
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.
2. Passo: Configurar o Hardware. O CLP PS4-201-MM1, permite a expansão de sua capacidade
de controle conectando-se em rede com módulos externo EM4, e módulos de expansão local
LE4.
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 ar
c:\pmotort\k
Topology Configurator ⇒ Configuration ⇒ New ⇒ File Name digite PMOTORET ⇒ Em PLC Type selecione ⇒ PS4-201-MM1 ⇒ OK ⇒ Configuration ⇒ Save ⇒ Configuration ⇒ Exit.
3. Gera
c. d'Avila
quivo com o programa do usuário é salvo com a extensão .poe. É salvo na pasta
ompo.sys\pmotoret.poe
ndo o Código de Máquina.
Program Code Generation Generate ⇒ Generate All
21
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'A
Outra opç
sim aparecerá a te
Clicando em Ok
Clicando
O Program
após ser "link-edi
ão para gerar o código fonte é no POU-Editor em File Generate Code. Clicando em
la da figura x.x
⇒ Generate ⇒ Generate All
vila
no botão sim onde está o fo
Code Generation criou o
tado" poderá ser executado
co temos:
arquivo pmotor.mak. O pmortor.mak é o código fonte que
pelo CLP.
22
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng
4. Transferência do Programa executável do Computador para o CLP. Test Commissinoning.
O
Botão C
Transfe
T
.
status indica que o CLP e o Computador não estão logicamente conectados. Clicando no
onnect, o computador tentará uma conexão com o CLP.
rindo o programa do Computador para o CLP.
ransfer... ⇒ aparecerá a Tela do Tranfer/File-Manager
.M.Sc. d'Avila
23
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
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
Clicando em sim o programa será transferido conforme tela da figura x.x
Após a transferência o programa perguntará se deseja rodar o novo programa carregado
conforme tela da figura x.x
O botão de compare o programa selecionado no computador com o que está na memória do
CLP permite saber qual é o programa está rodando no CLP.
24
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
Explicação Detalhada do Bloco de Função MS_TimeRising
Function block prototype MS_TimeRising
On_delay timer, milisenconds
Ms_TimeRising
ElapsedTime
OutputControl
PresetTime
Hold
Reset
Set
Set Start condition, rising edge
ReSet Reset condition
Hold Time interruption
PresetTime Time setpoint in milliseconds
OutputControl Control output
ElapsedTime Time actual value in milliseconds
Description Time diagram
(1) (2) (3) (4) (5)
THOLD
Hold
Reset
Set
T OutputControl
T
T + THOLD
25
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
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.
Ms_TimeRisingSet
Símbolo de Qualificação de Entrada
Entradas
Saídas
As linhas de entrada são colocadas à esquerda, exceto quando indicadas por meio de setas nas
linhas de acesso.
Entrada Dinâmica Ativada na
Borda de Subida O símbolo de qualificação de entrada
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).
T
Set
OutputControl
Entrada Dinâmica Ativada na
Borda de Descida O símbolo de qualificação de entrada
26
Centro Federal de Educação Tecnológica de São Paulo
P
o
e
P
O
O
i
r
e
d
g
e
p
p
d
c
h
u
l
Metodologia de Programaçã
rof. Eng.M.Sc. d'Avila
A metodologia de programação tem por objetivos: programas legíveis, claros, confiáveis,
ficazes, de rápida depuração com alta produtividade.
rocedurais ⇒ Estruturada
rientadas a Objetos
rientada a Eventos
O prof. Edsgar W. Dijkstra da Tecnological University of Eindhoven, Holanda, 1965,
ntroduziu os primeiros conceitos de programação estruturada.
O programa não é um fim em si mesmo. O desenvolvedor apresenta um programa como
esposta a uma necessidade do usuário (quem o solicita). Para desenvolver um programa não basta
scolher uma linguagem e aprender sua sintaxe. A linguagem de programação é a etapa final do
esenvolvimento de um programa.
O programa ao longo da vida, útil quase que seguramente, terá algumas manutenções que irão
erar nova codificação e testes. Os custos com a manutenção em boa parte das vezes chega a
quiparar-se com os custos de elaboração.
É aconselhável que o desenvolvedor, ciente deste problema, dedique tempo à elaboração do
rograma e a documentação. Sem responder algumas perguntas será difícil garantir a qualidade do
rograma desenvolvido. Como tratar o problema?, quais os métodos de solução? Que tipos de dados
e entrada e saída estão envolvidos?.
A partir das respostas a estas perguntas é possível elaborar um algoritmo. Só então passa-se a
odificação. Após execução e depuração o programa está pronto. A documentação, é também um
istórico e, deve ser construída a cada passo desde a abordagem à depuração
Deve-se desenvolver um estilo modular de programação. Os módulos devem interligar-se por
ma lógica clara, sempre de olho na semântica (representação do sentido dos enunciados) da
inguagem
27
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
Esboço ⇒ Pseudocódigos, Fluxogramas Método de solução (algoritmo) Input e output dos dados Codificação Execução, Depuração
Elaboraçã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
A lógica é a arte do pensar correto. Deve-se aprender a ordenar o pensamento e expressá-lo
claramente.
Algoritmo
"O algoritmo não é a solução do problema , mas o meio de obtê-la".
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
Algoritmos convencionais são compostos de duas partes:
• Um componente de lógica, que contém o conhecimento sobre um dados problema;
• Um componente de controle, que contém a metodologia de como aplicar o conhecimento para
resolver o problema.
28
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
O algoritmo é a descrição de um conjunto de ações conhecidas e ordenadas que resultam no
objetivo. Existem algoritmos, no dia-a-dia, prontos na nossa mente, que quase sempre podem ser
repensados e redimensionados.
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.
A clareza de raciocínio do programador pode avaliada pela legibilidade (qualidade de legível) do
algoritmo.
O algoritmo representado numa linguagem adequada (natural, em português estruturado ou
gráfica), permite que o mesmo seja escrito em qualquer linguagem de computador.
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.
Sumário das Funções IEC 1131-3 e Moeller No. Function block Description
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
Date and time
29
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
5 RealTimeClock Compare with real-time clock
6 RTC Set real-time clock
7 GetRealTimeClock Read real-time clock
8 SetRealTimeClock Set real-time clock (only PS4-200, PS4-300)
9 DATconcat Concatenate DATE_AND_TIME
10 DATsplit Split DATE_AND_TIME
11 DateConcat Concatenate DATE
12 DateSplit Split DATE
13 TimeConcat Concatenate TIME
14 TimeSplit Split TIME
15 TODconcat Concatenate TOD
16 TODsplit Split TOD
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
Counter and comparison FBs
26 _16BitCounter 16-bit up/down counter
27 _32BitCounter 32-bit up/down counter (only PS416, PS4-300)
28 CounterLE Control of the Counter LE module (only PS4-200, PS4-300)
29 CTD Down counter
30 CTU Up counter
31 CTUD Up and down counter
32 _16Bit_Compare 16-bit comparator
33 _32Bit_Compare 32-bit comparator (only PS416, PS4-300)
34 SSI-Encoder Absolute value encoder (only PS4-300)
30
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
35 IncEncoder Inkremental encoder (only PS4-300)
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)
31
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
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)
Reading and writing the memory card
72 ReadMC Read data from memory card
73 WriteMC Save data on memory card
74 SetMCFileLength Create and initialise data file (only PS416)
75 ReloadData Read data from memory card (only PS4-200, PS4-300)
76 SaveData Save data on memory card (only PS4-200, PS4-300)
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
32
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
83 PS_ApplicationHalt Stop the user program (only PS416, PS4-300)
84 PS_ClearKOMBit Clear "KOM" diagnostic bit (only PS416)
85 PS_Diagnostic Read diagnostic flags (only PS416, PS4-300)
86 PS_GetDateAndTime Read real-time clock (only PS416, PS4-300)
87 PS_Message Scan cycle status (only PS416)
88 PS_SwitchPosition Read switch position (only PS416, PS4-300)
89 CPUDataExchange Exchange data between PLCs (only PS416)
90 ColdstartRetention Definition of cold start retentive marker area (only PS416)
91 ReadDirect Direct reading from digital inputs (only PS416)
92 WriteDirect Direct writing to digital outputs (only PS416)
93 ReadAnalogDirect Direct reading from analog inputs (only PS416)
94 WriteAnalogDirect Direct writing to analog outputs (only PS416)
95 ReadCounterDirect Direct reading from counter inputs (only PS416)
OS system function block
96 PS_ReadOSInfo Scan operating system information
Referências Bibliográficas
MOELLER. Training Guide Sucosoft S 40 Programming Software. Alemanha: 2a ed. Jul. 1998, 140 p.
33
Centro Federal de Educação Tecnológica de São Paulo
Prof. Eng.M.Sc. d'Avila
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.
presid adm finan mark saída
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
A partir da tabela da verdade podemos construir o mapa de Veitch-Karnaugh
S = ( P . A ) + ( P . M ) + ( P . F ) + ( F . A . M ) aplicando a propriedade distributiva
S = P . ( A + F + M ) + ( A . F . M )