<thead id="tlth1"></thead><menuitem id="tlth1"><i id="tlth1"></i></menuitem>
<menuitem id="tlth1"><i id="tlth1"></i></menuitem><menuitem id="tlth1"><ruby id="tlth1"></ruby></menuitem>
<var id="tlth1"><ruby id="tlth1"></ruby></var>
<strike id="tlth1"><var id="tlth1"></var></strike><cite id="tlth1"><thead id="tlth1"><video id="tlth1"></video></thead></cite>
<thead id="tlth1"><dl id="tlth1"><address id="tlth1"></address></dl></thead>
<thead id="tlth1"></thead>
<var id="tlth1"><dl id="tlth1"><address id="tlth1"></address></dl></var>
<menuitem id="tlth1"></menuitem>
技術(shù)資訊當前位置:首頁(yè) > 技術(shù)服務(wù) > 技術(shù)資訊

MODBUS ASCII協(xié)議和RTU協(xié)議

時(shí)間:2018-03-24 17:26:18來(lái)源:瀏覽次數:

韓國DONG-DO測量?jì)x在于PLC或者其他設備通信時(shí)采用的是哪種協(xié)議,很多都不明白,

我來(lái)告訴大家DONG-DO測量?jì)x通信協(xié)議采用的是MODBUS ASCII傳輸方式即傳輸協(xié)議

下表是MODBUS ASCII協(xié)議和RTU協(xié)議的比較: 

協(xié)議開(kāi)始標記結束標記校驗傳輸效率程序處理
ASCII:(冒號)CR,LFLRC直觀(guān),簡(jiǎn)單,易調試
RTU無(wú)無(wú)CRC稍復雜

 

  從上表的比較我們可以看到,MODBUS的ASCII協(xié)議和RTU協(xié)議相比,MODBUS ASCII協(xié)議擁有開(kāi)始和結束標記,而MODBUS RTU卻沒(méi)有,所以ASCII協(xié)議的程序中對數據包的處理能更加方便。MODBUS ASCII協(xié)議的DATA域傳輸的都是可見(jiàn)的ASCII字符,因此在調試階段就顯得更加直觀(guān),另外它的LRC校驗程序也比較容易編寫(xiě),這些都是MODBUS ASCII的優(yōu)點(diǎn)。MODBUS ASCII的主要缺點(diǎn)是傳輸效率低,因為它傳輸的都是可見(jiàn)的ASCII字符,原來(lái)用RTU傳輸的數據每一個(gè)字節,用ASCII的話(huà)都要把這個(gè)字節拆分兩個(gè)字節,比如RTU傳輸一個(gè)十六進(jìn)制數0xF9,ASCII就需要傳輸字符'F'和字符'9',對應的ASCII碼0x46和0x39兩個(gè)字節,這樣它的傳輸的效率肯定就比RTU低。所以一般來(lái)說(shuō),如果所需要傳輸的數據量較小可以考慮使用ASCII協(xié)議,如果所需傳輸的數據量比較大,最好能使用RTU協(xié)議。

  另外,由于A(yíng)SCII協(xié)議有開(kāi)始標志和結束標志,所以一個(gè)數據包之間的各字節間的傳輸間隔時(shí)間可以大于1秒,而MODBUS RTU方式下,由于沒(méi)有規定開(kāi)始和結束標記,所以協(xié)議規定每?jì)蓚€(gè)字節之間發(fā)送或者接收時(shí)間間隔不能超過(guò)3.5倍字符傳輸時(shí)間。如果兩個(gè)字符時(shí)間間隔超過(guò)了3.5倍的字符傳輸時(shí)間,就認為一幀數據已經(jīng)接收,新的一幀數據傳輸開(kāi)始,所以RTU方式下兩個(gè)字節間傳輸間隔有時(shí)間要求。MODBUS 的ASCII和RTU兩種協(xié)議的這一區別可能決定某些應用場(chǎng)合只能選用其中一種協(xié)議。

轉自:http://blog.sina.com.cn/s/blog_89f286ad0102uzju.html

MODBUS之ASCII通信方式2009/2/23 17:07:32

字符數據格式和數據代碼

● MODBUS通信之ASCII通信方式的每個(gè)字符的數據格式規定如下

·1個(gè)起始位

·7個(gè)數據位

·1個(gè)奇偶校驗位,無(wú)校驗則無(wú)

·1個(gè)停止位(有校驗),2個(gè)停止位(無(wú)校驗)

● 在MODBUS之ASCII通信方式中,其數據格式中每個(gè)字節(8bit)都是一個(gè)十六位進(jìn)制字符組成。發(fā)送時(shí)每個(gè)字節(8bit)都作為兩個(gè)ASCII碼字符發(fā)送。

ASCII通信方式數據格式

MODBUS的ASCII方式的數據格式如下所示:

 

起始碼

地址碼

功能碼

數據區

校驗碼

停止碼

各部份內容說(shuō)明如下:

起始碼:數據格式的幀頭,以“  :”號表示(4位),ASCII碼為(3AH)。

地址碼:從站的地址(8位),01H-FFH。

功能碼:主站發(fā)送,告訴從站執行功能(8位),01H-FFH,具體代碼功能見(jiàn)后。

數據區:具體數據內容(n× 8位,)

校驗碼:LRC校驗碼(8位),校驗碼的范圍為由地址碼開(kāi)始到數據區結束,不包含起始碼。

停止碼:數據格式的幀尾,用 “CR”(0DH),“LF”(0AH)表示(8位)

控制器在MODBUS網(wǎng)絡(luò )上以ASCII碼模式通信,在數據格式中每8個(gè)bit(1個(gè)字節)都轉換成ASCII碼發(fā)送,也就是每個(gè)16進(jìn)制字符(0~9),(A~F)都轉換成ASCII碼發(fā)送。這種方式的主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達1秒,而不產(chǎn)生錯誤。

數據格式的“:”為幀頭,在發(fā)送時(shí),網(wǎng)絡(luò )上的設備不斷偵測“:”字符,當有一個(gè)冒號被收到時(shí),每個(gè)設備都會(huì )解碼下個(gè)字符(地址碼)來(lái)判斷是否發(fā)給自己。

數據格式中的每個(gè)字符發(fā)送的時(shí)間間隔不能超過(guò)1秒,否則,接受設備將認為是傳送錯誤。

功能碼是主站告訴從站要執行的功能。例如運行命令,讀取監控狀態(tài),修改參數,讀取參數等。MODBUS協(xié)議制定了相關(guān)的功能代碼,數據區為功能碼的內容,執行什么運行命令,正轉,反轉,停止,修改那個(gè)參數等等。MODBUS協(xié)議對數據區的具體格式與內容沒(méi)有作統一的規定,而留給設備生產(chǎn)商去制定。凡是采用MODBUS協(xié)議作為設備通信協(xié)議的生產(chǎn)商,都會(huì )在在這方面作具體說(shuō)明。

ASCII通信方式的校驗方法是LRC校驗。

ASCII通信方式的數據格式之幀尾為固定的“CR”(回車(chē)),“LF”(換行)表示一幀數據傳送的結束。

上面就是ASCII通信方式一幀數據信息幀的內容。在通信中,信息幀的內容必須編成通信程序,由通信指令發(fā)送和回傳。


圖片新聞

久久综合国产乱子伦精品免费,麻豆久久久69精品,欧美一区二区三区乱码aⅴ,91精品欧美一区二区三区综合在线
<thead id="tlth1"></thead><menuitem id="tlth1"><i id="tlth1"></i></menuitem>
<menuitem id="tlth1"><i id="tlth1"></i></menuitem><menuitem id="tlth1"><ruby id="tlth1"></ruby></menuitem>
<var id="tlth1"><ruby id="tlth1"></ruby></var>
<strike id="tlth1"><var id="tlth1"></var></strike><cite id="tlth1"><thead id="tlth1"><video id="tlth1"></video></thead></cite>
<thead id="tlth1"><dl id="tlth1"><address id="tlth1"></address></dl></thead>
<thead id="tlth1"></thead>
<var id="tlth1"><dl id="tlth1"><address id="tlth1"></address></dl></var>
<menuitem id="tlth1"></menuitem>