Você está na página 1de 92

LEEC / MEEC 2002-2003

Automao de Processos Industriais


Linguagens de Programao de PLCs Ladder diagram
Docentes: Prof. Paulo Jorge Oliveira Eng. Alexandre Bernardino e-mail: pjcro@isr.ist.utl.pt Tel: 21 8418053 ou 2053 (interno)

Automao de Processos Industriais

Programa da Cadeira:
Cap. 2 - Introduo aos PLCs ... Cap. 3 - Linguagens de Programao de PLCs [2 semanas] Descrio de linguagens standard (IEC-1131-3). Ladder Diagram; Instruction List; Structured Text. Ambientes de desenvolvimento. ... Cap. 4 - GRAFCET (Sequential Function Chart) [2 semanas]

Cap. 3 - Linguagens de Programao de PLCs

Linguagens de programao de PLCs (IEC 1131-3) Ladder Diagram Structured Text


If %I1.0 THEN %Q2.1 := TRUE ELSE %Q2.2 := FALSE END_IF

Instruction List
LD AND ANDN OR ST %M12 %I1.0 %I1.1 %M10 %Q2.0

Sequential Function Chart (GRAFCET) 1


(1) m

2
(2) b

Direita

3
(3) p

Carrega

4
(2) a

Esquerda

Cap. 3 - Linguagens de Programao de PLCs

Linguagens de programao de PLCs (IEC 1131-3) Ladder Diagram Structured Text


If %I1.0 THEN %Q2.1 := TRUE ELSE %Q2.2 := FALSE END_IF

Instruction List
LD AND ANDN OR ST %M12 %I1.0 %I1.1 %M10 %Q2.0

Sequential Function Chart (GRAFCET) 1


(1) m

2
(2) b

Direita

3
(3) p

Carrega

4
(2) a

Esquerda

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram

Input Instructions

Output Instructions

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Tipos de operandos:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Instrues Bsicas


Load
Contacto aberto: contacto efectuado (resultado 1) enquanto o bit de controlo est a 1. Contacto fechado: contacto efectuado (resultado 1) enquanto o bit de controlo est a 0.
P

Contacto no flanco ascendente: contacto efectuado durante um ciclo quando se detecta um flanco ascendente no bit de controlo. Contacto no flanco descendente: contacto efectuado %Q2.0 I1.0 durante um cicloquando se detecta um flanco descendente t no bit de controlo.
Q2.0

N %I1.0 P

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Instrues Bsicas


Operandos das instrues de Load

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Instrues Bsicas


Store
O resultado da funo lgica activa o enrolamento (coil) respectivo. O resultado negado da funo lgica activa o enrolamento associado. O resultado da funo lgica armazenado no rel associado (sets the latch).
%I1.0

O resultado da funo lgica limpa o estado do rel %Q2.0 I1.0 associado (resets the latch)
S
Q2.0

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Instrues Bsicas


Operandos das instrues de Store

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Notao Allen Bradley


Rels com latch e unlatch

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Instrues tipo rel Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Instrues Bsicas


AND
%I1.0 %I1.0 %Q2.0

AND do operando com o resultado da operao I1.0 lgica anterior.


t

ANDQ2.0 operando com a negao do resultado da do operao anterior.


t
P

AND do flanco ascendente com o resultado da operao anterior. AND do flanco descendente com o resultado da operao anterior.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Instrues Bsicas


OR
OR do operando com o resultado da operao lgica anterior. OR do operando com a negao do resultado da operao anterior. OR do flanco ascendente com o resultado da operao anterior. OR do flanco descendente com o resultado da operao anterior.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Instrues Bsicas


XOR

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Construo de degraus
Input Instructions Output Instructions

S se energizam as sadas cuja funo lgica de entrada tem o valor lgico verdadeiro avaliadas da esquerda para a direita e de cima para baixo (Schneider, Micro PLCs).

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Caso Geral Entradas e Sadas em paralelo, com derivaes

Nota: estudar limitaes e potencialidades do sistema de desenvolvimento com que se pretende tralhar

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Contactos imbrincados e soluo alternativa

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Contactos verticais e soluo alternativa

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Contactos verticais e soluo alternativa

Outro exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram

Rels temporizados Ou Timers

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram

Caractersticas:
Identificador: %TMi IN TON TOFF TP TB 0..63 no TSX37 para activao On delay Off delay Monoestvel 1mn (def.), 1s, 100ms, 10ms

Rels temporizados Ou Timers


%TMi IN
MODE: TON TB: 1mn TM.P: 9999 MODIF: Y

Entrada: Modo:

Base de Tempo: Q

Valor programado: %TMi.P 0...9999 (def.) tempo=TB*TMi.P Valor Actual: %TMi.V 0...TMi.P (pode ser lido ou testado) Modificao: Y/N modificao a partir de terminal

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Rels temporizados Ou Timers


Smbolos utilizados

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Modo: TP

Rels temporizados Ou Timers


%TMi IN
MODE: TP TB: 100msec TM.P: 5 MODIF: Y

Funcionamento como mono-estvel ou gerador de impulso de durao pr-programada

IN

Q
Q
500ms 500ms

TMi.P

TMi.V

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Implementao de timers no PLC-5 da Allen-Bradley:

Dois mtodos de representao alternativos...

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Funcionamento de timers no PLC-5 da Allen-Bradley

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timer on-delay

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timer on-delay com ligao sada

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timer on-delay

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timer on-delay
Solenide energizado se o interruptor estiver fechado 12 segundos

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timer on-delay
Se PB2 fr actuado liga o motor de bombagem de leo. Quando a presso subir PS1 vai detectar a subida da presso. e ligar motor principal. 15 segundos depois arranca o motor de alimentao principal.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timer programado off-delay

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timer programado off-delay

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timer programado off-delay

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de timers programados on-delay e off-delay

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Timers


Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Timers com retno

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo com timers com retno

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Timers


Exemplo: (procurar no PLC da Schneider ou discutir implementao)

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo:
SW On para iniciar Antes do motor arrancar, lubrificar 10s com leo SW off para parar. Continuar a lubrificar mais 15 segundos. Quando a bomba estiver a funcionar 3 horas, desligar o motor e acender luz piloto para avisar da necessidade de trocar o filtro. Reset disponvel para depois de trocar o filtro.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Timers em cascata

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Timers em cascata (circuito oscilatrio)

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Timers para tempos muito longos

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de um semforo

Cap. 3 - Linguagens de Programao de PLCs

Exemplo de semforos em duas direces

Cap. 3 - Linguagens de Programao de PLCs

Exemplo de semforos em duas direces

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Contadores

Aplicaes tpicas

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Contadores

Caractersticas:
Identificador: %Ci 0..31 no TSX37 0...9999 (def.) 0...Ci.P (no pode ser escrito) modificao a partir de terminal Reset Ci.V=0 Preset Ci.V=Ci.P Count Up Count Down Overrun %Ci.E=1 %Ci.V=0Done %Ci.D=1 %Ci.V=Ci.P Full %Ci.F=1 %Ci.V=9999->0

%Ci R S
CP: 9999 MODIF: Y

Valor programado: %Ci.P Valor Actual: %Ci.V E D F Sadas: >9999 Modificao: Entradas: Y/N R S CU CD E D F

CU CD

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Implementao de Contadores no PLC-5 da Allen-Bradley:

Estrutura interna

Representao

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Implementao de Contadores no PLC-5 da Allen-Bradley:


Representaes alternativas

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Up-counters

Implementao de um contador incremental ascendente e respectivo diagrama temporal

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Up-counters


Exemplo: contagem de peas

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Exemplo

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Up/down-counters

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Up/down-counters

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Up/down-counters


Exemplo:
garagem com lotao

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Contadores em cascata


Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Contadores em cascata


Exemplo:
Relgio para 24 horas

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Contadores em cascata


Exemplo:
Memorizar hora de um evento

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Encoder incremental

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Encoder incremental


Exemplo: contador usado para medir um comprimento

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de contadores usados em conjunto com timers

Funcionamento:
Aps boto de start M1 comea a funcionar. Aps 15 placas M1 pra e M2 comea a funcionar. Aps operar M2 por 5 segundos, parar. Recomear sequncia.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de contadores usados em conjunto com timers (cont.)

Funcionamento:
Aps boto de start M1 comea a funcionar. Aps 15 placas M1 pra e M2 comea a funcionar. Aps operar M2 por 5 segundos, parar. Recomear sequncia.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de contadores usados em conjunto com timers Exemplo: Funcionamento:
Aps boto de start o timer e o contador so autorizados. O contador incrementado por cada pea que processada. O timer conta 1 minuto. No final o bit de enable interrompe a contagem do contador.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Exemplo de contadores usados em conjunto com timers
Utilizar timer a comandar um contador para obter intervalos de tempo grandes.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram Contadores


Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Processamento Numrico

Funes Algbricas e Lgicas

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Processamento Numrico Funes Aritmticas

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Processamento Numrico Exemplo de uso de Funes Aritmticas

Utilizao em conjunto com varivel de sistema %S18 flag de overflow

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Processamento Numrico Funes Lgicas

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Processamento Numrico Exemplo de uso de Funes Lgicas

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Processamento Numrico Prioridades de Execuo de Operaes

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Estruturas de Controlo de Fluxo Sub-rotinas (imbrincadas) Chamada e retorno

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Estruturas de Controlo de Fluxo Saltos condicionais e Incondicionais

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Estruturas de Controlo de Fluxo Exemplo de uso de Saltos condicionais e Incondicionais

ATENO A LOOPS INFINITOS E ... NO BOM ESTILO DE PROGRAMAO!... Dificulta a compreenso...

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Estruturas de Controlo de Fluxo Instrues de Halt

Nota: pra todos os processos Mscaras de eventos

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Existem outras instrues mais avanadas (ver manual de referncia) Mono-estvel Registos de 256 words (LIFO ou FIFO) DRUM Programador ciclico Comparadores Shift-registers ... Funes de manipulao de floats Funes de converso de bases e de tipo

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Manipulao de Tabelas Numricos

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
No caso prtico de cada PLC existem limitaes nas matrizes de ligaes Exemplo:

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
H que ter em conta as potencialidades e limitaes das ferramentas para escrita de programas e ...

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
das ferramentas para desenvolvimento e debug de programas.

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Informao de Sistema: bits de sistema

Ver manual para os restantes 100 bits gerados...

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Informao de Sistema: words de sistema

Ver manual para as restantes 140 words...

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Estrutura de Software
Sas (LD)

MAST Master Task Program Composta por sections


Oven1 (GRAFCET) PRL (LD) Chart POST (IL)

Executada Ciclica ou Periodicamente


Cleaning (IL) Drying (LD)

SR0

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Estrutura de Software FAST Fast Task Program Prioridade Superior MAST Executada Periodicamente (1-255ms) Verificada por um Watchdog, que afecta %S11 %S31 Enables ou disables a FAST %S33 contm o tempo de execuo da tarefa FAST

Cap. 3 - Linguagens de Programao de PLCs

Ladder diagram
Estrutura de Software Event Processes Processos que reagem rpido s mudanas no exterior (16 no Micro 3722 EV0 a EV15) Prioridade Superior MAST e FAST!

Geradores de eventos
Entradas 0 a 3 do mdulo 1, em mudana transio Contadores Recepo de telegramas %S38 Enables ou disables processos por evento tambm pode ser com MASKEVT() e UNMASKEVT()