Você está na página 1de 89

6.

LINGUAGENS DE PROGRAMAO
CONCEITO Um programa formado por uma srie de instrues que o usurio desenvolve para fazer com que o CLP comande as aes de sada em funo das variveis de entrada A NORMA IEC 61131-3 padroniza diversos aspectos relativos programao de CLPs, como os tipos de dados e as linguagens de programao.

6. LINGUAGENS DE PROGRAMAO
TIPOS DE DADOS
Tipo IEC SINT INT DINT LINT USINT UINT UDINT ULINT INTEIROS Descrio Short integer Integer Double integer Long Integer Unsigned short Integer Unsigned integer Unsigned double integer Unsigned long integer Bits 8 16 32 64 8 16 32 64 Faixa -127 a +127 -32768 a 32767 31 31 -2 a 2 -1 63 63 -2 a 2 -1 0 a 256 0 a 65535 32 0 a 2 1 64 0 a 2 1

Tipo IEC REAL LREAL

PONTO FLUTUANTE Descrio Bits Real 32 Long Real 64


DURAO/TEMPO Descrio Bits Dependente de Durao do Tempo implementao

Faixa 38 10 308 10

Tipo IEC TIME

Uso Armazenar a durao do tempo aps evento

6. LINGUAGENS DE PROGRAMAO
TIPOS DE DADOS
Tipo IEC DATE TIME_OF_DAY DATE_AND_TIME DATA E HORA Descrio Bits Depende de Data Absoluta implementao Depende de Time of Day implementao Depende de Data e time of day implementao Uso Armazenar datas de calendrio Armazenar relgio de tempo real Armazenar datas e time of day

Tipo IEC STRING

Descrio String de caracteres

STRING Bits Depende de Implementao

Uso Armazenar texto

Tipo IEC BOOL BYTE WORD DWIRD LWORD

CADEIA DE BITS Descrio Bits Bit string de 1 bit 1 Bit string de 8 bit 8 Bit string de 16 bit 16 Bit string de 32 bit 32 Bit string de 64 bit 64

Uso Estados lgicos Informao biria Informao biria Informao biria Informao biria

6. LINGUAGENS DE PROGRAMAO (IL) LISTA DE INSTRUES


LISTA DE INSTRUES (IL) Textual Baixo Nvel Pouco Legvel INSTRUO=OPERADOR(opo modificadores)+OPERANDOS (constantes, variveis) O operando o dado a ser manipulado pelo operador. As operaes so feitas utilizando o acumulador, sendo que o resultado de cada operao armazenado no prprio acumulador.

6. LINGUAGENS DE PROGRAMAO (IL) LISTA DE INSTRUES


OPERADORES LD ST ADD MODIFICADORES N Negao do operador C Condicional do operador ( Adiamento de operao (*carrega operando para o acumulador*) (*carrega o acumulador para o operando*) (*soma operando ao acumulador*)

6. LINGUAGENS DE PROGRAMAO (IL) LISTA DE INSTRUES


RESUMO
Operador LD ST S R AND OR XOR ADD SUB MUL DIV GT GE EQ NE LE LT JMP CAL RET ) Modificador N N N,( N,( N,( N,( ( ( ( ( ( ( ( ( ( ( C,N C,N C,N Operando Qualquer Varivel Qualquer Varivel Varivel Booleana Varivel Booleana Varivel Booleana Varivel Booleana Varivel Booleana Qualquer Varivel Qualquer Varivel Qualquer Varivel Qualquer Varivel Qualquer Varivel Qualquer Varivel Qualquer Varivel Qualquer Varivel Qualquer Varivel Qualquer Varivel Label Funo Comentrios Acumulador = Operando Operando = Acumulador Operando = TRUE Opernado = FALSE E Booleano OU Booleano OU EXCLUSIVO Booleano Adio Subtrao Multiplicao Diviso Comparao Maior que Comparao Maior ou Igual Comparao Igual Comparao Diferente Comparao Menor ou Igual Comparao Menor que Salto para Label Chama Funo Retorno da Funo Executa o ltimo operador adiado

6. LINGUAGENS DE PROGRAMAO (IL) LISTA DE INSTRUES


Operao de Soma LD ADD 10 10 (*acumulador = 10*) (*acumulador = 20*)

Operao Booleana LD AND ST %I0.0 %I0.1 (*acumulador = estado da entrada 0*) (*acumulador = entrada 0 AND entrada1*)

%Q0.1 (*sada 0 = acumulador*)

6. LINGUAGENS DE PROGRAMAO (IL) LISTA DE INSTRUES


Execuo Adiada Algumas instrues permitem o uso do modificador parntesis ( para adiar reultador intermedirios sem alterar o acumulador: LD ADD MUL( SUB ) Resultado = (A+B)*(A-B) A B A B (*acumulador = A*) (*acumulador = A+B*) (*Adia a multiplicao, acumulador = A*) (*acumulador = A-B*) (*multiplica o resultado por A+B*)

6. LINGUAGENS DE PROGRAMAO (IL) LISTA DE INSTRUES


Var

Exemplo Prtico

X1, X2, Y1, Y2, temp : REAL; resultado = SQRT((X2-X1)* (X2-X1)+ (Y2-Y1)* (Y2-Y1)) : REAL; End_Var LD SUB ST MUL ADD( SUB ST MUL Y2 Y1 temp temp X2 X1 temp temp temp SQRT(temp) resultado 10 DESLOCA alarme (*acumul=Y2*) (*acumul=Y2-Y1*) (*temp=acumul*) (*acumul= temp^2*) (*adia a soma, acumul=X2*) (*acumul=X2-X1*) (*temp=acumul*) (*acumul= temp^2*) (*executa a soma adiada dos quadrados*) (*temp=acumul*) (*chama funo raiz quadrada*) (*resultado=acumul*) (*testa se resultado>10*) (*chama subrotina se verdadeiro*) (*alarme = TRUE*) (*retorna ao programa sem alarme*) RET (*retorna sem alarme*)

Y2

P2

Y1

P1 X1 X2

) ST CAL ST GT JMPC S RET DESLOCA:

6. LINGUAGENS DE PROGRAMAO (IL) LISTA DE INSTRUES


Exerccio: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Rel Trmico -Um contator para acionamento do motor

6. LINGUAGENS DE PROGRAMAO (IL) LISTA DE INSTRUES


Soluo Exerccio: 1. Definir as Entradas 2. Definir as Sadas 3. Enderear as Entradas 4. Enderear as Sadas 5. Escrever Programa 6. Testar

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


DIAGRAMA DE BLOCOS (FBD Function Block Diagram ) Totalmente grfica Aplicaes mistas de lgica combinacional, temporizao, contagem e, em menor importncia, o sequenciamento de operaes. Baseada em funo de fluxo de sinais entre a interligao dos elementos da linguagem, que so os blocos funcionais.

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


Representao Grfica O Bloco Funcional representado graficamente por um retngulo com pinos de entrada do lado esquerdo e pinos de sada do lado direito. A funo do bloco indicada na parte superior interna ao retngulo. Os parmetros so descritos ao lado de cada pino no interior do bloco.
FUNO

PARMETROS DE ENTRADA

PARMETROS DE SADA

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


A AND S B B 0 1 0 1 A 0 0 1 1

S E Lgico

MAPA DE SINAIS

OR S

S OU Lgico

MAPA DE SINAIS

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


NOT A S A 0 1

OU Lgico

MAPA DE SINAIS

0 A XOR S B B 0 A

S OU EXCLUSIVO Lgico

MAPA DE SINAIS

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


Exemplo: S = ((A+B)*C)*D

D C A OR AND

AND S

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


blocos de temporizao RETARDO NA ENERGIZAO

RETARDO NA ENERGIZAO IN TON BOOL Q IN Q BOOL PT IN Q

TIME

PT

ET

TIME

ET

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


blocos de temporizao RETARDO NA DESENERGIZAO

RETARDO NA DESENERGIZAO IN TOF BOOL IN Q BOOL Q PT TIME PT ET TIME ET PT

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


blocos de contagem CONTADOR CRESCENTE
CONTADOR UP CTU BOOL CU Q BOOL

BOOL

CU: ENTRADA PULSOS R : RESET PV: VALOR REFERNCIA Q : SADA CV : VALOR DA CONTAGEM

INT

PV

CV

INT

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


blocos de contagem CONTADOR DECRESCENTE

CONTADOR DOWN CTD BOOL CD Q BOOL

BOOL

LD

CD: ENTRADA PULSOS LD : LOAD (CV:=PV) PV: VALOR REFERNCIA Q : SADA CV : VALOR DA CONTAGEM

INT

PV

CV

INT

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


blocos especiais RELGIO DE TEMPO REAL
RELGIO DE TEMPO REAL

RTC BOOL RUN Q BOOL

DATE_AND_TIME

PDT

CDT

DATE_AND_TIME

RUN : ATIVAR=1 PDT : HORA ATUAL Q : SADA CDT : HORA DE REFERNCIA

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


Composio de Blocos

PTIO

CORREIA 1 CORREIA 2

SIST_ALIM_SILOS PROCESS_START PROCESS_STOP Motor 1 STD_BY Motor 2 STD_BY Motor 3 STD_BY EMERG_STOP SILO_CHEIO SILO_VAZIO Motor_1 START Motor_2 START Motor_2 START Motor_1 STOP Motor_2 STOP Motor_2 STOP

CORREIA 3 NVEL-MX SILO NVEL-MIN

6. LINGUAGENS DE PROGRAMAO (FBD) BLOCOS


Exerccio: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Rel Trmico -Um contator para acionamento do motor

6. LINGUAGENS DE PROGRAMAO (LD) LADDER


DIAGRAMA LADDER (LD LADDER Diagram ) Totalmente grfica ; Evoluram dos diagramas de contatos eltricos; Baseada em funo de fluxo de sinais entre a interligao dos elementos da linguagem; Mais Difundida

6. LINGUAGENS DE PROGRAMAO (LD) LADDER


Analogia com diagrama de contatos

Fonte da Figura: Schneider-Electric, Twido Software Manual

6. LINGUAGENS DE PROGRAMAO (LD) LADDER


Analogia com diagrama de contatos Utiliza smbolos equivalentes aos eltricos representando as mesmas funes. A figura abaixo mostra a equivalncia dos principais smbolos.
SMBOLO ELTRICO SMBOLO LADDER

CONTATO NORMALMENTE FECHADO - NF

CONTATO NORMALMENTE ABERTO - NA

DISPOSITIVO DE SADA BOBINA

6. LINGUAGENS DE PROGRAMAO (LD) LADDER


Representao Grfica

6. LINGUAGENS DE PROGRAMAO (LD) LADDER

6. LINGUAGENS DE PROGRAMAO (LD) LADDER


Representao Grfica

varredura

contatos blocos funcionais

bobinas

barramento energizado

barramento de terra

6. LINGUAGENS DE PROGRAMAO (LD) LADDER

lgica AND

Fonte da Figuras: Schneider-Electric, Twido Software Manual

6. LINGUAGENS DE PROGRAMAO (LD) LADDER

lgica OR

6. LINGUAGENS DE PROGRAMAO (LD) LADDER


lgica XOR

6. LINGUAGENS DE PROGRAMAO (LD) LADDER

bloco de funo de temporizador

6. LINGUAGENS DE PROGRAMAO (LD) LADDER

bloco de funo de contador Up/Down

6. LINGUAGENS DE PROGRAMAO (LD) LADDER

bloco de funo de comparao

6. LINGUAGENS DE PROGRAMAO (LD) LADDER


bloco de funo aritmtica

6. LINGUAGENS DE PROGRAMAO (LD) LADDER

BD = Botoeira desliga (contato NF) Entrada (input) BL = Botoeira liga (contato NA) Elemento de entrada (input) K1 = Bobina do contator - Sada (output) K1.x = Contato de Selo Auxiliar (varivel interna)

6. LINGUAGENS DE PROGRAMAO (LD) LADDER


Exerccio: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Rel Trmico -Um contator para acionamento do motor

6. LINGUAGENS DE PROGRAMAO GRAFCET


GRAFCET

Grfico Funcional de Comando Etapa-Transio


Linguagem Grfica Fcil Compreenso Indicada para Processos Seqenciais

6. LINGUAGENS DE PROGRAMAO GRAFCET


Elementos Grficos
ETAPA inicial

ETAPAS TRANSIES LIGAES ORIENTADAS AES


Retorno ETAPA 0

ETAPA 0

Aes na etapa 0

1 Transio 1

Ligao orientada

ETAPA 1

Aes na etapa 1

2 Transio

ETAPA 2

Aes na etapa 2

3 Transio

6. LINGUAGENS DE PROGRAMAO GRAFCET


Etapas Correspondem aos estados do sistema. Podem estar ativas ou inativas. A elas esto associadas as aes a serem realizadas naquele estado. As etapas so representadas por um quadrado numerado no seu interior, indicando o numero da etapa. As etapas ativas so representadas com um ponto em baixo no nmero no interior do quadrado.

ETAPA 1 - Ativa

6. LINGUAGENS DE PROGRAMAO GRAFCET


Etapa inicial A etapa inicial sempre representada por um quadrado duplo; So ativadas incondicionalmente sempre que o programa colocado para funcionar; Geralmente no possuem aes associadas; Podem situar-se em qualquer ponto do Grafcet;

6. LINGUAGENS DE PROGRAMAO GRAFCET


Etapa inicial Uma vez iniciadas tm o mesmo tratamento que as outras etapas; Sempre deve existir uma etapa inicial;

ETAPA inicial
0

6. LINGUAGENS DE PROGRAMAO GRAFCET


Transies As transies so as condicionantes para as passagens entre uma etapa ativa anterior para um etapa inativa na seqncia. A condio de uma transio chamada de receptividade. Representa-se a transio com um pequeno trao horizontal sobre a linha que liga as etapas:
1

Transio
2

6. LINGUAGENS DE PROGRAMAO GRAFCET


Transies As receptividades correspondem condies que tm que ser satisfeitas para a transio se torne verdadeira ou vlida. Em geral so associadas condies lgicas booleanas, temporizadores, etc.

(Nvel_baixo*Motor_parado)
2

6. LINGUAGENS DE PROGRAMAO GRAFCET


Ligaes Orientadas As ligaes orientadas representam os caminhos de evoluo entre as etapas. So desenhadas na vertical e na horizontal. A evoluo natural de cima pra baixo sendo obrigatrio representar com uma seta quando o sentido for diferente. Deve-se evitar o cruzamento de ligaes para que o diagrama final seja o mais compreensvel possvel.

6. LINGUAGENS DE PROGRAMAO GRAFCET


Ligaes Orientadas
M0 R C0 /I0.0 I0.1

M1 I0.0

Q0.1 Q0.2 Q0.3 C0.V=10

M2 I0.0 C0.V=20 M3

Q0.2

Q0.3

I0.0+(C0.V=30)

6. LINGUAGENS DE PROGRAMAO GRAFCET


Aes As aes esto ligadas s etapas. So representadas por um retngulo com duas divises internas ligado Etapa. A primeira diviso contm o qualificador da ao e a segunda diviso contm a descrio textual da ao.

x : o qualificador da ao define como a ao ser executada y : a descrio textual da ao a ser executada

6. LINGUAGENS DE PROGRAMAO GRAFCET


Qualificadores

6. LINGUAGENS DE PROGRAMAO GRAFCET


N - Ao No Memorizada Aes que so executadas somente enquanto a Etapa estiver ativa. E6 E6
a

N M1 M1 a

E7

N M2 E7 M2

6. LINGUAGENS DE PROGRAMAO GRAFCET


S - Ao Memorizadas Tipo de ao que se mantm ativa mesmo depois da durao em que a Etapa permanece ativa. Para desativar uma ao memorizada deve-se usa o qualificador R (reset). E6
a

S M1 E6 a E7 b
b

E7

E8 E8 R M1 M1

6. LINGUAGENS DE PROGRAMAO GRAFCET


L - Ao Limitada no Tempo A ao executada durante um tempo preestabelecido pelo programa a partir da ativao da Etapa. Se a Etapa for desativada antes da finalizao do tempo programado a ao interrompe sua execuo.

E6

E6
a

L M1 (T=3s)
M1

E7

E7

6. LINGUAGENS DE PROGRAMAO GRAFCET


D - Ao com Atraso no Tempo A ao executada aos um atraso de tempo preestabelecido pelo programa, a partir do instante da ativao da Etapa. Se a Etapa for desativada antes da finalizao do tempo programado a ao interrompe sua execuo.
E6 T M1 a

E6
a

D M1 (T=3s)

E7

E7

6. LINGUAGENS DE PROGRAMAO GRAFCET


C - Ao Condicionada Este tipo de ao associado a uma condio lgica. A ao s ser executada enquanto a Etapa estiver ativa e a condio lgica verdadeira.
E6

E6
a

C M1 (se k=1)

M1

E7

a E7

6. LINGUAGENS DE PROGRAMAO GRAFCET


P - Ao Impulso A ao executada aps a Etapa ser ativada com uma durao muito pequena mas com tempo suficiente para ser reconhecida pelo programa.
E6

E6
a

P M1

M1 a

E7
E7

6. LINGUAGENS DE PROGRAMAO GRAFCET


SD Ao Memorizada e Atrasada no Tempo Quando a Etapa se torna ativa a ao memorizada mas s comea a ser executada aps o tempo preestabelecido pelo programa. Independe da durao da atividade da Etapa. Para desativar a ao deve-se usar o qualificador R (reset) para esta ao.

6. LINGUAGENS DE PROGRAMAO GRAFCET


SD Ao Memorizada e Atrasada no Tempo
E6 M1 a T

E6
a

SD M1 (T=3s)
En

En

R M1

E6 T M1 a En

6. LINGUAGENS DE PROGRAMAO GRAFCET


DS Ao Atrasada no Tempo e Memorizada Quando a Etapa se torna ativa a ao memorizada mas s comea a ser executada aps o tempo preestabelecido pelo programa. Depende da durao da atividade da Etapa. Para desativar a ao deve-se usar o qualificador R (reset) para esta ao.

6. LINGUAGENS DE PROGRAMAO GRAFCET


DS Ao Atrasada no Tempo e Memorizada
E6 M1

E6
a

DS M1 (T=3s)

a En

En

R M1

E6 T M1 a En

6. LINGUAGENS DE PROGRAMAO GRAFCET


SL Ao Memorizada e Limitada no Tempo Quando a Etapa se torna ativa a ao memorizada comea a ser executada durante o tempo preestabelecido pelo programa, Independe da durao da atividade da Etapa.

6. LINGUAGENS DE PROGRAMAO GRAFCET


SL Ao Memorizada e Limitada no Tempo
E6 T

E6
a

SL M1 (T=3s)

M1 a En E6 T M1 a En

En

R M1

6. LINGUAGENS DE PROGRAMAO GRAFCET


Regras de Evoluo do Grafcet Regra 1: inicializao Na inicializao do sistema ativa-se a etapa incial Regra 2: transposio de uma etapa Uma etapa s transposta quando a mesma est ativa e a transio imediatamente seguinte tem sua receptividade verdadeira. Regra 3: transposio de uma transio A transposio de uma transio provoca a ativao da(s) etapa(s) imediatamente seguintes e a desativao da(s) etapa(s) imediatamente precedentes.

6. LINGUAGENS DE PROGRAMAO GRAFCET


Regras de Evoluo do Grafcet
No h Transposio No h Transposio Ocorre Transposio

a=0 ou a=1

a=0

a=1

6. LINGUAGENS DE PROGRAMAO GRAFCET


Tipos de Ligaes entra Etapas Seqncia nica:
Antes Depois Depois

a=1

a=0

a=0

b=0

b=1

b=0

6. LINGUAGENS DE PROGRAMAO GRAFCET


Seqncias Alternativas: Divergncia OU:

Depois Antes

1 1

a=0

b=1

6. LINGUAGENS DE PROGRAMAO GRAFCET


Seqncias Alternativas: Convergncia OU

Antes Depois

3 7
a=0 b=1

6. LINGUAGENS DE PROGRAMAO GRAFCET


Seqncia Simultneas: Divergncia E
Antes Depois

a=1

6. LINGUAGENS DE PROGRAMAO GRAFCET


Seqncia Simultneas: Convergencia E
Antes Depois

a=1

6. LINGUAGENS DE PROGRAMAO GRAFCET


Salto de Etapas:
1

/a

6. LINGUAGENS DE PROGRAMAO GRAFCET


Repetio de Etapas:

/c

3
c

6. LINGUAGENS DE PROGRAMAO GRAFCET


Exerccio: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Rel Trmico -Um contator para acionamento do motor

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


TEXTO ESTRUTURADO:

a linguagem de mais alto nvel que tem sua sintaxe mais semelhante s linguagens de microprogramao como Pascal, C++, etc, preferida pelos desenvolvedores de softwares em geral.

Por ser estruturada de fcil legibilidade a mais indicada para aplicaes que envolvem clculos aritmticos complexos.

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


TEXTO ESTRUTURADO: Comandos: IF / THEN / ELSE / ELSIF / END_IF CASE / ELSE / END_CASE FOR ... DO WHILE ... DO REPEAT ... UNTIL Atribuies: Usado para alterar o valor armazenado em uma varivel A:=B Operadores: So usados para operaes aritmticas e booleanas.

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Operadores: So usados para operaes aritmticas e booleanas.

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Expresses So usados para operaes aritmticas e booleanas. So usadas para gerar valores de outras variveis e constantes Preo:= produto1*custo1 + produto2*custo2

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos Condicionais: IF - THEN - ELSE So utilizados para executar comandos quando a condio da expresso booleana verdadeira: IF <expresso_booleana> THEN <comandos> END_IF;

IF <expresso_booleana> THEN <comandos> ELSE <comandos> END_IF;

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos Condicionais: IF - THEN - ELSE IF <expresso_booleana> THEN <comandos> ELSEIF <expresso_booleana> <comandos> ELSE <comandos> END_IF;

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos Condicionais: IF - THEN - ELSE Exemplos:

IF sobrecarga THEN desliga:= TRUE; alarme:= TRUE; END_IF

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos Condicionais: IF - THEN - ELSE Exemplos:
IF nvel_mnimo<10 THEN Liga_bomba:=TRUE; Sinaleiro_ligado:=TRUE; Sinaleiro_deslig:= FALSE; ELSE Liga_bomba:= FALSE; Sinaleiro_ligado:= FALSE; Sinaleiro_deslig:= TRUE; END_IF

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos Condicionais: IF - THEN - ELSE Exemplos:
IF nivel < nivel_min THEN alarme_nivel_min:=TRUE; ELSIF sobrecarga=FALSE THEN liga_motor:=TRUE; ELSE alame_sobrecarga:=TRUE; liga_motor:=FALSE; END_IF

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos Condicionais: CASE
So utilizados para executar comandos em funo do valor inteiro da expresso:

CASE <expresso_inteiro> OF < valor 1> : <comandos> < valor 2> : <comandos> < valor 3> : <comandos> ELSE <comandos> END_CASE;

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos Condicionais: CASE
Exemplo: posicionamento de elevador hidrulico CASE elevao OF 1: 2: 3: 4: 5: ELSE Altura :=0; END_CASE altura :=5; altura :=10; altura :=15; altura :=20; altura :=25;

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos de Repetio: FOR...DO
So usados para comandos repetitivos em funo de uma condio. Quando se programa laos de repetio deve-se atentar para garantir que em algum momento a condio de sada seja satisfeita seno o programa ir entrar num loop infinito.

FOR <inicia a varivel> TO <valor final da varivel> BY <valor incremental> (opcional. Se omitido o valor incremental ser = 1) DO <comandos>

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos de Repetio: FOR...DO Exemplo: reset de variveis indexadas
FOR x:=0 to 120 DO Motor1[x]:=0 END_FOR

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos de Repetio: WHILE ... DO

Estes laos se utilizam quando queremos repetir um nmero indefinido de vezes a execuo de uns comandos, sempre que se cumpra uma condio. A condio da expresso booleana testada antes da entrada no lao, de modo que se a condio falsa os comandos no so executados.

WHILE <expresso booleana> DO <comandos> END_WHILE

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos de Repetio: WHILE ... DO
Exemplo: controle do giro de uma mquina

WHILE ngulo<130 DO Giro(); angulo:=angulo+pulso; END_WHILE

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos de Repetio: REPEAT...UNTIL
So laos tambm utilizados para repetio de comandos enquanto uma condio for verdadeira. A diferena aqui que os comandos so executados pelo menos uma vez porque a condio testada ao final da execuo dos comandos. O lao encerrado quando a condio se torna falsa.

REPEAT <comandos> UNTIL <expresso booleana>

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Comandos de Repetio: REPEAT...UNTIL
Exemplo: controle do giro de uma mquina

REPEAT Giro(); angulo:=angulo+pulso; UNTIL ngulo<130

6. LINGUAGENS DE PROGRAMAO TEXTO ESTRUTURADO


Exerccio: Programar uma partida e parada de um motor, sendo: -Uma botoeira com contato NA para partida do motor -Uma botoeira com contato NF para parada do motor -Um contato NF de falha do Rel Trmico -Um contator para acionamento do motor

Você também pode gostar