00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef DC_MatlabDataPoolPIDH
00011
#define DC_MatlabDataPoolPIDH
00012
00013
#include "../GeneralInclude/ForwardDeclarations.h"
00014
#include "../GeneralInclude/BasicTypes.h"
00015
#include "../Data/DataPoolControlBlock.h"
00016
00017
#ifdef HAVE_SIMULINK
00018
extern "C" {
00019
#include "MatlabAutocode/pid.h"
00020 }
00021
#endif
00022
00069 class DC_MatlabDataPoolPID :
public DataPoolControlBlock {
00070
00071
private:
00072
static unsigned int numberOfInstances;
00073
00074
unsigned int numberOfOutputs;
00075
unsigned int numberOfInputs;
00076
unsigned int numberOfParameters;
00077
00078
#ifdef HAVE_SIMULINK
00079
00084 real_T **modelInputs;
00085 real_T **modelOutputs;
00086 real_T **modelParameters;
00087
00092 void (*modelStep)(
void);
00093 void (*modelInitialize)(boolean_T);
00094
#endif
00095
00096
protected:
00097
00110
virtual void propagateState();
00111
00121
virtual void updateOutput();
00122
00123
public:
00124
00146
DC_MatlabDataPoolPID();
00147
00151
virtual void reset();
00152 };
00153
00154
#endif