引言
在工業控制領域,如何有效的實現控制算法一直是人們普遍關心的問題。目前,工控組態軟件能夠提供友好的人機交互界面,強大的通訊功能,但是計算能力不強,很難實現一些復雜的控制策略[1]。Visual Basic是Microsoft公司開發的Windows平臺的主力編程語言之一,它避開了C++編程繁瑣和抽象的缺點,綜合運用了BAIC語言和新的可視化設計工具,不僅簡單易學,而且功能強大。同時,VB還具有事件驅動的編程機制,在開發時可以充分擴充其功能,如在函數層調用功能態鏈接庫(DLL)、在控件層使用VBX、在應用層使用shell函數調用其他應用程序等[2]。因此,可以利用組態軟件作為系統主控,定時進行數據采樣、動態工藝圖顯示、數據記錄等;利用VB來實現復雜的控制算法,而二者之間的無縫連接可以通過ActiveX技術來實現,如圖1所示。這樣就可以充分發揮工控組態軟件和VB各自的優勢,實現復雜系統的控制。
FESTO 過程控制系統(如圖2所示)由液位站、流量站、壓力站、溫度站和PLC站組成。其中前四站模擬工業生產過程中對典型的液位、流量、壓力、溫度系統進行控制的方法;進行單閉環控制。而PLC站可將各站連接起來形成多輸入多輸出的的耦合系統;另外設備上還留有PROFIBUS現場總線接口,可實現網絡控制。
圖2、FESTO 過程控制系統
通過實驗能了解工業過程中對液位、流量、壓力、溫度系統的控制方法;能掌握超聲波傳感器、流量傳感器、壓力傳感器、熱點阻等常用傳感器的測量原理及使用方法;能通過液位、流量、壓力、溫度各站上的Burket控制器進行PID參數的簡單整定;給出開環、閉環、前饋控制的控制效果結論。但是由于利用設備上帶有的Burket控制器對控制、給定量等各參數的設定需要較長的時間,考慮到對Burket控制器的保養和擴展網絡控制功能,故我們對FESTO 過程控制系統進行了創新性試驗,在實踐中獲得了滿意的控制效果。
2.創新性試驗
下面以液位站(圖3)為例對創新性試驗進行介紹。(其他站方法與液位站相同)
2.1液位系統介紹
圖3.液位站
液位控制系統是FESTO四個獨立站中的一站,包括一高一低兩個容器(通過中間連接管道上手動閥的開閉控制其通斷)、超聲波液傳感器、直流電機、直流電機調速器;以及四個系統都包含的向中間調度站PLC傳送開關量的電容接近傳感器和PLC控制的電磁開度閥。
系統的被控變量為高容器中液體的液位,執行機構為可調速的直流電機。根據實際測量值與預設給定值的偏差,控制器控制直流電機的轉速,以使高容器中的液位達到設定值。控制器具有自動和手動兩種控制方式。
自動控制原理如圖4所示:
圖4.液位控制系統原理圖
只要超聲波液位傳感器測得的液位不等于給定值,就會有偏差e存在,Burket控制器內的PID算法就會根據e的值算出控制輸出量,進而調節直流電機的轉速,使容器中液體的液位發生變化,直到等于給定值,電機轉速才保持不變。
2.2利用組態王設計FESTO 過程控制系統
2.2.1 現場信號的檢測及采集
數據采集是系統的基礎。對于液位控制而言需要將液位信號及時準確地采集到控制計算機中。從現場傳感器輸出的模擬值,經PCI數據采集板卡AD通道就可以變化成數字量傳輸到計算機中。
由超聲波液位傳感器的輸出為4—20mA直流電流信號經過科日新KPCI—811板卡12位ADC轉換為0—4095的數字量,存放在板卡的寄存器中。組態王下設置的I/O變量通過PCI總線讀取數據,將其進行標度變換,還原為物理量,就可以與用戶輸入的設定值比較運算。
例如在組態王數據詞典里建立“液位測量值”I/O變量,板卡將傳感器的輸出轉換為12位數字量,通過該變量就可以將數字量取出并得到對應的物理量,其基本屬性為:
變量名:液位測量值 變量類型:I/O實型
最小值:0 最大值:20(對應物理量的最大值)
最小原始值:0 最大原始值:4095(對應板卡數字量)
連接設備:KPCI811 寄存器:AD0
數據類型:USHORT 采集頻率:1000ms
讀寫屬性:只讀
2.2.2 上位機控制算法的實現
ActiveX技術是Microsoft對OLE技術的更新和發展,它通常以動態鏈接庫的形式存在,其設計思想是將一個程序嵌入到另一個程序中。ActiveX的優勢在于它的動態可交互性,用戶可以在使用過程中,通過改變它的屬性和參數,在應用程序中實現自己的特殊要求[3]。
用VB將簡單自適應控制算法打包成ActiveX控件,將測量值、設定值和控制輸出量留做控件的接口,在組態王下,通過設置I/O變量,與控件接口變量一一對應連接,就可以將板卡轉換得到的現場信號送入控制算法控件,算法運算得到的控制量,經過板卡也可以送到現場執行機構。
組態王I/O變量輸出的控制量可根據執行機構的情況,設為電壓或電流形式。811板卡有2路模擬量輸出通道,本系統選擇0—10V的電壓輸出,通過電機調節器對直流電機進行轉速控制,從而保持系統對液位的控制。
現場信號、組態王與控制算法之間的連接關系如圖5所示。
2.2.3 監控界面的設計
整個監控界面如圖6所示,VB下制作控件如圖7所示,組態王中調用控件液位站監控界面效果如圖8所示。
圖6. FESTO 過程控制系統監控界面
圖7. VB下制作的控件
圖8. 液位站監控界面
以組態王6.51為開發平臺,利用其豐富的圖形庫和靈活的動畫功能,創建了逼真的動態畫面來實時顯示現場的控制過程。系統的各參數不僅可以直觀顯示,還能夠做實時和歷史記錄,并根據需要將其打印成報表;完善的報警管理可以及時提示報警事件,并記錄報警信息,以備故障診斷時查詢。
3結論
在FESTO 過程控制系統上多次實驗后,這種基于工控組態軟件和ActiveX控件形式的控制系統,很好的滿足了試驗的要求。上位機借助組態軟件和PCI數據采集板卡可以進行現場數據的實時顯示和控制參數的實時修改,二者通過ActiveX控件無縫連接,交互數據,達到控制的目的。組態軟件與ActiveX控件相結合實現控制的實驗方案,彌補了組態軟件命令語言功能單一的缺點, 也為在工業控制領域中使用組態軟件來完成復雜的控制算法開辟了新的途徑。
本文作者創新點:組態軟件的圖形動畫顯示功能已經非常成熟,但是控制能力卻相對較弱。因此,本文介紹了一種利用ActiveX特性擴充組態軟件控制功能的新方法。利用高級語言將控制算法打包成控件,將輸入輸出量留作接口,組態軟件開發環境下調用算法控件,并設置變量與控件接口相連,就可以實現相應的控制功能。該方法簡單實用,為組態軟件在過程控制系統中的應用拓展了新天地。
參考文獻:
[1] 余斌,陳維克.基于組態軟件RSView32與matlab的通信.微計算機信息,2005年第四期42頁
[2] 陳娟,周納.關于VB功能擴展及應用.湖南商學院學報,2001年第一期107頁
[3] 王海瑞,鐘家玉.ActiveX技術在組態軟件中的應用研究.計控系統,2002年第四期22頁