引言
隨著鐵路信息化數(shù)字化的發(fā)展,提出了機車的在線實時監(jiān)控,要求對車載設備的相關數(shù)據(jù)進行實時采集和存儲。這對為技術人員提供及時準確的機車信息,保證列車運行的安全有著重要的意義。
本文介紹一種基于VC++的機車實時監(jiān)控系統(tǒng),是由后臺控制監(jiān)控系統(tǒng)和前臺采集系統(tǒng)所組成的一個分布式集成網(wǎng)絡。當控制監(jiān)控系統(tǒng)與內燃機車進行通訊,則后臺控制監(jiān)控系統(tǒng)顯示計算機顯示的就是機車數(shù)據(jù)記錄儀采集到的各種機車數(shù)據(jù)。
2 功能分析
2.1 上位機的軟件功能主要有以下幾點:
1)與下位機(機車數(shù)據(jù)儀)進行通信,完成對下位機的讀寫;
2)能夠對數(shù)據(jù)進行有效的識別,提取數(shù)據(jù)中的有用信息(如機車型號,機車編號,機車標稱功率等);
3)對有效數(shù)據(jù)進行處理,能夠以曲線或圖表形式顯示車輛運行狀況;
4)為數(shù)據(jù)的查找與定位提供方便的手段,便于局部數(shù)據(jù)分析;
5)具有存檔、打印功能。
2.2 上位機主控程序功能劃分:
3 軟件實現(xiàn)
3.1 通訊協(xié)議
所謂通訊協(xié)議就是通訊雙方為了達到正確傳送和接收數(shù)據(jù)而達成的一組通訊規(guī)定。它包括發(fā)送/接收數(shù)據(jù)的格式、數(shù)據(jù)編寫與解讀方法以及通訊參數(shù)的設定。在通訊協(xié)議中,通訊參數(shù)的設定是通訊的前提,包括串口的選取,波特率設定,有無奇偶校驗,數(shù)據(jù)位的位數(shù),以及停止位的位數(shù)。下面介紹一下數(shù)據(jù)的格式和數(shù)據(jù)傳送。
數(shù)據(jù)格式: 定位數(shù)據(jù)從0開始。第0-第3字節(jié)=0x57, 0x77, 0x44, 0x4C為當量里程記錄儀轉儲數(shù)據(jù)文件類型標識頭;累計數(shù)據(jù)共176字節(jié),占數(shù)據(jù)文件中的第24字節(jié)到第199字節(jié);瞬時數(shù)據(jù)從第256字節(jié)開始,一直到結束,數(shù)據(jù)長度=瞬時數(shù)據(jù)的數(shù)據(jù)幀數(shù)×數(shù)據(jù)幀長;瞬時數(shù)據(jù)幀長包含幀校驗碼。文件尾占3字節(jié)=0x45, 0x4e, 0x44。
數(shù)據(jù)傳送:累積數(shù)據(jù)每176個字節(jié)數(shù)據(jù)為一個數(shù)據(jù)塊;瞬時數(shù)據(jù)的數(shù)據(jù)長度=瞬時數(shù)據(jù)的數(shù)據(jù)幀數(shù)×數(shù)據(jù)幀長;瞬時數(shù)據(jù)幀長包含幀校驗碼。
下位機每發(fā)送一個數(shù)據(jù)塊,隨即就發(fā)該數(shù)據(jù)塊的校驗和,如果檢驗和有誤,就重發(fā)該數(shù)據(jù)塊;如果數(shù)據(jù)未讀完,重復本操作,直到數(shù)據(jù)讀完。 命令中的校驗占一個字節(jié),[校驗]=([命令]+[目標代碼]+[數(shù)據(jù)].字節(jié)1+…+[數(shù)據(jù)].字節(jié)n)mod 0x100。執(zhí)行結果返回值中的校驗也占一個字節(jié),[校驗]=([執(zhí)行結果代碼]+[數(shù)據(jù)].字節(jié)1+…+[數(shù)據(jù)].字節(jié)n)mod 0x100。
3.2 通訊流程
監(jiān)控系統(tǒng)與下位機(機車數(shù)據(jù)記錄儀)的通訊只需用到以下幾條命令:查詢下位機硬件工作狀態(tài)、查詢下位機數(shù)據(jù)紀錄狀態(tài)、讀累計數(shù)據(jù)、讀瞬時數(shù)據(jù)、寫數(shù)據(jù)。在上位機發(fā)出命令之前,下位機處于等待狀態(tài);當命令發(fā)出之后,下位機探測所發(fā)出的命令并判斷該命令是否對自己操作。如果是,則按命令要求返回所要求的數(shù)據(jù);如果不是,則不回應;下位機收到采集系統(tǒng)送過來的數(shù)據(jù)以后,對它進行分析和數(shù)據(jù)轉換,然后進行顯示和保存。
將上位機的各種命令獨立地建立一個類MasterCommand,就用來處理上位機向下位機發(fā)送的命令。以下是對這個類的定義。
//命令碼,命令碼長度,命令顯示字串,獲取的數(shù)據(jù)長度/最大長度,數(shù)據(jù)放置起始位置,數(shù)據(jù)標識定義位置
MasterCommand(char *comCode, const int &comCodeLen, CString comDispStr, const int &getDataLen, const int &dataPos, const int &dataSignPos)
{
init(comCode, comCodeLen, comDispStr, getDataLen, dataPos, dataSignPos);
}
3.2.1 查詢
A. 查詢下位機硬件工作狀態(tài)
用戶通過串口發(fā)送命令,如果命令正確執(zhí)行,則返回硬件的工作狀態(tài),根據(jù)數(shù)據(jù)交換
命令集可以判斷硬件工作得是否正常。程序將將硬件工作狀態(tài)顯示在用戶界面上,讓用戶可以很方便地了解硬件的工作狀態(tài),如果發(fā)現(xiàn)硬件有工作不正常的狀態(tài),就可以對硬件進行相應的處理。
B. 查詢下位機數(shù)據(jù)紀錄狀態(tài)
用戶通過串口發(fā)送命令,如果命令正確執(zhí)行,則返回下位機數(shù)
據(jù)記錄狀態(tài),根據(jù)數(shù)據(jù)交換命令集可以判斷數(shù)據(jù)記錄是否正常。如果數(shù)據(jù)記錄不正常,用戶也可以在界面上看到是哪方面出了問題,可以進行相應的處理。
3.2.2 讀數(shù)據(jù)
A. 讀累計數(shù)據(jù)
用戶在上位機發(fā)送讀累計數(shù)據(jù)的命令,下位機收到命令后向上位機返回執(zhí)行結果。執(zhí)行結果返回值:[執(zhí)行結果代碼] [數(shù)據(jù)] [校驗]。
其中: [執(zhí)行結果代碼] 和 [校驗] 均占一個字節(jié)。當命令校驗失敗或執(zhí)行失敗時,下位機只返回 [執(zhí)行結果代碼] 和 [校驗] 碼。累計數(shù)據(jù)一共占176個字節(jié),在當量儀數(shù)據(jù)存儲格式中對每一個字節(jié)都有詳細的定義。在程序中按照格式將數(shù)據(jù)取出來,并在用戶界面顯示出來。在所有數(shù)據(jù)正確接收后用戶可以選擇保存數(shù)據(jù),以供以后進一步地查看,對數(shù)據(jù)進行分析。
B. 讀瞬時數(shù)據(jù)
瞬時數(shù)據(jù)從第256字節(jié)開始,數(shù)據(jù)長度=瞬時數(shù)據(jù)的數(shù)據(jù)幀數(shù)×數(shù)據(jù)幀長;瞬時數(shù)據(jù)幀長包含幀校驗碼。
3.2.3 寫數(shù)據(jù)
主機下送數(shù)據(jù)到從機,寫當量記錄儀中的所有累計數(shù)據(jù)。執(zhí)行正確時返回上位機要求寫入的數(shù)據(jù)(二進制表示)。便于上位機校驗。
4. 界面設計
控制系統(tǒng)的界面共有四個,它們是主界面、累計數(shù)據(jù)顯示界面、選擇寫入下位機數(shù)據(jù)界面。
⑴ 主界面
主界面是系統(tǒng)運行的主要界面,它的作用向下位機是發(fā)送各種命令和對串口通訊的參數(shù)進行設置,通過各種命令才會實現(xiàn)系統(tǒng)采集實時數(shù)據(jù)和進行監(jiān)控的功能。也只有在發(fā)送各種命令時才會調用和顯示其他功能界面(如累計數(shù)據(jù)顯示界面等),也就是說主界面是其他功能界面的聯(lián)系紐帶。
在主界面的設計中采用了組合框、樹形視圖、列表框等控件,在界面下方的列表框中可以顯示運行的程序、出錯報告及系統(tǒng)的狀態(tài)等。
(2)累計數(shù)據(jù)顯示界面
此界面的作用是當上位機完成了采集下位機的累計數(shù)據(jù)時,可以由用戶選擇是否顯示采集的累計數(shù)據(jù)。用戶檢查了機車的累計數(shù)據(jù)后,可以在界面對累計數(shù)據(jù)進行更改,然后就將數(shù)據(jù)進行保存,以便將來對數(shù)據(jù)進行管理。
(3) 選擇寫入下位機數(shù)據(jù)界面
上位機采集到的數(shù)據(jù)都可以保存,若下位機此時的數(shù)據(jù)有必要進行更改,可以從以前采集到的數(shù)據(jù)中選擇一份寫入下位機,也就實現(xiàn)了系統(tǒng)的控制功能。
5. 小結
本系統(tǒng)在實際應用中運行良好,數(shù)據(jù)的完整性、實時性和程序的可靠性高。它操作簡便,具有很強的易用性。
-
計算機
+關注
關注
19文章
7174瀏覽量
87159 -
監(jiān)控系統(tǒng)
+關注
關注
21文章
3769瀏覽量
172358 -
記錄儀
+關注
關注
1文章
442瀏覽量
21599
發(fā)布評論請先 登錄
相關推薦
評論