Linux和S3C2410的PROFIBUS-DP主站平臺設計
3 系統軟件設計
為了提高該試驗平臺的可靠性,軟件設計方面將本系統分為兩個(gè)子系統,一個(gè)子系統負責與上位機進(jìn)行通信,另一個(gè)子系統則負責PROFIBUS—DP的通信。其中,與上位機通信的程序流程如圖2所示。DP網(wǎng)絡(luò )通信程序流程如圖3所示。本文引用地址:http://dyxdggzs.com/article/156156.htm
DP網(wǎng)絡(luò )通信模塊和上位機通信接口模塊是兩個(gè)獨立的模塊,他們共享硬件相關(guān)的函數庫和從站相關(guān)數據結構。這兩個(gè)模塊還互為生產(chǎn)者和消費者的關(guān)系,上位機通信模塊為DP網(wǎng)絡(luò )通信模塊提供從站相關(guān)的組態(tài)(GSD文件相關(guān))信息和從站輸出數據;DP網(wǎng)絡(luò )通信模塊為用戶(hù)通信模塊提供從站輸入數據及從站運行狀態(tài)相關(guān)信息。
4 系統可靠性分析
軟件的穩定性和抗干擾性是衡量系統可靠性的重要指標。本主站在軟件實(shí)現中所采取的保證可靠性措施主要有防錯設計、糾錯設計、故障恢復設計等。
防錯設計:主要體現在系統程序自檢技術(shù)及數據封裝方面。系統軟件設計過(guò)程中采用分層結構,與硬件操作相關(guān)的層的通信采用單獨通信模塊完成,這些層次之間通過(guò)層間接口進(jìn)行通信,層間接口在設計過(guò)程中對輸入的參數全部進(jìn)行有效性檢查(指針有效性、數值有效性、邏輯有效性檢查等)。在數據封裝方面,對與上位機通信和DP網(wǎng)絡(luò )通信兩個(gè)子系統分別進(jìn)行編程,分別提供各個(gè)子系統的私有數據,私有數據供模塊內部調用,并提供模塊間訪(fǎng)問(wèn)接口實(shí)現相關(guān)數據的共享,這樣便可以防止出現模塊間數據重名以及編程過(guò)程中誤修改產(chǎn)生的問(wèn)題。
糾錯設計:網(wǎng)關(guān)通信過(guò)程中不管是和上位機的通信還是DP網(wǎng)絡(luò )的通信,采用的都是半雙工的RS485通信。相關(guān)通信能否順利進(jìn)行,取決于數據的正確性和時(shí)間兩個(gè)方面。無(wú)論是與上位機通信,還是DP網(wǎng)絡(luò )的通信,每次對于傳輸進(jìn)來(lái)的數據都有專(zhuān)門(mén)的數據校驗模塊進(jìn)行校驗,這就避免了在數據有誤的情況下仍然進(jìn)行通信。同時(shí),針對接收超時(shí)等問(wèn)題,也有專(zhuān)門(mén)的模塊進(jìn)行處理。
故障恢復設計:采用看門(mén)狗技術(shù)。系統軟件在運行過(guò)程中開(kāi)啟硬件看門(mén)狗,軟件必須在一定的時(shí)間內“喂狗”,否則就會(huì )導致看門(mén)狗對系統的復位。這樣防止了因程序跑飛而導致無(wú)法恢復的錯誤。
5 系統實(shí)時(shí)性
PROFIBUS—DP現場(chǎng)總線(xiàn)作為應用在設備的公共總線(xiàn),必須解決各節點(diǎn)的網(wǎng)絡(luò )使用權競爭問(wèn)題,同時(shí)保證通信的實(shí)時(shí)性。PORFIBUS—DP系統的實(shí)時(shí)響應時(shí)間依賴(lài)于max TSDR、采用的傳輸速率、要交換的數據長(cháng)度和數量、min_slave_Interval(某一個(gè)從站前后2次被主站輪詢(xún)的最小間隔時(shí)間)4個(gè)參數。系統的測控周期(又稱(chēng)訪(fǎng)問(wèn)周期)是指控制系統周期性訪(fǎng)問(wèn)網(wǎng)絡(luò )上同一個(gè)節點(diǎn)的時(shí)間間隔,是衡量PORFIBUS—DP實(shí)時(shí)性能的一個(gè)重要指標。
評論