CAN總線(xiàn)-PROFIBUS-DP總線(xiàn)網(wǎng)關(guān)的實(shí)現方法
CAN總線(xiàn)側的初始化與發(fā)送程序流程如圖4:
在接受子程序里,系統以查詢(xún)的方式接受CAN子站傳送過(guò)來(lái)的數據,網(wǎng)關(guān)通過(guò)接受緩沖區數據區的第一個(gè)字節的內容判斷接受的是真正的數據,還是發(fā)給 PROFIBUS-DP站點(diǎn)的發(fā)送數據請求。如果數據區第一個(gè)字節是00H,則傳送的是數據信息,于是根據ID查表求得該站所對應的存儲單元,并將數據區的第二、三字節的內容存在該單元內,同時(shí)把ID放在7FFCH中,告訴對方發(fā)送數據的站點(diǎn)號;如果該字節內容是FFH,則說(shuō)明是發(fā)送數據請求,數據區第二個(gè)字節存放的是被要求發(fā)送數據的站點(diǎn)號,將他放入7FFCH內即可。
CAN總線(xiàn)接口發(fā)送數據子程序流程圖如圖5:
5 結束語(yǔ)
實(shí)踐證明,雙CPU結構的雙向網(wǎng)關(guān)可以很好地完成CAN總線(xiàn)到PROFIBUS-DP總線(xiàn)協(xié)議轉換的任務(wù),并且解決了單CPU結構網(wǎng)關(guān)中存在的數據傳輸速率低,數據傳輸可靠性差等問(wèn)題,滿(mǎn)足了CAN總線(xiàn)與PROFIBUS-DP總線(xiàn)協(xié)議轉換的要求。它將CAN總線(xiàn)設備與PROFIBUS總線(xiàn)設備的連接起來(lái),使兩種現場(chǎng)總線(xiàn)設備可以高效的通信,最終達到數據共享與功能互補的目的。并且工作人員在使用過(guò)程中不必關(guān)心兩種總線(xiàn)物理層和數據鏈路層的全部?jì)热?,給總線(xiàn)產(chǎn)品的研究開(kāi)發(fā)帶來(lái)極大方便。另外這種雙CPU結構的設計方案對其他現場(chǎng)總線(xiàn)之間的網(wǎng)關(guān)設計具有借鑒意義,是一種值得推廣的方法。
參考文獻
[1] 鄔寬明. 現場(chǎng)總線(xiàn)應用選編. 北京:北京航空航天大學(xué)出版社,2004
[2] 鄒益仁. 現場(chǎng)總線(xiàn)控制系統的設計和開(kāi)發(fā). 北京:國防工業(yè)出版社,2003
[3] 饒運濤. 現場(chǎng)總線(xiàn)CAN原理與應用技術(shù). 北京:北京航空航天大學(xué)出版社,2003
[4] SIEMENS. SPC3 and DPS2 User Description Version2.0,2002
[5] PNO.Draft GSD Specification for PROFIBUS-DP GSD Revision2,1998
[6] PHILIPS.Semiconductor PCA82C250 CAN controlerinter-face,1997(end)
評論