IST/DEM
Laboratrios de Automao Industrial
Caldas Pinto
Laboratrio de Automao Industrial IST/DEM i
ndice
1 Introduo ............................................................................................................................. 3
1.1 Motivao ...................................................................................................................... 3
1.2 Laboratrios de Automao Industrial .......................................................................... 3
1.2.1 Laboratrio virtual/remoto ................................................................................... 4
1.2.2 Laboratrio presencial .......................................................................................... 6
1.3 Organizao deste documento ..................................................................................... 6
2 Instalao da VPN e Teste do Painel Web ............................................................................. 8
2.1 Ligao VPN do LV/R .................................................................................................. 8
2.2 Teste do painel web ...................................................................................................... 9
2.3 Instalao e configurao do IPVIEW .......................................................................... 11
3 Instalao do programa PG5 v 2.0 ...................................................................................... 13
3.1 Introduo ................................................................................................................... 13
3.2 Processo de instalao ................................................................................................ 13
3.3 Processo de desinstalao para nova instalao ........................................................ 14
4 O meu Primeiro Programa .................................................................................................. 17
4.1 Introduo ................................................................................................................... 17
4.2 Enunciado .................................................................................................................... 17
4.3 Programao passo a passo ........................................................................................ 17
4.3.1 Configurao das pastas de trabalho .................................................................. 18
4.3.2 Configuraes do programa ................................................................................ 18
4.3.3 .................................................... 20
4.3.4 Compilao e ligao (linkagem) dos diferentes mdulos .................................. 22
4.3.5 Download do programa para o autmato .......................................................... 22
4.3.6 Implementao do programa pedido: programao de uma funo lgica ...... 24
4.3.7 Correr o programa final ....................................................................................... 27
4.3.8 Debug do programa ............................................................................................ 27
4.3.9 Sair do programa ................................................................................................. 29
5 Programao em PG5. ......................................................................................................... 30
5.1 Introduo ................................................................................................................... 30
5.1.1 Sistemas de comando lgico. Problemas combinatrios e sequenciais. ............ 30
ii Laboratrio de Automao Industrial IST/DEM
5.1.2 Linguagens de programao ............................................................................... 30
5.2 Conceitos introdutrios............................................................................................... 32
5.2.1 Variveis lgicas .................................................................................................. 32
5.2.2 Deteo de patamares e flancos em variveis lgicas ........................................ 33
5.2.3 Utilizao das instrues OUT, SET e RES............................................................ 36
5.3 Problema 1: sistema de equaes lgicas ................................................................... 37
5.4 Problema 2: contagem ............................................................................................... 40
5.4.1 Lista de Instrues: .............................................................................................. 40
5.4.2 Blocos Funcionais ................................................................................................ 41
5.4.3 Exemplo ............................................................................................................... 41
5.5 Problema 3: medida do tempo .................................................................................. 44
5.5.1 Lista de Instrues: .............................................................................................. 44
5.5.2 Blocos funcionais: ................................................................................................ 45
5.5.3 Exemplo ............................................................................................................... 45
5.5.4 Cronmetro ......................................................................................................... 46
5.5.5 Controlo duma lmpada a piscar (blinker) .......................................................... 46
5.6 Visualizao de variveis. Debug................................................................................. 47
5.6.1 Utilizao da Watch Window (WW) .................................................................... 47
6 Programao em GRAFTEC ................................................................................................. 49
6.1 Introduo ................................................................................................................... 49
6.2 A norma GRAFCET e as linguagens no sequenciais ................................................... 49
6.3 A norma GRAFCET e o GRAFTEC.................................................................................. 49
6.4 Paradigma Mestre/Escravo em GRAFTEC ................................................................... 52
6.4.1 Variveis de situao e ordens de foragem....................................................... 52
6.5 Utilizao de macros no GRAFTEC .............................................................................. 57
6.6 Observaes finais na utilizao do GRAFTEC............................................................. 57
6.7 Utilizao do GRAFCET como algoritmo para programar em linguagens no
sequenciais .............................................................................................................................. 58
ANEXO I: Ligao a uma VPN....................................................................................................... 59
ANEXO II: Mensagens de segurana do Java ............................................................................... 70
ANEXO III: Tabela de smbolos nas bancadas virtuais ................................................................. 73
ANEXO IV: Gama de endereos no PG5 2.0 ................................................................................ 75
ANEXO V: Controlo do Tapete Rolante e do Elevador ................................................................ 77
Index ............................................................................................................................................ 78
3 Laboratrio de Automao Industrial IST/DEM
1 Introduo
1.1 Motiv ao
Umas das componentes mais importantes no ensino desta Unidade curricular (UC) a
programao de autmatos programveis (AP).
Os AP devem ser considerados computadores industriais em que dada principal nfase s
cartas de interface com equipamentos, em particular cartas de entrada e de sada. Estas
podem ser lgicas recebendo ou enviando sinais binrios, ou analgicas recebendo sinais
contnuos e procedendo sua discretizao (cartas de entrada) ou enviando sinais contnuos
aps a converso digital analgica dos sinais de comando gerados no AP (cartas de sada).
Pela sua versatilidade, custo e robustez aparecem em qualquer soluo de automao no s
nas unidades industriais mas tambm em edifcios e escritrios (domtica).
Por este motivo absolutamente necessrio e que os futuros engenheiros mecnicos
adquiram bons conhecimentos deste equipamento e da sua programao.
Os autmatos SAIA, no sendo to populares como por exemplo os Siemens so na Europa,
permitem ser programados com linguagens paradigmticas da maioria das linguagens dos AP
do mercado. Tm tido desde sempre a vantagem de permitir a utilizao livre do seu software
de programao a todos os alunos durante 3 meses, tempo necessrio para a execuo dos
trabalhos.
1.2 Laboratrios de Automao Industrial
A UC de Automao industrial apoiada por dois laboratrios:
Laboratrio remoto/virtual (LR/LV) para o trabalho em casa relativo resoluo de
problemas e preparao dos trabalhos de laboratrio que fazem parte do processo de
avaliao.
Laboratrio presencial (LP) onde so demonstrados os trabalhos de laboratrio
propostos. Devido ao atual nmero de aulas laboratoriais atribudas UC este
4 Laboratrio de Automao Industrial IST/DEM
laboratrio destina-se sobretudo ao processo de avaliao de programas j escritos e
no ao seu desenvolvimento.
1.2.1 Laboratrio virtual/remoto
Laboratrio Virtual
Um laboratrio diz-se virtual se todo o equipamento controlado virtual. Ou seja so
objetos desenhados numa pgina web, a , cujos
estados dependem de comandos do computador, neste caso o AP. Por exemplo um
interruptor um objeto com dois estados, um que representa o estado ligado e o outro o
desligado.
As vantagens destes laboratrios que podem e simples
e mudar todo o equipamento corresponde apenas mudando a pgina web acessvel. Nesta UC
o painel web instalado permite reproduzir quase exatamente o equipamento disponvel no LP.
Os painis web correspondem a pginas web instaladas no prprio AP. No se destinam
apenas a criar LVs. A sua principal funo permitir uma extenso do mundo real fornecendo
interruptores e botes de presso remotos e permitindo a visualizao do estado de
instalaes reais emuladas nos painis web.
Na Fig. 1-1 est representado o painel web que vai ser usada nesta UC e que ser descrito mais
frente.
Fig. 1-1. Painel web a ser usado em Automao Industrial
Laboratrio de Automao Industrial IST/DEM 5
Na verso atual do LV existem 8 postos (ver Fig. 1-2) para utilizao dos 8 grupos de cada
turma. Cada um destes postos pode ser acedido, aps se ter feito a ligao VPN do LV (ver
cap. 2), nos seguintes endereos1:
http://192.168.77.1/bancada1.html
http://192.168.77.2/bancada2.html
http://192.168.77.8/bancada8.html
Laboratrio Remoto
Um laboratrio diz-se remoto se o seu equipamento, que real, pode ser manipulado
remotamente. Este equipamento est localmente associado a um computador ou AP que, por
sua vez, est ligado internet.
O LR instalado est ligado a 4 dos AP que tambm pertencem ao LV. Consiste em 4 postos em
que cada um constitudo por 3 cilindros e respetivos sensores e atuadores, mais um conjunto
de lmpadas. (Ver Fig. 1-2)
Fig. 1-2. Equipamento do laboratrio remoto
1 S pode aceder a estes sites com a ligao VPN do LV/R estabelecida, ver captulo 2.
6 Laboratrio de Automao Industrial IST/DEM
Apesar de estar completamente funcional e v ser usado em demonstraes, no vai ser
utilizado pelos estudantes na realizao dos trabalhos, por duas razes:
1. O equipamento existente no permite simular todo o equipamento disponvel no LP.
2. O seu funcionamento exige a disponibilidade permanente de ar comprimido, o que nas
nossas instalaes, no , infelizmente, uma certeza.
1.2.2 Laboratrio presencial
Este laboratrio est situado nas instalaes do laboratrio de Controlo, Automao e
Robtica do DEM. Nele se iro realizar 3 aulas, onde, em cada uma delas, ser avaliado um
trabalho desenvolvido no LV.
um laboratrio com 8 bancadas para grupos de 2 a 3 estudantes. Para alm de um
computador e de um AP, esto equipadas com diverso equipamento semelhante em todas.
Como, apesar de tudo, h algumas diferenas, a sua descrio exaustiva fica reservada para
documentos dedicados, um por bancada.
Na Fig. 1-3 apresentada uma fotografia de uma das bancadas deste laboratrio.
Fig. 1-3. Fotografia de uma bancada do LP
1.3 Organizao deste documento
Este documento est organizado em captulos, cada um descrevendo os procedimentos a
seguir pelos estudantes at serem completamente capazes de escrever e testar programas nos
AP. Serve tambm de apoio ao desenvolvimento dos seus prprios programas. Ou seja:
Laboratrio de Automao Industrial IST/DEM 7
Instalao da VPN que permite aceder ao LV e exemplo de uma ligao ao mesmo.
Esta ligao deve ser estabelecida no incio, ou mesmo antes, das aulas comearem
no necessitando que os grupos estejam constitudos.
Instalao do programa que permite escrever cdigo e envi-lo para os APs. Nesta UC
ser o PG5 v2.0 da SAIA.
Utilizao do painel web
Reviso de conceitos e procedimentos bsicos na escrita de programas em PG5
Em diferentes anexos ser fornecida informao relevante de apoio a ambos os
laboratrios.
Finalmente faz-se notar que muita da informao aqui veiculada deve ser complementada com
o livro de texto da disciplina e com o manual do PG5.
8 Laboratrio de Automao Industrial IST/DEM
2 Instalao da VPN e Teste do Painel
Web
2.1 Ligao VPN do LV/R
Os APs que constituem o LV/R, uma cmara web e um computador tipo PC esto ligados entre
si por protocolo ethernet, desempenhando este ltimo o papel de servidor e estando, por isso,
ligado rede internet. A rede assim definida designa-se por rede privada virtual ou
simplesmente VPN (Virtual Private Network). Sobre este conceito aconselha-se uma pesquisa
na internet, a comear pela wikipedia.
Estas redes esto protegidas por um username e uma password que preciso conhecer. No
caso do LV/R :
Username: vpn
Password: vpngcar
Com estes elementos s tem de configurar o seu computador para estabelecer a ligao.
Infelizmente no h uma configurao padro, pois depende do sistema operativo. O que se
recomenda que sejam seguidos um dos variados procedimentos disponveis na internet,
principalmente os transmitidos via youtube.
Como segunda abordagem sugerido que sigam os passos descritos no Anexo I para os
sistemas operativos mais importantes.
Aps ter configurado a sua ligao VPN do LV/R deve testar o acesso mesma de acordo
com os seguintes passos:
Clicar no shortcut para a VPN e introduzir o username e a password. (ver Fig. 2-1)
Abrir o browser e introduzir o endereo correspondente sua bancada (ver seco
anterior). Se lhe aparecer uma srie de mensagens com avisos do JAVA proceder de
acordo com o Anexo II.
Pode ainda visualizar o LR se se ligar Webcam (software recomendado IPVIEW) 2.
2 Esta ligao opcional j que no vai ser necessria. Para instalar o IPView ver seco 2.3
Laboratrio de Automao Industrial IST/DEM 9
Fig. 2-1. Ligao VPN
2.2 Teste do painel web
Os APs do LV apesar de terem uma ligao pr-determinada aos painis web neles alojados, s
correm naturalmente os programas que l forem instalados. No incio de cada semestre
(durante a 1 semana) enquanto os estudantes no tm o software PG5 instalado nos seus
computadores, no podendo assim instalar os seus prprios programas nos APs, ser posto a
correr nesses autmatos um programa de teste, que permite ilustrar a forma como
normalmente vai ser utilizado3.
Para correr este programa necessrio abrir o painel web da bancada remota que lhe foi
atribuda e cujo endereo est dado no Cap.1. Quando o fizer muito provavelmente vai obter
uma srie imensa de avisos JAVA que pode mesmo recusar-se a aceder ao endereo dado.
Para resolver o problema consulte o Anexo II deste documento.
Quando deixar de obter esta srie de avisos pode comear as suas experincias.
Os testes descritos a seguir referem os nomes dos smbolos fixados para este painel e que
esto referidos na Fig. 2-2.
PARTE 1: semforos e Luzes
Atuar o Botao0 (tipo Toggle4) OU manter atuado o Sensor de Bancada (tipo sensor de presso5)
3 O cdigo ser posteriormente fornecido de forma que os utilizadores possam repor o programa no AP
se assim o entenderem. 4 Um boto diz-se tipo Toggle quando tem duas posies estveis. Ou seja atua-se uma vez e fica numa
posio e quando se atua de novo muda a posio. Tambm se designam por botes tipo ON/OFF. 5 Um boto diz-se de presso quando uma posio corresponde ao estar atuado e a outo corresponde
ao estar desatuado. No LV atuar o boto consiste em atuar o rato sobre ele. Infelizmente no LV no se pode ter mais de um boto deste tipo atuado ao contrrio do que se passa com estes botes quando so reais.
10 Laboratrio de Automao Industrial IST/DEM
OU manter atuado o Detetor de presena OU manter atuado TapeteCdir OU manter atuado Tapete Cesq
Actua Alarme
Atuar Botao1 Acende Todas as lmpadas do semforo 1
Atuar Botao2 Acende Todas as lmpadas do semforo 2
Atuar Botao3 Acende Todas as lmpadas do semforo 3
Atuar Botao4 Acende Todas as lmpadas do semforo 4
Atuar o Botao5 OU Atuar o Botao6 OU manter atuado o Boto de Pulso Encarnado (PEnc)
Acende
Luz Encarnada (LENC)
Manter atuado o Boto de Pulso verde (PVerde)
Acende Luz Verde
Atuar ElevadorP0 OU ElevadorP1 OU ElevadorP2 OU ElevadorP3
Acende
Luz Amarela
Deslocar Roda Modifica Registo 1105 (visualizar campo de registos)
Parte 2: tapete, elevador e cilindros
Desde que o boto de start esteja ativo:
Acende-se uma luz verde e o tapete colocado em andamento (da esquerda para a direita).
detetada uma pea do tipo 1 ou 2 ou 3
os algarismos 1,2 ou 36. O tapete continua a andar. A luz verde apaga.
Se for do tipo X (X pode ser 1,2 ou 3):
O tapete para quando se atuar no sensor da direita no tapete7. Com o tapete parado: O cilindro X avana e o elevador sobe para o piso X (Cil_A X=1, ). Nesse piso fica 2s. Depois regressa ao piso 0 e ao mesmo tempo o cilindro X tambm recua. Aps o recuo do cilindro o tapete volta a rolar. A luz verde
6 No laboratrio presencial essa deteo feita por um programa de viso computacional, ou ento
modificando o mesmo registo na watch window (a estudar mais tarde) 7 No laboratrio presencial ser usualmente a palete a atuar este sensor.
Laboratrio de Automao Industrial IST/DEM 11
volta a acender.
O process start se desligue. Nesta altura o tapete deve parar e a luz verde apagar-se, mas s quando o processo em curso terminar.
O nmero de peas de cada tipo entre duas atuaes de Start colocado respetivamente nos registos 1201, 1202 e 1203, que pode ser observado no campo de visualizao de registos
Fig. 2-2. Smbolos usados no Painel Web
2.3 Instalao e configurao do IPVIEW
Utilize o software oferecido, que de utilizao livre, e proceda sua instalao.
Depois de instalado o IPview necessrio fazer a sua configurao. Antes de a fazer
necessrio ligar-se VPN.
Depois de clicar em IPView SE aparece a interface da Fig. 2-3. Seguir o seguinte procedimento:
1. Clica-se na cmara que se quer configurar. Seja a 1.
2. A seguir faz-se Input IP e introduz-se o IP da cmara: 192.168.77.12
O nome e password pedidos so os seguintes:
username: aind_gcar
pass: aifo
12 Laboratrio de Automao Industrial IST/DEM
Fig. 2-3. Configurao do IPView
Laboratrio de Automao Industrial IST/DEM 13
3 Instalao do programa PG5 v 2.0
3.1 Introduo
O PG5 o programa disponibilizado pela Saia Burgess para programao dos seus autmatos.
Infelizmente todas os fabricantes tm software prprio, todas as tentativas de normalizao
no tm ainda resultados visveis. Contudo, todas as linguagens ao dispor de cada marca
seguem paradigmas muito semelhantes e, por isso, torna-se simples programar qualquer AP,
desde que se tenha compreendido esse paradigma com um deles.
Descreve-se na seco a seguir os passos a dar na instalao do PG5 verso 2.0. Na
documentao disponibilizada est o manual desta linguagem. A sua leitura integral
vivamente recomendada embora possa apenas ser utilizado para dvidas pontuais que possam
surgir.
O pacote que vai ser instalado tem uma licena demo de 1 ms que no interessa usar. Assim
o representante em Portugal deste software, a Infocontrol, fornece uma licena de 3 meses
aos estudantes do IST. Para no terem de encetar um processo de atualizao de licenas,
sempre complicado, os estudantes devem esperar pela licena fornecida para fazer a
instalao.
3.2 Processo de instalao
Pode ser feito o descarregamento do pacote PG5 2.0 (verso 32 bits e 64 bits) diretamente do
site da Saia:
http://www.saia-support.com/en/software/pg5-controls-suite/pg5-20-current-version/pg5-
20-suite.html
Contudo para evitar variaes de verses recomenda-se que a instalao seja feita a partir do
site de apoio disciplina:
http://web.ist.utl.pt/ist11390/
Tenha em ateno os seguintes pontos:
Deve fazer a instalao como administrador
http://www.saia-support.com/en/software/pg5-controls-suite/pg5-20-current-version/pg5-20-suite.htmlhttp://www.saia-support.com/en/software/pg5-controls-suite/pg5-20-current-version/pg5-20-suite.htmlhttp://web.ist.utl.pt/ist11390/14 Laboratrio de Automao Industrial IST/DEM
Antes de instalar deve colocar a licena fornecida (FENIX ou no site de apoio) numa
pasta que saiba onde est. Desta forma, quando na instalao lhe pedirem a licena,
deve dar o caminho dessa pasta. No use a que vem por defeito no pacote pois essa
s vlida por um ms e no fcil de substituir pela nova.
Quando pedido para indicar o "path" para instalao das pastas, tanto do software
como dos projetos, deve evitar que haja espaos no caminho indicado. Ex: "PG5 2_0"
ou "PG5 Projects 2_0" , devendo ser, respetivamente, "PG5_2_0" e
"PG5_Projects_2_0".
indispensvel ter disponvel o Help do PG5. Contudo o Windows 7 (e possivelmente
o 8) no compatvel com os ficheiros hlp. A soluo instalar o programa de ajuda
do windows WinHLP32.exe que vai permitir correr este tipo de ficheiros tornando
acessvel a ajuda do SAIA.
3.3 Processo de desinstalao para nova instalao
Quando se d como licena, uma que s vlida por um ms, desinstalar o programa
normalmente no basta caso a nova licena no seja aceite. Caso isso acontea os seguintes
procedimentos costumam resultar:
Laboratrio de Automao Industrial IST/DEM 15
1) apagar a diretoria indicada depois de ter
feito o unstall
2) Na command line do Windows
correr o registry editor (regedit)
Aparece uma srie de diretorias.
no HKEY_CURRENT_USER apagar
a pasta SAIA Burgess
16 Laboratrio de Automao Industrial IST/DEM
Laboratrio de Automao Industrial IST/DEM 17
4 O meu Primeiro Programa
4.1 Introduo
Neste captulo descreve-se passo a passo os procedimentos a seguir at ter a funcionar um
programa escrito em PG5. Devem ser seguidos com rigor para que os programas no resultem
em erros incompreensveis, em painis web destrudos e noutros problemas que conduzem a
perdas de tempo.
4.2 Enunciado
O seu 1 programa vai ser uma simples implementao duma funo lgica.
Esta funo est sempre a ser lida pelo autmato (AP/PLC8) e testada sempre que se carrega
em PVerde mantendo este atuado. A funo deve usar os botes 0 a 2. Sempre que for 0 a
lmpada encarnada acende, sempre que for 1 esta lmpada apaga.
9
Para se saber que o cdigo est a ser lido deve acender-se uma luz verde enquanto PVerde
estiver atuado.
Cenrio do problema:
Configura os botes 0 a 2 (interruptores)
Atua PVerde (boto de presso) Luz Encarnada acesa ou apagada de acordo
com a configurao dos botes.
Luz Verde acesa
4.3 Programao passo a passo
Supe-se naturalmente que j tem o PG5 instalado e a ligao VPN estabelecida. Sabe
tambm a bancada que lhe foi atribuda.
8 Autmato programvel/ Programmable Logic Controller
9 Em todos os textos fornecidos sempre que se use a varivel est a pensar-se no interruptor virtual
ou fsico botaon.
18 Laboratrio de Automao Industrial IST/DEM
4.3.1 Configurao das pastas de trabalho
Seja ProgramasSaia a sua pasta de trabalho, que vai passar a usar para ter os programas
que desenvolver para o lab remoto:
FicheirosApoio.zip fornecido10.
4.3.2 Configuraes do programa
Corra o Project
manager PG5 2.0
Escolha um nome
para o projeto. Ser
criada uma pasta com
este nome
Nota: Se tiver no clipboard o path da sua pasta pode fazer o paste para o projects directory
Faa OK
Verifique as pastas
criadas no seu
computador
Para poder aceder ao painel web vai copiar
para dentro da pasta Device1 a pasta html
fornecida nos ficheiros de apoio.
Do menu criado s se
vai preocupar com os
submenus que esto
sublinhados.
Antes de prosseguir deve ligar-se VPN
Vai agora configurar o seu
autmato. Primeiro tem que
10
Estes ficheiros passaro a ser usados para todos os seus programas
Laboratrio de Automao Industrial IST/DEM 19
o escolher, atravs do IP que
indicar:
Passo 1: declarar que o
channel socket
Passo 2: introduzir o IP do
autmato que corresponde
sua bancada
192.168.77.BANCADA
e fazer OK.
(este exemplo para correr
na bancada 7)
Passo 3: Copiar para o seu
PC (upload) as
caractersticas do PLC no IP
fornecido. Selecione:
Clique em Upload
configurations.
NO FAA
ABSOLUTAMENTE MAIS
NADA11
Carregar em Download
pode ter efeitos imprevistos
e tornar o autmato
inoperacional
Note que ele vai buscar ao autmato a configurao e da ter de
estar ligado VPN
11
S um perito deve mexer nas configuraes dentro do menu fornecido, pois estas podem provocar mau funcionamento inesperado do PLC. Se quiser esclarecer algum dos pontos fale com um docente.
20 Laboratrio de Automao Industrial IST/DEM
Confirme O Upload e a
seguir feche a janela do
Device Configurator fazendo
SAVE.
Repare que o Device1 foi
alterado para o seu
autmato12
Clique em Build Options e
defina a entrada na figura ao
lado como 013.
4.3.3
Neste momento est preparado para comear a escrever/incluir files do seu programa.
As primeiras files a incluir so:
1. Smbolos usados no laboratrio nos equipamentos instalados no lab virtual: em
LV_global.sy514
2. File com o programa principal e outras files necessrias15. Neste caso inclua
main(primeiroprograma)
3. File para ligao ao painel web do autmato: tem de ser criada
Este processo descrito com mais detalhe a seguir:
12
Se no for alterado de imediato faa Device/rebuilt e mesmo dando um erro a alterao feita. 13
Esta alterao prende-se com a possibilidade dos alunos escreverem o seu nome ou nmero no painel. A sua necessidade ser revista noutra edio deste painel. 14
Aconselha-se vivamente que seja lido o cap. 5 do manual do PG5. Uma m utilizao das variveis uma causa frequente de definidos fora dos mdulos de programa introduzidos, podendo por isso ser ou no utilizados. Por isso a sua definio global e no particular a um mdulo de programa. nesta tabela que as variveis so inicializadas. 15
Este problema no vai fazer uso nem do elevador, nem dos cilindros. Por isso no preciso incluir os blocos de programa a eles associados. Contudo no pode mexer na tabela de smbolos que envolve esses elementos, pois o autmato necessita saber referir-se a eles
Laboratrio de Automao Industrial IST/DEM 21
1. Incluso de:
LV_Global.sy5
As variveis aqui
declaradas so as
definidas para o lab virtual
Se fizer F5 aparecer uma janela (SAIA Symbol Editor) com todos os
smbolos importados16. Definidos como pblicos podem passar a
ser usados nos outros mdulos17 No Anexo I
dada esta tabela e o seu significado no lab virtual18
main(MyFirstProgram).src
Para poder ligar (link) e correr o seu programa falta ter uma
program file com os blocos principais XOB 16 e COB 0 019.
Vai incluir o ficheiro fornecido, main(MyFirstProgram).src, com
estes dois blocos, o XOB 16 para eventuais inicializaes20 e
termina com a instruo EXOB e o COB 0 0 no faz nada (para j) e
termina com a instruo ECOB.
2. Ligao pg web do
autmato:
Crie uma program file do
tipo wsp e escolha um
nome para ela : seja
webserver e escreva-o em
vez de untitled 1.
Aparece de imediato a
janela21:
Deve selecionar os ficheiros apresentados22, fazer Add e depois generate. Toda a informao
que este programa precisa de saber da pgina web ficou agora inserida23.
16
O nome destes smbolos no pode ser alterado, pois tambm so usados no Painel Web. 17
Define-se como mdulo, uma file tipo Fupla, Lista de Instrues ou GRAFTEC que pode conter um ou mais blocos de programa. 18
Tem de clicar duplamente em LV_Global.sy5 se quer ver a tabela com os smbolos inicializados (ver frente) 19
Sobre o que significam estes termos ver manual do PG5 cap 7 seces 7.1 e 7.4 20
Neste programa no h inicializaes a fazer para alm das referentes s variveis do painel web 21
Se aparecer vazia porque se esqueceu de colocar a pasta html dentro da pasta device1 22
que foram previamente colocados na pasta html
22 Laboratrio de Automao Industrial IST/DEM
Neste momento j pode ligar as files includas e correr o programa no LV. O programa no far
nada mas poder ver o painel como est definido. Note que a visualizao do painel de forma
correta depende da correo dos passos anteriores. Sob este ponto de vista o autmato no
4.3.4 Compilao e ligao (linkagem) dos diferentes mdulos
Quando um programa tem vrios mdulos de cada vez que se termina o mdulo deve ser feito
Quando todos os mdulos esto terminados tem de fazer a linkagem dos diferentes mdulos
das files presentes s so ligadas as que tiverem uma seta no icon. Essa seta que quer dizer
que a file vai ser ligada, surge por defeito quando a file criada e pode ser removida clicando
no boto direito do rato.24 Resumindo:
Clicando Sobre Device1-
com o boto direito do
rato faa Rebuild all
files
H de aparecer uma
listagem como esta
4.3.5 Download do programa para o autmato
Antes de prosseguir deve certificar-se que nenhum colega est a trabalhar na sua bancada pois
o seu programa ir sobrepor-se ao dele. Para isso abra o painel web da sua bancada e
certifique-se que o seu estado livre. Se estiver ocupado entre em contacto com o USER ID
para se certificar que est a trabalhar efetivamente no painel.
23
Sai fora do mbito deste curso uma explicao mais detalhada deste tema. 24
Esta facilidade pode ser usada para ter diferentes mdulos no compatveis entre si no mesmo programa
Laboratrio de Automao Industrial IST/DEM 23
Neste momento o seu PLC ou est parado ou tem um programa a correr25. Quando l coloca o
seu programa o PLC vai parar e comear a correr o seu programa. No momento de descarregar
o programa corre o XOB 16, e tambm as variveis inicializadas nas tabelas de smbolos. Em
resumo:
Faa o download do
programa
Limite-se a clicar em
Download
Faa OK
Normalmente corre bem. Se obtiver uma resposta a dizer que no possvel estabelecer o
contacto e tiver ligado VPN, dever fazer mais umas tentativas e de seguida enviar um email
para o Eng. Camilo Cristo com conhecimento para o responsvel da UC
Clique em Go-OnLine
Carregue na seta verde
para por o programa a
correr (a bola vermelha
para o parar)
Visualize agora o painel web apresentado no autmato definido pelo IP que introduziu nas
configuraes. Neste caso fazendo:
http://192.168.77.7/bancada7.html
25
O estado normal do autmato ter um programa a correr, mas claro que o podem ter deixar parado.
http://192.168.77.7/bancada7.html24 Laboratrio de Automao Industrial IST/DEM
obtm a seguinte imagem26:
Finalmente se clicar nos interruptores e botes v que eles tm dois estados, mas nada mais
acontece pois no h qualquer conjunto de instrues nesse sentido. Repare unicamente no
estado de ocupao e no user ID. Deve escrever o seu nmero ou nome.
4.3.6 Implementao do programa pedido: programao de uma funo
lgica
Apesar de haver vrias possibilidades como, com o tempo, podero constatar, vamos seguir o
princpio de que todos os programas tm um programa principal escrito em lista de instrues
ou blocos funcionais que por sua vez vai chamar blocos de programa(PB) e blocos sequenciais
(SB)27. Neste neste vai-se usar sempre Lista de Instrues. No se esquea de por o PG5 off-
line.
Analisando a program file j includa temos :
1) Bloco de inicializao XOB 16
XOB 16 ; neste programa no h variveis adicionais a inicializar EXOB
2) Bloco cclico: COB 0 0
26
Se em vez desta imagem obtiver mensagem relativas ao Java porque no o tem bem instalado e deve ler o anexo correspondente deste documento. Se esta imagem aparecer deteriorada porque no criou o ficheiro webserver.wsp ou tem erros na tabela de smbolos globais. 27
A estudar mais tarde
Laboratrio de Automao Industrial IST/DEM 25
COB 0 0 ; o seu cdigo: ECOB
Vamos agora escrever o programa pedido28, ou seja a implementao de uma funo lgica.
Esta funo vai ser escrita em linguagem de contactos e colocada no Program Block FLogica.
Siga os seguintes procedimentos para criar esta funo:
Criar uma program file tipo
fupla que abre um editor para
linguagem de contactos e
blocos funcionais. Atribua um
nome significativo file29
Comece para definir para o
bloco um nome30.
Preencha-o de acordo com a
figura ao lado
Repare que aparece o symbol
editor em que este bloco j
vem declarado
28
No captulo a seguir explicar-se- de forma detalhada aspetos relativos programao em PG5 29
Se a file contiver um bloco nico pode dar-se a essa file o nome pensado para o bloco. Se contiver vrios dever ser sempre dado um nome significativo. 30
Haver um endereo associado mas pode omitir o nmero, que o programa atribuir um (endereo dinmico).
26 Laboratrio de Automao Industrial IST/DEM
A partir da equao dada
desenhe o circuito sem se
preocupar com as variveis
que sero colocadas a seguir
Vai agora selecionar as variveis que, estando relacionadas com o painel web, esto
declaradas em LV_Global.sy5. Abra esta tabela (faa F5) e arraste para cima dos pontos de
interrogao as variveis pretendidas. De notar que na tabela de smbolos de FLogica.fup
aparecem de imediato estes smbolos declarados (como External)
No final h-de ter uma representao grfica como a seguinte:
Faa save mas deixe a janela
aberta (pode fechar a do
symbol editor (F5)
Este bloco deve ser chamado pelo programa principal
Passos a seguir:
Abra a file main(MyFirstProgram).src
Escreva o cdigo
CPB FLogica
Quando escreve abre-se automaticamente o Symbol Editor. Selecione a deste programa
e acrescente esta varivel tabela de smbolos:
Laboratrio de Automao Industrial IST/DEM 27
Faa save e repare que este smbolo encontrado e declarado logo como External.
4.3.7 Correr o programa final
Deve agora fazer o rebuild do programa e verifique que no tem erros.
Abra o painel web da sua bancada e certifique-se que o seu estado livre. Se estiver
ocupado entre em contacto com o USER ID para se certificar que est a trabalhar
efetivamente no painel.
Faa o seu download para o autmato, coloque-se on-line e corra o programa. Estes
passos j foram explicados atrs.
Escreva o seu nmero ou nome no
Corra o programa de acordo com o cenrio.
4.3.8 Debug do programa
Este programa muito simples e por isso basta observar o painel web para garantir que
trabalha. Contudo o PG5 fornece um conjunto de ferramentas de debug31 de que se faz agora
a introduo de duas delas.
Visualizao do cdigo escrito em linguagem de contactos ou blocos funcionais (Fupla)
Nos blocos escritos nestas linguagens e no modo run (o PLC a correr o programa) as linhas
com energia aparecem a cheio32. Na figura abaixo esto ilustradas duas situaes.
(a) b)
Fig. 4-1. a bold esto os contactos atuados e as linhas com energia. Em (a) Lverde acende e em
(b) ambas as luzes acendem.
31
Este tpico completado no final do captulo seguinte 32
n com formato de lupa)
28 Laboratrio de Automao Industrial IST/DEM
Isto permite extrair informaes sobre algum mau funcionamento do programa
Utilizao da Watch Window
Clique em watch
window
H-de obter a janela ao
lado.
Ative o icon dos culos
para se verem os
estados actualizados.
Escreva por exemplo
Botao0. Se no
aparecer logo associado
um endereo porque
falhou algum passo
anterior
Quando carregar no
botao0 no painel
verifica que o valor da
flag passa de 0 para 1
Pode usar a mesma
para observar as sadas
Pode modificar uma
sada33 colocando o
valor desejado em
modify e fazendo
Download Values (seta
vermelha)
33
Certifique-se que essa varivel no usada ou o PLC est parado.
Laboratrio de Automao Industrial IST/DEM 29
Ver a luz acender no
painel
E terminou o seu programa
Pode fazer novos testes, desde que nenhum outro colega deseje utilizar a bancada.
4.3.9 Sair do programa
No painel web passe o estado de ocupao para livre.
Pode deixar o programa a correr e simplesmente colocar-se
off-line (carregar na ficha), ou pode parar mesmo o programa
(situao recomendada) carregando primeiro na bola
vermelha, antes de carregar na ficha.
Desligue-se da VPN
Sugesto: crie verses sucessivas deste programa at ser capaz de o fazer sem consultar este
documento.
30 Laboratrio de Automao Industrial IST/DEM
5 Programa o em PG5.
5.1 Introduo
Neste captulo iremos aplicar as diferentes linguagens de APs aos problemas tpicos que
iremos tratar na disciplina. Para cada um dos problemas far-se- uma abordagem o mais geral
possvel de como as diferentes linguagens do APs os implementa. Esta implementao ser
ilustrada com problemas concretos usando o PG5 2.0. So feitas algumas consideraes sobre
as instrues usadas mas, naturalmente, no se pretende substituir o manual do PG5 que deve
ser lido numa fase inicial e consultado sempre que subsistirem dvidas.
Contudo, antes de entrar nos problemas tpicos vamos rever alguns conceitos e instrues
bsicas.
5.1.1 Sistemas de comando lgico. Problemas combinatrios e sequenciais.
Muito resumidamente34 um sistema de comando diz-se combinatrio quando o valor do
estado de um conjunto de sadas depende apenas do valor do estado de um conjunto de
entradas, funo constante no tempo. Estes problemas traduzem-se em geral por um sistema
de equaes lgicas facilmente programveis em qualquer das linguagens disponveis nos APs
Por outro lado um problema diz-se sequencial quando o comportamento do sistema se
descreve por uma sucesso de estados que evoluem entre si em funo de eventos temporais
(em determinados instantes de tempo) ou fsicos (quando dada varivel lgica muda de
estado). A programao destes sistemas de comando torna-se muito mais simples se se basear
num diagrama de estados do mesmo. Na automao industrial o diagrama de estados mais
utilizado o GRAFCET.
5.1.2 Linguagens de programao
Segundo o standard internacional IEC61131 para APs, cuja 3 edio de Fevereiro de 2013,
definem-se 5 linguagens de programao, trs grficas e duas baseadas em texto.
1. Diagrama de contactos (Ladder Diagram)
2. Diagrama de blocos (Function block diagram)
34
Este tema encontra-
Laboratrio de Automao Industrial IST/DEM 31
3. Lista de instrues (Instruction list)
4. Texto estruturado (Structured text)
5. Diagrama Sequencial (Sequential function chart)
Linguagens baseadas em texto
A linguagem mais usada deste tipo a chamada Lista de Instrues35. No fundo trata-se de
uma linguagem de muito baixo nvel com instrues que permitem aceder aos dados ao nvel
do seu endereo. Contudo, a possibilidade/necessidade de processar dados como inteiros e
depois como reais conduziu necessariamente a instrues mais complexas. Neste curso, a Lista
de Instrues vai ser essencialmente usada para escrever alguns blocos de programa (rotinas)
e sobretudo para escrever o programa principal que ir ser responsvel por chamar os
diferentes blocos de programa que o constituem. As principais famlias de instrues tm
nomenclatura no muito diferente nas diferentes marcas de APs.
Texto estruturado, a outra linguagem baseada em texto, est a ser cada vez mais considerada
como opo de programao das diferentes marcas de APs.
Diferentes verses desta linguagem podem assemelhar-se ao Basic, ao Pascal ou ao C. No
existe no PG5.
Linguagens grficas
As linguagens baseadas na representao grfica de variveis e funes tiveram a sua gnese
na linguagem de contactos. Esta linguagem era a nica linguagem grfica existente nos APs
mais antigos. Permite emular circuitos eltricos com interruptores e rels a comandar a
abertura ou fecho de atuadores eltricos. Atualmente a prpria LC integra contactos e rels
36 que no iremos aprofundar.
A outra linguagem grfica baseia-se num conjunto de blocos, cada um realizando uma dada
funo. Por isso se designa por Linguagem de Blocos Funcionais. Estas funes comearam por
ser muito simples como por exemplo as correspondentes s funes lgicas. Atualmente
podem realizar funes muito complexas e parametrizveis online como, por exemplo, as
35
36
Ver no menu Binary/Ladder Diagram no ambiente Fupla.
32 Laboratrio de Automao Industrial IST/DEM
utilizadas nos sistemas AVAC37. O PG5 integra a linguagem de contactos e a dos blocos
funcionais num ambiente de programao que denomina de Fupla.
Finalmente, o Diagrama Sequencial uma linguagem baseada na representao em diagrama
de estados do sistema, em particular no GRAFCET. Os diferentes fabricantes de APs oferecem
ambientes grficos que permitem desenhar um modelo sequencial e fazer a programao para
os seus diferentes elementos38. No caso do PG5 oferecido o GRAFTEC que, como o nome
sugere, se baseia diretamente no GRAFCET. Cada dos elementos do GRAFTEC39 programado,
ou em lista de Instrues, em Linguagem de Contactos ou Blocos Funcionais.
Como foi dito acima um sistema sequencial deve comear por ser representado por um
diagrama de estados, mesmo que n Diagrama Sequencial para
o programar. O GRAFCET pode ser olhado como um algoritmo a implementar e, a partir dele,
fazer a programao na linguagem escolhida.
5.2 Conceitos introdutrios
5.2.1 Variveis lgicas
As variveis lgicas que correspondem a entradas e sadas fsicas tm necessariamente um
endereo fixo definido pelo hardware. vantajoso ser-lhes atribudo um nome para facilitar a
escrita e leitura dos programas.
Todas as restantes variveis lgicas podem ser apenas referidas explicitamente pelo nome
deixando o AP atribuir-lhes um endereo (posio ocupada na memria). o chamado
endereamento dinmico40. Contudo nalguns casos41 obrigatrio definir um endereo
esttico.
Como nas linguagens de programao de alto nvel todas as variveis usadas num dado
mdulo do programa devem ser declaradas. Deve ser definido o seu tipo e o mbito (scope).
Sero locais quando apenas definidas e usadas num mdulo, pblicas quando so definidas
nesse mdulo podendo ser usadas nos restantes e externas se so usadas no mdulo mas
37
Tanto "AVAC" como "HVAC" so siglas que significam "aquecimento, ventilao e ar condicionado" (em ingls "heating, ventilating and air conditioning"). Wikipdia. 38
O sonho do engenheiro que modela dar o modelo e ser o compilador a gerar todo o cdigo. Apesar de haver uma evoluo nesse sentido ainda est longe de poder dizer-se estar concretizado. 39
Como ser estudado, estes elementos so as etapas e as transies. 40
De notar que em todas as linguagens de programao de alto nvel o endereo atribudo de forma dinmica. 41
Ser chamada a ateno destes casos sempre que for oportuno. Na programao a ser feita nesta UC no ocorrero, com exceo das variveis definidas na tabela global de smbolos usadas no painel web.
Laboratrio de Automao Industrial IST/DEM 33
foram inicializadas noutro.42. Na Fig. 5-1 apresentada uma tabela de smbolos tpica de um
dado mdulo de programa.
Fig. 5-1. tabela de smbolos tpica
Inicializao de variveis lgicas
Uma varivel usada pela primeira vez num mdulo do programa tem de ser declarada ou como
local ou como pblica. Por qualquer motivo pode pretender-se que essa varivel tenha um
dado valor quando o programa arranca. Isso facilmente feito na tabela de smbolos onde a
varivel foi definida. Isto est explicado no manual do PG5 e ilustrado na figura abaixo para a
situao da varivel a que se atribu um endereo e a uma em que este dinmico
(a)
(b)
Fig. 5-2. Inicializao de variveis (a) estticas (b) dinmicas
5.2.2 Deteo de patamares e flancos em variveis lgicas
Como foi estudado numa varivel lgica definem-se duas regies, respetivamente as
transies ou flancos de durao terica nula, e os patamares ou condies, onde o valor da
varivel mantido constante durante um tempo mensurvel (ver Fig. 5-3)
Fig. 5-3. Elementos dum sinal lgico
42
conveniente que o estudante perca algum tempo a estudar e a manipular a tabela de smbolos de cada mdulo pois a segurana nesta manipulao permite evitar muitos problemas na compilao dos programas.