锂电池通信(docs/锂电池协议20230324.docx): - 协议层 BatProtocol:自检0x0000(2B)/设备控制0x0001(17B)/电池组状态0x0003(80B)/ 电池包报警0x0004(68B),uint32字节和校验、小端 - 链路层 BatLinkManager:动力/仪表锂电池独立UDP链路,本机监听与远端IP端口 均由.moos配置(dyn_bat_*/ins_bat_*/bat_work_condition) - SystemData/SnapshotBuilder/网页:电池数据按动力/仪表归类展示(运行状态/接触器 电气量/电池包电压温度/报警),收发帧落库SQLite,网页新增电池标签页 操作->指令下发(PowerCoordinator): - 操作接口:自检/上下电(母线接触器55H接通77H断开,含预充)/功率设定(0~500kW)/ 电池切换(低压->高压6步、高压->低压5步,按协议时序) - 步骤引擎:每电池独立步骤队列,下发->状态反馈确认->超时兜底;周期1s心跳控制帧 - PM操控指令insBatCmd/dynBatCmd/dynBatPower自动映射为电池操作 电源协调状态机骨架(CoordFsm, TinyFSM): - 事件Tick/PmControl/StepDone + 状态Normal/Switching/Fault,react均为TODO占位 - 当前未接线(无start/dispatch调用,运行行为与接入前一致),CoordFsm.hpp头部附接线指南 测试与部署: - pccuTest新增电池协议编解码/帧长/链路分发用例(175项通过);集成测试覆盖电池 心跳、启停映射(0x10->0x55/0x20->0x77)、状态落库;同步pccu_it.moos与ws_check - h100.moos与pCCU.moos增加锂电池链路配置;归档锂电池协议文档
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
// MOOS file
|
||
// 板卡 (RK3588 / Ubuntu 20.04) 专用 mission 配置
|
||
// 四个 systemd 服务(moosdb / pPowerManger / pPowerMangerHost / pCCU)共用本文件。
|
||
// 由 scripts/deploy.sh 推送到板卡 /root/work/h100/missions/h100.moos
|
||
|
||
ServerHost = localhost
|
||
ServerPort = 9000
|
||
Community = h100
|
||
|
||
ProcessConfig = pPowerManger
|
||
{
|
||
AppTick = 4
|
||
CommsTick = 4
|
||
log_level = INFO
|
||
// 日志文件路径(目录需已存在,由 deploy.sh 创建)
|
||
logpath = /root/work/h100/data/pPowerManger.log
|
||
// 数据库存储路径(目录需已存在,由 deploy.sh 创建)
|
||
dbpath = /root/work/h100/data/power_data.db
|
||
// CCU 地址(pPowerManger -> pCCU 的 UDP 链路);不配置则默认 127.0.0.1:7000
|
||
ccuhost = 127.0.0.1
|
||
ccuport = 7000
|
||
}
|
||
|
||
ProcessConfig = pPowerMangerHost
|
||
{
|
||
AppTick = 4
|
||
CommsTick = 4
|
||
WEB_PORT = 18080
|
||
|
||
// 反馈落盘(SQLite),路径可配置;目录不存在会自动创建
|
||
DB_FILE = /root/work/h100/data/feedback_data.db
|
||
FB_LOG_ENABLED = true
|
||
FB_LOG_KEEP_SECONDS = 86400 // 历史保留时长(秒),24h
|
||
FB_LOG_PRUNE_INTERVAL_SECONDS = 60 // 清理检查周期(秒)
|
||
}
|
||
|
||
ProcessConfig = pCCU
|
||
{
|
||
AppTick = 4
|
||
CommsTick = 4
|
||
|
||
// FC 链路(本机监听 FC 状态;发送 FC 控制指令给燃料电池控制器)
|
||
fc_local_port = 6000
|
||
fc_remote_ip = 192.168.1.162
|
||
fc_remote_port = 7000
|
||
|
||
// PM 链路(监听 pPowerManger 指令;向 pPowerManger 周期发送 PM 状态)
|
||
// pPowerManger 与 pCCU 同机部署,pPowerManger 绑定 0.0.0.0:5001,
|
||
// 故 PM 状态发送目标用回环地址即可送达。
|
||
pm_local_port = 7000
|
||
pm_remote_ip = 127.0.0.1
|
||
pm_remote_port = 5001
|
||
|
||
// 锂电池链路(协议:docs/锂电池协议20230324.docx)
|
||
// 动力/仪表锂电池各自独立端口;本机监听端口需与电池侧配置的目的端口一致
|
||
dyn_bat_local_port = 7001
|
||
dyn_bat_remote_ip = 192.168.100.137
|
||
dyn_bat_remote_port = 7000
|
||
ins_bat_local_port = 7002
|
||
ins_bat_remote_ip = 192.168.100.136
|
||
ins_bat_remote_port = 7000
|
||
// 电池工况设定:10工房调试 / 30试验实航 / 50科研模式
|
||
bat_work_condition = 10
|
||
|
||
dbpath = /root/work/h100/data/pccu_data.db
|
||
logpath = /root/work/h100/data/pCCU.log
|
||
|
||
web_port = 8080
|
||
web_enable = true
|
||
}
|