|
MotorWare f2806x Module API Documentation
|
Modules | |
| Module overview | |
Data Structures | |
| struct | _PID_Obj_ |
| Defines the PID controller object. More... | |
Typedefs | |
| typedef struct _PID_Obj_ | PID_Obj |
| Defines the PID controller object. More... | |
| typedef struct _PID_Obj_ * | PID_Handle |
| Defines the PID handle. More... | |
| typedef struct _PID_Obj_ | PID_Obj |
| Defines the PID controller object. More... | |
| typedef struct _PID_Obj_ * | PID_Handle |
| Defines the PID handle. More... | |
Functions | |
| static _iq | PID_getFbackValue (PID_Handle handle) |
| Gets the feedback value in the PID controller. More... | |
| static void | PID_getGains (PID_Handle handle, _iq *pKp, _iq *pKi, _iq *pKd) |
| Gets the gains in the PID controller. More... | |
| static _iq | PID_getKd (PID_Handle handle) |
| Gets the derivative gain in the PID controller. More... | |
| static _iq | PID_getKi (PID_Handle handle) |
| Gets the integral gain in the PID controller. More... | |
| static _iq | PID_getKp (PID_Handle handle) |
| Gets the proportional gain in the PID controller. More... | |
| static void | PID_getMinMax (PID_Handle handle, _iq *pOutMin, _iq *pOutMax) |
| Gets the minimum and maximum output value allowed in the PID controller. More... | |
| static _iq | PID_getOutMax (PID_Handle handle) |
| Gets the maximum output value allowed in the PID controller. More... | |
| static _iq | PID_getOutMin (PID_Handle handle) |
| Gets the minimum output value allowed in the PID controller. More... | |
| static _iq | PID_getRefValue (PID_Handle handle) |
| Gets the reference value in the PID controller. More... | |
| static _iq | PID_getUi (PID_Handle handle) |
| Gets the integrator start value in the PID controller. More... | |
| PID_Handle | PID_init (void *pMemory, const size_t numBytes) |
| Initializes the PID controller. More... | |
| static void | PID_run (PID_Handle handle, const _iq refValue, const _iq fbackValue, _iq *pOutValue) |
| Runs the PID controller. More... | |
| static void | PID_run_spd (PID_Handle handle, const _iq refValue, const _iq fbackValue, _iq *pOutValue) |
| Runs the PID controller for speed. More... | |
| static void | PID_setFbackValue (PID_Handle handle, const _iq fbackValue) |
| Sets the feedback value in the PID controller. More... | |
| static void | PID_setGains (PID_Handle handle, const _iq Kp, const _iq Ki, const _iq Kd) |
| Sets the gains in the PID controller. More... | |
| static void | PID_setKd (PID_Handle handle, const _iq Kd) |
| Sets the derivative gain in the PID controller. More... | |
| static void | PID_setKi (PID_Handle handle, const _iq Ki) |
| Sets the integral gain in the PID controller. More... | |
| static void | PID_setKp (PID_Handle handle, const _iq Kp) |
| Sets the proportional gain in the PID controller. More... | |
| static void | PID_setMinMax (PID_Handle handle, const _iq outMin, const _iq outMax) |
| Sets the minimum and maximum output value allowed in the PID controller. More... | |
| static void | PID_setOutMax (PID_Handle handle, const _iq outMax) |
| Sets the maximum output value allowed in the PID controller. More... | |
| static void | PID_setOutMin (PID_Handle handle, const _iq outMin) |
| Sets the minimum output value allowed in the PID controller. More... | |
| static void | PID_setRefValue (PID_Handle handle, const _iq refValue) |
| Sets the reference value in the PID controller. More... | |
| static void | PID_setUi (PID_Handle handle, const _iq Ui) |
| Sets the integrator start value in the PID controller. More... | |
| void | PID_getDerFilterParams (PID_Handle handle, float_t *b0, float_t *b1, float_t *a1, float_t *x1, float_t *y1) |
| Gets the derivative filter parameters. More... | |
| static float_t | PID_getFfwdValue (PID_Handle handle) |
| Gets the feedforward value in the PID controller. More... | |
| static void | PID_getGains (PID_Handle handle, float_t *pKp, float_t *pKi, float_t *pKd) |
| Gets the gains in the PID controller. More... | |
| static void | PID_getMinMax (PID_Handle handle, float_t *pOutMin, float_t *pOutMax) |
| Gets the minimum and maximum output value allowed in the PID controller. More... | |
| void | PID_setDerFilterParams (PID_Handle handle, const float_t b0, const float_t b1, const float_t a1, const float_t x1, const float_t y1) |
| Sets the derivative filter parameters. More... | |
| static void | PID_setFbackValue (PID_Handle handle, const float_t fbackValue) |
| Sets the feedback value in the PID controller. More... | |
| static void | PID_setFfwdValue (PID_Handle handle, const float_t ffwdValue) |
| Sets the feedforward value in the PID controller. More... | |
| static void | PID_setGains (PID_Handle handle, const float_t Kp, const float_t Ki, const float_t Kd) |
| Sets the gains in the PID controller. More... | |
| static void | PID_setKd (PID_Handle handle, const float_t Kd) |
| Sets the derivative gain in the PID controller. More... | |
| static void | PID_setKi (PID_Handle handle, const float_t Ki) |
| Sets the integral gain in the PID controller. More... | |
| static void | PID_setKp (PID_Handle handle, const float_t Kp) |
| Sets the proportional gain in the PID controller. More... | |
| static void | PID_setMinMax (PID_Handle handle, const float_t outMin, const float_t outMax) |
| Sets the minimum and maximum output value allowed in the PID controller. More... | |
| static void | PID_setOutMax (PID_Handle handle, const float_t outMax) |
| Sets the maximum output value allowed in the PID controller. More... | |
| static void | PID_setOutMin (PID_Handle handle, const float_t outMin) |
| Sets the minimum output value allowed in the PID controller. More... | |
| static void | PID_setRefValue (PID_Handle handle, const float_t refValue) |
| Sets the reference value in the PID controller. More... | |
| static void | PID_setUi (PID_Handle handle, const float_t Ui) |
| Sets the integrator start value in the PID controller. More... | |
| static void | PID_run_parallel (PID_Handle handle, const float_t refValue, const float_t fbackValue, const float_t ffwdValue, float_t *pOutValue) |
| Runs the parallel form of the PID controller. More... | |
| static void | PID_run_series (PID_Handle handle, const float_t refValue, const float_t fbackValue, const float_t ffwdValue, float_t *pOutValue) |
| Runs the series form of the PID controller. More... | |
| struct _PID_Obj_ |
| Data Fields | ||
|---|---|---|
| FILTER_FO_Obj | derFilter | the derivative filter object |
| FILTER_FO_Handle | derFilterHandle | the derivative filter handle |
| _iq | fbackValue | the feedback input value |
| float_t | fbackValue | the feedback input value |
| float_t | ffwdValue | the feedforward input value |
| _iq | Kd | the derivative gain for the PID controller |
| float_t | Kd | the derivative gain for the PID controller |
| _iq | Ki | the integral gain for the PID controller |
| float_t | Ki | the integral gain for the PID controller |
| _iq | Kp | the proportional gain for the PID controller |
| float_t | Kp | the proportional gain for the PID controller |
| _iq | outMax | the maximum output value allowed for the PID controller |
| float_t | outMax | the maximum output value allowed for the PID controller |
| _iq | outMin | the minimum output value allowed for the PID controller |
| float_t | outMin | the minimum output value allowed for the PID controller |
| _iq | refValue | the reference input value |
| float_t | refValue | the reference input value |
| _iq | Ui | the integrator start value for the PID controller |
| float_t | Ui | the integrator start value for the PID controller |
| typedef struct _PID_Obj_* PID_Handle |
| typedef struct _PID_Obj_* PID_Handle |
Defines the PID handle.
Definition at line 97 of file float/pid.h.
| void PID_getDerFilterParams | ( | PID_Handle | handle, |
| float_t * | b0, | ||
| float_t * | b1, | ||
| float_t * | a1, | ||
| float_t * | x1, | ||
| float_t * | y1 | ||
| ) |
Gets the derivative filter parameters.
y[n] = b0*x[n] + b1*x[n-1] - a1*y[n-1]
| [in] | handle | The PID controller handle |
| [in] | b0 | The numerator filter coefficient value for z^0 |
| [in] | b1 | The numerator filter coefficient value for z^(-1) |
| [in] | a1 | The denominator filter coefficient value for z^(-1) |
| [in] | x1 | The input value at time sample n=-1 |
| [in] | y1 | The output value at time sample n=-1 |
Definition at line 56 of file float/pid.c.
References _PID_Obj_::derFilterHandle, FILTER_FO_get_a1(), FILTER_FO_get_b0(), FILTER_FO_get_b1(), FILTER_FO_get_x1(), and FILTER_FO_get_y1().
|
inlinestatic |
Gets the feedback value in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 102 of file 32b/pid.h.
References _PID_Obj_::fbackValue.
Referenced by USER_computeTorque_lbin(), and USER_computeTorque_Nm().
|
inlinestatic |
Gets the feedforward value in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 132 of file float/pid.h.
References _PID_Obj_::ffwdValue.
|
inlinestatic |
Gets the gains in the PID controller.
| [in] | handle | The PID controller handle |
| [out] | pKp | The pointer to the proportional gain value |
| [out] | pKi | The pointer to the integrator gain value |
| [out] | pKd | The pointer to the derivative gain value |
Definition at line 115 of file 32b/pid.h.
References _PID_Obj_::Kd, _PID_Obj_::Ki, and _PID_Obj_::Kp.
|
inlinestatic |
Gets the gains in the PID controller.
| [in] | handle | The PID controller handle |
| [out] | pKp | The pointer to the proportional gain value |
| [out] | pKi | The pointer to the integrator gain value |
| [out] | pKd | The pointer to the derivative gain value |
Definition at line 145 of file float/pid.h.
References _PID_Obj_::Kd, _PID_Obj_::Ki, and _PID_Obj_::Kp.
|
inlinestatic |
Gets the derivative gain in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 130 of file 32b/pid.h.
References _PID_Obj_::Kd.
|
inlinestatic |
Gets the integral gain in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 141 of file 32b/pid.h.
References _PID_Obj_::Ki.
|
inlinestatic |
Gets the proportional gain in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 152 of file 32b/pid.h.
References _PID_Obj_::Kp.
|
inlinestatic |
Gets the minimum and maximum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
| [out] | pOutMin | The pointer to the minimum output value allowed |
| [out] | pOutMax | The pointer to the maximum output value allowed |
Definition at line 164 of file 32b/pid.h.
References _PID_Obj_::outMax, and _PID_Obj_::outMin.
|
inlinestatic |
Gets the minimum and maximum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
| [out] | pOutMin | The pointer to the minimum output value allowed |
| [out] | pOutMax | The pointer to the maximum output value allowed |
Definition at line 194 of file float/pid.h.
References _PID_Obj_::outMax, and _PID_Obj_::outMin.
|
inlinestatic |
Gets the maximum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 178 of file 32b/pid.h.
References _PID_Obj_::outMax.
|
inlinestatic |
Gets the minimum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 189 of file 32b/pid.h.
References _PID_Obj_::outMin.
|
inlinestatic |
Gets the reference value in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 200 of file 32b/pid.h.
References _PID_Obj_::refValue.
Referenced by CTRL_getRefValue_pu().
|
inlinestatic |
Gets the integrator start value in the PID controller.
| [in] | handle | The PID controller handle |
Definition at line 211 of file 32b/pid.h.
References _PID_Obj_::Ui.
| PID_Handle PID_init | ( | void * | pMemory, |
| const size_t | numBytes | ||
| ) |
Initializes the PID controller.
| [in] | pMemory | A pointer to the memory for the PID controller object |
| [in] | numBytes | The number of bytes allocated for the PID controller object, bytes |
Definition at line 56 of file 32b/pid.c.
References _IQ, _PID_Obj_::derFilter, _PID_Obj_::derFilterHandle, FILTER_FO_init(), PID_setFbackValue(), PID_setRefValue(), and PID_setUi().
|
inlinestatic |
Runs the PID controller.
| [in] | handle | The PID controller handle |
| [in] | refValue | The reference value to the controller |
| [in] | fbackValue | The feedback value to the controller |
| [in] | pOutValue | The pointer to the controller output value |
Definition at line 231 of file 32b/pid.h.
References _IQmpy, _IQsat, _PID_Obj_::fbackValue, _PID_Obj_::Ki, _PID_Obj_::Kp, _PID_Obj_::outMax, _PID_Obj_::outMin, _PID_Obj_::refValue, and _PID_Obj_::Ui.
Referenced by CTRL_runOnLine(), CTRL_runOnLine_User(), and CTRL_runPiOnly().
|
inlinestatic |
Runs the parallel form of the PID controller.
| [in] | handle | The PID controller handle |
| [in] | refValue | The reference value to the controller |
| [in] | fbackValue | The feedback value to the controller |
| [in] | ffwdValue | The feedforward value to the controller |
| [in] | pOutValue | The pointer to the controller output value |
Definition at line 426 of file float/pid.h.
References _PID_Obj_::derFilterHandle, _PID_Obj_::fbackValue, FILTER_FO_run(), _PID_Obj_::Kd, _PID_Obj_::Ki, _PID_Obj_::Kp, MATH_sat(), _PID_Obj_::outMax, _PID_Obj_::outMin, PID_getKd(), PID_getKi(), PID_getKp(), PID_getOutMax(), PID_getOutMin(), PID_getUi(), PID_setFbackValue(), PID_setFfwdValue(), PID_setRefValue(), PID_setUi(), and _PID_Obj_::Ui.
|
inlinestatic |
Runs the series form of the PID controller.
| [in] | handle | The PID controller handle |
| [in] | refValue | The reference value to the controller |
| [in] | fbackValue | The feedback value to the controller |
| [in] | ffwdValue | The feedforward value to the controller |
| [in] | pOutValue | The pointer to the controller output value |
Definition at line 466 of file float/pid.h.
References _PID_Obj_::derFilterHandle, _PID_Obj_::fbackValue, FILTER_FO_run(), _PID_Obj_::Kd, _PID_Obj_::Ki, _PID_Obj_::Kp, MATH_sat(), _PID_Obj_::outMax, _PID_Obj_::outMin, PID_getKd(), PID_getKi(), PID_getKp(), PID_getOutMax(), PID_getOutMin(), PID_getUi(), PID_setFbackValue(), PID_setFfwdValue(), PID_setRefValue(), PID_setUi(), and _PID_Obj_::Ui.
|
inlinestatic |
Runs the PID controller for speed.
| [in] | handle | The PID controller handle |
| [in] | refValue | The reference value to the controller |
| [in] | fbackValue | The feedback value to the controller |
| [in] | pOutValue | The pointer to the controller output value |
Definition at line 260 of file 32b/pid.h.
References _IQmpy, _IQsat, _PID_Obj_::fbackValue, _PID_Obj_::Ki, _PID_Obj_::Kp, _PID_Obj_::outMax, _PID_Obj_::outMin, _PID_Obj_::refValue, and _PID_Obj_::Ui.
Referenced by CTRL_runOnLine(), CTRL_runOnLine_User(), and CTRL_runPiOnly().
| void PID_setDerFilterParams | ( | PID_Handle | handle, |
| const float_t | b0, | ||
| const float_t | b1, | ||
| const float_t | a1, | ||
| const float_t | x1, | ||
| const float_t | y1 | ||
| ) |
Sets the derivative filter parameters.
y[n] = b0*x[n] + b1*x[n-1] - a1*y[n-1]
| [in] | handle | The PID controller handle |
| [in] | b0 | The numerator filter coefficient value for z^0 |
| [in] | b1 | The numerator filter coefficient value for z^(-1) |
| [in] | a1 | The denominator filter coefficient value for z^(-1) |
| [in] | x1 | The input value at time sample n=-1 |
| [in] | y1 | The output value at time sample n=-1 |
Definition at line 94 of file float/pid.c.
References _PID_Obj_::derFilterHandle, FILTER_FO_setDenCoeffs(), FILTER_FO_setInitialConditions(), and FILTER_FO_setNumCoeffs().
|
inlinestatic |
Sets the feedback value in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | fbackValue | The feedback value |
Definition at line 274 of file float/pid.h.
References _PID_Obj_::fbackValue.
Referenced by PID_run_parallel(), and PID_run_series().
|
inlinestatic |
Sets the feedback value in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | fbackValue | The feedback value |
Definition at line 286 of file 32b/pid.h.
References _PID_Obj_::fbackValue.
Referenced by PID_init().
|
inlinestatic |
Sets the feedforward value in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | ffwdValue | The feedforward value |
Definition at line 287 of file float/pid.h.
References _PID_Obj_::ffwdValue.
Referenced by PID_run_parallel(), and PID_run_series().
|
inlinestatic |
Sets the gains in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Kp | The proportional gain for the PID controller |
| [in] | Ki | The integrator gain for the PID controller |
| [in] | Kd | The derivative gain for the PID controller |
Definition at line 301 of file 32b/pid.h.
References _PID_Obj_::Kd, _PID_Obj_::Ki, and _PID_Obj_::Kp.
Referenced by CTRL_setParams().
|
inlinestatic |
Sets the gains in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Kp | The proportional gain for the PID controller |
| [in] | Ki | The integrator gain for the PID controller |
| [in] | Kd | The derivative gain for the PID controller |
Definition at line 302 of file float/pid.h.
References _PID_Obj_::Kd, _PID_Obj_::Ki, and _PID_Obj_::Kp.
|
inlinestatic |
Sets the derivative gain in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Kd | The derivative gain for the PID controller |
Definition at line 316 of file 32b/pid.h.
References _PID_Obj_::Kd.
|
inlinestatic |
Sets the derivative gain in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Kd | The derivative gain for the PID controller |
Definition at line 317 of file float/pid.h.
References _PID_Obj_::Kd.
|
inlinestatic |
Sets the integral gain in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Ki | The integral gain for the PID controller |
Definition at line 329 of file 32b/pid.h.
References _PID_Obj_::Ki.
Referenced by USER_calcPIgains().
|
inlinestatic |
Sets the integral gain in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Ki | The integral gain for the PID controller |
Definition at line 330 of file float/pid.h.
References _PID_Obj_::Ki.
|
inlinestatic |
Sets the proportional gain in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Kp | The proportional gain for the PID controller |
Definition at line 342 of file 32b/pid.h.
References _PID_Obj_::Kp.
Referenced by CTRL_runOnLine(), CTRL_runOnLine_User(), and CTRL_runPiOnly().
|
inlinestatic |
Sets the proportional gain in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Kp | The proportional gain for the PID controller |
Definition at line 343 of file float/pid.h.
References _PID_Obj_::Kp.
|
inlinestatic |
Sets the minimum and maximum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | outMin | The minimum output value allowed |
| [in] | outMax | The maximum output value allowed |
Definition at line 356 of file 32b/pid.h.
References _PID_Obj_::outMax, and _PID_Obj_::outMin.
Referenced by CTRL_runOnLine(), CTRL_runOnLine_User(), CTRL_runPiOnly(), and CTRL_setParams().
|
inlinestatic |
Sets the minimum and maximum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | outMin | The minimum output value allowed |
| [in] | outMax | The maximum output value allowed |
Definition at line 357 of file float/pid.h.
References _PID_Obj_::outMax, and _PID_Obj_::outMin.
|
inlinestatic |
Sets the maximum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | outMax | The maximum output value allowed |
Definition at line 370 of file 32b/pid.h.
References _PID_Obj_::outMax.
|
inlinestatic |
Sets the maximum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | outMax | The maximum output value allowed |
Definition at line 371 of file float/pid.h.
References _PID_Obj_::outMax.
|
inlinestatic |
Sets the minimum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | outMax | The minimum output value allowed |
Definition at line 383 of file 32b/pid.h.
References _PID_Obj_::outMin.
|
inlinestatic |
Sets the minimum output value allowed in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | outMax | The minimum output value allowed |
Definition at line 384 of file float/pid.h.
References _PID_Obj_::outMin.
|
inlinestatic |
Sets the reference value in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | refValue | The reference value |
Definition at line 396 of file 32b/pid.h.
References _PID_Obj_::refValue.
Referenced by PID_init().
|
inlinestatic |
Sets the reference value in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | refValue | The reference value |
Definition at line 397 of file float/pid.h.
References _PID_Obj_::refValue.
Referenced by PID_run_parallel(), and PID_run_series().
|
inlinestatic |
Sets the integrator start value in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Ui | The integral start value for the PID controller |
Definition at line 409 of file 32b/pid.h.
References _PID_Obj_::Ui.
Referenced by CTRL_runOnLine(), CTRL_runPiOnly(), CTRL_setImmediateUi(), CTRL_setParams(), and PID_init().
|
inlinestatic |
Sets the integrator start value in the PID controller.
| [in] | handle | The PID controller handle |
| [in] | Ui | The integral start value for the PID controller |
Definition at line 410 of file float/pid.h.
References _PID_Obj_::Ui.
Referenced by PID_run_parallel(), and PID_run_series().
1.8.9.1