diff --git a/src/pPowerManger/LowerCommManager.cpp b/src/pPowerManger/LowerCommManager.cpp index 4a69676..df27731 100644 --- a/src/pPowerManger/LowerCommManager.cpp +++ b/src/pPowerManger/LowerCommManager.cpp @@ -16,8 +16,10 @@ LowerCommManager::LowerCommManager(PowerManger* pm, long myPort, long ccuPort, c m_udpComm->ccuHost = cccHost; m_udpComm->ccuPort = ccuPort; m_udpComm->udpScoket = new XPCUdpSocket(m_port); - m_udpSocket = new XPCUdpSocket(2000); + std::cout << "PORT = " << m_port << std::endl; + std::cout << "CCUHOST = " << m_udpComm->ccuHost << std::endl; + std::cout << "CCUPORT = " << m_udpComm->ccuPort << std::endl; } LowerCommManager::~LowerCommManager(){ @@ -33,16 +35,12 @@ LowerCommManager::~LowerCommManager(){ } bool LowerCommManager::initUdpComm(){ //设置UDP监听端口 -// XPCUdpSocket* m_udpSocket = new XPCUdpSocket(m_port); if(m_udpComm->udpScoket) { try { m_udpComm->udpScoket->vBindSocket(); - m_udpComm->ccuHost = m_ccuHost; - m_udpComm->ccuPort = m_ccuPort; cout<udpScoket = m_udpSocket; } catch(const std::exception& e) { @@ -60,10 +58,8 @@ bool LowerCommManager::initUdpComm(){ return true; } void LowerCommManager::processPeriodicTasks() { - // sendCcuCommand(m_pm->m_CcuColCmd); - // sendDisSysCommand(m_pm->m_targetDisBreakerState); - m_udpSocket->iSendMessageTo((void*) "hello", 5, m_ccuPort, m_ccuHost); - int msg = 10; + sendCcuCommand(m_pm->m_CcuColCmd); + sendDisSysCommand(m_pm->m_targetDisBreakerState); m_udpComm->clearMsgQueue(); } diff --git a/src/pPowerManger/LowerCommManager.h b/src/pPowerManger/LowerCommManager.h index 9d67c5a..496a9bb 100644 --- a/src/pPowerManger/LowerCommManager.h +++ b/src/pPowerManger/LowerCommManager.h @@ -33,7 +33,7 @@ public: bool initUdpComm(); // 更新设备状态 - bool updateDeviceStates(); + bool updatePoweSystemStates(); // 发送CCU控制命令 bool sendCcuCommand(const ccuColCmd cmd); @@ -57,7 +57,6 @@ public: PowerManger* m_pm; udpComm* m_udpComm; - XPCUdpSocket* m_udpSocket; CMOOSThread m_ListenThread; int m_connectState; diff --git a/src/pPowerManger/PowerManger.cpp b/src/pPowerManger/PowerManger.cpp index 7c6ec8a..158b04d 100644 --- a/src/pPowerManger/PowerManger.cpp +++ b/src/pPowerManger/PowerManger.cpp @@ -14,12 +14,6 @@ using namespace std; -// bool _ListenCB(void * pParam) -// { -// // PowerManger* pMe = (PowerManger* )pParam; -// // return pMe->ListenLoopUDP(); -// } - bool _FsmCB(void * pParam) { PowerManger* pMe = (PowerManger* )pParam; @@ -73,7 +67,6 @@ PowerManger::PowerManger() //初始化UDP通信 m_lowerCommManager = new LowerCommManager(this,IPORT,CCUPORT,CCUHOST); - m_lowerCommManager->initUdpComm(); // 初始化状态机 @@ -194,6 +187,7 @@ bool PowerManger::Iterate() writeDataToDB(); } m_lowerCommManager->processPeriodicTasks(); + /////////////////////// // string a = m_driver.getSubDisCmdJson(&m_subDisSysCmd); // saveStringToJsonFile(a,"/home/zjk/project/H100/H100PowerManger/data/subDisSysCmd.json"); @@ -479,70 +473,6 @@ bool PowerManger::IsSkewed(double dfTimeNow, double * pdfSkew) return (dfSkew > SKEW_TOLERANCE) ? true : false; } -// void PowerManger::ccuOption() -// { -// m_db->insertCcuSysCmd(m_CcuColCmd); -// if(!m_udpComm.sendCcuColCmd(m_CcuColCmd)) -// cout << "send ccu col cmd failed!" << endl; -// } -// void PowerManger::disSysOption() -// { - -// //根据目标状态进行断路器操作 -// //a. 高压母线的断路器 -// disHighVolBusCmd a; -// a.fuelCellCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.fuelCellCircuitBreaker); -// a.lithiumBatteryGroupInstrumentCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.lithiumBatteryGroupInstrumentCircuitBreaker); -// a.dcDc5ModuleCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.dcDc5ModuleCircuitBreaker); -// a.powerLithiumBatteryCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.powerLithiumBatteryCircuitBreaker); -// a.propulsionMotorCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.propulsionMotorCircuitBreaker); -// a.bowHighVoltageDistributionBoxCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.bowHighVoltageDistributionBoxCircuitBreaker); -// a.tyzReservedCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.tyzReservedCircuitBreaker); -// a.sternFTDevice45CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.sternFTDevice45CircuitBreaker); -// a.sternRudderSwitch1CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.sternRudderSwitch1CircuitBreaker); -// a.sternRudderSwitch2CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.sternRudderSwitch2CircuitBreaker); -// a.reservedCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.reservedCircuitBreaker); -// a.fbReservedCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus1Breaker.fbReservedCircuitBreaker); -// m_udpComm.sendDisSysCmd(a); -// //b. 高压汇流排A断路器 -// disHighAVolBusCmd b; -// b.bowFTDevice123CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus2Breaker.bowFTDevice123CircuitBreaker); -// b.actuatorCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus2Breaker.actuatorCircuitBreaker); -// b.mastSteeringGearControlBoxCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus2Breaker.mastSteeringGearControlBoxCircuitBreaker); -// b.xczCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus2Breaker.xczCircuitBreaker); -// b.bowRudderControlBoxCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus2Breaker.bowRudderControlBoxCircuitBreaker); -// b.openWaterCoverStartCylinderCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus2Breaker.openWaterCoverStartCylinderCircuitBreaker); -// m_udpComm.sendDisSysCmd(b); -// //c. 高压汇流排B断路器 -// disHighBVolBusCmd c; -// c.lithiumBatteryGroupInstrumentCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus3Breaker.lithiumBatteryGroupInstrumentCircuitBreaker); -// c.bowLowVoltageDistributionBoxCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus3Breaker.bowLowVoltageDistributionBoxCircuitBreaker); -// c.unit4InstrumentDC48VCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus3Breaker.unit4InstrumentDC48VCircuitBreaker); -// c.dcC1DCDistributionPanelCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus3Breaker.dcC1DCDistributionPanelCircuitBreaker); -// c.reservedCircuitBreaker1 = getBreakerOption(m_targetDisBreakerState.bus3Breaker.reservedCircuitBreaker1); -// c.reservedCircuitBreaker2 = getBreakerOption(m_targetDisBreakerState.bus3Breaker.reservedCircuitBreaker2); -// c.emergencyLithiumBatteryGroup2CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus3Breaker.emergencyLithiumBatteryGroup2CircuitBreaker); -// m_udpComm.sendDisSysCmd(c); -// //d. 闭合低压汇流排断路器 -// disLowBusCmd d; -// d.unit1CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus4Breaker.unit1CircuitBreaker); -// d.unit2CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus4Breaker.unit2CircuitBreaker); -// d.unit3CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus4Breaker.unit3CircuitBreaker); -// d.unit5CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus4Breaker.unit5CircuitBreaker); -// d.bowPZDeviceCircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus4Breaker.bowPZDeviceCircuitBreaker); -// d.reservedCircuitBreaker1 = getBreakerOption(m_targetDisBreakerState.bus4Breaker.reservedCircuitBreaker1); -// d.reservedCircuitBreaker2 = getBreakerOption(m_targetDisBreakerState.bus4Breaker.reservedCircuitBreaker2); -// d.emergencyLithiumBatteryGroup1CircuitBreaker = getBreakerOption(m_targetDisBreakerState.bus4Breaker.emergencyLithiumBatteryGroup1CircuitBreaker); -// m_udpComm.sendDisSysCmd(d); -// //将指令写入数据库 -// m_db->insertDisSysCmd(a); -// m_db->insertDisSysCmd(b); -// m_db->insertDisSysCmd(c); -// m_db->insertDisSysCmd(d); - -// } - - bool PowerManger::saveStringToJsonFile(const string &strJson, const string &filePath) { std::ofstream file(filePath, std::ios::trunc); diff --git a/src/pPowerManger/udpComm.h b/src/pPowerManger/udpComm.h index 51750ad..d8778f3 100644 --- a/src/pPowerManger/udpComm.h +++ b/src/pPowerManger/udpComm.h @@ -50,6 +50,7 @@ public: bool sendDisSysCmd(const disHighBVolBusCmd cmd); bool sendDisSysCmd(const disLowBusCmd cmd); bool sendMsg(const unsigned char* msg,unsigned int size){ + // cout << "sendMsgTo" << ccuHost << ":" << ccuPort << endl; udpScoket->iSendMessageTo((void*) msg, size, ccuPort, ccuHost); return true; }