新聞中心

EEPW首頁 > 電源與新能源 > 設計應用 > PROFI BUS-DP/MODBUS的網(wǎng)關(guān)結(jié)構(gòu)設計

PROFI BUS-DP/MODBUS的網(wǎng)關(guān)結(jié)構(gòu)設計

作者: 時間:2009-12-16 來源:網(wǎng)絡 收藏

3.6 關(guān)鍵技術(shù)研究
(1)緩沖區(qū)數(shù)據(jù)映射――保證實時性
網(wǎng)關(guān)在對兩種協(xié)議的數(shù)據(jù)進行映射的過程中,采用了一次性內(nèi)存拷貝技術(shù)和單緩沖區(qū)技術(shù)來盡快完成數(shù)據(jù)的處理且保證是最新數(shù)據(jù),以此來保證數(shù)據(jù)傳輸在經(jīng)過網(wǎng)關(guān)時的實時性。
一次性內(nèi)存拷貝技術(shù)是指,網(wǎng)關(guān)從協(xié)議芯片內(nèi)部讀取到的輸出數(shù)據(jù)后,直接將存到的數(shù)據(jù)填充到輸出幀內(nèi);從輸入模塊得到的數(shù)據(jù)直接填入到協(xié)議芯片的輸入緩沖區(qū)。這樣的方式可減少內(nèi)存拷貝過程中所耗費的時間。如上所述,網(wǎng)關(guān)單緩沖區(qū)技術(shù)也是為了保證數(shù)據(jù)是最新采用的。此網(wǎng)關(guān)連接的兩種設備的正常數(shù)據(jù)通信都是周期性的,且周期一般是固定不變的。如果數(shù)據(jù)交換的周期小于的數(shù)據(jù)交換周期,則網(wǎng)關(guān)的緩存中只有1幀有效數(shù)據(jù);如果MODBUS數(shù)據(jù)交換周期大于PROFIBUS-DP的數(shù)據(jù)交換周期,若采用鏈表保存PRO-FIBUS-DP的幀數(shù)據(jù),則不管緩沖區(qū)的大小有多少,肯定導致緩沖區(qū)溢出,從而使PROFIBUS-DP的輸出數(shù)據(jù)不能即時更新到MODBUS從站的通道上進而影響系統(tǒng)的實時性。
(2)實時模塊通信檢查――保證可靠性
系統(tǒng)除了在上電之后對下掛的MODBUS模塊進行類型查詢并和PROFIBUS-DP主站組態(tài)模塊類型進行比較外,在進入正常數(shù)據(jù)交換之后,也會對模塊的狀態(tài)進行查詢,判斷模塊是否發(fā)生錯誤。錯誤標志是在網(wǎng)關(guān)和MODB-US從站進行通信過程中根據(jù)從站的回應幀來判斷的。在逐個檢查模塊錯誤標志后,如果沒有錯誤標識被置位,繼續(xù)正常通信過程;如果發(fā)現(xiàn)有錯誤標識被置位,則控制PRO-FIBUS-DP協(xié)議芯片離開數(shù)據(jù)交換狀態(tài),并且填充診斷信息。在此之后,不斷查詢MODBUS模塊類型,直至模塊類型和對PROFIBUS-DP主站組態(tài)數(shù)據(jù)一致為止,再控制PROFIBUS-DP協(xié)議芯片進入數(shù)據(jù)交換狀態(tài)。這樣采用實時查詢模塊是否出錯狀態(tài)的方式來保證軟件組態(tài)數(shù)據(jù)和硬件類型相一致,防止出現(xiàn)輸入/輸出數(shù)據(jù)的錯誤。
此網(wǎng)關(guān)系統(tǒng)中MODBUS協(xié)議是由軟件來實現(xiàn)的,考慮到需要定時器等保證通信的可靠性,為了防止兩種協(xié)議通信的相互影響,對PROFIBUS-DP輸出數(shù)據(jù)的讀取采用查詢的方式而非中斷方式進行。這樣在PROFIBUS-DP的數(shù)據(jù)到來后不會打斷正在進行的MODBUS通信,尤其是在PROFIBUS-DP通信速率較高的情況下,這種設計的可靠性更加明顯。如果采用中斷的方式,在PRO-FIBUS-DP通信速率超過一定值,其勢必影響網(wǎng)關(guān)和MODBUS從站之間的通信(詳見下面性能分析部分),嚴重時會導致MODBUS幀傳輸?shù)牟煌暾裕瑥亩鴮е戮W(wǎng)關(guān)對MODBUS模塊通信狀態(tài)的誤判,進而影響系統(tǒng)的穩(wěn)定性。

本文引用地址:http://m.butianyuan.cn/article/181148.htm


4 網(wǎng)關(guān)測試結(jié)果
在規(guī)定的條件下,對通信次數(shù)進行計數(shù),程序的每個掃描周期進行一次MODBUS數(shù)據(jù)輸入/輸出的更新;PROFIBUS-DP輸入/輸出數(shù)據(jù)的更新,則是在VPC3+C收到PROFIBUS-DP的輸出數(shù)據(jù)標志位置位后進行。對這兩種數(shù)據(jù)更新的次數(shù)進行計數(shù),分別為Cmidbus和Cdp在PROFIBUS-DP通信速率(λdp)變化的情況下,實際測試數(shù)據(jù)如表1所列。

從表中可以看出,λdp=187.5 kbps時,Cdp=Cmodbus,實際上,此時已經(jīng)出現(xiàn)了PROFIBUS-DP丟包現(xiàn)象。這也解釋了上邊所提到的如果λdp超過一定值,若采用中斷方式處理PROFIBUS-DP的輸出數(shù)據(jù),勢必影響正在進行的MODBUS的通信。


5 結(jié) 論
將中國四聯(lián)集團采用MODBUS協(xié)議的輸入/輸出從站設備無縫接入PROFIBUS-DP網(wǎng)絡的智能通信網(wǎng)關(guān)的實現(xiàn)方案,有效地拓寬了其應用范圍。在硬件設計上,采用管理模塊實現(xiàn)網(wǎng)關(guān)的熱插拔功能;采用專用芯片解析PROFIBUS-DP協(xié)議;采用磁耦隔離代替?zhèn)鹘y(tǒng)的光耦隔離,提高了系統(tǒng)的性能和可靠性。軟件方面,采用單緩沖區(qū)設計、一次性內(nèi)存拷貝技術(shù)、實時模塊狀態(tài)查詢方式以及合理的中斷應用來保證系統(tǒng)的實時性和可靠性,還對網(wǎng)關(guān)的性能進行了測試和簡單計算,給出了保證不丟包所需要滿足的公式。為其他工業(yè)通信網(wǎng)關(guān)的設計提供了參考。


上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

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

關(guān)閉