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