gateway zigbee modbus tcp
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