Files
motor_params/Inu_im_1wnd_3lvl/Inu/controller.h

230 lines
4.3 KiB
C

// Ìàêñèìàëüíàÿ äëèíà ïàðàìåòðà-âåêòîðà
#define LEN_PARAM_MATR 21
// Ìàññèâû ñ ïàðàìåòðàìè S_Function
double paramScal[NPARAMS];
double paramMatr[LEN_PARAM_MATR*2];
int paramMatrDimen;
// Èíäåêñ âõîäíîãî è âûõîäíîãî ìàññèâà, à òàêæå ìàññèâà ïàðàìåòðîâ
int nn;
// Øàã èíòåãðèðîâàíèÿ
double dt;
// Äëÿ îáðàáîòêè ïàðàìåòðîâ
int kkk, lll, mmm, dimen;
// Ïåðåìåííûå, êîòîðûå îïðåäåëåíû â controller.c (begin)
//#########################################################################
// Ïàðàìåòðû
//double ;
// Âõîäû
double udc1_ml;
double ia1_ml;
double ib1_ml;
double ic1_ml;
double wm_ml;
double wm_ml_0;
double iref;
// Äëÿ èìèòàöèè îáìåíà ñ ÏÓ
int j;
unsigned short paramNo;
unsigned short paramNew[PAR_NUMBER];
// Äëÿ ìîäåëèðîâàíèÿ Event Manager
// ... Time-Base Submodule, Counter-Compare Submodule è Event-Trigger Submodule
double TxCntPlus;
double T1Pr;
double t1cntAux;
double t1cntAuxPrev;
double t1cnt;
double cmp1A;
double cmp1B;
double T2Pr;
double t2cntAux;
double t2cntAuxPrev;
double t2cnt;
double cmp2A;
double cmp2B;
double T3Pr;
double t3cntAux;
double t3cntAuxPrev;
double t3cnt;
double cmp3A;
double cmp3B;
double T4Pr;
double t4cntAux;
double t4cntAuxPrev;
double t4cnt;
double cmp4A;
double cmp4B;
double T5Pr;
double t5cntAux;
double t5cntAuxPrev;
double t5cnt;
double cmp5A;
double cmp5B;
double T6Pr;
double t6cntAux;
double t6cntAuxPrev;
double t6cnt;
double cmp6A;
double cmp6B;
// ... Action-Qualifier Submodule
int ci1A;
int ci1B;
int ci2A;
int ci2B;
int ci3A;
int ci3B;
int ci4A;
int ci4B;
int ci5A;
int ci5B;
int ci6A;
int ci6B;
// ... Dead-Band Submodule
int CntDt;
int stateDt1;
int cntDt1;
int ci1A_DT;
int ci1B_DT;
int stateDt2;
int cntDt2;
int ci2A_DT;
int ci2B_DT;
int stateDt3;
int cntDt3;
int ci3A_DT;
int ci3B_DT;
int stateDt4;
int cntDt4;
int ci4A_DT;
int ci4B_DT;
int stateDt5;
int cntDt5;
int ci5A_DT;
int ci5B_DT;
int stateDt6;
int cntDt6;
int ci6A_DT;
int ci6B_DT;
// Äëÿ ìîäåëèðîâàíèÿ eQEP
double Qposmax;
double qposcnt;
// Äëÿ ìîäåëèðîâàíèÿ ADC
int tAdc;
int Tadc;
int nAdc;
//#########################################################################
// Ïåðåìåííûå, êîòîðûå îïðåäåëåíû â controller.c (end)
// Ïåðåìåííûå, êîòîðûå îáúÿâëåíû â controller.c (begin)
//#########################################################################
// Äëÿ isr.c
//-------------------------------------------------------------------------
extern struct Offset offset;
extern volatile struct Result result;
extern volatile short state;
extern volatile short faultNo;
extern volatile struct Out out;
// Udc
extern float Kudc;
extern volatile float udc1Nf;
extern volatile float udc1;
// Iac
extern volatile float ia1Nf;
extern volatile float ib1Nf;
extern volatile float ix1;
extern volatile float iy1;
extern volatile float iac1Nf;
// Wm
extern float Kwm;
extern volatile float wmNf;
extern volatile float wm;
extern volatile float wmAbs;
// Me
extern volatile float kMe;
extern float KmeCorr;
extern float Kme;
extern volatile float meNf;
extern volatile float me;
// Pm
extern volatile float pm;
// çàùèòû
extern struct Protect protect;
extern volatile struct Emerg emerg;
extern short csmSuccess;
// óïðàâëÿþùàÿ ëîãèêà
extern volatile short onceShutdown;
extern volatile short testParamFaultNo;
extern volatile short onceFaultReset;
extern volatile short stopPause;
extern volatile short inuWork;
// îáìåí
extern struct Mst mst;
// Äëÿ main.c
//-------------------------------------------------------------------------
extern struct Eprom eprom;
// Äëÿ upr.c
//-------------------------------------------------------------------------
extern volatile short onceUpr;
extern struct SgmPar sgmPar;
extern struct Rf rf;
extern struct Rs rs;
extern struct Rp rp;
extern float IzLim;
extern volatile float psi;
extern float idZ;
extern float iqZ;
extern float iZ;
extern float ws;
extern float sinTheta;
extern float cosTheta;
extern float id1;
extern float iq1;
extern float id2;
extern float iq2;
extern struct Cc cc;
extern struct Cf cf;
extern struct Csp csp;
extern struct Ivc ivc;
extern struct Ip ip;
extern volatile float theta_out; // óãîë ? äëß âûâîäà
// Äëÿ param.c
//-------------------------------------------------------------------------
extern unsigned short param[];
//#########################################################################
// Ïåðåìåííûå, êîòîðûå îáúÿâëåíû â controller.c (end)