徐德杰 吳勝昔 向國(guó)海 顧幸生
(華東理工大學(xué)自動(dòng)化研究所1,上海 200237;上?;蹠r(shí)軟件有限公司2,上海 200233)
某大型醋酸纖維公司是集化工、化纖、熱電為一體的大型工業(yè)企業(yè)。為使生產(chǎn)數(shù)據(jù)管理更加科學(xué)化、合理化,本文設(shè)計(jì)了具有高性能、高可靠性并且經(jīng)濟(jì)實(shí)用的數(shù)據(jù)采集系統(tǒng),并重點(diǎn)介紹了該系統(tǒng)的人機(jī)界面的(human machine interface,HMI)設(shè)計(jì)和應(yīng)用。
人機(jī)界面(HMI)是人與機(jī)器實(shí)現(xiàn)信息交互和傳遞的媒介[1],是把人的思維和機(jī)器的行為轉(zhuǎn)換為雙方都能接受的形式的一種設(shè)計(jì)理念。目前,比較主流的HMI組態(tài)有InTouch、WinCC、力控、組態(tài)王等。InTouch HMI軟件由于其易用的開(kāi)發(fā)環(huán)境和廣泛的系統(tǒng)功能,以及能夠傳遞實(shí)時(shí)信息的特點(diǎn),被廣泛應(yīng)用于食品加工、制藥、造紙、交通等領(lǐng)域[2-5]。
本文采用InTouch軟件實(shí)現(xiàn)某大型醋酸纖維的能源管理監(jiān)控系統(tǒng),并給出了系統(tǒng)結(jié)構(gòu)、功能、生產(chǎn)監(jiān)控組態(tài)等方面的實(shí)現(xiàn)方案。
某大型醋酸纖維公司生產(chǎn)區(qū)域引進(jìn)能源管理系統(tǒng)(energy management system,EMS),采集五期大樓電氣室、五期垂直單元馬達(dá)控制中心(motor control center,MCC)、五期成品線馬達(dá)控制中心、四期電氣樓以及老電氣樓五個(gè)控制區(qū)域的設(shè)備數(shù)據(jù),并進(jìn)行設(shè)備的監(jiān)測(cè)和能耗分析。系統(tǒng)采用儀表變頻器采集層、PLC控制層、上位機(jī)監(jiān)控層三層結(jié)構(gòu),各層介紹如下。
①儀表變頻器采集層
現(xiàn)場(chǎng)電機(jī)控制數(shù)據(jù)選用DIRIS A40儀表和AB PF700變頻器兩種方式進(jìn)行采集。儀表和變頻器都是通過(guò)RS-485協(xié)議將數(shù)據(jù)傳送到 AnyBus x-Gateway AB7000工業(yè)網(wǎng)關(guān),在網(wǎng)關(guān)中完成從RS-485協(xié)議到Profibus協(xié)議的轉(zhuǎn)換(其中ABPF 700變頻器還配置有20 Comm-H的數(shù)據(jù)采集卡,以實(shí)現(xiàn)Modbus RS-485數(shù)據(jù)采集)。網(wǎng)關(guān)到PLC控制層的通信通過(guò)Profibus完成,整個(gè)系統(tǒng)采用了30臺(tái)網(wǎng)關(guān),能較好地解決工廠自動(dòng)化中多種現(xiàn)場(chǎng)總線共存的問(wèn)題。
②PLC控制層
針對(duì)需要采集的五個(gè)控制區(qū)域,系統(tǒng)分別為每個(gè)控制區(qū)域配備一臺(tái)Siemens S7-400 PLC和一臺(tái)Siemens MP377 Touch觸摸屏。各馬達(dá)控制中心均配置一套控制器,用于采集本地能源數(shù)據(jù)信息,以便在相關(guān)配電室或馬達(dá)控制中心進(jìn)行數(shù)據(jù)采集[6]。
③上位機(jī)監(jiān)控層
每個(gè)控制室的PLC通過(guò)光纖環(huán)網(wǎng)連接到能源管理主控室,使用Siemens的SCALANCE X系列交換機(jī)作為環(huán)網(wǎng)節(jié)點(diǎn)的交換機(jī)。上位機(jī)采用InTouch作為能源管理系統(tǒng)的HMI軟件,并配置一個(gè)有5 000個(gè)標(biāo)記名的Historian Server,以存放歷史數(shù)據(jù)。采用主控室中的服務(wù)器對(duì)數(shù)據(jù)進(jìn)行歸檔、統(tǒng)計(jì)分析和發(fā)布。
系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure of the system
本項(xiàng)目的監(jiān)控組態(tài)分成多個(gè)層次設(shè)計(jì),結(jié)合最終用戶,在確保系統(tǒng)安全性的同時(shí)保證運(yùn)值人員可以一目了然地了解現(xiàn)在的運(yùn)行方式。這樣便于工作人員掌握每個(gè)回路的報(bào)警信息和進(jìn)行各種操作。組態(tài)畫(huà)面的結(jié)構(gòu)示意圖如圖2所示。
圖2 組態(tài)畫(huà)面結(jié)構(gòu)示意圖Fig.2 Structure of the configuration graphics
InTouch和PLC之間的通信步驟具體如下。
上述三種方法中,最簡(jiǎn)單用時(shí)最少的是方法3,根據(jù)要解決的問(wèn)題的要求,通過(guò)觀察、比較和分析,找出規(guī)律,從而迅速解決問(wèn)題,體現(xiàn)的是綜合應(yīng)用能力。其次是方法2,它是化學(xué)學(xué)科思想中整體思想和化學(xué)學(xué)科觀念中守恒觀的有機(jī)結(jié)合的應(yīng)用。方法1,是基本方法和基本技能的應(yīng)用。
首先,在 Wonderware公司提供的 Device Intergration軟件包中安裝DAServer。DAServer是基于ArchestrA技術(shù)的一種I/O Servers服務(wù)器,可以通過(guò)DDE、SuiteLinkTM、OPC 等協(xié)議和 InTouch連接[7]。
接著,系統(tǒng)通過(guò)系統(tǒng)管理操作臺(tái)(system management console,SMC)來(lái)進(jìn)行配置,填寫(xiě)PLC地址和機(jī)架號(hào)、CPU槽號(hào)、在Device Group中配置主題名等。通常,S7-300 PLC的CPU槽號(hào)一般為2(電源模塊占一個(gè)槽),S7-400 PLC的CPU槽號(hào)一般為3(電源模塊通常占兩個(gè)槽)。
然后,在InTouch中配置訪問(wèn)名[8]。其中,主題名要與在SMC中Device Group選項(xiàng)中配置的主題名一致;應(yīng)用程序名為SMC中節(jié)點(diǎn)名的中間部分。
最后,建立標(biāo)記名和訪問(wèn)名、項(xiàng)目名之間的關(guān)聯(lián),其中項(xiàng)目名的命名規(guī)則可以查看DAServer幫助文檔Item Naming。將PLC中數(shù)據(jù)的地址和InTouch的標(biāo)記名關(guān)聯(lián)起來(lái),即可實(shí)現(xiàn)InTouch與PLC的通信。
本項(xiàng)目需要采集121臺(tái)智能電表、22臺(tái)變頻器、3臺(tái)軟啟動(dòng)器和3個(gè)電池組的電量數(shù)據(jù),因此為每種儀器建立單獨(dú)的參數(shù)顯示窗口會(huì)使畫(huà)面比較混亂。對(duì)此,本文采用公共窗口模板方法[9],將I/O型的變量賦值給內(nèi)存變量,使所有的儀器數(shù)據(jù)顯示共用一個(gè)窗口,隨時(shí)調(diào)用隨時(shí)顯示。為了顯示MCC801段某變頻器的電壓,編輯動(dòng)作腳本如下。
其中,U801-1-5B為某變頻器電壓的I/O型標(biāo)記;U1為與U801-1-5B類型相同的內(nèi)存型標(biāo)記;“參數(shù)顯示”是項(xiàng)目中建立的共用數(shù)據(jù)顯示窗口。
同理,本文在做實(shí)時(shí)趨勢(shì)和歷史趨勢(shì)分析時(shí),涉及的參數(shù)很多,趨勢(shì)窗口也按公共窗口模板的方法建立一個(gè)共用的窗口。窗口腳本如下。
其中,“趨勢(shì)”為Windows控件的名稱;“MCC801”為需要添加的工作段。
條件腳本如下。
本文設(shè)計(jì)的交接班記錄以及報(bào)警采用Excel輸出方式。配置報(bào)警組是為了將操作人員的交接班和設(shè)備數(shù)據(jù)的報(bào)警分離開(kāi)來(lái),方便用戶瀏覽。為運(yùn)行人員交接班配置一個(gè)名為“Log”的報(bào)警組。雖然系統(tǒng)提供了與運(yùn)行人員交接班有關(guān)的標(biāo)記名,如 $Operator、$AccessLevel等,但是由于系統(tǒng)標(biāo)記名只能讀不能寫(xiě),而系統(tǒng)默認(rèn)報(bào)警組為$System且不能更改,這就需要建立內(nèi)存消息型標(biāo)記名,如Operator,并在窗口腳本中添加Operator=$Operator。
選擇報(bào)警組“Log”,在配置分布式報(bào)警顯示時(shí),在“通用”欄填寫(xiě)報(bào)警查詢時(shí)輸入/“intouch!Log”,就能達(dá)到將操作人員記錄和報(bào)警分離,獨(dú)立形成報(bào)表輸出的效果。
在配置Alarm Printer時(shí),可以選擇查詢的報(bào)警組以及日志文件的格式(這里選擇.csv格式,與Excel轉(zhuǎn)換比較容易)。配置完成后就可以通過(guò)條件腳本自動(dòng)生成和查看報(bào)警。
在畫(huà)面窗口中添加一個(gè)“查看報(bào)警”按鈕和一個(gè)Microsoft Date and Time Picker Control時(shí)間選擇控件,建立一個(gè)內(nèi)存消息型“datestring”標(biāo)記名,并與時(shí)間選擇控件關(guān)聯(lián),這就避免了用戶輸入時(shí)間日期格式與系統(tǒng)不匹配而出現(xiàn)的錯(cuò)誤。
查看報(bào)警按鈕動(dòng)作如下。
報(bào)警日志文件自動(dòng)查詢和生成腳本如下:
條件為真時(shí),執(zhí)行打開(kāi)Alarm Printer應(yīng)用程序:
條件為真時(shí),執(zhí)行查詢程序:
所有的日期與時(shí)間值都設(shè)置為0,則打印所有報(bào)警。這是由于0被解釋為1900年1月1日午夜,指定的日期與時(shí)間采用本地時(shí)間格式。
$Hour==0 AND$Minute==0 AND$Second==5條件為真時(shí),表示查詢被執(zhí)行5 s之后,關(guān)閉Aarm Printer應(yīng)用程序:
由于在運(yùn)行過(guò)程中為了保證InTouch程序的安全性,ALT、CTRL以及TAB等鍵位都是被禁用的,因此,可以通過(guò)以下函數(shù)實(shí)現(xiàn)Alarm Printer的自動(dòng)關(guān)閉。
Historian Server是一個(gè)建立在Microsoft SQL Server基礎(chǔ)上的實(shí)時(shí)應(yīng)用系統(tǒng),具有高速數(shù)據(jù)采集、節(jié)省存儲(chǔ)空間、實(shí)時(shí)SQL數(shù)據(jù)訪問(wèn)等優(yōu)點(diǎn)。InTouch能夠?qū)?biāo)記名批量導(dǎo)入到Historian Server數(shù)據(jù)庫(kù)中,方便用戶進(jìn)行數(shù)據(jù)查詢和存儲(chǔ)[10]。
Historian Server在數(shù)據(jù)庫(kù)中處于啟用狀態(tài),在Configuration Editor/System Configuration/Data Acquisition/IDAS下右鍵選擇Import Tags,將標(biāo)記名導(dǎo)入到數(shù)據(jù)庫(kù)中。
Historian Server使用的數(shù)據(jù)庫(kù)名稱為Runtime,為系統(tǒng)默認(rèn)且不能更改。因此,在數(shù)據(jù)庫(kù)中按照客戶需求建立相應(yīng)的表后,可以通過(guò)以下SQL語(yǔ)句來(lái)進(jìn)行數(shù)據(jù)的查詢。
如上所述,可以通過(guò)SQL語(yǔ)句將數(shù)據(jù)從歷史數(shù)據(jù)庫(kù)中查詢出來(lái)。在實(shí)際項(xiàng)目中,數(shù)據(jù)報(bào)表的開(kāi)發(fā)和制作通常是將查詢得到的數(shù)據(jù)呈現(xiàn)在Excel表格中,方便運(yùn)行人員進(jìn)行分析和比較。
在項(xiàng)目實(shí)施的過(guò)程中,如果沒(méi)有第三方報(bào)表軟件的情況下,就需要工程師自己編寫(xiě)程序來(lái)實(shí)現(xiàn)報(bào)表的相應(yīng)功能。
以下為用戶窗體的關(guān)鍵程序。
InTouch組態(tài)軟件提供了一種易用的開(kāi)發(fā)環(huán)境和廣泛的功能。本文采用InTouch作為組態(tài)開(kāi)發(fā)工具,能夠快速地建立、測(cè)試和部署連接,并傳遞實(shí)時(shí)信息。開(kāi)發(fā)的用戶界面可以將系統(tǒng)結(jié)構(gòu)和生產(chǎn)設(shè)備形象、直觀地展現(xiàn)出來(lái),使運(yùn)行人員能夠方便掌握生產(chǎn)過(guò)程中設(shè)備的運(yùn)行情況,具有廣闊的應(yīng)用前景。
[1]霍發(fā)仁.人機(jī)界面設(shè)計(jì)研究[D].武漢:武漢理工大學(xué),2003.
[2]譚秀平,高丙朋,南新元.番茄醬生產(chǎn)線罐裝工藝遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2008,21(9):11 -12.
[3]繆漢堯,郭利中,沈安濤.主電室自動(dòng)化監(jiān)控系統(tǒng)[J].包鋼科技,2003,29(3):22 -25.
[4]周顯兵.加氫裂化新氫機(jī)控制系統(tǒng)升級(jí)改造[J].石油化工自動(dòng)化,2003(5):92-94.
[5]段迎黎.InTouch在冶金自動(dòng)化中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2005,24(9):80 -81.
[6]王東江,王維.基于PLC和INTOUCH的廠務(wù)監(jiān)控系統(tǒng)設(shè)計(jì)[J].科技資訊,2011(29):67 -68.
[7]姜麗麗.工控組態(tài)軟件(INTOUCH)研究與二次開(kāi)發(fā)[D].天津:河北工業(yè)大學(xué),2010.
[8]曾小洋.西門(mén)子PLC與InTouch綜合應(yīng)用[M].北京:人民郵電出版社,2010.
[9]張希利.Intouch在電廠自動(dòng)化的應(yīng)用[J].電工技術(shù),2006(3):22-24.
[10]尹君,雷汝海,王軍.基于InTouch的選煤廠帶式輸送機(jī)運(yùn)行狀態(tài)監(jiān)控軟件的設(shè)計(jì)[J].工礦自動(dòng)化,2008(4):75-78.