文章目录
- 需求及解决方案
- 数据采集
- 系统设计
- 主函数模块
- 采集驱动模块
- 存储驱动模块
- 概念理解
- Modbus 协议
- RS-232
- PLC (可编程逻辑控制器)
- 基础知识
- HINET 智能网关
- 参考文献
目前,国内外厂商对于工业物联网数据采集[6]措施,主要有两种方案。
一是利用嵌入式工业网关接入工业现场,或通过以太网,或通过串口,或通过OPC(OLE for Process Control)服务器等介质进行数据采集。这种方式需要购买厂商的硬件设备,往往价格高昂,并且与设备厂商的平台进行强绑定,不利于用户开发,难以满足个性化和定制化需求。优点是对于要求不多的客户,使用省心,不需要考虑很多,并且售后服务比较有保障。
二是利用数据传输单元DTU(Data Terminal Unit)进行透明传输,将现场设备接入厂商云端,通过Socket方式实现数据采集。这种方式不需要购买或替换厂商的硬件网关,能直接利用用户已有的设备,减少了硬件成本开销。缺点是云服务价格取决于厂商,用户的话语权减弱,且迁移数据受限制。
需求及解决方案
数据采集
要求系统能够支持用户设备的通信协议。使用如下两个协议可以满足用户的基础需求:
- Modbus TCP
- Modbus RTU
为了支持一些原始的串口协议,系统也加入对于DTU透传模块的支持;
为了能够方便用户的操作配置,系统的配置文件一定要清晰明了,这里选用 JSON 格式。
系统设计
开发语言:Go;
数据采集协议:Modbus;
配置文件下发和数据存储方案:MQTT;
时序数据库:InfluxDB,OpenTSDB;
配置文件和API:JSON;
整体部署和安装:Docker;
整体框架:
- 主函数模块
- 采集驱动模块
- 存储驱动模块
主函数模块
采集驱动模块
存储驱动模块
概念理解
Modbus 协议
Modbus 协议是全球最早用于工业现场的总线规约,许多工业设备,包括PLC,DCS,智能仪表等都在使用此协议作为他们之间的通信标准;
简单来说,是工业上使用较为广泛的通信协议,在此基础上还有几个变种;