为操作指令增加了数据库写入代码
This commit is contained in:
@@ -51,7 +51,7 @@ PowerManger::PowerManger()
|
||||
connectState = 0;
|
||||
|
||||
//初始化断路器状态
|
||||
initTargetDisBreakerState();
|
||||
initControlCmd();
|
||||
|
||||
//初始化数据库
|
||||
string dbPath = "/home/zjk/project/H100/H100PowerManger/data/power_data.db";
|
||||
@@ -142,6 +142,7 @@ bool PowerManger::Iterate()
|
||||
//a. 配电系统操作
|
||||
disSysOption();
|
||||
//b. ccu操作
|
||||
ccuOption();
|
||||
//c. 输出报告
|
||||
buildPowerSysReport();
|
||||
}
|
||||
@@ -376,7 +377,12 @@ 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()
|
||||
{
|
||||
//1.更新断路器的状态
|
||||
@@ -481,6 +487,13 @@ void PowerManger::disSysOption()
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -563,8 +576,8 @@ int PowerManger::handleInite_s1(FSM_State &fsm, void* pData)
|
||||
{
|
||||
pm->m_pmState = pm->m_Fault_s99;
|
||||
}
|
||||
//3. 初始化配电系统为待机状态
|
||||
pm->initTargetDisBreakerState();
|
||||
//3. 初始化系统为待机状态
|
||||
pm->initControlCmd();
|
||||
pm->m_pmState = pm->m_Standby_s2;
|
||||
return 0;
|
||||
}
|
||||
@@ -601,8 +614,9 @@ int PowerManger::handleFault_s99(FSM_State &fsm, void* pData)
|
||||
}
|
||||
|
||||
|
||||
void PowerManger::initTargetDisBreakerState()
|
||||
void PowerManger::initControlCmd()
|
||||
{
|
||||
//================初始化配电指令=============================
|
||||
m_targetDisBreakerState.bus1Breaker.fuelCellCircuitBreaker = 0;
|
||||
m_targetDisBreakerState.bus1Breaker.powerLithiumBatteryCircuitBreaker = 1; //动力锂电池默认接入
|
||||
m_targetDisBreakerState.bus1Breaker.propulsionMotorCircuitBreaker = 0;
|
||||
@@ -639,7 +653,16 @@ void PowerManger::initTargetDisBreakerState()
|
||||
m_targetDisBreakerState.bus4Breaker.reservedCircuitBreaker1 = 0;
|
||||
m_targetDisBreakerState.bus4Breaker.reservedCircuitBreaker2 = 0;
|
||||
m_targetDisBreakerState.bus4Breaker.emergencyLithiumBatteryGroup1CircuitBreaker = 1; //紧急锂电池默认接入
|
||||
|
||||
//================初始化复合管控=============================
|
||||
m_CcuColCmd.workCondition = 0x00; //默认无效
|
||||
m_CcuColCmd.fcuCmd = 0x00; //无效指令
|
||||
m_CcuColCmd.fcuPowerEfficiency = 15; //默认为15kw
|
||||
m_CcuColCmd.fcuInsEfficiency = 00; //预留指令,无效
|
||||
m_CcuColCmd.insBatCmd = 0x00; //无效指令
|
||||
m_CcuColCmd.powerBatCmd = 0x00; //无效指令
|
||||
m_CcuColCmd.powerBatEfficiency = 230; //默认为最大
|
||||
m_CcuColCmd.heartbeat = 0;
|
||||
m_CcuColCmd.masterState = 0xAA;//主站状态,运行中
|
||||
}
|
||||
|
||||
char PowerManger::getBreakerOption(char cmd)
|
||||
|
||||
Reference in New Issue
Block a user