-
您的位置:
- 網(wǎng)站首頁
- > 物聯(lián)百科
- > 技術(shù)問答
您的位置:
Modbus-RTU協(xié)議中有字符時間的概念。Modbus-RTU總線通過時間間隔判斷一幀數(shù)據(jù)的結(jié)束,3.5在兩個字符的周期內(nèi)沒有接收到新數(shù)據(jù),則認(rèn)為該幀結(jié)束。什么是字符時間?準(zhǔn)確的說,應(yīng)該是在偶校驗的情況下發(fā)送一個字節(jié)數(shù)據(jù)的時間。
在RTU (Remote Terminal Unit)模式下,串行鏈路以字節(jié)為單位向單元發(fā)送數(shù)據(jù)。但是Modbus-RTU協(xié)議中有字符時間的概念,Modbus-RTU總線通過時間間隔判斷一幀數(shù)據(jù)的結(jié)束,3.5在兩個字符的周期內(nèi)沒有收到新的數(shù)據(jù),到此結(jié)束框架被考慮。為什么這個時間叫“字符時間”,而不叫“字節(jié)時間”呢,這只是串口發(fā)送的一個字節(jié)(字節(jié))你玩得開心嗎?
你打賭,這個“字符時間”通過串口發(fā)送一個字節(jié)(字節(jié))數(shù)據(jù)所花費的實際時間,但孔炳火(公眾號:孔炳火)認(rèn)為,這不是真的,原因如下。根據(jù)Modbus國家標(biāo)準(zhǔn)對RTU傳輸方式的規(guī)定,傳輸一個字節(jié)(byte)的數(shù)據(jù),占用11 個位置位,1 個起始位,8 個數(shù)據(jù)位,1 個校驗位,1 個停止位。并且需要偶校驗,默認(rèn)模式必須是偶校驗,但為了增加設(shè)備兼容性,奇校驗和不校驗也是允許的,但不校驗,停止位必須設(shè)置為2位。由此可以看出,一個字符時間是發(fā)送11個位置位的時間。如果是這樣:“字符時間”是串口在偶校驗的情況下發(fā)送一個字節(jié)(byte)數(shù)據(jù)所花費的實際時間,即11個單獨位的時間。
擴展一下,Modbus-RTU有時把通訊參數(shù)設(shè)置為8位,1位停止位,沒有驗證,其實不嚴(yán)謹(jǐn),雖然也能通訊成功。如果所有的Modbus設(shè)備都嚴(yán)格遵循11 個單獨的位字符時間,就相當(dāng)于我們統(tǒng)一了判斷幀尾時間間隔的標(biāo)準(zhǔn),有利于Modbus 通信的穩(wěn)定性。