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

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

更新时间:2018-04-19

一、准备工作

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

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

USR-G730配置软件/Download/580.html

1.3 实现功能:串口设备连接DTU,DTU设置参数后与透传云服务器连接,组态王连接虚拟串口软件,实现组态王发送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℃

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

具体步骤见以下案例:

USR-G730使用透传云实现一对一通信- /Faq/263.html

注意点:串口参数设置



三、设置完参数后,将730串口与温湿度传感器对接上,连接服务器。
四、设置组态王
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,点击“画面”,选择画面名“监控温湿度”,然后读取到温度和湿度值在页面上。






发表评论

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