高旭彬
(中國煤炭科工集團(tuán)太原研究院,山西 太原 030006)
煤礦采掘設(shè)備往往需要設(shè)置大量的傳感器用于檢測(cè)設(shè)備狀態(tài),例如各電機(jī)的狀態(tài)參數(shù)——電壓、電流、繞組溫度、轉(zhuǎn)速等;整機(jī)的姿態(tài)信息——截割頭位置信息、回轉(zhuǎn)盤旋轉(zhuǎn)角度等;液壓系統(tǒng)參數(shù)——實(shí)時(shí)壓力值、油位、油溫等。這些信息為電控系統(tǒng)進(jìn)行保護(hù)和控制提供必要的數(shù)據(jù)支撐,保證設(shè)備可靠穩(wěn)定地運(yùn)行。
另外,煤礦采掘設(shè)備多功能一體化、智能化的發(fā)展,使得需要檢測(cè)的信息進(jìn)一步增加。為提高掘進(jìn)機(jī)單機(jī)成巷速度和安全生產(chǎn)能力[1-2],有的主機(jī)集成了機(jī)載錨鉆系統(tǒng)、機(jī)載臨時(shí)支護(hù)系統(tǒng)、機(jī)載除塵系統(tǒng)等,相應(yīng)的電氣、液壓回路數(shù)量及狀態(tài)檢測(cè)內(nèi)容大大增加。在智能化程度較高的重型掘進(jìn)機(jī)上,斷面監(jiān)視、姿態(tài)調(diào)整、記憶截割等功能也已陸續(xù)實(shí)現(xiàn)[3-4]。這些功能的實(shí)現(xiàn)同樣離不開各種底層傳感器的支持,沒有水平姿態(tài)、油缸行程等信息,設(shè)備便無法“感知”自身位置及動(dòng)作量,也無法正確進(jìn)行姿態(tài)調(diào)整。
基于此我們開發(fā)設(shè)計(jì)了基于通信方式傳感器數(shù)據(jù)采集系統(tǒng),以經(jīng)濟(jì)可靠的方式實(shí)現(xiàn)對(duì)設(shè)備狀態(tài)的檢測(cè)。
基于Modbus通信協(xié)議的數(shù)據(jù)采集系統(tǒng)獨(dú)立完成數(shù)據(jù)采集、處理任務(wù),并以通信方式將各傳感器數(shù)據(jù)發(fā)送給電控設(shè)備。系統(tǒng)主要由一臺(tái)隔離器和多臺(tái)采集器組成。隔離器負(fù)責(zé)本安供電和通信信號(hào)防爆型式的轉(zhuǎn)換;采集器為本安設(shè)備,連接各種傳感器,實(shí)時(shí)采集各傳感器信息,并將4~20mA、1~5V、1~5kHz、邏輯電平等信號(hào)轉(zhuǎn)換為數(shù)據(jù)信息,供電控箱控制器讀取。多臺(tái)采集器共享RS485通信總線,以地址區(qū)分,電控箱和采集器組成基于Modbus通信協(xié)議的主從通信網(wǎng)絡(luò)。
這種基于通信方式的數(shù)據(jù)采集方式與傳統(tǒng)的電控箱集中采集方式相比,大大減少了電控箱引入裝置數(shù)量及尺寸,降低了電控箱控制器硬件開銷,電控箱接線工作量小且易于維護(hù),優(yōu)化了電控系統(tǒng)的設(shè)計(jì)。支持標(biāo)準(zhǔn)的Modbus通信協(xié)議也便于控制器軟件集成。
圖1 系統(tǒng)連接
數(shù)據(jù)采集系統(tǒng)組成設(shè)備眾多,若直接與整機(jī)同時(shí)調(diào)試,必然增加調(diào)試復(fù)雜程度,故障鑒別難度大。因此,在實(shí)際應(yīng)用中往往需要脫離整機(jī)在整機(jī)安裝前對(duì)數(shù)據(jù)采集系統(tǒng)進(jìn)行調(diào)試、檢驗(yàn)。由于該系統(tǒng)以通信方式將數(shù)據(jù)信息送入電控箱。這些數(shù)據(jù)信息為具有特定含義的二進(jìn)制代碼組合,可讀性差。為了與實(shí)際物理量進(jìn)行比對(duì),還需要手工計(jì)算,費(fèi)時(shí)費(fèi)力,也跟不上狀態(tài)量的變化速度。
為此,開發(fā)了基于Modbus協(xié)議的數(shù)據(jù)采集系統(tǒng)上位機(jī)仿真軟件。仿真軟件模擬了通信主站的通信功能,并增加了數(shù)據(jù)轉(zhuǎn)換和顯示功能。系統(tǒng)連接如圖2所示,數(shù)據(jù)采集系統(tǒng)通過一個(gè)RS485/RS232通信轉(zhuǎn)換接口與電腦連接。運(yùn)行該仿真軟件并進(jìn)行必要的設(shè)置后,仿真軟件自動(dòng)巡檢各采集器數(shù)據(jù),由電腦完成通信控制及數(shù)據(jù)包的解讀工作,并將各狀態(tài)量以數(shù)值的方式進(jìn)行實(shí)時(shí)顯示,如實(shí)時(shí)壓力值、溫度值、工作電壓、工作電流等等。
借助該仿真軟件,調(diào)試人員能夠快速、直觀地獲取數(shù)據(jù)信息,快捷地完成系統(tǒng)調(diào)試和檢驗(yàn)工作。
圖2 測(cè)試連接
軟件使用可視化編程語言編制,主界面如圖3所示。
圖3 軟件主界面
軟件主要參數(shù)設(shè)定、允許用戶自行設(shè)定通信參數(shù)、巡檢范圍、巡檢周期,以適應(yīng)不同控制系統(tǒng)需求。軟件根據(jù)從站號(hào)順序巡檢,所有通信操作、數(shù)據(jù)處理均在巡檢過程中完成。軟件工作流程如圖4所示。
圖4 軟件工作流程圖
通信參數(shù)設(shè)置主要包括通信口和數(shù)據(jù)格式。軟件啟動(dòng)后即自動(dòng)搜索電腦可用的串口,軟件支持串口號(hào)范圍為COM1~COM8,默認(rèn)為COM1。數(shù)據(jù)格式設(shè)置包括:串行口的通信波特率、字節(jié)校驗(yàn)方式、數(shù)據(jù)位個(gè)數(shù)、停止位個(gè)數(shù),默認(rèn)值為常用的“9600/8/N/2”。用戶設(shè)置完成后,軟件會(huì)生成一個(gè)固定格式的數(shù)組,向通信控件賦值。
調(diào)試人員需要根據(jù)實(shí)際數(shù)據(jù)采集系統(tǒng)規(guī)模設(shè)定巡檢范圍和巡檢周期。
在同一數(shù)據(jù)采集系統(tǒng)中采集器地址是連續(xù)排列的,調(diào)試人員需要設(shè)定最小巡檢地址和最大巡檢地址。設(shè)定完成后,仿真軟件即以設(shè)定的巡檢周期從最小巡檢地址采集器到最大巡檢地址采集器循環(huán)訪問。
巡檢周期為訪問各采集器的通信頻率,允許以10ms為單位在0.1~6s范圍內(nèi)調(diào)整。
仿真軟件接收到的傳感器數(shù)據(jù)是16進(jìn)制數(shù),需要通過計(jì)算將這些代碼轉(zhuǎn)換為實(shí)際的物理量值。例如,二進(jìn)制代碼“0110 1010”,對(duì)應(yīng)4~20mA電流信號(hào)傳感器的含義為“10.65mA”,對(duì)應(yīng)1~5V電壓信號(hào)的含義則變?yōu)闉椤?.663V”。這種解讀、計(jì)算工作均由仿真軟件完成。為了節(jié)省通信字節(jié)數(shù)量提高通信效率,采集器將邏輯值(開關(guān)量傳感器)和傳感器線路狀態(tài)(是否連接傳感器)拼接成一個(gè)字節(jié),仿真軟件對(duì)狀態(tài)字節(jié)逐位判斷即可。
顯示內(nèi)容包含了采集器地址和該采集器4路傳感器的原始值、計(jì)算值、邏輯值、線路狀態(tài),調(diào)試人員能夠直觀地判斷各設(shè)備工作狀態(tài)。通過與實(shí)測(cè)的物理量進(jìn)行比對(duì),即可驗(yàn)證系統(tǒng)工作性能和采集精度。
為增加仿真軟件允許的可靠性,需要設(shè)置大量的邏輯約束條件,尤其是人機(jī)互動(dòng)部分。例如,設(shè)定巡檢范圍時(shí),用戶在允許接受外部輸入的文本框內(nèi)設(shè)定從站地址,當(dāng)出現(xiàn)非法數(shù)據(jù),如負(fù)數(shù)、小數(shù)、大于125的整數(shù)等,會(huì)有彈窗提示。
開始按鍵即為巡檢啟動(dòng)按鍵,當(dāng)仿真軟件完成設(shè)置啟動(dòng)巡檢后,新的設(shè)置操作均被屏蔽,不接受任何來自外部的輸入。
另一個(gè)復(fù)位操作鍵則具有最高優(yōu)先級(jí),等效為重新裝載窗體。點(diǎn)擊“復(fù)位”按鍵即可解除巡檢狀態(tài),并且所有設(shè)置內(nèi)容均返回默認(rèn)值,所有顯示內(nèi)容清空,軟件內(nèi)部的通信數(shù)據(jù)緩沖區(qū)也被清空。
仿真軟件的所有通信操作依靠MSComm通信控件實(shí)現(xiàn)。根據(jù)采集器通信協(xié)議的約定,需要對(duì)MSComm控件進(jìn)行初始化設(shè)定,具體操作如下:
仿真軟件根據(jù)設(shè)定的巡檢周期定時(shí)訪問各從站,主站查詢報(bào)文由定時(shí)中斷啟動(dòng)發(fā)送。定時(shí)器中斷程序如下:
MSComm控件處理通信響應(yīng)采用OnComm事件驅(qū)動(dòng)的方式,該事件具有唯一性,以事件屬性值CommEvent來區(qū)分串行通訊過程中發(fā)生的各種事件。如緩沖區(qū)字節(jié)超出閾值、各種握手響應(yīng)信號(hào)發(fā)生變化、各種通訊錯(cuò)誤等等。用戶根據(jù)CommEvent值即可判斷是哪種通訊事件觸發(fā)了該中斷,并在該事件的處理程序中進(jìn)行相應(yīng)的通訊處理。當(dāng)CommEvent屬性的返回值為2時(shí),表示接收緩沖區(qū)中已經(jīng)收到Rthreshold個(gè)字節(jié)。
Modbus協(xié)議是工業(yè)控制領(lǐng)域中應(yīng)用非常廣泛的開放式通信協(xié)議之一,采用主從應(yīng)答式通信,詳細(xì)規(guī)定了主、從設(shè)備的通信行為。仿真軟件通信流程為:首先向目標(biāo)從站(采集器)發(fā)送查詢報(bào)文,用于請(qǐng)求數(shù)據(jù);從站正確接收到查詢報(bào)文后,向主站發(fā)送數(shù)據(jù)報(bào)文,既將傳感器數(shù)據(jù)發(fā)送給主站。
Modbus協(xié)議以功能碼的形式定義了設(shè)備能夠識(shí)別和使用的報(bào)文結(jié)構(gòu)。仿真軟件使用了功能碼03H。功能碼03定義為主站讀取從站中的數(shù)據(jù),當(dāng)從站收到這一報(bào)文后,就要把主站所要求的寄存器內(nèi)容發(fā)送給主站,具體實(shí)現(xiàn)方法可參考相關(guān)文獻(xiàn)[5,6]。
仿真軟件通過查表法實(shí)現(xiàn)了CRC-16計(jì)算,對(duì)通信報(bào)文進(jìn)行檢錯(cuò)。這類檢驗(yàn)碼檢錯(cuò)率極高,漏檢率極低,可以檢出所有的單位錯(cuò)、雙位錯(cuò)、奇位數(shù)錯(cuò)及小于等于16位的突發(fā)錯(cuò),大于17位的突發(fā)錯(cuò)檢錯(cuò)率為99.997%,漏檢率僅為 0.003%[7]。有效避免通信過程中出現(xiàn)的誤碼導(dǎo)致錯(cuò)誤顯示。
基于Modbus通信協(xié)議的數(shù)據(jù)采集系統(tǒng)仿真軟件為系統(tǒng)調(diào)試、檢驗(yàn)提供了便捷的手段。有效降低了調(diào)試工作量,簡化了調(diào)試方法。
軟件自身操作簡單,信息全面且直觀,降低了測(cè)試難度。生產(chǎn)人員、出廠檢驗(yàn)人員可以獨(dú)立操作,完成測(cè)試任務(wù),提高了生產(chǎn)效率。經(jīng)過一段時(shí)間的實(shí)際應(yīng)用,取得了非常好的效果,實(shí)現(xiàn)了設(shè)計(jì)目的。
[1] 王學(xué)成,張維果,劉英林.懸臂式掘進(jìn)機(jī)現(xiàn)狀及發(fā)展淺析[J].煤礦機(jī)械,2010,31(8):1 -3.
[2] 汪勝陸,孟國營,田劼,等.懸臂式掘進(jìn)機(jī)的發(fā)展?fàn)顩r及趨勢(shì)[J].煤礦機(jī)械,2007,28(6):1 -3.
[3] 王增春,趙占軍,相磊.懸臂式掘進(jìn)機(jī)關(guān)鍵技術(shù)探討[J].煤炭技術(shù),2011,30(5):247 -249.
[4] 寧仲良,陳家勝.懸臂式掘進(jìn)機(jī)智能化發(fā)展方向初探[J].礦山機(jī)械,2006,34(6):34 -35.
[5] 高旭彬.基于MSP430單片機(jī)的Modbus協(xié)議軟件設(shè)計(jì)方法[J].工礦自動(dòng)化,2013,39(4):87 -90.
[6] 袁飛,程恩.基與Modbus規(guī)約的智能儀表與PC機(jī)通信技術(shù)實(shí)現(xiàn)[J].微計(jì)算機(jī)信息(測(cè)控自動(dòng)化),2004,20(9):56 -57,89.
[7] Joe Campbell.徐國定,廖衛(wèi)東,譯.串行通訊C程序員指南[M].北京:清華大學(xué)出版社,1990.