Modbus通信协议的紫蜂无线传输网络的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M o d b u s 通信协议的紫蜂无线传输网络的研究
R e s e a r c h o nZ i g B e eWi r e l e s s T r a n s m i s s i o nN e t w o r k B a s e do n Mo d b u s C o m m u n i c a t i o nP r o t o c o l
涂 煊1 彭 瑜1 周怡廷页2 郑丽国
2
(上海工业自动化仪表研究所1
,上海 200233;华东理工大学2
,上海 200237)
摘 要:介绍了紫蜂(Z i g B e e )无线网络的技术特点和M o d b u s 通信协议的原理,对基于M o d b u s 通信协议的紫蜂无线总线网络系统的实现进行了分析和探讨,提出了一个利用紫蜂设备的I E E E 地址与其设定M o d b u s 地址进行绑定,同时利用网络短址进行网络地址定向,并通过无线透传的方式来实现遵循M o d b u s 通信协议的数据在紫蜂无线网络中传输的具体方案。
通过理论与实验印证,该方案是可行的,而且在工业环境下有着广阔的应用前景。
关键词:无线网络 紫蜂 传输
中图分类号:T P 393 文献标志码:A
A b s t r a c t :T h et e c h n i c a l f e a t u r e s o f Z i g
B e ew i r e l e s sn e t w o r ka n dt h ep r i n c i p l eo f M o d b u sc o m m u n i c a t i o np r o t o c o l a r ei n t r o d u c e d .T h e i m p l e m e n t a t i o n o f Z i g B e e w i r e l e s s n e t w o r k b a s e d o n M o d b u s c o m m u n i c a t i o n p r o t o c o l i s a n a l y z e d a n d i n v e s t i g a t e d .As p e c i f i c s c h e m e f o r w i r e -l e s s t r a n s m i s s i o no f t h e d a t a c o n f o r m i n g M o d b u s c o m m u n i c a t i o n p r o t o c o l i n Z i g B e e w i r e l e s s n e t w o r k i s p r o p o s e d ,i n w h i c h t h e I E E Ea d d r e s s o f Z i g B e e d e v i c e i s b o u n dt o i t s M o d b u s a d d r e s s ,a n d n e t w o r k a d d r e s s d i r e c t i o ni s r e a l i z e d b y u s i n g n e t w o r k s h o r t a d d r e s s .T h e f e a s i b i l i t y o f t h e s c h e m e h a s b e e n p r o v e n b y t h e o r e t i c a l a n d p r a c t i c a l v e r i f i c a t i o n .I t s p r o s p e c t i n a p p l i c a t i o n s u n d e r i n d u s t r i a l e n v i r o n m e n t i s w i d e .K e y w o r d s :Wi r e l e s s N e t w o r k Z i g B e e T r a n s m i s s i o n
修改稿收到日期:2006-08-17。
第一作者涂煊,男,1974年生,现为华东理工大学信息学院在读硕士研究生;主要研究方向为无线短程数据传输网络和系统在工业环境下的开发与应用。
0 引言
短程无线网络的代表紫蜂(Z i g B e e )近两年来一直受到各方热捧。
但紫蜂网络如何应用在工业控制现场,应用于何种设备上,如何与原有的工业系统相连接是大家研究的方向。
由于工业现场现在大量采用现场总线技术,现场设备层的无线通信迅速进入工控领域,其中的一个突破口就是现场总线和无线通信技术的结合。
M o d b u s 作为一种广泛应用的通信协议,它仅定义了O S I 7层模型中的应用层(第七层),提供挂接在不同总线或网络的设备之间,实现客户/服务器的通信。
这也就是说,M o d b u s 为需要通信的设备提供了相互能够认识和使用的消息结构,而不去规定物理层。
目前支持M o d b u s 的物理层可以是以太网/T C PI P 、通过不同介质传输的异步串行链路R S -232/485/422和M o d b -u s P l u s (一种高速令牌传送网)。
正因为其协议结构不对物理层做规定,所以本文研究的就是如何将紫蜂无线网络与M o d b u s 现场总线标准有机结合并实现无线现场总线网络的系统。
1 紫蜂无线网络
紫蜂无线网络是一种近距离、低复杂度、低功耗、低数据传输速率、低成本的双向无线通信网络,主要适合于自动控制和远程控制领域,可以嵌入至各种设备中,同时支持地理定位功能。
它是由Z i g B e e 联盟在I E E E 802.15.4无线个人区域网(WP A N )的基础上定义的
[4]。
I E E E 802.15.4主要规定了物理层和M A C 层
的协议,网络层、应用支持层和应用层协议的制定,以及测试和市场推广等方面的工作由Z i g B e e 联盟负责。
I E E E 802.15.4/Z i g B e e 符合国际标准组织(I S O )开放系统互连(O S I )参考模型,如图1所示。
图1 I E E E 802.15.4/Z i g B e e 的O S I 参考模型F i g .1 O S I r e f e r e n c e m o d e l o f I E E E 802.15.4/Z i g B e e
Z i g B e e技术可采用的网络拓扑结构有星型、簇状树型和网络结构,如图2所示。
图2中网络协调器节点起网络管理协调作用;网络路由设备可以支持任何拓扑结构,也可进行网络协调,并且可以与任何一种设备进行通信;网络协调器或网络路由设备均可作为网络中的全功能设备来使用;终端设备,也称简约功能设备,只支持星型结构,可以与网络中的全功能设备进行通信。
图2 Z i g B e e网络结构拓扑模型
F i g.2 T o p o l o g i c a l m o d e l o f Z i g B e e n e t w o r ks t r u c t u r e
2 Mo d b u s协议
M o d b u s是一种为挂在不同网络或总线的设备之间进行客户机/服务器通信的应用层消息协议。
通过此协议,控制器相互之间、控制器和其它设备之间经由网络(例如以太网)可以通信。
它已经成为一种通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
目前,实现M o d b u s通信的方式主要有三种:①以太网/T C P/I P;②多种介质(有线,例如E I A-T I A-232F、E I A-422、E I A/T I A-485-A;光纤;无线等)上的异步串行传输;③M o d b u s P l u s,一种基于令牌传输的高速网络[2]。
本文研究的就是在无线短程网络Z i g B e e中来实现M o d b u s通信的。
M o d b u s协议定义的设备间能认识使用的消息结构。
它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录,其中错误的校验采用生成多项式为X16+X15+X2+1的16位循环冗余错误校验码(C R C-16)。
它制定了消息域和内容的公共格式。
此协议通过功能代码决定每个被指定地址的设备要产生何种行动。
如果需要回应,控制器将生成反馈信息并用M o d b u s协议发出。
在其它网络上,包含了M o d b u s协议的消息转换为在此网络上使用的帧或包结构。
这种转换也扩展了根据具体的网络解决节点地址、路由路径及错误检测的方法。
M o d b u s消息帧有两种传输模式(A S C I I或R T U),传输设备将M o d b u s消息转化为有起点和终点的帧,这就允许接收的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给所有设备),判知何时信息已完成。
在一个M o d b u s网络上的所有设备都必须选择相同的传输模式。
3 基于Mo d b u s协议紫蜂网络的实现
3.1 基于Mo d b u s协议的紫蜂网络的实现原理
我们从图1所示的O S I参考模型可以看出Z i g B e e 的物理层由硬件来实现,Z i g B e e在不同频段上提供两个物理层的选项(250k b p s在2.4G H z;40k b p s在915M H z;20k b p s在868M H z),均采用直序扩频的处理方式,可在不同的Z i g B e e节点间运用一种特定的频段建立物理的连接;而介质存取层(M A C)定义了4种帧类型,即信标帧、数据帧、确认帧和M A C命令帧[3~4],采用完整的握手协议A R Q,对发送、接收和确认的步骤与细节都作了详尽的规定,从而在不同的Z i g B e e节点间保证其可靠传输的基本过程,每个Z i g-B e e节点的I E E E地址是唯一的;网络层采用自组网络结构,使用了简化的A O D V网络路由算法,从而实现树型、星型、簇状树型以及网格等网络结构的网络构成,由网络协调器来分配每个Z i g B e e节点的网络地址;这样基本上一个Z i g B e e的网络就已经构成了,对于如何传送用户数据,可在Z i g B e e的应用层来实现。
本文研究的是利用Z i g B e e的应用层,通过透传方式来进行标准M o d b u s协议的数据传输。
透传的概念就是:在传输过程中,传输设备不对所传输的数据进行任何处理,不对数据包作任何修改的传输方式。
M o d b u s标准定义了O S I模型第7层上的应用层报文传输协议。
在实现串行链路传输时,根据O S I模型第1层和第2层串行链路上的协议,M o d b u s按R T U或A S C I I方式规定了消息、数据的结构、命令和应答的方式。
显而易见,串行链路的M o d b u s协议定义的是一种以数据帧形式表示的能使设备相互识别和使用的消息结构,独立于物理层介质。
这是它可以用于不同网络
间的通信的基础。
由此可见,通过Z i g B e e的应用层利用透传方式来传输标准的M o d b u s数据帧,Z i g B e e的物理层、M A C层、网络层不会影响到标准M o d b u s的数据帧,也就能保证标准M o d b u s数据帧的完整性,因此,我们可以说,利用Z i g B e e网络来进行M o d b u s数据帧传输来实现基于M o d b u s通信协议的Z i g B e e无线总线网络完全可行。
3.2 Z i g B e e地址和Mo d b u s地址的关系
对于某个特定Z i g B e e设备,其设备的I E E E地址是唯一确定的,而设备的I E E E地址又是按802.15.4规范规定的64位长地址。
通过对M o d b u s地址与Z i g-B e e的I E E E地址进行绑定来实现M o d b u s主、从各节点之间地址定向,是解决问题的关键所在。
每一个Z i g B e e设备的I E E E的地址具有唯一性,因而,无论Z i g B e e网络上的某个设备的M o d b u s地址如何改变,它所对应于具体的那个设备是唯一确定的。
在Z i g B e e的网络中,Z i g B e e网络协调器并不是通过Z i g B e e设备的I E E E地址来寻找其他功能节点的,而是通过Z i g B e e协议栈中规定的16位短地址来寻找在Z i g B e e网络拓扑中的不同位置的其他功能节点设备的。
这是考虑到为降低节点间传输功耗,尽可能地缩短在网络中传输的数据包的长度和传输时间而采取的。
对于同一个设备,其短地址会根据其在网络拓扑中的位置的变化而变化。
3.3 具体方案研究
下面我们来讨论网络协调器与简约功能设备或全功能设备如何以M o d b u s主、从方式在Z i g B e e网络中以C l u s t e r T r e e拓扑结构来进行通信的。
在C l u s t e r T r e e拓扑结构中,其网络节点中的功能设备的网络短地址是通过式(1)来确定[3]:
A n=A p a r e n t+C s k i p(d)R m+n(1)其中:
C s k i p(d)=1+C m(L m-d-1),i f R m=1 1+C m-R m-C m·R m L m-d-1
1-R m
式中:n为网络的层数;A p a r e n t为父节点网络地址;d 为网络深度;L m为网络最大深度;R m为最大路由节点数;C m为最大子节点数。
我们根据以上公式可以看出,由C s k i p(d)的计算方法所计算得出的短地址,是由该简约功能设备或全功能设备在Z i g B e e网络拓扑中的位置来决定的,而与其I E E E地址以及其设定的M o d b u s地址无关。
在802.15.4/Z i g B e e网络中,网络协调器在进行网络初始化配置时,要加入网络的简约功能设备或全功能设备,会遵循802.15.4/Z i g B e e规范将一个含自身I E E E地址的数据包发至网络协调器,网络协调器识别到该设备的I E E E地址之后,根据该简约功能设备或全功能设备在网络拓扑中的位置,按以上算法,计算并分配给该I E E E地址的简约功能设备或全功能设备一个短地址,从而来确定该功能设备网络拓扑位置,同时可以在网络协调器中生成一张其他功能设备的I E E E地址与所对应的短地址的列表,该列表包含所有存在于网络中的功能设备,继而完成Z i g B e e网络地址定向。
由此过程可见,在Z i g B e e网络中,网络协调器寻找一个简约功能设备或全功能设备,并不依赖于该设备的I E E E地址以及为其设定的M o d b u s地址,而是依据这个设备在网络拓扑结构中的具体位置来确定。
当网络中某个简约功能设备或全功能设备在网络拓扑中的位置发生变化,网络协调器会根据以上算法,重新计算并分配给该I E E E地址的设备另一个短地址,并刷新网络协调器中对应于该设备的I E E E地址的短地址的列表。
Z i g B e e网络中各节点的短地址一旦确定,Z i g B e e 网络就建立起来了,接下来就可以利用该网络在各节点间进行数据传输了。
在Z i g B e e的通信数据传输中,有K V P和M S G两种基本的数据传输模式。
K V P(k e y-v a l u e p a i r)是Z i g-B e e协议中规定的一种特殊的数据传输机制,通过一种规定来标准化数据传输格式和内容,主要用于传输较简单的变量值格式;M S G(m e s s a g es e r v i c et y p e)是Z i g B e e协议中规定的一种特殊的数据传输机制,其在数据传输格式和内容上并不做更多的规定,主要用于专用的数据流或文件数据等数据量较大的传输机制[3],在实践中一般采用M S G模式。
M S G模式下的一个数据包由包头包尾信息、数据指针、地址信息和传输数据信息等组成。
在M S G模式下的数据传输中,可以自定义这样的一个M S G数据包,Z i g B e e网络中M o d b u s 主从站数据传输示意图如图3所示。
在该数据包中,将简约功能设备或全功能设备的64位I E E E地址和为其设定的M o d b u s地址绑定好,并把绑定好的两个地址放入自定义的一个数据结构体中,并将该数据结构体放入M S G数据包的一个特定位置上;同时把从现场采集上来的数据或以通信方式从其他设备取得的数据,按照标准M o d b u s协议将数据放入相应类型的数据寄存器中,并按M o d b u s协议的规定,将其设备地址、功能代码、数据长度、数据、C R C校验码处理成一帧标准的M o d b u s数据帧,存放于M S G数据包结构中的另一个特定位置上。
在Z i g B e e网络数据传输过程中,简约功能设备或全功能设备通过对Z-S t a c k中a f F i l l A n d S e n d M e s s a g e()
图3 M o d b u s主从站数据传输示意图
F i g.3 S c h e m a t i c o f d a t a t r a n s m i s s i o nb y M o d b u s b e t w e e nm a s t e r s t a t i o na n ds l a v e s t a t i o n
函数的调用来发送M S G数据包;当网络协调器收到从该简约功能设备或全功能设备发送来的数据包后,通过a f I n c o m i n g D a t a()函数对数据包的进行解析,并根据相应的数据指针的指向,得到相关的数据信息,因而网络协调器通过对数据包的解析可得到该简约功能设备或全功能设备的I E E E地址和该I E E E地址对应的M o d b u s地址,以及完整的M o d b u s协议的通信数据帧,这样M o d b u s的主(网络协调器)、从站(简约功能设备或全功能设备)就通过Z i g B e e网络来完成了M o d b u s 设备的地址定向和M o d b u s协议的数据传输。
如果当某个简约功能设备或全功能设备的M o d b-u s地址发生改变后,主站(网络协调器)会通过从站(简约功能设备或全功能设备)发来的数据包中所解析出的绑定地址与存储于主站的该设备的绑定地址数据列表进行比较,并根据该从站绑定地址中的Z i g B e e 的I E E E地址来刷新该设备的M o d b u s地址列表,从而保证M o d b u s主、从站在网络通信上正确的对应关系。
对于在Z i g B e e网络中由简约功能设备所完成的一切功能,均可由全功能设备(可作为网络协调器或网络路由设备)包含来代替完成,而对于两者在Z i g B e e 网络中进行传输中的最大差别,仅在于其短地址的计算方式不同。
由于M o d b u s通信使用主-从技术,即仅一个设备(主设备)能初始化传输,其他设备根据主设备查询提供的数据作出相应的反应[2]。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应,所以在一个单一的Z i g B e e 网络中只存在一个M o d b u s主站,主站总是以网络协调器(n e t w o r kc o o r d i n a t o r)的方式存在;且在M e s h拓扑结构下,可以利用广播的方式向其他节点发送查询信息。
理论上Z i g B e e的网络节点可达64k个,对于一个单网节点数为255个(1个主站,254个从站)的M o d b u s总线来说,这足够满足其组网的要求。
我们在试验室利用Z i g B e e的测试板,构造了在网格(M e s h)网络结构下的6个Z i g B e e节点,每个节点均设为透传模式,并基于M o d b u s协议进行通信测试,试验结果表明,在测试中各节点间的M o d b u s数据收发正常,且在较好的通信条件下,误码率极低(大约为6.2319e-2);在通过利用Z i g B e e串口模块来完成的点对点的M o d b u s 通信实验后,我们发现,其通信效率仅取决于Z i g B e e无线通信模块的传输效率,而与采用的M o d b u s协议无关。
结合已掌握的技术和所研制出的基于M o d b u s协议的Z i g B e e无线I/O模板的产品,我们在对上海某重型机械厂的工业现场实地进行的无线通信试验后,于现场构建了以一个网络协调器为中心,九个路由节点,和多个移动终端节点组成的Z i g B e e无线质量监测系统。
通过半年的现场应用看来,该无线质量监测网络系统基本满足现场数据传输采集的要求。
4 结束语
通过理论和实验印证,采取基于Z i g B e e无线网络的M o d b u s协议,来完成数据传输的方案是可行的,而且在工业环境下有着广阔的应用前景。
本文通过对基于M o d b u s通信协议的Z i g B e e无线网络进行了研究,提出了一个可行的实现方案,从而为其他现场总线实现与现有的无线网络有机结合提供了一些新的思路和参考。
参考文献
1 彭 瑜.低功耗、低成本、高可靠性、低复杂度的无线电通信协议———Z i g B e e[J].自动化仪表,2005,26(5):1-4.
2 国家技术监督局.G B/Z19582.1-2004中华人民共和国国家标准“基于M o d b u s协议的工业自动化网络规范-第1部分:M o d b-u s应用协议”[S].北京:中国标准出版社,2004:1-2.
3 Z i g B e e A l l i a n c e.Z i g B e e-S p e c i f i c a t i o n[E B/O L].[2005-06].
w w w.z i g b e e.o r g.
4 A n d r e a s W i l l i g,K i r s t e n M a t h e u s,A d a mW o l i s z.W i r e l e s s T e c h n o l o g y
i n I n d u s t r i a l N e t w o r k s[J].P r o c e e d i n g s o f t h e I E E E,2005,93(6):
1130-1151.。