
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
//-------------------------------------------------------//
// Project Code : ESS100K3L-01-19
// File Name : SystemVar.cpp
// Created on : 2019. 06. 07
// Description :
// Author : KimJeongWoo
// Last modified Date :
//-------------------------------------------------------//
#include "CommonLib.h"
float SystemClock = 200.0e6;
int SET_FT_UV_Level = 1500;
int SET_FT_VIS_Level = 1500;
int SET_FT_IR_Level = 1500;
//------------------------------------------------------------------------//
int SystemFault = 0;
int EmergencyStop = 1;
int CmdFaultReset = 99;
////내부 동작 커맨드
float CH1_UV_Flt = 0;
float CH1_VIS_Flt = 0;
float CH1_IR_Flt = 0;
float CH2_UV_Flt = 0;
float CH2_VIS_Flt = 0;
float CH2_IR_Flt = 0;
float CH3_UV_Flt = 0;
float CH3_VIS_Flt = 0;
float CH3_IR_Flt = 0;
float CH4_UV_Flt = 0;
float CH4_VIS_Flt = 0;
float CH4_IR_Flt = 0;
eSystemMode ModeSystem = Normal;
eTestSelect TestSelect = NonSelect;
eSystemState SystemState = StateInitial;
int SystemReady = 0;
int FaultReset = 0;
/*--------------------------------------*/
/* system parameters for V2H */
/*--------------------------------------*/
float PoutRate = 6000; //W
float PoutMax = 6600;
float PbatRate = 6000 * (1 / 0.96); //W
float PbatMax = 6600 * (1 / 0.96); //W
float UV_Max = 500.;
float UV_Min = 360.;
float UV_Rate = 400.;
float VacRateRms = 202.; // phase[Vrms]
float VacRatePeak = 202. * SQRT2; // peak of Vs_rate[V]
float VacPeakMax = VacRatePeak * 1.3;
//int FlagInvGating = 0;
//int FlagInvGatingInput = 0;
//
//int FlagBoostGating = 0;
//int FlagBoostGatingInput = 0;
//
//int FlagDabGating = 0;
//int FlagDabGatingInput = 0;
//
//
//
//float Tboost = 0.;
//
//float TdabPh = 0.;
//float TdabA = 0.;
//float TdabB = 0.;
//float TdabC = 0.;
//float TdabD = 0.;
//
//float TinvA = 0.;
//float TinvB = 0.;
//
//
//unsigned int TboostCnt = 0;
//
//int TdabPhCnt = 0;
//unsigned int TdabACnt = 0;
//unsigned int TdabBCnt = 0;
//unsigned int TdabCCnt = 0;
//unsigned int TdabDCnt = 0;
//
//unsigned int TinvACnt = 0;
//unsigned int TinvBCnt = 0;
//firmware Ver
float FwVer = 0.1;
struct sRampGen MagVqeRamp = {0,};
float MagVqeRefSet = 0.;
float MagSinRef = 0.;
float DelMagVqe = 10.;
void InitSystemParameter()
{
// PoutRate = 6000.;
// PoutMax = PoutRate * 1.2; //120%
// PbatRate = 6000. * (1. / 0.96);
//
// VdcMax = 500.;
// VdcMin = 360.;
// VdcRate = 400.;
//
// VdabMax = VdcMax;
// VdabMin = VdcMin;
// VdabRate = VdcRate;
//
// VbatRate = 350.;
// VbatMin = 150.;
// VbatMax = 450.;
// INV_Wh_T500ms = T500ms / 3600.;
//임시 위치
MagVqeRamp.Init(&MagVqeRefSet, &DelMagVqe, Tsamp);
}
void SystemParameterUpdate()
{
// VacRateRms = 202.;
// VacRatePeak = VacRateRms * SQRT2;
//
// IacRateRms = (PoutRate / VacRateRms);
// IacRatePeak = IacRateRms * SQRT2;
//
// IacMaxRms = (PoutMax / (VacRateRms * 0.9));
// IacMaxPeak = IacMaxRms * SQRT2;
//
// WeRate = 2. * PI * FreqRate;
MagVqeRamp.UpdateSlope();
}
float PkwRefSet = 0;
/*--------------------------------------*/
/* call freq_sinusoidal() */
/*--------------------------------------*/ // only test-mode
float ThetaTest = 0;
float FreqSineTest = 60;
float SinThetaTest = 0;
float CosThetaTest = 0;
float SinSquareTest = 0;
float CosSquareTest = 0;
void FreqSinGen()
{
ThetaTest = ThetaTest + 2. * PI * FreqSineTest * Tsamp;
ThetaTest = BOUND_PI(ThetaTest);
SinThetaTest = sin(ThetaTest);
CosThetaTest = cos(ThetaTest);
SinSquareTest = (SinThetaTest > 0) ? 1 : -1;
CosSquareTest = (CosThetaTest > 0) ? 1 : -1;
}
/*--------------------------------------*/
/* call ramp_sinusoidal() */
/*--------------------------------------*/