謝敏,錢丹浩
(南京化工職業技術學院,江蘇南京 210048)
可編程序控制器(PLC)具有編程簡單、通用性強、可靠性高的特點,已成為工業自動化領域應用最廣泛的控制設備。但傳統的PLC具有編程語言單一、程序可復用性差、可移植性差、缺乏程序封裝能力和不支持數據結構,難以應用在復雜的控制場合。1993年3月由國際電工委員會IEC正式頒布可編程控制器的國際標準IEC61131,這一標準對PLC及其相關外設的使用規則、設備特性、用戶導則、通信、編程等方面做出了規范,其中IEC61131-3是工業自動化編程語言的標準。
IEC61131-3規定了可編程控制器編程語言的語法和語義,定義了兩大類編程語義:2種文本化編程語義和3種圖形化編程語言,同一項目中多種語言可以進行混合編程。文本化編程語義包括指令表編程語義(IL)和結構化文本編程語言(ST),圖形化編程語言包括梯形圖編程語言(LD)、功能塊圖編程語言(FBD)和順序功能圖(SFC)編程語言。符合IEC61131-3標準的軟件系統具有結構好、可重用、即時響應、可維護等優點,不僅能用于PLC產品,而且還用于運動控制系統、DCS和基于工業PC的軟邏輯、SCADA等,采用符合IEC61131標準的產品,已經成為工業控制領域的發展趨勢。
IEC61131-3標準的軟件模型采用分層結構描述基本的高級語言軟件元素及其相互關系。這些元素包括:程序組織單元,即程序和功能塊;組態元素,即配置、資源、任務、全局變量和存取路徑。IEC61131-3標準允許一個配置內有多個資源,每個資源可支持多個程序。因此,在一臺PLC中可以同時裝載、啟動和執行多個獨立程序,IEC61131-3軟件模型如圖1所示。

圖1 IEC61131-3軟件模型
1)配置
配置位于軟件模型的最上層,是可編程控制器系統的整個軟件相對于IEC61131-1標準所定義的可編程控制系統。
2)資源
每一個配置有一個或多個資源。資源反映了可編程控制器的物理結構,為程序和PLC的物理輸入輸出通道提供了一個接口。每個資源可支持多個程序,資源使PLC能夠加載、啟動和執行許多總體獨立程序。
3)任務
一個資源中可以有多個任務。任務被設置后就可以控制一系列程序組織單元周期地執行,或者根據一個特定的事件來觸發執行。
4)程序組織單元(POU)
是用戶程序的最小軟件單位。對應于傳統可編程控制器的程序塊、組織塊、順序塊和功能塊。程序組織單元按功能分為函數、功能模塊和程序。
5)全局變量
全局變量定義在配置、資源或程序層內部,每個變量的范圍由它被申明的位置和申明所使用的變量關鍵字所定義。全局變量提供了兩個不同程序和功能塊之間靈活交換數據的方法。
6)存取路徑
存取路徑將全局變量、直接表示變量和功能塊的輸入、輸出和內部變量聯系起來,實現信息的存取以及不同配置之間交換數據和信息的方法。
普通模擬PID調節方程為:

數字PID控制系統的原理框圖如圖2所示,系統由數字PID控制器、執行機構和被控對象組成。

圖2 數字PID控制系統原理框圖
數字PID控制是一種采樣控制,它只能根據采用時刻的誤差e(k)來計算控制量u(k),對連續系統PID算法離散化為:

式中:T為采樣周期,Kp為比例系數,Ti、Td分別為積分、微分時間常數,k為采樣序號,k=0,1,2,…;u(k)為第k次采樣時刻的計算機輸入的偏差值;e(k)為第k次采樣時刻輸入的偏差值;e(k-1)為第k-1次采樣時刻輸入的偏差值。上式可以進一步改寫為:

式中:Ki=KpT/Ti,為積分系數;Kd=KpTd/T,為微分系數。
數字PID控制算法分為位置式PID控制算法和增量式PID控制算法。增量型PID控制算法具有無需累加、系統開銷小、精度高、輸出為控制量的增量等優點,在此采用增量型PID控制,k時刻的控制量的增量為:

PID數字控制器中的積分環節能消除靜差、提高精度。但在啟動、結束或大幅度增減設定值時,系統輸出會出現短時很大偏差的情況,經過PID運算的積分積累,致使計算出的控制量超過執行機構的最大輸出量,從而引起系統很大的超調和振蕩。積分分離PID控制原理是:當被控量與設定值偏差較大時,取消積分作用,避免由于積分作用使系統穩定性降低,超調量增大;但當被控量接近給定值時,引入積分控制,以便消除靜差,提高控制精度。首先,根據實際情況,人為設定閾值ε>0,當:
|e(k)︱≤ε時,采用PID控制,以保證系統的控制精度;
︱e(k)︱>ε時,采用PD控制,可避免過大的超調,又使系統有較快的響應。因此,增量型積分分離算法可統一表示為:

其中β為積分項的開關系數,

設計積分分離PID算法的程序流程圖如圖3所示。

圖3 積分分離PID算法的程序流程圖
在固高OtoStudio平臺上,建立基于IEC61131-3的自定義積分分離型PID模塊,如圖4所示。定義I/O接口變量:



圖4 自定義積分分離型PID模塊圖
積分分離型PID控制器的算法實現按圖3所示流程圖。定義如下的結構體變量用于該程序參數傳遞

設被控對象函數為:

采樣時間為1 ms,采用Z變換進行離散化,經過Z變換后的離散化對象為:

設定閾值 ε=0.5,進行方波跟蹤。設定Kp=0.5,Ki=0.002,Kd=0.002,普通 PID 控制和積分分離型 PID 控制方波響應如圖5所示。

圖5 積分分離型PID和普通PID控制方波響應
通過普通PID和積分分離型PID的方波響應仿真圖可見,設計的積分分離控制器顯著降低了超調量,縮短了調節時間。該控制器采用IEC61131-3標準語言設計,具有模塊化、可復用等特點,在PLC產品、運動控制系統、DCS和基于工業PC的軟邏輯、SCADA等方面具有實際應用價值。
[1]彭瑜.IEC61131-3編程語言及其應用基礎[M].北京:機械工業出版社,2009.
[2]林小峰,等.基于IEC61131-3標準的控制系統及應用[M].北京:電子工業出版社,2007:123-126.
[3]龐文堯.基于C/S模式的遠程控制系統研究開發[D].杭州:浙江大學,2003:62-67.
[4]王飛.隧道窯控制及管理系統設計[D].大連:大連海事大學,2007:13-18.
[5]International Electrotechnical Commission.IEC61131-3 Programmable controllers-Part 3:Programming languages.Edition 2.0.2003.
[6] Karl-Heinz John·Michael Tiegelkamp.IEC61131-3 Programming Industrial Automation Systems. Springer. Second Edition.2010.
[7]劉金琨.先進PID控制MATALAB仿真[M].北京:電子工業出版社,2012:19-21.