淺談中控后備系統(tǒng)軟件的通訊設(shè)備
2024/11/4 8:42:32點(diǎn)擊:
中控后備系統(tǒng)軟件分為兩部分,一個(gè)是設(shè)備通訊進(jìn)程,一個(gè)是報(bào)警交互進(jìn)程,兩進(jìn)程間通過(guò)共享內(nèi)存交換數(shù)據(jù)。設(shè)備驅(qū)動(dòng)程序工作在查詢方式,不適于做實(shí)時(shí)控制。為了保證通訊的實(shí)時(shí)性,設(shè)備通訊進(jìn)程采用匯編語(yǔ)言編制中斷駐留程序,通過(guò)硬件時(shí)鐘中斷定時(shí)從通訊卡中讀取通訊數(shù)據(jù)。計(jì)算機(jī)高端內(nèi)存區(qū)是對(duì)所有程序進(jìn)程開(kāi)放的,駐留程序在高端內(nèi)存區(qū)開(kāi)設(shè)通訊發(fā)送、接收緩沖隊(duì)列,可方便地解決共享內(nèi)存的問(wèn)題。中斷駐留程序通過(guò)修改時(shí)鐘中斷,定時(shí)接收來(lái)自CZ10的報(bào)文數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行分離,存放在與CZ10相對(duì)應(yīng)的緩沖隊(duì)列中。報(bào)警交互進(jìn)程從緩沖隊(duì)列中提取報(bào)文數(shù)據(jù)進(jìn)行處理,并將操作信號(hào)存放在發(fā)送緩沖隊(duì)列中,通訊進(jìn)程檢查發(fā)送隊(duì)列,向相應(yīng)的CZ10發(fā)送數(shù)據(jù)。
系統(tǒng)的定時(shí)器消息經(jīng)常會(huì)被占先任務(wù)延遲,要達(dá)到實(shí)時(shí)控制需對(duì)控制程序進(jìn)行特殊處理。在實(shí)際編程中,我們底層采用了DOS中斷駐留程序來(lái)完成實(shí)時(shí)通訊,將通訊報(bào)文儲(chǔ)存在報(bào)警循環(huán)隊(duì)列中,保證數(shù)據(jù)通訊的實(shí)時(shí)性和完整性。系統(tǒng)程序使用定時(shí)消息,通過(guò)共享內(nèi)存的方式從報(bào)警循環(huán)隊(duì)列中獲取報(bào)文消息,經(jīng)過(guò)求和校驗(yàn)判斷、故障代碼分類判決等過(guò)程將判決結(jié)果填充相應(yīng)的數(shù)據(jù)結(jié)構(gòu)中。系統(tǒng)主消息循環(huán)空余時(shí)間循環(huán)掃描系統(tǒng)數(shù)據(jù)結(jié)構(gòu)區(qū),根據(jù)報(bào)警的不同類別和信息建立和清除報(bào)警、故障等異常查詢隊(duì)列,并根據(jù)不同的報(bào)警地址切換圖形,顯示報(bào)警位置。操作員可根據(jù)不同的操作員級(jí)別對(duì)這些異常進(jìn)行操作處理。同時(shí),系統(tǒng)還將接收到的信息及操作員的操作過(guò)程通過(guò)打印機(jī)記錄下來(lái),并同時(shí)以文件形式儲(chǔ)存在磁盤中以便日后查詢管理。
- 上一篇:控制命令對(duì)不同的監(jiān)控單元進(jìn)行動(dòng)態(tài)選擇 2024/11/4
- 下一篇:監(jiān)控市場(chǎng)對(duì)技術(shù)的要求越來(lái)越嚴(yán)格 2024/11/4
