fb 58 “tcont_cp”用于使用連續(xù)或脈沖控制信號來控制溫度過程。脈沖控制功能使用脈寬調(diào)制,將模擬量可調(diào)節(jié)變量值 lmn 轉(zhuǎn)換成一系列周期為per_tm 的脈沖信號。通過設(shè)置pulse_on=true 激活pulsegen,并在cycle_p 周期中對其進(jìn)行處理。
哪些參數(shù)決定脈沖輸出的周期?首先,需要熟悉幾個fb 58 “tcont_cp” 脈沖輸出的重要參數(shù):
cycle_p : 脈沖發(fā)生器的采樣周期
cycle:pid 運 算的采樣周期
per_tm: 脈沖輸出的周期如圖1,pid輸出lmn變 量為30.0,cycle=per_tm=10 *cycle_p ,則 每個per_tm循 環(huán)時間調(diào)用sfb/fb“pulsegen”10次, 則:
脈寬=per_tm x lmn%
對 于前3個sfb/fb“pulsegen”(10次 調(diào)用的30 %), 輸出“qpos”為“1”
對 于其余7個sfb/fb“pulsegen”(10次 調(diào)用的70 %), 輸出“qpos”為“0”
圖01
如圖2,設(shè)置參數(shù),lmn=50.0。根據(jù)上圖的關(guān) 系,理 論上輸出的脈沖周期應(yīng)該為10秒。但是通過 wincc 捕捉的脈沖軌跡可以看到,實際的周期為20秒,如圖2。那這是為什么呢?
圖02
圖03
其實,參數(shù) per_tm 和cycle_p 只是決定了脈寬調(diào)制精度g,g=per_tm/cycle_p 。脈 寬調(diào)制精 度,決 定了一個脈沖周期內(nèi)執(zhí)行的脈沖計算的次數(shù),次數(shù)越多精度越高。如圖4,fb 58 “tcont_cp” 通過“select” 參數(shù)決定pid 運算和脈沖運算的關(guān)系,通常我們使用默認(rèn)的模式,也就是同一個fb 58 “tcont_cp” 執(zhí)行兩者,因此在同一個循環(huán)中斷中執(zhí)行的fb 58 “tcont_cp”,每次循環(huán)中斷進(jìn)入都會執(zhí)行脈沖運算,而pid 運算和脈沖運算成1:g 關(guān)系。因此實際脈沖運算的周期 cycle_p*是由程序塊執(zhí)行的間隔決定的,所以實際周期 per_tm*=cycle_p * xg。
圖04
在上面的例子中,g = per_tm / cycle_p =10/0.1=100;ob35循 環(huán)周期200ms, 所以cycle_p * =200ms ,per_tm* =100x200=20s。因此,要想脈沖輸出的周期和設(shè)置的一致,必須保證 cycle_p=cycle_p *(循環(huán)中斷的時間) 我們只需要調(diào)整ob35的循環(huán)中斷時間到 100ms,就可以實現(xiàn)10s周期的脈沖,如圖5。
圖05
經(jīng)驗關(guān)系時間法則如 下:
cycle_p<=per_tm/50
per_tm<=ti/5
cycle<=ti/10
cycle(=n x cycle_p)=<per_tm;n 為整數(shù)
p_b_tm>=cycle_p
如果pid cycly和周期per_tm不同會怎么樣?可以為cycle 選擇一個小于脈沖重復(fù)周期per_tm 的數(shù)值。此設(shè)置適用于需要盡可能高的脈沖重復(fù)周期以減小執(zhí)行器上的磨損,但快速過程需要的采樣時間卻又比較短。如果cycle< per_tm,意味 著一個完整周期還沒有結(jié)束,新的 pid 結(jié)果將會產(chǎn)生,脈沖的輸出狀況將會改變。
圖06
如 圖7,cycle<per_tm,當(dāng)前輸出lmn=50.0,周期20s。一旦 pid 的結(jié)果發(fā)生更改,如圖8,當(dāng)脈沖高電平輸出到20%時,新的 pid 結(jié)果lmn=80.0 到來,則脈沖會在之前的基礎(chǔ)上繼續(xù)輸出余下的60%的高電平后再變?yōu)榈碗娖剑麄€周期仍然保持20s。
圖07
圖08
如果新的pid 的結(jié)果發(fā)生在脈沖的高電平,則會有以下兩種情況(黃色箭頭:已經(jīng)輸出的高電平脈沖;綠色箭頭:新的 pid 結(jié)果):
pid 結(jié)果>當(dāng)前脈沖長度,則脈沖延長
圖09
pid 結(jié)果<當(dāng)前脈沖長度,則脈沖終止
圖10
如果新的pid 的結(jié)果發(fā)生在脈沖的低電平,則會有以下兩種情況(黃色箭頭:已經(jīng)輸出的低電平脈沖;綠色箭頭:新的 pid 結(jié)果)::
100-pid 結(jié)果<=當(dāng)前低電平脈沖長度,則輸出高電平脈沖
圖11
100-pid 結(jié)果>當(dāng)前低電平脈沖長度,則低電平脈沖延長
圖12