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实现功能:串口设备连接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℃
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,点击“画面”,选择画面名“监控温湿度”,然后读取到温度和湿度值在页面上。