Index: PIControllers.c =================================================================== diff -u -rca1d590217b1bfd14f0e0682f88e04de076ff199 -r4f713442a4385395c566c6ca9b161c95e406c1f1 --- PIControllers.c (.../PIControllers.c) (revision ca1d590217b1bfd14f0e0682f88e04de076ff199) +++ PIControllers.c (.../PIControllers.c) (revision 4f713442a4385395c566c6ca9b161c95e406c1f1) @@ -71,6 +71,7 @@ { 0.0, 0.0, 2650, 350, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, CONTROLLER_BIDIRECTIONAL, FALSE, 0.0 }, // PI_CONTROLLER_ID_D12_PUMP { 0.0, 0.0, 2650, 350, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, CONTROLLER_BIDIRECTIONAL, FALSE, 0.0 }, // PI_CONTROLLER_ID_D48_PUMP { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 15.0, CONTROLLER_BIDIRECTIONAL, TRUE, 0.0 }, // PI_CONTROLLER_ID_D5_HEAT + { 0.0, 0.0, 55.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100.0, CONTROLLER_BIDIRECTIONAL, FALSE, 0.0 }, // PI_CONTROLLER_ID_D5_HEAT_OUTER_LOOP { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, CONTROLLER_BIDIRECTIONAL, FALSE, 0.0 }, // PI_CONTROLLER_ID_D45_HEAT { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 25.0, CONTROLLER_UNIDIRECTIONAL, FALSE, 0.0 }, // PI_CONTROLLER_ID_RO_PUMP { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, CONTROLLER_UNIDIRECTIONAL, FALSE, 0.0 }, // PI_CONTROLLER_ID_RO_PUMP_MAX_PRES @@ -340,38 +341,37 @@ return output; } + /*********************************************************************//** * @brief - * The getPIControllerSignals function returns the latest requested signal sample. + * The setPIControllerFeedForward function sets the latest feed forward value + * to the corresponding PI controller. * @details \b Inputs: none - * @details \b Outputs: maxErrorSumStep of controller ID + * @details \b Outputs: feedforward of controller ID * @details \b Alarms: ALARM_ID_XX_SOFTWARE_FAULT when invalid PI controller * Id is passed. - * @details \b Alarms: ALARM_ID_XX_SOFTWARE_FAULT when invalid PI controller - * stemp limit is passed. * @param controllerID ID filter number - * @param stepLimit maximum step limit - * @return latest sample requested + * @param feedforward calculated feed forward control value + * @return none *************************************************************************/ -void setPIControllerStepLimit( PI_CONTROLLER_ID_T controllerID, F32 stepLimit ) +void setPIControllerFeedForward( PI_CONTROLLER_ID_T controllerID, F32 feedforward ) { PI_CONTROLLER_T *controller; if ( controllerID < NUM_OF_PI_CONTROLLERS_IDS ) { SET_CONTROLLER( controller, controllerID ); - if ( ( stepLimit > NEARLY_ZERO ) && ( stepLimit < MAX_ILIMIT ) ) + if ( ( feedforward > controller->uMin ) && ( feedforward < controller->uMax ) ) { - controller->maxErrorSumStep = stepLimit; + controller->feedForward = feedforward; } else { #ifdef _DD_ - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_PI_CTRL_INVALID_STEP_LIMIT, (U32)stepLimit ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_PI_CTRL_INVALID_FEED_FORWARD_LIMIT, (U32)feedforward ) #endif } - } else {