本文章为原创,转载请注明出处!
账号:iotos_test 密码:iotos123
代码地址:IOTOSDK-Python: IOTOS Python版本SDK,自带原生接口和采集引擎 (gitee.com)
目录
-
前言
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电源的串口连接至工控机或者电脑上:
- 进入爱投斯中台,账号为iotos_test,密码为iotos123,创建网关

- 填好网关名称后点击确认

- 创建设备示例点击【我的设备】 -> 【通信网关】 -> 【设备实例】->【创建设备】

- 填写【设备名称】、选择刚刚创建的【模板驱动】和【通信网关】。参数topic为mqtt订阅的topic,用来拿去设备的数据,host和port为mqtt服务器的地址和端口号

- 创建数据点,点击【我的设备】 -> 【通信网关】 -> 【设备实例】 -> 【数据点】,并在【设备实例】下拉列表选择刚刚创建的设备实例

- 点击右边的创建数据点,填写名称
并在高级配置中配置数据点的相关标志
第一个点配置"private"属性用于驱动识别表示第一点

其余的点配置point和index,point表示指向哪个点,index表示取第几个数据,下面示例为第二个数据点,这里point填第一个点的oid,index填1,后面的数据点一次,更改index获取不同位的数据即可

- 在【我的设备】 -> 【通信网关】中找到刚才创建的网关,点击【高级】

- 开启云网关,密码为账号密码

- 点击 【我的设备】 -> 【通信网关】 -> 【设备实例】->【数据点】,选择刚才创建的设备实例

- 即可查看数据已经上报成功

-
驱动代码
- 由于UPS电源与工控机或者电脑是串口连接,数据需要上报到线上的中台,但是工控机配置过低无法运行驱动文件,所以中间利用mqtt进行了数据的相关转移,若UPS电源连接的工控机或者电脑可以直接运行驱动则无需利用mqtt进行数据转移,可以直接上传至中台,这里的代码是包含了mqtt服务的。
- 数据的获取和mqtt的发布(脚本)
# encoding: utf-8
# python 2.7
import random
import time
import threading
from paho.mqtt import client as mqtt_client
import serial
from serial import Serial
import modbus_tk.modbus_rtu as modbus_rtu
class info():
def __init__(self):
self.broker = '***.***.***.***' #mqtt服务器地址,需要自行填写
self.port = *** #mqtt的端口,需要自行填写
self.topic_airc = "/python/mqtt/ups"
# generate client ID with pub prefix randomly
self.client_id = 'admin123'
def connect_mqtt(self):
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("Connected to MQTT Broker!")
else:
print("Failed to connect,

本文详细介绍了如何使用Python驱动非标准Modbus协议的易事特UPS EA660G3,通过串口连接获取数据,并借助mqtt中转上云至IOTOS®爱投斯物联中台的过程。
最低0.47元/天 解锁文章
592

被折叠的 条评论
为什么被折叠?



