智能机井灌溉项目

2019-04-14 19:22发布

  • 使用RTU设备,采集智能测控装置、电力仪器、流量计数据,通过Zigbee传输数据到DTU,再将汇聚数据分别上传到县局平台和省局平台,其基本模型如下图所示。
项目模型
  • 简单介绍下基本流程,首先是RTU硬件485接口分别接刷卡器、流量计和电能表,通过处理刷卡操作命令,采集流量和电量,经过处理后,上报相应的报文(定时报、开关泵报等)给平台,传输过程是RTU打包好数据,通过zigbee传输到DTU,DTU再将数据处理后分别发给省、县平台。
  • 关于这个项目,数据采集、处理之类的都比较正常,在这就不多讨论了,最大的问题处于传输过程以及数据的打包解析过程,遇到的最大的问题是zigbee的传输导致丢包,因为zigbee的稳定传输字节为82byte,如果数据大于82byte,数据容易丢失。
  • 最初方案是RTU分别打包好省、县平台的数据,然后发给zigbee,通过zigbee透传给DTU,DTU再根据平台标志分别发给省、县平台,此时的报文数据大于100byte,测试结果是平台收到的报文不完整,经常丢包,虽然RTU有补报功能,但平台上显示的报文,时间先后顺序就不对了。
  • 改进方案,将zigbee传输方式改为API模式,RTU打包好数据后,按80byte一包拆包成多包发送,在DTU通过判断API协议中zigbee的地址,为每个RTU(zigbee)分别开辟缓存,保存数据,在根据RTU打包协议将分包数据组包成完成报文,分别上报给省、县平台。经过测试后,结果确实有改善,但是发现,还是会有另一个问题,由于在分包的时候,没有给各个包编号,所以还是可能导致组包时顺序错乱的问题。
  • 最终方案,RTU组包时将数据量压缩至80byte以内,去掉包头包尾,只保留重要数据,经过zigbee透传给DTU后,有DTU实现打包的过程,打包成省平台和县平台的数据包,发送到平台。经过测试,数据传输稳定,报文完整。