gateway zigbee modbus tcp

Upload: jovelino-torres-dos-santos

Post on 19-Oct-2015

68 views

Category:

Documents


0 download

TRANSCRIPT

  • Faculdade de Engenharia da Universidade do Porto

    Gateway ZigBee

    Mestrado Integrado em Engenharia

    Orientador:

    i

    Faculdade de Engenharia da Universidade do Porto

    Gateway ZigBee - Modbus/TCP

    Pedro Miguel Carvalho Pereira

    Dissertao realizado no mbito do Mestrado Integrado em Engenharia Electrotcnica e de Computadores

    Major Automao

    Orientador: Paulo Jos Lopes Machado Portugal

    Junho de 2009

    Faculdade de Engenharia da Universidade do Porto

    Modbus/TCP

    Electrotcnica e de Computadores

    Paulo Jos Lopes Machado Portugal

  • Pedro Pereira, 2009

  • iii

    Resumo

    Actualmente as redes de sensores sem fios apresentam uma expanso significativa devido

    a terem sido superadas algumas das dificuldades iniciais no momento do seu aparecimento.

    Dificuldades como a fiabilidade na transmisso das mensagens, aumento da longevidade da

    bateria e custo elevado foram resolvidas abrindo portas para mercados com maiores

    exigncias como a indstria ou aplicaes mdicas.

    Este trabalho apresenta uma soluo tecnolgica para integrar as redes sem fios com as

    redes de campo j existentes, tendo como propsito criar uma estrutura capaz de fazer a

    ligao entre o protocolo ZigBee e o Modbus. Esta estrutura capaz de pertencer

    adequadamente aos dois protocolos expandindo uma rede Modbus e tornando possvel o

    acesso aos dispositivos sem fios atravs da rede cablada.

    A implementao de uma gateway entre as duas redes possibilita a conectividade

    pretendida mantendo a estrutura sem necessidade de alteraes em nenhuma das redes. Este

    ponto essencial pois s assim possvel uma interactividade completa respeitando a

    integridade de ambos os protocolos, indispensvel para obter uma utilizao fivel em

    aplicaes industriais, onde por vezes existem mais do que um tipo de dispositivos a funcionar

    cooperativamente.

    Para alm da descrio dos aspectos tcnicos ligados implementao feita uma

    exposio sobre a arquitectura que a gateway deve ter para permitir o bom funcionamento da

    rede. Toda a estrutura desta dissertao e consequente implementao teve como objectivo

    a gateway pertencer a uma rede com um nico cliente de Modbus, podendo existir ou no

    mais servidores de Modbus. Esta gateway tem de ser capaz de, para alm de gerir a rede

    ZigBee, de responder aos pedidos do clientes Modbus.

  • v

    Abstract

    Nowadays, the wireless sensor networks are growing significantly mainly because the

    initial difficulties were all ready overcome, like the transmissions reliance of the messages,

    the low capacity of the battery and the high cost of the wireless technology itself. These

    facts allowed the entrance of the wireless technology in hard markets, like industry and

    medical markets.

    This work presents a technologic solution to integrate a wireless sensor network with

    previous implanted field networks and the aim of this work is to create a framework that is

    able to establish a connection between the ZigBee and the Modbus protocols. This framework

    is also able to belong correctly to the two networks and therefore to expand the Modbus

    network, making possible the access to the ZigBee nodes through the wired network.

    The gateways implementation provides the desired connection keeping the framework of

    the two protocols.

    This point is one of the most important because only that way, it is possible to ensure the

    integrity of the protocol and the full connection with all networks which is indispensable in an

    industrial environment.

    Beside the technical issues of the implementation, a general overview of the architecture

    of the gateway is presented in order to guarantee the correct operation of the entire

    network. The framework and the consequent implementation had the single propose that

    gateway would belong in a network with only a Modbus client.

  • vii

    Agradecimentos

    Ao meu orientador, professor Paulo Portugal, pela pacincia teve comigo, pelas suas

    palavras motivadoras e pelos seus esforos feitos no decorrer desta dissertao.

    Aos meus pais por todos os momentos em que me ajudaram.

    Aos meus amigos por todas as noites passadas em conjunto.

    Cristina pelos incontveis dias adiados sempre com um toque pacincia e pronta para

    me ajudar.

  • ix

    ndice

    Resumo ............................................................................................ iii

    Abstract ............................................................................................. v

    Agradecimentos .................................................................................. vii

    ndice ............................................................................................... ix

    Lista de figuras ................................................................................... xi

    Lista de tabelas ................................................................................. xiii

    Abreviaturas e Smbolos ........................................................................ xv

    Captulo 1 .......................................................................................... 1

    Introduo ......................................................................................................... 1 1.1 - Enquadramento ........................................................................................ 1 1.2 - Objectivos ............................................................................................... 2 1.3 - Metodologia ............................................................................................. 2 1.4 - Estrutura da dissertao .............................................................................. 3

    Captulo 2 .......................................................................................... 5

    Tecnologias e Conceitos Associados .......................................................................... 5 2.1 - Redes de sensores sem fios .......................................................................... 5 2.2 - A importncia de uma gateway ..................................................................... 6 2.3 - Modbus ................................................................................................... 6

    2.3.1. Estrutura das mensagens ................................................................. 7 2.3.2. Excepes ................................................................................. 10

    2.4 - ZigBee .................................................................................................. 11 2.4.1. Dispositivos presentes numa rede ZigBee ........................................... 11 2.4.2. Topologia da rede ....................................................................... 12 2.4.3. Formato das frames ..................................................................... 13 2.4.4. Arquitectura do ZigBee ................................................................. 14 2.4.5. Primitivas ................................................................................. 16 2.4.6. Binding.................................................................................. 17 2.4.7. Exemplos de aplicaes ZigBee ....................................................... 18

    Captulo 3 ......................................................................................... 19

    Arquitectura .................................................................................................... 19

  • 3.1 - Descrio .............................................................................................. 19 3.2 - A arquitectura da gateway ......................................................................... 21 3.3 - Mapeamento de funes ............................................................................ 30 3.4 - Hardware .............................................................................................. 31

    Captulo 4 ......................................................................................... 33

    Implementao ................................................................................................. 33 4.1 - Hardware utilizado .................................................................................. 33 4.2 - Picdem Z .............................................................................................. 34 4.3 - Xport ................................................................................................... 35 4.4 - Software utilizado ................................................................................... 37

    4.4.1. A stack da Microchip ................................................................. 38 4.4.2. Zena ....................................................................................... 38

    4.5 - Trabalho desenvolvido .............................................................................. 40 4.5.1. Mquina de estados de ZigBee ........................................................ 42 4.5.2. Mquina de estados de Modbus ....................................................... 44 4.5.3. Interaco entre os dois protocolos .................................................. 45 4.5.4. Configuraes ............................................................................ 46 4.5.5. Integrao com o programa da Microchip ........................................... 51 4.5.6. Dificuldades encontradas .............................................................. 53

    Captulo 5 ......................................................................................... 55

    Concluses e Trabalho Futuro ............................................................................... 55 5.1 - Concluses ............................................................................................ 55 5.2 - Trabalho futuro ...................................................................................... 56

    Referncias ....................................................................................... 59

  • xi

    Lista de figuras

    Figura 1 - Estrutura tpica de uma mensagem de Modbus TCP ........................................ 7

    Figura 2 - Gama de "function codes" do protocolo ....................................................... 8

    Figura 3 - Envio de mensagem sem erro de recepo adaptado de [5]. ............................. 8

    Figura 4 - Envio de mensagem com erro de recepo adaptado de [5]. ............................. 9

    Figura 5 - Esquema de uma transio do lado do servidor adaptado de [5]. ...................... 10

    Figura 6 - Rede ZigBee em estrela ........................................................................ 13

    Figura 7 - Rede ZigBee em "cluster" ...................................................................... 13

    Figura 8 - Rede ZigBee emalhada ......................................................................... 13

    Figura 9 - Frame de dados do protocolo ZigBee ........................................................ 14

    Figura 10 - Esquema da stack de ZigBee .............................................................. 15

    Figura 11 - interaco entre camadas [9]. .............................................................. 16

    Figura 12 - Exemplo de "binding" adaptado de [10]. .................................................. 17

    Figura 13 - Exemplo de aplicaes ZigBee no campo da domtica adaptado de [12]. .......... 18

    Figura 14 - Estrutura da rede. ............................................................................. 20

    Figura 15 - Estrutura da gateway (vista global). ....................................................... 22

    Figura 16 - Pormenor da gateway. ........................................................................ 23

    Figura 17 - Juno de um n rede. ..................................................................... 25

    Figura 18 - Esquema de uma recepo de mensagem de leitura desde o cliente at gateway. ................................................................................................ 26

    Figura 19 - Esquema de recepo de uma mensagem de escrita e subsquente envio para o n respectivo ........................................................................................... 27

    Figura 20 - Esquema de consulta peridica aos ns ZigBee. ......................................... 29

  • Figura 21 -Estrutura bsica da gateway adaptado de [17] ........................................... 31

    Figura 22 - N de desenvolvimento do Picdem Z....................................................... 34

    Figura 23 Xport ............................................................................................. 35

    Figura 24 - Arquitectura interna do Xport. .............................................................. 36

    Figura 25 - Pgina de configuraes da porta srie do XPort ........................................ 37

    Figura 26 - Painel de configuraes do software Zena. ............................................... 39

    Figura 27 - Modo de visualizao das mensagens ZigBee. ............................................ 39

    Figura 28 - Estrutura de leitura de um registo do tipo holding adaptado de [5]. ................ 41

    Figura 29 - Estrutura de funcionamento da gateway. ................................................. 42

    Figura 30 - Estrutura da mquina estados ZigBee. ..................................................... 43

    Figura 31 - Estrutura de um servidor de Modbus adaptado de [5]. ................................. 44

    Figura 32 - Menu de configuraes com opo genrica. ............................................. 47

    Figura 33 - Estrutura da opo para acrescentar um n. ............................................. 48

    Figura 34 - Estrutura da opo para alterar as configuraes de cada n. ........................ 49

    Figura 35 - Estrutura da opo para eliminar um n da gateway. .................................. 50

    Figura 36 - Estrutura da opo para listar os ns. ..................................................... 50

    Figura 37 - Incluso do programa principal no cdigo do coordenador ZigBee ................... 51

    Figura 38 - inserir um n na tabela de endereamento............................................... 51

    Figura 39 - Recepo de uma mensagem via Modbus. ................................................ 52

    Figura 40 - Actualizao da tabela de endereamentos. ............................................. 52

    Figura 41 - Actualizao automtica das entradas dos ns. ......................................... 52

    Figura 42 - Escrita num registo na tabela de endereamentos. ..................................... 53

  • xiii

    Lista de tabelas

    Tabela 1 - Exemplo das funes mais comuns do protocolo Modbus ................................. 7

    Tabela 2 - Tabela de endereamento conceitual. ..................................................... 24

    Tabela 3 - Recepo de uma trama com um "function code" no implementado. ............... 25

    Tabela 4 - Envio de uma trama de resposta a um "function code" no implementado. ......... 26

    Tabela 5 - Trama de leitura de um registo enviada pela cliente Modbus. ......................... 26

    Tabela 6 - Envio da resposta trama de leitura de um registo enviada pela cliente Modbus. ................................................................................................. 27

    Tabela 7 - Envio, pelo cliente Modbus, de um pedido de escrita num registo. ................... 27

    Tabela 8 - Envio da trama ZigBee para escrever na sada correspondente. ....................... 28

    Tabela 9 - Confirmao que a mensagem foi enviada com sucesso. ............................... 28

    Tabela 10 - Envio, para o cliente Modbus, da confirmao da escrita no registo pedido....... 28

    Tabela 11 Envio de uma trama para o cliente Modbus, caso no exista confirmao de envio. .................................................................................................... 28

    Tabela 12 - Envio de trama ZigBee de forma a ler todas as entradas e sadas presentes no n ZigBee. .............................................................................................. 29

    Tabela 13 - Envio da resposta por parte do n ZigBee. ............................................... 29

    Tabela 14 - Tabela de endereamentos. ................................................................ 46

    Tabela 15 - Campos enviados pelo n ZigBee ao se activar uma sada. ............................ 53

  • xv

    Abreviaturas e Smbolos

    Lista de abreviaturas

    APL Application layer

    APO Application object

    APS Application support sub-layer

    APSDE Application support sub-layer data entity

    FFD Full function device

    IP Internet Protocol

    MAC Medium access control

    NWK Network layer

    OSI Open Systems Interconnection

    PHY Physical layer

    SAP Service access point

    RFD Reduced function device

    RSSF Redes de sensores sem fios

    ZED ZigBee end device

    ZDO ZigBee device object

  • 1

    Captulo 1

    Introduo

    Este captulo faz uma pequena introduo temtica na qual se insere o trabalho. So

    ainda referidos os objectivos bem como a metodologia utilizada na abordagem do mesmo. No

    final, so enumerados os assuntos abordados em cada captulo.

    1.1 - Enquadramento

    O desenvolvimento actual das redes sem fios permite a produo de ns de sensores cada

    vez mais pequenos, fiveis e autnomos facilitando a sua integrao em campos onde a sua

    utilizao no era permitida anteriormente.

    Estes pequenos dispositivos tm vindo a abranger reas como a vigilncia e a domtica

    onde se tm revelado extremamente capazes devido flexibilidade e capacidade de se

    organizarem de forma a reencaminhar mensagens para os vrios destinos apesar do seu curto

    alcance.

    O boom desta tecnologia originou o aparecimento de redes como o ZigBee, que alia a

    flexibilidade ao baixo consumo dos seus dispositivos tornando-a assim uma tecnologia

    interessante quando se tratam de redes com muitos ns e uma taxa de transferncia baixa.

    Existem j um sem nmero de aplicaes deste gnero apesar da sua curta existncia.

    Com o crescimento desta tecnologia e com o aumento da sua segurana e fiabilidade, as

    redes de sensores sem fios comearam a surgir em reas que at ento no eram sequer

    consideradas. A indstria, nas suas variadas vertentes, uma dessas reas, existindo hoje em

    dia j bastantes aplicaes. No entanto existe a dificuldade de integrar dois sistemas to

    distintos como as redes de campo que surgiram antes da dcada de 80 e as redes sem fios

    mais actuais. neste campo que se insere o projecto tentando facilitar a integrao das

  • 2 Introduo

    redes sem fios de curto alcance em ambientes de natureza industrial de forma a diminuir os

    custos de implementao destas bem como acrescentar outras vantagens de operabilidade

    com novas redes de sensores.

    1.2 - Objectivos

    A necessidade de uma interface que concilie uma rede sem fios e uma rede de campo

    uma mais-valia considervel principalmente no domnio das redes sem fios facilitando a sua

    integrao em reas industriais. Se nesta integrao for utilizada uma rede de campo com

    grande aceitao no mercado quer a gateway, o trabalho aqui apresentado, quer a rede sem

    fios em questo saem beneficiadas.

    Este trabalho prope-se desenvolver uma gateway que permita interligar uma rede ZigBee

    a uma rede que suporte o protocolo Modbus/TCP respeitando os dois protocolos e criando um

    meio no qual os dois possam trocar informao. A gateway tem tambm de condicionar o

    acesso dos ns ZigBee rede, impedindo assim ligaes de ns que no tenham significado no

    contexto da rede Modbus/TCP. Este trabalho tem tambm por objectivo permitir o acesso de

    um dispositivo Modbus/TCP s entradas e sadas desses mesmos ns presentes na rede ZigBee.

    1.3 - Metodologia

    A metodologia deste trabalho consistiu em:

    Conhecer os protocolos necessrios para a realizao deste trabalho bem como o tipo

    de perfis que cada um implementa de forma a ser possvel estruturar uma gateway

    onde os dois protocolos podem interagir entre si.

    Efectuar um levantamento das escolhas possveis para o hardware necessrio para a

    implementao e desenvolvimento da gateway.

    Implementar a gateway garantindo um fluxo organizado de informao do cliente

    Modbus para os ns ZigBee criando uma rede com uma topologia do tipo

    cliente/servidor atravs de TCP/IP.

    Disponibilizar a informao dos ns ZigBee na gateway para que esta possa ser acedida

    pelo cliente Modbus/TCP.

  • Estrutura da dissertao 3

    Criar uma estrutura flexvel de modo a que seja possvel adicionar ou remover um n

    ZigBee garantindo, no caso de um n no estar presente na rede que o cliente Modbus

    informado dessa situao.

    1.4 - Estrutura da dissertao

    Esta dissertao encontra-se dividida em 5 captulos.

    O primeiro captulo apresenta o problema e os objectivos deste trabalho bem como a

    metodologia utilizada para o resolver e por fim efectuada uma viso sobre a estrutura de

    todo o documento.

    O segundo captulo dedicado aos conceitos tericos associados a este trabalho

    comeando com uma introduo sobre redes sem fios, tambm denominadas por redes de

    sensores sem fios. De seguida existe uma interpretao sobre a gateway, o seu papel na rede

    e a sua importncia no contexto do problema. Para finalizar apresentam-se os protocolos

    usados durante a implementao do trabalho e alguns dos seus pormenores mais importantes.

    O terceiro captulo todo ele dedicado arquitectura da gateway definida neste trabalho

    descrevendo como a gateway se deve organizar para obter uma interaco correcta entre os

    dois protocolos mapeando os diferentes dispositivos de cada um deles, disponibilizando um

    intercmbio de servios para a unidade responsvel por gerir a rede Modbus.

    O quarto captulo comea com uma apresentao dos aspectos mais relevantes do

    hardware e do software utilizado, terminando com a exposio do trabalho implementado e

    as principais dificuldades encontradas durante o seu desenvolvimento. A apresentao do

    trabalho maioritariamente composta por diagramas representativos da estrutura do cdigo

    desenvolvido facilitando a sua compreenso.

    O quinto captulo est reservado para as concluses do trabalho fazendo-se uma

    retrospectiva deste e apontando sugestes para o trabalho futuro que possa melhorar a

    gateway.

  • 4 Introduo

  • 5

    Captulo 2

    Tecnologias e Conceitos Associados

    Neste captulo so apresentados os conceitos relevantes no desenvolvimento deste

    trabalho.

    Nesse sentido feita uma breve referncia s redes de sensores sem fios de forma a

    enquadrar o projecto e posteriormente, ao conceito de gateway, e qual o seu papel numa

    rede de comunicaes. No final so apresentados os protocolos de Modbus e ZigBee.

    2.1 - Redes de sensores sem fios

    As redes de sensores sem fios (ou rssf) tm vindo a assumir uma importncia crescente no

    nosso mundo, envolvendo cada vez mais reas de aplicao.

    O seu baixo custo, flexibilidade e baixo consumo de cada elemento da rede tornam-na

    ideal para as necessidades do mundo actual. Assim, em contra partida com as redes

    tradicionais, por fios, as redes de sensores sem fios no necessitam de um planeamento to

    exigente para a sua disposio fsica apresentando ainda a vantagem da substituio, em caso

    de avaria, de um elemento da rede estar simplificada devido ausncia de fios.

    Estas redes tm vindo a suscitar interesse em ramos como a indstria automvel, a txtil,

    a ferroviria [1] existindo inclusivamente aplicaes mdicas utilizando este tipo de redes.

    A nvel das aplicaes no industriais a domtica destaca-se, existindo um vasto nmero

    de aplicaes com este tipo de redes [2].

    O crescente nmero de aplicaes deve-se ao facto de nos dias de hoje existir uma maior

    necessidade de interactividade com meio exterior.

    Numa habitao em que tenham sido implementadas funes de domtica, esta aplicao

    pode interagir com os seus habitantes facilitando-lhes as tarefas do quotidiano. No entanto

  • 6 Tecnologias e Conceitos Associados

    esta tambm pode interagir de formas mais complexas com o intuito de salvar vidas em

    situaes que o utilizador esteja em perigo. A utilizao de redes sem fios nesse campo

    apresenta vantagens como a flexibilidade da rede, o baixo custo e facilidade de

    implementao da mesma [3].

    Estas vantagens so mais evidentes quando a habitao no foi projectada inicialmente

    para a domtica, pois devido ausncia de fios toda a remodelao necessria reduzida ao

    mnimo.

    2.2 - A importncia de uma gateway

    As redes sem fios deparam-se com o desafio da interoperabilidade com as redes campo

    actualmente existentes.

    Uma rede sem fios apresenta vantagens inerentes sua natureza, apesar de muitas serem

    intrnsecas ao protocolo implementado. Contudo, existem vantagens comuns s redes sem

    fios tais como a facilidade e baixo custo de implementao, a fcil reconfigurao entre

    outras.

    De igual forma existem desvantagens como a sensibilidade a rudo electromagntico,

    velocidade de transmisso reduzida quando comparada com as redes com fios e a segurana,

    sendo esta ltima uma questo fundamental em redes industriais [4].

    Contudo, as redes sem fios so uma opo vivel para um futuro cada vez mais prximo

    em que substituiro grande parte das redes de campo actuais.

    Este trabalho insere-se nesta rea interligando uma rede bastante conhecida e de domnio

    industrial como o Modbus (na sua vertente TCP/IP) com uma rede mais recente e sem fios

    como a rede ZigBee, tendo como objectivo a criao de um dispositivo de interconectividade

    entre estas duas redes convertendo a informao de um protocolo para o outro.

    2.3 - Modbus

    O Modbus foi pela primeira implementado para aplicaes de redes de autmatos

    programveis em 1979 sendo, na altura, um protocolo proprietrio da Modicon. Actualmente

    o protocolo mantido pela Modicon-IDA e um protocolo aberto e vastamente utilizado no

    domnio das redes de autmatos.

    Em 1999 esta mesma entidade acrescentou norma o Modbus/TCP adicionando assim uma

    funcionalidade ao protocolo original e adaptando-o s necessidades actuais.

  • Modbus 7

    2.3.1. Estrutura das mensagens

    O Modbus define uma arquitectura cliente/servidor em que o cliente responsvel pela

    organizao da rede, pelo fluxo das mensagens e tambm pelo envio de mensagens aos

    servidores. Um servidor numa rede Modbus , usualmente, um mdulo de entradas e sadas.

    A estrutura bsica de uma mensagem de Modbus apresenta trs campos distintos: o

    endereo de destino, o function code pretendido, uma gama de informao adicional que

    est intrinsecamente ligado com o function code da mensagem.

    Figura 1 - Estrutura tpica de uma mensagem de Modbus TCP

    O function code mais do que um cdigo de dois bytes que identifica uma funo que o

    destinatrio dever reconhecer.

    Tabela 1 - Exemplo das funes mais comuns do protocolo Modbus

    Descrio Function code (em hexadecimal)

    Ler entrada discreta 0x02

    Ler sada 0x01

    Escrever sada simples 0x05

    Escrever sadas mltiplas 0x0F

    Ler registo de entrada 0x04

    Ler registo holding 0x03

    Escrever registo simples 0x06

    Escrever registos mltiplos 0x10

    Ler/escrever registos mltiplos 0x17

    Os function codes podem ser de trs tipos:

    Funes publicas - So funes bem definidas pela norma, em que necessrio

    que estas cumpram a estrutura presente na norma.

    Funes definidas pelo utilizador - So funes que, como o prprio nome indica,

    so implementadas pelo prprio utilizador, sem que se garanta a compatibilidade

    entre outras podendo mesmo existir funes diferentes com o mesmo cdigo.

  • 8 Tecnologias e Conceitos Associados

    Function codes reservados - Funes actualmente utilizadas por algumas

    empresas e que detm o direito exclusivo do seu uso. Como tal, no podem ser

    utilizadas pelo pblico em geral.

    Figura 2 - Gama de "function codes" do protocolo

    importante referir que para alm destas 127 funes, representadas na figura, existem

    ainda outras 127 que correspondem a diferentes incoerncias presentes na mensagem

    recebida. Estas so denominadas por excepes onde o function code dessas mensagens

    igual ao function code original, sem erro, mas com o bit mais significativo a 1.

    Isto significa que uma funo como a 0x01 enviada pelo cliente, em caso de erro na

    recepo no lado do servidor teria como resposta 0x81.

    Estas excepes podem ter de diferentes origens. Assim, enquanto umas resultam do

    facto da mensagem original tentar aceder a registos no existentes, outras devido ao facto da

    funo pretendida no ser suportada pelo cliente em questo.

    Figura 3 - Envio de mensagem sem erro de recepo adaptado de [5].

  • Modbus 9

    Figura 4 - Envio de mensagem com erro de recepo adaptado de [5].

    Na Figura 3 e na Figura 4 pode-se observar o esquema de troca de mensagens entre um

    cliente e um servidor Modbus, bem como a diferena entre os dois esquemas, que se deve a

    um erro recepo da mensagem proveniente do cliente. Uma mensagem de Modbus, em

    traos gerais, composta por dois campos. O primeiro, o function code responsvel por

    chamar uma funo especfica do lado do servidor, existindo mais de vinte funes pr-

    definidas pela norma. Por exemplo, o cdigo 0x01 especifica a funo para ler o estado de

    uma sada do servidor e o cdigo 0x05 serve para escrever nessa mesma varivel.

    O segundo campo reservado a dados adicionais relativos respectiva funo. Este

    campo pode ser utilizado para enviar dados especficos a cada funo ou para reportar erros

    de leitura na mensagem recebida por parte do servidor. Na Figura 5 apresentado o esquema

    de uma transaco com as verificaes necessrias, que o servidor tem que percorrer, de

    modo a ser garantida a integridade da mensagem recebida e posteriormente o envio de uma

    resposta vlida.

  • 10 Tecnologias e Conceitos Associados

    Figura 5 - Esquema de uma transio do lado do servidor adaptado de [5].

    2.3.2. Excepes

    A norma de Modbus define dez cdigos de excepo estando na Figura 5 representados

    seis deles. A seguir apresenta-se uma breve descrio de cada um deles:

    Excepo 1 - Retornado numa mensagem quando o servidor no suporta a

    mensagem enviada pelo cliente. Excepo 2 - Corresponde tentativa de acesso a um registo que inexiste. Excepo 3 - Existe quando o valor presente no campo dos dados no permitido

    para o servidor em questo. Excepo 4 - Ocorreu um erro no servidor enquanto este tentava responder ao

    pedido em questo. Excepo 5 - Significa que o servidor esta numa operao que envolve algum

    processamento e consequentemente algum tempo, logo esta mensagem enviada de forma a impedir um erro de time out no cliente.

    Excepo 6 - Significa que o servidor esta numa operao demorada e como tal o cliente deve retransmitir a mensagem mais tarde.

    Excepo 8 - Excepo usada nas funes de leitura e escrita de um ficheiro, significando que o servidor tentou ler um ficheiro mas detectou um erro de paridade.

  • ZigBee 11

    Excepo 0A - Esta excepo apenas usada em redes em que existam gateways e significa que a gateway no consegue reencaminhar a mensagem para o destino pretendido, significando, normalmente, que esta est mal configurada ou em sobrecarga.

    Excepo 0B - Tal como a anterior excepo, estas tambm so usadas em redes onde existam gateways sendo que neste caso a gateway no obtm resposta do destino pretendido, significando, habitualmente que o dispositivo no est presente na rede.

    2.4 - ZigBee

    O ZigBee uma tecnologia relativamente recente na rea das redes de sensores sem fios,

    apresentada em Junho de 2005. Esta tem vindo a despertar um interesse crescente em

    diversas reas, desde as industriais at domtica. O ZigBee apresenta grandes

    potencialidades para a sua utilizao em redes que tenham como requisitos o baixo custo, o

    baixo consumo ou baixa taxa de transmisso. Assim sendo a rede ZigBee apresenta as

    seguintes caractersticas [6]:

    Baixo consumo energtico - tornando possvel a utilizao de pequenas unidades

    remotas, tornando-as autnomas durante longos perodos de tempo sem que seja preciso manuteno.

    Baixo custo por n - devido baixa exigncia do protocolo possvel implementa-lo em unidades com reduzida memria e processamento.

    Roteamento - o protocolo ZigBee permite que as mensagens, quando no exista uma rota directa para o destino, sejam reencaminhadas para o mesmo por outras unidades da rede.

    Encriptao das mensagens - utilizando um algoritmo poderoso como o AES de 128-bit.

    2.4.1. Dispositivos presentes numa rede ZigBee

    Os elementos da rede de ZigBee podem ser divididos em dois grupos, os full function

    devices ou FFD e os reduced function devices ou RFD. Os FFD, como o prprio nome indica

    so dispositivos que implementam toda a pilha protocolar sendo assim elementos mais

    complexos da rede. No entanto, so os dispositivos mais versteis podendo funcionar como

    coordenador, router ou mesmo RFD. O segundo grupo de elementos so os RFD, que ao

    implementarem apenas parte da norma apresentam menores exigncias por parte do

    hardware e como tal baixam significativamente os custos do conjunto da rede, visto que

    estes dispositivos so os mais numerosos.

  • 12 Tecnologias e Conceitos Associados

    Coordenador - o dispositivo que cria e gere a rede mantendo a tabela de roteamento

    das mensagens. Em cada rede existe apenas um dispositivo desta natureza podendo

    comunicar, directa ou indirectamente com todos os restantes tipos de dispositivos. Como j

    foi referido este dispositivo um FFD.

    Router - o dispositivo que se apresenta, normalmente, entre o coordenador e os RFD's

    tendo como objectivo o encaminhamento de mensagens entre os mesmos. Para tal, cada

    router pode comunicar com o coordenador, outros routers e com os RFD's a ele

    associados. Isso conseguido implementando toda a stack ZigBee nestes dispositivos, sendo

    estes dispositivos FFD's tal como o coordenador.

    RFD - o dispositivo mais bsico da rede tendo como funo o de fornecer o estado das

    variveis a monitorizar, podendo apenas comunicar com o FFD ao qual est directamente

    ligado.

    2.4.2. Topologia da rede

    Uma das grandes vantagens da rede ZigBee a versatilidade e como tal existem trs

    topologias possveis para estrutur-la.

    O formato de ligao em estrela apresentado na Figura 6. Neste tipo de configurao

    toda a rede dispe de uma conexo directa com o n coordenador dispensando-se assim os

    elementos de reencaminhamento na rede. Esta configurao bastante utilizada em redes

    com poucos elementos devido sua simplicidade e ao facto de os algoritmos necessrios para

    a criarem serem de igual forma simples o que leva a uma menor sobrecarga no elemento

    coordenador.

    A topologia emalhada, Figura 8, uma das topologias mais vantajosas visto permitir

    ultrapassar a questo do curto alcance da rede e mesmo de obstculos que estejam a

    enfraquecer o sinal.

    A perda de conectividade com um router origina duas situaes distintas. Em primeiro

    lugar necessrio reconfigurar as rotas de acesso a toda a rede, de seguida, e se existirem

    dispositivos RFD que tenham perdido ligao com a restante rede, necessrio recuperar

    essa conectividade. No entanto essa aco s possvel se existirem routers nas

    imediaes do router perdido que possam aceitar esses RFD's na sua rede interna.

    A topologia por clusters representada na Figura 7 difere da anterior visto nesta os

    routers apresentarem uma funo organizativa da rede conferindo-lhe nveis de

    hierarquizao.

    Em qualquer das topologias o n coordenador responsvel pela criao e manuteno da

    rede. No entanto na topologia emalhada e na topologia por clusters os routers podem

    adicionar novos elementos rede.

  • ZigBee 13

    2.4.3. Formato das frames

    As frames, ou mensagens, enviadas no protocolo ZigBee podem dividir-se em quatro

    grupos [7]:

    Frames de dados usada para transmitir informao;

    Frames de acknowledge - usada para confirmar a recepo de uma mensagem se o utilizador assim o pretender;

    Frames de beacon utilizadas pelo coordenador para ajudar no sincronismo da

    rede diminuindo drasticamente o consumo de energia por parte dos ns;

    Frame de MAC command mecanismo de controlo remoto e configurao dos

    ns.

  • 14 Tecnologias e Conceitos Associados

    Figura 6 - Frame de dados do protocolo ZigBee

    Tipicamente uma frame de ZigBee tem o aspecto da Figura 6 com dois campos principais.

    O APS header, cabealho da mensagem, contm informao sobre o endereamento e

    sobre o controlo da frame. O APS payload um campo destinado informao e pode no

    existir em alguns tipos de frames como por exemplo numa frame do tipo acknowledge.

    2.4.4. Arquitectura do ZigBee

    A ZigBee Alliance a instituio que define todo o protocolo, sendo responsvel pela

    camada de rede (NWK) e de aplicaes (APS). Estas duas camadas esto implementadas em

    cima da camada fsica (PHY) e a camada de acesso ao meio (MAC) definida pela norma

    IEEE802.15.4 como se observa na Figura 7.

    Sendo a norma IEEE 802.15.4 responsvel pela definio a camada PHY e a camada MAC

    para redes de sensores de curto alcance com baixa taxa de transmisso conhecidas por LR-

    WPAN [8].

    A camada fsica suporta trs gamas de frequncia distintas tornando-a assim mais flexvel

    e dando oportunidade ao implementador de utilizar a banda com a menor interferncia

    possvel. A banda mais comum para as aplicaes utiliza a banda destinada a aplicaes

    industriais, cientficas e mdicas conhecida por ISM e disponibilizando 16 canais diferentes

    para a sua utilizao. de sublinhar que esta banda utiliza a mesma frequncia que a rede

    Wi-Fi, podendo originar em ambientes com redes muito sobrecarregadas alguns problemas de

    conectividade.

    As restantes gamas de frequncia so a 868MHz e 915MHz estas so gamas regionais

    utilizadas, a primeira, em toda a Europa e a segunda nos Estados Unidos.

  • ZigBee 15

    Figura 7 - Esquema da stack de ZigBee

    A camada de acesso ao meio define os dois tipos de dispositivos, FFD e RFD, j referidos

    anteriormente. As diferenas de funcionalidades entre estes dois elementos so bem visveis

    nesta camada, isto porque enquanto um FFD apresenta todas as funes possveis da mesma

    um RFD apenas apresenta as funes necessrias que o permitem ligar rede e enviar

    mensagens sem que consiga coordenar mensagens.

    Enquanto a camada de ligao rede identifica apenas dois tipos de dispositivos, a

    camada de rede cria mais uma subdiviso entre os FFD, definindo assim o conceito de

    coordenador e o de router anteriormente apresentado.

    A camada de rede tambm responsvel pela formao da rede, endereamentos dos

    ns, gesto e descoberta de novas rotas.

    A camada de aplicao composta por trs sub-camadas, a Framework Application, a

    ZigBee Device Object (ZDO) e a Application Sub Layer (APS). A Framework Application

    apresenta um conjunto de Application Objects (APO's) capazes de mapearem os ns

    vizinhos e assim facilitar a interaco entre eles. O ZDO outro dos servios fornecidos pela

    camada de aplicao que tem como objectivo a descoberta de novos elementos na rede e os

    servios por eles implementados. A APS a uma sub-camada, como o prprio nome indica,

    responsvel pelo encaminhamento de informao dos APO's e do ZDO para a camada inferior

    e vice-versa [8].

  • 16 Tecnologias e Conceitos Associados

    2.4.5. Primitivas

    De forma a permitir a interaco entre as duas camadas adjacentes presentes na Figura

    7, quer o protocolo ZigBee quer o IEEE802.15.4 utilizam o conceito de primitivas

    possibilitando s camadas superiores acederem aos servios disponibilizados pelas camadas

    inferiores. Desta forma a camada imediatamente inferior (N) pode fornecer um servio que a

    camada imediatamente superior pode utilizar (N+1).

    Figura 8 - interaco entre camadas [9].

    A passagem de informao entre essas duas camadas passa-se atravs da invocao de

    funes ou troca mensagens sendo denominada por primitivas em que os pontos de conexo

    entre camadas esto representados na Figura 7 pelos service access point (SAP).

    Apesar de cada SAP apresentar funcionalidades e respostas diferentes todos eles

    apresentam quatro formas genricas de comunicao entre camadas, sendo estas: request,

    quando a camada superior (N+1) faz uma requisio de um servio uma camada inferior (N);

    indication, gerada pela camada inferior quando existe um evento necessrio para a camada

    superior; response, resposta enviada pela camada superior a uma primitiva do tipo

    indication da camada N; confirm, enviado pela camada N para indicar que um request

    proveniente da camada N+1 terminou.

    Este mtodo facilita a troca de informao entre camadas mantendo a coerncia e a

    funcionalidade entre as mesmas. Permitindo tambm a utilizao dos servios

    disponibilizados por cada camada para uma aplicao de utilizador de uma forma mais

    transparente.

  • ZigBee 17

    2.4.6. Binding

    O protocolo ZigBee implementa o conceito de binding para facilitar a troca de

    mensagens entre os elementos da rede.

    Esta funcionalidade permite ligar um n a outro ou mais ns da rede utilizando para tal

    uma tabela, a tabela de binding, na qual so guardadas informaes como o endpoint ao

    qual os ns se esto a ligar, o endereo de destino do n ou do grupo em questo e o

    identificador do n de destino na rede. A vantagem em usar estes dois identificadores

    destaca-se quando o n de destino muda de identificador e possvel actualizar o

    identificador do n sem perder a sua entrada na tabela de binding.

    O binding de dois ou mais ns facilita em muito a quantidade de mensagens a enviar

    quando existem vrios ns que esto ligados ao mesmo endpoint, pois assim o cdigo

    necessrio para o envio das mensagens diminui significativamente deixando a APS responsvel

    pelo envio das mesmas.

    Figura 9 - Exemplo de "binding" adaptado de [10].

    Como se pode ver na Figura 9 possvel associar um n a outros atravs do binding. No

    caso do interruptor superior, a associao estabelecida por um conjunto de ns

    representando os dispositivos de iluminao que por sua vez esto associados a um n que

    contm um interruptor que envia comandos de forma a ligar ou desligar as luzes. Para tal ser

    possvel necessrio que os ns responsveis pelos dispositivos de iluminao estejam na

    tabela de binding do interruptor. Comparativamente com o conjunto de trs interruptores,

    o binding dos dispositivos de iluminao apenas apresenta a desvantagem de no puderem

    ser utilizadas as trs lmpadas de forma independente.

  • 18 Tecnologias e Conceitos Associados

    2.4.7. Exemplos de aplicaes ZigBee

    Hoje em dia j existe um sem nmero de aplicaes ZigBee as quais cobrem os mais

    vastos campos de aplicao. Desde aplicaes mdicas como o caso presente em [11] em

    que prevendo-se a necessidade de uma monitorizao permanente de uma populao com

    uma esperana de vida cada vez maior, decidiu-se implementar um sensor integrado na roupa

    facilitando assim a sua utilizao. Os pontos fortes para a aplicao da rede ZigBee neste

    projecto so o facto de ser uma rede sem fios com a capacidade de recolher informao de

    mltiplos sensores permitindo uma mobilidade elevada do utilizador do sensor. Factores

    como o reduzido tamanho da plataforma e elevada autonomia desta foram tidos em conta

    para este projecto com o intuito de criar uma plataforma de tamanho reduzido e capaz de

    ser utilizada numa base diria sem causar incmodo para o utilizador.

    Figura 10 - Exemplo de aplicaes ZigBee no campo da domtica adaptado de [12].

    Uma das reas de aplicao mais famosa da rede ZigBee sua utilizao em domtica de

    forma a ajudar criao de edifcios inteligentes. Nesta rea o ZigBee apresenta-se como um

    protocolo de comunicaes que rene a capacidade de integrar todo o tipo de aplicaes tais

    como o controlo de iluminao, sistemas de aquecimento e ventilao, monitorizao,

    segurana, udio e vdeo [13]. Estes tipos de aplicaes so as mais usadas em domtica e o

    onde o ZigBee apresenta como principal mais-valia a relao custo/eficincia do mesmo [7].

  • 19

    Captulo 3

    Arquitectura

    Este captulo apresenta o conceito da gateway implementada. Numa primeira parte

    introduzida a arquitectura desenvolvida seguindo-se de uma descrio detalhada da estrutura

    que esta deve seguir.

    tambm descrita a interaco entre os dois protocolos e para finalizar apresenta-se o

    hardware necessrio para desenvolver a gateway.

    3.1 - Descrio

    Parte do trabalho realizado envolveu o desenvolvimento da arquitectura que a gateway

    teria de seguir. Para este problema, no existe uma soluo nica e pelo facto de se tratar de

    dois tipos protocolos distintos apresentam-se dificuldades acrescidas. A primeira que se

    apresenta o facto de a gateway ter de pertencer s duas redes de comunicao distintas,

    nas quais tem de, simultaneamente e de uma forma transparente comunicar com os

    diferentes dispositivos. Este ponto foi ultrapassado implementando na gateway dois papis

    diferentes de funcionamento presentes nos dois protocolos, tornando-a assim um membro de

    cada uma das redes simultaneamente e desempenhando um papel diferente do ponto de vista

    de cada rede. Assim do ponto de vista da rede Modbus, a gateway comporta-se como um

    servidor de Modbus disponibilizando a informao a um cliente Modbus em forma de registos.

    E do lado da rede ZigBee a gateway comporta-se como um n coordenador ZigBee com as

    funcionalidades de criar a rede, gerir o acesso mesma e de actualizar os dados presentes

    nos ns da rede.

    A gateway foi desenvolvida com o propsito de integrao numa rede com um cliente de

    Modbus apenas, a partir de uma ligao por ethernet. No outro ponto de acesso gateway,

    ligam-se os ns sensores/actuadores por ZigBee. Assim cria-se um acesso aos dados presentes

  • 20 Arquitectura

    nos ns por parte do cliente de Modbus. Na Figura 11 apresenta-se a estrutura da rede para a

    qual a gateway foi pensada e com base neste ponto que toda a estrutura da mesma foi

    projectada.

    Figura 11 - Estrutura da rede.

    A estrutura da gateway escolhida teve em conta as consideraes de integrao das redes

    de sensores sem fios nas redes actuais, presentes no captulo 2. A prpria integrao numa

    rede j existente influencia o facto de a gateway ser um servidor Modbus visto que assim a

    integrao necessria de todo simplificada e apenas necessrio actualizar o cliente

    Modbus que vai ler os registos nela presentes na gateway. A gateway tambm poderia

    apresentar-se como um cliente Modbus, no entanto este facto implicaria que a integrao

    numa rede j existente seria limitada e no traria uma mais-valia to significativa ao local

    onde esta seria aplicada. Pois seria uma rede parte que apenas utilizava da rede Modbus

    para, possivelmente, os seus dados estarem disponveis num SCADA ou noutro tipo de

    aplicao de monitorizao da rede.

    Tendo definido a funo da gateway na rede Modbus necessrio fazer o mesmo para a

    rede ZigBee, tendo-se concludo que a opo mais vivel seria implementar na gateway as

    funcionalidades de um n coordenador da rede ZigBee. Esta definio do papel da gateway

    deve-se ao facto de ser necessrio um n coordenador que vai gerir o acesso aos restantes

    ns da rede bem como o fluxo de informao deles provenientes, tal no aconteceria se a

    gateway se apresentasse como um ZED ou mesmo um router.

  • A arquitectura da gateway 21

    3.2 - A arquitectura da gateway

    A arquitectura da gateway a parte fundamental deste projecto definindo-se toda a

    organizao deste e o modo como a gateway deve interagir em qualquer situao. Assim

    sendo e tendo o local da gateway definido na rede, em conformidade com a Figura 14,

    necessrio definir os procedimentos que esta deve ter ao inserir/remover um n na rede, ao

    receber e ao enviar mensagens para o cliente Modbus bem como para os ns presentes na

    rede ZigBee.

    Uma comunicao entre estas duas tecnologias poderia ser estabelecida de duas formas

    bastante distintas obtendo-se solues muito diferentes no trabalho final. A primeira soluo

    seria uma soluo baseada em modems ZigBee os quais se ligariam a clientes e servidores

    Modbus usando a rede ZigBee apenas para o transporte de mensagens e organizao da

    mesma, mantendo as capacidades de reorganizao da rede bem conhecidas do protocolo

    ZigBee. Esta soluo como uma soluo final de um projecto a implementar em ambientes

    industriais seria a economicamente menos rentvel visto, neste caso serem necessrios dois

    tipos diferentes de aparelhos, o modem ZigBee e o servidor Modbus. No entanto apresenta a

    vantagem de poder reutilizar servidores Modbus j existentes.

    Uma segunda soluo, e a soluo implementada neste projecto, a utilizao de uma

    gateway que vai comunicar com ns originalmente desenvolvidos para a sua utilizao com o

    protocolo ZigBee. A diferena desta soluo para a soluo anterior consiste em adaptar os

    ns ZigBee, usando os servios implementados pela stack ZigBee e no usar esta apenas

    para transmisso de mensagens. Ambas as solues foram previamente descritas e estudadas

    como pode ser observado em [14], [15] e [16] reafirmando-se o contributo que o protocolo

    ZigBee acrescenta a este tipo de redes.

    Na Figura 12 observam-se as trs entidades envolvidas neste projecto, o cliente Modbus, a

    gateway e um n ZigBee. Para alm de se poder observar a diferena entre as camadas fsicas

    pelas quais comunicam entre si, tambm possvel verificar que a gateway faz a interaco

    entre a mensagem recebida do cliente Modbus atravs de uma tabela de endereamento.

    Esta tabela ao receber uma mensagem do cliente Modbus faz a correspondncia do nmero

    do registo pretendido para o nmero do n ZigBee em questo.

  • 22 Arquitectura

    Figura 12 - Estrutura da gateway (vista global).

    Esta a funcionalidade da gateway de um modo geral, no entanto para a sua definio

    estar completa necessrio mapear os servios se a usar em cada um dos protocolos. Para tal

    e para ajudar neste ponto apresenta-se a Figura 13 que mostra as camadas que uma

    mensagem recebida pela gateway vinda do cliente Modbus tem de percorrer at poder ser

    enviada para um n ZigBee. Esta mensagem vai sendo encaminhada pela camada fsica (PHY),

    de ligao de dados (MAC) e seguidamente pela camada rede, do lado Modbus, at chegar

    camada de aplicao que partilhada pelos dois protocolos.

    A camada de aplicao esta dividida em trs grandes aplicaes que funcionam

    cooperativamente umas com as outras mantendo, no entanto, a sua independncia ao

    mximo.

    Depois da mensagem Modbus ser processada vai ser reencaminhada pelas camadas

    inferiores do protocolo ZigBee. Uma mensagem proveniente do protocolo ZigBee far o

    caminho inverso desde as camadas inferiores do protocolo ZigBee at camada de aplicao

    e de seguida pelas camadas inferiores do protocolo Modbus para desta forma ser enviada para

    o cliente Modbus.

    O desenvolvimento da gateway e de um projecto desta natureza ocorre nica e

    exclusivamente na camada de aplicao do modelo OSI sendo por isso esta a mais focada na

    descrio aqui presente, visto j ter sido feita uma descrio das capacidades de cada parte

    do protocolo no captulo 2. Assim sendo, das camadas inferiores so utilizados os servios que

    permitem fazer a conexo entre as diferentes redes e no caso da rede ZigBee a gateway tem

    de ser responsvel tambm por uma gesto adequada da mesma.

    Cliente

    Modbus

    Gatway

    Ethernet ZigBee

    Tabela de endereamentos

    registo | nmero ZigBee

    N

    ZigBee

  • A arquitectura da gateway 23

    Figura 13 - Pormenor da gateway.

    A estrutura idealizada para a gateway est presente na

    Figura 12 e corresponde camada de aplicao da estrutura da Figura 1. Neste captulo

    apresentam-se os servios a usar durante uma aplicao deste gnero e para demonstrar a

    interaco entre esses mesmos servios so apresentados diagramas dos conjuntos mais

    relevantes.

    Para organizar este fluxo de informao necessrio implementar uma tabela que faa a

    correspondncia entre os registos Modbus e os ns ZigBee, tal como est representado na

    Figura 13. A essa tabela foi dada o nome de tabela de endereamento e permite mapear cada

    entrada/sada disponvel num n ZigBee nos diferentes registos disponveis. Com uma

    correspondncia inequvoca de uma entrada de um n a um registo do tipo holding e uma

    sada do mesmo n a um registo simples possvel garantir que no existe a possibilidade de

    escrever numa entrada provocando um curto-circuito no n.

    A tabela de endereamento deve ter como campos o nmero do registo e o tipo do

    mesmo de forma a garantir a correspondncia do lado Modbus e do lado ZigBee necessrio

    que a tabela de endereos tenha campos como nmero do n, a sua Mac e o valor lgico

    existente na entrada ou sada correspondente tal como se apresenta na Tabela 2.

  • 24 Arquitectura

    Tabela 2 - Tabela de endereamento conceitual.

    Modbus ZigBee

    Registo Tipo Numero ZigBee MAC Valor

    1 Holding 0x0288 0x0004A30000000054 0

    2 Simples 0x0288 0x0004A30000000054 1

    3 Simples 0x0288 0x0004A30000000054 0

    Na Tabela 2 ilustra-se um conjunto de entradas da tabela de endereamento em que um

    mesmo n apresenta trs registos sendo o registo 1 correspondente a uma entrada do n

    ZigBee e o registo 2 e 3 deles correspondentes a duas sadas diferentes do mesmo n. No caso

    de existirem mais ns na rede vo existir mais registos presentes na tabela de

    endereamentos, que sero colocados nas posies imediatamente seguintes ltima

    presente na tabela de endereamento. Neste caso e para mapear um novo n com duas

    entradas/sadas estas iriam ocupar o registo 4 e 5 na tabela de endereamento.

    A gateway, ao iniciar as suas funes, deve ser responsvel pela utilizao cooperativa

    dos protocolos Modbus e ZigBee. Para tal, e aps se proceder s inicializaes, so

    necessrios certos procedimentos, que devem seguir a ordem indicada:

    Criar as entradas predefinidas da tabela de endereamento neste ponto

    atribudo um conjunto de registos a cada um dos ns para posteriormente

    poderem ser consultados atravs do cliente Modbus;

    Criar e configurar a rede ZigBee necessrio que a gateway crie uma rede e

    permita que os ns se juntem mesma. necessrio tambm que esta controle o

    acesso rede dos mesmos atravs do seu endereo MAC procurando a sua entrada

    na tabela de endereamentos;

    A partir deste instante a gateway est disponvel para receber e enviar dados

    quer para a rede Modbus quer para a rede ZigBee. Para alm disso a gateway vai

    fazer uma consulta cclica de forma a manter o valor dos registos actualizados.

  • A arquitectura da gateway 25

    Juno de um n

    Figura 14 - Juno de um n rede.

    Na Figura 14 pode-se ver o procedimento que a gateway tem ao ser acrescentado um

    novo n rede logo aps validao do n na tabela de endereamentos. Para validar um n

    na rede, a gateway deve verificar a existncia do seu endereo de MAC na tabela de

    endereamentos. Caso no exista nenhum registo para o n em questo este n deve ser

    removido.

    Troca de mensagens

    Para receber e enviar dados atravs das duas redes a gateway deve, ao receber uma

    mensagem de Modbus, ler o seu function code e determinar se este suportado pela

    gateway.

    Tabela 3 - Recepo de uma trama com um "function code" no implementado.

    Pedido

    Function Code (Byte 0) 04

    Endereo (Byte 1-2) 00 00

    Valor (Byte 3-4) 12 34

  • 26 Arquitectura

    Como o function code 0x04 correspondente leitura de um registo de entrada no

    suportado pela gateway esta deve retornar uma mensagem de excepo com o seguinte

    formato:

    Tabela 4 - Envio de uma trama de resposta a um "function code" no implementado.

    Excepo

    Function Code (Byte 0) 84

    Excepo (Byte 1-2) 00 01

    Caso a funo seja suportada e de leitura de um registo holding a gateway deve

    consultar o registo em questo e enviar a resposta com o valor do registo adequado (Figura

    15).

    Figura 15 - Esquema de uma recepo de mensagem de leitura desde o cliente at gateway.

    O valor a consultar proveniente directamente da tabela de endereamentos sem que

    haja consulta directa do n no momento em que existe o pedido do cliente Modbus.

    Tabela 5 - Trama de leitura de um registo enviada pela cliente Modbus.

    Pedido

    Function Code (Byte 0) 03

    Registo de referncia (Byte 1-2) 00 01

    Nmero de registos a ler (Byte 3-4) 00 01

  • A arquitectura da gateway 27

    Tabela 6 - Envio da resposta trama de leitura de um registo enviada pela cliente Modbus.

    Resposta

    Function Code (Byte 0) 03

    Nmero de Bytes da resposta (Byte 1-2) 02

    Valores dos registos (Byte 3-4) 00 01

    de referir que quando a leitura de registos superior a um, o campo dos valores dos

    registos vai variar em comprimento apresentando dois bytes por cada registo lido.

    Se for uma mensagem de escrita num registo (function code = 0x06) a gateway deve

    identificar o n em questo e enviar para este uma frame ZigBee para que o mesmo active a

    sada correspondente. Neste tipo de mensagem necessrio o envio de uma mensagem igual

    recebida por parte da gateway aps o registo ter sido escrito. Dessa forma enviada uma

    mensagem ZigBee onde se espera por uma mensagem de acknowledge do n destinatrio.

    Figura 16 - Esquema de recepo de uma mensagem de escrita e subsquente envio para o n respectivo

    Tabela 7 - Envio, pelo cliente Modbus, de um pedido de escrita num registo.

    Pedido

    Function Code (Byte 0) 06

    Endereo (Byte 1-2) 00 01

    Valor (Byte 3-4) 00 01

  • 28 Arquitectura

    A mensagem enviada via ZigBee tem o seguinte formato:

    Tabela 8 - Envio da trama ZigBee para escrever na sada correspondente.

    DstAddress 79 6F

    ADSU 01 01

    TxOptions 04

    E a respectiva resposta, em caso de sucesso:

    Tabela 9 - Confirmao que a mensagem foi enviada com sucesso.

    DstAddress 79 6F

    Status SUCCESS

    Gera-se a partir da uma actualizao na tabela de endereamentos e o envio da seguinte

    mensagem Modbus:

    Tabela 10 - Envio, para o cliente Modbus, da confirmao da escrita no registo pedido.

    Resposta

    Function Code (Byte 0) 06

    Endereo (Byte 1-2) 00 01

    Valores dos registos (Byte 3-4) 00 01

    Se a mensagem no for recebida com sucesso, ou seja, o status for diferente de

    SUCCESS necessrio enviar uma resposta para o cliente Modbus de um modo diferente

    reportando uma excepo.

    Tabela 11 Envio de uma trama para o cliente Modbus, caso no exista confirmao de envio.

    Resposta

    Function Code (Byte 0) 86

    Excepo (Byte 1) 01

    de referir que o primeiro byte do ADSU da mensagem enviada relativo ao endereo da

    mensagem Modbus e o segundo byte relativo ao valor a escrever nesse endereo. Se o

    pretendido fosse escrever 00 no endereo 01 o ADSU em questo teria o valor de 01 00.

    A gateway possibilidade a da consulta peridica dos ns com o intuito de actualizar a

    tabela de endereamentos para que o cliente Modbus possa sempre ler o valor correcto dos

    registos. Essa actualizao processa-se n a n e de uma forma sequencial.

  • A arquitectura da gateway 29

    Figura 17 - Esquema de consulta peridica aos ns ZigBee.

    Para tal actualizao ocorrer, necessrio enviar uma mensagem que neste caso gera

    uma resposta por parte do n em questo. Uma mensagem enviada com o seguinte formato

    enviada para cada um dos ns:

    Tabela 12 - Envio de trama ZigBee de forma a ler todas as entradas e sadas presentes no n ZigBee.

    DstAddress 79 6F

    ADSU FF

    Gerando uma resposta:

    Tabela 13 - Envio da resposta por parte do n ZigBee.

    DstAddress 02 6F

    ADSU 00 00 01 00

    Neste caso pode-se observar que o n em questo apresenta quatro variveis a

    monitorizar via Modbus em que apenas a terceira se encontra activa. A gateway depois de

    receber esta resposta vai actualizar a tabela de endereamentos e seguidamente enviar uma

    mensagem ZigBee para o prximo n presente na tabela de endereamentos com o ADSU a

    0xFF at ter percorrido todos os ns da rede.

  • 30 Arquitectura

    3.3 - Mapeamento de funes

    Para permitir a funcionalidade entre os dois protocolos necessrio definir que

    funcionalidades vo ser usadas em cada um dos protocolos j que estes apresentarem

    naturezas bastante distintas. Enquanto o protocolo Modbus est concentrado na leitura e

    escrita de registos tal no acontece no protocolo ZigBee. Como tal, indispensvel criar uma

    correspondncia entre as funes a usar em cada um deles. Para tal e como o objectivo do

    trabalho comunicar com ns ZigBee que esto a controlar um conjunto de entradas/sadas,

    foi escolhida a funo de leitura de um registo do tipo holding e a funo de escrita num

    registo. Estas funes foram escolhidas visto serem as que mais se adequam transmisso e

    recepo de dados do lado dos ns ZigBee. Assim, possvel um mapeamento completo na

    gateway dos registos presentes em cada um dos ns garantindo-se que no forada

    nenhuma das entradas neles presentes.

    Para a sua utilizao em conformidade com o protocolo ZigBee necessrio que as

    funes de Modbus gerem uma mensagem via ZigBee que o n conhea e aja em

    conformidade com a mesma. Para tal a gateway ao receber uma mensagem retira desta dois

    parmetros fundamentais, a funo de Modbus pretendida e o registo pretendido. Depois de

    obter o registo em questo, a gateway, a partir da tabela de endereamentos, identifica o n

    ZigBee e a sua respectiva varivel a ser alterada. A partir deste ponto, na perspectiva da

    gateway a mensagem que anteriormente tinha uma vertente Modbus, apresenta todos os

    parmetros necessrios para a sua converso para ZigBee.

    A mensagem, ao ser construda vai utilizar inmeros servios da Application Support

    Sub-Layer (APS) nomeadamente aqueles que so utilizados para o encaminhamento das

    mensagens para os ns, sendo necessrio efectuar pedidos APSE-DATA dos seguintes

    parmetros:

    DstAddrMode modo como o endereo de destino vai ser apresentado; DstAddress endereo de destino segundo o parmetro especificado no DstAddrMode; DstEndpoint utilizado apenas para endereamentos maiores ou iguais a 16bit; ProfileId perfil da frame a enviar;

    ClusterId identificao do Application Object destinatrio; TxOptions opes da transmisso; RadiusCounter quantidade de retransmisses que a mensagem pode sofrer por parte dos

    outros elementos da rede.

    De seguida a mensagem dirigida para o seu destino atravs das APO's presentes na

    camada de aplicaes da rede ZigBee e por fim transmitida para o seu destino.

    De uma forma geral, a informao de uma mensagem Modbus retirado o registo e a

    funo a utilizar sendo estes parmetros utilizados para construir uma mensagem nova com o

  • Hardware 31

    formato correspondente ao protocolo ZigBee onde os parmetros de destino do APS Header

    (ver Figura 6) so dados pela tabela de endereamentos.

    3.4 - Hardware

    Para implementar o conceito definido nos pontos anteriores deste captulo necessrio

    alguns requisitos mnimos, que tipicamente esto presentes na maior parte dos

    microcontroladores de baixo custo actuais. Para alm da unidade de processamento

    tambm necessrio uma interface TCP/IP e uma interface ZigBee para ligar as diferentes

    redes gateway. Estes trs elementos so os componentes mnimos necessrios para o

    desenvolvimento gateway e a sua interligao efectuada, por norma, como demonstra a

    Figura 18.

    Figura 18 -Estrutura bsica da gateway adaptado de [17]

    Para desenvolver um projecto deste gnero necessrio ter em ateno alguns requisitos

    mnimos. O ponto central, a nvel de hardware, para desenvolver a gateway necessrio um

    micro-controlador de 8-bits ou superior e uma memria superior a 64kB pois estes possuem,

    capacidade de implementar a gateway. de referir que, apesar de nem o protocolo ZigBee

    nem o Modbus requererem muito do processamento do micro-controlador, exigem, por outro

    lado, uma maior capacidade de memria, onde a stack de ZigBee o componente que mais

    a utiliza.

    Para alm das questes de capacidade de processamento, o micro-controlador deve ter

    conexo s interfaces externas, sendo mais aconselhvel que se utilize, tal como neste

    trabalho, uma estrutura que j esteja embebida com uma das opes de interface. Apesar de

    esta no ser uma opo de todo condicionante uma mais-valia facilitando a implementao

    do projecto.

  • 32 Arquitectura

    Como foi referido, neste projecto, existia a possibilidade de se optar por um sistema que

    viesse integrado com uma interface TPC/IP ou por uma interface ZigBee. A opo

    seleccionada reverteu para a interface ZigBee visto esta ser a mais recente e que poderia

    apresentar mais dificuldade na implementao.

  • 33

    Captulo 4

    Implementao

    Antes de se aprofundar o que foi implementado na gateway necessrio ter uma viso

    geral dos elementos que fazem parte da gateway bem como as ferramentas utilizadas para a

    criao da mesma. Assim, o presente captulo descreve o trabalho implementado, iniciando-

    se a descrio, por uma anlise do hardware e do software utilizado seguindo-se os servios

    utilizados de cada stack. Para finalizar, apresenta-se detalhadamente a gateway, desde o

    processo de inicializao at ao funcionamento como servidor da rede Modbus.

    4.1 - Hardware utilizado

    O facto de o hardware ter como base o kit de desenvolvimento da Microchip (PICDEM Z)

    originou uma subdiviso do hardware em duas partes distintas. Visto o PICDEM Z ser um kit de

    desenvolvimento de redes ZigBee este apresenta-se numa pequena placa com conexo com a

    antena ZigBee, porta srie e uma pequena parte em que o utilizador pode personalizar a

    tabela de registos permitindo um melhor desenvolvimento da mesma. A segunda parte do

    hardware o dispositivo da Lantronix, o XPort, que responsvel pela ligao via TCP da

    gateway. O XPort tem como objectivo receber uma trama da porta srie da gateway e

    convert-la para pacotes TPC/IP e vice-versa.

  • 34 Implementao

    4.2 - Picdem Z

    O kit de desenvolvimento incorpora vrios componentes que facilitam o desenvolvimento

    de uma aplicao utilizando o protocolo ZigBee. Assim, o PICDEM Z composto por dois ns

    ZigBee completamente funcionais, para desenvolver a aplicao desejada, um sniffer para

    permitir visualizar o trfego na rede proporcionando a correco de alguns erros e ainda um

    conjunto de cd's com software de compilao, programao e documentos tcnicos, que

    fornecem estes alguma informao sobre o hardware.

    A unidade de processamento que acompanha o PICDEM Z um micro-controlador

    PIC18F4620 da Microchip que apresenta as seguintes caractersticas principais:

    Velocidade de processamento at 40MHz;

    64kB de memria flash;

    Baixo consumo energtico;

    Trs modos distintos de funcionamento, modo normal (CPU e perifricos ligados),

    em suspenso (CPU desligado mas com os perifricos ligados) e em hibernao

    (CPU e perifricos desligados);

    36 portas de entrada/sada e 4 temporizadores;

    Ligao via porta srie.

    Figura 19 - N de desenvolvimento do Picdem Z.

    A Figura 19 contm: 1- Unidade de processamento (PIC18F4620); 2- Antena ZigBee; 3- rea de

    desenvolvimento.

  • Xport

    Estas caractersticas tornam

    aplicaes como esta. O PICDEM Z

    ser substitudo quando necessrio

    utilizador pode montar mais alguns dispositivos que

    cada n no kit de desenvolvimento so tpicas de plataformas de desenvo

    possvel diminu-las facilmente com uma verso do m

    mesmo retirando a rea de desenvolvimento.

    4.3 - Xport

    Este dispositivo foi utilizado para a interface TCP/IP

    de converter as tramas vindas da

    reencaminhando-os para a rede de ethernet de uma forma transparente para o utilizador

    sem exigir grandes configuraes por parte deste.

    muitas mais funcionalidades do que aquelas em

    utilizao revelou-se de grande importncia

    eficaz da vertente TCP proporcionando mais

    Na Figura 21 apresenta

    algumas das suas potencialidades

    Estas caractersticas tornam-no num elemento bastante verstil e

    PICDEM Z incorpora ainda uma antena ZigBee (Figura

    ando necessrio. O kit de desenvolvimento inclui ainda uma rea em que o

    utilizador pode montar mais alguns dispositivos que pretenda (Figura 19 -

    cada n no kit de desenvolvimento so tpicas de plataformas de desenvo

    facilmente com uma verso do micro-controlador mais compacta do

    mesmo retirando a rea de desenvolvimento.

    foi utilizado para a interface TCP/IP dado ser um sistema embebido capaz

    de converter as tramas vindas da porta srie da gateway em pacotes TCP/IP

    os para a rede de ethernet de uma forma transparente para o utilizador

    configuraes por parte deste. Apesar de este dispositivo

    muitas mais funcionalidades do que aquelas em que utilizado neste projecto,

    grande importncia, visto ter permitido uma implementao rpida e

    proporcionando mais tempo para outros aspectos deste trabalho.

    apresenta-se alguns pormenores da arquitectura interna do

    potencialidades.

    Figura 20 Xport

    35

    emento bastante verstil e competente em

    Figura 19 - 2) podendo

    kit de desenvolvimento inclui ainda uma rea em que o

    - 3). As dimenses do

    cada n no kit de desenvolvimento so tpicas de plataformas de desenvolvimento sendo

    controlador mais compacta do

    um sistema embebido capaz

    da gateway em pacotes TCP/IP,

    os para a rede de ethernet de uma forma transparente para o utilizador e

    ste dispositivo ser capaz de

    que utilizado neste projecto, a sua

    uma implementao rpida e

    tempo para outros aspectos deste trabalho.

    tectura interna do XPort bem como

  • 36 Implementao

    Figura 21 - Arquitectura interna do Xport.

    O acesso s configuraes do XPort pode ser efectuado de duas formas distintas. A forma

    mais apelativa ao utilizador a configurao via browser, sendo possvel navegar no menu

    de opes facilmente.

    Este menu apresenta uma vasta gama de configuraes disponveis ao utilizador desde o

    protocolo da camada de transferncia, nmero de bits, e outras presentes na Figura 22.

    Existem ainda opes que permitem associar eventos as trs portas de entrada/sada

    presentes no XPort de forma aos utilizadores da rede ethernet receberem e-mails de avisos

    com seu estado.

  • Software utilizado 37

    Figura 22 - Pgina de configuraes da porta srie do XPort

    4.4 - Software utilizado

    Para a implementao deste trabalho foram utilizados diversos softwares diferentes como

    o MPLAB para escrever o cdigo, o PICkit para escrever na memria do micro-controlador e o

    ZENA para monitorizar o trfego da rede.

    Estes programas so todos suportados pela Microchip fazendo parte do kit de

    desenvolvimento. Apesar de no ser obrigatrio optou-se pela utilizao destes programas

    para garantir, desta forma, a operabilidade de todo o conjunto tendo ainda a vantagem de,

    por exemplo, no MPLAB existirem algumas proteces orientadas ao micro-controlador

    especificado de modo a avisar e proteger zonas de memria, impedindo que o utilizador

    grave dados acidentalmente em cima das mesmas.

  • 38 Implementao

    4.4.1. A stack da Microchip

    A parte de software mais importante utilizada foi a stack de ZigBee suportada pela

    Microchip, que actualmente est na sua verso 2.0-2.6. Apesar desta verso da stack j

    segue a verso r13 de 2006 do protocolo, ainda apresenta algumas limitaes tais como:

    O endereamento de um dispositivo quando este se volta a ligar rede no

    readquirido, isto , o n ao ligar-se a um coordenador, tem uma chave

    identificao nica, no entanto, esse identificador perdido se o n perder a

    conectividade.

    A possibilidade de mudana de n coordenador, com a rede em funcionamento,

    ainda no suportada, limitando assim as possibilidades de utilizao da stack

    em redes emalhadas.

    Apesar de esta ser a stack mais recente da Microchip foi utilizada a v1.0-3.8 pois esta

    encontrava-se bem documentada nos cd's de apoio do kit de desenvolvimento contendo um

    exemplo completamente funcional para a mesma verso da stack, evitando-se assim

    qualquer problema de compatibilidade que pudesse ser da originado. Esta stack apresenta

    tambm algumas limitaes, no to crticas para o projecto para alm das anteriormente

    referidas como o no endereamento correcto de um dispositivo aps a quebra de

    conectividade que nenhuma stack da Microchip suporta at ao momento.

    A nvel de informaes disponveis, a prpria Microchip fornece documentos descritivos da

    sua stack juntamente com os kit's de desenvolvimento. Estes apresentam,

    maioritariamente, as diferenas com as verses anteriores sendo, por isso, necessrio

    consultar a informao disponvel das stack's anteriores nas primeiras utilizaes do

    produto.

    A Microchip possui tambm um frum no seu site no qual os vrios utilizadores dos seus

    produtos podem expor os seus problemas obtendo assim alguma assistncia.

    4.4.2. Zena

    O software Zena um analisador, em tempo real, de redes wireless existindo a

    possibilidade de monitorizar pacotes provenientes da rede ZigBee num ambiente com

    capacidade grficas atractivas. Atravs desta ferramenta tambm possvel configurar a

    stack da Microchip de uma forma intuitiva. Para monitorizar a rede necessrio primeiro

    passar por uma janela de configuraes na qual necessrio seleccionar o canal de

    comunicaes a visualizar.

  • Software utilizado 39

    Figura 23 - Painel de configuraes do software Zena.

    Como se pode observar, o canal seleccionado para a visualizao, o canal 12 visto ser

    este o canal pelo qual a gateway vai enviar mensagens de dados para os ns.

    Figura 24 - Modo de visualizao das mensagens ZigBee.

    Este modo muito vantajoso, pois os pacotes enviados e a sua sequncia podem ser

    visualizados, ajudando assim na fase de debug.

  • 40 Implementao

    4.5 - Trabalho desenvolvido

    O trabalho desenvolvido levou em considerao as estruturas apresentadas no captulo 3 e

    tendo por base os exemplos desenvolvidos pela Microchip implementou-se, numa primeira

    fase, a mquina de estados geral em que todas as comunicaes eram reencaminhadas pela

    porta srie separando-se assim a parte de Modbus da coordenao da rede ZigBee e

    respectiva recepo e envio de mensagens. A segunda parte da implementao foi dedicada

    s comunicaes Modbus. Esta parte em especial foi desenvolvida o mais independentemente

    possvel do restante programa facilitando assim a sua expanso se desejvel.

    Como o propsito da gateway no inclui uma interface grfica o debug desta foi

    realizado a partir do hyperterminal, dado este ser o mtodo que se concluiu como o mais

    prtico.

    Apesar da base de desenvolvimento da gateway ter sido um kit de desenvolvimento de

    ZigBee na sua soluo final, a gateway comporta-se de uma forma mais semelhante a um

    servidor da rede Modbus em que os pedidos do cliente da rede Modbus so reencaminhados

    para o n correcto, utilizando-se apenas a stack ZigBee como meio de comunicao para o

    envio dessas mesmas ordens.

    Durante todo o desenvolvimento do projecto existiu um esforo para o manter o mais fiel

    possvel ao que tinha sido previamente estruturado. de referir que a linguagem de

    programao utilizada foi a linguagem C para a qual toda a stack da Microchip estava

    desenvolvida.

  • Trabalho desenvolvido 41

    Figura 25 - Estrutura de leitura de um registo do tipo holding adaptado de [5].

    Para testar o conceito foram implementadas duas funes de Modbus, leitura de um

    registo do tipo holding (function code =0x03) e a escrita num registo (function code

    =0x06). Estas duas funes apresentam uma mquina de estados semelhante sendo por isso

    aqui apresentado apenas o exemplo da mquina de estados da primeira funo.

    A arquitectura do software deste trabalho um dos pontos mais importantes do mesmo

    visto ter sido orientada de forma independente do hardware e da stack de ZigBee utilizada.

    No entanto uma portabilidade completa sem alteraes para outro hardware ou mesmo

    stack poder no possvel.

    A topologia do sistema segue os parmetros do protocolo Modbus de forma a enquadrar-se

    em redes existentes.

    Optou-se por implementar a gateway como um servidor da rede Modbus visto que o

    objectivo era que esta se pudesse ligar rede e funcionasse cooperativamente com ela, no

    utilizando apenas o seu meio fsico.

    Assim, o programa foi desenvolvido de forma a existirem dois modos de utilizao

    distintos, o modo de utilizao como um servidor na rede Modbus, e o modo de configuraes

    onde possvel alterar alguns parmetros da gateway, tais como adicionar um n rede ou

    modificar alguns dos seus atributos. Este ponto previne alguns conflitos na rede, como por

  • 42

    exemplo, o servidor identificar um n com um conjunto de registos diferentes dos que

    realmente esto presentes, visto estes terem sido recentemente alterados.

    Para facilitar a organizao do software este foi dividido em duas partes distintas

    mapeando os dois modos de funci

    ser executados ao mesmo tempo nem existirem antes de a gateway ter efectuado todas as

    inicializaes.

    Figura 26 -

    O acesso entre os modos de utilizao configurado a partir de um comutador

    garantindo-se assim, a integridade do destino das mensagens recebidas. Esta restrio via

    hardware, permite uma distino absoluta entre os modos de utilizao podendo

    implementar o protocolo Modbus

    Aps a deciso tomada, o dispositivo apenas funciona no modo seleccionado at se

    completar a corrente tarefa. Ao terminar a gateway volta ao ciclo de espera at receber uma

    nova mensagem, completando-se assim o ciclo de funcionamento.

    4.5.1. Mquina de estados de

    Para permitir a conectividade dos ns necessrio que a gateway implemente um

    conjunto de funes presentes no protocolo

    de um n e envio e recepo de mensagens entre os ns e o coordenador so o mnimo

    necessrio. Estas funes so suportadas pela

    nos exemplos fornecidos em conjunto com o kit de desenvolvimento o que facilitou bastante

    a familiarizao com o protocolo, a

    De uma forma geral, e relatando apenas as funcionalidades de

    necessita de percorrer os seguintes passos:

    Implementa

    r identificar um n com um conjunto de registos diferentes dos que

    visto estes terem sido recentemente alterados.

    Para facilitar a organizao do software este foi dividido em duas partes distintas

    mapeando os dois modos de funcionamento. Estes dois modos de funcionamento no podem

    ser executados ao mesmo tempo nem existirem antes de a gateway ter efectuado todas as

    Estrutura de funcionamento da gateway.

    modos de utilizao configurado a partir de um comutador

    a integridade do destino das mensagens recebidas. Esta restrio via

    permite uma distino absoluta entre os modos de utilizao podendo

    Modbus sem qualquer modificao da verso presente na norma.

    o dispositivo apenas funciona no modo seleccionado at se

    corrente tarefa. Ao terminar a gateway volta ao ciclo de espera at receber uma

    se assim o ciclo de funcionamento.

    Mquina de estados de ZigBee

    Para permitir a conectividade dos ns necessrio que a gateway implemente um

    junto de funes presentes no protocolo ZigBee, funes como a criao da rede, juno

    de um n e envio e recepo de mensagens entre os ns e o coordenador so o mnimo

    necessrio. Estas funes so suportadas pela stack da Microchip e esto implementad

    nos exemplos fornecidos em conjunto com o kit de desenvolvimento o que facilitou bastante

    a familiarizao com o protocolo, a stack e o ambiente de programao.

    De uma forma geral, e relatando apenas as funcionalidades de ZigBee

    de percorrer os seguintes passos:

    Implementao

    r identificar um n com um conjunto de registos diferentes dos que

    Para facilitar a organizao do software este foi dividido em duas partes distintas

    onamento. Estes dois modos de funcionamento no podem

    ser executados ao mesmo tempo nem existirem antes de a gateway ter efectuado todas as

    modos de utilizao configurado a partir de um comutador

    a integridade do destino das mensagens recebidas. Esta restrio via

    permite uma distino absoluta entre os modos de utilizao podendo-se assim

    sem qualquer modificao da verso presente na norma.

    o dispositivo apenas funciona no modo seleccionado at se

    corrente tarefa. Ao terminar a gateway volta ao ciclo de espera at receber uma

    Para permitir a conectividade dos ns necessrio que a gateway implemente um

    , funes como a criao da rede, juno

    de um n e envio e recepo de mensagens entre os ns e o coordenador so o mnimo

    e esto implementadas

    nos exemplos fornecidos em conjunto com o kit de desenvolvimento o que facilitou bastante

    ZigBee, a gateway

  • Trabalho desenvolvido

    O primeiro passo a inicializao da

    chamar mais nenhum dos processos pertencentes ao protocolo

    seguida criada a rede para os outros dispositivos se puderem ligar

    A partir deste instante o sistema entra num compasso de espera at ocorrer

    alguma ligao a um n ou existe alguma mensagem a enviar. Esta etapa tambm

    considera a possibilidade de recepo de uma mensagem via rede sem fios no

    entanto at existir

    Tendo terminada qualquer uma das tarefas anteriores

    modo de espera completando

    referente ZigBee

    Figura

    Exceptuando o caso da juno de um n rede

    como uma consequncia directa de um pedido da mquina de estados de

    que a permisso para juntar um n rede s est disponvel durante os instantes em que a

    gateway no est a processar nenhum pedido do cliente

    problema na tabela de endereamento.

    O primeiro passo a inicializao da stack ZigBee, sem a qual no possvel

    chamar mais nenhum dos processos pertencentes ao protocolo

    seguida criada a rede para os outros dispositivos se puderem ligar

    A partir deste instante o sistema entra num compasso de espera at ocorrer

    alguma ligao a um n ou existe alguma mensagem a enviar. Esta etapa tambm

    considera a possibilidade de recepo de uma mensagem via rede sem fios no

    entanto at existir a ligao a pelo menos um n tal no acontece.

    Tendo terminada qualquer uma das tarefas anteriores, existe um retorno para o

    modo de espera completando-se assim o ciclo de processamento da parte

    ZigBee.

    Figura 27 - Estrutura da mquina estados ZigBee.

    Exceptuando o caso da juno de um n rede ZigBee a mquina de estados funciona

    como uma consequncia directa de um pedido da mquina de estados de

    que a permisso para juntar um n rede s est disponvel durante os instantes em que a

    gateway no est a processar nenhum pedido do cliente Modbus evitando

    problema na tabela de endereamento.

    43

    , sem a qual no possvel

    chamar mais nenhum dos processos pertencentes ao protocolo ZigBee, sendo de

    seguida criada a rede para os outros dispositivos se puderem ligar a ela.

    A partir deste instante o sistema entra num compasso de espera at ocorrer

    alguma ligao a um n ou existe alguma mensagem a enviar. Esta etapa tambm

    considera a possibilidade de recepo de uma mensagem via rede sem fios no

    a ligao a pelo menos um n tal no acontece.

    existe um retorno para o

    se assim o ciclo de processamento da parte

    a mquina de estados funciona

    como uma consequncia directa de um pedido da mquina de estados de Modbus. de referir

    que a permisso para juntar um n rede s est disponvel durante os instantes em que a

    evitando-se algum tipo de

  • 44 Implementao

    4.5.2. Mquina de estados de Modbus

    Para implementar o servidor Modbus na presente gateway utilizou-se o esquema presente na

    Figura 28 sendo que este adaptado directamente da norma [5].

    Figura 28 - Estrutura de um servidor de Modbus adaptado de [5].

    Esta estrutura o modo mais habitual de funcionamento da gateway seguindo o mais

    possvel o protocolo Modbus diminuindo assim as probabilidades de incompatibilidades com o

    cliente da rede. de notar que os estados representados na figura como Idle e Wait so

    correspondentes aos estados Inicializaes e Espera da Figura 26.

    Resumidamente a estrutura do servidor Modbus tem os seguintes passos:

    Aps um perodo de inicializaes da mquina, esta fica em espera pela recepo

    de uma mensagem.

    Na recepo de uma mensagem esta verificada com o intuito de confirmar se

    esta pertence ao protocolo Modbus.

    So verificados alguns parmetros da men