Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
M 3~
230 VAC
G~
Sada
PLC
Rel
+
Detector de entrada
Para que serve a linguagem de programao? O funcionamento de um autmato programvel determinado por um programa armazenado na sua memria. Esse programa uma sucesso de instrues que o autmato vai realizar e que pode ser escrito em vrias linguagens como a linguagem em diagrama de contactos e a linguagem em lista de instrues. Linguagens de programao Vamos aplicar as linguagens de programao referidas anteriormente a um exemplo de um circuito elctrico muito simples:
a s
A linguagem em diagrama de contactos (Ladder Diagram LD) permite escrever as instrues do programa do autmato sob forma grfica. . s
a
Este tipo de linguagem de programao utilizado na maioria dos autmatos pelo facto de apresentar semelhana com os esquemas de rels utilizados nos automatismos industriais de lgica cablada. A linguagem em lista de instrues (Instruction List IL) permite escrever um programa sob forma de linhas de programas. Cada linha de programa uma instruo que o autmato compreende. Linhas do programa 0 1 2 Instruo Load Or Out (mnemnicas) LD OR OUT Operando a b s
Autmatos programveis
Pgina 2 de 25
ESCOLA SECUNDRIA CARLOS AMARANTE As instrues, sob a forma de mnemnicas, variam ligeiramente conforme o fabricante do autmato. As variveis de entrada a, b e de sada s sero substitudas pelos cdigos referentes s entradas e sadas dos respectivos autmatos.
Dispe de 20 E/S (12 entradas e 8 sadas). Os dois primeiros dgitos indicam o canal de E/S (00 entradas e 01 sadas) e os dois ltimos a E/S a utilizar (00 a 11 nas entradas e 00 a 07 nas sadas). As entradas vo desde 0000 a 0011 As sadas vo desde 0100 a 0107 Alimentao do autmato 100 - 240 VAC 50 Hz/60Hz 60 VA Entradas 24 VDC 7 mA Sadas 24 VDC/250 VAC 2 A Max.
Autmatos programveis
Pgina 3 de 25
Modos de operao PROGRAM Utiliza-se este modo para escrever/editar o programa. MONITOR Este modo usado na fase de teste e afinao do programa. RUN O autmato executa o programa. Funes das teclas Teclas numricas (cor branca) Tecla CLR clear (cor vermelha): Tecla usada para cancelar a operao em curso e para limpar o ecr. Teclas operativas (cor amarela): Teclas usadas na edio do programa. SRCH: Procurar instrues. MONTR: Visualizar estado ou valores de variveis (monitorizao). EXT: Visualizar, em simultneo, 3 canais (palavras) consecutivos no ecr. CHG: Em modo Monitor, permite alterar valores. INS: Inserir instrues. DEL: Apagar instrues. WRITE: Validar as linhas do programa. e : Deslocar o cursor para cima e para baixo.
Autmatos programveis
Pgina 4 de 25
Teclas de instrues (cor cinzenta) SHIFT: Para aceder indicao superior das teclas. FUN: Seleccionar uma funo com cdigo numrico. CNT: Contador. TIM: Temporizador. CH: Especifica um canal (palavra) da rea de memria do autmato. CONT: Especifica um bit (contacto). SFT: Registo de deslocamento. #: Especifica uma constante numrica. *: Especifica um endereamento indirecto.
Escrever o programa 1. Seleccionar o modo Program; 2. Premir a tecla CLR at se obter a primeira linha do programa 0000; 3. Escrever o programa em lista de instrues, linha a linha, validando cada linha com a tecla WRITE. A linha do programa incrementada automaticamente; 4. Terminar obrigatoriamente o programa com a instruo END FUN (01).
Inserir instrues (modo Program) 1. Posicionar-se na linha de instruo posterior instruo a inserir; 2. Escrever a instruo e premir a tecla INS; 3. Premir a tecla para validar a nova instruo.
Apagar instrues (modo Program) 1. Posicionar-se na linha de instruo que se pretende apagar; 2. Premir a tecla DEL; 3. Premir a tecla para validar a instruo.
Autmatos programveis
Pgina 5 de 25
Operadores lgicos elementares Exerccio n1 Operador E (AND) Descrio: Circuito srie Pretende-se que a sada 0100 esteja activa (ON), quando e s quando a entrada 0000 esteja activa (ON) e a entrada 0002 esteja tambm activa (ON).
0000 0100
0002
NOTAS: LD Load Inicia uma linha lgica ou bloco lgico. AND Ligao srie de contactos abertos. OUT Instruo de sada de linha.
Autmatos programveis
Pgina 6 de 25
ESCOLA SECUNDRIA CARLOS AMARANTE obrigatrio terminar qualquer programa com a instruo END, acessvel na consola de programao por FUN (01).
Exerccio n2
Operador E (AND)
Descrio: Circuito srie Pretende-se que a sada 0100 esteja activa (ON), quando e s quando a entrada 0000 esteja activa (ON) e a entrada 0001 esteja inactiva (OFF).
Diagrama de contactos:
Lista de instrues:
Autmatos programveis
Pgina 7 de 25
ESCOLA SECUNDRIA CARLOS AMARANTE Para obter o operador AND NOT necessrio premir sucessivamente as teclas AND e NOT da consola de programao.
Exerccio n3
Operador OU (OR)
Descrio: Circuito paralelo Pretende-se que a sada 0100 esteja activa (ON), quando a entrada 0000 esteja activa (ON) ou a entrada 0001 esteja activa (ON).
Diagrama de contactos:
(0000)
(0001)
(0100)
Lista de instrues:
0000 0100
0001
Autmatos programveis
Pgina 8 de 25
ESCOLA SECUNDRIA CARLOS AMARANTE NOTA: OR Ligao paralelo de contacto aberto. Exerccio n4 Descrio: Circuito paralelo srie Pretende-se comandar o arranque e a paragem de um motor assncrono trifsico, atravs de dois botes S1 (arranque) e S0 (paragem). A aco sobre o boto S1, leva ao arranque do motor, mantendo-se nessa situao at uma ordem de paragem por aco no boto S0. Comandar o contactor de potncia, atravs da sada 0101.
Diagrama de contactos:
Lista de instrues:
Autmatos programveis
Pgina 9 de 25
NOTAS: A manuteno do estado de ligado, mesmo quando o boto S1 regressa posio de aberto, torna-se possvel graa auto-alimentao promovida pelo bit de sada (0101). O nmero de sada OUT fixo, pelo que no se pode repetir um mesmo nmero de sada, no entanto, o nmero de contactos associados a cada uma das sadas (tanto abertos como fechados) ilimitado. Exerccio n5
Descrio: Pretende-se implementar no autmato, a seguinte expresso booleana: S = (A . B + A ). C Arbitrariamente, associaremos a cada uma das trs variveis de entrada A, B e C, as entradas, 0000, 0001 e 0002 e a sada 0105.
Diagrama de contactos:
0000
0001
0002
S C
0105
A
0000
Lista de instrues:
Nmero de linha
Cdigo de operao
Operando
Autmatos programveis
Pgina 10 de 25
O nmero de contactos abertos ou fechados que se podem utilizar num programa por cada uma das entradas ilimitado, isto , pode-se repetir o mesmo nmero de contacto (aberto ou fechado) quantas vezes quisermos. Blocos Lgicos Instruo OR LD Exerccio n 6 Descrio: Pretende-se implementar no autmato, a seguinte expresso booleana: S = (A . B + A . B). C Arbitrariamente, associaremos a cada uma das trs variveis de entrada A, B e C, as entradas 0000, 0001 e 0002 e a sada 0105.
Diagrama de contactos:
0000
0001
0002
S C
0105
A
0000
B
0001
Lista de instrues:
Nmero de linha
Cdigo de operao
Operando
Autmatos programveis
Pgina 11 de 25
NOTAS: Um bloco lgico inicia-se sempre com a instruo LD. A instruo OR LD permite realizar o paralelo de dois blocos lgicos, ou seja, permite realizar um OR lgico entre dois blocos.
Exerccio n 7
Diagrama de contactos:
Lista de instrues:
Autmatos programveis
Pgina 12 de 25
Nmero de linha 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 NOTAS:
Cdigo de operao LD AND NOT LD NOT AND NOT OR LD LD AND OR LD OUT END
Um bloco lgico inicia-se sempre com a instruo LD. A instruo OR LD permite realizar o paralelo de dois blocos lgicos, ou seja, permite realizar um OR lgico entre dois blocos. Blocos Lgicos Instruo AND LD
Exerccio n 8
Lista de instrues:
Autmatos programveis
Pgina 13 de 25
Nmero de linha 0000 0001 0002 0003 0004 0005 0006 0007 0008
NOTAS: Um bloco lgico inicia-se sempre com a instruo LD. A instruo AND LD permite ligar em srie dois blocos lgicos, ou seja, permite realizar um AND lgico entre dois blocos.
Em circuitos lgicos com alguma complexidade, e uma vez que este modelo de autmato no faz uso de parntesis, utilizam-se instrues AND LD e OR LD que associam blocos lgicos.
Lista de instrues:
Autmatos programveis
Pgina 14 de 25
Nmero de linha 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009
Cdigo de operao LD NOT AND LD AND LD NOT AND OR LD AND LD OUT END
NOTAS: Um bloco lgico inicia-se sempre com a instruo LD. A instruo OR LD permite realizar o paralelo de dois blocos lgicos, ou seja, permite realizar um OR lgico entre dois blocos. A instruo AND LD permite ligar em srie dois blocos lgicos, ou seja, permite realizar um AND lgico entre dois blocos. Blocos Lgicos Instrues OR LD e AND LD Exerccio n 10 Diagrama de contactos:
Lista de instrues:
Autmatos programveis
Pgina 15 de 25
Nmero de linha 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 NOTAS:
Cdigo de operao LD NOT LD LD AND OR LD AND LD LD NOT AND OR LD LD NOT AND OR LD OUT END
Operando 0000 0001 0002 0003 0004 0005 0006 0007 0101
Um bloco lgico inicia-se sempre com a instruo LD. A instruo OR LD permite realizar o paralelo de dois blocos lgicos, ou seja, permite realizar um OR lgico entre dois blocos. A instruo AND LD permite ligar em srie dois blocos lgicos, ou seja, permite realizar um AND lgico entre dois blocos. Blocos Lgicos Instruo OR LD
Exerccio n 11
Note que este diagrama de contactos equivalente ao do exerccio anterior. Com este novo diagrama, consegue-se um programa mais curto e mais rpido na execuo.
Diagrama contactos:
de
Autmatos programveis
Pgina 16 de 25
Lista de instrues:
Nmero de linha 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011
Cdigo de operao LD AND OR AND NOT LD NOT AND OR LD LD NOT AND OR LD OUT END
Operando 0002 0003 0001 0000 0004 0005 0006 0007 0101
Descrio: No diagrama abaixo, vo usar-se os bits temporrios TR 0 e TR 1, para guardar as condies de execuo nos pontos de ramificao.
Diagrama de contactos:
Autmatos programveis
Pgina 17 de 25
Lista de instrues:
Nmero de linha 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013
Cdigo de operao LD AND OUT TR 0 AND OUT TR 1 AND OUT LD TR 1 AND OUT LD TR 0 AND OUT END
Operando 0000 0001 0002 0003 0100 0004 0101 0005 0102
NOTA: Os bits de memria temporrios (TR) servem para guardar temporariamente o estado lgico de ns de circuitos com vrias ramificaes para as sadas. Instrues DIFU, DIFD e KEEP Exerccio n 13 Descrio:
230 VAC
Autmatos programveis
Pgina 18 de 25
Diagrama de contactos:
(S0)
Lista de instrues:
Nmero de linha Cdigo de operao Operando
(K) (S1)
Set Reset
NOTAS: As instrues DIFU, DIFD e KEEP obtm-se atravs das funes FUN(13), FUN(14) e FUN(11). DIFU: (Differentiate Up) Na transio 0 1 de um bit gerado o valor lgico 1. DIFD: (Differentiate Down) Na transio 1 0 de um bit gerado o valor lgico 1. KEEP: Permite atravs das suas entradas de controlo, manipular o estado de um bit biestvel. O estado lgico deste bit determinado por duas condies lgicas: uma set e outra reset. O bit programado vai a1 se a condio set for momentaneamente a On; o bit vai a 0 se a condio reset for momentaneamente a On. Instruo DIFU
Autmatos programveis
Pgina 19 de 25
Exerccio n 14
Descrio: Pretende-se que sempre que se pressionar um boto de presso P (entrada 0000) a lmpada L (sada 0105) acenda se estiver apagada ou apague se estiver acesa.
Diagrama de contactos:
0105
1000 0105
0105
1000
0000
DIFU 1000
Lista de instrues:
Nmero de linha 0000 0001 0002 0003 0004 0005 0006 0007 0008
Autmatos programveis
Pgina 20 de 25
ESCOLA SECUNDRIA CARLOS AMARANTE Exerccio n 15 Temporizao operao (ao trabalho) Descrio: O temporizador activado quando a sua condio de execuo fica ON e reinicializado quando esta fica OFF. Uma vez activado, a instruo TIM mede o tempo em intervalos de 0.1 segundo a partir do valor de SV (set value). Se a condio de execuo se mantiver ON durante um perodo de tempo suficiente para que o tempo diminua at zero, a sada utilizada ser posta ON e assim permanecer at reinicializao do temporizador. (isto , at que a condio de execuo passe a OFF). Diagrama temporal
Sada
No exemplo da figura, a sada 0100 ficar ON, 5 segundos aps a aco sobre a entrada 0001. Diagrama de contactos:
Lista e instrues:
Autmatos programveis
Pgina 21 de 25
Para que o contacto associado ao temporizador TIM 10 feche, isto , passe de OFF a ON, necessrio que o sinal de entrada (neste caso 0001) se mantenha fechado (ON) pelo menos durante o tempo da temporizao (neste caso 5 segundos).
Temporizao desoperao (ao repouso) Descrio: A sada 0100 fica ON quando activada a entrada 0004, sendo desactivada 5 segundos aps. Diagrama temporal
Sada
Diagrama de contactos:
Lista de instrues:
Autmatos programveis
Pgina 22 de 25
END
Instruo de Temporizao (TIM) Exerccio n 17 Temporizao operao e desoperao Descrio: A sada 0100 fica ON, 3 segundos depois de activada a entrada 0003, sendo desactivada 5 segundos aps ter sido activada a entrada 0003. Diagrama temporal
Sada 0100 2
Diagrama de contactos:
Lista de instrues:
Nmero de linha
Cdigo de operao
Operando
Autmatos programveis
Pgina 23 de 25
LD TIM 20 # 0030 LD TIM 10 # 0050 LD TIM 20 OR AND NOT TIM 10 OUT END
NOTA: Se for um temporizador TIMH o tempo expressa-se em milsimas de segundo. Instruo CNT (Contadores) Exerccio n 18 A Descrio: Os contadores (CNT) dispem de duas entradas, respectivamente entrada de impulsos para decrementao A e de reposio ou de reset R. CNT R
N SV
A CNTR Se o contador for reversvel (CNTR), dispe de outra entrada B de impulsos para incrementao. B R Diagrama de contactos:
0001
N SV
0002
CNT40 #10
CNT40 0100
Lista de instrues:
Nmero de linha
Cdigo de operao
Operando
Autmatos programveis
Pgina 24 de 25
Por cada impulso OFF-ON na entrada A (0001 no exemplo) o valor SV (10 no exemplo) decrementado de uma unidade desde o valor pr-seleccionado at zero, fechando o contacto (CNT40 no exemplo) associado ao contador. Um impulso na entrada de reset R coloca o valor SV no valor inicial.
Autmatos programveis
Pgina 25 de 25