首页 > 知识问答 > 通用功能及问题

组态王配套780连接modbus设备通信实例

更新时间:2018-04-25

1准备工作

  1.1硬件需求:MODBUS RTU设备(USR-WSD-2温湿度传感器),DTU(USR-G780)。

  1.2软件需求:透传云软件控制台:http://console.usr.cn/ 

                        USR-G780配置软件:http://www.usr.cn/Download/551.html

  1.3实现功能:串口设备连接DTUDTU设置参数后与透传云服务器连接,组态王连接虚拟串口软件,实现组态王发送MODBUS RTU协议的请求数据,MODBUSRTU下位机返回对应的参数值。

1.4 MODBU RTU获取温湿度协议

读湿度数据

命令帧:0x11  0x04   0x00 0x00   0x00 0x01    0x33  0x5A

ID   功能码  起始地址   读取数据个数   CRC  校验码

响应帧:0x11  0x04        0x02      0x01 0xC3   0x39 0x32

ID   响应功能码 返回字节数 返回湿度数据 CRC 校验码

返回湿度数据为0x01C3,换算为十进制为451,表示当前相对湿度为45.1%

读温度数据:

读温度数据:

命令帧:0x11 0x04    0x00 0x01  0x00 0x01   0x62 0x9A

ID   功能码  起始地址  读取数据个数 CRC 校验码

响应帧:0x11 0x04        0x02       0x00 0xEE   0xF8 0xBF

ID   响应功能码 返回字节数 返回湿度数据 CRC 校验码

返回温度数据为0x00EE,换算为十进制为238,表示当前温度为23.8℃

读湿度、温度数据:

命令帧:0x11 0x04    0x00 0x00  0x00 0x02   0x73 0x5B

ID   功能码 起始地址   读取数据个数 CRC 校验码

响应帧:0x11 0x04        0x04      0x01 0xC8  0x00 0xED 0xAA 0x0A

ID   响应功能码 返回字节数 湿度数据  温度数据   CRC 校验码

返回湿度数据为0x01C8,换算为十进制为456,表示当前相对湿度为45.6%;返回温度数据为 0x00ED,换算为十进制为 237,表示当前温度为 23.7℃

2、登陆透传云后台添加设备编号、透传云组及G780、虚拟串口软件连接透传云。

具体步骤见以下案例(1-8):

4G DTU USR-G780使用透传云实现一对一通信- http://www.usr.cn/Faq/263.html

注意点:串口参数设置

3、设置完参数后,将780串口与温湿度传感器对接上,连接服务器。

4、设置组态王

4.1 打开组态王软件,新建一个工程

4.2 将新建设置为当前工程,点击“开发”


4.3点击设备,新建一个组态设备,选择 PLC-莫迪康-Modbus RTU-COM,点击“下一步”


4.4 选择COM口,此COM号与虚拟串口软件上的COM号一致,点击“下一步”


4.5 设备地址设置为17.由于传感器的命令帧是0x11 ,就代表10进制的17.点击“下一步”,完成。


4.6在数据库,数据词典内,双击新建,新建4个变量名,两个IO变量,两个内存变量。

   (1)新建变量名:湿度初始值,选择变量类型:IO整数,连接设备为新建的设备名:G780cs1,寄存器301,代表功能码为04,起始地址0的第一个值。

  

(2)新建变量:温度初始值,选择变量类型:IO 整数,连接设备为新建的设备名:G780cs1,寄存器302,代表功能码为04,起始地址0的第二个值。


(3)新建变量名:湿度最终值,选择变量类型“内存整数”,点击“确定”。


(4)新建变量名:温度最终值,选择变量类型“内存整数”,点击“确定”。


4.7点击“命令语言”中的“应用程序命令语言”,然后输入算法,“湿度初始值”采集到的数据除以10,然后将数据赋值给“湿度最终值”,此变量对应的是实际的湿度值。“温度初始值”采集到的数据除以10,然后将数据赋值给“温度最终值”,此变量对应的是实际的温度值。


4.8点击“画面”,新建一个画面,画面名为监控温湿度,点击“确定”,进入画面编辑栏。


4.9新建需要的字体,然后将文本与数据值进行连接,然后点击“文件”,选择“全部保存”,然后将画面切换到 View,点击“画面”,选择画面名“监控温湿度”,然后读取到温度和湿度值在页面上。





发表评论

*为必须填写项
  • (您的个人信息将被保密)