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