美德康鍋爐內蒸汽壓力PID控制系統采用西門子s7-200系列PLC進行控制。PID是閉環控制系統中比例-積分-微分控制算法,它可以看作是這三項之和,根據設定值與被控對象實際值的差值,按PID方式計算出控制輸出量,使反饋跟隨設定值變化。因此PID控制是負反饋閉環控制,其中比例項是增益(Kc)與偏差的乘積,積分項與偏差的和成正比,而微分項與偏差的變化成正比。
PID控制功能是通過PID指令功能塊實現的。在s7-200中,PID回路指令運用回路表中的輸入信息和組態信息,進行PID運算,交換數據,編程極其簡便,該指令影響特殊存儲器標志位SM1.1(溢出)。只有在邏輯堆棧棧頂值為1時,才能進行PID運算。本指令有兩個操作數:TBL和LOOP(如下圖所示)。其中TBL是回路表的起始地址操作數。
限用VB區,數據類型是Byte型。LOOP是回路號可以是0到7的整數,因此在程序中最多可以用8條PID指令。如果有兩個或兩個以上的PID指令用了同一個回路號,即使這些指令的回路表不同,那么這些PID運算之間也會產生不可預料的結果。在直接使用PID指令功能塊之前,必須把增益(Kc)、采樣時間(Ts)、積分時間(Ti)、微分時間(Td)等等這些實數全部轉換成0.0-1.0之間的實數,以便PID指令功能塊接受,也就是說把外界實際物理量轉換成PID指令可以接收的數據,即輸入/輸出的轉換與標準化處理。
PID控制編程:例如在系統中,為了生產需求,鍋爐內蒸汽壓力應維持在0.85MPa-1.0MPa之間,壓力的大小由壓力變送器檢測,變送器壓力量程0-2.5MPa,輸出DC4-20mA。因此在0.85MPa時,相應的電流輸出是9.44mA,同樣1.0MPa時輸出為10.4mA,其標準化刻度值如下圖所示。
過程變量值是壓力變送器檢測的單極性模擬量,回路輸出值也是一個單極性模擬量用來控制鼓風機的速度。這兩個模擬量的范圍是0.0-1.0,分辨率為1/32000(標準化)。可以初步確定Kc=0.06,Ts=0.2,Ti=10.0,在這里不用微分作用,程序編輯如下圖。
程序上采用了主程序,子程序,中斷程序的結構模式,程序清晰明了,大大縮短了周期掃描時間。
調試程序:選擇PID的參數,以及相互間的配合,可以影響PID控制的穩定性。如采樣時間過短對外部信號的變化有可能檢測不到,而過長的采樣時間顯然不能滿足控制精度的要求。又如過大的增益又會造成控制的震蕩。在調試程序時要注意這些參數的設置,慢慢調試以至達到穩定的PID控制。