首頁>技術>

本章介紹MVD和MV(本章宏指令和上章宏指令連在一起才能編譯成功),以及宏指令變量表。下一章是piD演算法自整定宏指令。 指令原碼如下。 //mvD的計算/////////////////////////////////////////////////////////////////////////////////////////// MVD=MVD/1.3; D4=D4+1; if (D4>=D) //D在這裡,不要亂找。 { MVD= 0; D4= D+10;// 如果沒有此句d4將永遠加下去會益? } if (D1!=SV)//同升降MVD沒變化************* { if (D2!=PV) { if (D0==PV-SV){ D1=SV; D2=PV; } } }//**************************************

if (PV!=D2)//PV有變化.第1種情況. { MVD= MVD+((D2-PV)/(P+0.001)*3600); D4= 0;//'計時開始 }//***********************************

if (SV!=D1)//SV有變化.第2種情況. { MVD= MVD+(((SV-D1))/(P+0.001)*3600);//SV-D1,提供初值 D4= 0;//'計時開始 }//***********************************

if (PV-SV>(P+0.001)/20)//PV高於SV { MVD= 0;// }

if (SV-PV>(P+0.001)*0.1)//SV高於PV { MVD= 0;// } if (D==0) { MVD= 0;// }

D0 = PV - SV; //'計算結束保持等 D1 = SV; D2 = PV; //'mv的輸,////////////////////////////////////////////////////////////////////////// if (LB500==1) //整定期間 { MVI1= 0;MVI2= 0;MVI3= 0;MVIT= 0;MVP= 0; MVI= 0;MVD= 0; } else { MV= MVP+MVI+MVD;//=========================== if (MV>=OPH) { MV= OPH;} if (MV<=0) {MV= 0;MVD=0; MVI1= 0;MVI2= 0;MVI3= 0;MVIT= 0;} if (LB51==0) { MV= 0;MV= 0;MVP=0;MVI=0;MVD=0; MVI1= 0;MVI2= 0;MVI3= 0;MVIT= 0; I0 = PV-SV;I1 = PV; I2 = SV;D0 = PV - SV; D1 = SV; D2 = PV; } } } FXIS_D[1]=MV*3;//y0,將PID計算結果給PLC LW8070=PV;LW8072=SV;LW8074=MV;//給歷史曲線。

return 0; }

4
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • SEMRush是什麼工具?有什麼作用?