技術(shù)文章
STEP7程序中為什么要用OB35調(diào)用PID塊
閱讀:1524 發(fā)布時間:2015-10-29 pidzui早是采用運放等電路器件實現(xiàn)的,是一個連續(xù)調(diào)節(jié)的過程;
但是數(shù)字電路里面要實現(xiàn)pid,就要進行“離散化",你可以查閱數(shù)字pid的相關(guān)資料。在大學自控專業(yè)的相關(guān)教材里面對此有詳細的理論公式推導。
在plc里面實現(xiàn)pid當然就是個數(shù)字pid,其中一個重要的因素是采樣時間,說的具體點,就是數(shù)字pid——在西門子plc里面就是fb41這個模塊需要定時調(diào)用!比如放在ob35里面,那么ob35(默認100ms)的執(zhí)行周期就是數(shù)字pid的采樣時間,這個100ms是數(shù)字pid運算公式里面的一個重要參數(shù)!所以,把fb41放在ob1里面執(zhí)行,表面看也是可以執(zhí)行的,但運算結(jié)果其實是偏離了理論目標。由于ob1掃描周期不固定,所以結(jié)果很難預料。單說運行是可以的,但用OB35調(diào)用,可以有好的控制精度不是說非要作在OB35里,而是指從OB35調(diào)用主要是0B35以固定周期運行,數(shù)字化PID的采樣周期T必須是等間隔的,所以要用定時中斷來觸發(fā)。PID在定時中斷中執(zhí)行是因為定時中斷準確,是以設(shè)定的周期執(zhí)行的,除非有更高優(yōu)先級的中斷同時發(fā)生.而主程序的執(zhí)行周期不是定長的,在主程序中的定時器的精度也受掃描周期的影響.OB35中斷周期:按所設(shè)定的時間間隔產(chǎn)生中斷。即采樣周期: 常指在周期性的采樣系統(tǒng)中,當對一模擬量進行采樣時,兩次采樣之間的時間間隔。
原理上,PID 的調(diào)節(jié)節(jié)奏應(yīng)該與其采樣周期一致,這是數(shù)學模型應(yīng)與物理過程一致的要求。這也就是 FB41要在 OB35 中周期調(diào)用且 OB35 的周期要與 FB41采樣周期一致的原因。當然,在 OB1 或其他 FC、FB 中調(diào)用 FB41也是可以的,此時將 OB1 參數(shù)區(qū)中掃描周 期作為 FB41 的采樣周期。
FB 41 "CONT_C"
- 為了保證執(zhí)行頻率一致,塊應(yīng)當在循環(huán)中斷 OB (例如. OB35)中調(diào)用。
- "CYCLE" 參數(shù)對應(yīng)的是掃描時間。必須將程序塊調(diào)用的間隔時間賦值在這里 ( 例如基于 OB35 的時間 )。
- 缺省狀態(tài)下為手動模式 (MAN_ON=true)。自動回路被中斷,在MAN參數(shù)下輸出控制值。
- 為了確保手自動的無擾切換,在手動模式下至少保證兩次塊調(diào)用的輸出時間。
- 當 CPU 重新啟動, 參數(shù) "COM_RST" = true 將引導塊的執(zhí)行。
- 參數(shù) "COM_RST" 中斷PID控制器的執(zhí)行。
- FB 42 "CONT_S"
- 為了保證執(zhí)行頻率一致,塊應(yīng)當在循環(huán)中斷 OB (例如. OB35) 中調(diào)用。
- "CYCLE" 參數(shù)對應(yīng)的是掃描時間。必須將程序塊調(diào)用的間隔時間賦值在這里 ( 例如基于 OB35 的時間 )。
- 缺省狀態(tài)下為手動模式 (LMAN_ON=true)。
- 當 CPU 重新啟動, 參數(shù) "COM_RST" = true 將引導塊的執(zhí)行。
- 參數(shù) "COM_RST" 中斷控制器的執(zhí)行。
- 參數(shù) "PULSE_TM" 和 "BREAK_TM" 被設(shè)置為 "CYCLE" 參數(shù)的整數(shù)倍。
- FB 43 "PULSEGEN"
- 為了保證執(zhí)行頻率一致,塊應(yīng)當在循環(huán)中斷 OB (例如. OB35) 中調(diào)用。
- 當 CPU 重新啟動, 參數(shù) "COM_RST" = true 將引導塊的執(zhí)行。
- "CYCLE" 參數(shù)對應(yīng)的是掃描時間。必須將程序塊調(diào)用的間隔時間賦值在這里 ( 例如基于 OB35 的時間 )。
- FB43 可以和 FB41 結(jié)合使用, 但是與 FB42 功能不同。
- 參數(shù) "PER_TM" 必須從 PID 控制器 (FB41) 上設(shè)置掃描時間。
- FB41 的調(diào)用時間通過時鐘分配器完成 (參考 FB43 在線幫助)。
注意:
由于 OB1 不能保證不變的循環(huán)時間,所以不能為 "CYCLE" 提供明確的參數(shù)。一旦 "CYCLE" 參數(shù)不能和掃描時間保持一致,那么基于時間的控制參數(shù)(例如. TI, TD)會看起來很快或者很慢。