時間:2010-03-23 10:48:23來源:limin
1 引言
智能樓宇工程中的中央空調(diào)、電梯、通風(fēng)、給排水、照明、火災(zāi)報警等個子系統(tǒng)的互聯(lián)方案中,采用Modbus tcp協(xié)議的串行通信方式,全面兼容modbus工業(yè)標(biāo)準(zhǔn),數(shù)據(jù)傳輸可靠,響應(yīng)速度快,擴(kuò)展靈活,通過互聯(lián)網(wǎng)實現(xiàn)各子系統(tǒng)與中央管理系統(tǒng)的通信。modbus tcp協(xié)議是在tcp/ip標(biāo)準(zhǔn)中,應(yīng)用層采用工業(yè)領(lǐng)域事實標(biāo)準(zhǔn)modbus。modbus使用tcp/ip應(yīng)用層的502端口,這是經(jīng)過國際公認(rèn)的。該串行總線方式支持各種介質(zhì)的rs-232、rs-422、rs-485接口。modbus tcp的網(wǎng)絡(luò)通信模式采用client/server方式,如圖1所示。
圖1 modbus tcp的網(wǎng)絡(luò)通信模式
2 modbus tcp串行通信分析與實現(xiàn)
某智能樓宇中各子系統(tǒng)主要采用PLC作為主控模塊,如圖2所示。網(wǎng)絡(luò)互聯(lián)采用modbus tcp網(wǎng)絡(luò)通信模式,中央管理系統(tǒng)與該網(wǎng)絡(luò)的互聯(lián)是亟待解決的問題,plc將智能樓宇中各子系統(tǒng)的相關(guān)狀態(tài)和參數(shù)信息保存于它的寄存器中,中央管理系統(tǒng)需要讀取plc中一些保持寄存器的數(shù)值,以此來進(jìn)行智能樓宇的全面監(jiān)控與管理。modbus tcp協(xié)議提供了相應(yīng)指令來進(jìn)行保持寄存器的讀取。
圖2 智能樓宇系統(tǒng)示意圖
2.1 協(xié)議分析
modbus tcp數(shù)據(jù)報文結(jié)構(gòu),如圖3所示。
圖3 modbus tcp數(shù)據(jù)報文結(jié)構(gòu)
一次modbus tcp讀取保持寄存器的通信分析(省略了ip/tcp頭):
從左向右分析該數(shù)據(jù)報文:00 03為此次通信編號,一般每次通信之后將被要求加1以區(qū)別不同的通信數(shù)據(jù)報文;00 00表示協(xié)議標(biāo)識符,00 00為modbus協(xié)議;00 06為數(shù)據(jù)長度,用來指示接下來數(shù)據(jù)的長度,單位字節(jié);03為設(shè)備地址,用以標(biāo)識連接在串行線或者網(wǎng)絡(luò)上的遠(yuǎn)程服務(wù)端的地址。以上七個字節(jié)也被稱為modbus報文頭。03為功能碼,此時代碼03為讀取保持寄存器數(shù)據(jù)。00 00 00 01為功能碼的參數(shù),指示將被讀取的保持寄存器的地址與長度。從左向右分析該數(shù)據(jù)報文:00 03為此次通信編號,應(yīng)答報文要求與先前對應(yīng)的請求保持一致;00 00為協(xié)議標(biāo)識符,00 00表示modbus協(xié)議;00 05為數(shù)據(jù)長度,用來指示接下來數(shù)據(jù)的長度,單位字節(jié);03為設(shè)備地址,應(yīng)答報文要求與先前對應(yīng)的請求保持一致。以上七個字節(jié)同樣為modbus報文頭。03為功能碼,正常情況下應(yīng)答報文要求與先前對應(yīng)的請求保持一致,如果出錯則返回80h+先前的功能碼。02為功能碼的第一個參數(shù),指示接下來數(shù)據(jù)的字節(jié)長度;00 17為被讀取的保持寄存器中的數(shù)據(jù)值,即要求被讀取的地址為00 00的保持寄存器中的數(shù)值為0017h。
測試程序(master)發(fā)送數(shù)據(jù)(hex)及 plc(modbus tcp slave) 響應(yīng)數(shù)據(jù)(hex)樣例分析如圖4所示。
圖4 程序發(fā)送/接收數(shù)據(jù)包樣例分析
2.2 程序流程
以下是主程序的流程圖,如圖5所示,主要功能是建立tcp/ip連接以及連接錯誤處理。
modbus tcp協(xié)議的每一次工作循環(huán)的流程圖,如圖6所示。
圖5 主程序流程圖
圖6 一次工作循環(huán)流程圖
2.3 程序測試
首先在ip中填上需要被連接的服務(wù)端ip地址,然后點擊connect進(jìn)行連接。連接成功后,在oFFset中填寫需要讀取的保持寄存器的開始地址,在length中填寫需要讀取的保持寄存器的長度。最后點擊trigger讀取一次上述保持寄存器,同時將在sent和received中顯示發(fā)送及收到的數(shù)據(jù)報文(hex),并且在data monitor中顯示對這些報文的解釋。
3 結(jié)束語
本文對modbus tcp協(xié)議以及modbus tcp串行通信在智能樓宇工程中的應(yīng)用作了簡單介紹,重點分析研究了modbus tcp讀取plc的保持寄存器數(shù)據(jù)的過程,并提出實現(xiàn)modbus tcp協(xié)議通信的解決方案,進(jìn)行編程以及調(diào)試,成功實現(xiàn)了預(yù)期的功能。
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.surachana.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>顛覆傳統(tǒng)加工!維宏VHTube一鍵實現(xiàn)變徑...
2025-06-16
2025-06-09
從外觀到內(nèi)核的「超進(jìn)化」!NK550M五軸...
2025-06-06
2025-05-19
2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11