# 电磁启动器(电机保护型)菜单与参数配置文件(优化版) # 适配场景:低压三相异步电机的启动、控制与综合保护 # 核心特性:支持C代码自动生成、枚举复用、多语言、权限控制、硬件存储映射 config: # 多语言配置 languages: - code: en name: English alias: LANG_EN - code: cn name: Chinese alias: LANG_CN # 菜单全局属性 default_language: cn # 默认中文 menu_max_depth: 4 # 菜单最大嵌套深度 default_permission_level: 0 # 0-操作员,1-管理员,2-厂家 show_back_item: true # 显示返回项 show_home_item: true # 显示主页项 save_params_on_change: true # 参数修改后自动保存 param_apply_delay: 1000 # 参数生效延时(ms) # C代码自动生成配置(核心工程化配置) c_code_gen: enable: true output_dir: ../output header_prefix: menu_ source_prefix: menu_ type_mapping: FLOAT: float INT: int ENUM: uint8_t STRING: char param_storage: type: struct struct_name: MenuParams array_name: g_menu_params eeprom_base_addr: 0 function_naming: prefix: menu_ enter_suffix: _enter exit_suffix: _exit action_suffix: _action display_suffix: _display visible_suffix: _visible constant_defs: header_file: menu_constants.h enum_prefix: ENUM_ param_id_prefix: PARAM_ menu_id_prefix: MENU_ code_style: indent: 4 braces: k&r line_length: 120 comment_style: c99 features: generate_param_accessors: true generate_menu_navigation: true generate_action_functions: true generate_display_functions: true generate_enum_definitions: true generate_constant_defines: true generate_init_function: true generate_save_load_functions: true generate_visible_callbacks: true # 全局枚举模板(支持C代码生成,可复用) enum_templates: - template_id: SWITCH_TEMPLATE name: en: Switch cn: 开关 description: en: Basic on/off switch template cn: 基础开关模板 enum_options: 0: alias: SWITCH_OFF label: en: 'Off' cn: 关闭 value: 0 1: alias: SWITCH_ON label: en: 'On' cn: 开启 value: 1 c_code: typedef_name: SwitchType enum_name: SwitchEnum header_file: menu_enums.h c_comment: 基础开关枚举类型(0=关闭,1=开启) use_typedef: true generate_constants: true - template_id: PROTECT_ENABLE_TEMPLATE name: en: Protection Enable cn: 保护投退 description: en: Protection enable/disable template cn: 保护功能投退模板 enum_options: 0: alias: PROT_DISABLE label: en: Disable cn: 退出 value: 0 1: alias: PROT_ENABLE label: en: Enable cn: 投入 value: 1 c_code: typedef_name: ProtectEnableType enum_name: ProtectEnableEnum header_file: menu_enums.h c_comment: 保护功能投退枚举类型(0=退出,1=投入) use_typedef: true generate_constants: true - template_id: START_MODE_TEMPLATE name: en: Start Mode cn: 启动方式 description: en: Motor start mode template cn: 电机启动方式模板 enum_options: 0: alias: START_DIRECT label: en: Direct Start cn: 直接启动 value: 0 1: alias: START_STAR_DELTA label: en: Star-Delta Start cn: 星三角启动 value: 1 2: alias: START_SOFT label: en: Soft Start cn: 软启动 value: 2 c_code: typedef_name: StartModeType enum_name: StartModeEnum header_file: menu_enums.h c_comment: 电机启动方式枚举类型(0=直接启动,1=星三角启动,2=软启动) use_typedef: true generate_constants: true - template_id: OVERLOAD_CURVE_TEMPLATE name: en: Overload Curve cn: 过载曲线 description: en: Motor overload protection curve template cn: 电机过载保护曲线模板 enum_options: 0: alias: CURVE_10A label: en: 10A Curve (General) cn: 10A曲线(通用) value: 0 1: alias: CURVE_20A label: en: 20A Curve (Motor) cn: 20A曲线(电机) value: 1 2: alias: CURVE_30A label: en: 30A Curve (Heavy Load) cn: 30A曲线(重载) value: 2 c_code: typedef_name: OverloadCurveType enum_name: OverloadCurveEnum header_file: menu_enums.h c_comment: 电机过载保护曲线枚举类型(0=10A通用,1=20A电机,2=30A重载) use_typedef: true generate_constants: true # 核心参数项(电磁启动器实际参数,含完整C代码配置) params: # -------------------- 1. 电机基本参数 -------------------- - id: 1001 name: en: "Motor Rated Voltage" cn: "电机额定电压" id_name: MOTOR_RATED_VOLT type: FLOAT variable_name: motor_rated_volt default: 380.0 min: 220.0 max: 660.0 step: 10.0 unit: V read_only: false comm_addr: 4097 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 0 accessor_name: motor_rated_volt init_value: 380.0 validation_func: validate_motor_rated_volt validation_params: min: 220.0 max: 660.0 format_string: '%.1f' display_precision: 1 display_unit: V storage_type: RAM eeprom_offset: 0 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 1002 name: en: "Motor Rated Current" cn: "电机额定电流" id_name: MOTOR_RATED_CURR type: FLOAT variable_name: motor_rated_curr default: 10.0 min: 0.1 max: 100.0 step: 0.1 unit: A read_only: false comm_addr: 4098 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 1 accessor_name: motor_rated_curr init_value: 10.0 validation_func: validate_motor_rated_curr validation_params: min: 0.1 max: 100.0 format_string: '%.1f' display_precision: 1 display_unit: A storage_type: RAM eeprom_offset: 4 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 1003 name: en: "Motor Rated Power" cn: "电机额定功率" id_name: MOTOR_RATED_POWER type: FLOAT variable_name: motor_rated_power default: 5.5 min: 0.1 max: 55.0 step: 0.1 unit: kW read_only: false comm_addr: 4099 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 2 accessor_name: motor_rated_power init_value: 5.5 validation_func: validate_motor_rated_power validation_params: min: 0.1 max: 55.0 format_string: '%.1f' display_precision: 1 display_unit: kW storage_type: RAM eeprom_offset: 8 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 1004 name: en: "Motor Pole Number" cn: "电机极数" id_name: MOTOR_POLE_NUM type: INT variable_name: motor_pole_num default: 4 min: 2 max: 8 step: 2 unit: 极 read_only: false comm_addr: 4100 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 3 accessor_name: motor_pole_num init_value: 4 validation_func: validate_motor_pole_num validation_params: min: 2 max: 8 format_string: '%d' display_precision: 0 display_unit: 极 storage_type: RAM eeprom_offset: 12 bit_width: 16 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true # -------------------- 2. 保护功能参数 -------------------- - id: 2001 name: en: "Overload Protection Enable" cn: "过载保护投退" id_name: PROT_OVERLOAD_ENABLE type: ENUM variable_name: prot_overload_enable default: 1 default_alias: PROT_ENABLE enum_template: PROTECT_ENABLE_TEMPLATE unit: '' read_only: false comm_addr: 8193 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 4 accessor_name: prot_overload_enable init_value: 1 validation_func: validate_prot_overload_enable validation_params: min: 0 # 修正:匹配枚举实际范围(0=退出,1=投入) max: 1 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 16 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2002 name: en: "Overload Current Threshold" cn: "过载电流阈值" id_name: PROT_OVERLOAD_THRESH type: FLOAT variable_name: prot_overload_thresh default: 1.2 min: 1.0 max: 2.0 step: 0.05 unit: Ie read_only: false comm_addr: 8194 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 5 accessor_name: prot_overload_thresh init_value: 1.2 validation_func: validate_prot_overload_thresh validation_params: min: 1.0 max: 2.0 format_string: '%.1f' display_precision: 1 display_unit: Ie storage_type: RAM eeprom_offset: 20 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2003 name: en: "Overload Curve Type" cn: "过载保护曲线" id_name: PROT_OVERLOAD_CURVE type: ENUM variable_name: prot_overload_curve default: 1 default_alias: CURVE_20A enum_template: OVERLOAD_CURVE_TEMPLATE unit: '' read_only: false comm_addr: 8195 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 6 accessor_name: prot_overload_curve init_value: 1 validation_func: validate_prot_overload_curve validation_params: min: 0 # 修正:匹配枚举实际范围(0-2) max: 2 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 24 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2004 name: en: "Phase Loss Protection Enable" cn: "缺相保护投退" id_name: PROT_PHASE_LOSS_ENABLE type: ENUM variable_name: prot_phase_loss_enable default: 1 default_alias: PROT_ENABLE enum_template: PROTECT_ENABLE_TEMPLATE unit: '' read_only: false comm_addr: 8196 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 7 accessor_name: prot_phase_loss_enable init_value: 1 validation_func: validate_prot_phase_loss_enable validation_params: min: 0 # 修正:匹配枚举实际范围 max: 1 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 28 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2005 name: en: "Phase Loss Delay Time" cn: "缺相保护延时" id_name: PROT_PHASE_LOSS_DELAY type: FLOAT variable_name: prot_phase_loss_delay default: 0.5 min: 0.0 max: 5.0 step: 0.1 unit: s read_only: false comm_addr: 8197 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 8 accessor_name: prot_phase_loss_delay init_value: 0.5 validation_func: validate_prot_phase_loss_delay validation_params: min: 0.0 max: 5.0 format_string: '%.1f' display_precision: 1 display_unit: s storage_type: RAM eeprom_offset: 32 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2006 name: en: "Lock Rotor Protection Enable" cn: "堵转保护投退" id_name: PROT_LOCK_ROTOR_ENABLE type: ENUM variable_name: prot_lock_rotor_enable default: 1 default_alias: PROT_ENABLE enum_template: PROTECT_ENABLE_TEMPLATE unit: '' read_only: false comm_addr: 8198 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 9 accessor_name: prot_lock_rotor_enable init_value: 1 validation_func: validate_prot_lock_rotor_enable validation_params: min: 0 # 修正:匹配枚举实际范围 max: 1 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 36 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2007 name: en: "Lock Rotor Current Threshold" cn: "堵转电流阈值" id_name: PROT_LOCK_ROTOR_THRESH type: FLOAT variable_name: prot_lock_rotor_thresh default: 5.0 min: 3.0 max: 10.0 step: 0.1 unit: Ie read_only: false comm_addr: 8199 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 10 accessor_name: prot_lock_rotor_thresh init_value: 5.0 validation_func: validate_prot_lock_rotor_thresh validation_params: min: 3.0 max: 10.0 format_string: '%.1f' display_precision: 1 display_unit: Ie storage_type: RAM eeprom_offset: 40 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2008 name: en: "Phase Unbalance Protection Enable" cn: "相不平衡保护投退" id_name: PROT_PHASE_UNBALANCE_ENABLE type: ENUM variable_name: prot_phase_unbalance_enable default: 1 default_alias: PROT_ENABLE enum_template: PROTECT_ENABLE_TEMPLATE unit: '' read_only: false comm_addr: 8200 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 11 accessor_name: prot_phase_unbalance_enable init_value: 1 validation_func: validate_prot_phase_unbalance_enable validation_params: min: 0 # 修正:匹配枚举实际范围 max: 1 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 44 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2009 name: en: "Phase Unbalance Threshold" cn: "相不平衡阈值" id_name: PROT_PHASE_UNBALANCE_THRESH type: FLOAT variable_name: prot_phase_unbalance_thresh default: 20.0 min: 5.0 max: 50.0 step: 1.0 unit: '%' read_only: false comm_addr: 8201 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 12 accessor_name: prot_phase_unbalance_thresh init_value: 20.0 validation_func: validate_prot_phase_unbalance_thresh validation_params: min: 5.0 max: 50.0 format_string: '%.1f' display_precision: 1 display_unit: '%' storage_type: RAM eeprom_offset: 48 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2010 name: en: "Under Voltage Protection Enable" cn: "欠压保护投退" id_name: PROT_UNDERVOLT_ENABLE type: ENUM variable_name: prot_undervolt_enable default: 1 default_alias: PROT_ENABLE enum_template: PROTECT_ENABLE_TEMPLATE unit: '' read_only: false comm_addr: 8208 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 13 accessor_name: prot_undervolt_enable init_value: 1 validation_func: validate_prot_undervolt_enable validation_params: min: 0 # 修正:匹配枚举实际范围 max: 1 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 52 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2011 name: en: "Under Voltage Threshold" cn: "欠压保护阈值" id_name: PROT_UNDERVOLT_THRESH type: FLOAT variable_name: prot_undervolt_thresh default: 85.0 min: 70.0 max: 90.0 step: 1.0 unit: '%Ue' read_only: false comm_addr: 8209 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 14 accessor_name: prot_undervolt_thresh init_value: 85.0 validation_func: validate_prot_undervolt_thresh validation_params: min: 70.0 max: 90.0 format_string: '%.1f' display_precision: 1 display_unit: '%Ue' storage_type: RAM eeprom_offset: 56 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2012 name: en: "Over Voltage Protection Enable" cn: "过压保护投退" id_name: PROT_OVERVOLT_ENABLE type: ENUM variable_name: prot_overvolt_enable default: 1 default_alias: PROT_ENABLE enum_template: PROTECT_ENABLE_TEMPLATE unit: '' read_only: false comm_addr: 8210 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 15 accessor_name: prot_overvolt_enable init_value: 1 validation_func: validate_prot_overvolt_enable validation_params: min: 0 # 修正:匹配枚举实际范围 max: 1 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 60 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 2013 name: en: "Over Voltage Threshold" cn: "过压保护阈值" id_name: PROT_OVERVOLT_THRESH type: FLOAT variable_name: prot_overvolt_thresh default: 110.0 min: 105.0 max: 120.0 step: 1.0 unit: '%Ue' read_only: false comm_addr: 8211 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 16 accessor_name: prot_overvolt_thresh init_value: 110.0 validation_func: validate_prot_overvolt_thresh validation_params: min: 105.0 max: 120.0 format_string: '%.1f' display_precision: 1 display_unit: '%Ue' storage_type: RAM eeprom_offset: 64 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true # -------------------- 3. 控制功能参数 -------------------- - id: 3001 name: en: "Start Mode" cn: "启动方式" id_name: CONTROL_START_MODE type: ENUM variable_name: control_start_mode default: 0 default_alias: START_DIRECT enum_template: START_MODE_TEMPLATE unit: '' read_only: false comm_addr: 12289 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 17 accessor_name: control_start_mode init_value: 0 validation_func: validate_control_start_mode validation_params: min: 0 # 修正:匹配枚举实际范围(0-2) max: 2 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 68 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 3002 name: en: "Star-Delta Switch Delay" cn: "星三角切换延时" id_name: CONTROL_STAR_DELTA_DELAY type: FLOAT variable_name: control_star_delta_delay default: 5.0 min: 1.0 max: 30.0 step: 0.1 unit: s read_only: false comm_addr: 12290 comm_rw: 1 permission_level: 1 visible_cb: check_star_delta_mode c_code: struct_member: true array_index: 18 accessor_name: control_star_delta_delay init_value: 5.0 validation_func: validate_control_star_delta_delay validation_params: min: 1.0 max: 30.0 format_string: '%.1f' display_precision: 1 display_unit: s storage_type: RAM eeprom_offset: 72 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 3003 name: en: "Soft Start Time" cn: "软启动时间" id_name: CONTROL_SOFT_START_TIME type: FLOAT variable_name: control_soft_start_time default: 10.0 min: 1.0 max: 60.0 step: 1.0 unit: s read_only: false comm_addr: 12291 comm_rw: 1 permission_level: 1 visible_cb: check_soft_start_mode c_code: struct_member: true array_index: 19 accessor_name: control_soft_start_time init_value: 10.0 validation_func: validate_control_soft_start_time validation_params: min: 1.0 max: 60.0 format_string: '%.1f' display_precision: 1 display_unit: s storage_type: RAM eeprom_offset: 76 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 3004 name: en: "Stop Delay Time" cn: "停止延时时间" id_name: CONTROL_STOP_DELAY type: FLOAT variable_name: control_stop_delay default: 0.0 min: 0.0 max: 60.0 step: 0.1 unit: s read_only: false comm_addr: 12292 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 20 accessor_name: control_stop_delay init_value: 0.0 validation_func: validate_control_stop_delay validation_params: min: 0.0 max: 60.0 format_string: '%.1f' display_precision: 1 display_unit: s storage_type: RAM eeprom_offset: 80 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 3005 name: en: "Remote Control Enable" cn: "远程控制投退" id_name: CONTROL_REMOTE_ENABLE type: ENUM variable_name: control_remote_enable default: 0 default_alias: SWITCH_OFF enum_template: SWITCH_TEMPLATE unit: '' read_only: false comm_addr: 12293 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 21 accessor_name: control_remote_enable init_value: 0 validation_func: validate_control_remote_enable validation_params: min: 0 # 修正:匹配枚举实际范围(0=关闭,1=开启) max: 1 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 84 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true # -------------------- 4. 系统配置参数 -------------------- - id: 4001 name: en: "Communication Address" cn: "通讯地址" id_name: SYS_COMM_ADDR type: INT variable_name: sys_comm_addr default: 1 min: 1 max: 247 step: 1 unit: '' read_only: false comm_addr: 16385 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 22 accessor_name: sys_comm_addr init_value: 1 validation_func: validate_sys_comm_addr validation_params: min: 1 max: 247 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 88 bit_width: 16 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 4002 name: en: "Baud Rate" cn: "波特率" id_name: SYS_BAUDRATE type: ENUM variable_name: sys_baudrate default: 9600 default_alias: BAUD_9600 enum_options: 2400: alias: BAUD_2400 label: en: 2400 bps cn: 2400 波特 value: 2400 4800: alias: BAUD_4800 label: en: 4800 bps cn: 4800 波特 value: 4800 9600: alias: BAUD_9600 label: en: 9600 bps cn: 9600 波特 value: 9600 19200: alias: BAUD_19200 label: en: 19200 bps cn: 19200 波特 value: 19200 unit: bps read_only: false comm_addr: 16386 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 23 accessor_name: sys_baudrate init_value: 9600 validation_func: validate_sys_baudrate validation_params: min: 2400 # 修正:匹配波特率实际范围 max: 19200 format_string: '%d' display_precision: 0 display_unit: bps storage_type: RAM eeprom_offset: 92 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true # 新增:波特率枚举C代码配置 typedef_name: BaudRateType enum_name: BaudRateEnum header_file: menu_enums.h c_comment: 通讯波特率枚举类型 use_typedef: true generate_constants: true - id: 4003 name: en: "Admin Password" cn: "管理员密码" id_name: SYS_ADMIN_PWD type: INT variable_name: sys_admin_pwd default: 123456 min: 0 max: 999999 step: 1 unit: '' read_only: false comm_addr: 16387 comm_rw: 1 permission_level: 2 c_code: struct_member: true array_index: 24 accessor_name: sys_admin_pwd init_value: 123456 validation_func: validate_sys_admin_pwd validation_params: min: 0 max: 999999 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 96 bit_width: 16 scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true - id: 4004 name: en: "System Time" cn: "系统时间" id_name: SYS_TIME type: STRING variable_name: sys_time default: '2025-01-01 00:00:00' unit: '' read_only: false comm_addr: 16388 comm_rw: 1 permission_level: 1 c_code: struct_member: true array_index: 25 accessor_name: sys_time init_value: '2025-01-01 00:00:00' validation_func: validate_sys_time validation_params: min: 0 max: 1000 format_string: '%s' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 100 bit_width: 8 string_length: 20 # 新增:字符串长度(适配"YYYY-MM-DD HH:MM:SS"格式) scaling_factor: 1.0 generate_getter: true generate_setter: true generate_validator: true # -------------------- 5. 状态采集参数(只读) -------------------- - id: 5001 name: en: "Phase Current A" cn: "A相电流" id_name: STATUS_CURR_A type: FLOAT variable_name: status_curr_a unit: A read_only: true comm_addr: 20481 comm_rw: 0 c_code: struct_member: true array_index: 26 accessor_name: status_curr_a init_value: 0.0 validation_func: validate_status_curr_a validation_params: min: 0.0 max: 200.0 # 修正:合理的电流测量范围 format_string: '%.1f' display_precision: 1 display_unit: A storage_type: RAM eeprom_offset: 104 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: false # 修正:只读参数不生成setter generate_validator: true - id: 5002 name: en: "Phase Current B" cn: "B相电流" id_name: STATUS_CURR_B type: FLOAT variable_name: status_curr_b unit: A read_only: true comm_addr: 20482 comm_rw: 0 c_code: struct_member: true array_index: 27 accessor_name: status_curr_b init_value: 0.0 validation_func: validate_status_curr_b validation_params: min: 0.0 max: 200.0 format_string: '%.1f' display_precision: 1 display_unit: A storage_type: RAM eeprom_offset: 108 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: false # 修正:只读参数不生成setter generate_validator: true - id: 5003 name: en: "Phase Current C" cn: "C相电流" id_name: STATUS_CURR_C type: FLOAT variable_name: status_curr_c unit: A read_only: true comm_addr: 20483 comm_rw: 0 c_code: struct_member: true array_index: 28 accessor_name: status_curr_c init_value: 0.0 validation_func: validate_status_curr_c validation_params: min: 0.0 max: 200.0 format_string: '%.1f' display_precision: 1 display_unit: A storage_type: RAM eeprom_offset: 112 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: false # 修正:只读参数不生成setter generate_validator: true - id: 5004 name: en: "Line Voltage AB" cn: "AB线电压" id_name: STATUS_VOLT_AB type: FLOAT variable_name: status_volt_ab unit: V read_only: true comm_addr: 20484 comm_rw: 0 c_code: struct_member: true array_index: 29 accessor_name: status_volt_ab init_value: 0.0 validation_func: validate_status_volt_ab validation_params: min: 0.0 max: 800.0 # 修正:合理的电压测量范围 format_string: '%.1f' display_precision: 1 display_unit: V storage_type: RAM eeprom_offset: 116 bit_width: 32 scaling_factor: 1.0 generate_getter: true generate_setter: false # 修正:只读参数不生成setter generate_validator: true - id: 5005 name: en: "Motor Running Status" cn: "电机运行状态" id_name: STATUS_MOTOR_RUN type: ENUM variable_name: status_motor_run default: 0 default_alias: STATUS_STOP enum_options: 0: alias: STATUS_STOP label: en: Stop cn: 停止 value: 0 1: alias: STATUS_RUN label: en: Run cn: 运行 value: 1 2: alias: STATUS_FAULT label: en: Fault cn: 故障 value: 2 unit: '' read_only: true comm_addr: 20485 comm_rw: 0 c_code: struct_member: true array_index: 30 accessor_name: status_motor_run init_value: 0 validation_func: validate_status_motor_run validation_params: min: 0 # 修正:匹配枚举实际范围(0-2) max: 2 format_string: '%d' display_precision: 0 display_unit: '' storage_type: RAM eeprom_offset: 120 bit_width: 8 scaling_factor: 1.0 generate_getter: true generate_setter: false # 修正:只读参数不生成setter generate_validator: true # 新增:电机状态枚举C代码配置 typedef_name: MotorStatusType enum_name: MotorStatusEnum header_file: menu_enums.h c_comment: 电机运行状态枚举类型(0=停止,1=运行,2=故障) use_typedef: true generate_constants: true # 菜单层级结构(语义化类型,适配C代码生成) nodes: - id: 1 parent_id: 0 name: en: "Main Menu" cn: "主菜单" id_name: MAIN_MENU enter_cb: menu_enter_main c_code: struct_member: true menu_item_type: MAIN_MENU # 语义化:主菜单 function_name: menu_enter_main header_file: menu_nodes.h # -------------------- 一级菜单:实时数据 -------------------- - id: 10 parent_id: 1 name: en: "Real-Time Data" cn: "实时数据" id_name: MENU_REAL_TIME_DATA enter_cb: menu_enter_real_time_data c_code: struct_member: true menu_item_type: SUB_MENU # 语义化:子菜单 function_name: menu_enter_real_time_data header_file: menu_nodes.h - id: 1001 parent_id: 10 name: en: "Current Data" cn: "电流数据" id_name: MENU_CURRENT_DATA display_cb: show_phase_current c_code: struct_member: true menu_item_type: DISPLAY_ITEM # 语义化:显示项(无编辑) function_name: show_phase_current header_file: menu_nodes.h - id: 1002 parent_id: 10 name: en: "Voltage Data" cn: "电压数据" id_name: MENU_VOLTAGE_DATA display_cb: show_line_voltage c_code: struct_member: true menu_item_type: DISPLAY_ITEM function_name: show_line_voltage header_file: menu_nodes.h - id: 1003 parent_id: 10 name: en: "Motor Status" cn: "电机状态" id_name: MENU_MOTOR_STATUS display_cb: show_motor_status c_code: struct_member: true menu_item_type: DISPLAY_ITEM function_name: show_motor_status header_file: menu_nodes.h # -------------------- 一级菜单:参数设置 -------------------- - id: 20 parent_id: 1 name: en: "Parameter Settings" cn: "参数设置" id_name: MENU_PARAM_SETTINGS enter_cb: menu_enter_param_settings permission_level: 1 c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_param_settings header_file: menu_nodes.h - id: 2001 parent_id: 20 name: en: "Motor Basic Params" cn: "电机基本参数" id_name: MENU_MOTOR_BASIC_PARAMS enter_cb: menu_enter_motor_basic_params c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_motor_basic_params header_file: menu_nodes.h - id: 200101 parent_id: 2001 name: en: "Motor Rated Voltage" cn: "电机额定电压" id_name: MENU_MOTOR_RATED_VOLT bind_param_id: 1001 enter_cb: menu_enter_param_edit c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM # 语义化:参数编辑项 function_name: menu_enter_param_edit header_file: menu_nodes.h - id: 200102 parent_id: 2001 name: en: "Motor Rated Current" cn: "电机额定电流" id_name: MENU_MOTOR_RATED_CURR bind_param_id: 1002 enter_cb: menu_enter_param_edit c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM function_name: menu_enter_param_edit header_file: menu_nodes.h - id: 200103 parent_id: 2001 name: en: "Motor Rated Power" cn: "电机额定功率" id_name: MENU_MOTOR_RATED_POWER bind_param_id: 1003 enter_cb: menu_enter_param_edit c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM function_name: menu_enter_param_edit header_file: menu_nodes.h - id: 2002 parent_id: 20 name: en: "Protection Params" cn: "保护功能参数" id_name: MENU_PROTECTION_PARAMS enter_cb: menu_enter_protection_params c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_protection_params header_file: menu_nodes.h - id: 200201 parent_id: 2002 name: en: "Overload Protection" cn: "过载保护" id_name: MENU_OVERLOAD_PROT enter_cb: menu_enter_overload_prot c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_overload_prot header_file: menu_nodes.h - id: 20020101 parent_id: 200201 name: en: "Overload Protect Enable" cn: "过载保护投退" id_name: MENU_OVERLOAD_PROT_ENABLE bind_param_id: 2001 enter_cb: menu_enter_param_edit c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM function_name: menu_enter_param_edit header_file: menu_nodes.h - id: 20020102 parent_id: 200201 name: en: "Overload Current Threshold" cn: "过载电流阈值" id_name: MENU_OVERLOAD_PROT_THRESH bind_param_id: 2002 enter_cb: menu_enter_param_edit c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM function_name: menu_enter_param_edit header_file: menu_nodes.h - id: 200202 parent_id: 2002 name: en: "Phase Loss Protection" cn: "缺相保护" id_name: MENU_PHASE_LOSS_PROT enter_cb: menu_enter_phase_loss_prot c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_phase_loss_prot header_file: menu_nodes.h - id: 2003 parent_id: 20 name: en: "Control Function Params" cn: "控制功能参数" id_name: MENU_CONTROL_PARAMS enter_cb: menu_enter_control_params c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_control_params header_file: menu_nodes.h - id: 200301 parent_id: 2003 name: en: "Start Mode" cn: "启动方式" id_name: MENU_START_MODE bind_param_id: 3001 enter_cb: menu_enter_param_edit c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM function_name: menu_enter_param_edit header_file: menu_nodes.h - id: 200302 parent_id: 2003 name: en: "Star-Delta Switch Delay" cn: "星三角切换延时" id_name: MENU_STAR_DELTA_DELAY bind_param_id: 3002 enter_cb: menu_enter_param_edit visible_cb: check_star_delta_mode c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM function_name: menu_enter_param_edit header_file: menu_nodes.h - id: 2004 parent_id: 20 name: en: "System Config Params" cn: "系统配置参数" id_name: MENU_SYSTEM_PARAMS enter_cb: menu_enter_system_params permission_level: 1 c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_system_params header_file: menu_nodes.h # -------------------- 一级菜单:保护投退 -------------------- - id: 30 parent_id: 1 name: en: "Protection Enable/Disable" cn: "保护投退" id_name: MENU_PROTECT_ENABLE enter_cb: menu_enter_protect_enable permission_level: 1 c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_protect_enable header_file: menu_nodes.h - id: 3001 parent_id: 30 name: en: "Overload Protect Enable" cn: "过载保护投退" id_name: MENU_OVERLOAD_PROT_ENABLE bind_param_id: 2001 enter_cb: menu_enter_param_edit c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM function_name: menu_enter_param_edit header_file: menu_nodes.h - id: 3002 parent_id: 30 name: en: "Phase Loss Protect Enable" cn: "缺相保护投退" id_name: MENU_PHASE_LOSS_PROT_ENABLE bind_param_id: 2004 enter_cb: menu_enter_param_edit c_code: struct_member: true menu_item_type: PARAM_EDIT_ITEM function_name: menu_enter_param_edit header_file: menu_nodes.h # -------------------- 一级菜单:控制操作 -------------------- - id: 40 parent_id: 1 name: en: "Control Operation" cn: "控制操作" id_name: MENU_CONTROL_OP enter_cb: menu_enter_control_op c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_control_op header_file: menu_nodes.h - id: 4001 parent_id: 40 name: en: "Motor Start" cn: "电机启动" id_name: MENU_MOTOR_START action_cb: action_motor_start confirm_required: true visible_cb: check_motor_stop c_code: struct_member: true menu_item_type: ACTION_ITEM # 语义化:操作项(执行动作) function_name: action_motor_start header_file: menu_nodes.h - id: 4002 parent_id: 40 name: en: "Motor Stop" cn: "电机停止" id_name: MENU_MOTOR_STOP action_cb: action_motor_stop confirm_required: true visible_cb: check_motor_run c_code: struct_member: true menu_item_type: ACTION_ITEM function_name: action_motor_stop header_file: menu_nodes.h - id: 4003 parent_id: 40 name: en: "Fault Reset" cn: "故障复位" id_name: MENU_FAULT_RESET action_cb: action_fault_reset confirm_required: true visible_cb: check_motor_fault c_code: struct_member: true menu_item_type: ACTION_ITEM function_name: action_fault_reset header_file: menu_nodes.h # -------------------- 一级菜单:故障记录 -------------------- - id: 50 parent_id: 1 name: en: "Fault Record" cn: "故障记录" id_name: MENU_FAULT_RECORD enter_cb: menu_enter_fault_record c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_fault_record header_file: menu_nodes.h - id: 5001 parent_id: 50 name: en: "Current Fault" cn: "当前故障" id_name: MENU_CURRENT_FAULT display_cb: show_current_fault c_code: struct_member: true menu_item_type: DISPLAY_ITEM function_name: show_current_fault header_file: menu_nodes.h - id: 5002 parent_id: 50 name: en: "History Fault" cn: "历史故障" id_name: MENU_HISTORY_FAULT enter_cb: menu_enter_history_fault c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_history_fault header_file: menu_nodes.h - id: 5003 parent_id: 50 name: en: "Clear History Fault" cn: "清除历史故障" id_name: MENU_CLEAR_HISTORY_FAULT action_cb: action_clear_history_fault confirm_required: true permission_level: 1 c_code: struct_member: true menu_item_type: ACTION_ITEM function_name: action_clear_history_fault header_file: menu_nodes.h # -------------------- 一级菜单:系统信息 -------------------- - id: 60 parent_id: 1 name: en: "System Info" cn: "系统信息" id_name: MENU_SYSTEM_INFO enter_cb: menu_enter_system_info c_code: struct_member: true menu_item_type: SUB_MENU function_name: menu_enter_system_info header_file: menu_nodes.h - id: 6001 parent_id: 60 name: en: "Device Version" cn: "设备版本" id_name: MENU_DEVICE_VERSION display_cb: show_device_version c_code: struct_member: true menu_item_type: DISPLAY_ITEM function_name: show_device_version header_file: menu_nodes.h - id: 6002 parent_id: 60 name: en: "Run Time" cn: "运行时间" id_name: MENU_RUN_TIME display_cb: show_run_time c_code: struct_member: true menu_item_type: DISPLAY_ITEM function_name: show_run_time header_file: menu_nodes.h