diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-02-25 11:39:27 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-02-25 11:39:27 +0200 |
| commit | 2f0962db91caa293c9eb43f511c18f25acf9a603 (patch) | |
| tree | 3041794928ad79534886560b7b0be6e74f148283 /Software/Embedded_SW/Embedded/Modules | |
| parent | 5c8596be64deacfbe282c03ba21cec66ed4e2494 (diff) | |
| download | Tango-2f0962db91caa293c9eb43f511c18f25acf9a603.tar.gz Tango-2f0962db91caa293c9eb43f511c18f25acf9a603.zip | |
Current handling supported
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
4 files changed, 33 insertions, 6 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index 1cc8e766b..00ce306cf 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -694,6 +694,7 @@ uint32_t MillisecLowLoop(uint32_t tick) if (O600Millisecond_Tick) { Trigger_WHSReadAllFanTacho (); + DrierHeaterVoltageSetup(); if (RapidPressureRead == false) { for (Disp_i = 0;Disp_i < MAX_SYSTEM_DISPENSERS;Disp_i++) @@ -928,7 +929,7 @@ void HundredMicroTimerInterrupt(int ARG0) StoreBuffer[StoreBufferId][StoreBufferCounter++] = dancer2; StoreBuffer[StoreBufferId][StoreBufferCounter++] = dancer3; /*-----------------------*/ - //len = usprintf(&StoreBuffer[StoreBufferId][StoreBufferCounter], "\r\n%d %d %d", dancer1[dancer_count],dancer2[dancer_count],dancer3[dancer_count]); + //len = usprintf(&StoreBuffer[StoreBufferId][StoreBufferCounter], "%d %d %d", dancer1[dancer_count],dancer2[dancer_count],dancer3[dancer_count]); //StoreBufferCounter+=(len+1); /*-----------------------*/ dancer1sum+=dancer1; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h index 0c6ee94ee..1b5bd3518 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h @@ -33,6 +33,7 @@ uint32_t LoadHeaterSetPoint(HeaterType HeaterType); void Heaters_SetOverHeatTimeOutValues(uint32_t OverHeatTimeout, uint32_t UnderHeatTimeout); void Heaters_SetOperationLimits(int acheatersloweroperationlimit,int acheatersupperoperationlimit,int dcheatersloweroperationlimit,int dcheatersupperoperationlimit); +uint32_t DrierHeaterVoltageSetup(void); uint32_t HeatersEnd(void); void HeatersControlStop(void); diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index bc0d1002b..55b8e31c3 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -1503,13 +1503,16 @@ double TotalCurrentLimit(double VAC) } } -uint32_t DrierHeaterVoltageSetup(double voltage) +uint32_t DrierHeaterVoltageSetup(void) { double DrierAcVoltage = 0.0; char str[100]; bool tempDrier2 = UseSecondaryDrierHeater; + double Z1Current,Z2AssumedCurrent,LimitCurrent; +#ifndef VAC_TEST if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) //rapid/pp machines +#endif { DrierAcVoltage = ReadVAC(); if (DrierAcVoltage<=180) @@ -1536,7 +1539,10 @@ uint32_t DrierHeaterVoltageSetup(double voltage) } else { - if ((GetZone2RMSCurrent(DrierAcVoltage)+Get_Heaters_Current(HEATER_DRYER_CURRENT_1))>TotalCurrentLimit(DrierAcVoltage)) + Z1Current = Get_Heaters_Current(HEATER_DRYER_CURRENT_1); + Z2AssumedCurrent = GetZone2RMSCurrent(DrierAcVoltage); + LimitCurrent = TotalCurrentLimit(DrierAcVoltage); + if ((Z2AssumedCurrent+Z1Current)>LimitCurrent) { UseSecondaryDrierHeater = false; } @@ -1546,15 +1552,22 @@ uint32_t DrierHeaterVoltageSetup(double voltage) } } } +#ifndef VAC_TEST else { UseSecondaryDrierHeater = true; } +#endif if (tempDrier2 != UseSecondaryDrierHeater) { - usnprintf(str, 100, "\r\n Changing Drier 2 setting VAC %d D1 Current %d D2 assumed current %d limit %d" - ,DrierAcVoltage,(int)(GetZone2RMSCurrent(DrierAcVoltage)*100),(int)(Get_Heaters_Current(HEATER_DRYER_CURRENT_1)*100),(int)(TotalCurrentLimit(DrierAcVoltage)*100)); + usnprintf(str, 100, "Changing Drier 2 from %d to %d VAC %d D1 Current %d D2 assumed current %d limit %d" ,tempDrier2,UseSecondaryDrierHeater + ,(int)DrierAcVoltage,(int)(Z1Current*100),(int)(Z2AssumedCurrent*100),(int)(LimitCurrent*100)); ReportWithPackageFilter(HeatersFilter,str, __FILE__,__LINE__,DrierAcVoltage, RpMessage, UseSecondaryDrierHeater, 0); + if (UseSecondaryDrierHeater == false) + { + DeActivateHeater (HEATER_TYPE__DryerSecondaryHeater); + } + } return OK; } @@ -1565,7 +1578,7 @@ uint32_t HeatersControlLoop(uint32_t tick) int DcHeaterId; bool AcHeaterDisaster = false; - /*len = usnprintf(str, 100, "\r\n EightMilliSecondHeatersInterrupt SliceCounter %d Owner %d H1000 %d H2000 %d" + /*len = usnprintf(str, 100, " EightMilliSecondHeatersInterrupt SliceCounter %d Owner %d H1000 %d H2000 %d" ,SliceCounter,TimeSliceAllocation[SliceCounter],HeatersRestart,NumberOFSlicesInUse); ReportWithPackageFilter(HeatersFilter,str, __FILE__,__LINE__,0, RpMessage, SliceCounter, TimeSliceAllocation[SliceCounter]); */ diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index c907f7cb8..12e344b79 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -664,6 +664,18 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) response.has_progress = true; } +#ifdef VAC_TEST + else + if(request->amount == 0xB6) //fast refresh for pressure + { + LOG_ERROR(request->delay,"set vac read test"); + VAC_Test = (double)request->delay; + response.progress = request->delay; + response.has_progress = true; + + } +#endif + else if(request->amount == 0xC3) //suspend I2C task { |
