diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-10-25 00:46:00 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-10-25 00:46:00 +0300 |
| commit | 06afbbe845af575e943fac296695d33ce8ba2e2f (patch) | |
| tree | 5d5c2857c7c43d71e425b321eeed5215c9a968da /Software/Embedded_SW | |
| parent | a9b9870cf6a00914d4b336dbf31a6d9f5f377d39 (diff) | |
| download | Tango-06afbbe845af575e943fac296695d33ce8ba2e2f.tar.gz Tango-06afbbe845af575e943fac296695d33ce8ba2e2f.zip | |
parameters support for waste prepare
Diffstat (limited to 'Software/Embedded_SW')
3 files changed, 25 insertions, 8 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 39c552d33..f03ca5b4b 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -243,8 +243,8 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) EmbeddedParameters->has_startheatingoninitsequence = true; EmbeddedParameters->startheatingoninitsequence = true; //set to true shlomo 14/5/2019 - EmbeddedParameters->n_generalparameters = 9; - EmbeddedParameters->generalparameters = malloc (sizeof(double)*10); + EmbeddedParameters->n_generalparameters = 12; + EmbeddedParameters->generalparameters = malloc (sizeof(double)*13); if (EmbeddedParameters->generalparameters) { EmbeddedParameters->generalparameters[0] = 1.0; //CheckHardLimitAlarms @@ -255,7 +255,10 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) EmbeddedParameters->generalparameters[5] = 1000.0; //Dispenser initial pressure speed EmbeddedParameters->generalparameters[6] = Diagnostic_Extended_Mode; //Diagnostic Mode SetDiagnosticMode EmbeddedParameters->generalparameters[7] = AutoHoming_JobEnd_PowerOn_off; // - EmbeddedParameters->generalparameters[8] = false; // + EmbeddedParameters->generalparameters[8] = false; //PowerOffDisableCleaning + EmbeddedParameters->generalparameters[9] = 30; // sublimation + EmbeddedParameters->generalparameters[10] = 0.07; // AllowedRangeForHeadBlowerDeviation; + EmbeddedParameters->generalparameters[11] = 0.2; // AllowedRangeForWasteBlowerDeviation = WasteLimit; } EmbeddedParameters->has_currentalarmlowlimit = true; @@ -397,12 +400,16 @@ uint32_t EmbeddedParametersInit(void) } if (EmbeddedParameters->n_generalparameters >= 9) { - if (EmbeddedParameters->generalparameters[9]< 0.5) setPowerOffDisableCleaning(false); + if (EmbeddedParameters->generalparameters[8]< 0.5) setPowerOffDisableCleaning(false); else setPowerOffDisableCleaning(true); } if (EmbeddedParameters->n_generalparameters >= 10) { - setSublimationBlowTime(EmbeddedParameters->generalparameters[10]); + setSublimationBlowTime(EmbeddedParameters->generalparameters[9]); + } + if (EmbeddedParameters->n_generalparameters >= 12) + { + setWastePrepareValues(EmbeddedParameters->generalparameters[11],EmbeddedParameters->generalparameters[11]); } PowerIdleSetParameters(EmbeddedParameters->switchtoidletimeinseconds,EmbeddedParameters->idledriertemperature,EmbeddedParameters->idleheadtemperature,EmbeddedParameters->idlemixertemperature); diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h index cebfba762..8a075bfd4 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h @@ -47,6 +47,7 @@ bool WHS_IsEmptying(); uint32_t Waste_CheckState(void); uint32_t Waste_Prepare(void); bool WHS_IsVocPpmOverAlarmLimit(); +void setWastePrepareValues(float HeadLimit,float WasteLimit); extern bool ReadingVocEverySec; diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c index 267a4e7be..c87dc88c3 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c @@ -532,25 +532,34 @@ uint32_t Waste_CheckState(void) } bool WHS_FlowReady = false,HeadIn_FlowReady = false,HeadOut_FlowReady = false; uint32_t WasteReadyControlId = 0xFF; +float AllowedRangeForHeadBlowerDeviation = 0.07,AllowedRangeForWasteBlowerDeviation = 0.20; +void setWastePrepareValues(float HeadLimit,float WasteLimit) +{ + AllowedRangeForHeadBlowerDeviation = HeadLimit; + AllowedRangeForWasteBlowerDeviation = WasteLimit; +} uint32_t Waste_PrepareCallbak(uint32_t IfIndex, uint32_t ReadValue) { bool ready = false, headready = false,whsready = false; double HeadFlow = GetWHSAirFlow(HEAD_FLOW_METER); double HeadIn_Flow = PressureSensorGetPressure(HEAD_PT100_ZONE_5_0X84_0); double HeadOut_Flow = PressureSensorGetPressure(HEAD_PT100_ZONE_7_0X86_0); - if ((HeadFlow<(headairflow*1.07))&&(HeadFlow>(headairflow*0.93))) + if ((HeadFlow<(headairflow*(1+AllowedRangeForWasteBlowerDeviation))) + &&(HeadFlow>(headairflow*(1-AllowedRangeForWasteBlowerDeviation)))) { if (WHS_FlowReady == false) Report("Module waste WHS_FlowReady ready", __FILE__, __LINE__, (int)(HeadFlow*100), RpMessage, WHS_FlowReady, 0); WHS_FlowReady = true; } - if ((HeadIn_Flow<(headBlowersFlow[0]*1.07))&&(HeadIn_Flow>(headBlowersFlow[0]*0.93))) + if ((HeadIn_Flow<(headBlowersFlow[0]*(1+AllowedRangeForHeadBlowerDeviation))) + &&(HeadIn_Flow>(headBlowersFlow[0]*(1-AllowedRangeForHeadBlowerDeviation)))) { if (HeadIn_FlowReady == false) Report("Module waste HeadIn_FlowReady ready", __FILE__, __LINE__, (int)(HeadIn_Flow*100), RpMessage, HeadIn_FlowReady, 0); HeadIn_FlowReady = true; } - if ((HeadOut_Flow<(headBlowersFlow[1]*1.07))&&(HeadOut_Flow>(headBlowersFlow[1]*0.93))) + if ((HeadOut_Flow<(headBlowersFlow[1]*(1+AllowedRangeForHeadBlowerDeviation))) + &&(HeadOut_Flow>(headBlowersFlow[1]*(1-AllowedRangeForHeadBlowerDeviation)))) { if (HeadOut_FlowReady == false) Report("Module waste HeadOut_FlowReady ready", __FILE__, __LINE__, (int)(HeadOut_Flow*100), RpMessage, WHS_FlowReady, 0); |
