PROFI BUS-DP/MODBUS的網關結構設計
中央處理器模塊除了實現對PROFIBUS-DP從站模塊的配置和管理外,還要完成MODBUS協議的實現以及兩種協議數據交換協議棧的實現。為了提高系統的抗干擾能力,和外界進行通信的部分需要和系統在物理接口上進行電氣隔離,此處的3個通信接口都需要進行隔離。根據通信速度要求的不同,選擇磁耦芯片模塊完成PROFIBUS-DP通信的隔離兼物理層電平轉換功能;用雙通道磁耦隔離芯片來完成另外兩路串行口通信的隔離。這兩款芯片都采用了最新的基于芯片尺寸的變壓器隔離技術的磁耦。和傳統的光耦比較,其轉換速度、瞬態共模抑制能力、功耗、尺寸及成本等方面均有很明顯的優勢。本文引用地址:http://www.j9360.com/article/181148.htm
3 系統的軟件設計
3.1 軟件總體結構設計
一般情況下,現場總線協議之間的轉換器可分為物理層的中繼器、MAC層的網橋及應用層的網關等幾種形式。中繼器方式需要更改底層硬件,網橋方式對應MAC層的協議轉換復雜,而網關的形式則使得原有網段的協議不需做任何改變,實現起來最為簡單。
本系統采用了網關形式,軟件總體流程如圖3所示,主要實現了PROFIBUS-DP協議芯片VPC3+C的驅動程序和MODBUS協議,同時在應用層實現了PROFIBUS-DP總線和MODBUS總線協議數據幀的轉換。MODB-US協議只是定義了消息域的格局和內容的公共格式,具體的物理層及應用層可以由用戶根據需要定義。本網關MODBUS通信部分物理層采用標準的RS485總線,MAC協議是由軟件實現的。
CPU通過驅動VPC3+C來實現對PROFIBUS熔一DP通信過程的控制,包括通信接口檢查、正常和發生故障情況下診斷數據的發送及數據交換等過程;通過MODBUS協議實現對下掛的輸入/輸出從站模塊的查詢操作;通過對輸入/輸出模塊的應答幀(或通信超時)進行分析來判斷模塊的狀態以及模塊的通道狀態;根據模塊狀態信息填充PROFIBUS-DP的診斷域的數據,并以此為依據來對網關狀態(正常通信、報告錯誤或警告信息)進行控制。
3.2 網關協議棧設計
網關協議棧為MODBUS輸入/輸出模塊和PROFI-BUS-DP通信的橋梁。協議棧采用分層結構:PROFIBUS-DP通信層、協議映射層和MODDBUs I/O通信層。協議棧結構及報文處理流程如圖4所示。
(1)PROFIBUS-DP通信層
負責對VPC3+C通信狀態的監控管理,按照一定的規則將PROFIBUS-DP總線通信收到的數據映射到CPU內部的存儲器,供I/O通信層調用,完成輸出數據的更新;把I/O通信層的輸入數據按照一定的規則映射到CPU內部的寄存器,在適當的時候寫入VPC3+C的輸入數據緩沖區,以完成輸入數據的更新。
評論