完善了数据库功能,将udp单独编译为一个静态库
This commit is contained in:
@@ -122,8 +122,6 @@ bool PowerManger::Iterate()
|
||||
m_FsmThread.Start();
|
||||
else
|
||||
m_FsmThread.Stop();
|
||||
// 数据库测试
|
||||
|
||||
//3. 输出报告
|
||||
buildPowerSysReport();
|
||||
//4. 打印错误信息
|
||||
@@ -138,6 +136,8 @@ bool PowerManger::Iterate()
|
||||
//AppCastingMOOSApp::PostReport();
|
||||
//5. 清空UDP消息队列
|
||||
m_udpComm.clearMsgQueue();
|
||||
//6. 写入数据库
|
||||
writeDataToDB();
|
||||
return(true);
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@ bool PowerManger::FsmLoop()
|
||||
|
||||
bool PowerManger::updatePmState()
|
||||
{
|
||||
|
||||
//1. 更新下位机状态
|
||||
if(!m_udpComm.m_qReceiveCcuStateBuffer.empty())
|
||||
{
|
||||
double time;
|
||||
@@ -802,6 +802,23 @@ bool PowerManger::saveStringToJsonFile(const string &strJson, const string &file
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool PowerManger::writeDataToDB()
|
||||
{
|
||||
m_stateData.state_id = m_pmState.id;
|
||||
m_stateData.state_name = m_pmState.name;
|
||||
m_stateData.event = m_pmEvent;
|
||||
m_stateData.event_id = 1;
|
||||
m_stateData.fault_code = m_faultNum;
|
||||
m_stateData.note = "No fault";
|
||||
if(!m_db->insertStateData(m_stateData))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//TODO:配电系统操作函数
|
||||
bool PowerManger::disSystemOperation(disBreaker optBreaker, disBreakerOpt)
|
||||
{
|
||||
@@ -823,14 +840,10 @@ int PowerManger::handleInite_s1(FSM_State &fsm, void* pData)
|
||||
{
|
||||
cout << fsm.name << endl;
|
||||
PowerManger* pm = (PowerManger*)pData;
|
||||
//1. 检查复合管控器连接
|
||||
//1. 检查复合管控器连接 如果10S则进入故障状态
|
||||
double StartTime = pm->GetAppStartTime();
|
||||
while (!pm->m_connected)
|
||||
{
|
||||
// disHighVolBusCmd a;
|
||||
// a.fuelCellCircuitBreaker = DIS_BREAKER_OFF;
|
||||
// a.propulsionMotorCircuitBreaker = DIS_BREAKER_OFF;
|
||||
// pm->m_udpComm.sendDisSysCmd(a);
|
||||
MOOSPause(1000);
|
||||
pm->updateTime();
|
||||
double dft = abs(pm->m_current_time - StartTime);
|
||||
@@ -862,7 +875,7 @@ int PowerManger::handleInite_s1(FSM_State &fsm, void* pData)
|
||||
}
|
||||
//3. 检查当前配电装置状态
|
||||
//a. 断开高压母线的主要断路器
|
||||
//TODO 检查并配置当前配电装置状态
|
||||
//TODO 配置当前配电装置状态
|
||||
disHighVolBusCmd a;
|
||||
a.fuelCellCircuitBreaker = DIS_BREAKER_OFF;
|
||||
a.propulsionMotorCircuitBreaker = DIS_BREAKER_OFF;
|
||||
@@ -917,6 +930,7 @@ int PowerManger::handleFault_s99(FSM_State &fsm, void* pData)
|
||||
{
|
||||
case 1:
|
||||
pm->printState(fsm,"通信故障");
|
||||
pm->m_pmEvent = "复合管控连接超时";
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user