首页 / knowledge/代码解析/索引/功能索引
logic 模块功能反查索引
本页目录一、总体调度与数据总线(logic.c / logic.h)二、AC 侧功率控制(交流耦合机,ac_control.c / ac_control.h)三、DC 侧功率控制(直流耦合机 / 储能一体机,dc_control.c / dc_control.h)四、光伏优先(PV Priority)状态机(handle_priority.c / handle_priority.h)五、时段控制与削峰填谷(logic.c / ac_control.c / dc_control.c)六、云端调度指令与调频(FCAS / FFR / 老化测试,dispatch.c / dispatch.h)七、澳洲 CSIP-AUS / DNSP ramp 远程控制(csip_aus.c / csip_aus.h / logic.c)八、电网安规与并网限值(英国 G100 / 德国 §14a EnWG / 取电限值累加器,logic.c)九、SOC 校准与智能化(PV 超充)控制(logic.c)十、保护与后备供电(Backup / UPS / EPO,logic.c)十一、油机(柴油发电机 / GC)控制(generator.c / generator.h)十二、安装接线自检(self_test.c / self_test.h)十三、定点数格式化与解析工具(math_tools.c / math_tools.h)文件清单核对
覆盖源文件:18 个(9 个
.c+ 9 个.h)。文档本体见docs/knowledge/代码解析/logic/。 用法:在「想找的功能」列里搜关键词,即可定位到源文件;第四列链接直达该源文件的逐文件分析文档。 说明:本索引只覆盖logic/目录,不含midware/、net/、hmi/、data/等其他模块。
一、总体调度与数据总线(logic.c / logic.h)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| EMS 主控任务在哪跑 / 调度周期是多少 | task_system_logic_control | logic/logic.c(配套头文件 logic/logic.h) | logic.c.md |
| 实时数据汇总采集:把逆变器、电表、BMS、并机、充电桩采样装进控制参数表 | logic_sys_running_info_handle | logic/logic.c | logic.c.md |
| 当前该走哪种控制模式 / 序列控制模式优先级链 | ongrid_logic_handle、other_logic_handle | logic/logic.c | logic.c.md |
| 离网或故障时怎么把 AC/DC 设定功率清零 | other_logic_handle | logic/logic.c | logic.c.md |
| 外部强制覆盖当前控制模式 / 读当前模式 | logic_set_sequencecontrol_mode、logic_read_sequencecontrol_mode | logic/logic.c | logic.c.md |
| 充放电功率限值的总入口在哪里(按 DC 控 / AC 控条件编译分发) | logic_charge_dischg_power_limit | logic/logic.c | logic.c.md |
| 自发自用模式的计算入口 | self_use_funtion | logic/logic.c | logic.c.md |
| 读出当前 AC / DC 侧设定功率给逆变器下发(含 CSIP ramp 生效时返回 ramp 值) | logic_read_ac_total_set_inv_power、logic_read_dc_total_set_bat_power、logic_read_dc_total_set_grid_power、logic_read_dc_three_phase_set_* 等 logic_read_* 家族 | logic/logic.c | logic.c.md |
| 读 MPPT 百分比 / 读系统最大馈网功率 | logic_read_mppt_percentage、logic_read_max_feedin_power | logic/logic.c | logic.c.md |
| 读各种截止 SOC:时间段强充、强制馈网、允放、削峰填谷、UPS 预留、油机、用户自定义 | logic_read_charger_cut_soc、logic_read_feedin_cut_soc、logic_read_allow_discharge_cut_soc、logic_read_peakshving_discharge_cut_soc、logic_read_ups_reserve_soc、logic_read_gc_charger_cut_soc、logic_read_user_charger_cut_soc | logic/logic.c | logic.c.md |
| 视在功率限幅在哪做 | logic_apparent_power_limit | logic/logic.c | logic.c.md |
全局数据总线 g_t_logic_info 的结构定义在哪 | LOGIC_TABLE_T、g_t_logic_info | logic/logic.h | logic.h.md |
| 序列控制模式的枚举取值有哪些 / 与优先级链的对应关系 | SEQUENCE_CONTROL_MODE_E | logic/logic.h | logic.h.md |
结构体内存布局契约(#pragma pack(1) + 静态断言)在哪 | LOGIC_TABLE_T 的打包声明 | logic/logic.h | logic.h.md |
自检结果位域联合体 SELF_TEST_RESULT_U 定义在哪 | SELF_TEST_RESULT_U、g_t_logic_info.u_self_test_result | logic/logic.h | logic.h.md |
二、AC 侧功率控制(交流耦合机,ac_control.c / ac_control.h)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| AC 控(交流耦合机)自发自用总功率计算入口 | ac_control_total_power_self_use_calculate_new | logic/ac_control.c(配套头文件 logic/ac_control.h) | ac_control.c.md |
| 自发自用状态机:判断进入哪个状态(馈网跟踪 / 无 PV 跟踪 / 电池开路 / 逆变超调) | fsm_total_power_ac_control_state_handle | logic/ac_control.c | ac_control.c.md |
| 自发自用状态机:按状态执行功率赋值 | fsm_total_power_ac_control | logic/ac_control.c | ac_control.c.md |
| AC 侧设定功率怎么限幅(逆变上下限、充放电限值钳位) | ac_control_total_power_limit | logic/ac_control.c | ac_control.c.md |
| AC 强充模式怎么算 | ac_control_total_power_bat_force_charge、ac_control_total_power_bat_force_charge_control | logic/ac_control.c | ac_control.c.md |
| AC 强放 / 无电池模式怎么算 | ac_control_total_power_bat_force_discharge、ac_control_total_power_bat_force_control、ac_control_total_power_no_bat_calculate | logic/ac_control.c | ac_control.c.md |
| 电池功率指令模式(上位机给多少功率就发多少) | ac_control_total_power_bat_power_control | logic/ac_control.c | ac_control.c.md |
| 油机充电时 AC 侧功率怎么算 | ac_control_total_power_gc_chgpower_calculate | logic/ac_control.c | ac_control.c.md |
| AC 三相不平衡控制入口与状态判定 | ac_control_three_phase_power_self_use_calculate、threephase_unbalance_power_state_handle、fsm_threephase_unbalance_power_ac_control_state_handle | logic/ac_control.c | ac_control.c.md |
| 三相不平衡:max feedin 与电表功率怎么摊到三相 / 满载相数分配 | three_unbalance_power_inv_single_phase_full_cnt、threephase_unbalance_power_bat_open_with_pv_calculate、threephase_unbalance_power_grid_track_with_pv_calculate | logic/ac_control.c | ac_control.c.md |
| AC 三相不平衡各相功率限幅 | ac_control_three_phase_power_limit | logic/ac_control.c | ac_control.c.md |
| 预付费电表欠费时怎么限制输出 | prepay_meter_ac_control_state_handle、total_power_control_prepay_meter_calculate | logic/ac_control.c | ac_control.c.md |
| SunSpec / 南澳调度下的 AC 有功功率控制与 MPPT 开关判据 | ac_control_Sunspec_ative_power、ac_control_Sunspec_unbalance_ctrl | logic/ac_control.c | ac_control.c.md |
| AC 侧两套状态机枚举(自发自用、三相不平衡)定义在哪 | SELFUSE_AC_CONTORL_STATE、THREE_PHASE_UNBALANCE_AC_CONTORL_STATE | logic/ac_control.h | ac_control.h.md |
三、DC 侧功率控制(直流耦合机 / 储能一体机,dc_control.c / dc_control.h)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| DC 控(直流耦合机)自发自用主算法:按电表功率分馈网 / 买电 / 稳定三区间调节 | dc_control_total_power_self_use_calculate | logic/dc_control.c(配套头文件 logic/dc_control.h) | dc_control.c.md |
| 电池功率扰动计数与回退(防止来回抖动) | dc_control_total_power_self_use_calculate(g_u8_dc_disturbance_count) | logic/dc_control.c | dc_control.c.md |
| DC 侧功率限幅(电池钳到 ±充放上限,逆变与并网钳到 0~额定) | dc_control_total_power_limit | logic/dc_control.c | dc_control.c.md |
| DC 强充 / 强放 / 电池功率指令 / 无电池模式 | dc_control_total_power_bat_force_charge、dc_control_total_power_bat_force_discharge、dc_control_total_power_bat_power_control、dc_control_total_power_no_bat_calculate | logic/dc_control.c | dc_control.c.md |
| DC 油机充电模式(含复用三区间逻辑) | dc_control_total_power_gc_chgpower_calculate | logic/dc_control.c | dc_control.c.md |
| DC 三相不平衡自发自用逐相扰动调节(本文件最大函数) | dc_control_three_phase_power_self_use_calculate | logic/dc_control.c | dc_control.c.md |
| DC 三相不平衡强充 / 强放 / 电池功率控制 / 无电池 | dc_control_three_phase_power_bat_force_charge、dc_control_three_phase_power_bat_force_discharge、dc_control_three_phase_power_bat_power_control、dc_control_three_phase_power_no_bat_calculate | logic/dc_control.c | dc_control.c.md |
| DC 三相不平衡各相功率限幅(最小 10W 而非 0) | dc_control_three_phase_power_limit | logic/dc_control.c | dc_control.c.md |
| DC 侧 17 个功率控制函数原型声明在哪 | dc_control_total_power_limit 等 17 个原型 | logic/dc_control.h | dc_control.h.md |
四、光伏优先(PV Priority)状态机(handle_priority.c / handle_priority.h)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| 光伏优先(PV 超充)状态迁移在哪判定 / 功率赋值在哪 | ac_control_total_power_photovoltaic_priority_calculate、pp_total_power_ac_control_state_handle、pp_total_power_ac_control | logic/logic.c | logic.c.md |
| 光伏优先:默认态 / 低于 PV 馈网跟踪备份态 / 高于 PV 馈网跟踪备份态 | handle_priority_default_state、handle_priority_grid_track_backup_below_pv_state、handle_priority_grid_track_backup_over_pv_state | logic/handle_priority.c(配套头文件 logic/handle_priority.h) | handle_priority.c.md |
| 无 PV 时的馈网跟踪 / 电表归零滞环计算 | handle_priority_grid_track_without_pv_state、handle_priority_grid_zero_without_pv_state、total_power_control_grid_zero_without_pv_calculate | logic/handle_priority.c | handle_priority.c.md |
| 通用的「追踪电表归零」增量闭环算法(大偏差前馈 + 小偏差积分) | total_power_control_grid_track_calculate | logic/handle_priority.c | handle_priority.c.md |
| 光伏优先状态枚举定义在哪 | PV_PRIORITY_AC_CONTORL_STATE | logic/handle_priority.h | handle_priority.h.md |
五、时段控制与削峰填谷(logic.c / ac_control.c / dc_control.c)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| 时间段控制总入口 / 按周掩码判是否落在时段内(含跨天) | logic_control_by_time、logic_comparing_time_periods | logic/logic.c | logic.c.md |
| 强制电池馈网时间段与截止 SOC | logic_control_by_time(u8_bat_time_feedin_en)、logic_read_feedin_cut_soc | logic/logic.c | logic.c.md |
| 时间段强充(旧版 2 段 / 新版 EXTEND1+EXTEND2 各 14 段) | logic_control_by_time、logic_read_time_force_chg_flag | logic/logic.c | logic.c.md |
| 允放 / 禁放时间段怎么判 | logic_control_by_time(Time_Allow_Dischg_Enable、weekday_charge_discahrge_en & 0x02) | logic/logic.c | logic.c.md |
| 削峰填谷的判据在哪(峰值/谷值/回差/放电截止 SOC) | logic_control_by_time(u8_peak_shaving_en) | logic/logic.c | logic.c.md |
| 削峰填谷指令的中间层分发 | time_peakshaving_command | logic/logic.c | logic.c.md |
| AC 侧削峰 / 填谷命令入口与底层层滞环计算 | ac_ctrl_time_peak_clip_command、ac_ctrl_time_valley_fill_command、time_peak_clip_calculate、time_valley_fill_calculate | logic/ac_control.c | ac_control.c.md |
| DC 侧削峰 / 填谷命令入口与三状态滞环 | dc_ctrl_time_peak_clip_command、dc_ctrl_time_valley_fill_command、dc_time_peak_clip_calculate、dc_time_valley_fill_calculate | logic/dc_control.c | dc_control.c.md |
| 填谷时为什么要原地改写电表功率 | time_valley_fill_calculate(就地修改 s32_pgrid_metera/b/c) | logic/ac_control.c | ac_control.c.md |
六、云端调度指令与调频(FCAS / FFR / 老化测试,dispatch.c / dispatch.h)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| 云端下发的调度指令怎么解析落库 / 单位零偏置编码 | set_dispatch_parameter、POSITIVE_VALUE_OFFSET | logic/dispatch.c(配套头文件 logic/dispatch.h) | dispatch.c.md |
系统调度总分派:按 u8ControlMode 选执行体 | excute_system_dispatch_command | logic/dispatch.c | dispatch.c.md |
| 各调度模式执行体(光伏优先充电 / 负载跟随 / 最大输出 / 最大消纳 / 经济模式 / 电池禁充) | handle_bat_charge_from_pv、handle_load_following、handle_max_output、handle_max_consume、handle_optimise_consume、handle_eco_mode、handle_bat_no_charge、handle_normal_mode | logic/dispatch.c | dispatch.c.md |
| 按目标 SOC 强制充放电(三段式) | handle_charge_control、handle_parallel_charge_control | logic/dispatch.c | dispatch.c.md |
| 西澳调度 AC / DC 两种路径与无效值判定 | handle_charge_control_2、handle_charge_control_2_ac、handle_charge_control_2_dc | logic/dispatch.c | dispatch.c.md |
| 调度指令超时退出 / 恢复 MPPT / 老化结果维护 | dectect_api_dispatch_comm | logic/dispatch.c | dispatch.c.md |
| 老化测试 6 态循环(PV_TO_BAT → BAT_TO_GRID → GRID_TO_BAT → BAT_TO_GRID_2) | handle_aging_mode、AGING_MODE_E | logic/dispatch.c | dispatch.c.md |
| 老化数据上报影子副本同步 / 是否有变化待上报 | aging_mode_data_sync、aging_mode_send_data_flag | logic/dispatch.c | dispatch.c.md |
| 馈网优先级判定(哪些模式要抢占馈网) | dispatch_api_maxfeedin_priority、get_maxfeedin_priority_flag | logic/dispatch.c | dispatch.c.md |
| 调频(FCAS/FFR)检测状态机:阶跃 / 下垂 / FFR 三种响应算法 | frequency_regulation_detection | logic/dispatch.c | dispatch.c.md |
| 调频指令执行:按功率符号二分走强充或强放 | excute_frequency_regulation_command | logic/dispatch.c | dispatch.c.md |
| 调频频率读取与单位换算(CT 无输出时回落并机频率) | get_dispatch_running_freq、get_fast_dispatch_running_freq | logic/dispatch.c | dispatch.c.md |
| 判断当前是否处于 FCAS / FAST_FCAS / VERY_FAST_FCAS / FFR | get_fcas_running_flag、get_fast_fcas_running_flag、get_very_fast_fcas_running_flag、get_ffr_running_flag | logic/dispatch.c | dispatch.c.md |
| 调度使能 / 模式 / 设定功率的读写接口 | get_dispatch_enable、set_dispatch_enable、get_dispatch_mode、dispatch_set_mode、get_dispatch_set_power | logic/dispatch.c | dispatch.c.md |
| 正在被调度调节吗 / 上报采样间隔 | dispatch_regulation_flag、dispatch_api_data_interval | logic/dispatch.c | dispatch.c.md |
云端调度与调频模式枚举、调度表结构、全局调度状态中枢 g_t_dispatch_t | ENModeControl、FM_BAND_E、DISPATCH_TABLE_T、g_t_dispatch_t、DISPATCH_CMD_T | logic/dispatch.h | dispatch.h.md |
七、澳洲 CSIP-AUS / DNSP ramp 远程控制(csip_aus.c / csip_aus.h / logic.c)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| CSIP-AUS DER 远程控制主处理入口(每控制周期调用一次) | csip_aus_der_control_process | logic/csip_aus.c(配套头文件 logic/csip_aus.h) | csip_aus.c.md |
| DER 四态状态机(IDLE / CONTROL / DEFAULT / TRANSITION)与事件分派 | csip_aus_state_machine_handle、csip_aus_state_idle_handle、csip_aus_state_control_handle、csip_aus_state_default_handle | logic/csip_aus.c | csip_aus.c.md |
| 事件轮询与 2 秒防抖(没有事件队列,靠周期推导事件) | csip_aus_check_and_trigger_events | logic/csip_aus.c | csip_aus.c.md |
| 过渡到 CONTROL / DEFAULT / NORMAL,两段式斜坡使能与 3 秒等待 | csip_aus_transition_to_control、csip_aus_transition_to_default、csip_aus_transition_to_normal、csip_aus_common_transition_setup | logic/csip_aus.c | csip_aus.c.md |
斜坡速率怎么算(由 ramptms 或 setgradw 反推,最小 11 W/s) | csip_aus_calculate_ramp_rate | logic/csip_aus.c | csip_aus.c.md |
| 斜坡是否走完的判定(其实只看超时,不做功率闭环) | csip_aus_check_ramp_complete | logic/csip_aus.c | csip_aus.c.md |
| 斜坡超时估算(×1.2 裕度后钳到上下限) | csip_aus_calculate_ramp_timeout | logic/csip_aus.c | csip_aus.c.md |
| 控制时长倒计时与超时回落 | csip_aus_update_control_timeout、csip_aus_handle_control_timeout | logic/csip_aus.c | csip_aus.c.md |
| 电网状态变化处理(失网立即回落,不参与爬坡) | csip_aus_update_grid_status、csip_aus_handle_grid_status_change | logic/csip_aus.c | csip_aus.c.md |
| 取四类限值:馈网 / 取电 / 发电 / 负载(含钳位与单相 ×3) | csip_aus_get_exp_limit、csip_aus_get_imp_limit、csip_aus_get_gen_limit、csip_aus_get_load_limit | logic/csip_aus.c | csip_aus.c.md |
| 从配置同步 DER 参数与斜坡参数(双缓冲旧值保存) | csip_aus_data_sync | logic/csip_aus.c | csip_aus.c.md |
| DER 控制模式变化处理 | csip_aus_handle_mode_change、csip_aus_der_control_mode_to_state | logic/csip_aus.c | csip_aus.c.md |
| 斜坡使能查询 / 斜坡速率查询 | csip_aus_get_ramp_enable、csip_aus_get_ramp_rate | logic/csip_aus.c | csip_aus.c.md |
| DNSP ramp 渐进限幅总入口(1 秒节拍) | dnsp_ramp_control_handle、sys_limited_by_csip_judge | logic/logic.c | logic.c.md |
| AC 侧 ramp 逐周期限值渐进(启动点重对齐) | dnsp_ramp_ac_control_handle、dnsp_ramp_ac_rebase_to_real_power | logic/logic.c | logic.c.md |
| DC 侧 ramp 逐周期限值渐进(启动点重对齐) | dnsp_ramp_dc_control_handle、dnsp_ramp_dc_rebase_to_real_power | logic/logic.c | logic.c.md |
| CSIP-AUS 数据结构、四态枚举、八类事件定义在哪 | CSIP_AUS_DER_CONTROL_T、CSIP_AUS_RUN_DATA_T、CSIP_AUS_STATE_E、CSIP_AUS_EVENT_E | logic/csip_aus.h | csip_aus.h.md |
| CSIP-AUS 斜坡超时上下限、版本宏等常量 | CSIP_AUS_RAMP_MIN_TIMEOUT_MS、CSIP_AUS_RAMP_MAX_TIMEOUT_MS、CSIP_AUS_RAMP_MAX_TIMEOUT_FACTOR | logic/csip_aus.h | csip_aus.h.md |
八、电网安规与并网限值(英国 G100 / 德国 §14a EnWG / 取电限值累加器,logic.c)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| 英国 G100 防逆流状态机(超限 15s/60s、30 天 3 次锁定) | uk_g100_handle | logic/logic.c | logic.c.md |
| G100 超限判据:馈出限值与取入限值怎么算 | uk_g100_over_set_power | logic/logic.c | logic.c.md |
| G100 通讯故障时的临时降级(不落盘) | uk_g100_handle、OVER_STATE3_COM_FAULT | logic/logic.c | logic.c.md |
| 德国 §14a EnWG 可控设备功率预算分配(电池与充电桩分额度) | deu_14a_enwg_handle、enwg_device_limit_power | logic/logic.c | logic.c.md |
| §14a 总功率上限公式 / 可控设备数统计 | enwg_device_limit_power、evc_count_controllable_active | logic/logic.c | logic.c.md |
| §14a 是否生效 / 对外读取电池与充电桩额度 | get_14a_enwg_active、get_enwg_bat_charge_limit、get_enwg_evc_power_limit | logic/logic.c | logic.c.md |
| 并网取电功率上限累加器(防止从电网取电超限) | sys_grid_input_power_limit | logic/logic.c | logic.c.md |
| 单相取电电流余量换算(硬编码 230V 折算) | sys_grid_input_max_single_phase_cur | logic/logic.c | logic.c.md |
| 按逆变器取电能力反推上限(含空开规格与 CSIP 负载限值) | sys_inv_grid_input_power_limit | logic/logic.c | logic.c.md |
| 电网电表是否接入的判断 | logic_read_grid_meter_connect | logic/logic.c | logic.c.md |
九、SOC 校准与智能化(PV 超充)控制(logic.c)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| SOC 校准流程与阶段标志(0 空闲 / 1 校准充电 / 2 校准放电) | sys_get_soc_calibration_flag | logic/logic.c | logic.c.md |
| SOC 校准的下次时间怎么推算(按周期天数与月表,含闰年) | calculation_next_calibration_time | logic/logic.c | logic.c.md |
| 非并网 / 油机工况下的 SOC 校准补充推进(含 20 秒等待) | handle_logic_soc_calibration_tick | logic/logic.c | logic.c.md |
| 智能化控制是否处于生效时段 | get_smart_control_mode | logic/logic.c | logic.c.md |
| 智能化控制配置单天有效(日期变了就清使能并落盘) | handle_logic_smart_tick | logic/logic.c | logic.c.md |
| 智能化两态:PV 超充态与常规态 | handle_smart_control_mode、handle_smart_control_overmatch_state、handle_smart_control_normal_state、smart_control_status_detect | logic/logic.c | logic.c.md |
| 光伏优先的对外开关查询 | photovoltaic_priority_funtion | logic/logic.c | logic.c.md |
十、保护与后备供电(Backup / UPS / EPO,logic.c)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| Backup 后备使能的总决策(要求 BMS 与继电器状态先满足) | backup_control_flag_handle | logic/logic.c | logic.c.md |
| 后备基础保护:离网且放电能力为 0 时禁止备份 | inv_backup_basic_protect | logic/logic.c | logic.c.md |
| UPS 低电量关断与唤醒 SOC 控制(含离网/电网故障判据) | ups_cutoff_wakeup_soc_control | logic/logic.c | logic.c.md |
| EPO 紧急停止:使能配置位的读写(低半字节使能) | epo_read_config_enable、epo_set_config_enable | logic/logic.c | logic.c.md |
| EPO 保护标志读写(bit4,保护激活时不允许清除) | epo_read_protect_enable、epo_set_protect_enable | logic/logic.c | logic.c.md |
| EPO 运行态短路信号状态(只存内存不落盘) | epo_read_signal_status、epo_set_signal_status | logic/logic.c | logic.c.md |
十一、油机(柴油发电机 / GC)控制(generator.c / generator.h)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| 油机启停主状态机(SOC 模式 / 时间窗模式 / 手动模式) | generator_logic | logic/generator.c(配套头文件 logic/generator.h) | generator.c.md |
| 电池强充且离网时是否立即启动油机 | generator_logic(入口 A) | logic/generator.c | generator.c.md |
| 油机启停的时间窗怎么判(含跨天,最小粒度 1 小时) | get_time_control_mark | logic/generator.c | generator.c.md |
| 并网 / 离网判据(含 GCATS 接入点干接点、频率与电压门限) | get_grid_state、get_offgrid_mode_grid_state | logic/generator.c | generator.c.md |
| 关油机前的三相关机仲裁(防止带载切机) | generator_logic(第 3 步仲裁) | logic/generator.c | generator.c.md |
| 是否进入油机充电序控模式 / 油机运行标志查询 | get_generator_control_flag、get_generator_running_flag、get_generator_start_flag | logic/generator.c | generator.c.md |
| 离网模式下油机功率与油机给电池充电功率 | get_offgrid_mode_gc_power、get_offgrid_mode_gc_charge_power | logic/generator.c | generator.c.md |
| 油机工作模式枚举定义在哪 | GENERATOR_MODE_E | logic/generator.h | generator.h.md |
十二、安装接线自检(self_test.c / self_test.h)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| 接线自检主状态机(八态:待机/充电/放电各含静置与采样) | system_self_test、SELF_STATE | logic/self_test.c(配套头文件 logic/self_test.h) | self_test.c.md |
| 自检采样:每 500 ms 采一点、连采 5 点后求均值 | system_self_test_data | logic/self_test.c | self_test.c.md |
自检平均值算法(EWMA,EWMA_ALPHA = 0.5) | calculate_dynamic_compensation、EWMA_ALPHA、SAMPLE_COUNT | logic/self_test.c | self_test.c.md |
| 判定电网电表断线 / 电表接线错位 / PV 电表接错相 | system_self_test_result | logic/self_test.c | self_test.c.md |
| 自检结果位域怎么写、失败重测几次 | system_self_test、g_t_logic_info.u_self_test_result | logic/self_test.c | self_test.c.md |
自检状态枚举与采样缓存结构、全局运行表 g_t_self_test 定义在哪 | SELF_STATE、g_t_self_test | logic/self_test.h | self_test.h.md |
十三、定点数格式化与解析工具(math_tools.c / math_tools.h)
| 想找的功能(关键词 / 用户可能的问法) | 入口函数或符号 | 源文件 | 文档 |
|---|---|---|---|
| 定点整数转成带小数点的字符串(拼上报 JSON / 写 CSV) | fmt_fixed | logic/math_tools.c(配套头文件 logic/math_tools.h) | math_tools.c.md |
| 把云端下发的浮点字符串解析成定点整数(含按 scale 截断 / 补零) | parse_fixed | logic/math_tools.c | math_tools.c.md |
解析调度指令 Parameter2":" 后的逗号分隔参数列表 | parse_dispatch_para | logic/math_tools.c | math_tools.c.md |
fmt_fixed 环形缓冲区最多能连调几次(同一条语句 16 次上限) | fmt_fixed(s_au8FmtFixedBuf) | logic/math_tools.c | math_tools.c.md |
| 这三个工具的对外声明在哪 | fmt_fixed、parse_fixed、parse_dispatch_para | logic/math_tools.h | math_tools.h.md |
文件清单核对
本范围共 18 个源文件,全部已在表中出现:
| 源文件 | 状态 |
|---|---|
logic/ac_control.c | 已在表中出现(第二节) |
logic/ac_control.h | 已在表中出现(第二节末行) |
logic/csip_aus.c | 已在表中出现(第七节) |
logic/csip_aus.h | 已在表中出现(第七节末两行) |
logic/dc_control.c | 已在表中出现(第三节) |
logic/dc_control.h | 已在表中出现(第三节末行) |
logic/dispatch.c | 已在表中出现(第六节) |
logic/dispatch.h | 已在表中出现(第六节末行) |
logic/generator.c | 已在表中出现(第十一节) |
logic/generator.h | 已在表中出现(第十一节末行) |
logic/handle_priority.c | 已在表中出现(第四节) |
logic/handle_priority.h | 已在表中出现(第四节末行) |
logic/logic.c | 已在表中出现(第一、五、七、八、九、十节) |
logic/logic.h | 已在表中出现(第一节末四行) |
logic/math_tools.c | 已在表中出现(第十三节) |
logic/math_tools.h | 已在表中出现(第十三节末行) |
logic/self_test.c | 已在表中出现(第十二节) |
logic/self_test.h | 已在表中出现(第十二节末行) |