35
Disciplina: CLP Apostila n. 5

Apostila clp cefet sp

Embed Size (px)

Citation preview

Page 1: Apostila clp   cefet sp

Disciplina: CLP Apostila n. 5

Page 2: Apostila clp   cefet sp

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

Page 3: Apostila clp   cefet sp

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.

Page 4: Apostila clp   cefet sp

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

Page 5: Apostila clp   cefet sp

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

Page 6: Apostila clp   cefet sp

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.

Page 7: Apostila clp   cefet sp

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

Page 8: Apostila clp   cefet sp

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.

Page 9: Apostila clp   cefet sp

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

Page 10: Apostila clp   cefet sp

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

Page 11: Apostila clp   cefet sp

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

Page 12: Apostila clp   cefet sp

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

Page 13: Apostila clp   cefet sp

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

Page 14: Apostila clp   cefet sp

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.

Page 15: Apostila clp   cefet sp

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

Page 16: Apostila clp   cefet sp

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

Page 17: Apostila clp   cefet sp

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.

Page 18: Apostila clp   cefet sp

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

Page 19: Apostila clp   cefet sp

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

Page 20: Apostila clp   cefet sp

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

Page 21: Apostila clp   cefet sp

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

rof

escobrindo 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

Page 22: Apostila clp   cefet sp

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

Page 23: Apostila clp   cefet sp

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.

Page 24: Apostila clp   cefet sp

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

Page 25: Apostila clp   cefet sp

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.

Page 26: Apostila clp   cefet sp

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

Page 27: Apostila clp   cefet sp

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

Page 28: Apostila clp   cefet sp

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

Page 29: Apostila clp   cefet sp

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.

Page 30: Apostila clp   cefet sp

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

Page 31: Apostila clp   cefet sp

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)

Page 32: Apostila clp   cefet sp

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)

Page 33: Apostila clp   cefet sp

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

Page 34: Apostila clp   cefet sp

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.

Page 35: Apostila clp   cefet sp

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 )