来源:期刊VIP网所属分类:计算机网络发布时间:2021-01-19浏览:次
摘 要:数据的采集和云端存储是工业物联网的重要应用,文章介绍了利用Modbus工业总线协议进行数据采集的方法,开发了基于Go语言的数据采集系统,解决工业设备海量数据的采集和存储问题,该系统使工业数据的采集不依赖于网关等特定硬件设备,减少了企业进行智能化改造的成本,数据可视化的呈现也为企业进行生产优化和决策提供了依据。
关键词:工业物联网;Go语言;数据采集
1 引言(Introduction)
隨着工业物联网的发展,工业设备的智能化程度越来越高,然而设备的通讯受限于不同设备的物理链路、各种不同的协议,因此大多数数据不能互联互通。同时,现有的SQL(Structured Query Language)数据库也很难适应工业物联网中时间序列数据的存储特点,使得数据的存储和查询效率很低。工业物联网主要集中在生产和服务方面的应用,往往会涉及能源、交通、工业控制等质量较高的设备和资产,对运行安全提出了更高的要求[1,2]。文章介绍了一种新型的利用Modbus工业总线现场协议[3-5]进行数据采集的方法,实现了在云端对边缘设备进行数据采集的功能。借助这种方法,工业数据的采集可以不依赖于具体硬件网关,减少使用成本,对于企业及时参与工业物联网的发展有一定的启示意义。
2 背景(Background)
目前,国内外厂商对于工业物联网数据采集[6]措施,主要有两种方案。一是利用嵌入式工业网关接入工业现场,或通过以太网,或通过串口,或通过OPC(OLE for Process Control)服务器等介质进行数据采集。这种方式需要购买厂商的硬件设备,往往价格高昂,并且与设备厂商的平台进行强绑定,不利于用户开发,难以满足个性化和定制化需求。优点是对于要求不多的客户,使用省心,不需要考虑很多,并且售后服务比较有保障。二是利用数据传输单元DTU(Data Terminal Unit)进行透明传输,将现场设备接入厂商云端,通过Socket方式实现数据采集。这种方式不需要购买或替换厂商的硬件网关,能直接利用用户已有的设备,减少了硬件成本开销。缺点是云服务价格取决于厂商,用户的话语权减弱,且迁移数据受限制。
3 需求及解决方案(Requirements and solutions)
该系统主要实现在云端[7]对边缘设备进行采集的功能,同时进行可视化的呈现。国内做数据采集工业网关的厂家非常多,证明这个技术方向有一定的研究价值。本采集系统使用Modbus+MQTT+InfluxDB的技术方案,经过验证,技术上具有一定的可行性,可以满足用户的数据采集需求。
3.1 数据采集
用户使用本数据采集系统时,首要的需求便是采集现场数据。这要求系统能够支持用户设备的通信协议[8]。经过分析研究,Modbus TCP(Modbus Transmission Control Protocol)与Modbus RTU(Modbus Remote Terminal Unit)协议已经能够满足用户的基础需求。另外,为了支持一些原始的串口协议,系统也加入了对于DTU透传模块的支持,经过正确配置后也可以通过DTU模块读取下属设备的数据。只有对协议的支持是远远不够的。为了能够方便用户的操作配置,系统的配置文件一定要清晰明了,不使用户感到迷惑。因此系统选用的JSON格式作为配置格式,既方便用户阅读和修改配置,也便于程序读取和解析。
3.2 数据存储
在满足用户的采集需求后,另一个问题便是数据存储问题。由于时序数据的天然特殊性,SQL类数据库并不适合存储该类数据。因此本系统选用时序数据库中性能较为优异的InfluxDB数据库作为存储方案,为如何收集数据,如何存储数据,如何处理和监视数据,以及如何可视化数据提出了合适的解决方案。另外,系统还提供了备选方案,如存储到MQTT(Message Queuing Telemetry Transport)中,后面接入消息队列,可以进一步处理;用户也可以选择直接存入云厂商数据库,例如,百度云天工TSDB数据库。
推荐阅读:物联网技术计算机信息化论文投稿
期刊VIP网,您身边的高端学术顾问
文章名称: 工业物联网环境下设备数据采集研究与实现
文章地址: http://www.qikanvip.com/jisuanjiwangluo/55187.html