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