版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、工業(yè)通信用網(wǎng)關設計及其關鍵技術研究夏繼強, 梁超眾, 邢春香 時間:2010年05月06日 關鍵詞:現(xiàn)場總線網(wǎng)關數(shù)據(jù)映射PROFIBUS-DP 摘 要: 提出了工業(yè)通信用網(wǎng)關系統(tǒng)的一般設計方法,并以PROFIBUS-DP智能網(wǎng)關設計為例對網(wǎng)關設計的關鍵技術數(shù)據(jù)映射關系、實時性、可靠性及故障處理進行了研究。對其他類型的工業(yè)網(wǎng)關的設計具有指導意義。關鍵詞: 現(xiàn)場總線; 網(wǎng)關; 實時性; 可靠性; 數(shù)據(jù)映射 采用現(xiàn)場總線技術的工業(yè)測控系統(tǒng)具有結構簡單、易于維護、開放性、分散性和可互操作性等優(yōu)點。但因為現(xiàn)階段多種現(xiàn)場總線協(xié)議的共存,導致其上述
2、優(yōu)點不能充分體現(xiàn)出來。針對目前工業(yè)測控領域多種現(xiàn)場總線共存的客觀事實,探討如何將兩種或多種現(xiàn)場總線系統(tǒng)集成具有重要意義。 在上述情況下,網(wǎng)關無疑是系統(tǒng)集成解決方案很好的選擇。結合國家863課題,本文以中國四聯(lián)集團與北京航空航天大學共同研發(fā)PROFIBUS-DP智能網(wǎng)關為例對工業(yè)通信網(wǎng)絡用網(wǎng)關的設計進行了闡述并對其實現(xiàn)的關鍵技術進行了詳細分析。1 網(wǎng)關系統(tǒng)解決方案設計 現(xiàn)場總線用網(wǎng)關一般要擔負兩種或多種總線之間的協(xié)議數(shù)據(jù)轉換的責任,屬于系統(tǒng)連接的關鍵部分。因此系統(tǒng)大多采用圖1所示的的結構來實現(xiàn)。
3、60; 應用本網(wǎng)關所組成的系統(tǒng)總體結構如圖2所示。智能網(wǎng)關在系統(tǒng)中無縫連接PROFIBUS-DP(以下簡稱”DP”)現(xiàn)場總線系統(tǒng)與MODBUS總線系統(tǒng),實現(xiàn)同一系統(tǒng)內(nèi)兩種總線設備的共存。 本系統(tǒng)中,微控制器為中國四聯(lián)集團研發(fā)的控制器。本智能網(wǎng)關在設計上為其預留了一個用于與控制器通信的接口。底層的I/O模塊實現(xiàn)工業(yè)現(xiàn)場信號的檢測或控制執(zhí)行設備的運行。2 網(wǎng)關結構設計 現(xiàn)階段的網(wǎng)關設計主要有協(xié)議芯片、硬核、軟核三種解決方案: (1) 協(xié)議芯片解決方案:采用專門芯片來實現(xiàn)相關協(xié)議,這種方法開發(fā)
4、周期短,實現(xiàn)起來相對簡單,比較適合于快速開發(fā),但成本稍高。 (2) 硬核解決方案:主要是對ASIC如CPLD、FPGA等進行硬件編程來實現(xiàn)相關協(xié)議的IP核。此方案對開發(fā)人員的硬件及軟件知識要求最高,協(xié)議稍復雜,實現(xiàn)難度就很大。但是網(wǎng)關性能可以與采用協(xié)議芯片實現(xiàn)方式相媲美。 (3) 軟核解決方案:用軟件實現(xiàn)協(xié)議數(shù)據(jù)鏈路層協(xié)議處理功能,結合相應的外圍硬件電路實現(xiàn)協(xié)議功能。此方法成本低,但需要開發(fā)人員充分了解相關協(xié)議及協(xié)議運作機制。對于復雜的協(xié)議,編程工作量巨大,且可靠性不易保證,受單片機處理速度影響,通常網(wǎng)關的性能不如其他兩種
5、方法。 在一般工業(yè)控制用網(wǎng)關設計中,都有較短的開發(fā)周期及很高的可靠性要求。因此,對于復雜的協(xié)議如DP、CAN、FF總線等一般選用協(xié)議芯片實現(xiàn);對于較簡單的協(xié)議如MODBUS等一般用軟核實現(xiàn)。本網(wǎng)關采用了DP協(xié)議芯片與MODBUS軟核相結合的實現(xiàn)方式。其硬件結構如圖3所示。 按照功能劃分,網(wǎng)關可以分為電源管理模塊、中央管理模塊、DP從站模塊和RS485通信模塊。 本網(wǎng)關設計要求串行口速率能夠達到921.6 kb/s。基于此要求,硬件平臺選用PHILIPS公司的ARM7-TDMI核微處理器。
6、 電源管理模塊負責整套系統(tǒng)的電源供給,系統(tǒng)的穩(wěn)定運行與電源模塊的穩(wěn)定性能關系密切,此處設計的電源模塊兼有熱插拔和電壓轉換功能;DP從站模塊的核心功能由協(xié)議芯片(VPC3+C)實現(xiàn);中央管理模塊除了實現(xiàn)對DP從站模塊的配置和管理,還要完成MODBUS協(xié)議的實現(xiàn)以及兩種協(xié)議數(shù)據(jù)交換協(xié)議棧的實現(xiàn)。3 網(wǎng)關系統(tǒng)的實現(xiàn) 網(wǎng)關系統(tǒng)在軟件設計方面與網(wǎng)關連接總線系統(tǒng)所采用的協(xié)議有較大差別,但一般協(xié)議在定義時為了實現(xiàn)靈活性好、易于實現(xiàn)和維護等優(yōu)點都采用分層結構。網(wǎng)關軟件設計時也可以采用分層結構,最后在應用層實現(xiàn)協(xié)議數(shù)據(jù)的相互轉換。本網(wǎng)關協(xié)議
7、棧的實現(xiàn)采用的就是這種分層的思想。 網(wǎng)關協(xié)議棧是連接MODBUS輸入/輸出模塊與DP通信的橋梁。協(xié)議棧分為DP通信層、協(xié)議數(shù)據(jù)映射層和MODBUS通信層三層。網(wǎng)關協(xié)議棧分層結構及各層功能如圖4所示。3.1 軟件總體結構設計 本網(wǎng)關的軟件總體流程如圖5所示。CPU通過驅(qū)動VPC3+C來實現(xiàn)對DP通信過程的控制,包括通信接口檢查、正常和發(fā)生故障情況下的診斷數(shù)據(jù)的發(fā)送及數(shù)據(jù)交換等過程;通過MODBUS協(xié)議實現(xiàn)對下掛的輸入/輸出從站模塊的查詢操作;通過對模塊應答幀(或通信超時)進行分析來判斷模塊的狀態(tài)以及模塊的通道狀態(tài),根據(jù)模塊狀態(tài)信息填充DP的診斷域的數(shù)據(jù),并以此
8、為依據(jù)實現(xiàn)對網(wǎng)關通信狀態(tài)(正常通信、報告故障或警告信息)的控制。3.2 PROFIBUS-DP總線驅(qū)動 此網(wǎng)關DP通信部分采用協(xié)議芯片VPC3+C,其內(nèi)部含有4 KB RAM,用戶可根據(jù)需要對其進行設置;具有兩種微處理器接口:數(shù)據(jù)/地址總線復用或單獨操作。因為ARM核對外部RAM操作的速度較快,時序不能滿足VPC3+C的操作時序,因此這里用ARM的GPIO口來模擬VPC3+C的操作時序。本文模擬的是其在Intel模式下內(nèi)部寄存器的讀寫時序。 此驅(qū)動主要提供了以下功能:nxp_vpc3_read、nxp_vpc3_write
9、 、nxp_vpc3_init、nxp_vpc3_reset、nxp_vpc3_isr,這些函數(shù)分別向上層應用提供了讀寫VPC3+C寄存器、對其初始化、復位操作及中斷的處理功能。其中對寄存器的讀寫操作是關鍵部分,函數(shù)原型如下: unsigned char nxp_vpc3_read(unsigned int addr); void nxp_vpc3_write(unsigned int addr,unsigned char data);其中addr為要讀寫的寄存器地址,da
10、ta為要寫入的數(shù)據(jù)。3.3 MODBUS協(xié)議的實現(xiàn) 為提高信號傳輸?shù)木嚯x及抗干擾能力,此處MODBUS物理層采用標準RS485通信。為了保證MODBUS協(xié)議軟核的健壯性,設計了其有限狀態(tài)機1模型,如圖6所示,并根據(jù)此有限狀態(tài)機模型運用狀態(tài)路由器進行軟件實現(xiàn)。3.4 協(xié)議數(shù)據(jù)的映射處理 此部分處理效率的高低直接關系到網(wǎng)關系統(tǒng)的性能,因此設計過程中應該謹慎設計。 此部分完成協(xié)議數(shù)據(jù)映射層的實現(xiàn),具體的數(shù)據(jù)映射關系管理見4.1節(jié)闡述。4 網(wǎng)關關鍵技術研究 對于工業(yè)用網(wǎng)關應用來說,保證網(wǎng)關正常工作的首要條件是其所連接的系統(tǒng)數(shù)據(jù)映射
11、關系的正確性,其次可靠性和故障處理能力是網(wǎng)關可長期穩(wěn)定工作的重要影響因素,對網(wǎng)關實時性的要求則因系統(tǒng)的不同而各異。4.1 數(shù)據(jù)映射關系管理 如何管理網(wǎng)關連接的兩種或多種系統(tǒng)中的設備在通信數(shù)據(jù)中的映射關系,即通常意義上的尋址,是很重要的步驟。而這一部分針對網(wǎng)關所連接的不同,總線設備也有很大區(qū)別。 本網(wǎng)關對所有可能下掛的模塊的輸入輸出數(shù)據(jù)格式進行分析,然后分別定義了各個模塊對應的通信接口配置字,并在GSD文件以下例格式進行描述: Module="AI31xx4 channels" 0xd3; 輸入模塊AI31xx占4個字長
12、0; EndModule 這樣在對其進行硬件組態(tài)時,只需要將對應的模塊放到對應的地址槽中即可。 在網(wǎng)關協(xié)議棧中同樣保留上述表用來查詢下掛模塊類型對應的控制字和硬件組態(tài)數(shù)據(jù)進行比較。并以硬件組態(tài)數(shù)據(jù)為標準填充數(shù)據(jù)映射表,單個模塊數(shù)據(jù)映射表數(shù)據(jù)結構如下:typedef structunsigned char cfg_data; /*記錄模塊的參數(shù)配置字*/MODULE_STATE this_state; /*當前模塊的狀態(tài)*/unsigned cha
13、r start_position; /*記錄模塊數(shù)據(jù)在 PROFIBUS-DP中交換數(shù)據(jù)中的起始地址*/unsigned char data_length; /*記錄模塊數(shù)據(jù)在
14、60; PROFIBUS-DP中交換數(shù)據(jù)中所占長度*/unsigned char data_direction; /*記錄模塊數(shù)據(jù)在 PROFIBUS-DP中是輸入數(shù)據(jù)還是輸出數(shù)據(jù)*/ IO_CONFIG_PRM。其中MODULE_STATE為枚舉數(shù)據(jù)類型,代表MODBUS從站當前狀態(tài),數(shù)據(jù)結構如下:
15、typedef enum module_state TYPE_OK, NOT_EXIST, TYPE_DISAGREEMODULE_STATE;4.2 保證實時性措施 網(wǎng)關在對兩種協(xié)議的數(shù)據(jù)進行映射的過程中采用了一次性內(nèi)存拷貝技術和單緩沖區(qū)技術來盡快完成數(shù)據(jù)的處理且保證是最新數(shù)據(jù),以此來保證網(wǎng)關通信的實時性能。 一次性內(nèi)存拷貝技術是指網(wǎng)關從協(xié)
16、議芯片內(nèi)部讀取到DP的輸出數(shù)據(jù)后,直接將此數(shù)據(jù)填充到MODBUS輸出幀對應的位置;從MODBUS輸入模塊得到的數(shù)據(jù)直接填入到DP協(xié)議芯片的輸入緩沖區(qū)的對應位置。用這種方式來減少內(nèi)存拷貝過程中所耗費的時間。 網(wǎng)關單緩沖區(qū)2,3技術也是為了保證數(shù)據(jù)為最新數(shù)據(jù)而采用的。所謂單緩沖區(qū)即不管兩種協(xié)議通信中待轉換的數(shù)據(jù)而只保留當前最新的一幀。此網(wǎng)關連接的兩種設備的正常數(shù)據(jù)通信都是周期性的,且周期一般固定不變。如果MODBUS數(shù)據(jù)交換的周期小于DP的數(shù)據(jù)交換周期,網(wǎng)關的緩存中只有一幀有效數(shù)據(jù);如果MODBUS數(shù)據(jù)交換周期大于DP的數(shù)據(jù)交換周期,且采用鏈表結構保存DP的幀數(shù)
17、據(jù),則不管預先緩沖區(qū)有多大,肯定導致緩沖區(qū)溢出的問題,從而使DP的輸出數(shù)據(jù)不能及時更新到MODBUS從站的通道上進而影響系統(tǒng)的實時性。 高效地使用指針可以大大提高網(wǎng)絡協(xié)議棧性能。本網(wǎng)關在MODBUS協(xié)議實現(xiàn)過程的信息處理中就采用了函數(shù)指針實現(xiàn)指針路由功能,避免了因過多判斷對系統(tǒng)性能的影響,這樣做不僅提高了系統(tǒng)處理信息的能力,也使系統(tǒng)有很好的擴展性能。上述一次性內(nèi)存拷貝技術也是通過指針來實現(xiàn)的。4.3 保證可靠性措施 在硬件方面,除了保證網(wǎng)關性能所必須的參數(shù)外,還應在成本和可靠性方面做出一定的折中。本系統(tǒng)中為了提高系統(tǒng)的抗干擾能力,與外界通信的部分和系統(tǒng)在物理
18、接口上都進行b 電氣隔離,此處的3個通信接口都需要進行隔離。根據(jù)通信性能要求的不同,選擇磁耦隔離+驅(qū)動芯片完成DP通信的隔離兼物理層電平轉換功能;用雙通道磁耦隔離芯片來完成另外兩路串行口通信的隔離。這兩款芯片都采用了最新的基于芯片尺寸的變壓器隔離技術的磁耦,與傳統(tǒng)的光耦比較,其轉換速度、瞬態(tài)共模抑制能力、功耗、尺寸及成本等方面均有很明顯的優(yōu)勢。為了滿足工業(yè)現(xiàn)場即插即用的要求,設計了電源轉換及保護電路來實現(xiàn)網(wǎng)關供電系統(tǒng)的穩(wěn)定,保證系統(tǒng)的可靠運行,并支持帶電作業(yè)(熱插拔功能)。 系統(tǒng)除了在上電之后對下掛的MODBUS模塊進行類型查詢并與DP主站組態(tài)模塊類型進行比
19、較外,在進入正常數(shù)據(jù)交換之后,也會實時地對模塊的狀態(tài)進行分析以判斷是否有故障發(fā)生。故障標志是在網(wǎng)關和MODBUS從站進行通信過程中根據(jù)從站的回應幀來判斷的。 網(wǎng)關系統(tǒng)中如何保證多種總線通信的互不干擾是很重要的環(huán)節(jié)。此網(wǎng)關系統(tǒng)中MODBUS協(xié)議是由軟件來實現(xiàn)的,考慮到需要定時器等保證通信的可靠性,為了防止兩種協(xié)議通信的相互影響,對DP輸出數(shù)據(jù)的讀取采用查詢的方式而非中斷方式進行訪問。這樣在DP的數(shù)據(jù)到來后不會打斷正在進行的MODBUS通信過程,尤其是在DP通信速率較高的情況下,這種設計的可靠性更加明顯。如果采用中斷的方式,當DP通信速率超過一定值后,其勢必影響
20、網(wǎng)關與MODBUS從站之間的通信,嚴重時會導致MODBUS幀傳輸?shù)牟煌暾?,從而導致網(wǎng)關對MODBUS模塊通信狀態(tài)的誤判,進而影響系統(tǒng)的可靠性。4.4 模塊故障信息的處理 如果MODBUS模塊出現(xiàn)故障,如何將對應的故障上傳到對智能網(wǎng)關進行組態(tài)的DP主站是很重要的一環(huán),處理得當可以使系統(tǒng)的運行和維護變得簡便靈活。 西門子的DP從站設備只要有一個模塊出現(xiàn)錯誤,則模塊從屬的從站會退出正常的數(shù)據(jù)交換狀態(tài),這樣導致此從站相連的其他正常模塊也不能進行數(shù)據(jù)交換,進而對于整個設備的運行產(chǎn)生影響。這種處理方式認為所有的模塊都屬于關鍵模塊,只要有一個出現(xiàn)問題其余都會“被迫下線”,但這種處理方式不太靈活。本網(wǎng)關處理
21、方式為:在查詢到模塊類型之后,實際模塊類型和組態(tài)類型一致則網(wǎng)關將對應模塊映射為標準的DP模塊;否則,將判斷故障,并將故障診斷信息傳遞給DP主站,并不斷查詢錯誤模塊的類型,直到相應故障解除后將其映射成標準的DP模塊。在此過程中正常模塊的通信不受影響。相比來看,本網(wǎng)關在處理故障的策略則更加靈活。本網(wǎng)關可以判斷的故障診斷信息包括:模塊類型錯誤、模塊超時故障、模塊不存在故障以及模擬量輸入模塊的通道斷線標志。 本網(wǎng)關在其對應的GSD文件中的用戶自定義診斷數(shù)據(jù)部分定義了上述4種故障對應的代碼。故障代碼格式如下: Unit_Diag_Bit(x)=“插槽x中模塊不存在”&
22、#160; Unit_Diag_Bit(8+x)=“插槽x中模塊類型錯誤” Unit_Diag_Bit(16+x)=“插槽x中模塊超時” Unit_Diag_Bit(24+x+8×y)=“插槽x中模塊通道y斷線” 在正常運行中,在標準的診斷信息后只需要使用3+x個字節(jié)即可描述x個模塊的診斷信息。在系統(tǒng)運行過程中該診斷信息由中央管理模塊管理,如果存在故障,則填入VPC3+C的用戶診斷緩沖區(qū),然后置位診斷狀態(tài)位,這樣主站會在檢測到此診斷位的下一個訪問周期發(fā)送請求從站診斷報文幀,待取回診斷幀后繼續(xù)進行正常的數(shù)據(jù)交換請求。上述過程不斷重復,直至網(wǎng)關下掛的模塊故障消除為止。在此過程中不存在上述故障的模塊則仍然映射成標準的DP從站模塊,正常的數(shù)據(jù)更新不受影響。該網(wǎng)關采用這種方式來保證狀態(tài)正常的模塊不停止工作,提高系統(tǒng)的靈活性。5 網(wǎng)關性能測試 網(wǎng)關在設計好之后,必須對其進行性能測試以判斷其是否達到設計指標,并為用戶進行系統(tǒng)設計提供依據(jù)。 本網(wǎng)關的性能和下掛模塊以及DP總線波特率設定有直接的關系。經(jīng)過測試和DP通信速率可以到達DP協(xié)議規(guī)定的最高速度12 M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 感恩老師演講稿(集錦15篇)
- 小班保育員小結
- 婚禮上的致辭匯編15篇
- 易錯題25 古代詩歌閱讀之情感主旨題-不會見微知著探究主旨高考語文備戰(zhàn)2025年高考易錯題(新高考專用)含解析
- 2018安徽道法試卷+答案+解析
- 急救培訓心得體會匯編15篇
- 初級會計實務-《初級會計實務》??荚嚲?53
- 中國電池預制艙行業(yè)投資分析、市場運行態(tài)勢研究報告-智研咨詢發(fā)布(2024版)
- 智研咨詢-中國急救中心行業(yè)市場調(diào)查、產(chǎn)業(yè)鏈全景、需求規(guī)模預測報告(2024版)
- 智研咨詢發(fā)布:2024年中國心臟脈沖電場消融系統(tǒng)(PFA)行業(yè)市場現(xiàn)狀及投資前景分析報告
- 護理人文知識培訓課件
- 2025年春新人教版數(shù)學七年級下冊教學課件 7.2.3 平行線的性質(zhì)(第1課時)
- 安徽省合肥市2025年高三第一次教學質(zhì)量檢測地理試題(含答案)
- 統(tǒng)編版八年級下冊語文第三單元名著導讀《經(jīng)典常談》閱讀指導 學案(含練習題及答案)
- 風光儲儲能項目PCS艙、電池艙吊裝方案
- TTJSFB 002-2024 綠色融資租賃項目評價指南
- 光伏項目安全培訓課件
- 全面解讀新能源法律風險與應對措施
- 民法學詳細教案
- 浙江省杭州市2023年中考一模語文試題及答案
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
評論
0/150
提交評論