//-------------------------------------------------------// // Project Code : V2H6K01-23-ENEMAN // File Name : RunStopSeq.cpp // Created on : 2023. 8. 8. // Description : // Author : KimJeongWoo // Last modified Date : //-------------------------------------------------------// #include "Cpu1DeviceDefine.h" int InvReady = 0; int BoostReady = 0; int DabReady = 0; int FlagGridConnectedOperation = 0; //계통 연계 운전 플래그 int FlagIsolatedOperation = 0; //자립 운전 플래그 int FlagSoftStart = 0; //자립 운전 시 DAB 소프트 스타트 플래그 unsigned int SetBuilupTime = 1000; //2s초 기다림 unsigned int InvCntBuilupTime = 0; //인버터 빌드업 시간 unsigned int DabCntBuilupTime = 0; //DAB 빌드업 시간 void RunStopSeq() //2ms { } // RefLimit(); //Vbe 레퍼런스 리미트 및 DC-Link 레퍼런스 리미트 // // if ((SystemFault == 0) && (SystemReady == 1)) // { // // Inverter // if ((CmdInvOPset == 55) && (FlagDcLinkDischarge == 0)) // 통신 또는 외부에서 인버터 동작명령 커맨드 입력, 방전시퀀스중에 기동 시작하면 컨버터 이상동작 야기함 // { // FlagAcPreCharge = 1; //초충 동작 명령 // if (StatusAcPreCharge == 1) CmdRunInv = 1; //초충 완료 후 인버터 동작시작 // // if((CmdBeOPset == 99)&& (CmdRunInv == 1)) // { // if ((++CntBuilupTime > SetBuilupTime) && (VdcAvg > VdcRefSet - 10.)) // { // CmdBeOPset = 55; // } // } // else CntBuilupTime = 0; // } // else // { // CmdRunInv = 0; // CmdInvOPset = 99; // //BE 먼저 종료 후 인버터 종료 하도록 시퀀스 고칠 것 // CmdBeOPset = 99; // inverter 종료시 Be도 같이 종료 되도록 변경 // CntBuilupTime = 0; // InitAcMMC(); // } // // //BE(Converter) // if (CmdBeOPset == 55) // { // //임시 위치 // //Be동작시 방전저항 off // BeDischargeRlyoOff(); // //todo 방전 릴레이 동작시간 반영해서 대기 카운터 들어가야함 // if((Status.bit.ParallelMode == 1) && (Status.bit.VbeParaMode == 1))//병렬운전시 Master,Slave 모두 Inverter 빌드업 완료된거 확인 후 컨버터 기동 // { // if(FlagParaInvBuilup == 1) CmdRunBe = 1; // } // else // { // CmdRunBe = 1; // } // } // else // { // if((Status.bit.Master != 1) && (Status.bit.ParallelMode == 1)) // { // BeDischargeRlyoOff(); // // CmdRunBe = 0; // CmdBeOPset = 99; // } // else // { // BeDischargeRlyoOn(); // if ((Din.Data.bit.Mmc == 0) && (CmdInvOPset ==99) && (CmdRunBe == 1)) // { // //Dc-Link Discharging wait // if(CH3_UV_Flt > 50.) // { // //------------------------------- // //DC-Link 방전을 위해 Be게이트를 유지 // //임시코드 수정 할 것 // FlagDcLinkDischarge = 1; // } // else // { // //임시코드 수정 할 것 // FlagDcLinkDischarge = 0; // //------------------------------- // CmdRunBe = 0; // CmdBeOPset = 99; // } // } // } // } // } // else // { // if((Status.bit.Master != 1) && (Status.bit.ParallelMode == 1)) BeDischargeRlyoOff(); // else BeDischargeRlyoOn(); // } void RefLimit() //10ms.. { // if((Status.bit.ParallelMode == 1) && (Status.bit.VbeParaMode == 1)) // { // if(VbeParaRefSet > VbeMax ) VbeParaRefSet = VbeMax; // else if (VbeParaRefSet < VbeMin ) VbeParaRef = VbeMin; // // VdcRefSet = VbeParaRefSet * 1.1; // } // else // { // if(VbeRefSet > VbeMax ) VbeRefSet = VbeMax; // else if (VbeRefSet < VbeMin ) VbeRef = VbeMin; // // VdcRefSet = VbeRefSet * 1.1; // } // // if(VdcRefSet > VdcMax ) VdcRefSet = VdcMax; // else if(VdcRefSet < VdcMin ) VdcRefSet = VdcMin; }