張 宇,楊 凱
(太原工業(yè)學(xué)院,山西 太原 030008)
WK系列大型礦用挖掘機(jī)是太重集團(tuán)自主研發(fā)的交流變頻露天礦機(jī)械采掘設(shè)備,該類設(shè)備國產(chǎn)化的設(shè)計(jì)大大降低了各大露天礦的設(shè)備采購成本。本著不斷服務(wù)各大礦山的使命,WK系列挖掘機(jī)技術(shù)進(jìn)步的腳步從未停止。當(dāng)前,產(chǎn)品智能化是提升產(chǎn)品品質(zhì)的重要途徑,也是延伸產(chǎn)品利潤的必要手段。遠(yuǎn)程監(jiān)控和大數(shù)據(jù)應(yīng)用是挖掘機(jī)智能化的一個(gè)分支,該技術(shù)的應(yīng)用將進(jìn)一步降低企業(yè)服務(wù)成本,并為企業(yè)開拓出新的服務(wù)模式和利潤增長點(diǎn)[1-3]。
WK系列挖掘機(jī)要實(shí)現(xiàn)設(shè)備遠(yuǎn)程監(jiān)控以及大數(shù)據(jù)的應(yīng)用,數(shù)據(jù)是基礎(chǔ)。但是,客觀問題是已銷售并運(yùn)行的大型礦用挖掘機(jī)設(shè)備中的程序代碼是不完全統(tǒng)一的。
然而,一個(gè)遠(yuǎn)程平臺的開發(fā),基礎(chǔ)問題是統(tǒng)一的數(shù)據(jù)信息,進(jìn)一步說是被采集設(shè)備的程序數(shù)據(jù)具有統(tǒng)一地址、統(tǒng)一含義。沒有數(shù)據(jù)的統(tǒng)一性,就沒有基于數(shù)據(jù)的遠(yuǎn)程監(jiān)控,更無法實(shí)現(xiàn)數(shù)據(jù)的挖掘,無法實(shí)現(xiàn)大數(shù)據(jù)的應(yīng)用[4-6]。
發(fā)展遠(yuǎn)程監(jiān)控是產(chǎn)品智能化發(fā)展的趨勢所需。針對當(dāng)前在運(yùn)行中的該類設(shè)備內(nèi)部程序代碼的不統(tǒng)一問題,設(shè)計(jì)出一種既不影響現(xiàn)有設(shè)備的運(yùn)行,又能實(shí)現(xiàn)對現(xiàn)有設(shè)備的數(shù)據(jù)采集方案,進(jìn)而實(shí)現(xiàn)對現(xiàn)有設(shè)備和今后設(shè)備的共同遠(yuǎn)程監(jiān)控,需要技術(shù)創(chuàng)新。
首先說明代碼不統(tǒng)一的問題。假定A設(shè)備和B設(shè)備中使用的是西門子S7-300系列PLC,其中A設(shè)備中一個(gè)傳感器S的地址是I0.0,但B設(shè)備中同一傳感器S地址是I2.0,見圖1。
其次說明采集數(shù)據(jù)必須統(tǒng)一的問題。比如遠(yuǎn)程監(jiān)控平臺中設(shè)計(jì)一個(gè)名稱為傳感器S的數(shù)據(jù)狀態(tài)監(jiān)控展示區(qū)域,如果關(guān)聯(lián)地址是I0.0,很明顯B設(shè)備傳回來的數(shù)據(jù)不匹配;如果關(guān)聯(lián)地址是I2.0,很明顯A設(shè)備傳回來的數(shù)據(jù)不匹配。為保證設(shè)備遠(yuǎn)程監(jiān)控的實(shí)施,必須保證從被監(jiān)控設(shè)備中采集傳輸?shù)某绦驍?shù)據(jù)相同。
在不影響現(xiàn)有設(shè)備的穩(wěn)定運(yùn)行的情況下,即現(xiàn)有設(shè)備程序的組態(tài)地址不能更改,程序的主體架構(gòu)和I/0點(diǎn)、模擬量的地址不能變動。即A設(shè)備中傳感器S地址I0.0和B設(shè)備中同一傳感器S地址I2.0是不能改變的。因此,首先確定遠(yuǎn)程數(shù)據(jù)采集地址不能直接使用設(shè)備程序中原有的I/0點(diǎn)、模擬量的組態(tài)地址。
經(jīng)過反復(fù)試驗(yàn)對比,借鑒數(shù)學(xué)中的映射概念,提出來映射程序代碼來解決遠(yuǎn)程采集數(shù)據(jù)的一致性問題。代碼映射基于數(shù)學(xué)概念中的映射思想,即兩個(gè)元素集相互“對應(yīng)”的關(guān)系。設(shè)X和Y兩個(gè)非空集合,如果存在一個(gè)法則f,使得對X的每個(gè)元素x,按法則f,在Y有唯一確定的元素y對應(yīng),則稱f為從X到Y(jié)的映射,記作f:X→Y。映射成立條件簡單表述就是下面兩條,定義域的遍歷性:X中的每個(gè)元素x在映射的值域中都有對應(yīng)對象。對應(yīng)的唯一性:定義域中的一個(gè)元素只能與映射域中的一個(gè)元素對應(yīng)[7]。
基于映射概念,設(shè)計(jì)程序代碼的映射方案。在挖掘機(jī)設(shè)備PLC程序中新建一個(gè)DB數(shù)據(jù)塊,如DB1000,在該數(shù)據(jù)塊中做數(shù)據(jù)全局規(guī)劃。首先統(tǒng)一規(guī)劃數(shù)據(jù)結(jié)構(gòu),統(tǒng)計(jì)出設(shè)備所涉及的所有傳感器數(shù)據(jù)和運(yùn)行數(shù)據(jù),保證映射數(shù)據(jù)的全面性。第二步,根據(jù)設(shè)備的發(fā)展方向,預(yù)留部分?jǐn)?shù)據(jù)區(qū)域,供部分新功能開發(fā)設(shè)計(jì)時(shí)使用,最大限度避免今后數(shù)據(jù)的重疊占用和沖突問題。全面的數(shù)據(jù)規(guī)劃是核心,是整個(gè)數(shù)據(jù)映射的基礎(chǔ),是今后遠(yuǎn)程監(jiān)控平臺展示數(shù)據(jù)的基礎(chǔ)性工作[8]。具體方案就是將原有程序數(shù)據(jù)看作映射概念中的數(shù)據(jù)集X,將新規(guī)劃的數(shù)據(jù)塊DB1000看作映射數(shù)據(jù)集Y,也稱為目標(biāo)數(shù)據(jù)集,映射法則f就是數(shù)據(jù)規(guī)劃定義文件;遠(yuǎn)程監(jiān)控采集數(shù)據(jù)從目標(biāo)數(shù)據(jù)集DB1000中提取并采集傳輸。
A設(shè)備中傳感器S地址是I0.0,可在A設(shè)備中建立FC1000將I0.0對應(yīng)DB1000.DBX1840.0。雖然B設(shè)備中同一傳感器S地址是I2.0,但依然在B設(shè)備中建立FC1000將I2.0對應(yīng)DB1000.DBX1840.0。通過這種映射就將前面兩個(gè)問題全面解決了,見圖2。
映射法則f在設(shè)備中的實(shí)現(xiàn),考慮的是原有程序數(shù)據(jù)所代表的意義和唯一的目標(biāo)數(shù)據(jù)集的對應(yīng)關(guān)系。在每一臺被監(jiān)控設(shè)備的PLC中新建一個(gè)FC塊,如FC1000,在該功能塊中實(shí)現(xiàn)數(shù)據(jù)映射對應(yīng)關(guān)系。將輸入信號(I)點(diǎn)映射到對應(yīng)到唯一DB數(shù)據(jù)點(diǎn),將輸出信號(Q)點(diǎn)映射到唯一DB數(shù)據(jù)點(diǎn),將模擬量數(shù)據(jù)(A)映射到對應(yīng)到唯一DB數(shù)據(jù)字或雙字等。由于數(shù)據(jù)DB1000規(guī)劃的全面性,并且同類產(chǎn)品中數(shù)據(jù)的含義也是唯一的,因此經(jīng)過映射后,任何一臺被監(jiān)控設(shè)備中的DB1000中數(shù)據(jù)都是統(tǒng)一的。該設(shè)備中需要遠(yuǎn)程監(jiān)控的數(shù)據(jù)都可以通過唯一數(shù)據(jù)DB1000進(jìn)行采集傳輸,實(shí)現(xiàn)了數(shù)據(jù)的標(biāo)準(zhǔn)化采集傳輸,解決了遠(yuǎn)程監(jiān)控的基礎(chǔ)性問題,見圖3。同時(shí),設(shè)備中原來的I/O點(diǎn)、模擬量的組態(tài)地址保持不變,保證了原先設(shè)備的穩(wěn)定運(yùn)行[8-10]。
在監(jiān)控云平臺上使用DB1000所規(guī)劃的數(shù)據(jù)進(jìn)行數(shù)據(jù)存儲,進(jìn)而進(jìn)行遠(yuǎn)程數(shù)據(jù)展現(xiàn),實(shí)現(xiàn)數(shù)據(jù)的歸納、總結(jié)和分析,基于此實(shí)現(xiàn)對數(shù)據(jù)趨勢判斷,從而最終實(shí)現(xiàn)數(shù)據(jù)價(jià)值的挖掘,真正做到大數(shù)據(jù)的應(yīng)用。
依據(jù)程序代碼映射方案,分別實(shí)現(xiàn)原有設(shè)備和新設(shè)備的遠(yuǎn)程監(jiān)控?cái)?shù)據(jù)傳輸。
針對某礦山原有設(shè)備A,不改動硬件組態(tài),不改變原有程序框架和已有程序塊,只新增FC1000數(shù)據(jù)塊相關(guān)內(nèi)容。由于原程序中I、Q、A地址不變,故基于映射方案直接在FC1000程序塊中將監(jiān)控?cái)?shù)據(jù)映射到DB1000,即可得到標(biāo)準(zhǔn)化的監(jiān)控?cái)?shù)據(jù),進(jìn)而傳輸?shù)奖O(jiān)控平臺數(shù)據(jù)庫。比如:原有設(shè)備A其傳感器S信號I0.0映射數(shù)據(jù)為DB1000.DBX1840.0,內(nèi)部繼電器F輸出信號Q0.0映射數(shù)據(jù)為DB1000.DBX2251.0,電機(jī)(M1)的電流模擬量信號DB1.DBW34映射數(shù)據(jù)為DB1000.DBW0,則原有設(shè)備A基于程序代碼映射的監(jiān)控方案如圖4所示。
針對某礦山新投入設(shè)備B,則根據(jù)映射方案的規(guī)劃,在程序編寫中直接使用DB1000.DBX1840.0表示傳感器S的輸入信號,DB1000.DBX2251.0表示繼電器F的輸出信號,DB1000.DBW0表示電機(jī)(M1)的電流模擬量信號。在FC1000將監(jiān)控?cái)?shù)據(jù)DB1000與設(shè)備組態(tài)地址關(guān)聯(lián),實(shí)現(xiàn)了基于映射方案的監(jiān)控?cái)?shù)據(jù)信息實(shí)時(shí)關(guān)聯(lián)。另外,由于PLC中直接使用DB1000映射數(shù)據(jù)編寫程序,其FC1000程序塊與舊設(shè)備FC1000程序塊中數(shù)據(jù)前后邏輯略有區(qū)別,此處為DB1000的數(shù)據(jù)輸出到組態(tài)地址,進(jìn)行設(shè)備的正??刂疲虼嗽谡{(diào)試中可以十分方便的進(jìn)行地址的修改。比如:新設(shè)備B中傳感器S數(shù)據(jù)DB1000.DBX1840.0對應(yīng)的組態(tài)地址為I0.0,即使另一臺新設(shè)備C模塊數(shù)量不同,導(dǎo)致的傳感器S數(shù)據(jù)地址不同,但是由于內(nèi)部程序都是DB1000.DBX1840.0,故系列設(shè)備的主程序是不需要調(diào)整的。類似于C語言中的全局變量的作用,見圖5。
程序代碼映射是一種針對WK系列大型礦用挖掘機(jī)程序代碼不完全統(tǒng)一問題的新設(shè)計(jì)理念,是基于數(shù)學(xué)映射理論的一種方案創(chuàng)新。該方案既可保證原有設(shè)備的正常運(yùn)行,又為實(shí)現(xiàn)對現(xiàn)有設(shè)備的數(shù)據(jù)采集進(jìn)行了統(tǒng)一的、全局的規(guī)劃,兼容性地實(shí)現(xiàn)現(xiàn)有設(shè)備和今后設(shè)備的共同遠(yuǎn)程監(jiān)控,為產(chǎn)品的遠(yuǎn)程監(jiān)控智能化發(fā)展做出了技術(shù)和理論貢獻(xiàn)。該創(chuàng)新方案不僅對同類機(jī)械設(shè)備的遠(yuǎn)程數(shù)據(jù)采集、遠(yuǎn)程監(jiān)控具有一定的參考價(jià)值,另外該方案也體現(xiàn)了交叉學(xué)科的借鑒價(jià)值。