基于以太網(wǎng)的橋梁健康監測系統的軟件設計
2 基于以太網(wǎng)的橋梁健康監測系統的軟件設計
2.1 軟件設計需求分析
現場(chǎng)監測儀將采集到的信號通過(guò)以太網(wǎng)傳送到上位機PC,在PC機上實(shí)時(shí)顯示、保存、分析采集數據信息,既能夠充分利用了DSP在現場(chǎng)高速采集處理數據的能力,又能夠充分利用了上位PC機在繪制圖像和保存數據方面的優(yōu)勢。因此,一個(gè)完整的橋梁健康監測系統在中央監控部分應該完成以下幾個(gè)功能:
(1)每臺監測儀IP地址、MAC地址、Port端口等網(wǎng)絡(luò )地址信息、運行模式以及系統采樣時(shí)間的設定;
(2)監測儀8個(gè)通道的采樣頻率、放大倍數、采樣保存時(shí)間的設定以及每個(gè)通道對應傳感器類(lèi)型的選擇;
(3)動(dòng)態(tài)實(shí)時(shí)顯示數據曲線(xiàn)。數據的顯示可以以原始數據和FFT兩種格式,并且可以調整采樣時(shí)間設定一幀采集的數據量的大??;
(4)八個(gè)通道數據采集數據的長(cháng)度、采集的時(shí)間能夠同步實(shí)時(shí)顯示在中央控制機上;
(5)越限報警。當采集到的數據出現異常,超出正常的數據范圍的時(shí)候,能夠向中央控制單元報警,便于工作人員及時(shí)查找出現的故障和損傷;
(6)能夠對采集到的數據進(jìn)行實(shí)時(shí)分析。
2.2 軟件系統整體設計和流程
軟件設計核心部分主要有兩個(gè),一個(gè)是中央控制單元向監測儀發(fā)送命令參數,另一個(gè)是中央控制單元接收監測儀發(fā)送回來(lái)的采集數據信息。PC機接收到采集的數據信息后,還需要根據系統要求繪制出數據曲線(xiàn)圖,便于對采集到的數據進(jìn)行分析,同時(shí)為了歷史數據信息的查閱,還必須將采集到的數據保存到Excel文件,其流程圖如圖2所示。根據軟件設計的整體設計和流程,采用了四個(gè)線(xiàn)程:
線(xiàn)程1:UINT SendCMDToDSP(LPVOID IParam),完成向DSP發(fā)送在主程序設定的命令參數;
線(xiàn)程2:UINT、RecieveData(LPVOID IParam),完成接收采集的數據信息;
線(xiàn)程3:UINT DrawCurve(LPVOID IParam),將采集到的數據繪制成曲線(xiàn)圖像;
線(xiàn)程4:UINT StoreToExcel(LPVOID IParam),將采集到的數據保存到Excel文件,便于查閱分析歷史數據。
其中,由于PC是被動(dòng)接收監測儀采集的數據,為了保證在接收數據時(shí)沒(méi)有數據丟失,要把RecieveData線(xiàn)程的優(yōu)先級設為最高。
Windows本身采用的是消息驅動(dòng)機制,當一個(gè)線(xiàn)程發(fā)出一條消息時(shí),操作系統首先接收到該消息,然后把該消息轉發(fā)給目標線(xiàn)程。所以可以自定義消息,然后通過(guò)操作系統來(lái)實(shí)現一個(gè)線(xiàn)程向另一個(gè)線(xiàn)程發(fā)送消息。本文引用地址:http://dyxdggzs.com/article/195686.htm
首先SendCMDToDSP線(xiàn)程發(fā)送參數命令給監測儀主板核心器件DSP,DSP收到參數命令后,按參數命令的要求向PC發(fā)送數據,RecieveData線(xiàn)程監聽(tīng)到DSP開(kāi)始發(fā)送采集數據后,開(kāi)始接收數據。由于Recie-veData線(xiàn)程優(yōu)先級別高于SendCMDToDSP線(xiàn)程,所以當接收數據時(shí)發(fā)送命令參數,SendCMDToDSP線(xiàn)程則需要等待RecieveData線(xiàn)程接收完數據才能開(kāi)始發(fā)送命令參數,這樣就不會(huì )造成命令參數的覆蓋。在PC機內存區域開(kāi)辟一塊緩沖區用于接收數據,RecieveData開(kāi)始接收數據,當內存緩沖區滿(mǎn)的時(shí)候,RecieveData線(xiàn)程PostThreadMessage一個(gè)消息給DrawCurve線(xiàn)程,將緩沖區指針和大小作為消息參數傳遞過(guò)去,然后釋放緩沖區,再等待接收數據;DrawCurve線(xiàn)程接收到消息后,分配另一塊內存保存數據,繪完采集數據的曲線(xiàn)圖像后,DrawCurve線(xiàn)程PostThreadMessage一個(gè)消息給StoreToExcel線(xiàn)程,將新的內存指針和大小作為消息參數傳遞過(guò)去,然后把數據緩沖區釋放,再繼續等待消息;StoreToExcel線(xiàn)程獲取消息后,同樣分配另一塊內存保存數據,將采集的數據保存到Excel文件,然后把緩沖區釋放,再繼續等待消息。
2.3 以太網(wǎng)通信模塊設計
PC與DSP的數據通信采用的是以太網(wǎng)通信,上位PC機向DSP發(fā)送設定好的命令參數,DSP則按照接收到的命令參數采集數據,然后向PC機發(fā)送采集到的數據。以太網(wǎng)通信部分采用的是套接口Socket編程,套接口Socket提供了許多函數,利用這些函數,程序員就可以實(shí)現DSP和上位PC機的以太網(wǎng)通信。
評論