高旭彬
(中國煤炭科工集團太原研究院,山西 太原 030006)
煤礦采掘設備往往需要設置大量的傳感器用于檢測設備狀態,例如各電機的狀態參數——電壓、電流、繞組溫度、轉速等;整機的姿態信息——截割頭位置信息、回轉盤旋轉角度等;液壓系統參數——實時壓力值、油位、油溫等。這些信息為電控系統進行保護和控制提供必要的數據支撐,保證設備可靠穩定地運行。
另外,煤礦采掘設備多功能一體化、智能化的發展,使得需要檢測的信息進一步增加。為提高掘進機單機成巷速度和安全生產能力[1-2],有的主機集成了機載錨鉆系統、機載臨時支護系統、機載除塵系統等,相應的電氣、液壓回路數量及狀態檢測內容大大增加。在智能化程度較高的重型掘進機上,斷面監視、姿態調整、記憶截割等功能也已陸續實現[3-4]。這些功能的實現同樣離不開各種底層傳感器的支持,沒有水平姿態、油缸行程等信息,設備便無法“感知”自身位置及動作量,也無法正確進行姿態調整。
基于此我們開發設計了基于通信方式傳感器數據采集系統,以經濟可靠的方式實現對設備狀態的檢測。
基于Modbus通信協議的數據采集系統獨立完成數據采集、處理任務,并以通信方式將各傳感器數據發送給電控設備。系統主要由一臺隔離器和多臺采集器組成。隔離器負責本安供電和通信信號防爆型式的轉換;采集器為本安設備,連接各種傳感器,實時采集各傳感器信息,并將4~20mA、1~5V、1~5kHz、邏輯電平等信號轉換為數據信息,供電控箱控制器讀取。多臺采集器共享RS485通信總線,以地址區分,電控箱和采集器組成基于Modbus通信協議的主從通信網絡。
這種基于通信方式的數據采集方式與傳統的電控箱集中采集方式相比,大大減少了電控箱引入裝置數量及尺寸,降低了電控箱控制器硬件開銷,電控箱接線工作量小且易于維護,優化了電控系統的設計。支持標準的Modbus通信協議也便于控制器軟件集成。

圖1 系統連接
數據采集系統組成設備眾多,若直接與整機同時調試,必然增加調試復雜程度,故障鑒別難度大。因此,在實際應用中往往需要脫離整機在整機安裝前對數據采集系統進行調試、檢驗。由于該系統以通信方式將數據信息送入電控箱。這些數據信息為具有特定含義的二進制代碼組合,可讀性差。為了與實際物理量進行比對,還需要手工計算,費時費力,也跟不上狀態量的變化速度。
為此,開發了基于Modbus協議的數據采集系統上位機仿真軟件。仿真軟件模擬了通信主站的通信功能,并增加了數據轉換和顯示功能。系統連接如圖2所示,數據采集系統通過一個RS485/RS232通信轉換接口與電腦連接。運行該仿真軟件并進行必要的設置后,仿真軟件自動巡檢各采集器數據,由電腦完成通信控制及數據包的解讀工作,并將各狀態量以數值的方式進行實時顯示,如實時壓力值、溫度值、工作電壓、工作電流等等。
借助該仿真軟件,調試人員能夠快速、直觀地獲取數據信息,快捷地完成系統調試和檢驗工作。

圖2 測試連接
軟件使用可視化編程語言編制,主界面如圖3所示。

圖3 軟件主界面
軟件主要參數設定、允許用戶自行設定通信參數、巡檢范圍、巡檢周期,以適應不同控制系統需求。軟件根據從站號順序巡檢,所有通信操作、數據處理均在巡檢過程中完成。軟件工作流程如圖4所示。

圖4 軟件工作流程圖
通信參數設置主要包括通信口和數據格式。軟件啟動后即自動搜索電腦可用的串口,軟件支持串口號范圍為COM1~COM8,默認為COM1。數據格式設置包括:串行口的通信波特率、字節校驗方式、數據位個數、停止位個數,默認值為常用的“9600/8/N/2”。用戶設置完成后,軟件會生成一個固定格式的數組,向通信控件賦值。
調試人員需要根據實際數據采集系統規模設定巡檢范圍和巡檢周期。
在同一數據采集系統中采集器地址是連續排列的,調試人員需要設定最小巡檢地址和最大巡檢地址。設定完成后,仿真軟件即以設定的巡檢周期從最小巡檢地址采集器到最大巡檢地址采集器循環訪問。
巡檢周期為訪問各采集器的通信頻率,允許以10ms為單位在0.1~6s范圍內調整。
仿真軟件接收到的傳感器數據是16進制數,需要通過計算將這些代碼轉換為實際的物理量值。例如,二進制代碼“0110 1010”,對應4~20mA電流信號傳感器的含義為“10.65mA”,對應1~5V電壓信號的含義則變為為“2.663V”。這種解讀、計算工作均由仿真軟件完成。為了節省通信字節數量提高通信效率,采集器將邏輯值(開關量傳感器)和傳感器線路狀態(是否連接傳感器)拼接成一個字節,仿真軟件對狀態字節逐位判斷即可。
顯示內容包含了采集器地址和該采集器4路傳感器的原始值、計算值、邏輯值、線路狀態,調試人員能夠直觀地判斷各設備工作狀態。通過與實測的物理量進行比對,即可驗證系統工作性能和采集精度。
為增加仿真軟件允許的可靠性,需要設置大量的邏輯約束條件,尤其是人機互動部分。例如,設定巡檢范圍時,用戶在允許接受外部輸入的文本框內設定從站地址,當出現非法數據,如負數、小數、大于125的整數等,會有彈窗提示。
開始按鍵即為巡檢啟動按鍵,當仿真軟件完成設置啟動巡檢后,新的設置操作均被屏蔽,不接受任何來自外部的輸入。
另一個復位操作鍵則具有最高優先級,等效為重新裝載窗體。點擊“復位”按鍵即可解除巡檢狀態,并且所有設置內容均返回默認值,所有顯示內容清空,軟件內部的通信數據緩沖區也被清空。
仿真軟件的所有通信操作依靠MSComm通信控件實現。根據采集器通信協議的約定,需要對MSComm控件進行初始化設定,具體操作如下:


仿真軟件根據設定的巡檢周期定時訪問各從站,主站查詢報文由定時中斷啟動發送。定時器中斷程序如下:

MSComm控件處理通信響應采用OnComm事件驅動的方式,該事件具有唯一性,以事件屬性值CommEvent來區分串行通訊過程中發生的各種事件。如緩沖區字節超出閾值、各種握手響應信號發生變化、各種通訊錯誤等等。用戶根據CommEvent值即可判斷是哪種通訊事件觸發了該中斷,并在該事件的處理程序中進行相應的通訊處理。當CommEvent屬性的返回值為2時,表示接收緩沖區中已經收到Rthreshold個字節。


Modbus協議是工業控制領域中應用非常廣泛的開放式通信協議之一,采用主從應答式通信,詳細規定了主、從設備的通信行為。仿真軟件通信流程為:首先向目標從站(采集器)發送查詢報文,用于請求數據;從站正確接收到查詢報文后,向主站發送數據報文,既將傳感器數據發送給主站。
Modbus協議以功能碼的形式定義了設備能夠識別和使用的報文結構。仿真軟件使用了功能碼03H。功能碼03定義為主站讀取從站中的數據,當從站收到這一報文后,就要把主站所要求的寄存器內容發送給主站,具體實現方法可參考相關文獻[5,6]。
仿真軟件通過查表法實現了CRC-16計算,對通信報文進行檢錯。這類檢驗碼檢錯率極高,漏檢率極低,可以檢出所有的單位錯、雙位錯、奇位數錯及小于等于16位的突發錯,大于17位的突發錯檢錯率為99.997%,漏檢率僅為 0.003%[7]。有效避免通信過程中出現的誤碼導致錯誤顯示。
基于Modbus通信協議的數據采集系統仿真軟件為系統調試、檢驗提供了便捷的手段。有效降低了調試工作量,簡化了調試方法。
軟件自身操作簡單,信息全面且直觀,降低了測試難度。生產人員、出廠檢驗人員可以獨立操作,完成測試任務,提高了生產效率。經過一段時間的實際應用,取得了非常好的效果,實現了設計目的。
[1] 王學成,張維果,劉英林.懸臂式掘進機現狀及發展淺析[J].煤礦機械,2010,31(8):1 -3.
[2] 汪勝陸,孟國營,田劼,等.懸臂式掘進機的發展狀況及趨勢[J].煤礦機械,2007,28(6):1 -3.
[3] 王增春,趙占軍,相磊.懸臂式掘進機關鍵技術探討[J].煤炭技術,2011,30(5):247 -249.
[4] 寧仲良,陳家勝.懸臂式掘進機智能化發展方向初探[J].礦山機械,2006,34(6):34 -35.
[5] 高旭彬.基于MSP430單片機的Modbus協議軟件設計方法[J].工礦自動化,2013,39(4):87 -90.
[6] 袁飛,程恩.基與Modbus規約的智能儀表與PC機通信技術實現[J].微計算機信息(測控自動化),2004,20(9):56 -57,89.
[7] Joe Campbell.徐國定,廖衛東,譯.串行通訊C程序員指南[M].北京:清華大學出版社,1990.