1 系统网络架构设计
无线ZigBee网络实现的数据采集系统由多采集节点组成,采用SNAP对等网络协议实现ZigBee组网方案。节点功能包括温度采集、压力采集。在一个ZigBee数传网络中的采集节点,通过程序设置,节点与节点之间、节点与计算机之间可交互通信,设置带数据包转发功能或者不带数据包转发功能。主节点通过ZigBee数传网络对其余各节采用一种远程函数调用手段实现数据采集,采集数据通过串口上传到计算机。通过ZigBee OPC服务软件,为力控组态软件提供OPC服务,实现数据保存、备份、查询等功能。ZigBee网络由协调器、路由器和采集终端组成,如图1所示。
图1 ZigBee系统网络柘朴图
2 硬件设计
系统硬件设计主要包括三大部分,中央控制单元、温度传感器电路、压力传感器电路。控制单元核心采用具有射频功能的ZIC2410单片机进行ZigBee数据采集处理与组建ZigBee数传模块网络,传感器处理电路采用仪表放大片OP07。温度测量电路采用PTl00与20K电阻搭电桥组成。压力测量采用电阻式压力传感器组成。
2.1中央控制单元设计
控制核心采用CEL公司生产的ZICM2410 ZigBee无线模块,该模块采用ZIC2410单片机,ZIC2410单片机是一个真正的单芯片解决方案,是一款真正意义上的ZigBee片上系统:集成了ZigBee无线收发器和一个单指令内嵌Flash空间的51CPU内核。它由一个含有基带Modem的射频收发器、硬连线的MAC和内嵌8051内核的微控制器(带有内部Flash存储器)组成。包括多个通用I/O引脚、定时器、UART、SPI等,以及硬件语音编解码器,独有的IIS/SPI/UART音频输入输出接口,结合其扩展的500kbps或1Mbps的无线传输数率,可以满足各测控领域的应用。其内部功能模块如图2所示。
图2 ZIC2410内部功能模块方框图
2.2传感放大电路设计
温度、压力采集采用三个OP07运算放大芯片,电路前级放大采用差分方式输入,引入共模抑制电路,采用同相并联差值比例输入级和差分放大输出级,其中U6和U8为两个性能一致的的仪表放大芯片,U7工作于差动放大方式,用来抑制U6和U8的共模信号。R4与R11、R8组成负反馈网络,使得整个电路增益稳定,降低噪声、输出阻抗,同时也使输入阻抗增大。能有效提高共模抑制比。在放大电路前端采用差分输入方式,能有效提高整个电路的共模抑制效果。设计中为提高其共模抑制能力,还增加了R18、R4的调零电路。
图3 OP07设计的传感器放大电路图
2.3负电压产生电路
由于现场无法安装交流供电,数据采集模块采用了蓄电池6V供电,但OP07需要负电压供电,使其正常工作。负压产生的方法比较多,本装置采取了ICL7660变极性芯片。ICL7660是美国哈里斯公司生产的变极性DC—DC变换器,该芯片可以将正电压输入变为负电压输出,该芯片电压范围为1.5—10.5V,具有静态电流小、转换效率高、外围电路简单等优点。ICL 7660负电压产生电路如图4所示:
图4 ICL7660负电压产生电路
3 软件设计
无线ZigBee数据采集系统由ZigBee数据采集节点以及负责和计算机进行通信的主节点(协调器),OPC服务器、力控组态软件组成。为了缩短开发周期,降低开发风险,ZigBee数据采集节点采用了SNAP网络协议栈开发,SNAP为内嵌Python虚拟机的ZigBee协议栈,可以编写应用层脚本,编译并空中下载脚本文件。为复杂的ZigBee数传模块网络提供一个简单、可靠、智能的完整组网方案,同时,因为使用“对等网络”概念,功耗优化明显,冗余性能优异。开发平台采用Synapse公司的Porlal,该软件集SNAP代码编译、SNAP节点管理等多种功能的综合集成开发环境。
3.1主节点软件设计
开发语言采用类似VB事件驱动的SNAP脚本,所有程序都由事件驱动。包括的事件有:启动事件、GPIO电平变化事件、定时器事件、输入输出事件、远程调用事件。SNAP协议栈底层封装有大量库函数以及SNAPpy虚拟机,脚本运行于SNAPpy虚拟机上,执行相应的硬件操作,或者调用网络层发送数据包。
在SNAP协议栈里边,节点之间通信采用远程函数调用机调实现。主节点采用RPC远程调用函数实现数据采集。
远程过程调函数RPC(Remote Procedure Call),RPC函数基本格式如下:rpc(address,function,args),其中address表示单点传输地址,function表示远程所要调用函数名称,args表示传递参数。在终端节点数据采集函数名称为Adresult(),所以在主节点中编写的远程调用语句为:rpc(” \xce\x00\x02",‘ADresult,)‘表示从IP地址为‘%\ce\x00\x02"的终端节读取温度压力数据。
3.2终端节点程序设计
终端节点的功能是ZigBee数据采集以及数据发送。在SNAP网络协议栈中,数据传送是通过远程函数调用来实现。在终端节点,设计一个Adresult()的函数,实现数据采集,采集到的数据要传递回主节点,是采用远程函数调用机调实现。在主节点编写showresult()函数,这个函数用于被远程终端节点调用,并且把远程传输函数参数通过串口送往计算机。Adresult()函数被调用以后,开始进行温度、压力采集,调用showresult()函数,然后把自身的lP地址、温度、压力数据作为showresult()函数参数传输到主节点,完成一次节点数据采集。SNAP支持函数嵌套调用,Adresult()的代码如下:rpc(‘,\xce\x00\x01",‘showresult 7,myself,readadc(0),readadc(1),readadc(7)),这是RPC远程调用函数,第一个参数是主节点,说明被调用的是主节点函数,第二个参数是被调用函数名称showresult(),第三个参数是调用节点自身IP地址,第四个参数是温度数据,第五个是压力数据,第六个是电量。
图5 主节点读远程节点过程
3.3上位机监测与报警系统软件设计
上位机监测与报警系统采用力控组态软件作为开发平台,力控组态软件是面向对象的设计思路,具有友好的开发环境、高效的数据处理能力、完善的用户安全管理、良好的开放性等特点。可利用其灵活多样的组态方式,进行系统硬件、软件、网络的组态集成,实现界面显示,报警与事件,管理报表,信号处理,打印系统,设备管理。下面两种是基于力控软件与终端节点数据的交互采集方案。
3.3.1基于VB的DDE服务机制
利用VB开发和通过其串行通信控件进行数据采集,然后,根据力控支持Windows平台下软件之间的的数据通信、数据交换,组建DDE异构环境下不同系统之间的通信。DDE(DynamicData Exchange)技术是实现Windows下的应用程序之
间的数据交换,通讯时一应用程序作为客户端(Client),另一应用程序作为服务端(Server)。在工程对时效要求较低时,此方案非常方便。
3.3.2 OPC
OPC是一套在基于Windows操作平台的工业应用程序之间提供高效的信息集成和多功能的组件对象模型接I=I标准,它以微软的组件对象模型COM/DCOM/COM+技术为技术基础采用客户/服务器模式。OPC标准优点是:①高速的数据传输性能;②节省多种采用服务器、硬件驱动的昂贵开销,降低了开发成本;③具有开放性,互联性。总之,OPC最主要的目标就是实现灵活、高效、方便地获取数据,易于掌握和实施即插即用。ZigBee无线模块网络OPC技术测控系统的基本结构如图6所示。
图6 0PC客户/服务器关系图
4 结束语
本文ZigBee数据采集系统应用ZigBee无线模块实现了温度、压力的ZigBee数据采集,已成功应用于湖南、海南省等某槟榔食品生产企业的发酵罐温度、压力的测控系统的终端。由于现场没法使用交流供电,而且发酵罐是低速旋转的,采用本系统方案进行现场数据的测量,很好地解决了实际现场中综合布线不方便和旋转对象测控等实际问题。
原文地址:http://jlinkcn.blog.51cto.com/9948825/1636691