首頁 > 運動

用宏指令編寫的溫度pid演算法簡單易懂(七)

由 大龍溫控 發表于 運動2021-12-14

簡介}AT8為記下當時時間 } if (AT2==1) { if (PV<=AT10) { AT10=PV

用pid演算法如何控制溫度

現介紹PiD自整定看下圖

用宏指令編寫的溫度pid演算法簡單易懂(七)

原碼如下。 #include “macrotypedef。h” #include “math。h” int MacroEntry() { if (AT==1)//整定期間如果改變SV停止整定保持原PID引數。在“AT‘按扭屬性裡-控制設定-觸發暫存器操做,設AT=1(LW8320) { AT6=SV; } if (AT6!=SV){ AT=0;LB500=0;}//自整定期間如果改變SV值,自整定停止,p、I、D還保持原值。 if (AT==1) { if (PV<=SV) { MV=OPH;// if (PV>SV){MV=0;AT=0; AT1=1; AT2=0; AT3=0;AT8=0; AT10=500;AT12=-500; } } else { MV=0; AT=0; AT1=1; AT2=0; AT3=0;AT8=0; AT10=500;AT12=-500; } } if (AT1==1) { if (PV<=SV-0。5){MV=OPH;AT8=LW9034/10; AT1=0; AT2=1; }//AT8為記下當時時間 } if (AT2==1) { if (PV<=AT10) { AT10=PV;}//L if (PV>SV){ MV=0; AT2=0; AT3=1; } } if (AT3==1) { if (PV>=AT12) {AT12=PV; }//H if (PV<=SV-0。5) { AT=0; AT3=0; AT8=(LW9034/10)- AT8;// 記下時間差

//把結果放入對應的PID變數 FRW5006=(AT12-AT10-0。5)*25; //P FRW5008=AT8*0。6; //I FRW5010=AT8*0。15; //D LB500=0;//整定結束 } } return 0; }

Tags:svPVAT8MVAT2