diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-12-19 13:55:03 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-12-19 13:55:03 +0200 |
| commit | 882fbad8c582fc8f381e1fa38f142f4eb287d589 (patch) | |
| tree | d4ce14552a30e282ceaf648837be03ab06750ae2 /Software/Embedded_SW/Embedded | |
| parent | a57535d08a68e67fd2f73d5742fc4517817d5f92 (diff) | |
| download | Tango-882fbad8c582fc8f381e1fa38f142f4eb287d589.tar.gz Tango-882fbad8c582fc8f381e1fa38f142f4eb287d589.zip | |
Heaters: start printing only when reaching 99% of the running temperature
Diffstat (limited to 'Software/Embedded_SW/Embedded')
3 files changed, 29 insertions, 9 deletions
diff --git a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c index be3c0d3d4..d5d465adb 100644 --- a/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c +++ b/Software/Embedded_SW/Embedded/Communication/CommunicationTask.c @@ -234,7 +234,7 @@ void communicationTxTask(UArg arg0, UArg arg1) if (diagnosticscontainer_buffer == Message.Buff) diagnosticscontainer_buffer = 0; my_free(Message.Buff); - delayms(5); //wait 5 milliseconds between messages + //delayms(1); //wait 5 milliseconds between messages } } diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg index 4f2dfa09c..240a79a6f 100644 --- a/Software/Embedded_SW/Embedded/Embedded.cfg +++ b/Software/Embedded_SW/Embedded/Embedded.cfg @@ -17,7 +17,7 @@ var Task = xdc.useModule('ti.sysbios.knl.Task'); BIOS.heapSize = 30767; // bios heapmem //Memory.defaultHeapSize = 48767; -Program.heap = 40000; //sysmem +Program.heap = 50000; //sysmem Clock.timerId = 7; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 35b8ea9f7..fe18d9d84 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -153,6 +153,7 @@ uint32_t LoadHeaterSetPoint(HeaterType HeaterType) void LoadHeaterState(HeaterType HeaterType,HeaterState *HeaterState) { int HeaterId = HeaterType; + double temp = TemperatureSensorRead(HeaterId2PT100Id[HeaterId]); HeaterState->has_heatertype = true; HeaterState->heatertype = HeaterType; @@ -160,17 +161,19 @@ void LoadHeaterState(HeaterType HeaterType,HeaterState *HeaterState) // HeaterState->setpoint = HeaterCmd[HeaterId].targettemperatue/100; // if (HeaterType >= HEATER_TYPE__HeaterZone1) HeaterState->setpoint = DCTimeSliceAllocation[HeaterId]*100/NumberOFSlicesInUse; - if (HeaterId == HARDWARE_PID_CONTROL_TYPE__DryerAirTemperature) - HeaterState->setpoint = HeaterControl[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain].outputproportionalpowerlimit; HeaterState->has_currentvalue = true; - HeaterState->currentvalue = TemperatureSensorRead(HeaterId2PT100Id[HeaterId])/100; + HeaterState->currentvalue = temp/100;//TemperatureSensorRead(HeaterId2PT100Id[HeaterId])/100; HeaterState->has_isactive = true; HeaterState->isactive = GetHeaterState(HeaterId); HeaterState->has_isrampingup = true; HeaterState->isrampingup = DCInitialHeating[HeaterId]; HeaterState->has_isinsetpoint = true; HeaterState->isinsetpoint = HeaterReady[HeaterId]; - + if (HeaterId == HARDWARE_PID_CONTROL_TYPE__DryerAirTemperature) + { + HeaterState->setpoint = HeaterControl[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain].outputproportionalpowerlimit; + HeaterState->isrampingup = InitialHeating; + } return; } uint32_t HeatersSingleHeaterEnd(HardwarePidControlType HeaterId) @@ -543,8 +546,8 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) DeActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); HeaterRecalculateSharedHeatersParams(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary, 0); HeatersControlStart(); - HeaterReady[index] = true; - HeaterPrepareReady(); + //HeaterReady[index] = true; + //HeaterPrepareReady(); if (BlowerCfg.enabled == true) { Turn_the_Blower_On();//Turn on with the Default_Voltage @@ -554,6 +557,14 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) } } } + if (HeaterReady[index]==false) + { + if ((readValue > (HeaterCmd[index].targettemperatue * 99/100))&&(readValue < (HeaterCmd[index].targettemperatue * 101/100)))//read value within 0.5 percent from target + { + HeaterReady[index] = true; + HeaterPrepareReady(); + } + } if(HeaterPIDConfig[index].m_isEnabled && (HeaterPIDConfig[index].m_SetParam != 0)) { HeaterPIDConfig[index].m_mesuredParam = readValue; @@ -654,10 +665,19 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) { DCInitialHeating[index] = false; HeatersControlStart(); + //HeaterReady[index] = true; + //HeaterPrepareReady(); + } + } + if (HeaterReady[index]==false) + { + if ((readValue > (HeaterCmd[index].targettemperatue * 99/100))&&(readValue < (HeaterCmd[index].targettemperatue * 101/100)))//read value within 0.5 percent from target + { HeaterReady[index] = true; HeaterPrepareReady(); } } + if(HeaterPIDConfig[index].m_isEnabled && (HeaterPIDConfig[index].m_SetParam != 0)) { if (HeaterControl[index].pidactive == false) @@ -792,7 +812,7 @@ uint32_t HeatersControlLoop(uint32_t tick) } for ( DcHeaterId = HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1; DcHeaterId<= HARDWARE_PID_CONTROL_TYPE__MixerHeater;DcHeaterId++) { - if (HeaterReady[DcHeaterId] == false) + if (DCInitialHeating[DcHeaterId] == true) continue; if (DCTimeSliceAllocation[DcHeaterId] > 0) //heater active { |
