| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #include "pch.h"
- #include "ElectricEqpmt_Breaker_DC.h"
- #include "PublicEqpmtID.h"
- CElectricEqpmt_Breaker_DC::CElectricEqpmt_Breaker_DC(void)
- {
- }
- CElectricEqpmt_Breaker_DC::~CElectricEqpmt_Breaker_DC(void)
- {
- }
- int CElectricEqpmt_Breaker_DC::CheckEqpmtCtrlCaseTouchnetTest(int status,ELEEQPMTMAP& ElectricEqpmtMap,int stdid,int subsysid,int trianid,int stationid,int viewid)
- {
- //xyx修改begin
- string EqpmtTypeName = GetBaseTypeName(); //设备类型名称
- string EqpmtName = GetEqpmentName(); //设备名称
- int EqpmtSourceStatonID = GetSourceStationID(); //设备所属车站ID
- int EqpmtType = GetBaseType(); //设备类型
- int retstatus = DH_CmdReplyStatus_Deny;
- vector<string>::iterator vec=m_FaultEqpmt.begin();
- bool Test_Fail = false;
- for (;vec!=m_FaultEqpmt.end();vec++)
- {
- ELEEQPMTMAP::iterator iterFaultEqpmt;
- iterFaultEqpmt=ElectricEqpmtMap.find(*vec);
- if (iterFaultEqpmt!=ElectricEqpmtMap.end()&&iterFaultEqpmt->second->GetFaultLockStatus()==Electric_Eqpmt_Status_Lock&&iterFaultEqpmt->second->GetBaseType()==OCC_EQPMTTYPE_TouchNet)
- {
- retstatus = DH_CmdReplyStatus_Deny;
- int nActType1 = ElcAlarm_TripActType_TouchnetTest_Fail; //“线路测试未通过”报文类型
- UpdateAlarmType(EqpmtType,EqpmtTypeName,EqpmtName,EqpmtSourceStatonID,nActType1);
- Test_Fail = true;
- break;
- }
- }
- if (!Test_Fail)
- {
- retstatus = DH_CmdReplyStatus_Pass;
- int nActType2 = ElcAlarm_TripActType_TouchnetTest_Success; //“线路测试通过”报文类型
- UpdateAlarmType(EqpmtType, EqpmtTypeName, EqpmtName, EqpmtSourceStatonID, nActType2);
- }
- return retstatus;
- //xyx修改end
- }
- //直流断路器合闸前进行线路测试测试通过后合闸操作才可操作成功
- void CElectricEqpmt_Breaker_DC::EqpmtCtrl( int status,ELEEQPMTMAP& ElectricEqpmtMap,string Stdid,int CtrlType, int nMark /*= 0*/ )
- {
- CElectricEqpmt_SwicthEqpmt::EqpmtCtrl(status, ElectricEqpmtMap, Stdid, CtrlType, nMark );
- if (CtrlType==CTRLTYPE_LOCKSTATUS)
- {
- UpdateLockStatus(status);
- }
- else if (CtrlType ==CTRLTYPE_STATUS)
- {
- if (GetControlLock()==Electric_Eqpmt_Status_UnLock)
- {
- string EqpmtTypeName = GetBaseTypeName(); //设备类型名称
- string EqpmtName = GetEqpmentName(); //设备名称
- int EqpmtSourceStatonID = GetSourceStationID(); //设备所属车站ID
- int EqpmtType = GetBaseType(); //设备类型
- if (status==Eqpmt_Operation_ON&&GetStatus()==Electric_Eqpmt_Status_OFF)
- {
- int CheckResult=-1;
- CheckResult = CheckEqpmtCtrlCaseTouchnetTest(status,ElectricEqpmtMap,0,GetOperSubsysID(),m_Trianid,GetSourceStationID(),GetViewID()); //合闸前进行线路测试
- if (CheckResult==DH_CmdReplyStatus_Deny)
- {
- return;
- }
- else
- {
- TurnOn(ElectricEqpmtMap);
- int nActType = ElcAlarm_TripActType_Close; //“合闸”类型
- UpdateAlarmType(EqpmtType,EqpmtTypeName,EqpmtName,EqpmtSourceStatonID,nActType);
- UpdateOperResultToTechEva(GetEqpmentID(),GetStatus()); //更新“合闸”执行结果
- }
- }
- }
- }
- }
|