專利名稱:Modbus/tcp工業(yè)以太網(wǎng)和profibus—dp現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到兩種工業(yè)通信網(wǎng)絡協(xié)議MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法和裝置。
背景技術(shù):
現(xiàn)場總線是用于生產(chǎn)制造現(xiàn)場的最底層通信網(wǎng)絡,它實現(xiàn)了微機化的現(xiàn)場測量控制儀器或設備之間的雙向串行多節(jié)點數(shù)字通信。它的出現(xiàn)改變了傳統(tǒng)現(xiàn)場儀表裝置與主控系統(tǒng)點對點的聯(lián)系方式,大量節(jié)省現(xiàn)場布置線纜同時由于現(xiàn)場儀表裝置的智能化,把部分主控系統(tǒng)的功能直接下放到現(xiàn)場儀表和裝置中,強化了現(xiàn)場控制功能,使控制更加直接、可靠,且大大簡化了主控系統(tǒng)的結(jié)構(gòu),節(jié)省工程設計及施工費用。國際電工委員會(IEC)于2000年公布通過了IEC61158現(xiàn)場總線標準,容納了8種互不兼容的控制層協(xié)議,2003年的新版本進一步達到了10種現(xiàn)場總線標準?,F(xiàn)場總線具有實時性、穩(wěn)定性高的特點,但是傳輸速率與傳輸距離成為瓶頸問題。如PROFIBUS-DP采用RS485傳輸技術(shù),傳輸速率可選用9.6kbps~12Mbps,最大傳輸距離在12Mbps時為100m,1.5Mbps時為400m。這就遏制了現(xiàn)場總線的進一步發(fā)展。而且,現(xiàn)有的各種不同標準現(xiàn)場總線之間還存在著兼容性的問題。人們就需要解決如何能使不同的總線標準在系統(tǒng)中兼容。
隨著控制技術(shù)、通信技術(shù)的飛速發(fā)展。特別是Internet技術(shù)的廣泛應用,使得現(xiàn)場總線控制系統(tǒng)通過以太網(wǎng)與企業(yè)信息網(wǎng)集成實現(xiàn)工廠監(jiān)控一體化成為大勢所趨。將以太網(wǎng)技術(shù)與現(xiàn)場總線技術(shù)相結(jié)合,可以避免現(xiàn)場總線技術(shù)游離于計算機網(wǎng)絡技術(shù)的發(fā)展主流之外,使現(xiàn)場總線技術(shù)和計算機網(wǎng)絡技術(shù)的主流技術(shù)很好地結(jié)合起來,形成現(xiàn)場總線技術(shù)和一般計算機網(wǎng)絡技術(shù)相互促進的局面。這將意味著可以實現(xiàn)自動化控制領(lǐng)域的徹底開放,,使自動化領(lǐng)域產(chǎn)生新的生機與活力。
費敏銳等人在2003年6月20日提交的發(fā)明專利“MODBUS/TCP工業(yè)以太網(wǎng)和設備網(wǎng)現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法和裝置”給出了一種MODBUS/TCP工業(yè)以太網(wǎng)和設備網(wǎng)現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法和裝置。方彥軍等人在2003年11月6日提交的實用新型專利“現(xiàn)場總線協(xié)議轉(zhuǎn)換裝置”(申請?zhí)?00320120428.7)給出了一種PROFIBUS-DP與MODBUS現(xiàn)場總線協(xié)議之間的轉(zhuǎn)換方法和實現(xiàn)裝置。陳小楓等人在2003年9月11日提交的實用新型專利“連接高速以太網(wǎng)與PROFIBUS-DP/PA總線的現(xiàn)場總線網(wǎng)絡互聯(lián)單元”(申請?zhí)?3209404.3)給出了一種HSE高速以太網(wǎng)與PROFIBUS-DP/PA現(xiàn)場總線之間的協(xié)議轉(zhuǎn)換方法和實現(xiàn)裝置。但在已公布的專利文獻中尚未有涉及到MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議和PROFIBUS-DP現(xiàn)場總線協(xié)議之間協(xié)議轉(zhuǎn)換方法和裝置的內(nèi)容。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法和裝置,既能滿足底層設備網(wǎng)絡實時性等要求,又能滿足信息層網(wǎng)絡高速率、大容量的需要。
本發(fā)明所涉及的PROFIBUS-DP符合EN50170歐洲標準且符合IEC1158-2標準,它是由西門子為主的十幾家德國公司、研究所共同推出的,專為自動控制系統(tǒng)和設備級分散I/O之間通信設計,主要用于分布式控制系統(tǒng)的高速數(shù)據(jù)傳輸。它采用OSI模型中的物理層,數(shù)據(jù)鏈路層和包含了DP基本功能與DP行規(guī)的用戶接口。MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議是法國施耐德公司于1998年推出的。其物理層和數(shù)據(jù)鏈路層基于以太網(wǎng),應用層的定義與MODBUS協(xié)議家族的其它協(xié)議通用。PROFIBUS-DP現(xiàn)場總線協(xié)議和MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議在物理層采用不同的規(guī)范,在數(shù)據(jù)鏈路層采用不同的介質(zhì)訪問方式。MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議基于功能碼實現(xiàn)命令。為了實現(xiàn)兩種協(xié)議的轉(zhuǎn)換,協(xié)議轉(zhuǎn)換方法和裝置既要滿足兩種協(xié)議物理層和數(shù)據(jù)鏈路層的要求,又要能夠?qū)Σ煌膽脤佣x分別作出解釋。
為了實現(xiàn)上述目的,本發(fā)明采用下述技術(shù)方案一種MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法,由工業(yè)以太網(wǎng)通信接口模塊實現(xiàn)MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議,由PROFIBUS-DP主站通行接口模塊實現(xiàn)PROFIBUS-DP現(xiàn)場總線協(xié)議,其特征在于由微處理器中的軟件建立統(tǒng)一的報文模型,實現(xiàn)MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換。
上述的統(tǒng)一的報文模型是微處理器從工業(yè)以太網(wǎng)模塊接收的報文分為六種,以不同的報文標識符標識①PROFIBUS-DP網(wǎng)絡配置報文包含報文標識、節(jié)點地址、廠商號、產(chǎn)品類型、產(chǎn)品代碼、通訊方式、在PROFIBUS-DP主節(jié)點通訊適配器模塊雙端口存儲器輸入?yún)^(qū)中的映射區(qū)、在PROFIBUS-DP主節(jié)點通訊適配器模塊雙端口存儲器輸出區(qū)中的映射區(qū)、結(jié)束標識符;②裝置運行參數(shù)報文包含報文標識、工業(yè)以太網(wǎng)接口模塊雙端口存儲器輸入?yún)^(qū)的空間、工業(yè)以太網(wǎng)接口模塊雙端口存儲器輸出區(qū)的空間、工業(yè)以太網(wǎng)接口模塊初始化參數(shù)、PROFIBUS-DP主節(jié)點通訊適配器模塊雙端口存儲器輸入?yún)^(qū)空間、PROFIBUS-DP主節(jié)點通訊適配器模塊雙端口存儲器輸出區(qū)空間、PROFIBUS-DP主節(jié)點通訊適配器模塊初始化參數(shù)、定時周期;③節(jié)點開/關(guān)報文包括報文標識、節(jié)點地址標志區(qū);④讀節(jié)點狀態(tài)報文包括報文標識、節(jié)點地址標志區(qū);⑤讀過程數(shù)據(jù)報文包括報文標識、節(jié)點地址標志區(qū);⑥寫過程數(shù)據(jù)報文包括報文標識、節(jié)點地址、數(shù)據(jù)內(nèi)容、結(jié)束標識符。微處理器向工業(yè)以太網(wǎng)接口模塊寫入兩類報文①從節(jié)點狀態(tài)上傳報文包括報文標識、節(jié)點狀態(tài)標志區(qū);②從節(jié)點過程數(shù)據(jù)上傳報文包括報文標識、節(jié)點地址、數(shù)據(jù)內(nèi)容,結(jié)束標識符。
上述的協(xié)議轉(zhuǎn)換的步驟為(1)微處理器讀取電可擦除存儲器中運行參數(shù),對協(xié)議轉(zhuǎn)換裝置初始化;(2)等待工業(yè)以太網(wǎng)模塊產(chǎn)生中斷,微處理器獲得PROFIBUS-DP網(wǎng)絡組網(wǎng)信息,對PROFIBUS-DP網(wǎng)絡組網(wǎng);(3)微處理器讀取PROFIBUS-DP網(wǎng)絡中各個從節(jié)點工作狀態(tài)。
(4)等待中斷,微處理器判斷中斷類別,并分別處理(a)若是工業(yè)以太網(wǎng)接口模塊產(chǎn)生中斷,根據(jù)報文標識符判斷報文類型,分別進行處理;(b)若是PROFIBUS-DP主節(jié)點通訊適配器模塊產(chǎn)生中斷,讀取從節(jié)點過程數(shù)據(jù)并將該數(shù)據(jù)寫入工業(yè)以太網(wǎng)接口模塊。
(c)若是定時中斷,讀取各從節(jié)點工作狀態(tài)并更新電可擦除存儲器中的節(jié)點工作狀態(tài)標識區(qū)。
(5)重復步驟(3)和(4),循環(huán)運行。
上述的協(xié)議轉(zhuǎn)換裝置初始化步驟為微處理器從電可擦除存儲器中取出預置的轉(zhuǎn)換裝置運行參數(shù),包括工業(yè)以太網(wǎng)接口模塊間的雙端口存儲器輸入?yún)^(qū)和輸出區(qū)的大小,工業(yè)以太網(wǎng)接口模塊的初始化參數(shù),微處理器與PROFIBUS-DP主節(jié)點通訊適配器模塊間的雙端口存儲器中輸入?yún)^(qū)和輸出區(qū)的大小,PROFIBUS-DP主節(jié)點通訊適配器模塊初始化參數(shù),定時器中斷的定時周期。然后微處理器根據(jù)獲得的運行參數(shù)分別進行參數(shù)設置。
上述對PROFIBUS-DP網(wǎng)絡組網(wǎng)步驟為微處理器從工業(yè)以太網(wǎng)接口模塊獲得PROFIBUS-DP網(wǎng)絡配置信息,判斷是否全部幀都結(jié)束,如果沒有結(jié)束,將當前幀暫存入靜態(tài)存儲器中;如果全部幀結(jié)束,更新電可擦除存儲器,向該模塊雙端口存儲器中的郵箱區(qū)寫入配置數(shù)據(jù);配置結(jié)束后中斷返回。
上述的微處理器處理工業(yè)以太網(wǎng)接口模塊產(chǎn)生中斷的步驟為微處理器讀工業(yè)以太網(wǎng)接口模塊雙端口存儲器的輸出區(qū),判斷報文標識,作如下處理(1)如果是PROFIBUS-DP網(wǎng)絡配置報文,則按對PROFIBUS-DP網(wǎng)絡配置組網(wǎng)步驟處理;(2)如果是更新協(xié)議轉(zhuǎn)換裝置運行參數(shù)報文,則首先更新電可擦除存儲器,然后軟復位協(xié)議轉(zhuǎn)換裝置,從電可擦除存儲器中讀出新的運行參數(shù),對裝置進行初始化,結(jié)束后返回;(3)如果是節(jié)點開/關(guān)報文,則首先讀電可擦除存儲器,當節(jié)點狀態(tài)位與報文中的對應位相同時執(zhí)行開/關(guān)動作;當節(jié)點狀態(tài)位與報文中的對應位不相同時不執(zhí)行開/關(guān)動作;(4)如果是讀節(jié)點狀態(tài)報文,則微處理器讀電可擦除存儲器,取出各狀態(tài)標志,然后寫入工業(yè)以太網(wǎng)接口模塊的雙端口存儲器的輸入?yún)^(qū),結(jié)束后返回;(5)如果是讀從節(jié)點過程數(shù)據(jù)報文,則首先從靜態(tài)存儲器中讀出該節(jié)點的過程數(shù)據(jù),然后將從節(jié)點過程數(shù)據(jù)上傳報文寫入工業(yè)以太網(wǎng)接口模塊中雙端口存儲器的輸入?yún)^(qū),結(jié)束后返回;(6)如果是向從節(jié)點寫過程數(shù)據(jù)報文,則根據(jù)節(jié)點地址號確定該節(jié)點在主節(jié)點通訊適配器模塊輸入?yún)^(qū)中的映射區(qū),然后向該映射區(qū)寫入過程數(shù)據(jù)。
上述的微處理器處理PROFIBUS-DP主節(jié)點通訊適配器模塊產(chǎn)生中斷的步驟為微處理器PROFIBUS-DP主站通信接口模塊雙端口存儲器中的郵箱區(qū),判斷是哪一個從節(jié)點的過程數(shù)據(jù)得到了更新,然后讀PROFIBUS-DP主站通信接口模塊雙端口存儲器中的輸出區(qū)內(nèi)與該節(jié)點對應的映射區(qū),將讀出的數(shù)據(jù)暫存入靜態(tài)存儲器的對應區(qū)域,并把從節(jié)點過程數(shù)據(jù)上傳報文寫入工業(yè)以太網(wǎng)接口模塊雙端口存儲器的輸入?yún)^(qū),結(jié)束后返回。
一種MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換裝置,其特征在于微處理器通過內(nèi)部總線與工業(yè)以太網(wǎng)接口模塊、PROFIBUS-DP主站通信接口模塊和靜態(tài)存儲器連接,微處理器通過串行外圍接口連接電可擦除存儲器。
上述的工業(yè)以太網(wǎng)接口模塊通過以太網(wǎng)接口連接以太網(wǎng),該模塊內(nèi)雙端口存儲器分為三部分—輸入?yún)^(qū)、輸出區(qū)和信息區(qū),經(jīng)雙端口存儲器連接內(nèi)部總線;PROFIBUS-DP主站通信接口模塊通過現(xiàn)場總線接口連接PROFIBUS-DP現(xiàn)場總線,該模塊雙端口存儲器分為三部分—輸入?yún)^(qū)、輸出區(qū)和信息區(qū),經(jīng)雙端口存儲器連接內(nèi)部總線。
上述的微處理器采用數(shù)字信號處理器。
本發(fā)明實現(xiàn)了基于不同協(xié)議標準的工業(yè)以太網(wǎng)和現(xiàn)場總線之間的協(xié)議轉(zhuǎn)換,既滿足了設備層的要求,又實現(xiàn)了信息層和設備層的有機結(jié)合,提高了控制系統(tǒng)的靈活性和兼容性。
本發(fā)明與現(xiàn)有的技術(shù)相比,具有如下顯而易見的突出特點和顯著的進步(1)采用工業(yè)以太網(wǎng)接口模塊,實現(xiàn)了MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議。
(2)采用PROFIBUS-DP主站通信接口模塊實現(xiàn)了PROFIBUS-DP現(xiàn)場總線協(xié)議。
(3)在以上兩種模塊的支持下,實現(xiàn)了MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線之間物理層和數(shù)據(jù)鏈路層之間的轉(zhuǎn)換。
本發(fā)明實現(xiàn)了基于不同協(xié)議標準的工業(yè)以太網(wǎng)和現(xiàn)場總線之間的協(xié)議轉(zhuǎn)換,既滿足了設備層的要求,又實現(xiàn)了信息層和設備層的有機結(jié)合,提高了控制系統(tǒng)的靈活性和兼容性。
圖1是本發(fā)明實施例的協(xié)議轉(zhuǎn)換裝置結(jié)構(gòu)示意圖。
圖2是本發(fā)明實施例的報文模型。
圖3是本發(fā)明實施例的主程序流程圖。
圖4是本發(fā)明實施例的裝置運行參數(shù)初始化子程序。
圖5是本發(fā)明實施例的PROFIBUS-DP網(wǎng)絡配置子程序。
圖6是本發(fā)明實施例的外部中斷1處理子程序。
圖7是本發(fā)明實施例的外部中斷2處理子程序。
具體實施例方式
下面結(jié)合附圖對本發(fā)明的一個優(yōu)選實施方式進行說明參見圖1,本實施例的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法是采用工業(yè)以太網(wǎng)接口模塊20實現(xiàn)MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議,采用PROFIBUS-DP主節(jié)點通訊適配器模塊12實現(xiàn)PROFIBUS-DP現(xiàn)場總線協(xié)議,由微處理器7中的軟件建立統(tǒng)一的報文模型,實現(xiàn)MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換。
參見圖2,上述統(tǒng)一的報文模型是微處理器7(CPU)從工業(yè)以太網(wǎng)接口模塊20接收的報文分為六種,以不同的報文標識(message ID)識別報文類型①PROFIBUS-DP網(wǎng)絡配置報文中包含了針對各個從節(jié)點的配置信息。包括從節(jié)點的節(jié)點地址(MAC ID)、廠商號(vendor)、產(chǎn)品類型(product type)、產(chǎn)品代碼(productcode)、與主節(jié)點的通訊方式、在輸入?yún)^(qū)16和輸出區(qū)14中開辟映射區(qū)的大小等參數(shù)。每一幀報文針對一個從節(jié)點配置信息,在最后一幀報文的末尾加上報文結(jié)束標識符,以便于CPU判斷處理。
②裝置運行參數(shù)報文中包含了裝置初始化時需要的參數(shù)。包括CPU與工業(yè)以太網(wǎng)接口模塊間的雙端口存儲器5中輸入?yún)^(qū)19和輸出區(qū)2的大小,對工業(yè)以太網(wǎng)接口模塊的初始化參數(shù);CPU與PROFIBUS-DP通訊適配器模塊12間的雙端口存儲器17中輸入?yún)^(qū)16和輸出區(qū)14的大小,對PROFIBUS-DP通信接口模塊初始化參數(shù);定時器中斷的定時周期等參數(shù)。
③節(jié)點開/關(guān)報文用來通知CPU關(guān)閉某些節(jié)點或重新啟動某些節(jié)點,節(jié)點地址標志區(qū)中有8個字節(jié),共64位,當某一位是1時表示關(guān)閉該位對應節(jié)點。當某一位是0時表示重新啟動該位對應節(jié)點。
④讀節(jié)點狀態(tài)報文用來通知CPU上傳某個或某些從節(jié)點的運行狀態(tài)。節(jié)點地址標志區(qū)中有8個字節(jié),共64位,當某一位是1時表示需要讀取該位對應的節(jié)點狀態(tài)。
⑤讀過程數(shù)據(jù)報文用來通知CPU上傳某個或某些從節(jié)點的過程數(shù)據(jù)。節(jié)點地址標志區(qū)中有8個字節(jié),共64位,當某一位是1時表示需要讀取該位對應節(jié)點的過程數(shù)據(jù)。
⑥寫過程數(shù)據(jù)報文用來通知CPU向某個從節(jié)點寫入過程數(shù)據(jù)。節(jié)點地址標識要寫入的從節(jié)點的地址,然后是要寫入的數(shù)據(jù),最后是表示數(shù)據(jù)結(jié)束的標識符。CPU向工業(yè)以太網(wǎng)接口模塊可寫入兩類報文①從節(jié)點狀態(tài)上傳報文用來上傳各個從節(jié)點的工作狀態(tài),節(jié)點狀態(tài)標志區(qū)中有8個字節(jié),共64位,當某一位是0時表示該位對應的節(jié)點狀態(tài)正常,當某一位是1時表示該位對應的節(jié)點狀態(tài)異常。
②從節(jié)點過程數(shù)據(jù)上傳報文用來上傳某個從節(jié)點的過程數(shù)據(jù),節(jié)點地址標識從節(jié)點的地址,然后是要上傳的數(shù)據(jù),最后是表示數(shù)據(jù)結(jié)束的標識符。
參見圖3和圖1,上述的協(xié)議轉(zhuǎn)換步驟是①微處理器7(CPU)首先從電可擦除存儲器9中讀出協(xié)議轉(zhuǎn)換裝置的運行參數(shù),對裝置21進行初始化。②然后等待由工業(yè)以太網(wǎng)接口模塊20引起的中斷,以獲得對PROFIBUS-DP網(wǎng)絡的組網(wǎng)信息,根據(jù)獲得的信息對PROFIBUS-DP網(wǎng)絡組網(wǎng)。③網(wǎng)絡配置結(jié)束后,CPU讀取各從節(jié)點的工作狀態(tài)并存入電可擦除存儲器9,然后進入正常運行狀態(tài)。④等待中斷產(chǎn)生,由工業(yè)以太網(wǎng)接口模塊20引起的外部中斷調(diào)用外部中斷1處理子程序進行處理,參見圖6;由PROFIBUS-DP通訊適配器模塊12引起的外部中斷調(diào)用外部中斷2處理子程序進行處理,參見圖7,由定時器引起的中斷調(diào)用定時中斷處理子程序進行處理。⑤處理結(jié)束后返回循環(huán)工作狀態(tài)。
參見圖4和圖1,上述的裝置21初始化步驟是CPU首先從電可擦除存儲器9中取出預置的裝置運行參數(shù),包括CPU與工業(yè)以太網(wǎng)接口模塊20間的雙端口存儲器5中輸入?yún)^(qū)19和輸出區(qū)2的大小,對工業(yè)以太網(wǎng)接口模塊20的初始化參數(shù);CPU與PROFIBUS-DP通訊適配器模塊12間的雙端口存儲器17中輸入?yún)^(qū)16和輸出區(qū)14的大小,對PROFIBUS-DP通訊適配器模塊12初始化參數(shù);定時器中斷的定時周期等參數(shù),然后CPU根據(jù)獲得的運行參數(shù)分別進行參數(shù)設置。
參見圖5和圖1,上述的對PROFIBUS-DP網(wǎng)絡組網(wǎng)步驟是CPU從工業(yè)以太網(wǎng)接口模塊20獲得PROFIBUS-DP網(wǎng)絡配置信息,判斷是否全部幀都結(jié)束。如果沒有結(jié)束,將當前幀暫存入靜態(tài)存儲器6中。如果全部幀結(jié)束,更新電可擦除存儲器9,向雙端口存儲器17中的郵箱區(qū)10寫入配置數(shù)據(jù),配置結(jié)束后中斷返回。
本實施例的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換的位置結(jié)構(gòu)是參見圖1,微處理器7通過內(nèi)部總線與工業(yè)以太網(wǎng)接口模塊20、PROFIBUS-DP主站通訊接口模塊12和靜態(tài)存儲器6連接,微處理器7通過串行外圍接口時連接電可擦存儲器9。工業(yè)以太網(wǎng)接口模塊20通過以太網(wǎng)接口1連接以太網(wǎng)22,雙端口存儲器5分為三部分—輸入?yún)^(qū)19、輸出區(qū)2和郵箱區(qū)4,經(jīng)雙端口存儲器5連接內(nèi)部總線18。PROFIBUS-DP主站通信接口模塊12通過現(xiàn)場總線接口13連接PRODIBUS-DP現(xiàn)場總線11,雙端口存儲器17分為三部分—輸入?yún)^(qū)16、輸出區(qū)14和郵箱區(qū)10,經(jīng)雙端口存儲器17連接內(nèi)部總線18。微處理器7采用數(shù)字信號處理器DSP。
權(quán)利要求
1.一種MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法,由工業(yè)以太網(wǎng)接口模塊實現(xiàn)MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議,由PROFIBUS-DP主站通信接口模塊實現(xiàn)PROFIBUS-DP現(xiàn)場總線協(xié)議,其特征在于由微處理器中的軟件來建立統(tǒng)一的報文模型,實現(xiàn)MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換。
2.根據(jù)權(quán)利要求1所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法,其特征在于統(tǒng)一的報文模型是微處理器從工業(yè)以太網(wǎng)模塊接收的報文分為六種,以不同的報文標識符標識①PROFIBUS-DP網(wǎng)絡配置報文包含報文標識、節(jié)點地址、廠商號、產(chǎn)品類型、產(chǎn)品代碼、通訊方式、在PROFIBUS-DP主站通信接口模塊雙端口存儲器輸入?yún)^(qū)中的映射區(qū)、在PROFIBUS-DP主站通信接口模塊雙端口存儲器輸出區(qū)中的映射區(qū)、結(jié)束標識符;②裝置運行參數(shù)報文包含報文標識、工業(yè)以太網(wǎng)接口模塊雙端口存儲器輸入?yún)^(qū)的空間、工業(yè)以太網(wǎng)接口模塊雙端口存儲器輸出區(qū)的空間、工業(yè)以太網(wǎng)接口模塊初始化參數(shù)、PROFIBUS-DP主站通信接口模塊雙端口存儲器輸入?yún)^(qū)空間、PROFIBUS-DP主站通信接口模塊雙端口存儲器輸出區(qū)空間、PROFIBUS-DP主站通信接口模塊初始化參數(shù)、定時周期;③節(jié)點開/關(guān)報文包括報文標識、節(jié)點地址標志區(qū);④讀節(jié)點狀態(tài)報文包括報文標識、節(jié)點地址標志區(qū);⑤讀過程數(shù)據(jù)報文包括報文標識、節(jié)點地址標志區(qū);⑥寫過程數(shù)據(jù)報文包括報文標識、節(jié)點地址、數(shù)據(jù)內(nèi)容、結(jié)束標識符。微處理器向工業(yè)以太網(wǎng)接口模塊寫入兩類報文;①從節(jié)點狀態(tài)上傳報文包括報文標識、節(jié)點狀態(tài)標志區(qū);②從節(jié)點過程數(shù)據(jù)上傳報文包括報文標識、節(jié)點地址、數(shù)據(jù)內(nèi)容、結(jié)束標識符。
3.根據(jù)權(quán)利要求1所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法,其特征在于協(xié)議轉(zhuǎn)換的步驟為(1)微處理器讀取電可擦除存儲器中運行參數(shù),對協(xié)議轉(zhuǎn)換裝置初始化;(2)等待工業(yè)以太網(wǎng)模塊產(chǎn)生中斷,微處理器獲得PROFIBUS-DP網(wǎng)絡組網(wǎng)信息,對PROFIBUS-DP網(wǎng)絡組網(wǎng);(3)微處理器讀取PROFIBUS-DP網(wǎng)絡中各個從節(jié)點工作狀態(tài);(4)等待中斷,微處理器判斷中斷類別,并分別處理(a)若是工業(yè)以太網(wǎng)接口模塊產(chǎn)生中斷,根據(jù)報文標識符判斷報文類型,分別進行處理;(b)若是PROFIBUS-DP主站通信接口模塊產(chǎn)生中斷,讀取從節(jié)點過程數(shù)據(jù)并將該數(shù)據(jù)寫入工業(yè)以太網(wǎng)接口模塊;(c)若是定時中斷,讀取各從節(jié)點工作狀態(tài)并更新電可擦除存儲器中的節(jié)點工作狀態(tài)標識區(qū);(5)重復步驟(3)和(4),循環(huán)運行。
4.根據(jù)權(quán)利要求3所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法,其特征在于協(xié)議轉(zhuǎn)換裝置的初始化步驟為微處理器從電可擦除存儲器中取出預置的轉(zhuǎn)換裝置運行參數(shù),包括工業(yè)以太網(wǎng)接口模塊間的雙端口存儲器輸入?yún)^(qū)和輸出區(qū)的大小,工業(yè)以太網(wǎng)接口模塊的初始化參數(shù),PROFIBUS-DP主站通信接口模塊的雙端口存儲器中輸入?yún)^(qū)和輸出區(qū)的大小,PROFIBUS-DP主站通信接口模塊初始化參數(shù),定時器中斷的定時周期,然后微處理器根據(jù)獲得的運行參數(shù)分別進行參數(shù)設置。
5.根據(jù)權(quán)利要求3所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法,其特征在于對PROFIBUS-DP網(wǎng)絡組網(wǎng)步驟為微處理器從工業(yè)以太網(wǎng)接口模塊獲得PROFIBUS-DP網(wǎng)絡配置信息,判斷是否全部幀都結(jié)束,如果沒有結(jié)束,將當前幀暫存入靜態(tài)存儲器中;如果全部幀結(jié)束,更新電可擦除存儲器,向該模塊雙端口存儲器中的郵箱區(qū)寫入配置數(shù)據(jù),然后中斷返回。
6.根據(jù)權(quán)利要求3所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法,其特征在于微處理器處理工業(yè)以太網(wǎng)接口模塊產(chǎn)生中斷的步驟為微處理器讀工業(yè)以太網(wǎng)接口模塊雙端口存儲器的輸出區(qū),判斷報文標識,作如下處理(1)如果是PROFIBUS-DP網(wǎng)絡配置報文,則按對PROFIBUS-DP網(wǎng)絡配置組網(wǎng)步驟處理;(2)如果是更新協(xié)議轉(zhuǎn)換裝置運行參數(shù)報文,則首先更新電可擦除存儲器,然后軟復位協(xié)議轉(zhuǎn)換裝置,從電可擦除存儲器中讀出新的運行參數(shù),對裝置進行初始化,結(jié)束后返回;(3)如果是節(jié)點開/關(guān)報文,則首先讀電可擦除存儲器,當節(jié)點狀態(tài)位與報文中的對應位相同時執(zhí)行開/關(guān)動作;當節(jié)點狀態(tài)位與報文中的對應位不相同時不執(zhí)行開/關(guān)動作;(4)如果是讀節(jié)點狀態(tài)報文,則微處理器讀電可擦除存儲器,取出各狀態(tài)標志,然后寫入工業(yè)以太網(wǎng)接口模塊的雙端口存儲器的輸入?yún)^(qū),結(jié)束后返回;(5)如果是讀從節(jié)點過程數(shù)據(jù)報文,則首先從靜態(tài)存儲器中讀出該節(jié)點的過程數(shù)據(jù),然后將從節(jié)點過程數(shù)據(jù)上傳報文寫入工業(yè)以太網(wǎng)接口模塊中雙端口存儲器的輸入?yún)^(qū),結(jié)束后返回;(6)如果是向從節(jié)點寫過程數(shù)據(jù)報文,則根據(jù)節(jié)點地址號確定該節(jié)點在主站通信接口模塊輸入?yún)^(qū)中的映射區(qū),然后向該映射區(qū)寫入過程數(shù)據(jù)。
7.根據(jù)權(quán)利要求3所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法,其特征在于微處理器處理PROFIBUS-DP主站通信接口模塊產(chǎn)生中斷的步驟為微處理器讀PROFIBUS-DP主站通信接口模塊的雙端口存儲器中的郵箱區(qū),判斷是哪一個從節(jié)點的過程數(shù)據(jù)得到了更新,然后讀PROFIBUS-DP主站通信接口模塊雙端口存儲器中的輸出區(qū)內(nèi)與該節(jié)點對應的映射區(qū),將讀出的數(shù)據(jù)暫存入靜態(tài)存儲器的對應區(qū)域,并把從節(jié)點過程數(shù)據(jù)上傳報文寫入工業(yè)以太網(wǎng)接口模塊雙端口存儲器的輸入?yún)^(qū),結(jié)束后返回。
8.一種根據(jù)權(quán)利要求1所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法用協(xié)議轉(zhuǎn)換裝置,其特征在于微處理器(7)通過內(nèi)部總線與工業(yè)以太網(wǎng)接口模塊(20)、PROFIBUS-DP主站通信接口模塊(12)和靜態(tài)存儲器(6)連接,微處理器(7)通過串行外圍接口(8)連接電可擦除存儲器(9)。
9.根據(jù)權(quán)利要求8所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法用協(xié)議轉(zhuǎn)換裝置,其特征在于工業(yè)以太網(wǎng)接口模塊(20)通過以太網(wǎng)接口(1)連接以太網(wǎng)(22),雙端口存儲器(5)分為三部分—輸入?yún)^(qū)(19)、輸出區(qū)(2)和郵箱區(qū)(4),經(jīng)雙端口存儲器(5)連接內(nèi)部總線(18);PROFIBUS-DP主站通信接口模塊(12)通過現(xiàn)場總線接口(13)連接PROFIBUS-DP現(xiàn)場總線(11),雙端口存儲器(17)分為三部分—輸入?yún)^(qū)(16)、輸出區(qū)(14)和郵箱區(qū)(10),經(jīng)雙端口存儲器(17)連接內(nèi)部總線(18)。
10.根據(jù)權(quán)利要求8所述的MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法用協(xié)議轉(zhuǎn)換裝置,其特征在于微處理器(7)采用數(shù)字信號處理器(DSP)。
全文摘要
本發(fā)明涉及一種MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間的協(xié)議轉(zhuǎn)換方法和裝置。其協(xié)議轉(zhuǎn)換方法是由工業(yè)以太網(wǎng)接口模塊實現(xiàn)MODBUS/TCP工業(yè)以太網(wǎng)協(xié)議,由PROFIBUS-DP主站通信接口模塊實現(xiàn)PROFIBUS現(xiàn)場總線協(xié)議,由微處理器中的軟件建立統(tǒng)一的報文模型,實現(xiàn)MODBUS/TCP工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線間協(xié)議轉(zhuǎn)換。其協(xié)議轉(zhuǎn)換裝置是微處理器通過內(nèi)部總線與工業(yè)以太網(wǎng)接口模塊、PROFIBUS-DP主站通信接口模塊和靜態(tài)存儲器連接,微處理器通過串行外圍接口連接一個電可擦除存儲器。本發(fā)明解決了基于不同協(xié)議標準的工業(yè)以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線網(wǎng)絡之間的轉(zhuǎn)換,既能滿足底層設備網(wǎng)絡實時性等要求,又能滿足信息層網(wǎng)絡高速率、大容量的需要。
文檔編號H04L29/06GK1645852SQ200410093010
公開日2005年7月27日 申請日期2004年12月15日 優(yōu)先權(quán)日2004年12月15日
發(fā)明者費敏銳, 陳維剛, 丁磊 申請人:上海大學