• Nenhum resultado encontrado

Formas distintas para leitura e es rita de dados no DAIS

G.1 Módulos prin ipais do ARCOS Management Tool

2.3 Formas distintas para leitura e es rita de dados no DAIS

ODAISServer éumsingleton 11

[22℄queestádisponíveldurantetodootempoemqueoserviçoestá

ativoerepresenta o ponto ini ial de ontato om lientes DAIS. A partirdesse objeto, o liente DAIS

pode realizaras demais operações e adquirir referên ias para os outros objetos. Ao implementar um

servidorDAISodesenvolvedor deveorganizarosdadosaseremexpostossobaformadeuma árvore,e

estaéarmazenadanaestruturainternadoobjetoDAISServer. Ousodeumaárvoreparaarmazenamento

dosdadosexpostoséjusti ado pelo fato de onstituir uma estruturabastante exível,adequada para

a representação de dados em um vasto onjunto de sistemas industriais. Essa árvore pode indi ar a

disponibilidadenãosódedadosdoambiente(temperatura,pressão,nível,et ),mastambéminformações

adi ionaistais omoomodelodosensorousualo alizaçãogeográ a.

Antesdeini iarqualqueroperaçãonoservidorDAISo lientepre isasoli itara riaçãodeumobjeto

que geren ia todo o i lo de uso do servidor por aquele liente em parti ular. Esse objeto se hama

11

DAISDataA essSession e é riado atravésda invo ação do método reate_data_a ess_session() do

objeto DAISServer. Esse objeto de sessão é mantido ativo até que o liente en erre a sessão DAIS,

invo andoométododestroy() doobjeto DAISDataA essSession.

Oobjeto DAISNodeHome provêosmétodos ne essáriospara a onstruçãoe visualização daárvore

DAISdeumservidor.Esseobjetoéumsingleton queexistedurantetodaaexe uçãodoserviçoDAISe

éobtidoatravésdainvo açãodométodonode_home() doobjeto DAISDataA essSession. ODAISNo-

deHomedisponibilizamétodosparaaobtençãodonóraizdaárvoreDAIS(get_root())eparaaobtenção

detodososlhosdeumdeterminadonó(nd_by_parent()). Comessesdoismétodos,umaimplementa-

çãore ursivapermitequeum lienteDAISvisualizetodaaárvorededadosdisponibilizadapeloservidor.

Alémdisso,métodospara a onstruçãodaárvoreDAIS,tais omooadd_node(),sãotambém denidos

peloDAISNodeHome.

Comoobjetivodeevitarinvo açõesremotasdemoradas,poten iais ausadorasdeimprevisibilidades

temporais,oresultadodométodond_by_parent()éumobjetodotipoDAISNodeIterator. Esseobjeto

permiteare uperaçãogradativae ontroladadoslhosdeumdeterminadonódaárvoreDAIS. A ada

invo açãodométodonext_n()doDAISNodeIterator,nomáximoosn (parâmetrodométodo)próximos

lhosdonóem questãosãoretornados,numa abordagem omumente onhe ida omo Lazy Load. Esses

iteratorsnão apresentammétodospararetro essoeexistemnoservidoratéqueoseumétododestroy()

sejainvo ado.

NoDAIS, aunidadedeaquisiçãodedadosé hamadadegrupo. Ao riarumgrupo,o lienteDAIS

informaquaisnósdaárvoreDAISperten emaestegrupo,alémdeinformarparâmetrostemporais, omoa

freqüên iadeaquisição. A riaçãodegruposdeaquisiçãoérealizadapeloobjetoDAISGroupHome,obtido

atravésdainvo açãodo métodoget_home() doobjeto DAISDataA essSession. Cada sessão( liente)

presentenoservidorDAISestáasso iadaaumainstân iaparti ulardoDAISGroupHome,possibilitando

que ada liente espe ique seus grupos parti ulares de aquisição. O objeto DAISGroupHome existe

enquanto existir oobjeto DAISDataA essSession asso iado. Além dos grupo parti ulares riados por

ada liente,aespe i açãotambémprevêa riaçãodegrupopúbli osdedados, omunsavários lientes

deummesmoservidorDAIS.

Novosgruposde dadossão riadosatravésdainvo açãodométodo reate_data_a ess_group() do

objeto DAISGroupHome. Para ada grupo riado, o DAISGroupHome instan ia um objeto do tipo

DAISGroupManager eretorna estareferên ia para o liente. O objeto DAISGroupManager on entra

todas as operações de aquisição e alteração dos dados industriais. Esse objeto permite a in lusão de

folhas DAIS naquele grupo em parti ular (método reate_entries()), indi ando quais dados deverão

ser adquiridos. A entrega de dados DAIS é realizada através de invo ações periódi as a métodos de

objetosde allba k,forne idospelo liente 12

. Atravésdométodo llb k()doobjetoDAISGroupManager,

12

o liente é apaz de passar para o servidor a referên ia para este objeto de allba k. A es rita de

dados nos dispositivos é realizada através dos métodos syn _read() e asyn _read(), disponibilizados

pelo DAISGroupManager. Um grupo de aquisição, e onseqüentemente o objeto DAISGroupManager

asso iado,existeatéqueométododestroy()doDAISGroupManager sejaexe utado.

Paraumdeterminadogrupo,épossível onsultarasfolhasDAIS jáinseridasnaquele grupoatravés

dainvo açãodométodo reate_group_entry_iterator(). Numaabordagemsimilarositeratorsdenósda

árvoreDAIS,essemétodoretornaumobjetodotipoDAISGroupEntryIterator,quepossibilitaa onsulta

gradativae ontroladadasfolhasDAISparti ipantesdogrupo. Essesiteratorsnãoapresentammétodos

pararetro essoeexistemnoservidoratéqueoseumétododestroy()sejainvo ado.

Agura2.15resumeoproto oloutilizadonoDAISpara a riaçãodegruposdeaquisiçãodedados.

Apóstodasessasoperações,ométodoon_data hange() doobjeto de allba k éinvo adonafreqüên ia

informadadurantea riaçãodogrupo,atualizandoo liente sobreasmudançasdosdadosdesejados.

Aespe i açãoDAISédivididaemtrêsgrandesgruposdefun ionalidades: DAISServer,DAISData

A ess eDAISAlarmsandEvents. ODAIS Server espe i aasoperaçõesne essáriasparaa riaçãode

sessões,gruposdedadoseasdemaisoperaçõesde omuni ação omo liente. ODAISDataA ess provê

osme anismosne essáriosparaaentregaperiódi adedados,denição dataxadeaquisiçãoeespe i a

a interfa e de allba k utilizada pelo liente para a re epção de dados. O DAIS Alarms and Events

espe i ainterfa esparaadeniçãoere epçãodedadosadvindosdealarmeseoutroseventosdosistema

industrial. Segundo a espe i ação, uma implementação DAIS para ser onsiderada em onformidade

omopadrão:

 deveimplementaroDAIS Server;

 deveimplementaroDAIS DataA ess OUoDAISAlarmsandEvents;

 podeimplementaroDAISDataA ess EoDAIS AlarmsandEvents.

Outrospadrõesparaaquisiçãodedadosforampropostosnosúltimos tempos. Dentreeles,desta a-seo

OPC(OLE for Pro ess Control)[28℄. Apesardagrandea eitação naindústria, oOPCapresenta omo

desvantagemasualimitaçãoaousoemplataformasproprietárias,restringindooes opodeinteroperabi-

lidadedesejado. OOPCéuma padronizaçãoqueinuen iousobremaneiraoprojeto doDAIS,visando

ARCOS - ARquitetura para COntrole e

Supervisão

A

pesarde todososbenefí iostrazidos omaadoçãodosmi ro- ontroladoreseCLP's, omodelo deprogramaçãoutilizadoporestassoluçõesselimitaaprogramas í li osemono-programados,

desenvolvidosemlinguagensdedifí ilmanutenção,tais omoLADDER,Assembly ouC.Autilizaçãode

paradigmasjá onsolidadosdaCiên iadaComputação, omoaorientaçãoaobjetos,aindaéumdesao.

Oalto ustodassoluçõesbaseadasemCLP's,aliadoàne essidadedeumambiente omputa ionalmais

exível e que possibilite soluções mais modernas, tem re entemente justi ado o desenvolvimento de

pesquisas interessadas na utilização de omponentes COTSde hardware e de software, diminuindo os

ustosefavore endoquestõesdeinteroperabilidadeedemanutenção.

3.1 Objetivos do ARCOS

Vistosob esteprisma, aevoluçãoe modernizaçãodossistemas industriaisde tempo-realéumpro esso

quedependedadisponibilizaçãodeambientesdehardware,softwaree omuni açãoquesejampoderosos,

exíveis,defá ilmanutençãoeinteroperáveis,aomesmotempoemquemantenhamas ara terísti asjá

presentesnossistemasindustriaisatuaistais omorobustez,tolerân iaafalhaseprevisibilidade. Inserida

nessepro esso,aCiên iadaComputação,eemparti ularaengenhariadesoftware,estudame anismos

emetodologiasquepossibilitama onstruçãodosambientesde softwareaseremutilizadosnossistemas

industriaismodernos. Poroutrolado,a res ente omplexidadeinseridanopro essodedesenvolvimento

enopapeldesempenhadopelosoftwaredemandaaprospe çãodete nologiaseferramentasqueauxiliem

ogeren iamentodesta omplexidade.

OARCOS(ARquiteturaparaCOntroleeSupervisão),plataformadesoftwarepropostaeimplemen-

tadanestetrabalho,éumframework (videseção2.3)parasistemasdeS&Cquefa ilitaodesenvolvimento

desistemasindustriaismodernosequaisforamasde isõestomadas,noprojetodoARCOS,parasuperá-

lospar ialoutotalmente.

Desao 1: adoção de um modelo de programação exível e poderoso. A demanda por

sistemasindustriaisdistribuídos,inteligenteseadaptativostemsidoograndefatorquemotivaaadoçãode

umanovainfra-estruturadesoftwareehardwarenaindústria. Autilizaçãodemi ro- ontroladores,CLP's

elinguagenstais omo LADDER eAssembly é umaentravepara a onstruçãode sistemas omograu

de omplexidadegeradopelosrequisitosatuais. A orientaçãoaobjetoseaste nologiasde omponentes

edemiddleware representamalternativasjá onsolidadasemáreastais omoosSistemasdeInformação,

onstituemsoluçõesapropriadasparaoatendimentosdosrequisitosatuaisdaindústria [30,43,44,108,

109℄eforamaste nologiasdebasepara oprojetodoARCOS.

Desao 2: suporte à distribuição e à interoperabilidade. Autilização dasredes de omuni-

açãode dadosna indústria foi motivada por três fatoresprin ipais: inerente dispersãogeográ a das

manufaturas,reduçãodos ustosdemanutençãoainda ausadapelo grandenúmerodeosligandosen-

soreseatuadoresaosCLP's,ene essidadedeintegração do hão-de-fábri a omosníveissuperioresda

manufatura( ontroledistribuídoesistemasdeplanejamentoegeren iamentodaprodução). Autilização

depadrõesabertospara omuni açãoindustrialfavore eaintegraçãodesoluçõesadvindasdediferentes

forne edores. Entretanto,paraarealintegraçãodamanufaturafaz-sene essárioautilização depadrões

abertosem todas as amadasdos sistemas,desde a omuni ação dedados até osproto olos utilizados

noníveldeapli ação. Conformeapresentadonasub-seção2.1.1,oCORBAéasoluçãopara omputação

distribuídaqueprovêmaiorsuporteàheterogeneidade,nosentidoemquepossibilitaa omuni açãoen-

treobjetosindependentedalinguagemdeprogramação,sistemaopera ionalearquiteturasdehardware

e omuni ação utilizados. Devido à heterogeneidade inerente e res ente dos ambientes industriais, o

CORBAfoiadotado omoomiddleware desuporteàdistribuiçãoutilizadonoprojetodoARCOS.Além

disso,oCORBA vemsendo adavez maisutilizado omo soluçãodeintegraçãoemsistemas industriais

[95,88℄.

Desao3: melhoriadaprodutividadeedamanutençãodesistemasindustriais.OCORBA

2.xsemprefoi onhe ido omoumate nologiadedifí ilutilização,deinteresseex lusivodeinstituições

depesquisa epormuitasvezes onsideradade adente. Apesardaexistên iade soluçõesreaisnaindús-

tria baseadas em CORBA 2.x [88℄, as limitações apresentadas na sub-seção 2.1.1 ontribuíram para a

disseminaçãodeste pre on eito. Comolançamentodaespe i açãoCORBA3edoCCM, essaslimita-

çõesforameliminadas,atravésdadeniçãodo ontainer exe utor de omponentes(o desenvolvedornão

ne essitamais implementar todo oservidor, somente o omponente em questão) e do usode arquivos

XML,ao invésde ódigo-fonte,paraindi ar autilização deserviçosnão-fun ionais. OCCM éummo-

delode omponentes que,em onjunto omuma boa implementação e boas ferramentas, onstituium

em onjunto omapoten ialreutilizaçãopropor ionadapelaabordagemdosframeworks, ara terizamo

ARCOS omoumambiente produtivoparaodesenvolvimentodesistemas industriaismodernos.

Desao 4: utilização de um me anismo exível para omputação distribuída. O alto

a oplamento das unidades de implementação, em sistemas omplexos, éum dos prin ipais fatores que

di ultama manutenção ereutilização destas soluções. A implementaçãode unidades auto- ontidase

ompapéisbem denidos, em onjunto om um me anismoexívelpara denição de rela ionamentos

entreessasunidades éaprin ipal abordagemutilizadapelate nologiade omponentes. Apossibilidade

de indi ação desses rela ionamentos ( onexões) atravésde des ritores XML poupa o desenvolvedor de

odi açõesexplí itasesujeitas aerros. Além disso,um novomodelodemanutençãoe dereutilização

éinstalado neste ambiente dedesenvolvimento. Componentes de software defeituosos podem ser subs-

tituídosou reparadose reintegrados. Demandasatuais da indústria, tais omo asCélulasFlexíveis de

Manufatura(FMC - Flexible Manufa turingCells)[35℄, requeremapossibilidadedealteraçãofa ilitada

dospro essos, onstituindoum bom alvopara apli açãodate nologiade omponentes, ejusti andoa

es olhapeloCCMnoprojetodoARCOS.

Desao5: utilizaçãodeumme anismoexívelpara omuni açãodistribuída. Naindústria

é omumasituaçãoondeumsensorpre isaenviarumainformaçãoparadiversossistemas,tais omoum

ontrolador,umsupervisórioouumsistemadearmazenamentohistóri o. Ane essidadedeummodelode

omuni açãodo tipomuitos-para-muitos,desa oplado,não-bloqueantee omexibilidadede in lusãoe

retiradadeprodutorese onsumidoresmotivouautilizaçãodoServiçodeEventosnoprojetodoARCOS.

Essemodeloexívelde omuni ação,em onjunto omomodeloexívelde omputaçãopropor ionado

pelas onexõesde omponentesCCM,possibilitaareutilizaçãodoARCOSemum onjuntodeapli ações

industriaisdeS&C.

Desao 6: suporte à interoperabilidadenaaquisição de dados. Aexistên iadediversaste -

nologiasdeaquisiçãodedados,tais omoCLP'sepla asdeaquisiçãoatravésdaportaparalela,semprefoi

umfator agravadordaefetivaintegraçãoeinteroperabilidadedeplantasindustriais. Odesenvolvimento

de sensores inteligentes, passíveis de serem one tados diretamente em uma redeindustrial, amenizou

esse problema no sentido em que eles estão em onformidade om padrões de omuni ação em rede.

Entretanto, paraaintegraçãoplena,éne essárioautilizaçãodepadronizaçõesnosproto olosutilizados

pelas apli açõesquemanipulamtais dados. OOMG deneespe i açõesbaseadasnoCORBA,dedi-

adasàpadronizaçãodeinterfa esvoltadasparadomíniosdeapli açãoespe í os,tais omotelefoniae

ontroledetráfegoaéreo. ODAIS (Data A quisition fromIndustrial Systems)[69℄é umaespe i ação

CORBAquepadronizaasinterfa esutilizadaspara onsultaeaquisiçãodedadosindustriais. Aodispo-

nibilizaruma implementação reutilizávelde umservidor DAIS, oARCOSrealiza adisponibilizaçãode

dados, oletadosda planta, para qualquer liente em onformidade omopadrão DAIS.Apesar deser

àmanipulação de dados industriais e apresenta possibilidades de integração omoutros padrões, mais

onsolidadosporémnãobaseadosnoCORBA, omoporexemplooOPC(OLEfor Pro essControl)[28℄.

Desao 7: espe i ação das restrições temporais e garantia da previsibilidade. O on-

servadorismo da indústria, em relação à adoção de soluções modernas de software, é justi ado pela

imprevisibilidadeebaixarobustezapresentadaspelosistemas omputa ionais onven ionais(sistemasde

informação). Odesenvolvimentodeambientesprevisíveisetolerantesafalhaséfator ru ialparaaapli-

açãodessasnovassoluçõesnoambiente industrial. Diversos estudosre entes, naáreade Tempo-Real,

propõemteoriasete nologiaspara levaraprevisibilidadede exe uçãoede omuni açãoaosambientes

omputa ionaismulti-programados. O ACE (ADAPTIVE Communi ation Environment) [90℄, o TAO

(TheACEORB)[91℄eoCIAO(Component-IntegratedACEORB)[65,103℄sãoexemplosdete nologias

ativase omreaisapli açõesnodesenvolvimentodesistemasdetempo-real[88℄. AutilizaçãodoCIAOna

implementaçãodoARCOSéjusti adapelofatodeserumasoluçãobaseadaemte nologiasjá onsolida-

dasnodesenvolvimentodesistemasdetempo-real,alémde onstituiratualmenteaimplementaçãomais

ompletadoCCM,se omparada omoutrasimplementaçõestais omooMICO-CCM[79℄eOpenCCM

[1℄.

Desao 8: onguração e implantação fa ilitada. Além dosesforçosdispensadosnoprojetoe

implementação desistemas distribuídos,a onguraçãoeimplantaçãodestes sistemas, bem omo oge-

ren iamentodoseu orretofun ionamentoéumaatividadequeapresentaalgunsdesaos. Aimplantação

erealo açãode omponentes emdiversos nósda redeenvolveatividades omo onguraçãode ORB's,

ativaçãoe onexãode omponentese onguraçãodosserviçosutilizados. NoCIAO,essasatividadessão

realizadaspelo DAnCE (DeploymentAndConguration Engine)[31℄, apresentadonasub-seção2.5.1.1.

ODAnCErealizaa onguraçãoeimplantaçãoremotade omponentes,bem omotodasas ongurações

ne essáriaspara onexõeseusode serviçosnão-fun ionais,poupandoodesenvolvedor de tal atividade.

Comodeseja-sequeapli açõesbaseadasnoARCOSsebene iemdessas ara terísti as,oDAnCEfoio

me anismode onguraçãoeimplantaçãoadotadonesteprojeto.

Desao 9: suporte à adaptação dinâmi a. Os sistemas adaptativos [75℄ são ara terizados

pela apa idadedealterarasuaestruturaefun ionamentointernos,em funçãode eventos o orridosno

ambienteopera ionaldestessistemas. Essaadaptaçãoéimportanteemsistemasquetentamotimizaroseu

fun ionamento atravésdeutilização dediversas estratégias paraum mesmoobjetivo. Como exemplos,

pode-se itar a adaptaçãode um sistema embar ado om oobjetivode reduzir o onsumo de energia

oua adaptaçãode um sistema de ontrole de modo amelhorara qualidadedo produto sendogerado.

Paraproveradaptação,osistema omputa ionaldeveutilizarumaarquiteturadesoftwareexíveleque

permita essasmodi ações, até mesmo sem intervençãohumana esem interrupções nofun ionamento

da apli ação. O ReDaC, apresentado na sub-seção 2.5.1.2, é uma API disponibiliza pelo CIAO, que

ACE

n

2

Sub−sistema de comunicação

de Dados

Aquisição

Controle

Supervisão

framework proposto

Aplicação

Aplicação

Aplicação

1

TAO

CIAO

Sistema Operacional

...

Figura3.1: OARCOSesuaste nologiassubja entes

serviço. ComoReDaCépossívelsubstituir omponentes,redenir onexõesere onguraratributosde

montagensjáimplantadas, onstituindoumbomar abouçoparauma futuraimplementaçãodosuporte

àadaptaçãonoARCOS.Alémdisso,oReDaCfoiome anismoutilizadoextensivamentenoARCOSpara

a riaçãodenovasinstân iasde omponentes,operaçãoaserdetalhadanasub-seção3.3.3.

Desao 10: disponibilização de ferramentas amigáveis para o desenvolvedor e para o

usuárional da apli ação. Além de projetar eimplementar todaaarquiteturaserver-side parauso

emsistemasindustriais,oARCOSdisponibilizaaindaferramentasgrá asdeauxílioaousodoARCOS

edeutilização dosserviçosprovidospelo framework. Essasferramentaspermitemavisualizaçãográ a

de uma planta industrial, papel re onhe idamente desempenhado pelos sistemas SCADA (Supervisory

Control And DataA quisition), alémde auxiliaropro essode usodoARCOSpara odesenvolvimento

denovossistemasdeS&C.

A gura 3.1 apresenta as te nologias subja entes utilizadas pela plataforma ARCOS. Nas ama-

dasinferiores estão presentes osub-sistema de omuni ação em tempo-real e osistema opera ionalde

tempo-real,provendoosme anismosbási osquegarantemaprevisibilidadedosistema.Na amadainter-

mediária,en ontram-seaste nologiasdeimplementaçãodoARCOS(ACE,TAOeCIAO),responsáveis

pelo ambiente deexe uçãode omponentesdistribuídos. Fazendousodessastrêste nologias,oARCOS

deneserviçosreutilizáveisparaasatividadesdeaquisiçãodedados, ontroleesupervisão. Finalmente,

na amadasuperioren ontram-seasapli açõesindustriaisquereutilizamasoluçãoarquiteturaldenida

pelaplataformaARCOS.

Nas seções seguintes serão apresentados, de forma detalhada, o modelo arquitetural proposto pelo

frameworkARCOS,questõesté ni asdaimplementaçãorealizadaealgumas onsideraçõessobrearela-

çãodoARCOS omaspe tosteóri os fundamentais para odesenvolvimentode sistemas de tempo-real

Documentos relacionados