From b1de1d1f0a74cb1c2541e972c802fd967ec59e0a Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 2 Jul 2018 13:52:40 +0300 Subject: alarm handling improves, job processing messages, preparations for head heaters 5-6 --- .../Embedded/Modules/AlarmHandling/AlarmHandling.c | 1 + .../Embedded/Modules/AlarmHandling/Diagnostics.c | 12 ++++++++++++ .../Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c | 14 +++++++------- 3 files changed, 20 insertions(+), 7 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index f9e9c391d..53cca5284 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -141,6 +141,7 @@ uint32_t AlarmHandlingConsequentActions(EventType EventId, DebugLogCategory Seve break; } + return OK; } uint32_t AlarmHandlingLoop(uint32_t tick) diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c index 2349574c7..2e989bbf5 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c @@ -58,6 +58,9 @@ double mixertemperature[DIAGNOSTICS_LIMIT]; double headzone1temperature[DIAGNOSTICS_LIMIT]; double headzone2temperature[DIAGNOSTICS_LIMIT]; double headzone3temperature[DIAGNOSTICS_LIMIT]; +double headzone4temperature[DIAGNOSTICS_LIMIT]; +double headzone5temperature[DIAGNOSTICS_LIMIT]; +double headzone6temperature[DIAGNOSTICS_LIMIT]; double dryerzone1temperature[DIAGNOSTICS_LIMIT]; double dryerzone2temperature[DIAGNOSTICS_LIMIT]; double dryerzone3temperature[DIAGNOSTICS_LIMIT]; @@ -124,6 +127,9 @@ void DiagnosticCollection(void) headzone1temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP1); headzone2temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP2); headzone3temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP3); + //headzone4temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP4); + //headzone5temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP5); + //headzone6temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_AN_ENCLOSURETEMP3); dryerzone1temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP1); dryerzone2temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP2); dryerzone3temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP3); @@ -183,6 +189,9 @@ void SendDiagnostics(void) DiagnosticsMonitor.n_headzone1temperature = DiagnosticsIndex; DiagnosticsMonitor.n_headzone2temperature = DiagnosticsIndex; DiagnosticsMonitor.n_headzone3temperature = DiagnosticsIndex; + //DiagnosticsMonitor.n_headzone4temperature = DiagnosticsIndex; + //DiagnosticsMonitor.n_headzone5temperature = DiagnosticsIndex; + //DiagnosticsMonitor.n_headzone6temperature = DiagnosticsIndex; DiagnosticsMonitor.n_dryerzone1temperature = DiagnosticsIndex; DiagnosticsMonitor.n_dryerzone2temperature = DiagnosticsIndex; DiagnosticsMonitor.n_dryerzone3temperature = DiagnosticsIndex; @@ -208,6 +217,9 @@ void SendDiagnostics(void) DiagnosticsMonitor.headzone1temperature = headzone1temperature; DiagnosticsMonitor.headzone2temperature = headzone2temperature; DiagnosticsMonitor.headzone3temperature = headzone3temperature; + //DiagnosticsMonitor.headzone4temperature = headzone4temperature; + //DiagnosticsMonitor.headzone5temperature = headzone5temperature; + //DiagnosticsMonitor.headzone6temperature = headzone6temperature; DiagnosticsMonitor.dryerzone1temperature = dryerzone1temperature; DiagnosticsMonitor.dryerzone2temperature = dryerzone2temperature; DiagnosticsMonitor.dryerzone3temperature = dryerzone3temperature; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 32509dfea..b893be716 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -43,16 +43,16 @@ typedef struct HeatersControlMessage{ /******************** GLOBAL PARAMETERS ********************************************/ HeaterCommand HeaterCmd[MAX_HEATERS_NUM]; -uint32_t ControlIdtoHeaterId [MAX_HEATERS_NUM] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; +uint32_t ControlIdtoHeaterId [MAX_HEATERS_NUM] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; uint32_t DryerHeaterMaxTempControl = 0xFF; #warning the PT100 id for the dryer control is number2 - dryer internal ambient sensor. #warning the PT100 for head 4 is number 5 -uint32_t HeaterId2PT100Id[MAX_HEATERS_NUM] = {TEMP_SENSE_ANALOG_DRYER_TEMP2,TEMP_SENSE_ANALOG_DRYER_TEMP1,TEMP_SENSE_ANALOG_DRYER_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP1,TEMP_SENSE_ANALOG_DYEINGH_TEMP2,TEMP_SENSE_ANALOG_DYEINGH_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP5,TEMP_SENSE_ANALOG_MIXCHIP_TEMP}; +uint32_t HeaterId2PT100Id[MAX_HEATERS_NUM] = {TEMP_SENSE_ANALOG_DRYER_TEMP2,TEMP_SENSE_ANALOG_DRYER_TEMP1,TEMP_SENSE_ANALOG_DRYER_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP1,TEMP_SENSE_ANALOG_DYEINGH_TEMP2,TEMP_SENSE_ANALOG_DYEINGH_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP5,TEMP_SENSE_AN_ENCLOSURETEMP3,TEMP_SENSE_ANALOG_MIXCHIP_TEMP}; uint32_t DryerInternalPT100Id = TEMP_SENSE_ANALOG_DRYER_TEMP1; bool HeatersRestart = false; -bool HeaterMaxTempFlag[MAX_HEATERS_NUM] = {false,false,false,false,false,false,false,false}; -bool HeaterControlFlag[MAX_HEATERS_NUM] = {true,true,true,true,true,true,true,true}; +bool HeaterMaxTempFlag[MAX_HEATERS_NUM] = {false,false,false,false,false,false,false,false,false,false}; +bool HeaterControlFlag[MAX_HEATERS_NUM] = {true,true,true,true,true,true,true,true,false,false}; uint32_t OutputProportionalSingleStep = 0; //A/C Heaters step size from one decision point to another - in cpu clocks. 120000 = 1 millisecod uint32_t Heater_timerBase = TIMER2_BASE; //Timer handle @@ -441,7 +441,7 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) { int index=MAX_HEATERS_NUM; - double temperror = 0.0, correction = 0.0; + double temperror = 0.0; /*char str[100]; uint8_t len = 0;*/ if (IfIndex>>8 != IfTypeHeaters) @@ -515,8 +515,8 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) HeaterPIDConfig[index].m_mesuredParam = temperror; HeaterPIDConfig[index].m_calculatedError = PIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); - correction = HeaterPIDConfig[index].m_calculatedError; -// HeaterRecalculateHeaterParams(index, (int)(HeaterPIDConfig[index].m_calculatedError*100)); +#warning PID is now only proportional (above) + // HeaterRecalculateHeaterParams(index, (int)(HeaterPIDConfig[index].m_calculatedError*100)); } -- cgit v1.3.1