Você está na página 1de 79

IST/DEM

Laboratrios de
Automao Industrial

Caldas Pinto

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
2

Organizao deste documento ..................................................................................... 6

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

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

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

Incluso das Program Files base fornecidas .................................................... 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

Programao em PG5. ......................................................................................................... 30


5.1

Introduo ................................................................................................................... 30

5.1.1

Sistemas de comando lgico. Problemas combinatrios e sequenciais. ............ 30


Laboratrio de Automao Industrial IST/DEM

5.1.2
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
6

Linguagens de programao ............................................................................... 30

Utilizao da Watch Window (WW) .................................................................... 47

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

ii

Laboratrio de Automao Industrial IST/DEM

Introduo

1.1

Motivao

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

3 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 que vamos passar a chamar painel web, 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 ser equipados de forma econmica 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


4

Laboratrio de Automao Industrial IST/DEM

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

S pode aceder a estes sites com a ligao VPN do LV/R estabelecida, ver captulo 2.

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

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

Procedimentos a seguir na escrita de um programa: o meu primeiro programa

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.

Laboratrio de Automao Industrial IST/DEM

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.

Esta ligao opcional j que no vai ser necessria. Para instalar o IPView ver seco 2.3

Laboratrio de Automao Industrial IST/DEM

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.

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

Atuar Botao2

Acende

Atuar Botao3

Acende

Atuar Botao4

Acende

Todas as lmpadas do
semforo 1
Todas as lmpadas do
semforo 2
Todas as lmpadas do
semforo 3
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)

Acende

Luz Verde

Acende

Luz Amarela

Modifica

Registo 1105
(visualizar campo de
registos)

Manter atuado o Boto de Pulso verde


(PVerde)
Atuar ElevadorP0
OU ElevadorP1
OU ElevadorP2
OU ElevadorP3
Deslocar Roda

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
Se for do tipo X (X pode ser 1,2
ou 3):

colocar em Pea os algarismos 1,2 ou 36. O tapete


continua a andar. A luz verde apaga.
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_AX=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

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.

10

Laboratrio de Automao Industrial IST/DEM

volta a acender.

O processo continua com a entrada de nova palete at que o boto de 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

Laboratrio de Automao Industrial IST/DEM

11

Fig. 2-3. Configurao do IPView

12

Laboratrio de Automao Industrial IST/DEM

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/pg520-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

Laboratrio de Automao Industrial IST/DEM

13

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"

"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:

14

Laboratrio de Automao Industrial IST/DEM

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

Laboratrio de Automao Industrial IST/DEM

15

16

Laboratrio de Automao Industrial IST/DEM

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.

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.

Autmato programvel/ Programmable Logic Controller


Em todos os textos fornecidos sempre que se use a varivel
ou fsico botaon.
9

est a pensar-se no interruptor virtual

Laboratrio de Automao Industrial IST/DEM

17

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:

Coloque numa pasta l dentro (por exemplo denominada FilesApoio) o contedo de


FicheirosApoio.zip fornecido10.

4.3.2 Configuraes do programa


Corra

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

18

Laboratrio de Automao Industrial IST/DEM

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
11

NADA

Note que ele vai buscar ao autmato a configurao e da ter de


estar ligado VPN

Carregar em Download
pode ter efeitos imprevistos
e tornar o autmato
inoperacional

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.

Laboratrio de Automao Industrial IST/DEM

19

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 Incluso das Program Files base fornecidas


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.
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 erros. A palavra global associada ao nome indica que estes smbolos so
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
13

20

Laboratrio de Automao Industrial IST/DEM

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 como external. 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.
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
17

Laboratrio de Automao Industrial IST/DEM

21

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
se estraga. Siga os passos descritos a seguir.

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
o save. Esta operao deteta erros sintticos e variveis no declaradas.
Quando todos os mdulos esto terminados tem de fazer a linkagem dos diferentes mdulos
no menu Device/Rebuild all files (CTRL+F2) ou Device/Build changed files (F2). De notar que
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 Device1com o boto direito do
rato faa Rebuild all
files
H de aparecer uma
listagem como esta

Claro se tiver erros ter de os corrigir.

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.
Esta facilidade pode ser usada para ter diferentes mdulos no compatveis entre si no mesmo
programa
24

22

Laboratrio de Automao Industrial IST/DEM

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.

Laboratrio de Automao Industrial IST/DEM

23

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

24

Laboratrio de Automao Industrial IST/DEM

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


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

Laboratrio de Automao Industrial IST/DEM

25

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:

26

Laboratrio de Automao Industrial IST/DEM

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.

Abra a bancada virtual, se no estiver aberta, e verifique se o seu estado Ocupao


Escreva o seu nmero ou nome no User ID

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
32

Este tpico completado no final do captulo seguinte


frente ser mencionada a possibilidade de usar uma Prob (icon com formato de lupa)

Laboratrio de Automao Industrial IST/DEM

27

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

botao0

no

no

painel

verifica que o valor da


flag passa de 0 para 1
Pode usar a mesma
para observar as sadas

Pode

modificar
33

sada
valor

uma

colocando
desejado

modify

o
em

fazendo

Download Values (seta


vermelha)

33

Certifique-se que essa varivel no usada ou o PLC est parado.

28

Laboratrio de Automao Industrial IST/DEM

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.

Laboratrio de Automao Industrial IST/DEM

29

Programao 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-se exaustivamente tratado no livro Tcnicas de Automao

30

Laboratrio de Automao Industrial IST/DEM

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
mais elaborados36 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

Para estudar esta linguagem use o livro Tcnicas de Automao e o manual do PG5
Ver no menu Binary/Ladder Diagram no ambiente Fupla.

Laboratrio de Automao Industrial IST/DEM

31

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 no se pense usar a linguagem 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.

32

Laboratrio de Automao Industrial IST/DEM

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.

Laboratrio de Automao Industrial IST/DEM

33

Patamares
So dois os patamares definidos. Aquele que est acima e a que se chama 1, High ou
True. O outro que est abaixo chama-se 0, Low ou False. Em termos de AP detetar um
patamar por o valor lgico 1 no acumulador (accu). Esto associados expresso semntica
enquanto.
Linguagem Lista de Instrues43:
Utiliza, associadas com o nome das variveis, as instrues STH e STL. Em conjunto com outras
instrues podem ser usadas as instrues ANH, ANL, ORH, ORL44. A terminao H
corresponde a detetar o patamar 1 e a terminao L usa-se para detetar o patamar 0
Linguagem de contactos
Nesta linguagem usam-se os smbolos descritos na Fig. 5-4. A deteo corresponde
passagem de corrente num interruptor.

(a)
(b)
Fig. 5-4. (a) Deteo patamar superior (1) (b) Deteo patamar inferior (0)

Blocos funcionais
Nesta linguagem as variveis esto associadas a blocos e a entrada destes que define o
elemento do sinal que est a ser usado. Na Fig. 5-5 visualiza-se um bloco tipo AND cujas
entradas correspondem respetivamente ao patamar superior da varivel var1 e ao inferior de
var2.

Fig. 5-5. (a) Este bloco usa o patamar superior da varivel var1 e o inferior da var2

43
44

A partir deste ponto est subentendido que a implementao em PG5.


Ver o help do PG5 para maior detalhe

34

Laboratrio de Automao Industrial IST/DEM

Flancos
Os flancos podem ser ascendentes e descendentes. Definem-se tambm como eventos e
usam-se essencialmente em operaes de sincronizao, incremento ou decremento. Esto
associados expresso semntica no instante em que.
Linguagem Lista de Instrues
A deteo do flanco de uma varivel lgica em LI feita usando a instruo DYN. Esta instruo
est associada a uma flag (que pode ser dinmica). A flag serve para guardar o estado da
varivel entre cada passagem do programa pela instruo. O flanco detetado quando este
estado varia entre duas passagens consecutivas.
STH Cesq
Dyn f_temp1

A flag f_temp1 guarda o ltimo estado de Cesq. Se esse estado for 0 e o


actual for 1 h um flanco ascendente e colocado 1 no acumulador. Se esse
estado j for 1 quer Cesq continue em 1 quer passe a ser 0, colocado 0 no
acumulador.

STL Cesq

A flag f_temp1 guarda o ltimo estado de Cesq. Se esse estado for 1 e o

Dyn f_temp1

actual for 0 h um flanco descendente e colocado 1 no acumulador. Se esse


estado j for 0 quer Cesq continue em 0 quer passe a ser 1, colocado 0 no
acumulador.

Linguagem de contactos
Deteo do flanco ascendente
Deteo do flanco descendente

Linguagem de blocos funcionais


H blocos funcionais com entradas que detetam patamares e outras que detetam flancos. A
distino um tringulo preto associada associado a estas ltimas. Quando se pretende que a
entrada seja mesmo do tipo flanco, mas o bloco no a define assim, deve usar-se o bloco
auxiliar denominado Dyn45.

45

Ver manual PG5 pg. 6.15

Laboratrio de Automao Industrial IST/DEM

35

Neste bloco usado para contagem (ver frente) a entrada Up


apenas sensvel ao flanco ascendente da varivel de entrada. Ser
sensvel ao flanco descendente se estiver negada
Blocos

que

devem

respetivamente

para

ser

usados

deteo

quando

do

flanco

for

necessrio

ascendente

descendente.46

5.2.3 Utilizao das instrues OUT, SET e RES


Estas instrues manipulam o estado lgico de sadas e de flags. OUT usa-se quando a sada
depende exclusivamente do estado do acumulador, ou seja 1 com o accu a 1 e 0 com o
accu a 0. Usa-se SET e o RES quando a h um evento que origina uma sada a 1 (seja acender
uma lmpada) e outro que a coloca a 0, podendo o acumulador variar o seu estado lgico
durante esse perodo.
Quando se programa em lista de instrues:
STH a0
Enquanto a entrada a0 estiver a 1 a flag 12 est a 1.
47
Out f 12
Sth a0
No instante em que a entrada a0 passa a 1 a sada
Dyn f_temp
Cil_A colocada a 1. Esta sada colocada a 0 quando
Set Cil_A
detetado que a flag 30 passou de 0 a 1.

Sth f 30
Dyn f_temp1
Res Cil_A
Quando se programa em fupla/ linguagem de contactos
Enquanto a entrada 20 estiver a 1 a flag 12 est a 1.

Quando se programa em fupla/ linguagem de contactos:


Quando i 20 passa a 1 a sada (Cil_A) colocada a 1.
Esta sada colocada a 0 quando a flag 30 passar a 1.
Neste exemplo ilustra-se a utilizao de uma flag
esttica, dadas pelo endereo.

46

Nota: estes blocos tm no quanto inferior esquerdo um tringulo que significa que podem ser
parameterizados mesmo on-line. Ver manual do PG5 Pg 6.33
47
Com fins ilustrativos usa-se, neste exemplo, as variveis diretamente referidas pelo seu endereo
esttico. No ser, contudo, a opo mais recomendada.

36

Laboratrio de Automao Industrial IST/DEM

5.3

Problema 1: sistema de equaes lgicas

Este problema consiste na implementao de sistemas de controlo que podem ser descritos
por um conjunto de equaes lgicas. Estas em geral correspondem soluo de um problema
combinatrio48.
A sua programao vai ser feita usando as linguagens de programao estudadas. Trata-se de
um problema que corresponde ao do MeuPrimeiroPrograma
Exemplo de aplicao
A LC de utilizao muito simples. Seja o problema 2.1 da srie de problemas.
Enunciado
Considere a funo lgica S de 4 variveis dada pela seguinte expresso:

S 1 (0,3,10,13,15) d (1,2,4,8,14)
a)

Descreva esta funo atravs de um mapa de Karnaugh

b) Obtenha a expresso analtica mais simplificada como uma soma de termos

multiplicativos e implementa-a no AP em linguagem de contactos (LC). Suponha que


comanda a Luz verde do semforo 1 (Sem1V)
c)

Obtenha a expresso analtica mais simplificada como um produto de termos aditivos


e implementa-a no AP em linguagem de contactos (LC). Suponha que comanda o
Sem1A

d) Implemente a funo em blocos funcionais (BF) usando portas AND e OR. Suponha que

comanda o Sem1E
e)

Implemente a funo em blocos funcionais (BF) usando portas NAND. Suponha que
comanda o Sem2V

f)

Implemente a funo em blocos funcionais (BF) usando portas NOR. Suponha que
comanda o Sem2A

g)

Implemente em lista de instrues a funo a partir da sua expresso analtica como


uma soma de termos multiplicativos. Suponha que comanda o Sem2E.

Soluo
48

Iremos ver que nem sempre assim quando se estudarem os sistemas de comando para o
movimento linear cclico.

Laboratrio de Automao Industrial IST/DEM

37

Colocada a funo num mapa de Karnaugh ir-se- levantar as funes atravs dos seus 1 e a
partir dos seus 0.

A partir destes levantamentos escrevem-se todos os programas pedidos como vem a seguir49:

b)

c)

49

As variveis

38

sero substitudas pelas variveis BotaomBotao0

Laboratrio de Automao Industrial IST/DEM

d)

,(

d) e e)

f)
PB

Prob2_1_LI

STL Botao3
ANL Botao2

XOB 16
; inicializaes do seu programa:
EXOB

Laboratrio de Automao Industrial IST/DEM

39

OUT flag1
COB 0
0
; o seu cdigo:

STL botao2
ANL Botao0
OUT flag2
STH
ANH
ANH
OUT

botao3
Botao2
Botao0
flag3

STH
ORH
ORH
OUT

flag1
flag2
flag3
Sem2E

sth botao5
CPB H Prob2_1
CPB H Prob2_1_LI
STH Botao6
CPB H Prob2_2_LI
STL Botao6
CPB H Prob2_2_BF
; a incluir pelo menos os blocos que usar
ECOB

EPB

5.4

Problema 2: contagem

Um contador corresponde a um registo especial50 que contem um inteiro positivo, que pode
ser incrementado e decrementado. A esse registo especial est associada uma varivel lgica
que indica se o valor contido zero, ou diferente de zero e uma varivel inteira que d o valor
contido no registo. Em lista de instrues estas variveis tm o mesmo nome (o do contador) e
distinguem-se pelo contexto. Testar o contador testar o seu estado (operao lgica) ou
testar o seu contedo (operao aritmtica). Quando se trata de operaes aritmticas, o que
dito para contadores vlido para registos em geral.
Duas das situaes tpicas em que um contador pode ser usado so:
1. Contar um nmero de ocorrncias para simples visualizao e/ou para despoletar um
aviso quando um certo nmero de ocorrncias acontecer.
2. Dado um certo nmero, como o de peas a produzir, ou o da capacidade de uma
instalao, despoletar um sinal quando esse nmero for alcanado.
Vamos de seguida rever, em Lista de Instrues, e em Blocos Funcionais, como estas duas
situaes se programam no PG5.

5.4.1 Lista de Instrues:


Carregar (inicializar) um

Usar a instruo ld (que significa load) que depende do

contador com um valor

acumulador (accu)

50

De 32 bits normalmente

40

Laboratrio de Automao Industrial IST/DEM

constante
Inicializar um contador com um Usar a instruo copy. Como no depende do accu
valor existente num registo

normalmente deve estar dentro dum bloco de programa.

Incrementar e decrementar um Usar respetivamente as instrues inc e dec dependentes


contador

do accu. Tem de ser garantido que operaes esto sempre


associadas a eventos, por exemplo atravs do uso da
instruo dyn

Testar o estado lgico do O estado do contador 0 se o seu valor for 0 ou 1 se o


contador

seu valor for maior que 1. Testa-se como qualquer outra


varivel lgica.

Testar o estado inteiro do Esta operao s pode ser feita recorrendo a um registo.
contador

Copia-se o contedo do contador para o registo e utiliza-se


a instruo de comparao (cmp). O resultado desta afeta
uma flag que depois usada. No caso da comparao a
flag Z.

Colocao num registo do valor Digi 1


I <ver tabela simbolos>
fixado no BCD (lab. Presencial)
Roda
Ld contador1
roda

5.4.2 Blocos Funcionais51


Os blocos funcionais associados aos contadores permitem de uma forma explcita realizar as
operaes de carregamento, incremento, decremento e leitura dos respetivos estados lgicos
e inteiro.
O teste do estado inteiro do contador feito com os blocos definidos em Integer/Comparison.

5.4.3 Exemplo
A seguir ilustra-se a sua utilizao o que corresponde soluo do Problema 2.2:

Enunciado:
Pretende-se controlar a entrada de pessoas numa instalao que comporta m pessoas. Entram
uma a uma e quando todas tiverem entrado fecha o acesso. Ser o operador que renova o
processo de entrada aps a instalao voltar a ficar vazia, o que constata por observao. O
51

Ler captulo 6 do manual do PG5, sobretudo as seces 6.5 e 6.6

Laboratrio de Automao Industrial IST/DEM

41

operador dispe de um boto de presso (Penc) e existe um sensor (SBanc52) que deteta cada
pessoa que entra (supe-se que entra uma de cada vez). O nmero de pessoas m est definido
num BCD53 (logo de 0 a 9). A atuao de Penc faz abrir uma porta, se no houver pessoas na
instalao (avana cilindro A), e quando a instalao estiver cheia essa porta deve fechar
(Recua Cilindro A)
Enquanto houver lugares disponveis (contador >1) deve manter-se a Luz Verde do semforo 3
(sem3V) acesa e quando apenas s houver um lugar disponvel (contador =1) deve tambm
acender-se a amarela do mesmo semforo (sem3A)
Enquanto no houver lugares disponveis (contador = 0) est acesa a Luz Encarnada do mesmo
(sem3E)
Pretende-se que resolva o problema usando duas linguagens de programao, respetivamente
Lista de Instrues (LI) e blocos funcionais (BF). Estes blocos devem ser chamados a partir de
um programa principal escrito em LI.
Objetivo do problema: prtica com contadores: inicializao, incremento e decremento.
Discusso sobre a utilizao de um BCD.

Soluo:
Cenrio:
Actuao

O que deve acontecer

Colocar um algarismo no BCD (seja n)

O sem3E est aceso

Carregar em PENC e no h pessoas

Avana cilindro A. Acende sem3V. Apaga


sem3E

Clicar n-1 vezes consecutivas em SBANC

Acende sem3A

Clicar mais uma vez em SBANC

O cilindro A recua. Apaga sem3V. Acende


sem3E

Implementao:
Lista de instrues:
PB
52
53

Prob2_2_LI

; acende sem3V quando for contador com ;

Ver Anexo II do manual de apoio


Registo Roda no painel web

42

Laboratrio de Automao Industrial IST/DEM

STH
anl
DYN
CPB
SET

PEnc
contadorPessoas
fl_aux1
H CopiaRegistoRoda
Cil_A

sth contadorPessoas
anH SBanc
DYN fl_aux2
DEC contadorPessoas
STL contadorPessoas
RES Cil_A

STH contadorPessoas
OUT sem3V

acende sem3V quando for contador com valor


1
COPY contadorPessoas
R regtemp
CMP regtemp
1
ACC Z
OUT sem3A
epb

PB CopiaRegistoRoda
COPY Roda
ContadorPessoas
EPB

Blocos funcionais:

No lab presencial deve usar o BCD. A Figura abaixo ilustra o bloco funcional que preciso
adicionar para carregar um registo com o valor contido no BCD. Neste caso deve fazer como
em baixo.

Laboratrio de Automao Industrial IST/DEM

43

5.5

Problema 3: medida do tempo

Um temporizador funciona nos APs como um contador de impulsos gerados por um relgio.
No PG5 a base de tempo por defeito a dcima de segundo. Assim temporizar a 5s o
mesmo, em termos internos ao AP, que inicializar um contador a 50. O AP sabe como proceder
atravs do tipo de varivel que definida, no PG5, ser o tipo T de temporizador.
A inicializao de um temporizador pode ser feita a partir de um valor guardado num registo
(que pode mesmo ser introduzido por um BCD54) ou a partir de uma constante definida no
momento da escrita do programa.

5.5.1 Lista de Instrues:


Carregar (inicializar)

um Usar a instruo ld (que significa load) que depende do

temporizador com um valor acumulador (accu)


constante
Inicializar um temporizador Usar a instruo copy. Como no depende do accu
com um valor existente num normalmente deve estar dentro dum bloco de programa.
registo
Desde o momento em que um temporizador seja inicializado no pode mais ser parado (no
existe a instruo pause, em lista de instrues)
Testar o estado lgico do O estado do contador 0 se o seu valor for 0 ou 1 se o
contador

seu valor for maior que 1. Testa-se como qualquer outra


varivel lgica.

Testar o estado inteiro do Esta operao s pode ser feita recorrendo a um registo. Copia54

Desde que o valor entrado no registo seja multiplicado por um fator de escala como 10, para
corresponder a segundos.

44

Laboratrio de Automao Industrial IST/DEM

contador

se o contedo do contador para o registo e utiliza-se a


instruo de comparao (cmp). O resultado desta afeta uma
flag que depois usada. No caso da comparao a flag Z.

Colocao num registo do Digi 1


I <ver tabela simbolos>
valor fixado no BCD (lab.
Roda
Presencial) e multiplicar o Ld temporizador1
Roda
mesmo por 10 (para
MUL Roda
corresponder a segundos).
K 10
Roda

5.5.2 Blocos funcionais:


Existem vrios blocos funcionais destinados aos temporizadores. Permitem a inicializao com
dado valor inteiro (dcimas de segundo) e comeam com um flanco duma varivel lgica.
Alguns temporizadores interrompem a contagem do tempo quando ao varivel lgica que os
arrancou passa a zero (PULSE no PG555) e outros no (XPULSE no PG5) .

5.5.3 Exemplo
A seguir ilustra-se a sua utilizao e que corresponde soluo do Problema 2.3:
Enunciado:
Imagine que quer controlar o tempo entre atuaes sucessivas de dois sensores, sejam os
sensores TapeteCesq e TapeteCdir do tapete. Quando atua o TapeteCesq apaga LVerde e
LAmar se alguma estiver acesa. Coloca nesse momento um temporizador a trabalhar com um
tempo de 5s. Se quando atuar TapeteCdir tiver j passado esse tempo acende uma amarela
(LAmar). Se no tiverem ainda passado acende LVerde.
Soluo:
Cenrio do problema
Actuao

O que deve acontecer

Clicar em TapeteCesq e imediatamente a seguir Acende Luz Verde


em TapeteDir

55

Ver manual do PG5 ou o Help da funo.

Laboratrio de Automao Industrial IST/DEM

45

Clicar em TapeteCesq e,depois de passarem 5s, Acende Luz Amarela


em TapeteDir

5.5.4 Cronmetro
A medio e registo do tempo que decorre entre duas operaes podem ser efetuados por um
bloco denominado Chrono que simula um cronmetro. A sua utilizao est ilustrada na
Fig. 5-6.

Fig. 5-6. Clr (Clear) coloca o cronmetro a zero e este contabiliza o tempo desde que En
(enable) esteja a 1. O tempo medido colocado num registo em dcimas de segundo.

5.5.5 Controlo duma lmpada a piscar (blinker)


Colocar uma lmpada a piscar uma operao muito vulgar, refletindo em geral uma chamada
de ateno. Por isso h vrios mtodos de o fazer nas diferentes linguagens que os estudantes
podem experimentar.
Uma soluo expedita usar o bloco do PG5 chamado Blink. (Ver Fig. 5-7). Este bloco deve
ser estar inserido num bloco de programa chamado condicionalmente. Nota-se que, quando se

46

Laboratrio de Automao Industrial IST/DEM

deixa de chamar, a luz pode ficar ligada ou desligada56. Por isso deve sempre ser desligada/
ligada de acordo com o que se pretende quando este bloco deixa de ser chamado.

Fig. 5-7. Utilizao do Bloco Blink. Est sempre Enabled e tem perodo de 1s57

5.6

Visualizao de variveis. Debug

A visualizao do estado das variveis quando um programa est a correr essencial para
verificar se o programa tem erros. A ferramenta mais simples que o PG5 oferece a watch
window que permite no s ler o estado das variveis, como forar o seu valor. O mesmo
possvel com o mdulo de online debug (o icon um aranhio), que contudo menos
amigvel. Permite, contudo, fazer outras operaes.
Num mdulo escrito no ambiente Fupla possvel ver o estado das variveis desse mdulo.
Como se ver frente se o programa estiver escrito em GRAFTEC possvel tambm visualizar
no grafo o estado em que se est em cada instante.
Finalmente o painel web em si uma ferramenta de debug pois permite verificar se o sistema
controlado se comporta como previsto. Existem tambm trs janelas onde se podem visualizar
o valor dos registos. Contudo preciso saber primeiro qual o nmero do registo pretendido.
Estes registos tambm podem ser usados para ver variveis como contagem de ocorrncias
ou de tempo. So totalmente equivalentes utilizao da watch window para o efeito.

5.6.1 Utilizao da Watch Window (WW)


Esta janela pode ser aberta com o PG5 off line indo progressivamente acrescentando variveis
a observar (ou mesmo alterar) medida que se desenvolve o programa. A melhor forma
selecionar a varivel na tabela de smbolos correspondente e clicando no boto direito do rato
selecionar Add to Watch Window, ou ento usando o shortcut Ctrl+W). Outra forma
56

Se o Enable estiver ligado a uma flag e esta for 0 o output do bloco passa a ser0. (ver Help do bloco)
Quando se pretende usar o Painel Web para que o pisca seja visvel o perodo fixado depende da
velocidade da rede. No IST este perodo de 1s suficiente.
57

Laboratrio de Automao Industrial IST/DEM

47

manter o boto esquerdo do rato atuado arrastar essa varivel da tabela de smbolos para a
WW (pegar na varivel na zona do tringulo) Podem ser colocadas variveis com qualquer
mbito que a WW guarda a sua provenincia.

Fig. 5-8. Exemplo da watch window.

Depois de o programa estar a correr clica-se no icon dos culos (ver Fig. 5-8) que aparece o
estado corrente das variveis.
Com esta WW tambm possvel forar o valor de variveis. Esta situao til por
exemplo para criar mais interruptores, ou colocar valores em registos. Para isso colocase o valor desejado na coluna Modify e depois clica-se na seta vermelha.
Nos mdulos criados em Fupla possvel ver diretamente o estado das variveis sem
necessidade de usar a WW58. Isto est ilustrado na Fig. 5-9.

Fig. 5-9. Debug em Blocos Funcionais (nota: clicando nos retngulos azuis permite mudar a
formatao da apresentao dos resultados)

58

Ver manual PG5 pg 6.28

48

Laboratrio de Automao Industrial IST/DEM

Programao em GRAFTEC

6.1

Introduo

Como se disse no captulo anterior o GRAFTEC a verso do PG5 da linguagem grfica


Sequential function chart baseado na norma GRAFCET criada para modelar sistemas
sequenciais.
Tambm foi dito que o GRAFCET se, por um lado, foi a gnese de uma linguagem de
programao simples e robusta quanto possibilidade de cometer erros de programao, por
outro lado pode ser encarado como um algoritmo a partir do qual se programa em qualquer
outra das linguagens. Neste caso, porm, preciso ser cuidadoso para evitar erros de
programao podendo partida ser no evidentes. Tm em geral a ver com a ordem com que
o autmato executa as diferentes instrues.
A nossa recomendao de que se programe sempre que possvel em linguagens sequenciais,
neste caso o GRAFTEC. Contudo dependendo da marca e sobretudo da gama do autmato este
tipo de linguagens pode no estar disponvel.
Neste captulo no se pretende substituir nem o manual do PG5 que deve ser lido nem o livro
de referncia da disciplina. Vo apenas ser focados aspetos prticos da implementao em
GRAFTEC de sistemas de controlo modelados em GRAFCET e da implementao do paradigma
mestre escravo.

6.2

A norma GRAFCET e as linguagens no sequenciais

Este assunto est detalhadamente explicado no livro de referncia. Muito em resumo, depois
de ter o GRAFCET bem estabelecido, associa-se uma flag a cada etapa deste e a evoluo entre
etapas traduzido na evoluo do estado das flags. Este assunto vai ser retomado mais abaixo
quando se estudar a implementao do paradigma Master/slave.

6.3

A norma GRAFCET e o GRAFTEC

Na aparncia um modelo GRAFCET e um programa escrito em GRAFTEC parecem no diferir.


Contudo h grandes diferenas das quais convm de imediato referir:

Laboratrio de Automao Industrial IST/DEM

49

GRAFCET

GRAFTEC

Todas as aes associadas a uma etapa em Todas as aes associadas a uma etapa duram
que

no

haja

qualquer

indicao

em apenas um intervalo de relgio. Ou seja, na

contrrio,59 duram enquanto dura a etapa, ou prtica como se todas fossem do tipo P.
seja enquanto a etapa estiver ativa.
As

transies

so

simples

testes

de A sequncia do programa fica retida nas

recetividade que permitem fazer evoluir os transies seguintes s etapas ativas. Poder
grafos.

No

ordens

transies60

associadas

a dizer-se que so as transies que esto


ativas. O programa testa sistematicamente o
cdigo das transies ativas e a evoluo
d-se quando o acumulador resulta no valor
161.

No GRAFCET definem-se um conjunto de tipos No GRAFTEC todas as ordens so por


de ordens

definio do tipo P. Caso se pretenda que


durem mais de um intervalo de relgio tero
de ser do tipo SET ou RES.

Em concluso, quando se descreve um modelo de comando sequencial em GRAFCET, mas a


pensar que vai ser a base dum GRAFTEC, no vale a pena usar os diferentes tipos de ordem do
GRAFCET. Contudo, se usa o GRAFCET como algoritmo para uma linguagem no sequencial
devem ser usadas todas as regras do GRAFCET. Para o caso de estas serem usadas descrevemse a seguir uma possvel correspondncia em GRAFTEC dos diferentes tipos de ordem
permitidas pela norma.
Ordem condicional

59

Ou seja haja uma indicao do tipo de ordem como P,R,S,D ou L.


Noutros modelos dinmicos possivel associar ordens a transies, do tipo pulso
61
O GRAFTEC aceita nas transies todo o tipo de instrues, mas apenas se recomenda que se use
teste de condies de forma a no se violar o esprito da norma.
60

50

Laboratrio de Automao Industrial IST/DEM

Ordem com atraso D

Ordem com durao


L

Ordem tipo Pulso


Na entrada da etapa

Ordem tipo Pulso


Na sada da etapa

Esta ltima situao equivalente anterior em GRAFTEC pois uma etapa neste dura sempre
um intervalo de relgio.

Configuraes especiais do GRAFCET


Algumas configuraes especiais do GRAFCET no tm correspondncia em GRAFTEC.
sempre possvel encontrar representaes alternativas. So ilustrados a seguir os casos das
transies fonte e poo.
Laboratrio de Automao Industrial IST/DEM

51

GRAFCET

GRAFCET compatvel com GRAFTEC

Transio fonte

Transio poo
(o sistema fica retido na
etapa n+1) de onde s
sai

com

uma

nova

inicializao do grafo.

6.4

Paradigma Mestre/Escravo em GRAFTEC

A diferena formal entre um GRAFCET que mestre e outro que escravo que o mestre
inclui ordens de foragem que controlam a evoluo do mestre. Um dos problemas do PG5
que a linguagem sequencial que incorpora, o GRAFTEC, no permite que blocos GRAFTEC
chamem outros blocos GRAFTEC. Assim o mestre ter de ser implementado usando linguagens
no sequenciais. Atravs de exemplos vamos ver como isto pode ser feito

6.4.1 Variveis de situao e ordens de foragem


Para cada um dos tipos de foragens previstas no GRAFCET vamos a ver como podem ser
implementadas em listas de instrues e blocos funcionais.

Variveis de situao:
Estas variveis, que definem o estado de um dado grafo, podem ser representadas de
diferentes formas em GRAFCET62. Em GRAFTEC a nica forma simples de as obter associar
uma flag nas etapas de que se pretende guardar o estado e declar-las como variveis
pblicas. Essas flags s podem estar ativas na etapa que definem ou seja deve ser feito o seu
62

Ver bibliografia

52

Laboratrio de Automao Industrial IST/DEM

reset na inicializao do programa (XOB 16), na etapa inicial e nas etapas imediatamente a
seguir s que pretendem caracterizar.

ordens de foragem
No PG5 um bloco sequencial s corre se estiver permanentemente a ser chamado. Se deixar
de ser chamado paralisar onde ficou, mantendo-se em permanncia as ordens que estavam
a ser dadas. Portanto, forar a paralisao corresponde a deixar de chamar o respetivo bloco
sequencial.
Em PG5 quando o programa arranca os blocos sequenciais ficam prontos a arrancar nas etapas
marcadas como iniciais. Contudo essas etapas podem ser definidas no programa principal
(mestre) usando a instruo RSB63.
Finalmente existe ainda a foragem do estado vazio ou sem marcas. Este estado no
possvel em PG5. A forma mais aproximada do realizar colocar o grafo num estado em que
no faz nada, que pode ser o inicial ou outro tipo poo de onde s sai com nova foragem de
um dado estado.
Finalmente nota-se que forar situaes de paralisao ou vazio podem conduzir a situaes
perigosas para o equipamento ou pessoas. Deste modo a execuo destas ordens est
normalmente dependente do estado atual do sistema. Este deve ser conduzido para estados
compatveis com estas ordens. Se no for este o caso dever ter de ser o mestre a controlar
situaes perigosas64
Exemplo
O exemplo a seguir ilustra como a partir da representao em GRAFCET dum mestre tpico se
programa em lista de instrues este sistema de comando.

63

Restart Sequential Block. Ver no manual do PG5 cuidados a ter com esta instruo.
Por exemplo paralizar um sistema em que um forno est ligado conduzir a uma situao perigosa se
este no for desligado.
64

Laboratrio de Automao Industrial IST/DEM

53

54

Laboratrio de Automao Industrial IST/DEM

Laboratrio de Automao Industrial IST/DEM

55

56

Laboratrio de Automao Industrial IST/DEM

6.5

Utilizao de macros no GRAFTEC

As macros so bastantes teis para tornar os programas mais legveis compartimentados em


grupos de blocos com um determinado significado. O GRAFTEC inclui esta possibilidade atravs
do bloco Page Mode (ver Fig. 6-1)

Fig. 6-1. (a) Macro em GRAFTEC

6.6

Observaes finais na utilizao do GRAFTEC

importante realar os seguintes pontos:

Os blocos sequenciais (GRAFTEC) no precisam de ter atribudo um nmero. Neste


caso ser atribudo dinamicamente. Em todo o caso devem ter um nome e ser
declarados como pblicos. (ver Fig. 6-2).

Quando se desenha o grafo o programa atribu um nmero a cada etapa (step) e


transio. Se nada for feito o programa encarregar-se- de lhes atribuir um endereo.
Contudo, para que haja uma correspondncia clara entre os nossos modelos e o
programa atravs do menu Renumber (ver Fig. 6-3) devem atribudos nmeros a esses
blocos. Neste caso todos os grafos desenhados devem ter uma numerao diferente,
nunca podendo haver coincidncias de nmeros.

As etapas que iro ter associadas variveis de situao devem ter uma etiqueta com o
nome dessa varivel para facilitar a leitura do grafo.

Laboratrio de Automao Industrial IST/DEM

57

Fig. 6-2. Definio das propriedades dum bloco sequencial

Fig. 6-3. Renumerao das etapas e transies

6.7

Utilizao do GRAFCET como algoritmo para programar em

linguagens no sequenciais
Este assunto vem amplamente discutido no livro de referncia da UC.

58

Laboratrio de Automao Industrial IST/DEM

ANEXO I: Ligaao a uma VPN


Segue neste anexo a descrio dos passos a dar para cada um dos sistemas operativos que
podem ser utilizados

Windows XP
Seguir os seguintes passos:
1

Em

START/Control

Painel/

Network

connections clique em create a new


connection.
H-de aparecer o wizard da figura ao lado

sugere-se um nome como LabRemoto

Laboratrio de Automao Industrial IST/DEM

59

Este deve ser o IP dado que corresponde


ao IP fixo a que est ligado o server da VPN
(193.136.103.204)

O processo finaliza. Ser til colocar um shortcut da ligao no desktop.


Ir s propriedades da ligao e configurar da seguinte forma:

Clique em Advanced:
9

Notar que est seleccionado o quadrado.


Retire a seleco para evitar a perda de
acesso internet durante a ligao VPN
Depois fazer sempre ok e sair da
configurao.

60

Laboratrio de Automao Industrial IST/DEM

Windows 7
Seguir os seguintes passos
1 Abrir o Control Panel,
e, nele, o Network and
Sharing Center, para ver
o dilogo da figura

2 Escolher Set up a new


connection or network,
para ver o dilogo da
figura

3 Escolher Connect to a
workplace e carregar
em Next, para ver o
dilogo da figura

Laboratrio de Automao Industrial IST/DEM

61

4 Escolher

Use

Internet

my

connection

(VPN), e preencher os
campos no dilogo da
figura: o endereo IP o
193.136.103.204,

nome deve ser sugestivo


(para o utilizador saber
que ligao esta); no
fim carregar em Next
5 No dilogo da figura,
preencher o Username e
a Password

6 Esperar que a ligao se


estabelea; depois, no
cone

das

ligaes

remotas, clicar com o


boto direito do rato
sobre a ligao VPN, e
escolher Properties

7 No dilogo abaixo, em Networking, selecionar TCP/IP, e carregar em Properties para


ver o dilogo do centro; neste, carregar em Advanced, para ver o dilogo da direita;
neste, configurar para no usar a default gateway, e carregar em OK em todos os dilogos;
repetir para todas as ligaes TCP/IP (este passo serve para se poder continuar a poder
usar a Internet quando se est ligado ao laboratrio virtual)

62

Laboratrio de Automao Industrial IST/DEM

Windows 8
Seguir os seguintes passos:
1

Clicar no boto do lado


direito do rato sobre as
ligaes de internet e
selecionar Open Network
and Sharing Center

Abrir Centro de Rede e


Partilha (ou Network and
Sharing Center)
Clicar em Set up a new
connection or network

Escolher a opo Connect


to a workplace

Laboratrio de Automao Industrial IST/DEM

63

Selecionar

Use

Internet

my

connection

(VPN)

Depois clicamos em No,


criar uma nova ligao

Agora

clicamos

na

primeira opo Usar a


minha ligao Internet
(VPN) (Use my Internet
connection (VPN)

Agora preenchemos com


os seguintes dados:
Endereo

Internet

Internet

(ou

Adress):

193.136.103.204
Nome

de Destino

(ou

Destination

Name):

LabRemoto

ou

LabRemotoAI
As caixas de verificao
devem estar como na
imagem

64

Laboratrio de Automao Industrial IST/DEM

Aparecer agora a barra


lateral

com

ligao

criada

clicando com o boto


direito do rato em cima de
LabRemoto, surgir algo
como:

Laboratrio de Automao Industrial IST/DEM

65

10 clicando

em

Ver

Propriedades da Ligao
(ou

View

connection

properties),

surgir

janela ao lado
No

primeiro

separador

Geral (ou General) deixe


tudo como est.

11 O mesmo acontece com o


separador

Opes

Options),

(ou

permanece

inalterado.

12 No separador Segurana
(ou

Security)

faa

as

seguintes alteraes:
a) Selecionar-se a opo
Permitir estes Protocolos
b) fazer um certo/check
nas caixas de verificao
CHAP e MS-CHAP v2, tal
como mostra a imagem

66

Laboratrio de Automao Industrial IST/DEM

13 Quando

se

Separador

passa

ao

Rede

Networking)

(ou

surge

um

aviso pelo meio


Deve clicar em Sim
14 No

separador

selecionam
Protocol

Rede
Internet

Version

clicam em Propriedades

15 Nesta nova janela clicam


em Avanadas

Laboratrio de Automao Industrial IST/DEM

67

16 Nesta nova janela deve


RETIRAR o certo/check de
Usar a porta de entrada
predefinida

na

rede

remota, tal como mostra a


imagem ao lado
Clique

OK e novamente

OK.

No ltimo separador Partilha (ou Sharing) tambm se mantm inalterado.


17 Clique agora outra vez no
cone de Internet mas com
o boto esquerdo
Fazemos

Ligar

(ou

Connect) em LabRemoto

18 Surgiro duas linhas para introduo do nome de utilizador e da palavra-passe.


A partir de agora siga os procedimentos descritos na seco de introduo.

Observaes:
1) Alguns estudantes acharam til seguir estas instrues juntamente com o seguinte vdeo do
Youtube: http://m.youtube.com/watch?v=8lxnMEHArqY
2) Houve quem reportasse o seguinte erro:
Error 942
The connection could not be established because the authentication method used by your
connection profile is not permitted for use by an access policy configured on the RAS/VPN
68

Laboratrio de Automao Industrial IST/DEM

server. Specifically, this could be due to configuration differences between the authentication
method selected on the RAS/VPN server and the access policy configured for it.
E desse como soluo:
Para o resolver necessrio aceder novamente s propriedades da ligao e ao separador
"Security". Aqui existem duas opes no selecionadas - deve-se selecionar a segunda "Allow
these protocols" e dentro desta opo selecionar o quadrado que diz "Microsoft CHAP Version
2".
Ao selecionar este quadrado, automaticamente selecionado um sub-quadrado que diz
"Automatically use my Windows logon.......etc" - deve-se desseleccionar este quadrado.
Veja tambm:
http://eufuckingreka.wordpress.com/2012/11/13/windows-8-vpn-getting-error-942/
3) Se alguma coisa correr mal com a sua ligao seguindo estes procedimentos, envie um email
com o problema e a sua soluo para ser acrescentado a este manual.

Ligao a uma VPN para o MAC


Se utiliza um MAC vai ter que instalar o Windows como mquina virtual, pois o PG5 s corre
neste sistema operativo. Para o efeito existe vasta documentao na internet. Por isso a
ligao VPN poder ser feita para este sistema operativo de acordo com as seces
anteriores.
Se pretender ligar-se diretamente a partir do Mac veja por exemplo:
https://support.apple.com/kb/PH11067;
ou http://www.youtube.com/watch?v=SA7q7ZeINNo (youtube)

Laboratrio de Automao Industrial IST/DEM

69

ANEXO II: Mensagens de segurana


do Java
Neste anexo juntam-se dois procedimentos, o primeiro que passou a ter de ser usado desde a
nova atualizao do JAVA em Janeiro de 2014.

Procedimento 1:
1) Abrir o Control Panel
Find the Java Control Panel
Windows XP
(Mudar o Painel de controlo para vista clssica)

Click on the Start button and then click on the Control Panel option.

Click on the Start button and then click on the Control Panel option.
In the Control Panel Search enter Java Control Panel.

Double click on the Java icon to open the Java Control Panel.
Windows 7, Vista

Click on the Java icon to open the Java Control Panel.


Windows

Use search to find the Control Panel

Press Windows
OR

logo

key

W to

open

the Search

charm to

search

settings

Drag the Mouse pointer to the bottom-right corner of the screen, then click on the Searchicon.
In the search box enter Java Control Panel
Click on Java icon to open the Java Control Panel.

Mac OS X 10.7.3 and above

Click on Apple icon on upper left of screen.


Go to System Preferences
Click on the Java icon to access the Java Control Panel.

3) Selecionar a aba Security e manter o Security Level a high (minimum recommended).

70

Laboratrio de Automao Industrial IST/DEM

4) Clicar em Edit Site List... para adicionar o endereo da webpage a usar. Ser aberta
uma nova janela.

5) Clicar em Add e adicionar endereo pretendido (p.e. http://192.168.77.5/bancada5.html


ou apenas http://192.168.77.5 para a bancada virtual n 5). Aps a colocao do endereo
clicar em Add novamente para adicionar outros endereos ou clicar em OK para adicionar
o endereo inserido e sair.

Laboratrio de Automao Industrial IST/DEM

71

6) Sempre que for inserido um endereo ir aparecer uma janela de aviso. Fazer Continue e
depois na janela Java Control Panel clicar em OK para sair.

NOTA: Para retirar os diversos avisos de segurana ir ao Java Control Panel e entrar na aba
Advanced.

72

Laboratrio de Automao Industrial IST/DEM

ANEXO III: Tabela de smbolos nas


bancadas virtuais
Symbol name
a0
a1
b0
b1
c0
c1
Cil_A
Cil_B
Cil_C
TapeteCdir
TapeteCesq
TapeteOnOff
TapeteDirec
Start
PVerde
PEnc
dp
Botao0
Botao1
Botao2
Botao3
Botao4
Botao5
Botao6
SBanc
LEnc
LAmar
LVerde
Alarme
ElevadorP0
ElevadorP1
ElevadorP2
ElevadorP3
ElevadorS0
ElevadorS1
ElevadorS2
ElevadorS3
ElevOnOff

Type Address
F
1000
F
1001
F
1002
F
1003
F
1004
F
1005
F
1032
F
1033
F
1034
F
1007
F
1023
F
1048
F
1049
F
1016
F
1017
F
1018
F
1006
F
1096
F
1097
F
1098
F
1099
F
1100
F
1101
F
1102
F
1103
F
1035
F
1036
F
1037
F
1038
F
1112
F
1113
F
1114
F
1115
F
1106
F
1107
F
1108
F
1109
F
1110

Scope
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public

Laboratrio de Automao Industrial IST/DEM

73

ElevDirec
Sem1E
Sem1A
Sem1V
Sem2E
Sem2A
Sem2V
Sem3E
Sem3A
Sem3V
Sem4E
Sem4A
Sem4V
BCD0
BCD1
BCD2
BCD3
Roda
Pea
user_ID
ocupacao

F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
R
R
TEXT
F

1111
1064
1065
1066
1067
1068
1070
1080
1081
1082
1083
1085
1086
1019
1020
1021
1022
1105
1104
50
1025

Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public
Public

Bancada Virtual

Estas variveis tero de ser adicionadas como external nos mdulos que as vierem a utilizar.

74

Laboratrio de Automao Industrial IST/DEM

ANEXO IV: Gama de endereos no


PG5 2.0
Quando se pretende utilizar endereos estticos (ou seja escolhidos pelo programador) a gama
que pode usar por defeito para os diferentes tipos de variveis internas do autmato dada
no menu Build Options na figura a seguir.
Variveis dinmicas so aquelas cujo endereo o AP que define. Ou seja, so variveis
includas num programa, logo declaradas, mas para as quais no se fixa um endereo. Deixa-se
esta atribuio ao AP.65 Torna-se mais prtica a sua utilizao e por isso a recomendada.
Flags:

Flags66
Como na tabela de smbolos globais se usa a gama entre os 1000 e 1200, pode usar flags com
endereos declarados entre 0 e 999 e depois entre 1200 e 1999. Os endereos a partir do 2000
esto reservadas para flags dinmicas.

65

Isto que se passa nas outras linguagens de programao. Note-se que no Matlab nem o nome das
variveis usadas necessrio declarar.
66
Toda esta informao foi retirada do manual do PG5 que deve ser usado como referncia final para
esclarecimento de qualquer dvida.

Laboratrio de Automao Industrial IST/DEM

75

Se optar por usar por usar flags dinmicas s tem que declarar o nome dado como flag. Isto
ilustra-se a seguir:
Exemplo: usar uma flag que, desde que esteja a 1, acende a LEnc.
; o seu cdigo:
SET fl1
OUT LEnc
Na tabela de smbolo aparece como varivel local (que se for usada noutro mdulo deve
passar para pblica)

Note que se puser o rato sobre a varivel no seu cdigo aparece o endereo atribudo:

Timers
Os endereos a partir do 10 so dinmicos. Se pretender usar endereos estticos pode usar os
endereos de 0 a 9.
Counters
Os endereos at ao 50 esto ocupados com timers e a partir do endereo 1000 esto
reservados para serem alocados pelo AP (dinmicos). Pode assim usar contadores com
endereos estticos de 51 a 999.
Blocos de programa:
Pode usar endereos para estes blocos de 0 a 29967. No atribua um endereo aos seus blocos,
ou seja deixe o autmato faz-lo.
Blocos sequenciais:
Pode usar endereos para estes blocos de 0 a 3168. No atribua um endereo aos seus blocos,
ou seja deixe o autmato faz-lo.

67
68

Nas verses de firmware mais recente este nmero vai a 999.


Nas verses de firmware mais recente este nmero vai a 96.

76

Laboratrio de Automao Industrial IST/DEM

ANEXO V: Controlo do Tapete


Rolante e do Elevador
Controlo do Tapete Rolante
So dois os atuadores que controlam o movimento do tapete:
TapeteDirec 0: ordem para rodar da esquerda para a direita
1: ordem para rodar da direita para a esquerda
TapeteOnOff : 0 : ordem de parar; 1: ordem para rodar
O tapete deve comear sempre do estado de parado. Neste estado define-se a direo e s
depois se d ordem de Movimento.
Controlo do Elevador
So dois os atuadores que controlam o movimento do tapete:
ElevDirec

0: ordem para descer


1: ordem para subir

ElevOnOff: 0 : ordem de parar; 1: ordem para se movimentar


O elevador deve comear sempre do estado de parado. Neste estado define-se a direo e s
depois se d ordem de Movimento. O ideal sempre comear do estado de repouso, ou seja o
piso 0.
Associado ao elevador esto sensores de andar (elevadorS0S3). Os interruptores
ElevadorP0,P3, podem ser usados de forma independente.

Laboratrio de Automao Industrial IST/DEM

77

Index
Function block diagram, 37
global.sy5, 27
Inicializacao.src, 27
Instruction list, 38
IPVIEW, 18
laboratrio presencial, 4
laboratrio remoto, 3
laboratrio virtual, 2
Ladder Diagram, 37
Lista de Instrues, 38
painel web, 2

78

PG5, 19
problema sequencial, 37
sensor de presso, 16
Sequential function chart, 38
sistema combinatrio, 37
Structured text, 38
Toggle, 16
Variveis dinmicas, 62
VPN, 6
Watch Window, 35

Laboratrio de Automao Industrial IST/DEM