一、準(zhǔn)備工作
1.1 硬件需求:MODBUS RTU設(shè)備(USR-WSD-2溫濕度傳感器),DTU(USR-G730)
1.2 軟件需求:透?jìng)髟栖浖刂婆_(tái)http://console.usr.cn/
USR-G730配置軟件http://wxxtd.cn/Download/580.html
1.3 實(shí)現(xiàn)功能:串口設(shè)備連接DTU,DTU設(shè)置參數(shù)后與透?jìng)髟品?wù)器連接,組態(tài)王連接虛擬串口軟件,實(shí)現(xiàn)組態(tài)王發(fā)送MODBUS RTU協(xié)議的請(qǐng)求數(shù)據(jù),MODBUSRTU下位機(jī)返回對(duì)應(yīng)的參數(shù)值
1.4 MODBU RTU獲取溫濕度協(xié)議
讀濕度數(shù)據(jù):
命令幀:0x11 0x04 0x00 0x00 0x00 0x01 0x33 0x5A
ID 功能碼 起始地址 讀取數(shù)據(jù)個(gè)數(shù) CRC 校驗(yàn)碼
響應(yīng)幀:0x11 0x04 0x02 0x01 0xC3 0x39 0x32
ID 響應(yīng)功能碼 返回字節(jié)數(shù) 返回濕度數(shù)據(jù) CRC 校驗(yàn)碼
返回濕度數(shù)據(jù)為0x01C3,換算為十進(jìn)制為451,表示當(dāng)前相對(duì)濕度為45.1%
讀溫度數(shù)據(jù):
命令幀:0x11 0x04 0x00 0x01 0x00 0x01 0x62 0x9A
ID 功能碼 起始地址 讀取數(shù)據(jù)個(gè)數(shù) CRC 校驗(yàn)碼
響應(yīng)幀:0x11 0x04 0x02 0x00 0xEE 0xF8 0xBF
ID 響應(yīng)功能碼 返回字節(jié)數(shù) 返回濕度數(shù)據(jù) CRC 校驗(yàn)碼
返回溫度數(shù)據(jù)為0x00EE,換算為十進(jìn)制為238,表示當(dāng)前溫度為23.8℃。
讀濕度、溫度數(shù)據(jù):
命令幀:0x11 0x04 0x00 0x00 0x00 0x02 0x73 0x5B
ID 功能碼 起始地址 讀取數(shù)據(jù)個(gè)數(shù) CRC 校驗(yàn)碼
響應(yīng)幀:0x11 0x04 0x04 0x01 0xC8 0x00 0xED 0xAA 0x0A
ID 響應(yīng)功能碼 返回字節(jié)數(shù) 濕度數(shù)據(jù) 溫度數(shù)據(jù) CRC 校驗(yàn)碼
返回濕度數(shù)據(jù)為0x01C8,換算為十進(jìn)制為456,表示當(dāng)前相對(duì)濕度為45.6%;返回溫度數(shù)據(jù)為 0x00ED,換算為十進(jìn)制為 237,表示當(dāng)前溫度為 23.7℃
二、登陸透?jìng)髟坪笈_(tái)添加設(shè)備編號(hào)、透?jìng)髟平M及G730、虛擬串口軟件連接透?jìng)髟?/b>
具體步驟見以下案例:
USR-G730使用透?jìng)髟茖?shí)現(xiàn)一對(duì)一通信- http://wxxtd.cn/Faq/263.html
注意點(diǎn):串口參數(shù)設(shè)置
4.2 將新建設(shè)置為當(dāng)前工程,點(diǎn)擊“開發(fā)”
4.3點(diǎn)擊設(shè)備,新建一個(gè)組態(tài)設(shè)備,選擇 PLC-莫迪康-Modbus RTU-COM,點(diǎn)擊“下一步”
4.4 選擇COM口,此COM號(hào)與虛擬串口軟件上的COM號(hào)一致,點(diǎn)擊“下一步”
4.5 設(shè)備地址設(shè)置為17.由于傳感器的命令幀是0x11 ,就代表10進(jìn)制的17. 點(diǎn)擊“下一步”,完成。
4.6在數(shù)據(jù)庫(kù),數(shù)據(jù)詞典內(nèi),雙擊新建,新建4個(gè)變量名,兩個(gè)IO變量,兩個(gè)內(nèi)存變量。
(1)新建變量名:濕度初始值,選擇變量類型:IO整數(shù),連接設(shè)備為新建的設(shè)備名:G780cs1,寄存器301,代表功能碼為04,起始地址0的第一個(gè)值。
(2)新建變量:溫度初始值,選擇變量類型:IO 整數(shù),連接設(shè)備為新建的設(shè)備名:G780cs1,寄存器302,代表功能碼為04,起始地址0的第二個(gè)值。
4.7 點(diǎn)擊“命令語(yǔ)言”中的“應(yīng)用程序命令語(yǔ)言”,然后輸入算法,“濕度初始值”采集到的數(shù)據(jù)除以10,然后將數(shù)據(jù)賦值給“濕度最終值”,此變量對(duì)應(yīng)的是實(shí)際的濕度值?!皽囟瘸跏贾怠辈杉降臄?shù)據(jù)除以10,然后將數(shù)據(jù)賦值給“溫度最終值”,此變量對(duì)應(yīng)的是實(shí)際的溫度值。
4.8 點(diǎn)擊“畫面”,新建一個(gè)畫面,畫面名為監(jiān)控溫濕度,點(diǎn)擊“確定”,進(jìn)入畫面編輯欄。
4.9新建需要的字體,然后將文本與數(shù)據(jù)值進(jìn)行連接,然后點(diǎn)擊“文件”,選擇“全部保存”,然后將畫面切換到 View,點(diǎn)擊“畫面”,選擇畫面名“監(jiān)控溫濕度”,然后讀取到溫度和濕度值在頁(yè)面上。