Professional Documents
Culture Documents
deau
utomaoindu
ustria
al:
eespecifficao
oepro
ogram
maodesol uessde
controlodiscreto
onoaambien
nteITTSPLC
C
Copyright2009
Reservadostodososdireitos.Proibidaareproduo,totalouparte,porqualquermeio
ouprocesso.
Termodedesresponsabilizao
Prticasdeautomaoindustrial:
especificaoeprogramaodesolues
decontrolodiscretonoambienteITSPLC
por
AntnioPessoadeMagalhes
1Edio2009
RealGamesLda.www.realgames.ptPorto,PORTUGAL
Ao
JooRodrigoeaoJosDiogo
quetantogostamdeengenhocas...
ndice
PREFCIO..................................................................................................7
PARTE1APRESENTAO........................................................................9
OJogo..................................................................................................................11
OsJogadores........................................................................................................13
OEquipamento....................................................................................................14
PARTE2OSPROBLEMAS......................................................................17
MISSO1:AUTOMATIZAODEUMAESTAODETRANSPORTEETRIAGEMDEMERCADORIASEM
PALETES.....................................................................................................................19
AcercadestaMisso............................................................................................20
Tarefa1:Transporteautomticodepaletesisoladasnotapetedeentrada.........22
Tarefa2:Alimentaoetransporteautomticodepaletesisoladasnotapetede
entrada................................................................................................................23
Tarefa3:Alimentaoetransporteautomticodepaletesemfilanotapetede
entrada................................................................................................................24
Tarefa4:Comandoautomticodamesarotativa................................................25
Tarefa5:Alimentaoetransporteautomticodepaletesdocaisdeentradaao
elevadordadireita...............................................................................................26
Tarefa6:Alimentaoetransporteautomticodepaletescomalternnciado
elevadordesada.................................................................................................27
Tarefa7:Alimentaoetransporteautomticodepaletescomalternnciado
elevadordesada,lotaolimitadanostapetesdesadaesuporteasituaesde
indisponibilidadedoselevadores.........................................................................28
Tarefa8:Alimentaoetransporteautomticodepaletescomtriagempor
alturas.................................................................................................................29
Tarefa9:Transporteautomticoeoptimizadodepaletescomtriagemporalturas
............................................................................................................................30
1
Tarefa10:Encerramentoerelanamentodainstalaoatravsdasbotoneiras
IniciareParar......................................................................................................31
Tarefa11:Preparao,encerramentoerelanamentodainstalaoatravsdas
botoneirasIniciareParar....................................................................................32
Tarefa12:Produoautomticadelotes............................................................33
Eagoraqueaprimeiramissofoicumprida.....................................................34
ITSSUPERIntegraodesistemasdesupervisoeterminaisdeoperao...............35
ITSDEEPDetecoesuportedesituaesdeerro....................................................36
MISSO2:AUTOMATIZAODEUMAESTAODEPRODUODETINTAS.................................37
AcercadestaMisso............................................................................................38
Tarefa1:Produodeumtanquedetintavermelha...........................................40
Tarefa2:Produodeumadosedetintavermelha.............................................41
Tarefa3:Produomulticiclodetintavermelhacomparmetrosconfigurveis.42
Tarefa4:Produomulticiclodetintavermelhacomdosagemconfigurvele
sinalizaodemconfigurao...........................................................................43
Tarefa5:Produooptimizadadetintavermelha...............................................44
Tarefa6:Suporteparagemantecipadaeaprocedimentosdealarme..............45
Tarefa7:Produomultidoseemulticiclooptimizadadetintavermelha............46
Tarefa8:Produoflexveleoptimizadadecoresprimrias...............................47
Tarefa9:Produopormisturadecoresprimrias..............................................48
Tarefa10:Produodetintaporcorestabeladas................................................49
Tarefa11:Produodetintasporreceitastabeladas..........................................50
Tarefa12:Produodetintasporreceitastabeladascomverificaoprviade
erros....................................................................................................................51
Eagoraqueasegundamissofoicumprida.....................................................52
ITSSUPERIntegraodesistemasdesupervisoeterminaisdeoperao...............52
ITSDEEPDetecoesuportedesituaesdeerro....................................................53
MISSO3:AUTOMATIZAODEUMPALETIZADORELEVADO..................................................55
AcercadestaMisso............................................................................................56
Tarefa1:Inicializaodamquina......................................................................58
Tarefa2:Movimentaocclicadepaletes..........................................................59
Tarefa3:Filtragemporsoftwaredosinaldosensor10.......................................60
Tarefa4:Movimentaodepaletesemmodocontnuooucicloaciclo...............61
Tarefa5:Comandodoalimentadordecaixas......................................................62
Tarefa6:Comandosincronizadodoalimentadoredoacamador........................63
Tarefa7:Paletizaodeumacamada.................................................................64
Tarefa8:Paletizaodeduascamadas...............................................................65
Tarefa9:Paletizaodetrscamadas.................................................................66
Tarefa10:Paletizaoflexvelporconfiguraodonmerodecamadas............67
Tarefa11:Paletizaoflexvelporconfiguraodonmerodecaixasporpalete68
Tarefa12:Mododedemonstraodepaletizaoflexvel..................................69
2
Eagoraqueaterceiramissofoicumprida.......................................................70
ITSSUPERIntegraodesistemasdesupervisoeterminaisdeoperao................70
ITSDEEPDetecoesuportedesituaesdeerro....................................................71
MISSO4:COMANDODEUMMANIPULADORINCREMENTALEMTAREFASPICKANDPLACE..........73
AcercadestaMisso............................................................................................74
Tarefa1:Identificaodepeas...........................................................................76
Tarefa2:Movimentaoelementardomanipulador...........................................77
Tarefa3:Comandosimultneodosdoiseixosdomanipulador............................78
Tarefa4:Comandodomanipuladorpordefiniodaposiodedestino.............79
Tarefa5:Inicializaodosistema........................................................................80
Tarefa6:Recolhaeposicionamentodepeas......................................................81
Tarefa7:Suporteaofuncionamentoeparagemautomticos..............................82
Tarefa8:Arrumaodepeasporpadreselementares......................................83
Tarefa9:Suporteasituaesdeemergnciaeparagemantecipada...................84
Tarefa10:Recolhaselectivadepeasearrumaosegundopadresalternados85
Tarefa11:Arrumaodepeasporclasses..........................................................86
Tarefa12:Preenchimentodecaixassegundopadrestabelados.........................87
Eagoraqueaquartamissofoicumprida........................................................88
ITSSUPERIntegraodesistemasdesupervisoeterminaisdeoperao................88
ITSDEEPDetecoesuportedesituaesdeerro....................................................89
MISSO5:ARMAZENAMENTOAUTOMTICODEMERCADORIAS..............................................91
AcercadestaMisso............................................................................................92
Tarefa1:Posicionamentoinicialdotranselevador...............................................94
Tarefa2:Transfernciademercadoriasdotranselevadorparaocasulo1evice
versa....................................................................................................................95
Tarefa3:Levantamentodemercadoriasarmazenadasnocasulo10...................96
Tarefa4:Transfernciademercadoriasdocaisdeentradaparaocaisdesada..97
Tarefa5:Posicionamentodotranselevadorporvalordereferncia....................98
Tarefa6:Armazenamentodemercadoriasporvalordereferncia......................99
Tarefa7:Armazenamentoelevantamentodemercadoriasporvalordereferncia
..........................................................................................................................100
Tarefa8:Armazenamentoelevantamentodemercadoriasporvalordereferncia
comdetecodeerrosesuporteasituaesdeemergncia..............................101
Tarefa9:Armazenamentoelevantamentodemercadoriasporvalordereferncia
comcodificaodiversificada............................................................................102
Tarefa10:Armazenamentoelevantamentodemercadoriasporclasses...........103
Tarefa11:Armazenamentodemercadoriasporclasseselevantamentoporordem
cronolgica........................................................................................................104
Tarefa12:Armazenamentoelevantamentodemercadoriasporvaloresde
refernciaaleatrios..........................................................................................105
Eagoraqueaquintamissofoicumprida.......................................................106
3
ITSSUPERIntegraodesistemasdesupervisoeterminaisdeoperao..............106
ITSDEEPDetecoesuportedesituaesdeerro...................................................107
PARTE3ASSOLUES........................................................................109
OTextoEstruturadoeaNormaIEC611313.......................................................109
LiteraturaeMateriaisdeApoio.................................................................................111
AcercadasSolues............................................................................................112
DeclaraodasVariveisdeI/O.........................................................................113
MISSO1:AUTOMATIZAODEUMAESTAODETRANSPORTEETRIAGEMDEMERCADORIASEM
PALETES....................................................................................................................117
VariveiseinstnciasdeblocosfuncionaisusadasnaMisso1.........................117
ResoluodaTarefa1........................................................................................122
ResoluodaTarefa2........................................................................................124
ResoluodaTarefa3........................................................................................127
ResoluodaTarefa4........................................................................................130
ResoluodaTarefa5........................................................................................133
ResoluodaTarefa6........................................................................................136
ResoluodaTarefa7........................................................................................140
ResoluodaTarefa8........................................................................................144
ResoluodaTarefa9........................................................................................149
ResoluodaTarefa10......................................................................................154
ResoluodaTarefa11......................................................................................160
ResoluodaTarefa12......................................................................................167
MISSO2:AUTOMATIZAODEUMAESTAODEPRODUODETINTAS................................173
VariveiseinstnciasdeblocosfuncionaisusadasnaMisso2.........................173
ResoluodaTarefa1........................................................................................178
ResoluodaTarefa2........................................................................................181
ResoluodaTarefa3........................................................................................183
ResoluodaTarefa4........................................................................................187
ResoluodaTarefa5........................................................................................191
ResoluodaTarefa6........................................................................................197
ResoluodaTarefa7........................................................................................201
ResoluodaTarefa8........................................................................................205
ResoluodaTarefa9........................................................................................209
ResoluodaTarefa10......................................................................................217
ResoluodaTarefa11......................................................................................225
ResoluodaTarefa12......................................................................................233
MISSO3:AUTOMATIZAODEUMPALETIZADORELEVADO.................................................241
VariveiseinstnciasdeblocosfuncionaisusadasnaMisso3.........................241
ResoluodaTarefa1........................................................................................244
4
ResoluodaTarefa2........................................................................................247
ResoluodaTarefa3........................................................................................250
ResoluodaTarefa4........................................................................................254
ResoluodaTarefa5........................................................................................258
ResoluodaTarefa6........................................................................................262
ResoluodaTarefa7........................................................................................267
ResoluodaTarefa8........................................................................................273
ResoluodaTarefa9........................................................................................279
ResoluodaTarefa10......................................................................................284
ResoluodaTarefa11......................................................................................289
ResoluodaTarefa12......................................................................................295
MISSO4:COMANDODEUMMANIPULADORINCREMENTALEMTAREFASPICKANDPLACE........301
VariveiseinstnciasdeblocosfuncionaisusadasnaMisso4.........................301
ResoluodaTarefa1........................................................................................305
ResoluodaTarefa2........................................................................................307
ResoluodaTarefa3........................................................................................309
ResoluodaTarefa4........................................................................................311
ResoluodaTarefa5........................................................................................313
ResoluodaTarefa6........................................................................................317
ResoluodaTarefa7........................................................................................324
ResoluodaTarefa8........................................................................................331
ResoluodaTarefa9........................................................................................337
ResoluodaTarefa10......................................................................................343
ResoluodaTarefa11......................................................................................349
ResoluodaTarefa12......................................................................................356
MISSO5:ARMAZENAMENTOAUTOMTICODEMERCADORIAS............................................365
VariveiseinstnciasdeblocosfuncionaisusadasnaMisso5.........................365
ResoluodaTarefa1........................................................................................369
ResoluodaTarefa2........................................................................................371
ResoluodaTarefa3........................................................................................374
ResoluodaTarefa4........................................................................................377
ResoluodaTarefa5........................................................................................380
ResoluodaTarefa6........................................................................................385
ResoluodaTarefa7........................................................................................390
ResoluodaTarefa8........................................................................................396
ResoluodaTarefa9........................................................................................403
ResoluodaTarefa10......................................................................................408
ResoluodaTarefa11......................................................................................413
ResoluodaTarefa12......................................................................................419
PARTE4EPLOGO...............................................................................425
5
Prefcio
sequnciadeexercciosemquecadaumacrescentasemprealgo,masnodemasiado,
aoanterior,proporcionandoassimaoformandoganhoscrescentesdeconhecimentose
deautoconfiana.Mas,naturalmentequecadaguiomaisnodoqueumaproposta
de trabalho, que cada formador poder, e dever, adaptar aos seus interesses e
formandos.
A apresentao das solues em texto estruturado ser talvez uma surpresa para
muitos, dado no ser a linguagem de programao mais comum. H, contudo, duas
fortesrazesparatalescolha:porumlado,umalinguagemdeprogramaotextuale
dealtonvellogo,muitobemadaptadacomunicaocomumpblicoheterogneo;
poroutro,contribuifortemente,mascomnaturalidade,paraadivulgaodanormaIEC
611313. Quem programa habitualmente PLCs que no seguem esta norma nem
empregam esta linguagem, ter certamente sentido pouco, e reflectido ainda menos,
sobre as virtudes de ambas. So exactamente esses os leitores que mais se pretende
sensibilizarcomestainiciativa.
Reconhecendo que o texto estruturado no a linguagem de eleio de muitos
programadores,muitopossvelqueassoluesapresentadasvenhamasertraduzidas
nas mais diversas linguagens e dialectos de programao de PLCs. O interesse de tais
tradues compreensvel, sendo at de prever a compilao e disponibilizao das
mesmas por iniciativa de algum grupo de interesse. Mas, obviamente que as
potencialidades do ITS PLC no se esgotam nessas tradues e, muito menos, nas
propostas contidas neste texto. Haver sempre espao para o prazer e o desejo de
descobrir novos problemas e novas solues; ou seja, para novos jogos e formas de
jogaroITSPLC.Saibam,formadoreseformandos,partilharessesprazeres.
Porto,Outubrode2009
AntnioJ.PessoadeMagalhes
PARTE1APRESENTAO
EstelivropropeumconjuntodeexercciosparaoambientedetreinoITSPLC.Oseu
principal propsito rentabilizar a utilizao deste software, sugerindo planos de
trabalho capazes de proporcionar uma aprendizagem progressiva, coerente, slida e
aplicadadetcnicasdecontrololgico,oucontrolodesistemasdeeventosdiscretos,e
correspondente programao de Controladores Lgicos Programveis (Programmable
LogicControllersPLCs).
Embora as propostas apresentadas sejam naturalmente inspiradas nos ambientes
virtuais ITS PLC, pretendese que delas resultem ensinamentos cujo interesse e
aplicao as transcendam o mais possvel. Assim, se no seu lado mais vistoso e
abrangente,asinstalaesITSPLCservemdemoteaproblemaslgicosrelativamente
latos e um tanto avanados na esfera da automao industrial, na sua vertente mais
prtica servem de pretexto para introduzir e discutir questes pontuais e elementares
quevoaoencontrodoserros,dvidasedificuldadesmaiscomunsdequemseinicia,
ou pretende evoluir, na programao de PLCs. Para a definio, apresentao,
tratamento e encadeamento lgico destes problemas, em muito contribuiu a
experincia relativamente longa do autor no ensino da programao de PLCs, uma
actividadesempreapoiadatantoemsistemasreaiscomovirtuais.
Conquantooprincipaldesafiodoconjuntodeexercciospropostossejaprogramarum
PLCparacontrolarcorrectaeelegantementecadainstalaoITSPLC,excelenteque
tal feito seja, simultaneamente, um ponto de partida para o desenvolvimento de
aplicaes mais abrangentes. Por exemplo, aplicaes que integrem consolas de
interface homemmquina, sistemas de superviso, controlo distribudo ou gesto de
informao.Extremamentetiltambmprocurarsoluesrobustasecapazesdelidar
com situaes de falha ou insegurana. Propostas de trabalho orientadas em ambos
sentidos so includas neste texto. Tm em mente nveis de educao e treino mais
elevados, devendo por isso os formadores adaptar tais linhas orientadoras aos
9
Seguindo a tendncia da literatura especializada, o texto adopta o termo GRAFCET para designar a
linguagem de especificao GRAphe Fonctionnel de Commande tape Transition e o vocbulo grafcet
paradesignarumesquemagrficoqueutilizaalinguagemGRAFCET.
10
Acreditase,pois,quehinmerosmotivosdeinteressenestelivro,oqualestdividido
emquatropartesorganizadasdoseguintemodo:
AParte1 Apresentaoexpeasquestes necessriasaumacorrecta ecompleta
introduo do leitor ao ambiente de aprendizagem que o espera. Concretamente,
comea por apresentar o enquadramento, a sequncia, os objectivos e o pblicoalvo
dos desafios lanados neste texto. Seguidamente, so feitas algumas consideraes
sobre o modo como o leitor deve encarar os desafios que lhe sero lanados e a sua
previsvel aprendizagem face aos seus conhecimentos prvios. Por fim, so listados os
recursosnecessriosrealizaoeacompanhamentodosexercciospropostos.
AParte2OsProblemasapresenta,comosedeumjogodecomputadorsetratasse,
oscincograndesdesafios,oumisses,queoleitordeverprogressivamenteresolver.
Cada desafio corresponde ao controlo de uma instalao virtual ITS PLC e est
organizadoemdozeexercciosdeprogramao.Estesestosequenciadosempequenas
tarefas, de forma a potenciarem uma aprendizagem simples, natural e eficiente. No
incio de cada misso so dadas explicaes sobre o ambiente em que a mesma se
desenrola, de modo que o leitor compreenda minimamente os problemas tpicos da
instalaoindustrialemuladaeointeresseprticodosexercciospropostos.Nofimde
cada misso so lanadas propostas de trabalho destinadas a um pblico com
conhecimentos mais avanados. Estas propostas esto organizadas segundo duas
perspectivas: por um lado, a integrao das aplicaes com sistemas de superviso e
consolasdeinterfacehomemmquina;poroutro,melhorararobustezdosprogramas
desenvolvidosporinclusodemecanismoslgicosdedetecoesuportedesituaes
anmalas.
AParte3AsSoluesiniciasecomalgumasconsideraessobreaprogramaoem
texto estruturado e a norma IEC 611313. Esta introduo tem em mente os leitores
menos familiarizados com estes temas, sugerindolhes tambm literatura, stios na
Internet e recursos de software julgados teis. Feita essa breve apresentao, surgem
ento as solues dos desafios lanados na Parte 2. Cada soluo compreende a
justificaodosprocedimentosaprogramar,porvezesapoiadanumgrafcet,seguidado
programacorrespondente,devidamentecomentado.
AParte4Eplogoencerraotextocomumconjuntosumriodeconcluses.
OJogo
Bemvindo ao jogo ITS PLC! Se no encontrou este livro absolutamente por acaso,
sabequeoITSPLCumpacotedesoftwaredesenvolvidopelaRealGamesLda.que
11
emulainstalaesindustriaisacontrolarporPLC.Informaessobreesteprodutoesto
disponveisnostiowww.realgames.pt.
poisimportanteque,antesdecontinuarestaleitura,sefamiliarizeminimamentecom
osoftwareemcausa,compreendendoasuafinalidadeepotencialidades,assimcomoas
caractersticaseosmeiosdecomandoedesensorizaodasinstalaesemuladas.Uma
verso no licenciada serve para este primeiro contacto. Pode obtla no stio da Real
GamesLda.,assimcomoorespectivomanualdeutilizao.
O principalobjectivo deste texto ajudlo a dar vida acada um dos cinco cenrios
quecompemoITSPLC.Paraisso,oleitor,quecomoquemdiz,ojogador,terde
interligar um PLC ao computador onde tem instalado o ITS PLC e programlo
correctamente.
Conhecendoaaplicao,facilmenteoleitordepreenderqueestejogolhepropecinco
misses.Emlatosenso,elasso:
AutomatizarumainstalaodeSorting;
AutomatizarumainstalaodeBatching;
AutomatizarumPaletizador;
AutomatizarumainstalaoPickandPlace;
AutomatizarumArmazmAutomtico.
desenvolvidosrequerasimulaodeavariasouaimposiodeumestadofuncionala
umoumaisactuadores.
Ojogadordispededuaspistaspararealizarcadatarefa.Utilizlasfaznaturalmente
sentido.Mascomearporprocurarassuasprpriaspistasfazbastantemais
Paracadatarefapropostahumaresoluodisponvel.Concludaumatarefa,ojogador
dever comparar a sua soluo com a fornecida. Se acabar por concluir que,
definitivamente, no capaz de realizar uma tarefa, deve ento consultar e estudar
cuidadosamente a soluo proposta, procurando entendla completamente antes de
passar tarefa seguinte. Mas importante que no desista cedo demais! E, tanto em
casodesucessocomo deinsucesso,devemeditarnoscomentriosejustificaesque
acompanhamasoluoproposta.
Completada uma misso, isto , terminada a automatizao de um sistema, h ainda
espaoparaalargaroshorizontesdamesma.Nessesentido,ojogadordesafiadopara
metasmaisambiciosasenunciadasemdoispacotesdeexercciossuplementares:
ITSSUPERSUPERvisoryEnvironmentsandSystemse
ITSDEEPDEpendableEnvironmentsProgramming.
Oprimeirovisaodesenvolvimentodesoluesflexveisedistribudasporintegraode
recursostecnolgicostaiscomoPLCs,consolasHMI,sistemasdesupervisoeoutros.
Osegundoencerraumconjuntodedesafiosdestinadosamelhoraraconfiabilidadedas
solues encontradas por incluso de tcnicas de deteco e suporte de situaes
anmalas. Mais do que exerccios muito especficos, com enunciados concretos e
rgidos, as propostas contidas nestes dois pacotes so essencialmente linhas
orientadorasdetrabalhosmaislatos,denvelmaiselevadoequeexigemmaistempo.
Cabe por isso aos formadores adaptlas aos equipamentos ao seu alcance e aos
interesses e conhecimentos dos seus formandos. Uma possibilidade interessante
considerloscomotemadaquelespequenosprojectosdedesenvolvimento,individuais
ou em grupo, que habitualmente so propostos aos formandos de nveis mais
avanados.
OsJogadores
OsoftwaredetreinoITSPLCumaplataformadidcticadeprogramaodePLCsque,
quandolimitadaaproblemassimples,podeedeveserutilizadaporformandosquedo
osprimeirospassosnestamatria.JprogramarumPLCparacomandaredotaroscinco
sistemasincludosnopacoteITSPLCdefuncionalidadesumtantoelaboradas,uma
13
PLCs:modelodefuncionamentodeumPLC;afectaoecablagemdeentradase
sadas;registoseorganizaointernadamemria;temporizadoresecontadores;
experinciamnimaemprogramaodePLCsenautilizaodeferramentasde
desenvolvimentoetesteassociadas;facilidadeemlerecompreenderomanual
deumPLC.
Setudoistolhefamiliar,entoconsidereseaptoacomearojogoelevloataofim.
Se, pelo contrrio, no conhece ou domina minimamente grande parte destes temas,
ento deve procurar melhorar um pouco os seus conhecimentos antes de aceitar os
desafiosqueaquiselanam.Humrolinfindveldeliteraturasobreestesassuntos.O
seu formador saber, seguramente, indicarlhe a bibliografia mais adequada aos seus
conhecimentos.
Paraquemsepreparaparacomearajogar,oconselhomaisbvioodeque,talcomo
nosjogosdecomputador,eviteabatota.Terdificuldadesemencontrarumasoluo,
etlaaovirardapgina,podenoseromelhorestmuloperseverana.Mas,sempre
quetiveratentaodeespreitararesoluo,lembresequeperderaoportunidadede
descobrirasuaprpriasoluoque,quemsabe,seriaatmaisinteressantedoquea
propostanoomelhorcontributoparaumaboaaprendizagem.
Procurepoisencontrarsempreassuasprpriassolues.Verificarque,dessemodo,os
seusconhecimentosevoluemesolidificamdeumaformamuitonaturaleirreversvel.Se
optarporespreitarsistematicamenteasoluosentirque,namaioriadoscasos,pouco
tempo depois, j no se lembrar do truque da soluo, concluindo que, afinal, no
aprendeutantoquantodesejaria.Talveznemtenhacompreendidoqueaprogramao
dePLCsvivedalgicaenodetruques!
OEquipamento
Certamentetemanooexactadoequipamentoquenecessitaparacomearojogo:um
computador com o ITS PLC instalado, e devidamente licenciado, e um PLC com um
14
nmeromnimodeentradasesadas.Verifiquequetipodeentradasesadastemoseu
PLCecertifiquesequeasligoucorrectamenteplacadeI/Oqueacompanhaoproduto.
Consulte o manual de utilizao do ITS PLC sobre esta questo. Tenha, alis, este
manual sempre por perto, pois vai precisar de consultar frequentemente o mapa de
entradasesadasdasinstalaesacontrolar.
PorpertodevertertambmomanualdoseuPLCedosoftwarededesenvolvimento
associado.Aajudaemlinhanemsempresuficiente.Tertambmmoumououtro
livro sobre sistemas lgicos e especificao em GRAFCET (de preferncia, a segunda
ediodanormaIEC60484)tambmumaboaideia.
Mesmo um PLC relativamente modesto tem capacidade para controlar as instalaes
apresentadas.Mas,setemumPLCrelativamentesofisticado,nodeixedeexploraras
suaspotencialidades,inventandonovosexercciosououtrasformasdeosresolverque
asempreguem.
Setempossibilidadedeligardoismonitoresaoseucomputador,devefazlo.Useum
paravisualizaroambienteITSPLCeoutroparaanalisaronlinetodaainformao
relativaexecuodoprogramanoPLCrecorrendoaumaferramentadedebugging.
Rapidamentecompreenderosbenefciosdestaestratgia.
Por ltimo, se uma pessoa que gosta de jogos de computador e se entusiasma
facilmentecomproblemaslgicos,aconselhooafazerseacompanhardeumagarrafa
trmicacomoseuchazinhopreferido.Talvezodia,ouanoite,sejalongo(a)...
Exposto o essencial sobre o ambiente do jogo ITS PLC, tempo de avanar para a
mquinadejogos!
15
PARTE2OSPROBLEMAS
Provavelmenteestjfrentedoseucomputador,devidamenteequipadoeprontoa
conheceroprimeirodesafio.Algumasbrevesnotasantesdecomear:
Conforme referido, os problemas so propostos em cinco mdulos, autocontidos,
seguindo a ordem por que as instalaes so apresentadas no software ITS PLC:
sorting, batching, paletizador, pick and place e armazm automtico. As
missesnotmnecessariamentedeserrealizadasporestaordem,masaconselhasea
queosejam.Issoporque,nosentidodeevitaraduplicaodeexplicaesdetalhadas,a
resoluodealgumastarefasremeteparaexplicaesprestadasemsoluesanteriores.
Mas, importante mesmo, que, dentro de cada misso, tente resolver as tarefas pela
ordem por que so apresentadas, uma vez que, no contexto da misso, cada tarefa
complementaaanterioresercomplementadapelaseguinte.Quandoacharqueesta
ser difcil evoluir numa misso, sugerese, como primeiro passo, que a abandone
temporariamente, sem consultar a soluo, e passe misso seguinte. Talvez esta lhe
proporcioneosensinamentoseainspiraoquelhepermitiroretomar,maistarde,a
missoquedeixouemsuspenso.
Importantetambmquesecertifiquesemprequecompreendeubemaquestoque
lhe posta antes de pensar na respectiva resoluo. Verifique tambm que o I/O
indicado no enunciado coerente com os objectivos da tarefa. Comece sempre por
definirminimamente,masdeformaobjectiva,osprocedimentosarealizar.Orecursoa
um diagrama temporal, diagrama de estados ou grafcet uma boa abordagem,
especialmente nos casos mais complexos. S depois se preocupe com o programa a
desenvolver.Seoenunciadodealgumproblemanolheparecerabsolutamenteclaro,
nousetalargumentoparaconsultarassolues.Procureresolveraquestotomando
ainterpretaoquelheparecermaisplausvel,enoamaissimples!
Porfim,doisconselhosprticos:
17
Ao longo das suas experincias vai certamente ter, por vezes, interesse em reiniciar o
seu sistema; isto , tanto a instalao virtual como o seu PLC. A instalao limpa
premindo o boto Limpar no painel do ITS PLC. Para reiniciar o PLC, sugerese a
seguinte dica: inclua no seu programa um procedimento para reinicializar as variveis
internas do PLC quando uma entrada no utilizada, por exemplo, um sensor ou uma
botoneira, forada ou accionada. Pode, desse modo, e sempre que quiser,
concretamente depois de premir Limpar, reiniciar o seu PLC sem o retirar do modo
run. Pode, tambm, optar por utilizar o selector Manual/Auto (Entrada 11) para o
mesmo fim. Mas, nesse caso, o PLC reiniciar sempre que a instalao lanada no
modoautomtico.Talsituaonemsempreamaisinteressante.
Emqualquercaso,convenientequenocoloqueoseuPLCemmodorunantesde
colocarainstalaoemmodoautomtico,pois,nessasituao,asvariveisinternasdo
programadoPLCpodemevoluirparavaloresdiferentesdospretendidosparaasituao
inicialdainstalao.
Feitasestasconsideraes,chegoufinalmenteomomentodeconhecerosdesafiosque
oesperam.BoaSorte!
18
Misso1
1:Auto
omatizzaod
deumaestaode
e
traansporrteetrriagem
mdem
mercadoriaseempaletes
OBBJECTIVO: ENCAM
MINHAR PALETES DO CA
AIS DE ENTRADA
A AOS
ELEEVADORESSDESAD
DA,SELECC
CIONAND
DOASPORALTURA
AS
19
AcercadestaMisso
O movimento de bens em transportadores automticos, tais como tapetes rolantes e
mesasdetransferncia,umatarefamuitocomumeminstalaesindustriais.Doponto
devistafuncional,umtapeterolantecomumssentidodemovimentaooelemento
de transporte automtico mais simples, podendo o seu estado, movimenta ou no
mercadoria, ser representado por uma varivel binria. H, contudo, transportadores
muitoflexveis,relativamentecomplexos,cujolequedeestadospossveisobviamente
muitomaisvasto.ocasodostransportadoressequenciais,comoamesarotativadesta
aplicao,que,servindosimultaneamentedeelementosdetransfernciaetriagem,tm
at,porvezes,diversospontosdeentradaousada.
Um transportador tem sua entrada algo que lhe fornece mercadoria; por exemplo,
outrotapete,umoperadorouumalimentadorautomtico.suasadahaveralgoque
recebemercadoria:umoutrotapete,umamesadetransferncia,umcaisdesadaou
umoperador.Amissodeumtransportadortransferirmercadoriasdeumpontode
partida a um ponto de chegada de forma eficiente. Eficincia pressupe, tipicamente,
um transporte de acordo com uma origem e um destino prdefinidos e realizado no
menortempoecomomenorconsumopossveldeenergia.Ouseja,requerque:
Umtapetenoestejaemmovimentocasonelenoexistaqualquermercadoria;
Um tapete que tenha mercadoria no esteja parado, a menos que tal seja
absolutamentenecessrio;
Oprincipalobjectivodestamissomostrarque,mesmonumainstalaocomplexa,o
quedefactoexisteentradaesadadeumtransportadorpoucoimportaparaoseu
comando: importante a sincronizao do funcionamento de cada tapete com o dos
alimentadores e transportadores que tem sua entrada e sua sada. dessa
compreensoqueresultaacapacidadeparadesenvolverumasoluomodular,apoiada
numcontroladorcentralizadooudistribudo,eperfeitamenteutilizvelemsistemasde
transporteautomticoreaisedegrandedimenso.
Particularmenteimportanteemqualquersistemadetransporteflexvelconseguirgerir
todaainformaonecessriaaocorrectoencaminhamentodasmercadorias.Paratal,a
informao das mercadorias em trnsito, independentemente de ter origem em
sistemas de identificao mais ou menos sofisticados, como leitores de cdigos de
barrasoudeRFIDs,ouemvulgaressensoresdeproximidade,comonocasodapresente
aplicao, tem normalmente de seguir percursos e passar por processos de seriao e
triagemmuitosemelhantesaosdasprpriasmercadorias.
20
Tambmimportantenumsistemadetransporteaaberturadoscontroladoreslocais
troca de informao com elementos de dilogo homemmquina e sistemas de
superviso. Porltimo, mastambmdeimportnciavital,haquestodadetecoe
suporte eficaz de situaes errneas que possam conduzir degradao fsica da
instalaooudosbenstransportados.
Estamissotocaemtudoisto,comeandopelascoisasmaissimples.
21
Tarefa1:Transporteautomticodepaletesisoladasnotapetedeentrada
Cenrio:
Otapetedeentradaentraemmovimentoquandolhechegauma
palete,transportaaatmesarotativaepra.
Objectivo:
Comandarautomaticamenteotapetedeentradaparatransportar
paletesisoladas.
EstadoInicial:
Tapetedeentradasempaletes.
SinaisdeI/O:
Entradas:Sensores0e3.
Sadas:Actuador1.
Procedimentos
Manuais:
Comandarmanualmenteoalimentador,forandoelibertandoo
actuador0,demodoafazerchegarumapaleteaotapetede
entradasomentequandoesteestvazio.
Manteramesarotativaemcarga,forandooactuador2,paradar
sadaspaletesprovenientesdotapetedeentrada,lanandoas
paraocho.
Removercaixasepaletesqueseacumulematrsdamesarotativa,
mantendoadesobstruda.
Dicas:
Useumavarivelbinria,i.e.,umbitdememria,paradefinir
constantementeseotapetedeveestarounoemmovimento
Aentradaesadadepaletesnotapetecorrespondematransies
lgicasemsensores
22
Cenrio:
OtapetedeentradafuncionacomonaTarefa1.Oalimentador
agoracomandadoautomaticamenteparaslanarumapaleteno
tapetedeentradaquandoesteestvazio.
Objectivo:
Automatizaroalimentador,eliminandoocomandomanualda
Tarefa1.
EstadoInicial:
Tapetedeentradasempaletes.
SinaisdeI/O:
Entradas:Sensores0e3ououtros,seacharmaisconveniente.
Sadas:Actuadores0e1.
Procedimentos
Manuais:
Manteramesarotativaemcarga,forandooactuador2,paradar
sadaspaletesprovenientesdotapetedeentrada,lanandoas
paraocho.
Removercaixasepaletesqueseacumulematrsdamesarotativa,
mantendoadesobstruda.
Foraravariasocasionaisnoalimentador,impedindoodefazer
chegarpaletesaotapetedeentrada,paraverificarqueesteltimo
efectivamentepraquandonotransportaqualquerpalete.
Dicas:
Notequeatransfernciadeumapaleterequeromovimento
simultneodotapetedeentradaedoalimentador
Notequequandootapetedeentradatransportaumapalete,talno
implicanecessariamentequeoalimentadordevaestarparado.
Definaumavarivelbinria,Busy_1,quesejaverdadeiraquandoo
tapetedeentradanoestemcondiesdereceberumapalete
23
Eagoraqueaprimeiramissofoicumprida
Parabns por ter cumprido esta misso! agora um perito em sistemas de transporte
automticos e, certamente, no teria dificuldades de maior em realizar programas
capazes de cobrir as seguintes alteraes instalao, pressupondo a existncia dos
sensoreseactuadoresnecessrios,quedeversertambmcapazdelistarcomtodaa
facilidade:
Otransporteentreoalimentadoreamesarotativaagoramaislongoepassou
aexigirdoistapetes,umaseguiraooutro;
Amesarotativatemagoradoistapetesdeentrada,comonovocolocadoatrs
dela.Recebepaletesaltasebaixasdeambos,identificadaspordoissensoresde
proximidade colocados entrada de cada tapete, e encaminhaas para os
elevadoresdesadaemfunodasrespectivasalturas;
Passaramaexistirpaletescomtrsalturas,quecontinuamaseridentificadaspor
sensores de proximidade colocados a cotas apropriadas no incio do tapete de
entrada.Aspaletesdevemserdevidamenteencaminhadasparatrselevadores
de sada. Para isso, o tapete da esquerda, alimenta agora uma segunda mesa
rotativa,aqualpodetransferirpaletesparadoistapetesdesadaqueconduzem
aspaletesparaoutrostantoselevadores.
34
ITSSUPERIntegraodesistemasdesupervisoeterminaisdeoperao
O objectivo deste pacote aumentar a flexibilidade da soluo alcanada atravs de
trocas de informao entre o controlador da instalao, i.e., o PLC, e sistemas de
supervisoeinterfacehomemmquina.SetemumaHMIquepossaligaraoseuPLC,ou
um SCADA com que este possa comunicar, nem que seja um pacote de software de
demonstrao,hquelhesdaruso!ProgrameoseuSCADAouHMIpararecolherdoPLC
ainformaoaseguirlistada:
EstadodaInstalao:standby,pronta,alarme,etc;
Estadodecadatapete:inactivo,transportanpaletes,bloqueado,etc;
Estadodamesarotativa:pronta,carga,etc;
Alturasdaspaletesnotapetedeentradaporordemcronolgica;
Dadosdaproduo:
o Indicaodeproduocontnuaouporlotes;
o Nocasodeproduoporlotes:extenso,volumejproduzidoevolumea
produzir;
o Nmero de paletes, baixas e altas, entradas na instalao durante o
trabalhoactual;
o Nmerodepaletes,baixasealtas,jenviadas;
o Nmerodepaletes,baixasealtas,emtrnsito;
o Setiverrecursosparatal,horadeinciodoltimotrabalhoetempototal
defuncionamentodainstalaonasltimas24horas.
ProgrametambmoseusistemademodoqueoPLCpossareceberdeumaHMIoude
umSCADAosseguintescomandoseconfiguraes:
Definiodalotaodotapetedeentrada.
35
ITSDEEPDetecoesuportedesituaesdeerro
OpropsitodestepacotecomplementaraprogramaodoPLCcomfuncionalidades
tendentesdeteco,suporteediagnsticodesituaesdeerro.Assituaesdeerro
maisgraves,nosendopossveisdesuportardeoutraforma,devemlevarparagemdo
sistema, colocandoo em modo de avaria ou outro julgado mais conveniente
standby,porexemplo.Todasassituaesdeerroemausfuncionamentosdetectados
devem ser identificados e assinalados atravs de um cdigo de erro. Caso tenha
achado o pacote ITS SUPER interessante, pode ainda complementlo com a
comunicaoaoSCADAouaafixaonaHMIdoscdigosdeerrosdetectados.
Propese, ento, que o leitor desenvolva pequenas funes, to eficientes quanto o
possvel, para cobrir as situaes indesejveis a seguir listadas, evitando assim o
funcionamento da instalao em situaes de risco. A eficincia destes mecanismos
medese por dois parmetros: a relao entre o nmero de casos detectados e o
nmero de casos ocorridos que se denomina cobertura e a quantidade de
deteceseinterveneserrneasquesedenominafalsosalarmes.Oprimeirodeve
aproximarsede100%;osegundo,de0.
Propeseaseguintelistadeeventosadetectar:
Hduasoumaispaletesencostadasumassoutrasentradadamesarotativa;
Deslocamentodapaletedurantearotaodamesa;
Perda,porencravamentoouqualqueroutromotivo,ousurgimentoinesperado
deumapaletenumtransportador;
Avariaemqualqueractuadoreidentificaodamesmaencravadoa0oua1.
Utilizeaspossibilidadesdeinteracodosoftwareedegeraodeavariasparatestaros
seusmecanismosdedetecodeerroseavalieastcnicasdesenvolvidas.
36
PARTE3ASSOLUES
OTextoEstruturadoeaNormaIEC611313
OtextoestruturadoumalinguagemdeprogramaodePLCsmodernaecontemplada
na norma IEC 611313. A sua simplicidade e expressividade tmlhe granjeado um
nmerosemprecrescentedeadeptosentreprogramadoresefabricantesdePLCs.
Seaprimeiravezquecontactacomestalinguagem,consideretalfactocomomaisum
pontodeinteressedestelivrodeexerccios.Verqueempoucotemposermaisumf
do texto estruturado. E, se conhece minimamente as vulgares linguagens de
programao de alto nvel, como o BASIC, Pascal ou C, vai constatar que o texto
estruturado,afinal,umalinguagem muitofcildecompreendereutilizare,decerta
forma,jsuaconhecida.
109
Paramuitosautores,otextoestruturadoalinguagemquepermiteumaprogramao
mais rpida e eficiente dos modernos sistemas de controlo baseados em PLC.
Conquanto tal seja obviamente discutvel, a verdade que os benefcios desta
linguagem relativamente s mais clssicas so particularmente notrios em aplicaes
complexas.Masumoutrofactortemcontribudoemmuitoparaaeficienteconcepo,
realizao e reengenharia de solues baseadas em PLC: a norma IEC 61131. Se no
conheceestanormatempodeaconhecer.SetrabalhaouestudanumaUniversidade,
encontrlacertamentenabibliotecadasuainstituio.Senoocaso,aconsultade
alguns dos inmeros livros, artigos e stios na Internet que dedicam grande ateno a
esta norma, e em especial Parte 3 (IEC 611313), podloo ajudar. Apresentar as
solues dos exerccios propostos em texto estruturado serve assim tambm de
pretexto para incitar o leitor a conhecer a norma IEC 61131, pese embora muitos dos
seusaspectosfundamentaisnosereflictamnasresoluespropostas.
Mas se sua inteno continuar a utilizar uma linguagem de programao que nada
temavercomotextoestruturadoesquemasdecontactos,diagramasdeblocos,lista
de instrues ento, a norma IEC 611313 tambm para si, j que ela contempla
igualmenteestaslinguagens.Qualquerumadelaspodia,porisso,tersidoutilizadapara
apresentararesoluodosexercciospropostos,mantendoseosmesmospropsitosde
divulgaoeconformidadecomanorma.Nooforamporquetambmsubscrevemosa
mximadequeotextoestruturadoaformamaisclara,simpleseeficientedeexpor
umprogramadePLC,sobretudoquandohquefazloparaumpblicoheterogneo.
AnormaIEC611313incluialinguagem grficaSFC(SequentialFunctionChart)como
propsito de estruturar, sequenciar e desenvolver um programa de controlo.
Consequentemente,oSFCnoumaalternativaaotextoestruturadoouaqualquerum
das outras linguagens previstas na norma. A linguagem SFC um dos recursos mais
interessanteseimportantesdanormaIEC611313,sendomuitasvezesconfundidacom
o GRAFCET tal como definido na primeira verso da norma IEC 60484 em virtude da
semelhanasemnticaegrficadestas.OfactodoGRAFCETserumaimportanteporta
deacessocompreensodealgunsaspectosdanormaIEC611313,nomeadamenteem
termos deorganizaodecdigo, maisumarazopara asuaamplautilizaoneste
textoemdetrimentodeoutrasferramentasemetodologiasdeespecificao.
Se o PLC que utiliza minimamente compatvel com a norma IEC 611313 mas s
suportaaslinguagensmaisclssicasouse,dequalquermodo,aspretendecontinuara
utilizar, ento tem nestes exerccios um outro ponto de interesse: a traduo das
solues apresentadas para a sua linguagem de programao, mas usando a
semntica e simbologia prevista na norma IEC 611313. H, afinal, muitos motivos de
interessenestelivrodeexerccios!
Por ltimo, se adepto do texto estruturado e desenvolve habitualmente a sua
programao de acordo com a norma IEC 611313, vai certamente considerar os
110
LiteraturaeMateriaisdeApoio
Caso pretenda iniciarse na norma IEC 61131 e no texto estruturado tem mltiplos
pontosdepartida:
Encontrar a norma IEC 61131 numa biblioteca no dever ser difcil. Outra hiptese
adquirilajuntodaInternationalElectrotechnicalCommissionhttp://www.iec.ch.
A parte mais interessante da norma a Parte 3, toda ela dedicada s Linguagens de
Programao.TemadesignaoIEC611313.apresentada,discutidaeexemplificada
emdiversoslivros.Entreeles,destacamseosseguintes:
UmstioobrigatrioemmatriadenormasePLCsodaPLCOPENwww.plcopen.org.
Mltiplasinformaesteispodemaquiserencontradas.
UmaconsultaaoGoogle,ouaqualqueroutromotordebusca,sobreotemastructured
textprogrammingconduzaumalistainfindveldestioseartigosinteressantes.Entre
eles,olivroAutomatingManufacturingSystemswithPLCsporHughJack,disponvel,
111
ISaGRAFhttp://www.isagraf.com;
MULTIPROGhttp://www.kwsoftware.com;
CoDeSyshttp://www.3ssoftware.com;
TwinCATPLChttp://www.beckhoff.com.
AcercadasSolues
Tecidas algumas consideraes sobre a norma IEC 611313 , finalmente!, tempo de
passardivulgaodassoluesdosproblemaspropostos.
Cada resoluo compreende uma explicao e justificao, mais ou menos breve, dos
procedimentos utilizados, seguida do respectivo programa em texto estruturado,
devidamente comentado. Porque, na generalidade dos casos, as tarefas se vo
complementando medida que uma misso avana, a soluo de uma tarefa
vulgarmente o ponto de partida para a seguinte. Consequentemente, grande parte do
cdigo desenvolvido numa tarefa tende a ser reutilizado nas seguintes. Da, voltase a
frisar, a importncia de compreender bem a soluo de uma tarefa antes de avanar
paraaseguinte.
Nocasodesoluesmenostriviaisoupropensasaalgumaambiguidade,osprogramas
so desenvolvidos com base numa especificao prvia em GRAFCET, devidamente
comentada. importante referir que tais especificaes seguem a segunda edio da
normaIEC60484.Dadoqueestaversorelativamenterecente,provvelquealguns
leitores no conheam ainda suficientemente bem as alteraes introduzidas nesta
112
DeclaraodasVariveisdeI/O
Asvariveisquerepresentamosparmetrosdeentradaedesadadeumprogramaso
globalmentedesignadasporvariveisdeI/O.AsvariveisdeI/Osofundamentaisem
qualquer programa, j que so o meio de troca de informao entre este e os seus
113
114
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
%IX0.0
%IX0.1
%IX0.2
%IX0.3
%IX0.4
%IX0.5
%IX0.6
%IX0.7
%IX1.0
%IX1.1
%IX1.2
%IX1.3
%IX1.4
%IX1.5
%IX1.6
%IX1.7
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
(*
(*
(*
(*
(*
(*
(*
(*
(*
(*
(*
(*
(*
(*
(*
(*
Sensor 0 *)
Sensor 1 *)
Sensor 2 *)
Sensor 3 *)
Sensor 4 *)
Sensor 5 *)
Sensor 6 *)
Sensor 7 *)
Sensor 8 *)
Sensor 9 *)
Sensor 10 *)
Selector de Modo Manual/Automtico *)
Botoneira Iniciar *)
Botoneira Parar *)
Botoneira Reiniciar *)
Botoneira Emergncia *)
END_VAR
VAR_OUPUT
Out_0
Out_1
Out_2
Out_3
Out_4
Out_5
Out_6
Out_7
Out_8
Out_9
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
%QX0.0
%QX0.1
%QX0.2
%QX0.3
%QX0.4
%QX0.5
%QX0.6
%QX0.7
%QX1.0
%QX1.1
:
:
:
:
:
:
:
:
:
:
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
BOOL;
(*
(*
(*
(*
(*
(*
(*
(*
(*
(*
Actuador 0 *)
Actuador 1 *)
Actuador 2 *)
Actuador 3 *)
Actuador 4 *)
Actuador 5 *)
Actuador 6 *)
Actuador 7 *)
Luz da botoneira Iniciar *)
Luz da botoneira Reiniciar *)
END_VAR
(*****************************************************
Fim da declarao
*****************************************************)
Emtodasastarefas,detodasasmisses,asvariveisdeentradabooleanasIn_0,
In_1, , In_10 mapeiam, por esta ordem, os valores lgicos produzidos pelos
sensoresvirtuais0,1,,10;
Emtodasastarefas,detodasasmisses,asvariveisdesadabooleanasOut_0,
Out_1, , Out_7 mapeiam, por esta ordem, os valores lgicos dos actuadores
virtuais0,1,,7;
Emtodasastarefas,detodasasmisses,asvariveisdesadabooleanasOut_8e
Out_9 mapeiam os valores lgicos dos sinalizadores luminosos das botoneiras
IniciareReiniciar,respectivamente.
115
Misso1:Automatizaodeumaestaode
transporteetriagemdemercadoriasempaletes
VariveiseinstnciasdeblocosfuncionaisusadasnaMisso1
Acadatarefadecadamissocorrespondeumprogramaqueempregaumconjuntode
variveis e instncias de blocos de funes, cuja declarao exigida pela norma IEC
611313.Porm,apresentarassoluesdasdiferentestarefasseguindoesteprincpio,
levaria a que o cdigo de cada programa fosse antecedido de uma lista de variveis e
instncias de blocos funcionais, por vezes extensa, com muitas delas j introduzidas e
explicadasnassoluesdetarefasanteriores.
Para evitar sucessivas e fastidiosas declaraes, que em pouco ou nada contribuiriam
paraacompreensodossucessivosprogramas,eassimaligeirarodocumento,optouse
por reunir, numa nica declarao, as variveis e as instncias de blocos funcionais
relativas aos doze programas de cada misso. Essa declarao conjunta, que abre a
apresentaodassoluesdecadamisso,feitaemconformidadecomanormaIEC
611313,edevesertomadaemdevidacontanaapreciaodocdigocorrespondente
soluodecadatarefa.Emparticular,deespecialimportnciaaobservaodovalor
inicialatribudoacadavarivel.
DeacordocomanormaIEC611313,adefiniodovalorinicialdeumavarivelpermite
atribuirlheumvalordiferentedaquelequeseriaoseuvalorinicialpordefeito,oqual
funodotipodevarivel;porexemplo,variveisbooleanas,inteirasereaisiniciamse,
pordefeito,em0.Parecer,pois,estranhoque,nadeclaraodealgumasvariveis,lhes
sejam atribudos os valores que teriam por defeito; por exemplo, possvel observar
que muitas variveis booleanas so inicializadas em FALSE. Tal redundncia tem o
propsitoderevelarexplicitamenteovalorinicialdealgumasvarivelparticularmente
117
importantes.Porexemplo,nocasodeumavariveldeestado,oseuvalorinicialdeve
tipicamente reflectir uma condio inicial prevista no cenrio em que a tarefa se
desenrola;logo,temdeserinicializadacomTRUEouFALSE,emconformidade.Seessa
inicializaoforbemexplcita,tantomelhor...
Assim, e muito concretamente, optouse por inicializar explicitamente mesmo aquelas
variveis que implicitamente seriam inicializadas com os valores de interesse porque,
mostra a experincia, quando a inicializao de uma varivel no explcita, alguns
leitores tm tendncia a deduzir que o valor inicial dessa varivel indiferente, no
tomandodessemodoconscinciadaimportnciadovalorinicialque,pordefeito,lhe
atribudo.Emcoernciacomesteprincpio,entendeuseinicializarexplicitamentetodas
as variveis aquando da sua declarao, excepto aquelas cujo valor inicial , de facto,
irrelevante.
Os casos em que a mesma varivel deve ser inicializada com valores distintos em
diferentes tarefas so devidamente salientados nos comentrios que acompanham a
respectivadeclarao.Tambmsosalientadososcasosemqueosvaloresiniciaisso
apenasexemplificativos;porexemplo,parmetrosdeconfigurao,tabelasdereceitas,
etc. Em qualquer caso, a declarao de uma varivel encerra em comentrio o
significado da mesma, a codificao empregue e as tarefas em que utilizada. As
variveissoagrupadasemfunodoseucontextoe,dentrodecadagrupo,listadaspor
ordem alfabtica. Tal permite enquadrar devidamente a funcionalidade das diferentes
variveiseencontrarcomfacilidadeadeclaraodeumaqualquervarivel.Porltimo,
hquereferirqueadeclaraodasvariveisantecedeadeclaraodasinstnciasdos
blocosfuncionais.
Feitasestasexplicaes,segueseadeclaraodasvariveisempreguesnasdozetarefas
quecompemaMisso1,aqualcorrespondeseguintelistagem:
(********************************************************
Declarao das variveis e instncias de
blocos funcionais IEC 61131-3 usadas na Misso 1
********************************************************)
VAR
118
Mem_timer : BOOL;
(* Tarefas 9-12 *)
(* Memria para reteno de Timer_1 *)
(* Variveis afectas ao comando da mesa rotativa *)
Busy_2 : BOOL := FALSE;
(* Tarefas 5-12 *)
(* Disponibilidade da mesa rotativa: 0 -> Disponvel *)
Carrega : BOOL := FALSE;
(* Tarefas 4-12 *)
(* Estado possvel da mesa rotativa *)
Descarrega : BOOL := FALSE;
(* Tarefas 4-12 *)
(* Estado possvel da mesa rotativa *)
Livre : BOOL := TRUE;
(* Tarefas 4-12 *)
(* Estado inicial da mesa rotativa *)
Mem_timeout_mesa : BOOL := FALSE;
(* Tarefas 11-12 *)
(* Memria para reteno de Timeout_mesa *)
Roda_carregada : BOOL := FALSE;
(* Tarefas 4-12 *)
(* Estado possvel da mesa rotativa *)
Roda_descarregada : BOOL := FALSE;
(* Tarefas 4-12 *)
(* Estado possvel da mesa rotativa *)
Sentido_descarga : BOOL := FALSE;
(* Tarefas 6-12 *)
(* Se 0, a descarga para tapete da direita *)
(* Variveis afectas ao comando do tapete de sada da direita *)
Busy_6 : BOOL := FALSE;
(* Tarefas 7-12 *)
(* Disponibilidade do tapete de sada da direita:
0 -> Disponvel *)
Mem_6 : BOOL := FALSE;
(* Tarefas 5-12 *)
(* Estado do tapete de sada da direita: 0 -> Sem paletes *)
Mem_timeout_direita : BOOL := FALSE;
(* Tarefas 11-12 *)
(* Memria para reteno de Timeout_direita *)
(* Variveis afectas ao comando do tapete de sada da esquerda *)
Busy_5 : BOOL := FALSE;
(* Tarefas 7-12 *)
(* Disponibilidade do tapete de sada da esquerda:
0 -> Disponvel *)
Mem_5 : BOOL := FALSE;
(* Tarefas 6-12 *)
(* Estado do tapete de sada da esquerda: 0 -> Sem paletes *)
Mem_timeout_esquerda : BOOL := FALSE;
(* Tarefas 11-12 *)
(* Memria para reteno de Timeout_esquerda *)
(* Variveis afectas aos modos de funcionamento da instalao *)
Automatico : BOOL := FALSE;
(* Tarefas 10-12 *)
(* Estado possvel da instalao - inicial na Tarefa 10 *)
Encerramento : BOOL := FALSE;
(* Tarefas 10-12 *)
(* Estado possvel da instalao *)
Limpeza : BOOL := FALSE;
(* Tarefas 11-12 *)
(* Estado possvel da instalao *)
Parada : BOOL;
(* Tarefas 10-12 *)
(* Instalao parada *)
Pronto : BOOL := FALSE;
(* Tarefas 10-12 *)
119
descendente de In_0 *)
descendente de In_3 *)
descendente de In_7 *)
descendente de In_8 *)
descendente de In_9 *)
(* Tarefas 6-12 *)
descendente de In_10 *)
120
(* Tarefa 12 *)
END_VAR
(********************************************************
Fim da declarao
********************************************************)
121
ResoluodaTarefa1
De acordo com o enunciado, o tapete de entrada deve movimentarse quando nele
existeumapalete.Ento,admitindoquepossvelrepresentaroestadodotapetepor
umavarivelbinria(oumemria),Mem_1,talqueMem_1=1seexisteumapalete
notapete,ocomandodestetransportadorpassasimplesmentepelaexpressoOut_1=
Mem_1.
Dadoquenoexisteumsensorqueindiqueseotapetetemounoumapalete,ovalor
lgico de Mem_1 ter de ser deduzido; concretamente, com base na observao da
entradaesadadepaletesnotapete.Assim,aentradadeumapaletedevefazerMem_1
=1ouseja,osetdeMem_1;asadadeumapaletedevefazerMem_1=0ouseja,
o reset de Mem_1. Mem_1 deve ser inicializada em 0 uma vez que dito que
inicialmentenohpaletesnotapetedeentrada.
Em termos lgicos, a entrada e sada de paletes no tapete reflectemse na transio
ascendente de In_0 (In_0 = 1) e na transio descendente de In_3 (In_3 = 1),
respectivamente. O set e o reset de Mem_1 devem pois ser motivados por estas
transies.
Oprogramacorrespondentepresentetarefaoseguinte:
(*****************************************
Misso 1 - Tarefa 1
*****************************************)
(**** DETECO DE EVENTOS RELEVANTES ****)
R_In_0 (CLK := In_0);
(* R_In_0.Q 1 quando In_0 tem uma transio ascendente. Sinaliza que
uma palete chegou ao tapete de entrada *)
F_In_3 (CLK := In_3);
(* F_In_3.Q 1 quando In_3 tem uma transio descendente. Sinaliza que
uma palete abandonou o tapete de entrada *)
(**** COMANDO DO TAPETE DE ENTRADA ****)
(* Definio da varivel de estado, Mem_1, em funo dos sinais de
entrada *)
IF R_In_0.Q THEN
Mem_1 := TRUE;
END_IF;
IF F_In_3.Q THEN
Mem_1 := FALSE;
END_IF;
122
123
ResoluodaTarefa2
Esteproblemabastantesimples,masencerraideiasdeimportnciafundamentalpara
ageneralidadedastarefasdapresentemissonarealidade,paraageneralidadedos
problemasdetransportedemercadoriasempassadeiras.
muitoimportantenotarqueotransportedeumapaletetemtrsfases.Vejaseparao
casodotapetedeentrada:
Acargadapaleterequeromovimentosimultneodoalimentadoredotapete
de entrada. Iniciase quando a palete detectada pelo sensor 0 e termina
quando o mesmo sensor deixa de a detectar. Assim, durante esta fase, o valor
lgicodeIn_01;
Otransporte,propriamenteditorequerunicamenteomovimentodotapetede
entrada. Durante esta fase, a palete no detectada pelos sensores colocados
nosextremosdotapete,peloqueIn_0=In_3=0;
Adescargadapaleterequeromovimentosimultneodotapetedeentradae
dosrolosdamesarotativa.Iniciasequandoapaletedetectadapelosensor3e
terminaquandoomesmosensordeixadeadetectar.Assim,duranteestafase,o
valorlgicodeIn_31.
Porqueacargadotapetedeentradacorrespondedescargadoalimentadortalcomo
adescargadotapetedeentradacorrespondecargadamesarotativaento,estando
o tapete de entrada indisponvel, isto , transportando ele uma palete, o alimentador
nopodedescarregar.Ouseja,oalimentadornopodepassarumapaleteparaalmda
posiodosensor0.Sopoderfazerquandootapetedeentradaficardisponvel,isto
,quandonelenoexistirqualquerpalete.
Umasoluogenrica,paraproblemasdestetipo,aceitarqueumtapeteAgeraosinal
Busy_A= 1 quando, por qualquer razo, est indisponvel para receber paletes. Ao ler
estesinal,umtapeteB,quealimenteA,ficaasaberquenodevemovimentarpaletes
paraalmdoseulimite.SopoderfazerquandootapeteAproduzirosinalBusy_A=
0.
A adaptao deste princpio ao problema em causa muito simples: o controlador do
tapetedeentradafazosetdeBusy_1apscarregarumapaleteisto,quandosente
umatransiodescendentedeIn_0eoresetdeBusy_1semprequeumapalete
descarregada isto , quando sente a transio descendente de In_3. Compete ao
comandodoalimentadorlerosinalBusy_1demodoque,chegandoumapaleteaofim
doalimentadoreestandootapetedeentradaocupado,omovimentosejasuspensoat
queotapetedeentradafiquedisponvel.
124
IF F_In_0.Q THEN
Busy_1 := TRUE;
END_IF;
IF In_0 THEN
Mem_1 := TRUE;
END_IF;
125
126
ResoluodaTarefa10
A instalao passou a ter trs estados (ou fases) possveis, cuja evoluo est
representadanografcetdaFiguraM1T10a:
AutomticoFuncionamentocontnuocomonaTarefa9;
ProntoAinstalaonofuncionaporescassezdepaletes.
FiguraM1T10aEvoluoesinalizaodosmodosdefuncionamentodainstalao
O curioso deste funcionamento que, exceptuando o alimentador, todos os
transportadores,emtodosdosmodos,secomportamdaformadescritanaTarefa9!
por simples escassez de paletes ou seja, pelo facto do alimentador deixar de
fornecer paletes que a instalao entra na fase de encerramento, acabando depois
inactiva.Fazerainstalaoregressaraomodoautomtico,permitirqueoalimentador
volteafornecerpaletesqueosdiferentestransportadoresencaminhamdevidamente.
Assim,ocdigodocomandodoalimentadorquepermaneceuimutveldesdeaTarefa
2onicoquerequeralteraoemrelaotarefaanterior.Considerandoque,caso
exista uma palete na zona do sensor 0 no momento em que dada ordem de
encerramento, essa palete ainda enviada para o tapete de entrada, o comando do
alimentadorpassaaserdadopor:
Out_0 = (NOT In_0 OR NOT Busy_1) AND (In_0 OR NOT Encerramento) AND NOT
Pronto;
154
Ou,equivalentemente:
Out_0 = (NOT In_0 OR NOT Busy_1) AND (In_0 OR Automatico);
FiguraM1T10bPiscaconstrudocomdoistemporizadoresondelay
A compresso deste esquema passa pela compreenso do diagrama temporal
representadonaFiguraM1T10c:
FiguraM1T10cDiagramatemporalparaopiscadaFiguraM1T10b
155
OprogramacorrespondenteTarefa10oseguinte:
(*****************************************
Misso 1 - Tarefa 10
*****************************************)
(**** DETECO DE EVENTOS RELEVANTES ****)
F_In_0(CLK := In_0);
F_In_3(CLK := In_3);
F_In_7(CLK := In_7);
F_In_8(CLK := In_8);
F_In_9(CLK := In_9);
F_In_10(CLK := In_10);
(**** EVOLUO E SINALIZAO DOS MODOS DE FUNCIONAMENTO ****)
(* Evoluo das varveis de estado *)
IF Automatico AND NOT In_13 THEN
Encerramento := TRUE;
Automatico := FALSE;
END_IF;
156
IF In_12 THEN
(* Quando a Botoneira Iniciar premida *)
Automatico := TRUE; (* Encerramento ou Pronto -> Automtico *)
Encerramento := FALSE;
Pronto := FALSE;
END_IF;
(* Deteco de instalao inactiva *)
Parada := NOT Mem_1 AND Livre AND NOT Mem_5 AND NOT Mem_6;
(* Materializao do Pisca de Encerramento *)
Pisca_encerramento_1(IN := Encerramento AND NOT Pisca_encerramento_2.Q,
PT := T#1s);
Pisca_encerramento_2(IN := Pisca_encerramento_1.Q, PT := T#1s);
(* Sinalizao do Modo *)
Out_8 := Pronto OR Pisca_encerramento_1.Q;
(**** COMANDO DO TAPETE DE SADA DA ESQUERDA ****)
(* Como na Tarefa 7 *)
IF F_In_10.Q THEN
Mem_5 := FALSE;
Busy_5 := FALSE;
END_IF;
IF F_In_8.Q THEN
Busy_5 := TRUE;
END_IF;
IF In_8 THEN
Mem_5 := TRUE;
END_IF;
Out_5 := Mem_5 AND (NOT In_10 OR In_15);
(**** COMANDO DO TAPETE DE SADA DA DIREITA ****)
(* Como na Tarefa 7 *)
IF F_In_9.Q THEN
Mem_6 := FALSE;
Busy_6 := FALSE;
END_IF;
IF F_In_7.Q THEN
Busy_6 := TRUE;
END_IF;
157