diff --git a/src/pPowerManger/PowerManger.cpp b/src/pPowerManger/PowerManger.cpp index 99d16ec..74f177c 100644 --- a/src/pPowerManger/PowerManger.cpp +++ b/src/pPowerManger/PowerManger.cpp @@ -64,6 +64,7 @@ PowerManger::PowerManger() //初始化http服务器 m_httpServer = new HttpServer(8090); + m_httpServer->setPowerManger(this); m_httpServer->setLowerCommManager(m_lowerCommManager); m_httpServer->setSystemData(m_systemData); m_httpServer->start(); diff --git a/src/pPowerManger/PowerManger.h b/src/pPowerManger/PowerManger.h index fbc25d0..70c3535 100644 --- a/src/pPowerManger/PowerManger.h +++ b/src/pPowerManger/PowerManger.h @@ -131,6 +131,13 @@ class PowerManger : public AppCastingMOOSApp bool sendNotification(const std::string& key, const std::string& value) { return Notify(key, value); } + public: + double GetPublicAppFreq() { return GetAppFreq(); } + unsigned int GetPublicCommsFreq() { return GetCommsFreq(); } + double GetPublicAppStartTime() { return GetAppStartTime(); } + double GetPublicCPULoad() { return GetCPULoad(); } + double GetPublicTimeSinceIterate() { return GetTimeSinceIterate(); } + double GetPublicLastIterateTime() { return GetLastIterateTime(); } }; #endif diff --git a/src/pPowerManger/httpserver/data.h b/src/pPowerManger/httpserver/data.h new file mode 100644 index 0000000..8ff9715 --- /dev/null +++ b/src/pPowerManger/httpserver/data.h @@ -0,0 +1,1630 @@ +#ifndef HTTP_SERVER_DATA_H +#define HTTP_SERVER_DATA_H + +#include + +const std::string DATA_HTML = R"( + + + + +Power Manager + + + + +

Power Manager System

+ + +
+
+
+ FC模式: + 正在加载... +
+
+ FC状态: + 正在加载... +
+
+ 故障等级: + 正在加载... +
+
+ 输出功率限制: + 正在加载... +
+
+ 累计发电时间: + 正在加载... +
+
+ 累计发电功率: + 正在加载... +
+
+ FC故障等级1: + 正在加载... +
+
+ FC故障等级2: + 正在加载... +
+
+ FC故障等级3: + 正在加载... +
+
+ FC故障等级4: + 正在加载... +
+
+
+ + +
+
+
+ 氢容量: + 正在加载... +
+
+ 液氧容量: + 正在加载... +
+
+
+ + +
+
+
+ 钯膜温度: + 正在加载... +
+
+ 主水路压力: + 正在加载... +
+
+ 辅水路压力: + 正在加载... +
+
+
+ + +
+
+
+ 仪表舱室压力: + 正在加载... +
+
+ 动力舱室压力: + 正在加载... +
+
+ 仪表舱室温度: + 正在加载... +
+
+ 动力舱室温度: + 正在加载... +
+
+ 仪表舱室湿度: + 正在加载... +
+
+ 动力舱室湿度: + 正在加载... +
+
+
+ + +
+
+
+ H2浓度1: + 正在加载... +
+
+ H2浓度2: + 正在加载... +
+
+ H2浓度3: + 正在加载... +
+
+ O2浓度1: + 正在加载... +
+
+ O2浓度2: + 正在加载... +
+
+ 甲醇浓度1: + 正在加载... +
+
+ 甲醇浓度2: + 正在加载... +
+
+
+ + +
+
+
+ 仪表电池SOC: + 正在加载... +
+
+ 动力电池SOC: + 正在加载... +
+
+ 仪表电池电压: + 正在加载... +
+
+ 动力电池电压: + 正在加载... +
+
+ 仪表电池电流: + 正在加载... +
+
+ 动力电池电流: + 正在加载... +
+
+ 仪表电池能量: + 正在加载... +
+
+ 动力电池能量: + 正在加载... +
+
+ 仪表电池输入功率: + 正在加载... +
+
+ 动力电池输入功率: + 正在加载... +
+
+
+ + +
+
+
+ 仪表继电器1: + 正在加载... +
+
+ 仪表继电器2: + 正在加载... +
+
+ 动力继电器1: + 正在加载... +
+
+ 动力继电器2: + 正在加载... +
+
+
+ + +
+
+
+ 动力报警标志1: + 正在加载... +
+
+ 动力报警标志2: + 正在加载... +
+
+ 动力报警标志3: + 正在加载... +
+
+ 动力报警标志4: + 正在加载... +
+
+ 动力报警标志5: + 正在加载... +
+
+ 动力报警标志6: + 正在加载... +
+
+ 仪表报警标志1: + 正在加载... +
+
+ 仪表报警标志2: + 正在加载... +
+
+ 仪表报警标志3: + 正在加载... +
+
+ 仪表报警标志4: + 正在加载... +
+
+ 仪表报警标志5: + 正在加载... +
+
+ 仪表报警标志6: + 正在加载... +
+
+
+ + +
+
+
+ 设备在线标志1: + 正在加载... +
+
+ 设备在线标志2: + 正在加载... +
+
+ 仪表锂电在线状态: + 正在加载... +
+
+ 动力锂电在线状态: + 正在加载... +
+
+ 燃电锂电在线状态: + 正在加载... +
+
+ 高压配电板在线状态: + 正在加载... +
+
+ 低压配电板在线状态: + 正在加载... +
+
+ 复合管控主机在线状态: + 正在加载... +
+
+ 复合管控备机在线状态: + 正在加载... +
+
+
+ + +
+
+
+ CCU状态-超时: + 正在加载... +
+
+ CCU状态-最后更新时间: + 正在加载... +
+
+ 高压配电1-超时: + 正在加载... +
+
+ 高压配电1-最后更新时间: + 正在加载... +
+
+ 高压配电2-超时: + 正在加载... +
+
+ 高压配电2-最后更新时间: + 正在加载... +
+
+ 低压配电1-超时: + 正在加载... +
+
+ 低压配电1-最后更新时间: + 正在加载... +
+
+ 低压配电2-超时: + 正在加载... +
+
+ 低压配电2-最后更新时间: + 正在加载... +
+
+
+ + +
+
+
+ 燃料电池断路器: + 正在加载... +
+
+ 动力锂电池断路器: + 正在加载... +
+
+ 推进电机断路器: + 正在加载... +
+
+ 锂电池组仪表断路器: + 正在加载... +
+
+ DC/DC5模块断路器: + 正在加载... +
+
+ 艏部高压配电箱断路器: + 正在加载... +
+
+ 艉部FT装置4/5断路器: + 正在加载... +
+
+ 艉舵开关1断路器: + 正在加载... +
+
+ 艉舵开关2断路器: + 正在加载... +
+
+ FB预留断路器: + 正在加载... +
+
+ TYZ预留断路器: + 正在加载... +
+
+ 预留断路器: + 正在加载... +
+
+ DC/DC5模块状态: + 正在加载... +
+
+ 冷却系统状态: + 正在加载... +
+
+ 动力母排绝缘状态: + 正在加载... +
+
+ A汇流排绝缘状态: + 正在加载... +
+
+ 仪表电源状态: + 正在加载... +
+
+ 应急电源状态: + 正在加载... +
+
+ DC/DC温度: + 正在加载... +
+
+ 动力汇流排电压: + 正在加载... +
+
+ DC/DC5模块电流: + 正在加载... +
+
+ 动力汇流排电流: + 正在加载... +
+
+ A汇流排电压: + 正在加载... +
+
+ 推进电机控制箱电流: + 正在加载... +
+
+ A汇流排电流: + 正在加载... +
+
+ 锂电池组(仪表)电流: + 正在加载... +
+
+ 艏部高压配电箱电流: + 正在加载... +
+
+ 艉部FT装置4/5电流: + 正在加载... +
+
+ TYZ预留开关电流: + 正在加载... +
+
+ 艉舵开关1电流: + 正在加载... +
+
+ 艉舵开关2电流: + 正在加载... +
+
+ 预留电流1: + 正在加载... +
+
+ FB预留电流: + 正在加载... +
+
+ 预留电流2: + 正在加载... +
+
+ 预留电流3: + 正在加载... +
+
+ 冷却水压力: + 正在加载... +
+
+
+ + +
+
+
+ 锂电池组(仪表)断路器: + 正在加载... +
+
+ 艏部低压配电箱断路器: + 正在加载... +
+
+ UNIT4仪表DC48V断路器: + 正在加载... +
+
+ DC-C1直流配电板断路器: + 正在加载... +
+
+ 预留断路器1: + 正在加载... +
+
+ 预留断路器2: + 正在加载... +
+
+ 应急锂电池组2断路器: + 正在加载... +
+
+ 仪表电源状态: + 正在加载... +
+
+ 应急电源状态: + 正在加载... +
+
+ 仪表汇流排绝缘状态: + 正在加载... +
+
+ 仪表母排电压: + 正在加载... +
+
+ 艏部低压配电箱电流: + 正在加载... +
+
+ DC-C1仪表DC48V电流: + 正在加载... +
+
+ 预留电流1: + 正在加载... +
+
+ 应急锂电池组2电流: + 正在加载... +
+
+ 锂电池组(仪表)电流: + 正在加载... +
+
+ UNIT4仪表DC48V电流: + 正在加载... +
+
+ 预留电流2: + 正在加载... +
+
+ 应急2汇流排电压: + 正在加载... +
+
+ 复合能源管控系统应急DC48V电流: + 正在加载... +
+
+ 燃料电池安全系统应急DC48V电流: + 正在加载... +
+
+ PLC控制电源电流: + 正在加载... +
+
+
+ + +
+
+
+ UNIT1断路器: + 正在加载... +
+
+ UNIT2断路器: + 正在加载... +
+
+ UNIT3断路器: + 正在加载... +
+
+ UNIT5断路器: + 正在加载... +
+
+ 艏部PZ装置断路器: + 正在加载... +
+
+ 预留断路器1: + 正在加载... +
+
+ 预留断路器2: + 正在加载... +
+
+ 应急锂电池组1断路器: + 正在加载... +
+
+ 仪表电源状态: + 正在加载... +
+
+ 应急电源状态: + 正在加载... +
+
+ 浸水报警: + 正在加载... +
+
+ 仪表母排电压: + 正在加载... +
+
+ 仪表母排电流: + 正在加载... +
+
+ UNIT1电流: + 正在加载... +
+
+ UNIT2电流: + 正在加载... +
+
+ UNIT3电流: + 正在加载... +
+
+ UNIT5电流: + 正在加载... +
+
+ 艏部PZ装置电流: + 正在加载... +
+
+ 应急锂电池组1电流: + 正在加载... +
+
+ 应急1汇流排电压: + 正在加载... +
+
+
+ + +
+
+
+ 艏部FT装置1/2/3断路器: + 正在加载... +
+
+ 启闭机构断路器: + 正在加载... +
+
+ 桅杆舵机控制箱断路器: + 正在加载... +
+
+ XCZ断路器: + 正在加载... +
+
+ 艏舵控制箱断路器: + 正在加载... +
+
+ 敞水盖启动电缸断路器: + 正在加载... +
+
+ 仪表电源状态: + 正在加载... +
+
+ 应急电源状态: + 正在加载... +
+
+ 浸水报警: + 正在加载... +
+
+ 汇流排B电压: + 正在加载... +
+
+ 汇流排B电流: + 正在加载... +
+
+ 艏部FT装置1/2/3电流: + 正在加载... +
+
+ 启闭机构电流: + 正在加载... +
+
+ 桅杆舵机控制箱电流: + 正在加载... +
+
+ XCZ电流: + 正在加载... +
+
+ 艏舵控制箱电流: + 正在加载... +
+
+ 敞水盖启动电缸电流: + 正在加载... +
+
+
+ + +
+
+
+ 心跳计数器: + 正在加载... +
+
+ 时间戳: + 正在加载... +
+
+
+ + + + +)"; + +#endif // HTTP_SERVER_INDEX_H diff --git a/src/pPowerManger/httpserver/httpserver.cpp b/src/pPowerManger/httpserver/httpserver.cpp index 3f71aaa..8a78811 100644 --- a/src/pPowerManger/httpserver/httpserver.cpp +++ b/src/pPowerManger/httpserver/httpserver.cpp @@ -6,6 +6,7 @@ #include #include "json/json.h" #include +#include "data.h" using json = Json::Value; @@ -63,6 +64,9 @@ void HttpServer::handleWebSocketEvent(struct mg_connection* c, int ev, void* ev_ } else if (mg_match(hm->uri, mg_str("/dashboard"), NULL)) { // 返回仪表盘HTML mg_http_reply(c, 200, "Content-Type: text/html; charset=utf-8\r\n", DASHBOARD_HTML.c_str()); + } else if (mg_match(hm->uri, mg_str("/data"), NULL)) { + // 返回数据页面HTML + mg_http_reply(c, 200, "Content-Type: text/html; charset=utf-8\r\n", DATA_HTML.c_str()); } else if (mg_match(hm->uri, mg_str("/control"), NULL)) { // 处理断路器控制请求 if (mg_strcmp(hm->method, mg_str("POST")) == 0) { @@ -485,6 +489,14 @@ void HttpServer::pushSystemData() { j["instrument_bus_status"]["emergencyLithiumBatteryGroup1Current"] = Json::Value(m_systemData->instrument_bus_status.emergencyLithiumBatteryGroup1Current); // 应急锂电池组1电流 j["instrument_bus_status"]["emergency1BusbarVoltage"] = Json::Value(m_systemData->instrument_bus_status.emergency1BusbarVoltage); // 应急1汇流排电压 + + //MOOSDB数据 + j["moosdb"]["appFreq"] = Json::Value(m_powerManger->GetPublicAppFreq()); + j["moosdb"]["commFreq"] = Json::Value(m_powerManger->GetPublicCommsFreq()); + j["moosdb"]["startTime"] = Json::Value(m_powerManger->GetPublicAppStartTime()); + j["moosdb"]["cpuLoad"] = Json::Value(m_powerManger->GetPublicCPULoad()); + j["moosdb"]["timeSinceIterate"] = Json::Value(m_powerManger->GetPublicTimeSinceIterate()); + j["moosdb"]["lastIterateTime"] = Json::Value(m_powerManger->GetPublicLastIterateTime()); // 时间戳 j["timestamp"] = Json::Value((Json::UInt64)(std::chrono::duration_cast( std::chrono::system_clock::now().time_since_epoch()).count())); diff --git a/src/pPowerManger/httpserver/httpserver.h b/src/pPowerManger/httpserver/httpserver.h index c952594..821892c 100644 --- a/src/pPowerManger/httpserver/httpserver.h +++ b/src/pPowerManger/httpserver/httpserver.h @@ -7,13 +7,18 @@ #include #include #include +#include +#include #include "../LowerCommManager.h" -class PowerManger; // 前向声明 +#include "../PowerManger.h" +#include +#include +#include class HttpServer { public: // 构造函数,传入PowerManger指针和端口号 - explicit HttpServer(int port = 8000); + HttpServer(int port = 8000); // 析构函数 ~HttpServer(); @@ -34,10 +39,19 @@ public: void setLowerCommManager(LowerCommManager* lowerCommManager){ m_lowerCommManager = lowerCommManager; } + void setPowerManger(PowerManger* powerManger){ + m_powerManger = powerManger; + } // 推送系统数据到所有WebSocket客户端 void pushSystemData(); + // 推送日志数据到指定客户端 + void pushLogData(struct mg_connection* c, int page, int pageSize, const std::string& level, const std::string& search); + + // 监控日志文件变化并推送新内容 + void monitorLogFile(); + private: // WebSocket事件处理函数 void handleWebSocketEvent(struct mg_connection* c, int ev, void* ev_data, void* fn_data); @@ -49,6 +63,7 @@ private: // 后台系统数据 SystemData *m_systemData = nullptr; LowerCommManager *m_lowerCommManager = nullptr; + PowerManger *m_powerManger = nullptr; struct mg_mgr mgr_; // Mongoose管理器 int port_; // 监听端口 @@ -57,6 +72,27 @@ private: std::mutex ws_connections_mutex_; // WebSocket连接锁 std::vector ws_connections_; // WebSocket连接列表 std::unordered_map ws_last_io_time_; // 连接最后活动时间 + + // 读取日志文件 + std::vector readLogFile(int page, int pageSize, const std::string& level, const std::string& search); + + // 处理WebSocket消息 + void handleWebSocketMessage(struct mg_connection* c, const std::string& msg); + + // 日志文件相关 + std::string m_logFilePath = "pPowerManger.log"; + std::ifstream m_logFile; + std::streampos m_lastLogPosition = 0; + std::deque m_logCache; // 缓存最近的日志 + static const size_t MAX_CACHE_SIZE = 1000; // 最大缓存条数 + + // Log monitoring + std::string m_logPath; + std::deque m_logCache; + std::mutex m_logMutex; + std::vector m_logSubscribers; + std::mutex m_subscriberMutex; + std::atomic m_lastLogSize; }; #endif // HTTP_SERVER_H \ No newline at end of file diff --git a/src/pPowerManger/httpserver/index.h b/src/pPowerManger/httpserver/index.h index 67de98f..c4b4fe3 100644 --- a/src/pPowerManger/httpserver/index.h +++ b/src/pPowerManger/httpserver/index.h @@ -11,1616 +11,272 @@ const std::string INDEX_HTML = R"( Power Manager -

Power Manager System

- - -
-
-
- FC模式: - 正在加载... -
-
- FC状态: - 正在加载... -
-
- 故障等级: - 正在加载... -
-
- 输出功率限制: - 正在加载... -
-
- 累计发电时间: - 正在加载... -
-
- 累计发电功率: - 正在加载... -
-
- FC故障等级1: - 正在加载... -
-
- FC故障等级2: - 正在加载... -
-
- FC故障等级3: - 正在加载... -
-
- FC故障等级4: - 正在加载... + - -
-
-
- 氢容量: - 正在加载... -
-
- 液氧容量: - 正在加载... +
+

Power Manager System

+
+
+ 🟢 系统状态: 运行中 + 🕒 更新时间: +
-
- -
-
-
- 钯膜温度: - 正在加载... -
-
- 主水路压力: - 正在加载... -
-
- 辅水路压力: - 正在加载... -
-
-
- - -
-
-
- 仪表舱室压力: - 正在加载... -
-
- 动力舱室压力: - 正在加载... -
-
- 仪表舱室温度: - 正在加载... -
-
- 动力舱室温度: - 正在加载... -
-
- 仪表舱室湿度: - 正在加载... -
-
- 动力舱室湿度: - 正在加载... -
-
-
- - -
-
-
- H2浓度1: - 正在加载... -
-
- H2浓度2: - 正在加载... -
-
- H2浓度3: - 正在加载... -
-
- O2浓度1: - 正在加载... -
-
- O2浓度2: - 正在加载... -
-
- 甲醇浓度1: - 正在加载... -
-
- 甲醇浓度2: - 正在加载... -
-
-
- - -
-
-
- 仪表电池SOC: - 正在加载... -
-
- 动力电池SOC: - 正在加载... -
-
- 仪表电池电压: - 正在加载... -
-
- 动力电池电压: - 正在加载... -
-
- 仪表电池电流: - 正在加载... -
-
- 动力电池电流: - 正在加载... -
-
- 仪表电池能量: - 正在加载... -
-
- 动力电池能量: - 正在加载... -
-
- 仪表电池输入功率: - 正在加载... -
-
- 动力电池输入功率: - 正在加载... -
-
-
- - -
-
-
- 仪表继电器1: - 正在加载... -
-
- 仪表继电器2: - 正在加载... -
-
- 动力继电器1: - 正在加载... -
-
- 动力继电器2: - 正在加载... -
-
-
- - -
-
-
- 动力报警标志1: - 正在加载... -
-
- 动力报警标志2: - 正在加载... -
-
- 动力报警标志3: - 正在加载... -
-
- 动力报警标志4: - 正在加载... -
-
- 动力报警标志5: - 正在加载... -
-
- 动力报警标志6: - 正在加载... -
-
- 仪表报警标志1: - 正在加载... -
-
- 仪表报警标志2: - 正在加载... -
-
- 仪表报警标志3: - 正在加载... -
-
- 仪表报警标志4: - 正在加载... -
-
- 仪表报警标志5: - 正在加载... -
-
- 仪表报警标志6: - 正在加载... -
-
-
- - -
-
-
- 设备在线标志1: - 正在加载... -
-
- 设备在线标志2: - 正在加载... -
-
- 仪表锂电在线状态: - 正在加载... -
-
- 动力锂电在线状态: - 正在加载... -
-
- 燃电锂电在线状态: - 正在加载... -
-
- 高压配电板在线状态: - 正在加载... -
-
- 低压配电板在线状态: - 正在加载... -
-
- 复合管控主机在线状态: - 正在加载... -
-
- 复合管控备机在线状态: - 正在加载... -
-
-
- - -
-
-
- CCU状态-超时: - 正在加载... -
-
- CCU状态-最后更新时间: - 正在加载... -
-
- 高压配电1-超时: - 正在加载... -
-
- 高压配电1-最后更新时间: - 正在加载... -
-
- 高压配电2-超时: - 正在加载... -
-
- 高压配电2-最后更新时间: - 正在加载... -
-
- 低压配电1-超时: - 正在加载... -
-
- 低压配电1-最后更新时间: - 正在加载... -
-
- 低压配电2-超时: - 正在加载... -
-
- 低压配电2-最后更新时间: - 正在加载... -
-
-
- - -
-
-
- 燃料电池断路器: - 正在加载... -
-
- 动力锂电池断路器: - 正在加载... -
-
- 推进电机断路器: - 正在加载... -
-
- 锂电池组仪表断路器: - 正在加载... -
-
- DC/DC5模块断路器: - 正在加载... -
-
- 艏部高压配电箱断路器: - 正在加载... -
-
- 艉部FT装置4/5断路器: - 正在加载... -
-
- 艉舵开关1断路器: - 正在加载... -
-
- 艉舵开关2断路器: - 正在加载... -
-
- FB预留断路器: - 正在加载... -
-
- TYZ预留断路器: - 正在加载... -
-
- 预留断路器: - 正在加载... -
-
- DC/DC5模块状态: - 正在加载... -
-
- 冷却系统状态: - 正在加载... -
-
- 动力母排绝缘状态: - 正在加载... -
-
- A汇流排绝缘状态: - 正在加载... -
-
- 仪表电源状态: - 正在加载... -
-
- 应急电源状态: - 正在加载... -
-
- DC/DC温度: - 正在加载... -
-
- 动力汇流排电压: - 正在加载... -
-
- DC/DC5模块电流: - 正在加载... -
-
- 动力汇流排电流: - 正在加载... -
-
- A汇流排电压: - 正在加载... -
-
- 推进电机控制箱电流: - 正在加载... -
-
- A汇流排电流: - 正在加载... -
-
- 锂电池组(仪表)电流: - 正在加载... -
-
- 艏部高压配电箱电流: - 正在加载... -
-
- 艉部FT装置4/5电流: - 正在加载... -
-
- TYZ预留开关电流: - 正在加载... -
-
- 艉舵开关1电流: - 正在加载... -
-
- 艉舵开关2电流: - 正在加载... -
-
- 预留电流1: - 正在加载... -
-
- FB预留电流: - 正在加载... -
-
- 预留电流2: - 正在加载... -
-
- 预留电流3: - 正在加载... -
-
- 冷却水压力: - 正在加载... -
-
-
- - -
-
-
- 锂电池组(仪表)断路器: - 正在加载... -
-
- 艏部低压配电箱断路器: - 正在加载... -
-
- UNIT4仪表DC48V断路器: - 正在加载... -
-
- DC-C1直流配电板断路器: - 正在加载... -
-
- 预留断路器1: - 正在加载... -
-
- 预留断路器2: - 正在加载... -
-
- 应急锂电池组2断路器: - 正在加载... -
-
- 仪表电源状态: - 正在加载... -
-
- 应急电源状态: - 正在加载... -
-
- 仪表汇流排绝缘状态: - 正在加载... -
-
- 仪表母排电压: - 正在加载... -
-
- 艏部低压配电箱电流: - 正在加载... -
-
- DC-C1仪表DC48V电流: - 正在加载... -
-
- 预留电流1: - 正在加载... -
-
- 应急锂电池组2电流: - 正在加载... -
-
- 锂电池组(仪表)电流: - 正在加载... -
-
- UNIT4仪表DC48V电流: - 正在加载... -
-
- 预留电流2: - 正在加载... -
-
- 应急2汇流排电压: - 正在加载... -
-
- 复合能源管控系统应急DC48V电流: - 正在加载... -
-
- 燃料电池安全系统应急DC48V电流: - 正在加载... -
-
- PLC控制电源电流: - 正在加载... -
-
-
- - -
-
-
- UNIT1断路器: - 正在加载... -
-
- UNIT2断路器: - 正在加载... -
-
- UNIT3断路器: - 正在加载... -
-
- UNIT5断路器: - 正在加载... -
-
- 艏部PZ装置断路器: - 正在加载... -
-
- 预留断路器1: - 正在加载... -
-
- 预留断路器2: - 正在加载... -
-
- 应急锂电池组1断路器: - 正在加载... -
-
- 仪表电源状态: - 正在加载... -
-
- 应急电源状态: - 正在加载... -
-
- 浸水报警: - 正在加载... -
-
- 仪表母排电压: - 正在加载... -
-
- 仪表母排电流: - 正在加载... -
-
- UNIT1电流: - 正在加载... -
-
- UNIT2电流: - 正在加载... -
-
- UNIT3电流: - 正在加载... -
-
- UNIT5电流: - 正在加载... -
-
- 艏部PZ装置电流: - 正在加载... -
-
- 应急锂电池组1电流: - 正在加载... -
-
- 应急1汇流排电压: - 正在加载... -
-
-
- - -
-
-
- 艏部FT装置1/2/3断路器: - 正在加载... -
-
- 启闭机构断路器: - 正在加载... -
-
- 桅杆舵机控制箱断路器: - 正在加载... -
-
- XCZ断路器: - 正在加载... -
-
- 艏舵控制箱断路器: - 正在加载... -
-
- 敞水盖启动电缸断路器: - 正在加载... -
-
- 仪表电源状态: - 正在加载... -
-
- 应急电源状态: - 正在加载... -
-
- 浸水报警: - 正在加载... -
-
- 汇流排B电压: - 正在加载... -
-
- 汇流排B电流: - 正在加载... -
-
- 艏部FT装置1/2/3电流: - 正在加载... -
-
- 启闭机构电流: - 正在加载... -
-
- 桅杆舵机控制箱电流: - 正在加载... -
-
- XCZ电流: - 正在加载... -
-
- 艏舵控制箱电流: - 正在加载... -
-
- 敞水盖启动电缸电流: - 正在加载... -
-
-
- - -
-
-
- 心跳计数器: - 正在加载... -
-
- 时间戳: - 正在加载... +
+
+
系统数据监控
+
+

暂无数据显示

+
diff --git a/src/pPowerManger/httpserver/logpage.h b/src/pPowerManger/httpserver/logpage.h new file mode 100644 index 0000000..c6ed08b --- /dev/null +++ b/src/pPowerManger/httpserver/logpage.h @@ -0,0 +1,573 @@ +#ifndef HTTP_SERVER_LOGPAGE_H +#define HTTP_SERVER_LOGPAGE_H + +#include + +const std::string LOG_PAGE_HTML = R"( + + + + + 系统日志 - Power Manager + + + +
+ + +
+

系统日志

+
+
+ 🟢 系统状态: 运行中 + 🕒 更新时间: +
+
+
+ +
+
+
+ + + +
+ + +
+
+
+
+
+ 每页显示: + +
+
+ 第 0/0 页 + +
+
+
+
+
+ + + + +)"; + +#endif // HTTP_SERVER_LOGPAGE_H diff --git a/src/pPowerManger/systemData.h b/src/pPowerManger/systemData.h index 6279671..6cedb1d 100644 --- a/src/pPowerManger/systemData.h +++ b/src/pPowerManger/systemData.h @@ -135,6 +135,9 @@ public: uint32_t reserved4; // 保留字段 uint32_t heartbeat; // 主机心跳计数器 + + // MOOSD 状态 + bool moosd_status; //配电系统状态 //动力母线状态 struct POWER_BUS_STATUS @@ -397,6 +400,7 @@ public: }; void updateSystemData(ccuState data){ + fc_mode = data.fc_mode; fc_status = data.fc_status; fc_fault_level = data.fc_fault_level;