:fb41的pid:
一、在ob35里面插入fb41,方框頂上會有紅字,輸入一個類似“db120”的,系統會問你要不要生成這個db,yes就可以
二、大部分參數不要填,默認就行,下面是常用參數,用變量連接:
1、man_on:用一個bool量,如m0.0,為true則手動,為false則自動;
2、cycle:t#100ms,這個值與ob35默認的100ms一致;
3、sp_int:md2,是hmi發下來的設定值,0-100.0的范圍,real型;
4、pv_in:md6,實際測量值,比如壓力,要從piw×××轉換為0-100.0的量程;
5、man:md10,op值,也就是手動狀態下的閥門輸出,real型,0-100.0的范圍;
6、gain:md14,pid的p啊,默認寫1-2吧(系統默認是2),調試的時候再改
7、ti:mw20,pid的i啊.默認寫t#30s吧,調試的時候改;
8、dead_w:md22,死區,就是sp和pv的偏差死區,0-100.0的范圍,默認0,調試的時候改;
輸出:
9、lmn:md26,0-100。0,最終再用fc106轉換為word型move到pqw×××,如果pid運算結果不再有工藝條件其他限制可以用lmn_per更簡單就不用fc106了。
三、用plcsim模擬
1、手動
man_on=true,看輸出是否等于man;
2、自動
man_on=false,調整pv或者sp,使得有偏差大于死區,看輸出變化,這里的模擬只能說明pid工作了,不能測試實際調節效果啊。
2、在pid中有不同的物理量,例如溫度、壓力及閥門開度等,它們的量綱單位均不同,所以要進行規格化工作。
規格化概念及方法:
pid參數中重要的幾個變量,給定值,反饋值和輸出值都是用0.0~100.0之間的實數表示,
而這幾個變量在實際中都是來自與模擬輸入,或者輸出控制模擬量的
因此,需要將模擬輸入轉換為0.0~100.0的數據,或將0.0~100.0的數據轉換為模擬輸出,這個過程稱為規格化
規格化的方法:(即變量相對所占整個值域范圍內的百分比對應與27648數字量范圍內的量)
對于輸入和反饋,執行:變量*100/27648,然后將結果傳送到pv-in和sp-int
對于輸出變量,執行:lmn*27648/100,然后將結果取整傳送給pqw即可;
d:pid的調整方法:
一般不用d,除非一些大功率加熱控制等慣大的系統;僅使用pi即可,
一般先使i等于0,p從0開始往上加,直到系統出現等幅振蕩為止,記下此時振蕩的周期,然后設置i為振蕩周期的0.48倍,應該就可以滿足大多數的需求。