一種基于Modbus RTU通信協(xié)議的從站入網(wǎng)方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明屬于工業(yè)通信控制的技術(shù)領(lǐng)域,尤其涉及一種基于Modbus RTU通信協(xié)議的從站入網(wǎng)方法,其能夠使從站自動加入到總線節(jié)點。
【背景技術(shù)】
[0002]Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言,它已經(jīng)成為一個通用的工業(yè)標準。有了它,不同廠商生產(chǎn)的控制設(shè)備可以輕松的連成工業(yè)網(wǎng)絡(luò),進行集中的監(jiān)控。Modbus RTU通信協(xié)議是典型的主從通信方式,一個系統(tǒng)中只能夠存在一個主站,分站可以是多個。通信均由主站發(fā)起,從站被動應(yīng)答。
[0003]但是目前的所有相關(guān)廣品中,Modbus RTU主站向從站發(fā)送彳目息時,都是在預(yù)先已知從站地址的情況下發(fā)送信息的。如果此時增加了一個或多個新的從站,由于主站對于新的從站地址是未知,所以新從站是無法收到主站發(fā)給自己的消息,那么新的從站也將永遠無法加入到主網(wǎng)節(jié)點中去。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的缺陷,提供一種基于ModbusRTU通信協(xié)議的從站入網(wǎng)方法,其能夠使從站自動加入到總線節(jié)點,從而解決新的從站或者主站未知地址的從站自動入網(wǎng)的問題。
[0005]解決上述問題的技術(shù)方案是:這種基于ModbusRTU通信協(xié)議的從站入網(wǎng)方法,其包括:
[0006](I)Modbus RTU主站以指定的時間間隔和波特率遍歷向?qū)儆诒鞠到y(tǒng)中的從站發(fā)送查詢報文,查詢報文采用RTU幀格式;
[0007](2)Modbus RTU從站接收到主站的查詢報文后,產(chǎn)生一個回應(yīng)報文給主站,加入到總線節(jié)點中。
[0008]本發(fā)明采用主站的遍歷查詢方式,從站收到查詢后進行回應(yīng),自動加入到總線節(jié)點中,從而解決新的從站或者主站未知地址的從站自動入網(wǎng)的問題。
【附圖說明】
[0009]圖1是根據(jù)本發(fā)明的一個主站-從站的查詢示意圖。
【具體實施方式】
[0010]如圖1所示,這種基于ModbusRTU通信協(xié)議的從站入網(wǎng)方法,其包括:
[0011](I)Modbus RTU主站以指定的時間間隔和波特率遍歷向?qū)儆诒鞠到y(tǒng)中的從站發(fā)送查詢報文,查詢報文采用RTU幀格式;
[0012](2)Modbus RTU從站接收到主站的查詢報文后,產(chǎn)生一個回應(yīng)報文給主站,加入到總線節(jié)點中。
[0013]本發(fā)明采用主站的遍歷查詢方式,從站收到查詢后進行回應(yīng),自動加入到總線節(jié)點中,從而解決新的從站或者主站未知地址的從站自動入網(wǎng)的問題。
[0014]另外,所述RTU幀格式的數(shù)據(jù)包括設(shè)備地址信息、功能代碼、數(shù)據(jù)段以及CRC的校驗。
[0015]另外,所述步驟(I)中查詢報文中的功能代碼將告之被選的從站要執(zhí)行何種功能,數(shù)據(jù)段包含了從站要執(zhí)行功能的附加信息,錯誤檢測域配置來為從站驗證報文內(nèi)容是否正確;所述步驟(2)中在回應(yīng)報文中的功能代碼是在查詢報文中的功能代碼的回應(yīng),回應(yīng)報文中的數(shù)據(jù)段包括從站收集的數(shù)據(jù),如果有錯誤發(fā)生,回應(yīng)報文中的功能代碼被修改以用于指出回應(yīng)報文是錯誤的,同時回應(yīng)報文中的數(shù)據(jù)段包含描述此錯誤的代碼,錯誤檢測域配置來為主站確認報文內(nèi)容是否可用。
[0016]另外,通過判斷從站向主站發(fā)送的回應(yīng)報文中的地址信息,確定哪些從站脫網(wǎng)。
[0017]另外,ModbusRTU主站自動遍歷發(fā)送查詢報文,掃描從站的回應(yīng)報文,實現(xiàn)數(shù)據(jù)的相互交換。
[0018]另外,所述RTU幀格式的數(shù)據(jù)具有I個起始位、8個數(shù)據(jù)位、I個奇偶校驗位、I個停止位以及錯誤檢測域,所述波特率設(shè)置為57600bps。
[0019]通過上述方式,實現(xiàn)了從站的自動入網(wǎng),解決了原來相關(guān)產(chǎn)品中由于主站未知從站地址,從站永遠無法加入到主網(wǎng)節(jié)點的問題。并且主站還可以依據(jù)從站的回應(yīng)報文,將多從站的信息按照地址映射在對應(yīng)的內(nèi)存中,我們只需要查看該內(nèi)存中的數(shù)據(jù),就可獲知多個從站的具體信息。
[0020]本發(fā)明ModbusRTU從站自動入網(wǎng)的方法【具體實施方式】如下:
[0021]主站發(fā)送查詢報文
[0022]報文采用RTU幀格式,I個起始位,8個數(shù)據(jù)位,I個奇偶校驗位,I個停止位以及錯誤檢測域,波特率設(shè)置為57600bps;主站發(fā)送報文采用定時發(fā)送方式,當間隔時間一到,主站就會自動逐個向本系統(tǒng)的從站發(fā)送查詢信息。該查詢信息里包含從站的地址信息,當從站收到報文后會進行相應(yīng)的報文解析。由于Modbus協(xié)議的規(guī)定,從站不斷偵測網(wǎng)絡(luò)總線,包括停頓間隔時間。當?shù)谝粋€報文接收到時,每個從站都進行解碼以判斷是否是發(fā)往自己的。在最后一個傳輸字符之后,一個至少3.5個字符時間的停頓標志了消息的結(jié)束。一個新的消息可在此停頓后開始。
[0023]從站回應(yīng)報文
[0024]設(shè)計一個報文解析函數(shù),對標準ModbusRTU協(xié)議的報文進行解析,解析函數(shù)放在主函數(shù)的循環(huán)程序中,利用主程序空閑時間進行解析;每個正常報文解析之后,根據(jù)主站報文中的地址信息,對應(yīng)地址的從站會發(fā)送相應(yīng)的響應(yīng)報文。每個響應(yīng)的報文要進行CRC錯誤檢測,方便主站以此作為判斷接收報文正確的依據(jù)。
[0025]以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的限制。本領(lǐng)域的普通技術(shù)人員應(yīng)該理解,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發(fā)明技術(shù)方案的保護范圍。
【主權(quán)項】
1.一種基于Modbus RTU通信協(xié)議的從站入網(wǎng)方法,其特征在于:其包括: (I )Modbus RTU主站以指定的時間間隔和波特率遍歷向?qū)儆诒鞠到y(tǒng)中的從站發(fā)送查詢報文,查詢報文采用RTU幀格式; (2)Modbus RTU從站接收到主站的查詢報文后,產(chǎn)生一個回應(yīng)報文給主站,加入到總線節(jié)點中。2.根據(jù)權(quán)利要求1所述的基于ModbusRTU通信協(xié)議的從站入網(wǎng)方法,其特征在于:所述RTU幀格式的數(shù)據(jù)包括設(shè)備地址信息、功能代碼、數(shù)據(jù)段以及CRC的校驗。3.根據(jù)權(quán)利要求2所述的基于ModbusRTU通信協(xié)議的從站入網(wǎng)方法,其特征在于:所述步驟(I)中查詢報文中的功能代碼將告之被選的從站要執(zhí)行何種功能,數(shù)據(jù)段包含了從站要執(zhí)行功能的附加信息,錯誤檢測域配置來為從站驗證報文內(nèi)容是否正確;所述步驟(2)中在回應(yīng)報文中的功能代碼是在查詢報文中的功能代碼的回應(yīng),回應(yīng)報文中的數(shù)據(jù)段包括從站收集的數(shù)據(jù),如果有錯誤發(fā)生,回應(yīng)報文中的功能代碼被修改以用于指出回應(yīng)報文是錯誤的,同時回應(yīng)報文中的數(shù)據(jù)段包含描述此錯誤的代碼,錯誤檢測域配置來為主站確認報文內(nèi)容是否可用。4.根據(jù)權(quán)利要求1-3任一項所述的基于ModbusRTU通信協(xié)議的從站入網(wǎng)方法,其特征在于:通過判斷從站向主站發(fā)送的回應(yīng)報文中的地址信息,確定哪些從站脫網(wǎng)。5.根據(jù)權(quán)利要求4所述的基于ModbusRTU通信協(xié)議的從站入網(wǎng)方法,其特征在于:Modbus RTU主站自動遍歷發(fā)送查詢報文,掃描從站的回應(yīng)報文,實現(xiàn)數(shù)據(jù)的相互交換。6.根據(jù)權(quán)利要求3所述的基于ModbusRTU通信協(xié)議的從站入網(wǎng)方法,其特征在于:所述RTU幀格式的數(shù)據(jù)具有I個起始位、8個數(shù)據(jù)位、I個奇偶校驗位、I個停止位以及錯誤檢測域,所述波特率設(shè)置為57600bps。
【專利摘要】本申請公開了一種基于Modbus?RTU通信協(xié)議的從站入網(wǎng)方法,其能夠使從站自動加入到總線節(jié)點,從而解決新的從站或者主站未知地址的從站自動入網(wǎng)的問題。其包括:(1)Modbus?RTU主站以指定的時間間隔和波特率遍歷向?qū)儆诒鞠到y(tǒng)中的從站發(fā)送查詢報文,查詢報文采用RTU幀格式;(2)Modbus?RTU從站接收到主站的查詢報文后,產(chǎn)生一個回應(yīng)報文給主站,加入到總線節(jié)點中。
【IPC分類】H04L12/26, H04L12/403, H04L12/911
【公開號】CN105577483
【申請?zhí)枴緾N201610081317
【發(fā)明人】俞凌, 盧銘, 卓明, 李永成, 王保華
【申請人】北京安控科技股份有限公司
【公開日】2016年5月11日
【申請日】2016年2月4日