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