基于linux 的多功能網關的設
1 引言
隨著世界范圍內網絡和信息技術的日趨成熟,在工業(yè)通信和自動化應用中日益采用以太 網和TCP/IP 協(xié)議作為最主要的通信接口和手段,向網絡化、標準化、開放性方向發(fā)展將是 各種控制系統(tǒng)技術發(fā)展的主要潮流。然而,采用串口進行通信的現(xiàn)場設備仍然大量存在,且 必將在相當長的一段時間內存在。因此,在串口設備和工業(yè)以太網之間就需要有一個橋梁, 來消除工業(yè)現(xiàn)場中的“信息孤島”。
Modbus/TCP 是Modbus 的延伸,它基于以太網和標準TCP/IP 協(xié)議,直接應用第四層。 它定義了一個結構簡單的、開放和廣泛應用的傳輸協(xié)議,用于主從式通信。Modbus TCP/IP 基本上用簡單方式將Modbus 幀嵌入TCP 幀,是一種面向連接的傳送,它需要響應。在TCP 幀中使用開放的Modbus 提供了一種系統(tǒng)規(guī)??缮炜s的方案,由10 個節(jié)點到100 個網絡節(jié) 點。Modbus TCP/IP 在工業(yè)現(xiàn)場得到了廣泛的應用,是目前工業(yè)以太網通信的事實上的標準。
本文以 MOXA 的嵌入式工控機UC7402-LX 為平臺,在深入研究MODBUS 通信協(xié)議的 基礎上,設計了一款多功能網關,既可以實現(xiàn)MODBUS/TCP 與MODBUS/RTU 的雙向轉換, 同時也可以實現(xiàn)MODBUS/TCP 與自定義串口通信協(xié)議的雙向轉換。
2 硬件平臺簡介
MOXA UC7402-LX 采用Intel Xscale IXP-422 266Mhz 處理器,內嵌Apache 網頁服務器 支持PHP 和XML,低功耗和無風扇的設計使其結構緊湊,非常適合在工業(yè)環(huán)境當中使用。 MOXA UC7402-LX 配備有2 個10/100 Mbps 網口和8 個可通過軟件設置的RS-232/485/422 串口,并預裝有linux 系統(tǒng)。
3 MODBUS 協(xié)議
MODBUS是 MODICNO公司最先倡導的一種通信協(xié)議,經過許多公司的實際應用,逐漸被認 可,成為一種應用于工業(yè)控制器上的標準通信協(xié)議,由于其功能比較完善而且協(xié)議開放,因此,被廣泛應用于工業(yè)現(xiàn)場,在微機化測量設備之間實現(xiàn)雙向串行多節(jié)點數(shù)字通信。它連接 單個分散的測量控制設備,使之可以相互溝通信息、共同完成自控任務的網絡系統(tǒng)與控制系 統(tǒng),具有分散控制、使用簡單、簡化系統(tǒng)結構、數(shù)據(jù)易于處理、節(jié)約硬件設備、易于安裝和 維護等優(yōu)點。
3.1 MODBUS RTU
MODBUS有兩種串行傳輸模式,即RTU模式和ASCII模式。RTU模式以十六進制傳送數(shù)據(jù), 每個8bit字節(jié)包含兩個4bit的十六進制字符。而ASCII模式是將一個字節(jié)分為兩個ASCII字符 發(fā)送。因而在同樣的波特率下,RTU模式比ASCII模式具有更高的吞吐率。大多數(shù)工業(yè)控制器 采用RTU模式。
MODBUS RTU的報文幀和字節(jié)長度如表1所示,報文總是由起始位、設備地址、功能碼、 數(shù)據(jù)域、校驗域和結束位組成。
3.2 MODBUS TCP
Modbus TCP 只是在 TCP/IP 協(xié)議的基礎上進一步進行了modbus 報文的封裝,其數(shù)據(jù)幀 如圖1 所示,包含了報文頭,功能代碼和數(shù)據(jù)三部分,其中MBAP 報文頭各域及所占字節(jié)長 度如表2 所示。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)tcp/ip相關文章:tcp/ip是什么
評論