167 virtual void SetCycleTime(real64 arCycleTime)
override;
170 virtual void Activate(
bool abCheckVal =
true,
bool abSimulateVal =
false,
171 bool abSimulateOut =
false,
bool abSimulateAct =
false)
override;
176 virtual uint32 Tune(
const char* apParam)
override;
179 virtual CINCOObject* GetRegister()
override;
182 bool SetPidRunParamKp(uint32 auRangeIndex, real64 arKp);
183 bool SetPidRunParamKi(uint32 auRangeIndex, real64 arKi);
184 bool SetPidRunParamKd(uint32 auRangeIndex, real64 arKd);
186 virtual bool SetPidRunParam(uint32 auRangeIndex, uint32 auParamIndex, real64 arParamValue);
189 bool SetPidHaltParamKp(uint32 auRangeIndex, real64 arKp);
190 bool SetPidHaltParamKi(uint32 auRangeIndex, real64 arKi);
191 bool SetPidHaltParamKd(uint32 auRangeIndex, real64 arKd);
193 virtual bool SetPidHaltParam(uint32 auRangeIndex, uint32 auParamIndex, real64 arParamValue);
198 friend class CINCOTempCtrPar;
199 friend class CINCOTempBlzPar;
203 virtual void Reset()
override;
206 virtual void Jump(real64 arSrc, real64 arDst)
override;
208 virtual void StopJump()
override;
210 virtual void StopTune()
override;
212 virtual void PreControl()
override;
214 virtual bool IsSettled(
bool abAdjAllowed=
false)
override;
216 ICACHE
virtual void Control()
override;
218 ICACHE
void SetActPidSet();
220 void CalcBoltzmann();
222 real64 GetBoltzmann(real64 arT);
224 real64 GetffS(real64 arT);
230 void iJumpCalcPolynom();
232 void iJumpPrepareForHalt();
234 void iJumpFeedForward();
240 bool iTuningWaitTime(real64 arTime);
242 bool iTuningWaitTmax();
244 bool iTuningWaitTmin();
246 bool iTuningSupervision();
248 bool iTuningCheckResult();
250 uint32 iTuningGetPidIndex();
252 void SetPid(
SPidTemp* apSet, uint32 auIndex, real64 arValue);
254 virtual const char* GetStateText()
override;
299 real64 m_rTalarmHyst;
301 bool m_bIgnoreAlarmTemp;
337 real64 m_rHeatFactor;
343 real64 m_rOutTimeout;
349 uint16 m_uJmpStatePff;
351 uint16 m_uJmpStateCtr;
396 real64 m_rTuneTimePoint;
400 real64 m_rTunePulseOut;
402 real64 m_rTunePulseTime;
404 real64 m_rTunePulseTimeout;
406 int32 m_iTunePulseStart;
408 real64 m_rTuneWaveActTime;
410 real64 m_rTuneWaveMinTime;
412 real64 m_rTuneWaveMaxTime;
414 real64 m_rTuneWaveMinAmpl;
416 real64 m_rTuneWaveMaxAmpl;
418 real64 m_rTuneWaveMinPower;
420 real64 m_rTuneWaveMaxPower;
422 uint16 m_uTuneWaveMinCnt;
424 uint16 m_uTuneWaveReqCnt;
426 uint16 m_uTuneWaveCnt;
432 char m_cTuneState[16];
434 char m_cTuneResultState[16];
436 char m_cTuneParam[64];
444 real64 m_rTuneHcpFactor;
446 real64 m_rTuneffSoffset;
450 real64 m_rTuneBlzTmin;
452 real64 m_rTuneBlzTmax;
454 real64 m_rTuneBlzPmax;
458 real64 m_rTuneVmaxTime;
460 real64 m_rTuneVmaxSact;
469 uint32 m_uOutPwmSyncCount{};
471 int32 m_iOutPwmTicks{};
476 inosName32 m_cSignalName;