劉教敏,徐勝旗 ,沈 奇
(1.江西銅業(yè)集團(tuán)銀山礦業(yè)有限責(zé)任公司,江西 德興 334299;2.深圳市德傳技術(shù)有限公司,廣東 深圳 518063)
尾礦庫(kù)是礦山企業(yè)重大危險(xiǎn)源之一,尾礦庫(kù)安全監(jiān)控一刻也不能放松[1]。通過尾礦庫(kù)安全管理系統(tǒng)對(duì)尾礦庫(kù)浸潤(rùn)線、降雨量、壩體位移、庫(kù)水位等數(shù)據(jù)及時(shí)采集、分析與處理,為風(fēng)險(xiǎn)預(yù)警方案及災(zāi)害應(yīng)對(duì)措施的制定提供依據(jù),有利于提高尾礦庫(kù)安全監(jiān)測(cè)和管理水平,確保尾礦庫(kù)安全運(yùn)行。江銅集團(tuán)銀山礦業(yè)有限責(zé)任公司楓樹嶺尾礦庫(kù)在線監(jiān)測(cè)系統(tǒng)利用最新的物聯(lián)網(wǎng)技術(shù)[2],實(shí)現(xiàn)了數(shù)據(jù)無線采集和自動(dòng)存儲(chǔ)、預(yù)警顯示推送、網(wǎng)絡(luò)分發(fā)、安全評(píng)價(jià)等功能。由于尾礦庫(kù)在線監(jiān)測(cè)系統(tǒng)遠(yuǎn)離選礦廠集控中心,導(dǎo)致系統(tǒng)數(shù)據(jù)穩(wěn)定性差,不能滿足安全生產(chǎn)和應(yīng)急管理的需要,因此尾礦庫(kù)在線監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)集中監(jiān)測(cè)顯得愈發(fā)重要。要實(shí)現(xiàn)數(shù)據(jù)集中監(jiān)測(cè),尾礦庫(kù)在線監(jiān)測(cè)系統(tǒng)的監(jiān)測(cè)數(shù)據(jù)需要與中控DCS系統(tǒng)進(jìn)行數(shù)據(jù)融合共享,實(shí)現(xiàn)選礦廠集控中心全面監(jiān)測(cè)尾礦庫(kù)運(yùn)行狀態(tài)。為此,本文探討了尾礦庫(kù)安全監(jiān)測(cè)系統(tǒng)與中控DCS系統(tǒng)進(jìn)行通信融合、數(shù)據(jù)共享的方法,以實(shí)現(xiàn)數(shù)據(jù)集中監(jiān)控。
江銅集團(tuán)銀山礦業(yè)公司楓樹嶺尾礦庫(kù)在線監(jiān)測(cè)系統(tǒng)當(dāng)前監(jiān)測(cè)設(shè)置表面位移監(jiān)測(cè)點(diǎn)3個(gè)、浸潤(rùn)線監(jiān)測(cè)點(diǎn)12個(gè)、水位監(jiān)測(cè)點(diǎn)1個(gè)、干灘長(zhǎng)度監(jiān)測(cè)點(diǎn)1個(gè)、內(nèi)部位移監(jiān)測(cè)點(diǎn)2個(gè)點(diǎn)(孔)、降雨量監(jiān)測(cè)點(diǎn)1個(gè),共計(jì)20個(gè)在線監(jiān)測(cè)點(diǎn),硬件組態(tài)圖如圖1。其中儀表采集數(shù)據(jù)方式如下:
圖1 硬件組態(tài)圖
①庫(kù)水位、干灘長(zhǎng)度監(jiān)測(cè):使用超聲波液位計(jì)+研華4117模塊采集庫(kù)水位模擬量數(shù)據(jù);雨量監(jiān)測(cè):使用脈沖型翻斗式雨量計(jì)+研華4150模塊采集雨量數(shù)據(jù)。以上兩種方法采集的數(shù)據(jù),通過串口服務(wù)器連接至監(jiān)測(cè)站中心機(jī)房核心交換機(jī)上。
②浸潤(rùn)線、內(nèi)部位移監(jiān)測(cè):使用基康數(shù)采儀采集振弦式滲壓計(jì)頻率信號(hào)和標(biāo)準(zhǔn)毫安信號(hào),通過算法換算成浸潤(rùn)線高度數(shù)據(jù)和內(nèi)部位移數(shù)據(jù),采用BGKMCUOverTCP協(xié)議與監(jiān)測(cè)站通訊。
③表面位移監(jiān)測(cè):采用中海達(dá)GPS全球定位系統(tǒng),將衛(wèi)星定位實(shí)時(shí)數(shù)據(jù)與基準(zhǔn)站數(shù)據(jù)對(duì)比,直接解算至數(shù)據(jù)庫(kù)。
本系統(tǒng)在線監(jiān)測(cè)系統(tǒng)所有監(jiān)測(cè)儀表數(shù)據(jù)采用RS-485串行總線標(biāo)準(zhǔn),服務(wù)器端通過北京礦冶研究總院開發(fā)的BGRIMM BMS-Source一體化數(shù)據(jù)采集軟件統(tǒng)一配置,數(shù)據(jù)庫(kù)為SQL Sever2008。BMSSource軟件采集的數(shù)據(jù)和中間運(yùn)算數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)BGRIMMDB上。表面位移的數(shù)據(jù)由中海達(dá)GPS解算軟件把解算結(jié)果存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)HiMonitorDB表上。兩個(gè)數(shù)據(jù)庫(kù)數(shù)據(jù)通過編寫代碼交叉引用。
江銅集團(tuán)銀山礦業(yè)公司選礦廠中控DCS系統(tǒng)上位機(jī)采用美國(guó)羅克韋爾公司的產(chǎn)品FactoryTalk View Site Edition, FactoryTalk View Site Edition軟件是專為自動(dòng)化過程或機(jī)器監(jiān)視以及管理控制而設(shè)計(jì)的[3],其 內(nèi) 嵌Visual Basic For Application(VBA)為自定義及擴(kuò)展軟件功能提供了完整開發(fā)環(huán)境[4]。VBA提供了基于ActiveX數(shù)據(jù)對(duì)象庫(kù)(ADO)強(qiáng)大的數(shù)據(jù)庫(kù)交互功能,VBA 訪問實(shí)時(shí)數(shù)據(jù)庫(kù)方法簡(jiǎn)單、靈活[5]。
經(jīng)分析,由于兩個(gè)數(shù)據(jù)庫(kù)中所需要數(shù)據(jù)分布在不同表中,為了方便DCS系統(tǒng)ADO訪問數(shù)據(jù)庫(kù),采用PHP語言設(shè)計(jì)腳本程序定時(shí)取數(shù)至同一個(gè)表中。DCS上位機(jī)系統(tǒng)通過編寫程序?qū)h(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)行查詢,并關(guān)聯(lián)交換數(shù)據(jù)至DCS系統(tǒng)的數(shù)據(jù)庫(kù)內(nèi),實(shí)現(xiàn)數(shù)據(jù)融合交換。數(shù)據(jù)流示意圖如圖2所示。
圖2 數(shù)據(jù)流示意圖
由于BMS-Source采集軟件采集的數(shù)據(jù)以不同的格式存放在不同的表中,為了提取需要的數(shù)據(jù),采用PHP語言編寫腳本。
為了準(zhǔn)確記錄提取腳本時(shí)間和便于后期維護(hù),建立提取數(shù)據(jù)日志,代碼如下:
public function index() {
import(′@.ORG.Mlog′);
$log = new Mlog(′./Log/′, ′request_record′); //新建一個(gè)日志記錄集
$log->mwrite(sprintf("%s... ", date(′Y-m-d H:i:s′))); }// 寫入日志,記錄腳本執(zhí)行時(shí)間。
查詢從表tdm_monitor_point中查詢最新數(shù)據(jù)(依次是:庫(kù)水位、干灘高程、浸潤(rùn)線1~21、內(nèi)部位移15~18、降雨量),將數(shù)據(jù)依次存入$d數(shù)組中,寫入 V1 ~ V19主要代碼:
從表tdm_deform_surface中查詢表面位移最新數(shù)據(jù),將表面位移數(shù)據(jù)存入$d數(shù)組中,寫入V20~ V31。
系統(tǒng)定時(shí)執(zhí)行PHP腳本文件,完成了2個(gè)數(shù)據(jù)的查詢工作,等待下一個(gè)事件觸發(fā)。清空表中上一次查詢數(shù)據(jù),定時(shí)提取最新一條數(shù)據(jù)至tdm_monitor_latest_value表中,使其保持最新數(shù)據(jù),表中的數(shù)據(jù)刷新時(shí)間可以自行設(shè)定。代碼如下:
M(′tdm_monitor_latest_value′)->where(′1=1′)->delete(); // 清空表
M(′tdm_monitor_latest_value′)->add($d); // $d中已經(jīng)包含V1~V31個(gè)最新數(shù)據(jù),將數(shù)據(jù)寫入表tdm_monitor_latest_value中。
根據(jù)數(shù)據(jù)定義,V1:庫(kù)水位;V2:干灘高程;V3~V14:1#~21#浸潤(rùn)線;V15~V18:1#~4#內(nèi)部位移;V19:降雨量;V20~V22:1#表面位移X/Y/Z;V23~V25:2#表面位移X/Y/Z;V26~V28:3#表面位移X/Y/Z;V29~V31:4#表面位移X/Y/Z。提取的效果,如圖3所示。
圖3 數(shù)據(jù)提取效果圖
由于楓樹嶺尾礦在線監(jiān)測(cè)系統(tǒng)為實(shí)時(shí)運(yùn)行,不便于在數(shù)據(jù)庫(kù)中直接做實(shí)驗(yàn)。本文以在實(shí)驗(yàn)室服務(wù)器建立一個(gè)本地?cái)?shù)據(jù)庫(kù)BGRIMMDB的方式進(jìn)行仿真實(shí)驗(yàn),建立laster-value數(shù)據(jù)表,并通過SQL數(shù)據(jù)庫(kù)管理軟件強(qiáng)制寫入V1~V6的變量數(shù)據(jù),通過編寫VBA腳本建立數(shù)據(jù)庫(kù)鏈接,實(shí)現(xiàn)數(shù)據(jù)查詢、變量關(guān)聯(lián)交換,實(shí)時(shí)將數(shù)據(jù)庫(kù)數(shù)據(jù)寫入上位機(jī)軟件FactoryTalk View SE中,具體步驟如下:
要在FactoryTalk View SE中獲取數(shù)據(jù)庫(kù)數(shù)據(jù),首先在上位機(jī)建立內(nèi)部標(biāo)簽通過VBA腳本完成數(shù)據(jù)的關(guān)聯(lián)交換,如圖4所示。在VBA中要使用FactoryTalk View SE中的標(biāo)簽,首先建立標(biāo)簽組對(duì)象TagG roup,然后利用標(biāo)簽組對(duì)象的Add方法將具體標(biāo)簽加入標(biāo)簽組對(duì)象,再利用標(biāo)簽組對(duì)象的Itam屬性將所加點(diǎn)賦予一個(gè)標(biāo)簽對(duì)象,利用標(biāo)簽對(duì)象的Vaue屬性進(jìn)行標(biāo)簽值的操作[6]。變量聲明代碼如下:
圖4 建立內(nèi)部標(biāo)簽
通過ADO數(shù)據(jù)訪問,與遠(yuǎn)程數(shù)據(jù)庫(kù)建立鏈接,查詢結(jié)果存儲(chǔ)在Recordset中。設(shè)定對(duì)象OtagG為創(chuàng)建標(biāo)簽組,循環(huán)執(zhí)行查詢數(shù)據(jù)并與OtagG對(duì)象關(guān)聯(lián),使OtagG對(duì)象數(shù)據(jù)處于最新狀態(tài)。關(guān)聯(lián)具體代碼如下:
FactoryTalk View SE客戶端在切換頁(yè)面時(shí),VBA腳本程序自動(dòng)執(zhí)行,上述循環(huán)程序可以完成自動(dòng)刷新數(shù)據(jù)操作。通過FactoryTalk View SE的內(nèi)部數(shù)據(jù)存儲(chǔ)功能,可以實(shí)現(xiàn)趨勢(shì)圖和歷史數(shù)據(jù)分析,實(shí)時(shí)把尾礦庫(kù)在線安全監(jiān)測(cè)系統(tǒng)與FactoryTalk View SE系統(tǒng)完整融合。利用現(xiàn)有的FactoryTalk View Point軟件遠(yuǎn)程發(fā)布到公司局域網(wǎng)進(jìn)行Web實(shí)時(shí)訪問。事例運(yùn)行效果圖如圖5。
圖5 運(yùn)行效果圖
本文以尾礦庫(kù)安全監(jiān)測(cè)系統(tǒng)為例,利用DCS系統(tǒng)上位機(jī)FactoryTalk View SE支持VBA編程的功能,通過系統(tǒng)數(shù)據(jù)結(jié)構(gòu)分析、編寫代碼,實(shí)現(xiàn)了數(shù)據(jù)庫(kù)定時(shí)提取、上位機(jī)數(shù)據(jù)交換融合的效果。實(shí)驗(yàn)結(jié)果表明,通過VBA腳本訪問SQL數(shù)據(jù)庫(kù),與上位機(jī)數(shù)據(jù)標(biāo)簽組建立關(guān)聯(lián),實(shí)時(shí)提取SQL數(shù)據(jù)庫(kù)數(shù)據(jù)至DCS系統(tǒng)的方法切實(shí)可行,為礦山大數(shù)據(jù)平臺(tái)實(shí)現(xiàn)數(shù)據(jù)融合提供一種思路,具有廣闊的應(yīng)用前景。