27#ifndef INC_CINOSTEMPCONTROL_H
28#define INC_CINOSTEMPCONTROL_H
34#define DF_INOS_TEMP_CONTROLLER_NAME "CINOSTempController"
36#define DF_INOS_TEMP_PID_FLAG_ACTIVE 0x00000001
39#define DF_INOS_TEMP_AWM_BACKCALCULATION 0
40#define DF_INOS_TEMP_AWM_CLAMPING 1
41#define DF_INOS_TEMP_AWM_SATURATION 2
42#define DF_INOS_TEMP_AWM_NONE 3
48#define ER_INOS_TEMP_CONTROLLER_BREAK 0x00010000
50#define ER_INOS_TEMP_CONTROLLER_SHORT_CIRCUIT 0x00020000
52#define ER_INOS_TEMP_CONTROLLER_ALARM 0x00040000
54#define ER_INOS_TEMP_CONTROLLER_OUT_FAILURE 0x00080000
56#define ER_INOS_TEMP_CONTROLLER_DELTA 0x00100000
58#define ER_INOS_TEMP_CONTROLLER_OUTPWM_SYNC 0x00200000
62#define WR_INOS_TEMP_CONTROLLER_LOW_TEMP 0x00010000
63#define WR_INOS_TEMP_CONTROLLER_HIGH_TEMP 0x00020000
69#define DF_INOS_TEMP_TUNE_FLAG_ACCEPT "Accept"
73#define DF_INOS_TEMP_TUNE_TYPE_HCP "Type=Hcp"
74#define DF_INOS_TEMP_TUNE_TYPE_PID "Type=Pid"
75#define DF_INOS_TEMP_TUNE_TYPE_FFS "Type=ffS"
76#define DF_INOS_TEMP_TUNE_TYPE_BLZ "Type=Blz"
80#define DF_INOS_TEMP_TUNE_STATE_HCP_POWER_SET 0
81#define DF_INOS_TEMP_TUNE_STATE_HCP_POWER_WAIT 1
82#define DF_INOS_TEMP_TUNE_STATE_HCP_SYSTEM_WAIT 2
83#define DF_INOS_TEMP_TUNE_STATE_HCP_WAIT_MAX 3
87#define DF_INOS_TEMP_TUNE_STATE_PID_STEP_POWER_SET 10
88#define DF_INOS_TEMP_TUNE_STATE_PID_STEP_SYSTEM_WAIT 11
89#define DF_INOS_TEMP_TUNE_STATE_PID_STEP_WAIT_MAX 12
91#define DF_INOS_TEMP_TUNE_STATE_PID_SWING_PULSE_SET 20
92#define DF_INOS_TEMP_TUNE_STATE_PID_SWING_PULSE_WAIT 21
93#define DF_INOS_TEMP_TUNE_STATE_PID_SWING_WAIT_MAX 22
94#define DF_INOS_TEMP_TUNE_STATE_PID_SWING_WAIT_MIN 23
95#define DF_INOS_TEMP_TUNE_STATE_PID_SWING_RELAX 24
96#define DF_INOS_TEMP_TUNE_STATE_PID_SWING_SETTLE 25
100#define DF_INOS_TEMP_TUNE_STATE_FFS_WAIT 30
104#define DF_INOS_TEMP_TUNE_STATE_BLZ_WAIT 40
108#define DF_INOS_TEMP_PID_RANGE_LOW 0
109#define DF_INOS_TEMP_PID_RANGE_MEDIUM 1
110#define DF_INOS_TEMP_PID_RANGE_HIGH 2
179 virtual CINCOObject* GetRegister();
198 friend class CINCOTempCtrPar;
199 friend class CINCOTempBlzPar;
203 virtual void Reset();
206 virtual void Jump(real64
arSrc, real64
arDst);
208 virtual void StopJump();
210 virtual void StopTune();
212 virtual void PreControl();
216 ICACHE
virtual void Control();
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();
254 virtual const char* GetStateText();
299 real64 m_rTalarmHyst;
301 bool m_bIgnoreAlarmTemp;
337 real64 m_rHeatFactor;
343 real64 m_rOutTimeout;
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;
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;
Definition cinosadcchannel.h:53
Definition cinosbasecontroller.h:110
Definition cinosdacchannel.h:52
Definition cinosmcmodule.h:1900
Definition cinosprocessimagechannel.h:111
Definition cinostempcontroller.h:155
class CINOSOutPwm * m_pOutPwm
pointer to output channel if bit
Definition cinostempcontroller.h:467
Definition cinostempcontroller.h:129
Definition cinostempcontroller.h:145