| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- /********************************************************************
- 版权声明: Copyright (C),Yunda Tech.Co.,Ltd.
- 创 建 人: 张家华
- 创建时间: 2019/4/9 20:26
- 文件名称: ElectricEqpmt_PowerBolt
- 主要功能: 1.备自投设备类
- 2.
- 3.
- 其 他:
- 修改记录:
- *********************************************************************/
- #pragma once
- #include "ElectricEqpmt_SwicthEqpmt.h"
- #include "PublicEqpmtID.h"
- #include "ElectricBaseDefine.h"
- class ElectricEqpmt_PowerBolt : //电源备自投
- public CElectricEqpmt_SwicthEqpmt
- {
- public:
- ElectricEqpmt_PowerBolt();
- ~ElectricEqpmt_PowerBolt();
- virtual void CalculateValue(double inputv,double inputI,ELEEQPMTMAP* PEqpmtMap);
- virtual int GetType(){return OCC_EQPMTTYPE_AUTOBOLT;}
- virtual bool handle_delaytime(int64_t& time,ELEEQPMTMAP& eqpmtmap,DelayTimeInfo& delayparm);
- int AutoBoltCheckEqpmtCtrlCase(int trainid,ELEEQPMTMAP& ElectricEqpmtMap,int subsysid,int stationid,int viewid,int stdid);
- bool CheckSelfShut(ELEEQPMTMAP& eqpmtmap,string sbreaker);
- bool CheckSelfOff(ELEEQPMTMAP& eqpmtmap,string sbreaker);
- bool AutoBlotShut(ELEEQPMTMAP& eqpmtmap);
- bool AutoBlotOff(ELEEQPMTMAP& eqpmtmap);
- int CheckInPower();
- void SetNextBolt(string nextbolt)
- {
- m_NextBolt = nextbolt;
- }
- void SetRelationBreaker(string breaker)
- {
- m_RelationBreak= breaker;
- }
- string GetRelationBreaker()
- {
- return m_RelationBreak;
- }
- void SetLeftInputBreak(string leftbreak)
- {
- m_LeftInputBreak.push_back(leftbreak);//added by zhangjh on 2017.3.21
- //m_LeftInputBreak=leftbreak;
- }
- void SetRightInputBreak(string rightbreak)
- {
- //m_RightInputBreak = rightbreak;
- m_RightInputBreak.push_back(rightbreak);//added by zhangjh on 2017.3.21
- }
-
- /*
- 判断备自投是否符合三合两闭:自动合闸
- */
- bool CheckBoltRelationLRBreak_On( ELEEQPMTMAP& eqpmtmap );
- /*
- 判断备自投是否符合三合两闭:自动分闸
- */
- bool CheckBoltRelationLRBreak_Off( ELEEQPMTMAP& eqpmtmap );
- //判断设备是否是断路器
- bool IsBreakType( int nType );
- virtual void EqpmtCtrl(int status,ELEEQPMTMAP& ElectricEqpmtMap,string Stdid,int CtrlType,int nMark = 0);
- //手动操作母联、左进线、右进线断路器时,三合两闭逻辑校验
- int GetEqpmtCtrlCaseStatus_CircuitBreaker_OnByHand(int status,ELEEQPMTMAP& ElectricEqpmtMap); //母联断路器操作校验
- int GetEqpmtCtrlCaseStatus_LInputBreaker_OnByHand(int status,ELEEQPMTMAP& ElectricEqpmtMap); //左进线断路器操作校验
- int GetEqpmtCtrlCaseStatus_RInputBreaker_OnByHand(int status,ELEEQPMTMAP& ElectricEqpmtMap); //右进线断路器操作校验
- bool CheckBoltRelationLRBreak_OnByHand( ELEEQPMTMAP& eqpmtmap ); //母联断路器三合两闭逻辑判断 added by zhangjiahua on 2018.7.31
- bool CheckBoltRelation_L_Break_OnByHand( ELEEQPMTMAP& eqpmtmap ); //左进线断路器三合两闭逻辑判断added by xyx on 2019.6.19
- bool CheckBoltRelation_R_Break_OnByHand( ELEEQPMTMAP& eqpmtmap ); //右进线断路器三合两闭逻辑判断added by xyx on 2019.6.19
- protected:
- string m_NextBolt; //下一个备自投
- string m_RelationBreak; //关联断路器
- //string m_LeftInputBreak; //左边输入断路器
- vector<string> m_LeftInputBreak; //左边输入断路器 added by zhangjh on 2017.3.21
- //string m_RightInputBreak; //右边输入断路器
- vector<string> m_RightInputBreak; //右边输入断路器
- string m_strAA_ModeStatus ; //自投自复状态显示
- string m_strAM_ModeStatus; //自投手复状态显示
- string m_strMM_ModeStatus; //手投手复状态显示
- private:
- int m_nCtrlMode; //备自投工作模式->30 :自投自复 31:自投手复 32:手投手复 33手投自复 默认状态为30即自投自复
- public:
- void SetCtrlMode(int mode) //设置备自投工作模式
- {
- m_nCtrlMode = mode;
- }
- int GetCtrlMode() //获取备自投工作模式
- {
- return m_nCtrlMode;
- }
- void SetModeStatusShowEqpmt(string strEqpmt, int modeType);
- void UpdateModeStatusShow(ELEEQPMTMAP& ElectricEqpmtMap, int modeType);
- private:
- string m_strLeftInputLine; //左侧进线
- string m_strRightInputLine; //右侧进线
- string m_strLeftMotherLine; //左侧母线
- string m_strRightMotherLine; //右侧母线
- public:
- void SetLeftInputLine(string leftInputLine) //设置左侧进线
- {
- m_strLeftInputLine=leftInputLine;
- }
- string GetLeftInputLine() //获得左侧进线
- {
- return m_strLeftInputLine;
- }
- void SetRightInputLine(string rightInputLine) //设置右侧进线
- {
- m_strRightInputLine=rightInputLine;
- }
- string GetRightInputLine() //获得右侧进线
- {
- return m_strRightInputLine;
- }
- void SetLeftMotherLine(string leftMotherLine) //设置左侧母线
- {
- m_strLeftMotherLine=leftMotherLine;
- }
- string GetLeftMotherLine() //获得左侧母线
- {
- return m_strLeftMotherLine;
- }
- void SetRightMotherLine(string rightMotherLine) //设置左侧母线
- {
- m_strRightMotherLine=rightMotherLine;
- }
- string GetRightMotherLine() //获得左侧进线
- {
- return m_strRightMotherLine;
- }
- };
|