170 virtual void SetCycleTime(real64 arCycleTime)
override;
173 virtual void Activate(
bool abCheckVal =
true,
bool abSimulateVal =
false,
174 bool abSimulateOut =
false,
bool abSimulateAct =
false)
override;
179 virtual uint32 Tune(
const char* apParam)
override;
181 virtual uint32 TuneAccept(
const char* apParam)
override;
184 virtual CINCOObject* GetRegister()
override;
187 bool SetPidRunParamKp(uint32 auRangeIndex, real64 arKp);
188 bool SetPidRunParamKi(uint32 auRangeIndex, real64 arKi);
189 bool SetPidRunParamKd(uint32 auRangeIndex, real64 arKd);
191 virtual bool SetPidRunParam(uint32 auRangeIndex, uint32 auParamIndex, real64 arParamValue);
194 bool SetPidHaltParamKp(uint32 auRangeIndex, real64 arKp);
195 bool SetPidHaltParamKi(uint32 auRangeIndex, real64 arKi);
196 bool SetPidHaltParamKd(uint32 auRangeIndex, real64 arKd);
198 virtual bool SetPidHaltParam(uint32 auRangeIndex, uint32 auParamIndex, real64 arParamValue);
203 friend class CINCOTempCtrPar;
204 friend class CINCOTempBlzPar;
208 virtual void Reset()
override;
211 virtual void Jump(real64 arSrc, real64 arDst)
override;
213 virtual void StopJump()
override;
215 virtual void StopTune()
override;
217 virtual void PreControl()
override;
219 virtual bool IsSettled(
bool abAdjAllowed=
false)
override;
221 ICACHE
virtual void Control()
override;
223 ICACHE
void SetActPidSet();
225 void CalcBoltzmann();
227 real64 GetBoltzmann(real64 arT);
229 real64 GetffS(real64 arT);
235 void iJumpCalcPolynom();
237 void iJumpPrepareForHalt();
239 void iJumpFeedForward();
245 bool iTuningWaitTime(real64 arTime);
247 bool iTuningWaitTmax();
249 bool iTuningWaitTmin();
251 bool iTuningSupervision();
253 bool iTuningCheckResult();
255 uint32 iTuningGetPidIndex();
257 void SetPid(
SPidTemp* apSet, uint32 auIndex, real64 arValue);
259 virtual const char* GetStateText()
override;
262 void iTuneAcceptHcp();
264 void iTuneAcceptPid(uint8 auSet);
266 void iTuneAcceptffS();
268 void iTuneAcceptBlz();
313 real64 m_rTalarmHyst;
315 bool m_bIgnoreAlarmTemp;
351 real64 m_rHeatFactor;
357 real64 m_rOutTimeout;
363 uint16 m_uJmpStatePff;
365 uint16 m_uJmpStateCtr;
410 real64 m_rTuneTimePoint;
414 real64 m_rTunePulseOut;
416 real64 m_rTunePulseTime;
418 real64 m_rTunePulseTimeout;
420 int32 m_iTunePulseStart;
422 real64 m_rTuneWaveActTime;
424 real64 m_rTuneWaveMinTime;
426 real64 m_rTuneWaveMaxTime;
428 real64 m_rTuneWaveMinAmpl;
430 real64 m_rTuneWaveMaxAmpl;
432 real64 m_rTuneWaveMinPower;
434 real64 m_rTuneWaveMaxPower;
436 uint16 m_uTuneWaveMinCnt;
438 uint16 m_uTuneWaveReqCnt;
440 uint16 m_uTuneWaveCnt;
446 char m_cTuneState[16];
448 char m_cTuneResultState[16];
450 char m_cTuneParam[64];
458 real64 m_rTuneHcpFactor;
460 real64 m_rTuneffSoffset;
464 real64 m_rTuneBlzTmin;
466 real64 m_rTuneBlzTmax;
468 real64 m_rTuneBlzPmax;
472 real64 m_rTuneVmaxTime;
474 real64 m_rTuneVmaxSact;
483 uint32 m_uOutPwmSyncCount{};
485 int32 m_iOutPwmTicks{};
490 inosName64 m_cSignalName;
499 inosName64 m_cLimInput{};