1 引言
ifix是全球最領先的hmi/scada自動化監控組態軟件,已有超過300,000套以上的軟件在全球運行。intellution公司的ifix作為第三方軟件,具有強大的scada和hmi功能,并且提供了與多種plc進行通訊的i/o驅動程序,可與多種plc直接接口,在國內外其他工業控制領域獲得了廣泛的應用。本項目采用ifix作為支撐平臺,充分利用ifix提供的各種服務和資源,開發了一個有色金屬冶金熱風爐自動控制系統。
2 系統概要
熱風爐自動控制系統結構如圖1所示。
圖 1 熱風爐系統結構圖
plc完成數據的采集、處理和控制。plc所要采集的模擬量數據包括:熱風爐各位置的溫度、壓力、冷風總支管流量、溫度、壓力,熱風流量、發生爐煤氣流量、溫度、壓力,助燃風機電流、頻率等等,由變送器輸入;開關量數據為所有熱風爐
控制閥門的啟/停狀態,比如熱風閥開、熱風閥關、熱風閥集中控制,由繼電器接點輸入。控制功能包括模擬量調節和開關量控制。其中模擬量調節包括發生爐煤氣流量調節、空氣流量調節以及助燃風機頻率調節等,由pid運算實現,輸出控制調節閥的開度;開關量控制包括控制各個閥門的自動啟/停、助燃風機啟/停、緊急休風的閥門閉合。數據處理包括:參數越上限或越下限報警及連鎖,設備異常報警、電源故障報警等。上位機監控系統由ifix軟件實現,包括scada系統和hmi圖形系統。scada系統通過與plc建立通訊關系,讀取實時數據并形成實時數據庫;hmi圖形系統顯示實時數據和報警信息、記錄歷史數據、打印報表、修改設定參數以及實現軟手動控制等。本系統選用的plc系統為abb公司的ac300集散控制系統,通訊方式為dcom通訊協議。
3 scada系統
上位機scada系統的最基本功能就是數據讀取和數據管理,ifix通過軟件接口i/o驅毒程序與plc直接建立通訊來讀取數據,數據管理則通過數據庫實現。
i/o驅動程序是連接硬件設備和scada服務器的通訊程序,它能夠對通訊錯誤進行自動檢測、報告和恢復,并且提供對通訊的冗余支持。由于控制設備多種多樣,而且各自所采用的通訊協議也各不相同,因此,intellution公司提供了各種與常用控制設備進行通訊的高性能的i/o驅動程序。在設計監控系統時,為了使scada服務器能與硬件設備建立通訊,首先必須根據硬件設備選擇相應的i/o驅動程序并對其進行正確配置。i/o驅動程序的配置由配置軟件來實現,他設置通訊口及其參數,控制器的名稱以及scada服務器所要訪問的控制器中的i/o地址、數據類型等。系統運行時,自動啟動i/o驅動程序,而且配置文件也將被自動載入運行。
圖 2 數據傳輸流程圖1
4 實時數據庫“塊”系統設計
ifix采用面向對象的數據庫設計方法。數據庫中的主要元素是“塊”,不同的塊將完成不同的功能。將多個塊按順序連接起來,就組成了“鏈”。在鏈中,數據塊順序傳遞,可實現特定的功能。ifix提供的“塊”,安功能及其在鏈中的位置,可以分為“初級塊”和“次級塊”。“初級塊”直接與i/o驅動程序交換數據,位于鏈的首位,可單獨使用;“次級塊”從“初級塊”或上一級塊獲得數據,不能位于鏈的首位,也不能單獨使用。“初級塊”和“次級塊”又分別包含了多種類型的塊。
4.1 塊類型的選擇
在熱風爐自動控制系統設計中,為了讀寫plc中設備的參數值,采用了“初級塊”中的ai塊(模擬量輸入塊),ar(模擬量寄存器)塊,ao(模擬量輸出)塊,di(數字量輸入)塊,dr(數字量寄存器)塊,do(數字量輸出)塊。ai塊和di塊在每一個掃描周期,當sac(掃描、報警、控制)程序掃描該塊時,都會向i/o驅動程序發送或接收數據,其數據傳輸流程如圖2所示。
ar塊和dr塊也能從i/o驅動程序讀或者寫數據,但它們不需要sac程序的支持,而且只是在引用該數據塊的畫面打開時才傳輸數據,因此,該塊占用的內存最小且可以提高sac程序的運行性能。數據傳輸流程如圖3所示。
圖 3 數據傳輸流程圖2
在數據庫設計時,靜態數據(如:pid控制的設定值、參數報警極限、連鎖控制限制、計數器定值等)采用寄存器塊,以提高系統的運行性能;而測量參數則采用參數輸入塊,以保證實時性。
4.2 塊的參數配置
數據庫塊具有多種屬性參數,有的是只讀參數,有的可以讀/寫,對其參數的不同設置將影響到數據的準確性。
(1)i/o地址(a_ioad)的設定。塊參數a_ioad(i/o地址)指定該塊讀取數據的地址,以ascii碼表示,設置格式為:device:address,其中,device為i/o驅動程序中配置的控制器的名稱;address表示i/o點的地址,與i/o驅動程序中配置的i/o點的地址具有相同的格式。
(2)標度轉換(a_iosc)的設定。對于模擬量數據來說,從控制器中讀取的原始數據往往是以數字形式表示的,如以無符號整數表示,但對于操作人員,需要知道的確是以工程單位表示的具有實際物理意義的數,如以mpa表示的壓力值,因此,需要對原始數據進行交換。塊的a_iosc參數的選擇綜合考慮了i/o點原始數據的類型、取值范圍及是否進行范圍超限監測、報警等因素。
(3)掃描時間(a_scant)的設定。定時掃描的數據塊,掃描時間的設定格式為time:phase,time為sac掃描時間的間隔,phase為在該時間間隔內,掃描該塊的起始時間。例如,設定block1塊的掃描時間為5:1,則sac每隔5秒執行一次掃描,每個掃描周期開始后1秒掃描block1塊。對于具有相同掃描時間的數據塊,為其分配不同的掃描起始時間,可以避免cpu同時處理太多數據,從而提高系統的運行性能,這對大型系統尤為重要。
5 上位機hmi的實現
利用ifix提供的各種圖形對象、控件和內嵌的vba,設計開發了圖形化的人機交互界面。
5.1 實時數據顯示
scada服務器是后臺運行的,在運行模式下,其數據庫參數對用戶是不可見的,因此,使用大量的圖形對象直觀地顯示實時數據,對模擬量參數,采用“數據連接(datalink)”對象,它與數據庫的連接如下:
picture.datalink1.format1.source=fix32.thisnode.tag.fcv,格式中,picture為顯示圖形對象的畫面名稱,thisnode為本監控系統的名稱,tag為數據庫塊的名稱,fcv為該數據庫塊的當前值。對于重要的控制參數(煤氣流量、冷風流量、助燃空氣流量、總管壓力等),分別采用實時曲線顯示一個小時內參數的變化趨勢,以了解控制器的條件品質,實時曲線通過調用“chart”對象實現。
對數字量參數,采用“shape”類對象前景色的變化來模擬其狀態的變化,它與數據庫的連接方式如下:
picture.oval1.aninatedforegroudcolor.source=fix32.thisnode.tag.fcv.
5.2 歷史數據記錄與報表打印
歷史數據庫的形成由后臺運行程序“htc.exe”完成,該程序以定時存儲的方式記錄了最近30天內的一些重要的運行參數(煤氣流量、壓力、冷風流量、壓力、熱風流量、溫度、總管壓力等),以備今后查看或進行故障分析。歷史數據以數據文件的形式存儲,通過“chart”對象顯示30天內任一天的參數變化曲線,同時,也可以用報表的形式打印出來。打印程序由vba編程實現,它通過sql語言查詢數據庫,并調用excel形成指定格式的報表。
5.3 故障報警
系統運行過程中出現異常情況是,通過報警提醒操作人員。報警采用三種方式:改變“數據連接”對象的顏色、彈出報警畫面、聲光報警。三種方式都是通過編寫事件驅動的后臺運行的調度程序(scheduler)來實現,數據顏色的變化通過改變圖形對象的前景色屬性來實現,例如,正常運行時,閥門的顏色用綠色顯示,閥門關到位是用紅色顯示,閥門故障時用黃色閃爍顯示,閥門中間狀態用藍色顯示。報警畫面采用“報警總匯(alarm summary)”圖形對象,該對象顯示報警的參數、類別、狀態等。聲光報警通過報警事件觸發儀表柜上的聲光
報警器實現。
5.4 設定參數修改
系統在運行過程中,隨著運行工況的變化,可能需要對各種閥門開度的設定值、壓力、溫度報警上/下限、設備連鎖上/下限等過程控制參數進行修改。對這些參數的修改將會影響到系統的性能和設備的安全,因此,為了保證系統的安全,設置了兩個操作權限,即操作員和管理員級。當操作權限為操作員級時,只能對參數進行查看,修改部分參數,但不能退出系統;為管理員級時,能執行所有才做。系統啟動時,缺省的操作權限為操作員級,若想修改程序或退出系統,則需要按照用戶名和密碼登陸為管理員。另外,根據操作安全的需要,對系統設置了環境保護,啟動時自動全屏顯示,并屏蔽了可能導致誤操作的組合鍵,使系統運行更加安全、可靠。
6 結束語
項目已在韶關冶煉廠熱風爐系統中獲得應用。該系統采用abb公司的ac800m系列plc,上位機采用dell工業服務器,下位機與上位機通過abb的網卡相連,i/o驅動采用dcom通訊協議,利用ifix的opc驅動。運行結果表明,熱風爐各個閥門開/關全部實現自動控制;調節參數波動小,連鎖程序穩定有效。上位機系統運行穩定,使用方便,操作簡單;整套系統具有較高的自動化水平,達到了設計目的。
利用ifix提供的scada組件,采用i/o驅動程序與不同廠家的plc進行接口以獲取數據,用數據庫來管理數據;利用hmi提供的圖形對象顯示和監控數據,保證的數據高度的完整性。實踐表明,本系統運行穩定,自動化程度高,具有較好的應用前景。