99 lines
2.7 KiB
C
99 lines
2.7 KiB
C
|
/* =================================================================================
|
||
|
File name: PID_REG3.H (IQ version)
|
||
|
|
||
|
Originator: Digital Control Systems Group
|
||
|
Texas Instruments
|
||
|
|
||
|
Description:
|
||
|
Header file containing constants, data type definitions, and
|
||
|
function prototypes for the PIDREG3.
|
||
|
=====================================================================================
|
||
|
History:
|
||
|
-------------------------------------------------------------------------------------
|
||
|
04-15-2005 Version 3.20
|
||
|
------------------------------------------------------------------------------*/
|
||
|
#ifndef __PIDREG3_H__
|
||
|
#define __PIDREG3_H__
|
||
|
|
||
|
#include "IQmathLib.h"
|
||
|
//#include "dmctype.h"
|
||
|
|
||
|
typedef struct { _iq Ref; // Input: Reference input
|
||
|
_iq Fdb; // Input: Feedback input
|
||
|
_iq Err; // Variable: Error
|
||
|
_iq Kp; // Parameter: Proportional gain
|
||
|
_iq Up; // Variable: Proportional output
|
||
|
_iq Ui; // Variable: Integral output
|
||
|
_iq Ud; // Variable: Derivative output
|
||
|
_iq OutPreSat; // Variable: Pre-saturated output
|
||
|
_iq OutMax; // Parameter: Maximum output
|
||
|
_iq OutMin; // Parameter: Minimum output
|
||
|
_iq Out; // Output: PID output
|
||
|
_iq SatErr; // Variable: Saturated difference
|
||
|
_iq Ki; // Parameter: Integral gain
|
||
|
_iq Kc; // Parameter: Integral correction gain
|
||
|
_iq Kd; // Parameter: Derivative gain
|
||
|
_iq Up1; // History: Previous proportional output
|
||
|
void (*calc)(); // Pointer to calculation function
|
||
|
} PIDREG3;
|
||
|
|
||
|
typedef PIDREG3 *PIDREG3_handle;
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
Default initalizer for the PIDREG3 object.
|
||
|
-----------------------------------------------------------------------------*/
|
||
|
#define PIDREG3_DEFAULTS { 0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
0, \
|
||
|
(void (*)(PIDREG3_handle))pid_reg3_calc }
|
||
|
|
||
|
/*------------------------------------------------------------------------------
|
||
|
Prototypes for the functions in PIDREG3.C
|
||
|
------------------------------------------------------------------------------*/
|
||
|
void pid_reg3_calc(PIDREG3_handle);
|
||
|
|
||
|
#endif // __PIDREG3_H__
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|