开发EdgeX的Modbus Device Sevice实战
2022-03-16 本文已影响0人
LabVIEW_Python
EdgeX Foundry,简单来说是连接OT与IT之间的桥梁,承担着OT世界协议解析,数据聚合并上传到IT的任务。
EdgeX 是OT与IT之间的桥梁
Windows上运行ModbusPal
![。:https://img.haomeiwen.com/i10758717/b54223e08ccaf170.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2.1. 添加模拟设备:
添加模拟设备
2.2. 根据寄存器表添加寄存器:
添加寄存器
2.3. 添加 ModbusPal 支持值自动生成器,可以绑定到寄存器:
添加设备值生成器
绑定值生成器
启用值生成器并单击`Run`按钮
根据大咖的指点:
Python向EdgeX传数据最好用MQTT方式
所以,下一篇开始研究EdgeX MQTT Device Service;放弃Modbus
![](https://img.haomeiwen.com/i10758717/de61f09490e697db.png)
在OT世界中,Modbus是最长见的通信协议,广泛应用于各种智慧传感器,PLC,嵌入式数据采集设备等等,本文将以开发EdgeX Foundry的Modbus Device Service为例,详细介绍其流程。具体步骤如下:
第一步,下载Modbus TCP模拟器ModbusPal,http://modbuspal.sourceforge.net/.
![](https://img.haomeiwen.com/i10758717/0f3398c0c5514e54.png)
第二步,按照下表,设置 ModbusPal的寄存器表
Address | Name | R/W | Description |
---|---|---|---|
4000 | ThermostatL | R/W | Lower alarm threshold |
4001 | ThermostatH | R/W | Upper alarm threshold |
4002 | Alarm mode | R/W | 1 - OFF (disabled), 2 - Lower, 3 - Higher, 4 - Lower or Higher |
4004 | Temperature x10 | R | Temperature x 10 (np. 10,5 st.C to 105) |
![](https://img.haomeiwen.com/i10758717/e45c9b9e5fe6a119.png)
![](https://img.haomeiwen.com/i10758717/2f17de928502e75e.png)
![](https://img.haomeiwen.com/i10758717/c9477cde2decee1c.png)
![](https://img.haomeiwen.com/i10758717/4f1cf9e7f3648fe7.png)
不想设置的同学,也可以直接Import 配置文件:temp_sensor.xmps,下载地址:https://gitee.com/ppov-nuc/edgex_modbus_device_service
运行模拟器
启用值生成器并单击Run
按钮。
![](https://img.haomeiwen.com/i10758717/1e2ac100d7e86e49.png)
根据大咖的指点:
![](https://img.haomeiwen.com/i10758717/8d326f305f80ebd1.png)
所以,下一篇开始研究EdgeX MQTT Device Service;放弃Modbus