IOTOS物联中台非标modbus驱动对接易事特UPS电源设备
本文章为原创,转载请注明出处!
账号:iotos_test 密码:iotos123
代码地址:
目录
- 
前言
 
Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
Modbus具有两种串行传输模式:分别为ASCII和RTU。Modbus是一种单主站的主从通信模式,Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0 - 247,其中0为广播地址,从站的实际地址范围为1 - 247。
Modbus RTU通信以主从的方式进行数据传输,在传输的过程中Modbus RTU主站是主动方,即主站发送数据请求报文到从站,Modbus RTU从站返回响应报文。
- 
驱动目的
 
驱动将以串口连接的易事特UPS电源EA660G3的数据拿到并上云(该型号的UPS电源为非标准的modbus协议)
- 
适用范围
 
易事特UPS电源EA660G3,以串口连接工控机或电脑
- 
使用示例
 - 首先,将易事特UPS电源的串口连接至工控机或者电脑上:
 - 进入
 
- 填好网关名称后点击确认
 
- 创建设备示例点击【我的设备】 -> 【通信网关】 -> 【设备实例】->【创建设备】
 
- 填写【设备名称】、选择刚刚创建的【模板驱动】和【通信网关】。参数topic为mqtt订阅的topic,用来拿去设备的数据,host和port为mqtt服务器的地址和端口号
 
- 创建数据点,点击【我的设备】 -> 【通信网关】 -> 【设备实例】 -> 【数据点】,并在【设备实例】下拉列表选择刚刚创建的设备实例
 
- 点击右边的创建数据点,填写名称
 
第一个点配置"private"属性用于驱动识别表示第一点
其余的点配置point和index,point表示指向哪个点,index表示取第几个数据,下面示例为第二个数据点,这里point填第一个点的oid,index填1,后面的数据点一次,更改index获取不同位的数据即可
- 在【我的设备】 -> 【通信网关】中找到刚才创建的网关,点击【高级】
 
- 开启云网关,密码为账号密码
 
- 点击 【我的设备】 -> 【通信网关】 -> 【设备实例】->【数据点】,选择刚才创建的设备实例
 
- 即可查看数据已经上报成功
 
- 
驱动代码
 - 由于UPS电源与工控机或者电脑是串口连接,数据需要上报到线上的中台,但是工控机配置过低无法运行驱动文件,所以中间利用mqtt进行了数据的相关转移,若UPS电源连接的工控机或者电脑可以直接运行驱动则无需利用mqtt进行数据转移,可以直接上传至中台,这里的代码是包含了mqtt服务的。
 - 数据的获取和mqtt的发布(脚本)
 
                    
                










