新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于linux 的多功能網(wǎng)關(guān)的設(shè)

基于linux 的多功能網(wǎng)關(guān)的設(shè)

作者: 時(shí)間:2013-11-30 來源:網(wǎng)絡(luò) 收藏


  4 軟件設(shè)計(jì)

  4.1 modbus tcp 與modbus rtu 協(xié)議轉(zhuǎn)換

  由上可知,modbus tcp 與modbus rtu 的協(xié)議轉(zhuǎn)換的核心即為數(shù)據(jù)幀的解封裝與封裝。 Modbus 最初在串行鏈路上的實(shí)現(xiàn)(最大RS485ADU=256 字節(jié))限制了Modbus PDU 的長(zhǎng)度。 因此,對(duì)串行鏈路通信來說,Modbus PDU=256-服務(wù)器地址(1 字節(jié))-CRC(2 字節(jié))=253字節(jié)。從而:RS232 / RS485 ADU = 253 字節(jié)+服務(wù)器地址(1 字節(jié)) + CRC (2 字節(jié))= 256 字節(jié)。 TCP Modbus ADU = 253 字節(jié)+ MBAP (7 字節(jié)) = 260 字節(jié)。如圖3 所示為modbus RTU 為 master 時(shí)的軟件流程圖,部分代碼摘錄如下:








  4.2 modbus tcp 與自定義串口協(xié)議轉(zhuǎn)換

  自定義串口協(xié)議與 modbus rtu 類似,但由于其協(xié)議為自定義的,導(dǎo)致ADU 的格式并不 固定,這就需要定制該函數(shù)。本文目前只針對(duì)單一設(shè)備的情況,因此采取將串口數(shù)據(jù)幀直接 作為modbus tcp 的PDU,而MBAP 采用固定格式處理,完成了對(duì)單一串口單臺(tái)設(shè)備連接的 透明處理。

  5 結(jié)束語

  Frenic-Mini 為富士的一款變頻器,支持簡(jiǎn)易的modbus 的協(xié)議。本設(shè)計(jì)利用Frenic-mini 連接三相異步電機(jī),采用modbus rtu 與moxa 7402-LX 通信,成功地實(shí)現(xiàn)了遠(yuǎn)程變頻器停啟 及頻率讀取。如下圖4 所示,為測(cè)試連接圖。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

tcp/ip相關(guān)文章:tcp/ip是什么



上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉