王華強(qiáng) 高孝濤
(合肥工業(yè)大學(xué)電氣與自動化工程學(xué)院,合肥 230009)
現(xiàn)代企業(yè)生產(chǎn)已趨向廣域化和分布式,隨著互聯(lián)網(wǎng)的進(jìn)一步普及和使用,Internet將是實現(xiàn)分布式生產(chǎn)的基礎(chǔ)[1]。基于國內(nèi)目前的網(wǎng)絡(luò)基礎(chǔ)設(shè)施和工業(yè)應(yīng)用程度,越來越多的生產(chǎn)企業(yè)都將Web技術(shù)應(yīng)用到網(wǎng)絡(luò)監(jiān)控中以提高生產(chǎn)管理效率。
筆者以安利公司的聚氨酯樹脂生產(chǎn)過程為背景,將其核心數(shù)據(jù)(報表信息和趨勢曲線)發(fā)布到Web,實現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控,使生產(chǎn)過程更加透明可控。
安利公司的聚氨酯生產(chǎn)是在反應(yīng)釜中進(jìn)行的,一個系統(tǒng)包含了5個反應(yīng)釜,有16種原料在反應(yīng)釜中按照不同的比例配置,攪拌生產(chǎn)得到所需產(chǎn)品,反應(yīng)釜生產(chǎn)控制系統(tǒng)結(jié)構(gòu)如圖1所示。原料閥的開關(guān)由控制室工作人員通過控制裝有組態(tài)王軟件的工控機(jī)(IPC),配合一臺S7-300PLC完成[2]。
圖1 反應(yīng)釜生產(chǎn)控制系統(tǒng)結(jié)構(gòu)
建立Web系統(tǒng)的目的是對反應(yīng)釜中的溫度、電機(jī)電流及物料的下料重量等信號的趨勢曲線和報表信息進(jìn)行監(jiān)控。筆者選擇組態(tài)王軟件進(jìn)行二次開發(fā),設(shè)計趨勢曲線和報表,并實現(xiàn)發(fā)布,工程技術(shù)人員可以通過訪問Internet網(wǎng)了解實時生產(chǎn)狀況,掌握機(jī)器的運轉(zhuǎn)狀況(圖2)。當(dāng)生產(chǎn)出現(xiàn)故障時,工程技術(shù)人員也可以通過Internet反饋的數(shù)據(jù),初步排查故障原因,為快速進(jìn)行搶修贏取寶貴時間。
圖2 遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)
組態(tài)王提供了3種形式的歷史趨勢曲線解決方案。其中歷史趨勢曲線控件是以Active X控件形式提供的,是繪制歷史曲線和開放數(shù)據(jù)庫互連(ODBC)數(shù)據(jù)庫曲線的功能性控件[3]。由于其功能強(qiáng)大,可以在系統(tǒng)運行時動態(tài)添加、刪除或隱藏曲線,實現(xiàn)組態(tài)王歷史數(shù)據(jù)的繪制與打印,還可以實現(xiàn)ODBC數(shù)據(jù)庫中數(shù)據(jù)記錄的曲線繪制,是組態(tài)王Web發(fā)布所支持的控件。為此選擇通過添加歷史趨勢曲線控件來實現(xiàn)組態(tài)王趨勢曲線的設(shè)計,控件命名為HT。
歷史趨勢曲線設(shè)計過程中遇到的難點:保證曲線畫面隨信號的進(jìn)入而更新;通過控件屬性設(shè)置時間軸長度為3h,當(dāng)放大或縮小所選區(qū)域時,曲線時間軸長度會相應(yīng)縮短或變長,要想恢復(fù)3h長度需一步步放縮回來,使用較麻煩;由于信號隨著每次采集而實時刷新,在未找到所需時段的歷史曲線時,畫面就已被新的曲線畫面覆蓋,以至于很難找到真正所需的歷史曲線。針對這些難點,筆者的設(shè)計步驟如下:
a. 在數(shù)據(jù)詞典中,將所需記錄變量(電機(jī)電流信號和溫度信號)的記錄與安全區(qū)的記錄模式設(shè)定為“每次采集記錄”,將變量添加到歷史趨勢曲線控件的歷史數(shù)據(jù)庫。這樣設(shè)置之后就實現(xiàn)了組態(tài)王對信號的采集。
b. 在畫面屬性的命令語言中添加程序,用來實現(xiàn)曲線有條件的實時更新。
c. 添加曲線暫停與曲線開始的按鈕。按下曲線暫停按鈕則關(guān)閉曲線實時更新的條件,按下曲線開始按鈕時又能快速恢復(fù)3h時間軸長和數(shù)據(jù)的實時刷新。
其中步驟b中在畫面屬性的命令語言中添加的程序如下:
if(cursuspend==0)
{HT.HTUpdateToCurrentTime();}
步驟c中,曲線開始的程序段如下:
cursuspend=0;(cursuspend為數(shù)據(jù)詞典中定義的內(nèi)部變量)
long t=0;
t=HTConvertTime(\本站點S|年,\本站點S|月,\本站點S|日,\本站點S|時,\本站點S|分,本站點S|秒);
t=t-10800;
HT.SetTimeParam(t,0,3,2);
曲線暫停的語句如下:
Cursuspend=1;
報表的設(shè)計即數(shù)據(jù)的歸檔設(shè)計,包括兩大塊:一是建立報表窗口,主要針對當(dāng)天的生產(chǎn)數(shù)據(jù)進(jìn)行歸檔;二是建立數(shù)據(jù)庫,存儲大量歸檔信息,針對歷史歸檔信息的查詢,可通過條件查找,方便找到所需信息。
創(chuàng)建報表窗口命名為Report0。當(dāng)組態(tài)王接收到物料關(guān)閥信號時(物料下料結(jié)束),即對數(shù)據(jù)進(jìn)行順序歸檔寫入到報表窗口的表格中。腳本程序如下:
ReportSetCellString("Report0",row,1,\本站點S|日期);
ReportSetCellString("Report0",row,2,\本站點S|時間);
ReportSetCellString("Report0",row,3,物料歸檔名稱);
ReportSetCellValue("Report0",row,4,本次重量);
ReportSetCellValue("Report0",row,5,反應(yīng)釜溫度);
利用Microsoft Office Access新建一個Access文件[4],將此Access文件設(shè)置為組態(tài)王工程的數(shù)據(jù)源,命名為PU4。建立表格模板(PU4MB)和記錄體(JL1),即建立時間、日期、物料、本次重量和反應(yīng)釜溫度這5個記錄及其對應(yīng)的變量。
程序啟動時,給數(shù)據(jù)庫產(chǎn)生鏈接號,再以表格模板(PU4MB)的格式在Access數(shù)據(jù)庫中建立名為KingTable的表格。程序啟動時的腳本程序為:
SQLConnect(DeviceID,"dsn=PU4;uid=;pwd=");
SQLCreateTable(DeviceID,"KingTable","PU4MB");
其中DeviceID為數(shù)據(jù)庫產(chǎn)生的鏈接號。
關(guān)閥信號到來時,再以記錄體(JL1)的格式寫入到KingTable數(shù)據(jù)庫中,語句如下:
SQLInsert(DeviceID,"KingTable","JL1");
數(shù)據(jù)庫的查詢方法是通過添加KVADODBGrid Class控件顯示查詢數(shù)據(jù),命名為Retable。添加Microsoft Date and Time Picker Control 6.0控件查詢指定日期的數(shù)據(jù)信息,命名為RetableSelect。查詢按鈕腳本程序如下:
Retable.RemoveAllData();
long a;
long b;
string str1;
string str2;
x=RetableSelect.Month;
y=RetableSelect.Day;
if(x<10)
str1="-0"+StrFromInt(x,10);
else
str1="-"+StrFromInt(x,10);
if(y<10)
str2="-0"+StrFromInt(y,10);
else
str2="-"+StrFromInt(y,10);
\本站點條件句=StrFromInt(RetableSelect.Year,10)+str1+str2;
Retable.Where="日期={d’"+條件句+"’}";
Retable.FetchData();
Retable.FetchEnd();
組態(tài)王的Web發(fā)布系統(tǒng)基于Active X技術(shù),可以在網(wǎng)頁客戶端繪制出逼真的監(jiān)控畫面。Web發(fā)布的組成包括:數(shù)據(jù)服務(wù)端、Web服務(wù)器和IE瀏覽客戶端。通常情況下這3部分各在一臺計算機(jī)中,筆者僅使用一臺計算機(jī)同時作為組態(tài)王數(shù)據(jù)服務(wù)器與Web服務(wù)器。
在數(shù)據(jù)服務(wù)器的工程網(wǎng)絡(luò)配置中,將本機(jī)設(shè)為聯(lián)網(wǎng)模式,在節(jié)點類型配置為客戶端所需要的所有服務(wù)器。在Web服務(wù)器的工程網(wǎng)絡(luò)配置中建立數(shù)據(jù)服務(wù)器的遠(yuǎn)程站點,完成客戶配置。這樣就建立了數(shù)據(jù)服務(wù)端與Web服務(wù)器的鏈接,Web服務(wù)端就能共享數(shù)據(jù)服務(wù)端的信號了。
將需要發(fā)布的曲線畫面(圖3)和報表畫面(圖4)在Web發(fā)布組配置中選定為發(fā)布畫面。
圖3 企業(yè)局域網(wǎng)中IE客戶端參數(shù)曲線
圖4 企業(yè)局域網(wǎng)中IE客戶端報表界面
組態(tài)王作為Web發(fā)布服務(wù)器,需申請一個固定IP,將此IP地址后綴KingViewWeb寫入Web發(fā)布工具的URL。Web發(fā)布工具將工程發(fā)布后,IE客戶端與Web服務(wù)器將保持高效的數(shù)據(jù)同步。此時在IE瀏覽器上輸入URL進(jìn)入IE瀏覽客戶端,登錄工程即能實現(xiàn)對工程的遠(yuǎn)程監(jiān)控[5]。
基于組態(tài)王的Web信息發(fā)布系統(tǒng)以組態(tài)王軟件作為設(shè)計和控制核心,在保障系統(tǒng)安全、穩(wěn)定、可靠運行的基礎(chǔ)上,實現(xiàn)了對生產(chǎn)的遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控,且提升了系統(tǒng)的自動化水平。該系統(tǒng)擴(kuò)展性強(qiáng),易于升級擴(kuò)充和維護(hù),同時分工明確,避免了操作人員與工程技術(shù)人員的重復(fù)操作。
[1] 曹輝,王暄.組態(tài)軟件技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,2012:1~9.
[2] 王華強(qiáng),張彪.軟啟動器在聚氨酯樹脂反應(yīng)釜控制系統(tǒng)的研究與應(yīng)用[J].化工自動化及儀表,2014,41(11):1250~1253.
[3] 王善斌.組態(tài)軟件應(yīng)用指南:組態(tài)王KingVIEW和西門子WinCC[M].北京:化學(xué)工業(yè)出版社,2011:95~118.
[4] 馬立閣.基于組態(tài)王的Excel工業(yè)報表系統(tǒng)[J].工業(yè)控制計算機(jī),2008,21(3):7~8.
[5] 賀威, 張連山,吳忻生.基于Internet的遠(yuǎn)程過程控制實驗系統(tǒng)[J].控制工程,2007,14(z1):115~117.