230 lines
4.3 KiB
C
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)
|