diff --git a/test/CBB_Param/param_code_generation/param/param_defination/.gitkeep b/test/CBB_Param/param_code_generation/param/param_defination/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_comm.c b/test/CBB_Param/param_code_generation/param/param_defination/param_comm.c new file mode 100644 index 0000000..5181142 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_comm.c @@ -0,0 +1,107 @@ +/* + * ===================================================================================== + * + * Filename: param_comm.c + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#include + +#include "plm_type_def.h" +#include "../param_export.h" + +#include "./param_comm.h" + + +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET +update_comm_param_t g_update_comm_param_info; /*预存参数数据缓冲区 */ +#endif + +comm_param_t g_comm_param_in_ram; /*参数ram缓冲区*/ +uint16_t g_check_comm_param_crc[COMM_PARAM_NUM]; /*用于记录参数的校验crc结果*/ +#endif + +PARAM_CHANGE_FLAG_E g_comm_param_change_flag[COMM_PARAM_NUM]; /*用于记录参数的修改标记*/ + +const comm_param_t COMM_PARAM_DEFAULT_VALUE_TABLE = +{ + .remote_ip = {219, 147, 26, 62}, //主站IP + .remote_port = 5223, //主站端口号 + .interactive_cycle_4g = 10, //4G交互周期 + .gprs_com_over_time = 600, //4G通信超时阈值 + .can_enable = 0, //CAN使能 + .can_dev_id = 0, //CAN并机ID + .can_parallel_num = 0, //CAN并机数量 + .com_over_time = 180, //通信故障判定时间 + .log_level = 0, //日志级别 + .log_output = 0, //日志输出模式 + .log_channel = 0, //日志监控通道 + .log_file_size = 4096, //日志文件大小 + .log_file_cnt = 16, //日志文件数量 + .log_udp_port = 1234, //日志网络端口 + .log_udp_eth_ip = {127, 0, 0, 1}, //日志网络地址 + .plc_check_comm_period = 1440, //载波通信超时判断周期 +}; + + +const param_info_t COMM_PARAM_INDEX_TABLE[COMM_PARAM_NUM] = +{ + {.idx=PARA_IDX_REMOTE_IP, .identity=0x00000001, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=COMM_PARAM_REMOTE_IP_SIZE, .offset=offsetof(comm_param_t, remote_ip), .ratio=1, .min=0, .max=0, .check_func=ip_check, .update_func=remote_ip_callback,}, //主站IP + {.idx=PARA_IDX_REMOTE_PORT, .identity=0x00000002, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_REMOTE_PORT_SIZE, .offset=offsetof(comm_param_t, remote_port), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=remote_port_callback,}, //主站端口号 + {.idx=PARA_IDX_INTERACTIVE_CYCLE_4G, .identity=0x00000003, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_INTERACTIVE_CYCLE_4G_SIZE, .offset=offsetof(comm_param_t, interactive_cycle_4g), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=interactive_cycle_4g_callback,}, //4G交互周期 + {.idx=PARA_IDX_GPRS_COM_OVER_TIME, .identity=0x00000004, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_GPRS_COM_OVER_TIME_SIZE, .offset=offsetof(comm_param_t, gprs_com_over_time), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=gprs_com_over_time_callback,}, //4G通信超时阈值 + {.idx=PARA_IDX_CAN_ENABLE, .identity=0x00000005, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=COMM_PARAM_CAN_ENABLE_SIZE, .offset=offsetof(comm_param_t, can_enable), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=can_enable_callback,}, //CAN使能 + {.idx=PARA_IDX_CAN_DEV_ID, .identity=0x00000006, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_CAN_DEV_ID_SIZE, .offset=offsetof(comm_param_t, can_dev_id), .ratio=1, .min=0, .max=5, .check_func=NULL, .update_func=can_dev_id_callback,}, //CAN并机ID + {.idx=PARA_IDX_CAN_PARALLEL_NUM, .identity=0x00000007, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_CAN_PARALLEL_NUM_SIZE, .offset=offsetof(comm_param_t, can_parallel_num), .ratio=1, .min=0, .max=5, .check_func=NULL, .update_func=can_parallel_num_callback,}, //CAN并机数量 + {.idx=PARA_IDX_COM_OVER_TIME, .identity=0x00000008, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_COM_OVER_TIME_SIZE, .offset=offsetof(comm_param_t, com_over_time), .ratio=1, .min=0, .max=3600, .check_func=NULL, .update_func=com_over_time_callback,}, //通信故障判定时间 + {.idx=PARA_IDX_LOG_LEVEL, .identity=0x00000009, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=COMM_PARAM_LOG_LEVEL_SIZE, .offset=offsetof(comm_param_t, log_level), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=log_level_callback,}, //日志级别 + {.idx=PARA_IDX_LOG_OUTPUT, .identity=0x0000000A, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=COMM_PARAM_LOG_OUTPUT_SIZE, .offset=offsetof(comm_param_t, log_output), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=log_output_callback,}, //日志输出模式 + {.idx=PARA_IDX_LOG_CHANNEL, .identity=0x0000000B, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=COMM_PARAM_LOG_CHANNEL_SIZE, .offset=offsetof(comm_param_t, log_channel), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=log_channel_callback,}, //日志监控通道 + {.idx=PARA_IDX_LOG_FILE_SIZE, .identity=0x0000000C, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_LOG_FILE_SIZE_SIZE, .offset=offsetof(comm_param_t, log_file_size), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=log_file_size_callback,}, //日志文件大小 + {.idx=PARA_IDX_LOG_FILE_CNT, .identity=0x0000000D, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_LOG_FILE_CNT_SIZE, .offset=offsetof(comm_param_t, log_file_cnt), .ratio=1, .min=0, .max=32, .check_func=NULL, .update_func=log_file_cnt_callback,}, //日志文件数量 + {.idx=PARA_IDX_LOG_UDP_PORT, .identity=0x0000000E, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_LOG_UDP_PORT_SIZE, .offset=offsetof(comm_param_t, log_udp_port), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=log_udp_port_callback,}, //日志网络端口 + {.idx=PARA_IDX_LOG_UDP_ETH_IP, .identity=0x0000000F, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=COMM_PARAM_LOG_UDP_ETH_IP_SIZE, .offset=offsetof(comm_param_t, log_udp_eth_ip), .ratio=1, .min=0, .max=0, .check_func=ip_check, .update_func=log_udp_eth_ip_callback,}, //日志网络地址 + {.idx=PARA_IDX_PLC_CHECK_COMM_PERIOD, .identity=0x00000010, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=COMM_PARAM_PLC_CHECK_COMM_PERIOD_SIZE, .offset=offsetof(comm_param_t, plc_check_comm_period), .ratio=1, .min=1, .max=65535, .check_func=NULL, .update_func=plc_check_comm_period_callback,}, //载波通信超时判断周期 +}; + + + + +param_info_table_t COMM_PARAM_INFO = +{ +#if ENABLE_PARAM_MUTEX + .ptr_mutex = &g_param_resouce.param_mutex, +#endif + .ptr_category_name = COMM_REGION_NAME, + .ptr_default_value_table = (void*)&COMM_PARAM_DEFAULT_VALUE_TABLE, //默认参数值 + .ptr_index_table = (void*)COMM_PARAM_INDEX_TABLE, //参数索引表 + .param_num = COMM_PARAM_NUM, //参数个数 + .param_data_size = COMM_PARAM_STORAGE_SIZE, //数据长度 + .param_base_addr = COMM_PARAM_STORE_ADDR, //参数存储页地址 +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET + .ptr_preset_dataset = (void*)&g_update_comm_param_info.preset_table,//预设参数表 +#endif + .ptr_param_in_ram = (void*)&g_comm_param_in_ram, //参数ram缓冲区 + .ptr_crc_in_ram = g_check_comm_param_crc, //参数crc校验值 +#endif + .ptr_change_flag = g_comm_param_change_flag, //参数变更标记 + .backup_offset = 1024, //备份之间的偏移 + .idx_min = PARA_IDX_REMOTE_IP, //参数索引最小值 + .idx_max = PARA_IDX_PLC_CHECK_COMM_PERIOD, //参数索引最大值 + .ptr_exchange_unit = &g_param_resouce.ptr_param_unit_buff, //参数写入缓冲区 + .exchange_size = 1024, //按页写入的缓冲区的大小 +}; + diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_comm.h b/test/CBB_Param/param_code_generation/param/param_defination/param_comm.h new file mode 100644 index 0000000..f8ba650 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_comm.h @@ -0,0 +1,63 @@ +/* + * ===================================================================================== + * + * Filename: param_comm.h + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#ifndef __PARAM_COMM_H__ +#define __PARAM_COMM_H__ + +#include + +#include "./param_config.h" +#include "../param_functional/param_block.h" +#include "./param_comm_defination.h" + +#define COMM_PARAM_STORE_ADDR (4096) + + +#define COMM_PARAM_REMOTE_IP_OFFSET 0 +#define COMM_PARAM_REMOTE_PORT_OFFSET (COMM_PARAM_REMOTE_IP_OFFSET + COMM_PARAM_REMOTE_IP_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_INTERACTIVE_CYCLE_4G_OFFSET (COMM_PARAM_REMOTE_PORT_OFFSET + COMM_PARAM_REMOTE_PORT_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_GPRS_COM_OVER_TIME_OFFSET (COMM_PARAM_INTERACTIVE_CYCLE_4G_OFFSET + COMM_PARAM_INTERACTIVE_CYCLE_4G_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_CAN_ENABLE_OFFSET (COMM_PARAM_GPRS_COM_OVER_TIME_OFFSET + COMM_PARAM_GPRS_COM_OVER_TIME_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_CAN_DEV_ID_OFFSET (COMM_PARAM_CAN_ENABLE_OFFSET + COMM_PARAM_CAN_ENABLE_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_CAN_PARALLEL_NUM_OFFSET (COMM_PARAM_CAN_DEV_ID_OFFSET + COMM_PARAM_CAN_DEV_ID_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_COM_OVER_TIME_OFFSET (COMM_PARAM_CAN_PARALLEL_NUM_OFFSET + COMM_PARAM_CAN_PARALLEL_NUM_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_LOG_LEVEL_OFFSET (COMM_PARAM_COM_OVER_TIME_OFFSET + COMM_PARAM_COM_OVER_TIME_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_LOG_OUTPUT_OFFSET (COMM_PARAM_LOG_LEVEL_OFFSET + COMM_PARAM_LOG_LEVEL_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_LOG_CHANNEL_OFFSET (COMM_PARAM_LOG_OUTPUT_OFFSET + COMM_PARAM_LOG_OUTPUT_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_LOG_FILE_SIZE_OFFSET (COMM_PARAM_LOG_CHANNEL_OFFSET + COMM_PARAM_LOG_CHANNEL_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_LOG_FILE_CNT_OFFSET (COMM_PARAM_LOG_FILE_SIZE_OFFSET + COMM_PARAM_LOG_FILE_SIZE_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_LOG_UDP_PORT_OFFSET (COMM_PARAM_LOG_FILE_CNT_OFFSET + COMM_PARAM_LOG_FILE_CNT_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_LOG_UDP_ETH_IP_OFFSET (COMM_PARAM_LOG_UDP_PORT_OFFSET + COMM_PARAM_LOG_UDP_PORT_SIZE + PARAM_INFO_SIZE) +#define COMM_PARAM_PLC_CHECK_COMM_PERIOD_OFFSET (COMM_PARAM_LOG_UDP_ETH_IP_OFFSET + COMM_PARAM_LOG_UDP_ETH_IP_SIZE + PARAM_INFO_SIZE) + +#define COMM_PARAM_STORAGE_SIZE (COMM_PARAM_PLC_CHECK_COMM_PERIOD_OFFSET + COMM_PARAM_PLC_CHECK_COMM_PERIOD_SIZE + PARAM_INFO_SIZE) + + + +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET +typedef struct +{ + comm_param_t preset_table; +} update_comm_param_t; +#endif +#endif + +extern param_info_table_t COMM_PARAM_INFO; + +#endif /* ----- #ifndef __PARAM_COMM_H__ ----- */ diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_comm_defination.h b/test/CBB_Param/param_code_generation/param/param_defination/param_comm_defination.h new file mode 100644 index 0000000..1ce689c --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_comm_defination.h @@ -0,0 +1,68 @@ +/* + * ===================================================================================== + * + * Filename: param_comm_defination.h + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#ifndef __PARAM_COMM_DEFINATION_H__ +#define __PARAM_COMM_DEFINATION_H__ + +#include +#include + + +#define COMM_PARAM_NUM (16) + + +#define COMM_PARAM_REMOTE_IP_SIZE (4) +#define COMM_PARAM_REMOTE_PORT_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_INTERACTIVE_CYCLE_4G_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_GPRS_COM_OVER_TIME_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_CAN_ENABLE_SIZE (sizeof(uint8_t)) +#define COMM_PARAM_CAN_DEV_ID_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_CAN_PARALLEL_NUM_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_COM_OVER_TIME_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_LOG_LEVEL_SIZE (sizeof(uint8_t)) +#define COMM_PARAM_LOG_OUTPUT_SIZE (sizeof(uint8_t)) +#define COMM_PARAM_LOG_CHANNEL_SIZE (sizeof(uint8_t)) +#define COMM_PARAM_LOG_FILE_SIZE_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_LOG_FILE_CNT_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_LOG_UDP_PORT_SIZE (sizeof(uint16_t)) +#define COMM_PARAM_LOG_UDP_ETH_IP_SIZE (4) +#define COMM_PARAM_PLC_CHECK_COMM_PERIOD_SIZE (sizeof(uint16_t)) + + +typedef struct +{ + uint8_t remote_ip[COMM_PARAM_REMOTE_IP_SIZE]; /* 主站IP */ + uint16_t remote_port; /* 主站端口号 */ + uint16_t interactive_cycle_4g; /* 4G交互周期 */ + uint16_t gprs_com_over_time; /* 4G通信超时阈值 */ + uint8_t can_enable; /* CAN使能 */ + uint16_t can_dev_id; /* CAN并机ID */ + uint16_t can_parallel_num; /* CAN并机数量 */ + uint16_t com_over_time; /* 通信故障判定时间 */ + uint8_t log_level; /* 日志级别 */ + uint8_t log_output; /* 日志输出模式 */ + uint8_t log_channel; /* 日志监控通道 */ + uint16_t log_file_size; /* 日志文件大小 */ + uint16_t log_file_cnt; /* 日志文件数量 */ + uint16_t log_udp_port; /* 日志网络端口 */ + uint8_t log_udp_eth_ip[COMM_PARAM_LOG_UDP_ETH_IP_SIZE]; /* 日志网络地址 */ + uint16_t plc_check_comm_period; /* 载波通信超时判断周期 */ +} comm_param_t; + + +#endif /* ----- #ifndef __PARAM_COMM_DEFINATION_H__ ----- */ diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_defination.h b/test/CBB_Param/param_code_generation/param/param_defination/param_defination.h new file mode 100644 index 0000000..8d44915 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_defination.h @@ -0,0 +1,164 @@ +/* + * ===================================================================================== + * + * Filename: param_defination.h + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + + +#ifndef __PARAM_DEFINATION_H__ +#define __PARAM_DEFINATION_H__ + +#include + +/* ##### LOCAL INCLUDES #################################################### */ +#include "param_defination/param_stable_defination.h" /* STABLE参数个数及参数数据域大小 */ +#include "param_defination/param_comm_defination.h" /* COMM参数个数及参数数据域大小 */ +#include "param_defination/param_produce_defination.h" /* PRODUCE参数个数及参数数据域大小 */ + +/* ##### EXPORTED MACROS ######################################################## */ +#define STABLE_REGION_NAME "param_stable" /* STABLE存储区域名 */ +#define COMM_REGION_NAME "param_comm" /* COMM存储区域名 */ +#define PRODUCE_REGION_NAME "param_produce" /* PRODUCE存储区域名 */ + + +/* ##### EXPORTED DATA TYPES #################################################### */ + +typedef enum +{ + STABLE_PARAM, /*STABLE*/ + COMM_PARAM, /*COMM*/ + PRODUCE_PARAM, /*PRODUCE*/ + + PARAM_CATEGORY_MAX, /*参数表个数*/ +}PARAM_CATEGORY_E; /* ---------- end of enum PARAM_CATEGORY_E ---------- */ + + +typedef enum +{ + + /* STABLE */ + PARA_IDX_WORK_MODE_SVGC, //工作模式 + PARA_IDX_WORK_MODE_SVG, //补偿模式选择 + PARA_IDX_POWERON_MODE, //开机模式 + PARA_IDX_POWER_ON_DELAY, //自动开机延时 + PARA_IDX_POWER_ON_TIME_EN, //定时开关机使能 + PARA_IDX_POWER_ON_TIME, //定时开机时间 + PARA_IDX_POWER_OFF_TIME, //定时关机时间 + PARA_IDX_LOW_POWER_JUDGE_DELAY, //低功耗判断延时 + PARA_IDX_LOW_POWER_JUDGE_DELAY_QUIT, //退出低功耗判断延时 + PARA_IDX_AUTO_RESET_DELAY, //自动复位延时 + PARA_IDX_DSP_WD_ENABLE, //DSP看门狗复位使能 + PARA_IDX_FREEZE_SAVE_PERIOD, //分钟冻结周期 + PARA_IDX_RECORD_FRAME_EN, //报文记录使能 + PARA_IDX_RECORD_FRAME_DIR, //报文记录方向 + PARA_IDX_RECORD_FRAME_PORT, //报文记录端口 + PARA_IDX_RECORD_ERR_LOG_EN, //错误打印记录使能 + PARA_IDX_IMPD_DETE_EN, //绝缘阻值检测使能 + PARA_IDX_FAN_CTR_MODE, //风扇控制模式 + PARA_IDX_LEAK_CURRENT_MODE, //漏电流模式 + PARA_IDX_SYS_DISCHARGE_START_PWR, //放电起始功率 + PARA_IDX_ANTI_PID_EN, //抗PID使能 + PARA_IDX_ANTI_PID_TIME, //抗PID启动时间 + PARA_IDX_AUTO_RESTORE_DELAY, //自动清除故障模式 + PARA_IDX_PLC_ENABLE, //交流载波使能 + PARA_IDX_CONTROL_ENABLE_SHANXI, //逆变器控制使能 + PARA_IDX_FAN_AUTO_CTRL_FACTOR, //风扇自动控制因素 + PARA_IDX_MANUAL_FAN_PWM, //手动风扇占空比 + PARA_IDX_FAN_PWM_START, //风扇启动占空比 + PARA_IDX_FAN_PWM_MAX, //风扇最大占空比 + PARA_IDX_FAN_START_TEMP, //风扇启动温度 + PARA_IDX_FAN_MAX_TEMP, //风扇满速温度 + PARA_IDX_FAN_START_POWER, //风扇启动功率(额定值%) + PARA_IDX_FAN_MAX_POWER, //风扇满速功率(额定值%) + PARA_IDX_RESERVE_PARAM9_2, //幅值参考预留2 + PARA_IDX_RESERVE_PARAM9_3, //幅值参考预留3 + PARA_IDX_RESERVE_PARAM9_4, //幅值参考预留4 + PARA_IDX_RESERVE_PARAM9_5, //幅值参考预留5 + PARA_IDX_RESERVE_PARAM9_6, //幅值参考预留6 + PARA_IDX_RESERVE_PARAM9_7, //幅值参考预留7 + PARA_IDX_IMPD_FAULT_THRD, //绝缘阻值故障阈值 + PARA_IDX_IMPD_DETECT_CLOSE_TIME, //绝缘检测闭合时间 + PARA_IDX_IMPD_DETECT_OPEN_TIME, //绝缘检测断开时间 + PARA_IDX_FAN_SPEED_FAULT_THRD, //风扇故障转速阈值 + PARA_IDX_LEAK_CUR_FAULT_THRD, //漏电流故障阈值 + PARA_IDX_RESERVE_PARAM1_1, //阈值参考预留1 + PARA_IDX_OVER_TEMP_TIME, //过温判定时间 + PARA_IDX_SELF_CHECK_TIME, //自检超时判定时间 + PARA_IDX_INSU_BUS_VOLT_THD, //绝缘检测母线电压阈值 + PARA_IDX_INSU_RLY_VOLT_THD, //绝缘检测继电器电压阈值 + PARA_IDX_LEAK_CURRENT_L3_MUTATION_THRESHOLD_MA, //漏电流3级突变触发阈值 + PARA_IDX_LEAK_CURRENT_SLOW_THRESHOLD_MA, //漏电流缓变动作阈值 + PARA_IDX_LEAK_CURRENT_SLOW_TIME_MS, //漏电流缓变时间阈值 + PARA_IDX_LEAK_CURRENT_L1_MUTATION_THRESHOLD_MA, //漏电流1级突变触发阈值 + PARA_IDX_LEAK_CURRENT_L2_MUTATION_THRESHOLD_MA, //漏电流2级突变触发阈值 + PARA_IDX_LONGI_DEVICE_SN, //设备ID(用于隆基主站上报) + PARA_IDX_LONGI_PRODUCT_ID, //产品ID(用于隆基主站上报) + PARA_IDX_SHANXI_CAPACITY, //光伏板装机容量(陕西) + PARA_IDX_SHANXI_LONGITUDE, //设备经度(陕西) + PARA_IDX_SHANXI_LATITUDE, //设备纬度(陕西) + + /* COMM */ + PARA_IDX_REMOTE_IP, //主站IP + PARA_IDX_REMOTE_PORT, //主站端口号 + PARA_IDX_INTERACTIVE_CYCLE_4G, //4G交互周期 + PARA_IDX_GPRS_COM_OVER_TIME, //4G通信超时阈值 + PARA_IDX_CAN_ENABLE, //CAN使能 + PARA_IDX_CAN_DEV_ID, //CAN并机ID + PARA_IDX_CAN_PARALLEL_NUM, //CAN并机数量 + PARA_IDX_COM_OVER_TIME, //通信故障判定时间 + PARA_IDX_LOG_LEVEL, //日志级别 + PARA_IDX_LOG_OUTPUT, //日志输出模式 + PARA_IDX_LOG_CHANNEL, //日志监控通道 + PARA_IDX_LOG_FILE_SIZE, //日志文件大小 + PARA_IDX_LOG_FILE_CNT, //日志文件数量 + PARA_IDX_LOG_UDP_PORT, //日志网络端口 + PARA_IDX_LOG_UDP_ETH_IP, //日志网络地址 + PARA_IDX_PLC_CHECK_COMM_PERIOD, //载波通信超时判断周期 + + /* PRODUCE */ + PARA_IDX_MES_CODE, //设备MES码 + PARA_IDX_PRODUCT_ID, //12位出厂编号 + PARA_IDX_HB_TEST_RESULT, //板级生产检测结果 + PARA_IDX_SYS_TEST_RESULT, //工厂整机测试结果 + PARA_IDX_HW_CMPNT_NUM, //硬件组件号 + PARA_IDX_REGION_CODE, //行政区域码 + PARA_IDX_TERM_ADDR, //终端地址 + PARA_IDX_SCI_BAUDRATE, //对外串口波特率 + PARA_IDX_AC_PROTO_TYPE, //载波协议类型 + PARA_IDX_PROT645_TYPE, //645协议版本 + PARA_IDX_LEVEL_0_CIPHER, //0级密码 + PARA_IDX_LEVEL_1_CIPHER, //1级密码 + PARA_IDX_LEVEL_2_CIPHER, //2级密码 + PARA_IDX_ACCOUNT_NUM, //户号 + PARA_IDX_VIRTUAL_PLANT_NUM, //虚拟电厂编号 + PARA_IDX_LEAK_CURRENT_FACTOR, //漏电流校准系数 + PARA_IDX_LEAK_CURRENT_DC_ESTIMATE, //漏电流直流偏置AD值 + PARA_IDX_STATE_GRID_ADDR, //国网地址 + PARA_IDX_METER_CODE_NUM, //表号(ESAM用) + PARA_IDX_LEAK_CURRENT_INTER_REFER_MA, //漏电流内部参考值 + PARA_IDX_INVERTER_MODEL, //逆变器型号 + PARA_IDX_INVERTER_MANUFACTURER, //逆变器制造厂商 + PARA_IDX_SHANXI_HEIGHT, //设备海拔高度(陕西) + PARA_IDX_RATE_ACTIVE_POWER, //额定有功功率 + PARA_IDX_RATE_REACTIVE_POWER, //额定无功功率 + PARA_IDX_MINUTE_FREEZE_RELATED_COLUMNS, //分钟冻结关联列 + + PARA_IDX_MAX, /*参数索引总个数*/ +}PARAM_IDX_E; /* ---------- end of enum PARAM_IDX_E ---------- */ + + +#endif /* ----- #ifndef __PARAM_DEFINATION_H__ ----- */ + + \ No newline at end of file diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_produce.c b/test/CBB_Param/param_code_generation/param/param_defination/param_produce.c new file mode 100644 index 0000000..82a07b3 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_produce.c @@ -0,0 +1,127 @@ +/* + * ===================================================================================== + * + * Filename: param_produce.c + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#include + +#include "plm_type_def.h" +#include "../param_export.h" + +#include "./param_produce.h" + + +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET +update_produce_param_t g_update_produce_param_info; /*预存参数数据缓冲区 */ +#endif + +produce_param_t g_produce_param_in_ram; /*参数ram缓冲区*/ +uint16_t g_check_produce_param_crc[PRODUCE_PARAM_NUM]; /*用于记录参数的校验crc结果*/ +#endif + +PARAM_CHANGE_FLAG_E g_produce_param_change_flag[PRODUCE_PARAM_NUM]; /*用于记录参数的修改标记*/ + +const produce_param_t PRODUCE_PARAM_DEFAULT_VALUE_TABLE = +{ + .mes_code = {0}, //设备MES码 + .product_id = {0, 0, 0, 0, 1, 0}, //12位出厂编号 + .hb_test_result = 0, //板级生产检测结果 + .sys_test_result = 0, //工厂整机测试结果 + .hw_cmpnt_num = {0}, //硬件组件号 + .region_code = {0}, //行政区域码 + .term_addr = {0}, //终端地址 + .sci_baudrate = 0, //对外串口波特率 + .ac_proto_type = 0, //载波协议类型 + .prot645_type = 0, //645协议版本 + .level_0_cipher = {0}, //0级密码 + .level_1_cipher = {0}, //1级密码 + .level_2_cipher = {0}, //2级密码 + .account_num = {0}, //户号 + .virtual_plant_num = {0}, //虚拟电厂编号 + .leak_current_factor = 2028, //漏电流校准系数 + .leak_current_dc_estimate = 6250, //漏电流直流偏置AD值 + .state_grid_addr = {0}, //国网地址 + .meter_code_num = {0}, //表号(ESAM用) + .leak_current_inter_refer_mA = 0xFFFF, //漏电流内部参考值 + .inverter_model = {0}, //逆变器型号 + .inverter_manufacturer = {0}, //逆变器制造厂商 + .shanxi_height = {0}, //设备海拔高度(陕西) + .rate_active_power = 0, //额定有功功率 + .rate_reactive_power = 0, //额定无功功率 + .minute_freeze_related_columns = {0}, //分钟冻结关联列 +}; + + +const param_info_t PRODUCE_PARAM_INDEX_TABLE[PRODUCE_PARAM_NUM] = +{ + {.idx=PARA_IDX_MES_CODE, .identity=0x00000001, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_MES_CODE_SIZE, .offset=offsetof(produce_param_t, mes_code), .ratio=1, .min=0, .max=0, .check_func=bcd_check, .update_func=mes_code_callback,}, //设备MES码 + {.idx=PARA_IDX_PRODUCT_ID, .identity=0x00000002, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_PRODUCT_ID_SIZE, .offset=offsetof(produce_param_t, product_id), .ratio=1, .min=0, .max=0, .check_func=bcd_check, .update_func=product_id_callback,}, //12位出厂编号 + {.idx=PARA_IDX_HB_TEST_RESULT, .identity=0x00000003, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=PRODUCE_PARAM_HB_TEST_RESULT_SIZE, .offset=offsetof(produce_param_t, hb_test_result), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=hb_test_result_callback,}, //板级生产检测结果 + {.idx=PARA_IDX_SYS_TEST_RESULT, .identity=0x00000004, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=PRODUCE_PARAM_SYS_TEST_RESULT_SIZE, .offset=offsetof(produce_param_t, sys_test_result), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=sys_test_result_callback,}, //工厂整机测试结果 + {.idx=PARA_IDX_HW_CMPNT_NUM, .identity=0x00000005, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_HW_CMPNT_NUM_SIZE, .offset=offsetof(produce_param_t, hw_cmpnt_num), .ratio=1, .min=0, .max=0, .check_func=bcd_check, .update_func=hw_cmpnt_num_callback,}, //硬件组件号 + {.idx=PARA_IDX_REGION_CODE, .identity=0x00000006, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_REGION_CODE_SIZE, .offset=offsetof(produce_param_t, region_code), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=region_code_callback,}, //行政区域码 + {.idx=PARA_IDX_TERM_ADDR, .identity=0x00000007, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_TERM_ADDR_SIZE, .offset=offsetof(produce_param_t, term_addr), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=term_addr_callback,}, //终端地址 + {.idx=PARA_IDX_SCI_BAUDRATE, .identity=0x00000008, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=PRODUCE_PARAM_SCI_BAUDRATE_SIZE, .offset=offsetof(produce_param_t, sci_baudrate), .ratio=1, .min=0, .max=3, .check_func=NULL, .update_func=sci_baudrate_callback,}, //对外串口波特率 + {.idx=PARA_IDX_AC_PROTO_TYPE, .identity=0x00000009, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=PRODUCE_PARAM_AC_PROTO_TYPE_SIZE, .offset=offsetof(produce_param_t, ac_proto_type), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=ac_proto_type_callback,}, //载波协议类型 + {.idx=PARA_IDX_PROT645_TYPE, .identity=0x0000000A, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=PRODUCE_PARAM_PROT645_TYPE_SIZE, .offset=offsetof(produce_param_t, prot645_type), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=prot645_type_callback,}, //645协议版本 + {.idx=PARA_IDX_LEVEL_0_CIPHER, .identity=0x0000000B, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_LEVEL_0_CIPHER_SIZE, .offset=offsetof(produce_param_t, level_0_cipher), .ratio=1, .min=0, .max=0, .check_func=bcd_check, .update_func=level_0_cipher_callback,}, //0级密码 + {.idx=PARA_IDX_LEVEL_1_CIPHER, .identity=0x0000000C, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_LEVEL_1_CIPHER_SIZE, .offset=offsetof(produce_param_t, level_1_cipher), .ratio=1, .min=0, .max=0, .check_func=bcd_check, .update_func=level_1_cipher_callback,}, //1级密码 + {.idx=PARA_IDX_LEVEL_2_CIPHER, .identity=0x0000000D, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_LEVEL_2_CIPHER_SIZE, .offset=offsetof(produce_param_t, level_2_cipher), .ratio=1, .min=0, .max=0, .check_func=bcd_check, .update_func=level_2_cipher_callback,}, //2级密码 + {.idx=PARA_IDX_ACCOUNT_NUM, .identity=0x0000000E, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_ACCOUNT_NUM_SIZE, .offset=offsetof(produce_param_t, account_num), .ratio=1, .min=0, .max=0, .check_func=bcd_check, .update_func=account_num_callback,}, //户号 + {.idx=PARA_IDX_VIRTUAL_PLANT_NUM, .identity=0x0000000F, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_VIRTUAL_PLANT_NUM_SIZE, .offset=offsetof(produce_param_t, virtual_plant_num), .ratio=1, .min=0, .max=0, .check_func=bcd_check, .update_func=virtual_plant_num_callback,}, //虚拟电厂编号 + {.idx=PARA_IDX_LEAK_CURRENT_FACTOR, .identity=0x00000010, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=PRODUCE_PARAM_LEAK_CURRENT_FACTOR_SIZE, .offset=offsetof(produce_param_t, leak_current_factor), .ratio=1, .min=1, .max=65535, .check_func=NULL, .update_func=leak_current_factor_callback,}, //漏电流校准系数 + {.idx=PARA_IDX_LEAK_CURRENT_DC_ESTIMATE, .identity=0x00000011, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=PRODUCE_PARAM_LEAK_CURRENT_DC_ESTIMATE_SIZE, .offset=offsetof(produce_param_t, leak_current_dc_estimate), .ratio=1, .min=1800, .max=2200, .check_func=NULL, .update_func=leak_current_dc_estimate_callback,}, //漏电流直流偏置AD值 + {.idx=PARA_IDX_STATE_GRID_ADDR, .identity=0x00000012, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_STATE_GRID_ADDR_SIZE, .offset=offsetof(produce_param_t, state_grid_addr), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=state_grid_addr_callback,}, //国网地址 + {.idx=PARA_IDX_METER_CODE_NUM, .identity=0x00000013, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_METER_CODE_NUM_SIZE, .offset=offsetof(produce_param_t, meter_code_num), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=meter_code_num_callback,}, //表号(ESAM用) + {.idx=PARA_IDX_LEAK_CURRENT_INTER_REFER_MA, .identity=0x00000014, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=PRODUCE_PARAM_LEAK_CURRENT_INTER_REFER_MA_SIZE, .offset=offsetof(produce_param_t, leak_current_inter_refer_mA), .ratio=1, .min=0, .max=300, .check_func=NULL, .update_func=leak_current_inter_refer_mA_callback,}, //漏电流内部参考值 + {.idx=PARA_IDX_INVERTER_MODEL, .identity=0x00000015, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_INVERTER_MODEL_SIZE, .offset=offsetof(produce_param_t, inverter_model), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=inverter_model_callback,}, //逆变器型号 + {.idx=PARA_IDX_INVERTER_MANUFACTURER, .identity=0x00000016, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_INVERTER_MANUFACTURER_SIZE, .offset=offsetof(produce_param_t, inverter_manufacturer), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=inverter_manufacturer_callback,}, //逆变器制造厂商 + {.idx=PARA_IDX_SHANXI_HEIGHT, .identity=0x00000017, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_SHANXI_HEIGHT_SIZE, .offset=offsetof(produce_param_t, shanxi_height), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=shanxi_height_callback,}, //设备海拔高度(陕西) + {.idx=PARA_IDX_RATE_ACTIVE_POWER, .identity=0x00000018, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=PRODUCE_PARAM_RATE_ACTIVE_POWER_SIZE, .offset=offsetof(produce_param_t, rate_active_power), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=rate_active_power_callback,}, //额定有功功率 + {.idx=PARA_IDX_RATE_REACTIVE_POWER, .identity=0x00000019, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=PRODUCE_PARAM_RATE_REACTIVE_POWER_SIZE, .offset=offsetof(produce_param_t, rate_reactive_power), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=rate_reactive_power_callback,}, //额定无功功率 + {.idx=PARA_IDX_MINUTE_FREEZE_RELATED_COLUMNS, .identity=0x0000001A, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=PRODUCE_PARAM_MINUTE_FREEZE_RELATED_COLUMNS_SIZE, .offset=offsetof(produce_param_t, minute_freeze_related_columns), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=minute_freeze_related_columns_callback,}, //分钟冻结关联列 +}; + + + + +param_info_table_t PRODUCE_PARAM_INFO = +{ +#if ENABLE_PARAM_MUTEX + .ptr_mutex = &g_param_resouce.param_mutex, +#endif + .ptr_category_name = PRODUCE_REGION_NAME, + .ptr_default_value_table = (void*)&PRODUCE_PARAM_DEFAULT_VALUE_TABLE, //默认参数值 + .ptr_index_table = (void*)PRODUCE_PARAM_INDEX_TABLE, //参数索引表 + .param_num = PRODUCE_PARAM_NUM, //参数个数 + .param_data_size = PRODUCE_PARAM_STORAGE_SIZE, //数据长度 + .param_base_addr = PRODUCE_PARAM_STORE_ADDR, //参数存储页地址 +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET + .ptr_preset_dataset = (void*)&g_update_produce_param_info.preset_table,//预设参数表 +#endif + .ptr_param_in_ram = (void*)&g_produce_param_in_ram, //参数ram缓冲区 + .ptr_crc_in_ram = g_check_produce_param_crc, //参数crc校验值 +#endif + .ptr_change_flag = g_produce_param_change_flag, //参数变更标记 + .backup_offset = 1024, //备份之间的偏移 + .idx_min = PARA_IDX_MES_CODE, //参数索引最小值 + .idx_max = PARA_IDX_MINUTE_FREEZE_RELATED_COLUMNS, //参数索引最大值 + .ptr_exchange_unit = &g_param_resouce.ptr_param_unit_buff, //参数写入缓冲区 + .exchange_size = 1024, //按页写入的缓冲区的大小 +}; + diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_produce.h b/test/CBB_Param/param_code_generation/param/param_defination/param_produce.h new file mode 100644 index 0000000..103e7a8 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_produce.h @@ -0,0 +1,73 @@ +/* + * ===================================================================================== + * + * Filename: param_produce.h + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#ifndef __PARAM_PRODUCE_H__ +#define __PARAM_PRODUCE_H__ + +#include + +#include "./param_config.h" +#include "../param_functional/param_block.h" +#include "./param_produce_defination.h" + +#define PRODUCE_PARAM_STORE_ADDR (8192) + + +#define PRODUCE_PARAM_MES_CODE_OFFSET 0 +#define PRODUCE_PARAM_PRODUCT_ID_OFFSET (PRODUCE_PARAM_MES_CODE_OFFSET + PRODUCE_PARAM_MES_CODE_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_HB_TEST_RESULT_OFFSET (PRODUCE_PARAM_PRODUCT_ID_OFFSET + PRODUCE_PARAM_PRODUCT_ID_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_SYS_TEST_RESULT_OFFSET (PRODUCE_PARAM_HB_TEST_RESULT_OFFSET + PRODUCE_PARAM_HB_TEST_RESULT_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_HW_CMPNT_NUM_OFFSET (PRODUCE_PARAM_SYS_TEST_RESULT_OFFSET + PRODUCE_PARAM_SYS_TEST_RESULT_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_REGION_CODE_OFFSET (PRODUCE_PARAM_HW_CMPNT_NUM_OFFSET + PRODUCE_PARAM_HW_CMPNT_NUM_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_TERM_ADDR_OFFSET (PRODUCE_PARAM_REGION_CODE_OFFSET + PRODUCE_PARAM_REGION_CODE_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_SCI_BAUDRATE_OFFSET (PRODUCE_PARAM_TERM_ADDR_OFFSET + PRODUCE_PARAM_TERM_ADDR_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_AC_PROTO_TYPE_OFFSET (PRODUCE_PARAM_SCI_BAUDRATE_OFFSET + PRODUCE_PARAM_SCI_BAUDRATE_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_PROT645_TYPE_OFFSET (PRODUCE_PARAM_AC_PROTO_TYPE_OFFSET + PRODUCE_PARAM_AC_PROTO_TYPE_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_LEVEL_0_CIPHER_OFFSET (PRODUCE_PARAM_PROT645_TYPE_OFFSET + PRODUCE_PARAM_PROT645_TYPE_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_LEVEL_1_CIPHER_OFFSET (PRODUCE_PARAM_LEVEL_0_CIPHER_OFFSET + PRODUCE_PARAM_LEVEL_0_CIPHER_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_LEVEL_2_CIPHER_OFFSET (PRODUCE_PARAM_LEVEL_1_CIPHER_OFFSET + PRODUCE_PARAM_LEVEL_1_CIPHER_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_ACCOUNT_NUM_OFFSET (PRODUCE_PARAM_LEVEL_2_CIPHER_OFFSET + PRODUCE_PARAM_LEVEL_2_CIPHER_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_VIRTUAL_PLANT_NUM_OFFSET (PRODUCE_PARAM_ACCOUNT_NUM_OFFSET + PRODUCE_PARAM_ACCOUNT_NUM_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_LEAK_CURRENT_FACTOR_OFFSET (PRODUCE_PARAM_VIRTUAL_PLANT_NUM_OFFSET + PRODUCE_PARAM_VIRTUAL_PLANT_NUM_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_LEAK_CURRENT_DC_ESTIMATE_OFFSET (PRODUCE_PARAM_LEAK_CURRENT_FACTOR_OFFSET + PRODUCE_PARAM_LEAK_CURRENT_FACTOR_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_STATE_GRID_ADDR_OFFSET (PRODUCE_PARAM_LEAK_CURRENT_DC_ESTIMATE_OFFSET + PRODUCE_PARAM_LEAK_CURRENT_DC_ESTIMATE_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_METER_CODE_NUM_OFFSET (PRODUCE_PARAM_STATE_GRID_ADDR_OFFSET + PRODUCE_PARAM_STATE_GRID_ADDR_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_LEAK_CURRENT_INTER_REFER_MA_OFFSET (PRODUCE_PARAM_METER_CODE_NUM_OFFSET + PRODUCE_PARAM_METER_CODE_NUM_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_INVERTER_MODEL_OFFSET (PRODUCE_PARAM_LEAK_CURRENT_INTER_REFER_MA_OFFSET + PRODUCE_PARAM_LEAK_CURRENT_INTER_REFER_MA_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_INVERTER_MANUFACTURER_OFFSET (PRODUCE_PARAM_INVERTER_MODEL_OFFSET + PRODUCE_PARAM_INVERTER_MODEL_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_SHANXI_HEIGHT_OFFSET (PRODUCE_PARAM_INVERTER_MANUFACTURER_OFFSET + PRODUCE_PARAM_INVERTER_MANUFACTURER_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_RATE_ACTIVE_POWER_OFFSET (PRODUCE_PARAM_SHANXI_HEIGHT_OFFSET + PRODUCE_PARAM_SHANXI_HEIGHT_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_RATE_REACTIVE_POWER_OFFSET (PRODUCE_PARAM_RATE_ACTIVE_POWER_OFFSET + PRODUCE_PARAM_RATE_ACTIVE_POWER_SIZE + PARAM_INFO_SIZE) +#define PRODUCE_PARAM_MINUTE_FREEZE_RELATED_COLUMNS_OFFSET (PRODUCE_PARAM_RATE_REACTIVE_POWER_OFFSET + PRODUCE_PARAM_RATE_REACTIVE_POWER_SIZE + PARAM_INFO_SIZE) + +#define PRODUCE_PARAM_STORAGE_SIZE (PRODUCE_PARAM_MINUTE_FREEZE_RELATED_COLUMNS_OFFSET + PRODUCE_PARAM_MINUTE_FREEZE_RELATED_COLUMNS_SIZE + PARAM_INFO_SIZE) + + + +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET +typedef struct +{ + produce_param_t preset_table; +} update_produce_param_t; +#endif +#endif + +extern param_info_table_t PRODUCE_PARAM_INFO; + +#endif /* ----- #ifndef __PARAM_PRODUCE_H__ ----- */ diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_produce_defination.h b/test/CBB_Param/param_code_generation/param/param_defination/param_produce_defination.h new file mode 100644 index 0000000..d1e9851 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_produce_defination.h @@ -0,0 +1,88 @@ +/* + * ===================================================================================== + * + * Filename: param_produce_defination.h + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#ifndef __PARAM_PRODUCE_DEFINATION_H__ +#define __PARAM_PRODUCE_DEFINATION_H__ + +#include +#include + + +#define PRODUCE_PARAM_NUM (26) + + +#define PRODUCE_PARAM_MES_CODE_SIZE (8) +#define PRODUCE_PARAM_PRODUCT_ID_SIZE (6) +#define PRODUCE_PARAM_HB_TEST_RESULT_SIZE (sizeof(uint16_t)) +#define PRODUCE_PARAM_SYS_TEST_RESULT_SIZE (sizeof(uint16_t)) +#define PRODUCE_PARAM_HW_CMPNT_NUM_SIZE (6) +#define PRODUCE_PARAM_REGION_CODE_SIZE (2) +#define PRODUCE_PARAM_TERM_ADDR_SIZE (2) +#define PRODUCE_PARAM_SCI_BAUDRATE_SIZE (sizeof(uint8_t)) +#define PRODUCE_PARAM_AC_PROTO_TYPE_SIZE (sizeof(uint8_t)) +#define PRODUCE_PARAM_PROT645_TYPE_SIZE (sizeof(uint8_t)) +#define PRODUCE_PARAM_LEVEL_0_CIPHER_SIZE (4) +#define PRODUCE_PARAM_LEVEL_1_CIPHER_SIZE (4) +#define PRODUCE_PARAM_LEVEL_2_CIPHER_SIZE (4) +#define PRODUCE_PARAM_ACCOUNT_NUM_SIZE (6) +#define PRODUCE_PARAM_VIRTUAL_PLANT_NUM_SIZE (6) +#define PRODUCE_PARAM_LEAK_CURRENT_FACTOR_SIZE (sizeof(uint16_t)) +#define PRODUCE_PARAM_LEAK_CURRENT_DC_ESTIMATE_SIZE (sizeof(uint16_t)) +#define PRODUCE_PARAM_STATE_GRID_ADDR_SIZE (12) +#define PRODUCE_PARAM_METER_CODE_NUM_SIZE (12) +#define PRODUCE_PARAM_LEAK_CURRENT_INTER_REFER_MA_SIZE (sizeof(uint16_t)) +#define PRODUCE_PARAM_INVERTER_MODEL_SIZE (32) +#define PRODUCE_PARAM_INVERTER_MANUFACTURER_SIZE (32) +#define PRODUCE_PARAM_SHANXI_HEIGHT_SIZE (6) +#define PRODUCE_PARAM_RATE_ACTIVE_POWER_SIZE (sizeof(uint16_t)) +#define PRODUCE_PARAM_RATE_REACTIVE_POWER_SIZE (sizeof(uint16_t)) +#define PRODUCE_PARAM_MINUTE_FREEZE_RELATED_COLUMNS_SIZE (32) + + +typedef struct +{ + uint8_t mes_code[PRODUCE_PARAM_MES_CODE_SIZE]; /* 设备MES码 */ + uint8_t product_id[PRODUCE_PARAM_PRODUCT_ID_SIZE]; /* 12位出厂编号 */ + uint16_t hb_test_result; /* 板级生产检测结果 */ + uint16_t sys_test_result; /* 工厂整机测试结果 */ + uint8_t hw_cmpnt_num[PRODUCE_PARAM_HW_CMPNT_NUM_SIZE]; /* 硬件组件号 */ + uint8_t region_code[PRODUCE_PARAM_REGION_CODE_SIZE]; /* 行政区域码 */ + uint8_t term_addr[PRODUCE_PARAM_TERM_ADDR_SIZE]; /* 终端地址 */ + uint8_t sci_baudrate; /* 对外串口波特率 */ + uint8_t ac_proto_type; /* 载波协议类型 */ + uint8_t prot645_type; /* 645协议版本 */ + uint8_t level_0_cipher[PRODUCE_PARAM_LEVEL_0_CIPHER_SIZE]; /* 0级密码 */ + uint8_t level_1_cipher[PRODUCE_PARAM_LEVEL_1_CIPHER_SIZE]; /* 1级密码 */ + uint8_t level_2_cipher[PRODUCE_PARAM_LEVEL_2_CIPHER_SIZE]; /* 2级密码 */ + uint8_t account_num[PRODUCE_PARAM_ACCOUNT_NUM_SIZE]; /* 户号 */ + uint8_t virtual_plant_num[PRODUCE_PARAM_VIRTUAL_PLANT_NUM_SIZE]; /* 虚拟电厂编号 */ + uint16_t leak_current_factor; /* 漏电流校准系数 */ + uint16_t leak_current_dc_estimate; /* 漏电流直流偏置AD值 */ + uint8_t state_grid_addr[PRODUCE_PARAM_STATE_GRID_ADDR_SIZE]; /* 国网地址 */ + uint8_t meter_code_num[PRODUCE_PARAM_METER_CODE_NUM_SIZE]; /* 表号(ESAM用) */ + uint16_t leak_current_inter_refer_mA; /* 漏电流内部参考值 */ + uint8_t inverter_model[PRODUCE_PARAM_INVERTER_MODEL_SIZE]; /* 逆变器型号 */ + uint8_t inverter_manufacturer[PRODUCE_PARAM_INVERTER_MANUFACTURER_SIZE]; /* 逆变器制造厂商 */ + uint8_t shanxi_height[PRODUCE_PARAM_SHANXI_HEIGHT_SIZE]; /* 设备海拔高度(陕西) */ + uint16_t rate_active_power; /* 额定有功功率 */ + uint16_t rate_reactive_power; /* 额定无功功率 */ + uint8_t minute_freeze_related_columns[PRODUCE_PARAM_MINUTE_FREEZE_RELATED_COLUMNS_SIZE]; /* 分钟冻结关联列 */ +} produce_param_t; + + +#endif /* ----- #ifndef __PARAM_PRODUCE_DEFINATION_H__ ----- */ diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_stable.c b/test/CBB_Param/param_code_generation/param/param_defination/param_stable.c new file mode 100644 index 0000000..916b772 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_stable.c @@ -0,0 +1,193 @@ +/* + * ===================================================================================== + * + * Filename: param_stable.c + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#include + +#include "plm_type_def.h" +#include "../param_export.h" + +#include "./param_stable.h" + + +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET +update_stable_param_t g_update_stable_param_info; /*预存参数数据缓冲区 */ +#endif + +stable_param_t g_stable_param_in_ram; /*参数ram缓冲区*/ +uint16_t g_check_stable_param_crc[STABLE_PARAM_NUM]; /*用于记录参数的校验crc结果*/ +#endif + +PARAM_CHANGE_FLAG_E g_stable_param_change_flag[STABLE_PARAM_NUM]; /*用于记录参数的修改标记*/ + +const stable_param_t STABLE_PARAM_DEFAULT_VALUE_TABLE = +{ + .work_mode_svgc = 0, //工作模式 + .work_mode_svg = 0, //补偿模式选择 + .poweron_mode = 1, //开机模式 + .power_on_delay = 15, //自动开机延时 + .power_on_time_en = 0, //定时开关机使能 + .power_on_time = {0}, //定时开机时间 + .power_off_time = {0}, //定时关机时间 + .low_power_judge_delay = 300, //低功耗判断延时 + .low_power_judge_delay_quit = 10, //退出低功耗判断延时 + .auto_reset_delay = 180, //自动复位延时 + .dsp_wd_enable = 0, //DSP看门狗复位使能 + .freeze_save_period = 5, //分钟冻结周期 + .record_frame_en = 0, //报文记录使能 + .record_frame_dir = 0, //报文记录方向 + .record_frame_port = 0, //报文记录端口 + .record_err_log_en = 0, //错误打印记录使能 + .impd_dete_en = 1, //绝缘阻值检测使能 + .fan_ctr_mode = 0, //风扇控制模式 + .leak_current_mode = 3, //漏电流模式 + .sys_discharge_start_pwr = 20, //放电起始功率 + .anti_pid_en = 0, //抗PID使能 + .anti_pid_time = 120, //抗PID启动时间 + .auto_restore_delay = 15, //自动清除故障模式 + .plc_enable = 0, //交流载波使能 + .control_enable_shanxi = 0, //逆变器控制使能 + .fan_auto_ctrl_factor = 0, //风扇自动控制因素 + .manual_fan_pwm = 95, //手动风扇占空比 + .fan_pwm_start = 35, //风扇启动占空比 + .fan_pwm_max = 100, //风扇最大占空比 + .fan_start_temp = 45, //风扇启动温度 + .fan_max_temp = 55, //风扇满速温度 + .fan_start_power = 33, //风扇启动功率(额定值%) + .fan_max_power = 67, //风扇满速功率(额定值%) + .reserve_param9_2 = 0, //幅值参考预留2 + .reserve_param9_3 = 0, //幅值参考预留3 + .reserve_param9_4 = 0, //幅值参考预留4 + .reserve_param9_5 = 0, //幅值参考预留5 + .reserve_param9_6 = 0, //幅值参考预留6 + .reserve_param9_7 = 0, //幅值参考预留7 + .impd_fault_thrd = 180, //绝缘阻值故障阈值 + .impd_detect_close_time = 1500, //绝缘检测闭合时间 + .impd_detect_open_time = 5000, //绝缘检测断开时间 + .fan_speed_fault_thrd = 2000, //风扇故障转速阈值 + .leak_cur_fault_thrd = 200, //漏电流故障阈值 + .reserve_param1_1 = 110, //阈值参考预留1 + .over_temp_time = 10, //过温判定时间 + .self_check_time = 60, //自检超时判定时间 + .insu_bus_volt_thd = 400, //绝缘检测母线电压阈值 + .insu_rly_volt_thd = 5, //绝缘检测继电器电压阈值 + .leak_current_L3_mutation_threshold_mA = 150, //漏电流3级突变触发阈值 + .leak_current_slow_threshold_mA = 0xFFFF, //漏电流缓变动作阈值 + .leak_current_slow_time_ms = 10, //漏电流缓变时间阈值 + .leak_current_L1_mutation_threshold_mA = 60, //漏电流1级突变触发阈值 + .leak_current_L2_mutation_threshold_mA = 60, //漏电流2级突变触发阈值 + .longi_device_sn = {0}, //设备ID(用于隆基主站上报) + .longi_product_id = {0}, //产品ID(用于隆基主站上报) + .shanxi_capacity = {0}, //光伏板装机容量(陕西) + .shanxi_longitude = {0}, //设备经度(陕西) + .shanxi_latitude = {0}, //设备纬度(陕西) +}; + + +const param_info_t STABLE_PARAM_INDEX_TABLE[STABLE_PARAM_NUM] = +{ + {.idx=PARA_IDX_WORK_MODE_SVGC, .identity=0x00000001, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_WORK_MODE_SVGC_SIZE, .offset=offsetof(stable_param_t, work_mode_svgc), .ratio=1, .min=0, .max=2, .check_func=NULL, .update_func=work_mode_svgc_callback,}, //工作模式 + {.idx=PARA_IDX_WORK_MODE_SVG, .identity=0x00000002, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_WORK_MODE_SVG_SIZE, .offset=offsetof(stable_param_t, work_mode_svg), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=work_mode_svg_callback,}, //补偿模式选择 + {.idx=PARA_IDX_POWERON_MODE, .identity=0x00000003, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_POWERON_MODE_SIZE, .offset=offsetof(stable_param_t, poweron_mode), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=poweron_mode_callback,}, //开机模式 + {.idx=PARA_IDX_POWER_ON_DELAY, .identity=0x00000004, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_POWER_ON_DELAY_SIZE, .offset=offsetof(stable_param_t, power_on_delay), .ratio=1, .min=0, .max=3600, .check_func=NULL, .update_func=power_on_delay_callback,}, //自动开机延时 + {.idx=PARA_IDX_POWER_ON_TIME_EN, .identity=0x00000005, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_POWER_ON_TIME_EN_SIZE, .offset=offsetof(stable_param_t, power_on_time_en), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=power_on_time_en_callback,}, //定时开关机使能 + {.idx=PARA_IDX_POWER_ON_TIME, .identity=0x00000006, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=STABLE_PARAM_POWER_ON_TIME_SIZE, .offset=offsetof(stable_param_t, power_on_time), .ratio=1, .min=0, .max=0, .check_func=time_check, .update_func=power_on_time_callback,}, //定时开机时间 + {.idx=PARA_IDX_POWER_OFF_TIME, .identity=0x00000007, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=STABLE_PARAM_POWER_OFF_TIME_SIZE, .offset=offsetof(stable_param_t, power_off_time), .ratio=1, .min=0, .max=0, .check_func=time_check, .update_func=power_off_time_callback,}, //定时关机时间 + {.idx=PARA_IDX_LOW_POWER_JUDGE_DELAY, .identity=0x00000008, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_LOW_POWER_JUDGE_DELAY_SIZE, .offset=offsetof(stable_param_t, low_power_judge_delay), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=low_power_judge_delay_callback,}, //低功耗判断延时 + {.idx=PARA_IDX_LOW_POWER_JUDGE_DELAY_QUIT, .identity=0x00000009, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_LOW_POWER_JUDGE_DELAY_QUIT_SIZE, .offset=offsetof(stable_param_t, low_power_judge_delay_quit), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=low_power_judge_delay_quit_callback,}, //退出低功耗判断延时 + {.idx=PARA_IDX_AUTO_RESET_DELAY, .identity=0x0000000A, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_AUTO_RESET_DELAY_SIZE, .offset=offsetof(stable_param_t, auto_reset_delay), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=auto_reset_delay_callback,}, //自动复位延时 + {.idx=PARA_IDX_DSP_WD_ENABLE, .identity=0x0000000B, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_DSP_WD_ENABLE_SIZE, .offset=offsetof(stable_param_t, dsp_wd_enable), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=dsp_wd_enable_callback,}, //DSP看门狗复位使能 + {.idx=PARA_IDX_FREEZE_SAVE_PERIOD, .identity=0x0000000C, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_FREEZE_SAVE_PERIOD_SIZE, .offset=offsetof(stable_param_t, freeze_save_period), .ratio=1, .min=1, .max=15, .check_func=NULL, .update_func=freeze_save_period_callback,}, //分钟冻结周期 + {.idx=PARA_IDX_RECORD_FRAME_EN, .identity=0x0000000D, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_RECORD_FRAME_EN_SIZE, .offset=offsetof(stable_param_t, record_frame_en), .ratio=1, .min=0, .max=3, .check_func=NULL, .update_func=record_frame_en_callback,}, //报文记录使能 + {.idx=PARA_IDX_RECORD_FRAME_DIR, .identity=0x0000000E, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_RECORD_FRAME_DIR_SIZE, .offset=offsetof(stable_param_t, record_frame_dir), .ratio=1, .min=0, .max=2, .check_func=NULL, .update_func=record_frame_dir_callback,}, //报文记录方向 + {.idx=PARA_IDX_RECORD_FRAME_PORT, .identity=0x0000000F, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_RECORD_FRAME_PORT_SIZE, .offset=offsetof(stable_param_t, record_frame_port), .ratio=1, .min=0, .max=11, .check_func=NULL, .update_func=record_frame_port_callback,}, //报文记录端口 + {.idx=PARA_IDX_RECORD_ERR_LOG_EN, .identity=0x00000010, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_RECORD_ERR_LOG_EN_SIZE, .offset=offsetof(stable_param_t, record_err_log_en), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=record_err_log_en_callback,}, //错误打印记录使能 + {.idx=PARA_IDX_IMPD_DETE_EN, .identity=0x00000011, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_IMPD_DETE_EN_SIZE, .offset=offsetof(stable_param_t, impd_dete_en), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=impd_dete_en_callback,}, //绝缘阻值检测使能 + {.idx=PARA_IDX_FAN_CTR_MODE, .identity=0x00000012, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_FAN_CTR_MODE_SIZE, .offset=offsetof(stable_param_t, fan_ctr_mode), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=fan_ctr_mode_callback,}, //风扇控制模式 + {.idx=PARA_IDX_LEAK_CURRENT_MODE, .identity=0x00000013, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_LEAK_CURRENT_MODE_SIZE, .offset=offsetof(stable_param_t, leak_current_mode), .ratio=1, .min=0, .max=3, .check_func=NULL, .update_func=leak_current_mode_callback,}, //漏电流模式 + {.idx=PARA_IDX_SYS_DISCHARGE_START_PWR, .identity=0x00000014, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_SYS_DISCHARGE_START_PWR_SIZE, .offset=offsetof(stable_param_t, sys_discharge_start_pwr), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=sys_discharge_start_pwr_callback,}, //放电起始功率 + {.idx=PARA_IDX_ANTI_PID_EN, .identity=0x00000015, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_ANTI_PID_EN_SIZE, .offset=offsetof(stable_param_t, anti_pid_en), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=anti_pid_en_callback,}, //抗PID使能 + {.idx=PARA_IDX_ANTI_PID_TIME, .identity=0x00000016, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_ANTI_PID_TIME_SIZE, .offset=offsetof(stable_param_t, anti_pid_time), .ratio=1, .min=30, .max=1200, .check_func=NULL, .update_func=anti_pid_time_callback,}, //抗PID启动时间 + {.idx=PARA_IDX_AUTO_RESTORE_DELAY, .identity=0x00000017, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_AUTO_RESTORE_DELAY_SIZE, .offset=offsetof(stable_param_t, auto_restore_delay), .ratio=1, .min=0, .max=15, .check_func=NULL, .update_func=auto_restore_delay_callback,}, //自动清除故障模式 + {.idx=PARA_IDX_PLC_ENABLE, .identity=0x00000018, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_PLC_ENABLE_SIZE, .offset=offsetof(stable_param_t, plc_enable), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=plc_enable_callback,}, //交流载波使能 + {.idx=PARA_IDX_CONTROL_ENABLE_SHANXI, .identity=0x00000019, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_CONTROL_ENABLE_SHANXI_SIZE, .offset=offsetof(stable_param_t, control_enable_shanxi), .ratio=1, .min=0, .max=1, .check_func=NULL, .update_func=control_enable_shanxi_callback,}, //逆变器控制使能 + {.idx=PARA_IDX_FAN_AUTO_CTRL_FACTOR, .identity=0x0000001A, .store_type=PARAM_UINT8, .local_type=PARAM_UINT8, .size=STABLE_PARAM_FAN_AUTO_CTRL_FACTOR_SIZE, .offset=offsetof(stable_param_t, fan_auto_ctrl_factor), .ratio=1, .min=0, .max=2, .check_func=NULL, .update_func=fan_auto_ctrl_factor_callback,}, //风扇自动控制因素 + {.idx=PARA_IDX_MANUAL_FAN_PWM, .identity=0x0000001B, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_MANUAL_FAN_PWM_SIZE, .offset=offsetof(stable_param_t, manual_fan_pwm), .ratio=1, .min=0, .max=100, .check_func=NULL, .update_func=manual_fan_pwm_callback,}, //手动风扇占空比 + {.idx=PARA_IDX_FAN_PWM_START, .identity=0x0000001C, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_FAN_PWM_START_SIZE, .offset=offsetof(stable_param_t, fan_pwm_start), .ratio=1, .min=10, .max=50, .check_func=NULL, .update_func=fan_pwm_start_callback,}, //风扇启动占空比 + {.idx=PARA_IDX_FAN_PWM_MAX, .identity=0x0000001D, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_FAN_PWM_MAX_SIZE, .offset=offsetof(stable_param_t, fan_pwm_max), .ratio=1, .min=51, .max=100, .check_func=NULL, .update_func=fan_pwm_max_callback,}, //风扇最大占空比 + {.idx=PARA_IDX_FAN_START_TEMP, .identity=0x0000001E, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_FAN_START_TEMP_SIZE, .offset=offsetof(stable_param_t, fan_start_temp), .ratio=1, .min=10, .max=150, .check_func=NULL, .update_func=fan_start_temp_callback,}, //风扇启动温度 + {.idx=PARA_IDX_FAN_MAX_TEMP, .identity=0x0000001F, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_FAN_MAX_TEMP_SIZE, .offset=offsetof(stable_param_t, fan_max_temp), .ratio=1, .min=30, .max=150, .check_func=NULL, .update_func=fan_max_temp_callback,}, //风扇满速温度 + {.idx=PARA_IDX_FAN_START_POWER, .identity=0x00000020, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_FAN_START_POWER_SIZE, .offset=offsetof(stable_param_t, fan_start_power), .ratio=1, .min=0, .max=100, .check_func=NULL, .update_func=fan_start_power_callback,}, //风扇启动功率(额定值%) + {.idx=PARA_IDX_FAN_MAX_POWER, .identity=0x00000021, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_FAN_MAX_POWER_SIZE, .offset=offsetof(stable_param_t, fan_max_power), .ratio=1, .min=0, .max=100, .check_func=NULL, .update_func=fan_max_power_callback,}, //风扇满速功率(额定值%) + {.idx=PARA_IDX_RESERVE_PARAM9_2, .identity=0x00000022, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_RESERVE_PARAM9_2_SIZE, .offset=offsetof(stable_param_t, reserve_param9_2), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=reserve_param9_2_callback,}, //幅值参考预留2 + {.idx=PARA_IDX_RESERVE_PARAM9_3, .identity=0x00000023, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_RESERVE_PARAM9_3_SIZE, .offset=offsetof(stable_param_t, reserve_param9_3), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=reserve_param9_3_callback,}, //幅值参考预留3 + {.idx=PARA_IDX_RESERVE_PARAM9_4, .identity=0x00000024, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_RESERVE_PARAM9_4_SIZE, .offset=offsetof(stable_param_t, reserve_param9_4), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=reserve_param9_4_callback,}, //幅值参考预留4 + {.idx=PARA_IDX_RESERVE_PARAM9_5, .identity=0x00000025, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_RESERVE_PARAM9_5_SIZE, .offset=offsetof(stable_param_t, reserve_param9_5), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=reserve_param9_5_callback,}, //幅值参考预留5 + {.idx=PARA_IDX_RESERVE_PARAM9_6, .identity=0x00000026, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_RESERVE_PARAM9_6_SIZE, .offset=offsetof(stable_param_t, reserve_param9_6), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=reserve_param9_6_callback,}, //幅值参考预留6 + {.idx=PARA_IDX_RESERVE_PARAM9_7, .identity=0x00000027, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_RESERVE_PARAM9_7_SIZE, .offset=offsetof(stable_param_t, reserve_param9_7), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=reserve_param9_7_callback,}, //幅值参考预留7 + {.idx=PARA_IDX_IMPD_FAULT_THRD, .identity=0x00000028, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_IMPD_FAULT_THRD_SIZE, .offset=offsetof(stable_param_t, impd_fault_thrd), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=impd_fault_thrd_callback,}, //绝缘阻值故障阈值 + {.idx=PARA_IDX_IMPD_DETECT_CLOSE_TIME, .identity=0x00000029, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_IMPD_DETECT_CLOSE_TIME_SIZE, .offset=offsetof(stable_param_t, impd_detect_close_time), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=impd_detect_close_time_callback,}, //绝缘检测闭合时间 + {.idx=PARA_IDX_IMPD_DETECT_OPEN_TIME, .identity=0x0000002A, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_IMPD_DETECT_OPEN_TIME_SIZE, .offset=offsetof(stable_param_t, impd_detect_open_time), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=impd_detect_open_time_callback,}, //绝缘检测断开时间 + {.idx=PARA_IDX_FAN_SPEED_FAULT_THRD, .identity=0x0000002B, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_FAN_SPEED_FAULT_THRD_SIZE, .offset=offsetof(stable_param_t, fan_speed_fault_thrd), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=fan_speed_fault_thrd_callback,}, //风扇故障转速阈值 + {.idx=PARA_IDX_LEAK_CUR_FAULT_THRD, .identity=0x0000002C, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_LEAK_CUR_FAULT_THRD_SIZE, .offset=offsetof(stable_param_t, leak_cur_fault_thrd), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=leak_cur_fault_thrd_callback,}, //漏电流故障阈值 + {.idx=PARA_IDX_RESERVE_PARAM1_1, .identity=0x0000002D, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_RESERVE_PARAM1_1_SIZE, .offset=offsetof(stable_param_t, reserve_param1_1), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=reserve_param1_1_callback,}, //阈值参考预留1 + {.idx=PARA_IDX_OVER_TEMP_TIME, .identity=0x0000002E, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_OVER_TEMP_TIME_SIZE, .offset=offsetof(stable_param_t, over_temp_time), .ratio=1, .min=0, .max=3600, .check_func=NULL, .update_func=over_temp_time_callback,}, //过温判定时间 + {.idx=PARA_IDX_SELF_CHECK_TIME, .identity=0x0000002F, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_SELF_CHECK_TIME_SIZE, .offset=offsetof(stable_param_t, self_check_time), .ratio=1, .min=0, .max=3600, .check_func=NULL, .update_func=self_check_time_callback,}, //自检超时判定时间 + {.idx=PARA_IDX_INSU_BUS_VOLT_THD, .identity=0x00000030, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_INSU_BUS_VOLT_THD_SIZE, .offset=offsetof(stable_param_t, insu_bus_volt_thd), .ratio=1, .min=0, .max=1200, .check_func=NULL, .update_func=insu_bus_volt_thd_callback,}, //绝缘检测母线电压阈值 + {.idx=PARA_IDX_INSU_RLY_VOLT_THD, .identity=0x00000031, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_INSU_RLY_VOLT_THD_SIZE, .offset=offsetof(stable_param_t, insu_rly_volt_thd), .ratio=1, .min=0, .max=1200, .check_func=NULL, .update_func=insu_rly_volt_thd_callback,}, //绝缘检测继电器电压阈值 + {.idx=PARA_IDX_LEAK_CURRENT_L3_MUTATION_THRESHOLD_MA, .identity=0x00000032, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_LEAK_CURRENT_L3_MUTATION_THRESHOLD_MA_SIZE, .offset=offsetof(stable_param_t, leak_current_L3_mutation_threshold_mA), .ratio=1, .min=30, .max=300, .check_func=NULL, .update_func=leak_current_L3_mutation_threshold_mA_callback,}, //漏电流3级突变触发阈值 + {.idx=PARA_IDX_LEAK_CURRENT_SLOW_THRESHOLD_MA, .identity=0x00000033, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_LEAK_CURRENT_SLOW_THRESHOLD_MA_SIZE, .offset=offsetof(stable_param_t, leak_current_slow_threshold_mA), .ratio=1, .min=30, .max=700, .check_func=NULL, .update_func=leak_current_slow_threshold_mA_callback,}, //漏电流缓变动作阈值 + {.idx=PARA_IDX_LEAK_CURRENT_SLOW_TIME_MS, .identity=0x00000034, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_LEAK_CURRENT_SLOW_TIME_MS_SIZE, .offset=offsetof(stable_param_t, leak_current_slow_time_ms), .ratio=1, .min=0, .max=100, .check_func=NULL, .update_func=leak_current_slow_time_ms_callback,}, //漏电流缓变时间阈值 + {.idx=PARA_IDX_LEAK_CURRENT_L1_MUTATION_THRESHOLD_MA, .identity=0x00000035, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_LEAK_CURRENT_L1_MUTATION_THRESHOLD_MA_SIZE, .offset=offsetof(stable_param_t, leak_current_L1_mutation_threshold_mA), .ratio=1, .min=20, .max=300, .check_func=NULL, .update_func=leak_current_L1_mutation_threshold_mA_callback,}, //漏电流1级突变触发阈值 + {.idx=PARA_IDX_LEAK_CURRENT_L2_MUTATION_THRESHOLD_MA, .identity=0x00000036, .store_type=PARAM_UINT16, .local_type=PARAM_UINT16, .size=STABLE_PARAM_LEAK_CURRENT_L2_MUTATION_THRESHOLD_MA_SIZE, .offset=offsetof(stable_param_t, leak_current_L2_mutation_threshold_mA), .ratio=1, .min=20, .max=300, .check_func=NULL, .update_func=leak_current_L2_mutation_threshold_mA_callback,}, //漏电流2级突变触发阈值 + {.idx=PARA_IDX_LONGI_DEVICE_SN, .identity=0x00000037, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=STABLE_PARAM_LONGI_DEVICE_SN_SIZE, .offset=offsetof(stable_param_t, longi_device_sn), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=longi_device_sn_callback,}, //设备ID(用于隆基主站上报) + {.idx=PARA_IDX_LONGI_PRODUCT_ID, .identity=0x00000038, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=STABLE_PARAM_LONGI_PRODUCT_ID_SIZE, .offset=offsetof(stable_param_t, longi_product_id), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=longi_product_id_callback,}, //产品ID(用于隆基主站上报) + {.idx=PARA_IDX_SHANXI_CAPACITY, .identity=0x00000039, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=STABLE_PARAM_SHANXI_CAPACITY_SIZE, .offset=offsetof(stable_param_t, shanxi_capacity), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=shanxi_capacity_callback,}, //光伏板装机容量(陕西) + {.idx=PARA_IDX_SHANXI_LONGITUDE, .identity=0x0000003A, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=STABLE_PARAM_SHANXI_LONGITUDE_SIZE, .offset=offsetof(stable_param_t, shanxi_longitude), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=shanxi_longitude_callback,}, //设备经度(陕西) + {.idx=PARA_IDX_SHANXI_LATITUDE, .identity=0x0000003B, .store_type=PARAM_ARRAY, .local_type=PARAM_ARRAY, .size=STABLE_PARAM_SHANXI_LATITUDE_SIZE, .offset=offsetof(stable_param_t, shanxi_latitude), .ratio=1, .min=0, .max=0, .check_func=NULL, .update_func=shanxi_latitude_callback,}, //设备纬度(陕西) +}; + + + + +param_info_table_t STABLE_PARAM_INFO = +{ +#if ENABLE_PARAM_MUTEX + .ptr_mutex = &g_param_resouce.param_mutex, +#endif + .ptr_category_name = STABLE_REGION_NAME, + .ptr_default_value_table = (void*)&STABLE_PARAM_DEFAULT_VALUE_TABLE, //默认参数值 + .ptr_index_table = (void*)STABLE_PARAM_INDEX_TABLE, //参数索引表 + .param_num = STABLE_PARAM_NUM, //参数个数 + .param_data_size = STABLE_PARAM_STORAGE_SIZE, //数据长度 + .param_base_addr = STABLE_PARAM_STORE_ADDR, //参数存储页地址 +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET + .ptr_preset_dataset = (void*)&g_update_stable_param_info.preset_table,//预设参数表 +#endif + .ptr_param_in_ram = (void*)&g_stable_param_in_ram, //参数ram缓冲区 + .ptr_crc_in_ram = g_check_stable_param_crc, //参数crc校验值 +#endif + .ptr_change_flag = g_stable_param_change_flag, //参数变更标记 + .backup_offset = 1024, //备份之间的偏移 + .idx_min = PARA_IDX_WORK_MODE_SVGC, //参数索引最小值 + .idx_max = PARA_IDX_SHANXI_LATITUDE, //参数索引最大值 + .ptr_exchange_unit = &g_param_resouce.ptr_param_unit_buff, //参数写入缓冲区 + .exchange_size = 1024, //按页写入的缓冲区的大小 +}; + diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_stable.h b/test/CBB_Param/param_code_generation/param/param_defination/param_stable.h new file mode 100644 index 0000000..180e763 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_stable.h @@ -0,0 +1,106 @@ +/* + * ===================================================================================== + * + * Filename: param_stable.h + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#ifndef __PARAM_STABLE_H__ +#define __PARAM_STABLE_H__ + +#include + +#include "./param_config.h" +#include "../param_functional/param_block.h" +#include "./param_stable_defination.h" + +#define STABLE_PARAM_STORE_ADDR (0) + + +#define STABLE_PARAM_WORK_MODE_SVGC_OFFSET 0 +#define STABLE_PARAM_WORK_MODE_SVG_OFFSET (STABLE_PARAM_WORK_MODE_SVGC_OFFSET + STABLE_PARAM_WORK_MODE_SVGC_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_POWERON_MODE_OFFSET (STABLE_PARAM_WORK_MODE_SVG_OFFSET + STABLE_PARAM_WORK_MODE_SVG_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_POWER_ON_DELAY_OFFSET (STABLE_PARAM_POWERON_MODE_OFFSET + STABLE_PARAM_POWERON_MODE_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_POWER_ON_TIME_EN_OFFSET (STABLE_PARAM_POWER_ON_DELAY_OFFSET + STABLE_PARAM_POWER_ON_DELAY_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_POWER_ON_TIME_OFFSET (STABLE_PARAM_POWER_ON_TIME_EN_OFFSET + STABLE_PARAM_POWER_ON_TIME_EN_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_POWER_OFF_TIME_OFFSET (STABLE_PARAM_POWER_ON_TIME_OFFSET + STABLE_PARAM_POWER_ON_TIME_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LOW_POWER_JUDGE_DELAY_OFFSET (STABLE_PARAM_POWER_OFF_TIME_OFFSET + STABLE_PARAM_POWER_OFF_TIME_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LOW_POWER_JUDGE_DELAY_QUIT_OFFSET (STABLE_PARAM_LOW_POWER_JUDGE_DELAY_OFFSET + STABLE_PARAM_LOW_POWER_JUDGE_DELAY_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_AUTO_RESET_DELAY_OFFSET (STABLE_PARAM_LOW_POWER_JUDGE_DELAY_QUIT_OFFSET + STABLE_PARAM_LOW_POWER_JUDGE_DELAY_QUIT_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_DSP_WD_ENABLE_OFFSET (STABLE_PARAM_AUTO_RESET_DELAY_OFFSET + STABLE_PARAM_AUTO_RESET_DELAY_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FREEZE_SAVE_PERIOD_OFFSET (STABLE_PARAM_DSP_WD_ENABLE_OFFSET + STABLE_PARAM_DSP_WD_ENABLE_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RECORD_FRAME_EN_OFFSET (STABLE_PARAM_FREEZE_SAVE_PERIOD_OFFSET + STABLE_PARAM_FREEZE_SAVE_PERIOD_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RECORD_FRAME_DIR_OFFSET (STABLE_PARAM_RECORD_FRAME_EN_OFFSET + STABLE_PARAM_RECORD_FRAME_EN_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RECORD_FRAME_PORT_OFFSET (STABLE_PARAM_RECORD_FRAME_DIR_OFFSET + STABLE_PARAM_RECORD_FRAME_DIR_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RECORD_ERR_LOG_EN_OFFSET (STABLE_PARAM_RECORD_FRAME_PORT_OFFSET + STABLE_PARAM_RECORD_FRAME_PORT_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_IMPD_DETE_EN_OFFSET (STABLE_PARAM_RECORD_ERR_LOG_EN_OFFSET + STABLE_PARAM_RECORD_ERR_LOG_EN_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_CTR_MODE_OFFSET (STABLE_PARAM_IMPD_DETE_EN_OFFSET + STABLE_PARAM_IMPD_DETE_EN_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LEAK_CURRENT_MODE_OFFSET (STABLE_PARAM_FAN_CTR_MODE_OFFSET + STABLE_PARAM_FAN_CTR_MODE_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_SYS_DISCHARGE_START_PWR_OFFSET (STABLE_PARAM_LEAK_CURRENT_MODE_OFFSET + STABLE_PARAM_LEAK_CURRENT_MODE_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_ANTI_PID_EN_OFFSET (STABLE_PARAM_SYS_DISCHARGE_START_PWR_OFFSET + STABLE_PARAM_SYS_DISCHARGE_START_PWR_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_ANTI_PID_TIME_OFFSET (STABLE_PARAM_ANTI_PID_EN_OFFSET + STABLE_PARAM_ANTI_PID_EN_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_AUTO_RESTORE_DELAY_OFFSET (STABLE_PARAM_ANTI_PID_TIME_OFFSET + STABLE_PARAM_ANTI_PID_TIME_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_PLC_ENABLE_OFFSET (STABLE_PARAM_AUTO_RESTORE_DELAY_OFFSET + STABLE_PARAM_AUTO_RESTORE_DELAY_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_CONTROL_ENABLE_SHANXI_OFFSET (STABLE_PARAM_PLC_ENABLE_OFFSET + STABLE_PARAM_PLC_ENABLE_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_AUTO_CTRL_FACTOR_OFFSET (STABLE_PARAM_CONTROL_ENABLE_SHANXI_OFFSET + STABLE_PARAM_CONTROL_ENABLE_SHANXI_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_MANUAL_FAN_PWM_OFFSET (STABLE_PARAM_FAN_AUTO_CTRL_FACTOR_OFFSET + STABLE_PARAM_FAN_AUTO_CTRL_FACTOR_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_PWM_START_OFFSET (STABLE_PARAM_MANUAL_FAN_PWM_OFFSET + STABLE_PARAM_MANUAL_FAN_PWM_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_PWM_MAX_OFFSET (STABLE_PARAM_FAN_PWM_START_OFFSET + STABLE_PARAM_FAN_PWM_START_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_START_TEMP_OFFSET (STABLE_PARAM_FAN_PWM_MAX_OFFSET + STABLE_PARAM_FAN_PWM_MAX_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_MAX_TEMP_OFFSET (STABLE_PARAM_FAN_START_TEMP_OFFSET + STABLE_PARAM_FAN_START_TEMP_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_START_POWER_OFFSET (STABLE_PARAM_FAN_MAX_TEMP_OFFSET + STABLE_PARAM_FAN_MAX_TEMP_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_MAX_POWER_OFFSET (STABLE_PARAM_FAN_START_POWER_OFFSET + STABLE_PARAM_FAN_START_POWER_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RESERVE_PARAM9_2_OFFSET (STABLE_PARAM_FAN_MAX_POWER_OFFSET + STABLE_PARAM_FAN_MAX_POWER_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RESERVE_PARAM9_3_OFFSET (STABLE_PARAM_RESERVE_PARAM9_2_OFFSET + STABLE_PARAM_RESERVE_PARAM9_2_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RESERVE_PARAM9_4_OFFSET (STABLE_PARAM_RESERVE_PARAM9_3_OFFSET + STABLE_PARAM_RESERVE_PARAM9_3_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RESERVE_PARAM9_5_OFFSET (STABLE_PARAM_RESERVE_PARAM9_4_OFFSET + STABLE_PARAM_RESERVE_PARAM9_4_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RESERVE_PARAM9_6_OFFSET (STABLE_PARAM_RESERVE_PARAM9_5_OFFSET + STABLE_PARAM_RESERVE_PARAM9_5_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RESERVE_PARAM9_7_OFFSET (STABLE_PARAM_RESERVE_PARAM9_6_OFFSET + STABLE_PARAM_RESERVE_PARAM9_6_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_IMPD_FAULT_THRD_OFFSET (STABLE_PARAM_RESERVE_PARAM9_7_OFFSET + STABLE_PARAM_RESERVE_PARAM9_7_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_IMPD_DETECT_CLOSE_TIME_OFFSET (STABLE_PARAM_IMPD_FAULT_THRD_OFFSET + STABLE_PARAM_IMPD_FAULT_THRD_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_IMPD_DETECT_OPEN_TIME_OFFSET (STABLE_PARAM_IMPD_DETECT_CLOSE_TIME_OFFSET + STABLE_PARAM_IMPD_DETECT_CLOSE_TIME_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_FAN_SPEED_FAULT_THRD_OFFSET (STABLE_PARAM_IMPD_DETECT_OPEN_TIME_OFFSET + STABLE_PARAM_IMPD_DETECT_OPEN_TIME_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LEAK_CUR_FAULT_THRD_OFFSET (STABLE_PARAM_FAN_SPEED_FAULT_THRD_OFFSET + STABLE_PARAM_FAN_SPEED_FAULT_THRD_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_RESERVE_PARAM1_1_OFFSET (STABLE_PARAM_LEAK_CUR_FAULT_THRD_OFFSET + STABLE_PARAM_LEAK_CUR_FAULT_THRD_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_OVER_TEMP_TIME_OFFSET (STABLE_PARAM_RESERVE_PARAM1_1_OFFSET + STABLE_PARAM_RESERVE_PARAM1_1_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_SELF_CHECK_TIME_OFFSET (STABLE_PARAM_OVER_TEMP_TIME_OFFSET + STABLE_PARAM_OVER_TEMP_TIME_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_INSU_BUS_VOLT_THD_OFFSET (STABLE_PARAM_SELF_CHECK_TIME_OFFSET + STABLE_PARAM_SELF_CHECK_TIME_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_INSU_RLY_VOLT_THD_OFFSET (STABLE_PARAM_INSU_BUS_VOLT_THD_OFFSET + STABLE_PARAM_INSU_BUS_VOLT_THD_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LEAK_CURRENT_L3_MUTATION_THRESHOLD_MA_OFFSET (STABLE_PARAM_INSU_RLY_VOLT_THD_OFFSET + STABLE_PARAM_INSU_RLY_VOLT_THD_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LEAK_CURRENT_SLOW_THRESHOLD_MA_OFFSET (STABLE_PARAM_LEAK_CURRENT_L3_MUTATION_THRESHOLD_MA_OFFSET + STABLE_PARAM_LEAK_CURRENT_L3_MUTATION_THRESHOLD_MA_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LEAK_CURRENT_SLOW_TIME_MS_OFFSET (STABLE_PARAM_LEAK_CURRENT_SLOW_THRESHOLD_MA_OFFSET + STABLE_PARAM_LEAK_CURRENT_SLOW_THRESHOLD_MA_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LEAK_CURRENT_L1_MUTATION_THRESHOLD_MA_OFFSET (STABLE_PARAM_LEAK_CURRENT_SLOW_TIME_MS_OFFSET + STABLE_PARAM_LEAK_CURRENT_SLOW_TIME_MS_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LEAK_CURRENT_L2_MUTATION_THRESHOLD_MA_OFFSET (STABLE_PARAM_LEAK_CURRENT_L1_MUTATION_THRESHOLD_MA_OFFSET + STABLE_PARAM_LEAK_CURRENT_L1_MUTATION_THRESHOLD_MA_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LONGI_DEVICE_SN_OFFSET (STABLE_PARAM_LEAK_CURRENT_L2_MUTATION_THRESHOLD_MA_OFFSET + STABLE_PARAM_LEAK_CURRENT_L2_MUTATION_THRESHOLD_MA_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_LONGI_PRODUCT_ID_OFFSET (STABLE_PARAM_LONGI_DEVICE_SN_OFFSET + STABLE_PARAM_LONGI_DEVICE_SN_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_SHANXI_CAPACITY_OFFSET (STABLE_PARAM_LONGI_PRODUCT_ID_OFFSET + STABLE_PARAM_LONGI_PRODUCT_ID_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_SHANXI_LONGITUDE_OFFSET (STABLE_PARAM_SHANXI_CAPACITY_OFFSET + STABLE_PARAM_SHANXI_CAPACITY_SIZE + PARAM_INFO_SIZE) +#define STABLE_PARAM_SHANXI_LATITUDE_OFFSET (STABLE_PARAM_SHANXI_LONGITUDE_OFFSET + STABLE_PARAM_SHANXI_LONGITUDE_SIZE + PARAM_INFO_SIZE) + +#define STABLE_PARAM_STORAGE_SIZE (STABLE_PARAM_SHANXI_LATITUDE_OFFSET + STABLE_PARAM_SHANXI_LATITUDE_SIZE + PARAM_INFO_SIZE) + + + +#if ENABLE_PARAM_IN_RAM +#if ENABLE_PARAM_PRESET +typedef struct +{ + stable_param_t preset_table; +} update_stable_param_t; +#endif +#endif + +extern param_info_table_t STABLE_PARAM_INFO; + +#endif /* ----- #ifndef __PARAM_STABLE_H__ ----- */ diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_stable_defination.h b/test/CBB_Param/param_code_generation/param/param_defination/param_stable_defination.h new file mode 100644 index 0000000..d745aa8 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_stable_defination.h @@ -0,0 +1,154 @@ +/* + * ===================================================================================== + * + * Filename: param_stable_defination.h + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#ifndef __PARAM_STABLE_DEFINATION_H__ +#define __PARAM_STABLE_DEFINATION_H__ + +#include +#include + + +#define STABLE_PARAM_NUM (59) + + +#define STABLE_PARAM_WORK_MODE_SVGC_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_WORK_MODE_SVG_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_POWERON_MODE_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_POWER_ON_DELAY_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_POWER_ON_TIME_EN_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_POWER_ON_TIME_SIZE (6) +#define STABLE_PARAM_POWER_OFF_TIME_SIZE (6) +#define STABLE_PARAM_LOW_POWER_JUDGE_DELAY_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_LOW_POWER_JUDGE_DELAY_QUIT_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_AUTO_RESET_DELAY_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_DSP_WD_ENABLE_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_FREEZE_SAVE_PERIOD_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_RECORD_FRAME_EN_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_RECORD_FRAME_DIR_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_RECORD_FRAME_PORT_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_RECORD_ERR_LOG_EN_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_IMPD_DETE_EN_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_FAN_CTR_MODE_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_LEAK_CURRENT_MODE_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_SYS_DISCHARGE_START_PWR_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_ANTI_PID_EN_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_ANTI_PID_TIME_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_AUTO_RESTORE_DELAY_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_PLC_ENABLE_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_CONTROL_ENABLE_SHANXI_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_FAN_AUTO_CTRL_FACTOR_SIZE (sizeof(uint8_t)) +#define STABLE_PARAM_MANUAL_FAN_PWM_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_FAN_PWM_START_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_FAN_PWM_MAX_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_FAN_START_TEMP_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_FAN_MAX_TEMP_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_FAN_START_POWER_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_FAN_MAX_POWER_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_RESERVE_PARAM9_2_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_RESERVE_PARAM9_3_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_RESERVE_PARAM9_4_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_RESERVE_PARAM9_5_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_RESERVE_PARAM9_6_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_RESERVE_PARAM9_7_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_IMPD_FAULT_THRD_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_IMPD_DETECT_CLOSE_TIME_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_IMPD_DETECT_OPEN_TIME_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_FAN_SPEED_FAULT_THRD_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_LEAK_CUR_FAULT_THRD_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_RESERVE_PARAM1_1_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_OVER_TEMP_TIME_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_SELF_CHECK_TIME_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_INSU_BUS_VOLT_THD_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_INSU_RLY_VOLT_THD_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_LEAK_CURRENT_L3_MUTATION_THRESHOLD_MA_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_LEAK_CURRENT_SLOW_THRESHOLD_MA_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_LEAK_CURRENT_SLOW_TIME_MS_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_LEAK_CURRENT_L1_MUTATION_THRESHOLD_MA_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_LEAK_CURRENT_L2_MUTATION_THRESHOLD_MA_SIZE (sizeof(uint16_t)) +#define STABLE_PARAM_LONGI_DEVICE_SN_SIZE (64) +#define STABLE_PARAM_LONGI_PRODUCT_ID_SIZE (64) +#define STABLE_PARAM_SHANXI_CAPACITY_SIZE (4) +#define STABLE_PARAM_SHANXI_LONGITUDE_SIZE (10) +#define STABLE_PARAM_SHANXI_LATITUDE_SIZE (8) + + +typedef struct +{ + uint8_t work_mode_svgc; /* 工作模式 */ + uint8_t work_mode_svg; /* 补偿模式选择 */ + uint8_t poweron_mode; /* 开机模式 */ + uint16_t power_on_delay; /* 自动开机延时 */ + uint8_t power_on_time_en; /* 定时开关机使能 */ + uint8_t power_on_time[STABLE_PARAM_POWER_ON_TIME_SIZE]; /* 定时开机时间 */ + uint8_t power_off_time[STABLE_PARAM_POWER_OFF_TIME_SIZE]; /* 定时关机时间 */ + uint16_t low_power_judge_delay; /* 低功耗判断延时 */ + uint16_t low_power_judge_delay_quit; /* 退出低功耗判断延时 */ + uint16_t auto_reset_delay; /* 自动复位延时 */ + uint8_t dsp_wd_enable; /* DSP看门狗复位使能 */ + uint16_t freeze_save_period; /* 分钟冻结周期 */ + uint8_t record_frame_en; /* 报文记录使能 */ + uint8_t record_frame_dir; /* 报文记录方向 */ + uint8_t record_frame_port; /* 报文记录端口 */ + uint8_t record_err_log_en; /* 错误打印记录使能 */ + uint8_t impd_dete_en; /* 绝缘阻值检测使能 */ + uint8_t fan_ctr_mode; /* 风扇控制模式 */ + uint8_t leak_current_mode; /* 漏电流模式 */ + uint16_t sys_discharge_start_pwr; /* 放电起始功率 */ + uint8_t anti_pid_en; /* 抗PID使能 */ + uint16_t anti_pid_time; /* 抗PID启动时间 */ + uint16_t auto_restore_delay; /* 自动清除故障模式 */ + uint16_t plc_enable; /* 交流载波使能 */ + uint16_t control_enable_shanxi; /* 逆变器控制使能 */ + uint8_t fan_auto_ctrl_factor; /* 风扇自动控制因素 */ + uint16_t manual_fan_pwm; /* 手动风扇占空比 */ + uint16_t fan_pwm_start; /* 风扇启动占空比 */ + uint16_t fan_pwm_max; /* 风扇最大占空比 */ + uint16_t fan_start_temp; /* 风扇启动温度 */ + uint16_t fan_max_temp; /* 风扇满速温度 */ + uint16_t fan_start_power; /* 风扇启动功率(额定值%) */ + uint16_t fan_max_power; /* 风扇满速功率(额定值%) */ + uint16_t reserve_param9_2; /* 幅值参考预留2 */ + uint16_t reserve_param9_3; /* 幅值参考预留3 */ + uint16_t reserve_param9_4; /* 幅值参考预留4 */ + uint16_t reserve_param9_5; /* 幅值参考预留5 */ + uint16_t reserve_param9_6; /* 幅值参考预留6 */ + uint16_t reserve_param9_7; /* 幅值参考预留7 */ + uint16_t impd_fault_thrd; /* 绝缘阻值故障阈值 */ + uint16_t impd_detect_close_time; /* 绝缘检测闭合时间 */ + uint16_t impd_detect_open_time; /* 绝缘检测断开时间 */ + uint16_t fan_speed_fault_thrd; /* 风扇故障转速阈值 */ + uint16_t leak_cur_fault_thrd; /* 漏电流故障阈值 */ + uint16_t reserve_param1_1; /* 阈值参考预留1 */ + uint16_t over_temp_time; /* 过温判定时间 */ + uint16_t self_check_time; /* 自检超时判定时间 */ + uint16_t insu_bus_volt_thd; /* 绝缘检测母线电压阈值 */ + uint16_t insu_rly_volt_thd; /* 绝缘检测继电器电压阈值 */ + uint16_t leak_current_L3_mutation_threshold_mA; /* 漏电流3级突变触发阈值 */ + uint16_t leak_current_slow_threshold_mA; /* 漏电流缓变动作阈值 */ + uint16_t leak_current_slow_time_ms; /* 漏电流缓变时间阈值 */ + uint16_t leak_current_L1_mutation_threshold_mA; /* 漏电流1级突变触发阈值 */ + uint16_t leak_current_L2_mutation_threshold_mA; /* 漏电流2级突变触发阈值 */ + uint8_t longi_device_sn[STABLE_PARAM_LONGI_DEVICE_SN_SIZE]; /* 设备ID(用于隆基主站上报) */ + uint8_t longi_product_id[STABLE_PARAM_LONGI_PRODUCT_ID_SIZE]; /* 产品ID(用于隆基主站上报) */ + uint8_t shanxi_capacity[STABLE_PARAM_SHANXI_CAPACITY_SIZE]; /* 光伏板装机容量(陕西) */ + uint8_t shanxi_longitude[STABLE_PARAM_SHANXI_LONGITUDE_SIZE]; /* 设备经度(陕西) */ + uint8_t shanxi_latitude[STABLE_PARAM_SHANXI_LATITUDE_SIZE]; /* 设备纬度(陕西) */ +} stable_param_t; + + +#endif /* ----- #ifndef __PARAM_STABLE_DEFINATION_H__ ----- */ diff --git a/test/CBB_Param/param_code_generation/param/param_defination/param_storage_config.c b/test/CBB_Param/param_code_generation/param/param_defination/param_storage_config.c new file mode 100644 index 0000000..4a1aa27 --- /dev/null +++ b/test/CBB_Param/param_code_generation/param/param_defination/param_storage_config.c @@ -0,0 +1,100 @@ +/* + * ===================================================================================== + * + * Filename: param_storage_config.c + * + * Description: + * + * Version: 1.0 + * Created: 26/10/2024 17:20:06 + * Revision: none + * Compiler: gcc + * + * Author: Autogenerated + * Organization: Topscomm + * + * ===================================================================================== + */ + +#include "../param_storage/norflash_operation.h" +#include "../param_storage/eeprom_operation.h" +#include "../param_storage/file_system_operation.h" +#include "../param_storage/param_storage.h" + +#if FILE_SYSTEM_EXIST +const char g_param_file_path_prefix[FILE_NAME_MAX_LEN]="None"; /*存放参数文件的路径前缀*/ + +#define FILE_MAX_LEN (1024*3) /*文件最大长度*/ +#endif + +/* ##### VARIABLES - LOCAL TO THIS SOURCE FILE ################################ */ + + +static const storage_info_t all_storage_info_table[PARAM_CATEGORY_MAX] = +{ + /* STABLE */ + { + .ptr_name = STABLE_REGION_NAME, + .region = STABLE_PARAM, + #if FILE_SYSTEM_EXIST + .max_addr = 0+FILE_MAX_LEN - 1, + .min_addr = 0, + #else + .max_addr = 0+1024*3 - 1, + .min_addr = 0, + #endif + + .storage_read = norflash_read, + .storage_write = norflash_write, + .storage_clean = norflash_clean, + }, + /* COMM */ + { + .ptr_name = COMM_REGION_NAME, + .region = COMM_PARAM, + #if FILE_SYSTEM_EXIST + .max_addr = 0+FILE_MAX_LEN - 1, + .min_addr = 0, + #else + .max_addr = 4096+1024*3 - 1, + .min_addr = 4096, + #endif + + .storage_read = norflash_read, + .storage_write = norflash_write, + .storage_clean = norflash_clean, + }, + /* PRODUCE */ + { + .ptr_name = PRODUCE_REGION_NAME, + .region = PRODUCE_PARAM, + #if FILE_SYSTEM_EXIST + .max_addr = 0+FILE_MAX_LEN - 1, + .min_addr = 0, + #else + .max_addr = 8192+1024*3 - 1, + .min_addr = 8192, + #endif + + .storage_read = norflash_read, + .storage_write = norflash_write, + .storage_clean = norflash_clean, + }, + +}; + + +/* ##### FUNCTION DEFINITIONS - EXPORTED FUNCTIONS ############################ */ + + +/* + * === FUNCTION ====================================================================== + * Name: param_storage_get_info_table + * Description: 获取所有存储区域的汇总表,用于对存储区域进行检索 + * ===================================================================================== + */ +const storage_info_t* param_storage_get_info_table() +{ + return &all_storage_info_table[0]; +} /* ----- end of function param_storage_get_info_table ----- */ + diff --git a/test/CBB_Param/param_input.xlsx b/test/CBB_Param/param_input.xlsx new file mode 100644 index 0000000..bbe490d Binary files /dev/null and b/test/CBB_Param/param_input.xlsx differ diff --git a/test/PV_Inverter/arm/mw_param_manager_arm_struct.c b/test/PV_Inverter/arm/mw_param_manager_arm_struct.c new file mode 100644 index 0000000..2997209 --- /dev/null +++ b/test/PV_Inverter/arm/mw_param_manager_arm_struct.c @@ -0,0 +1,264 @@ +#include +#include "project.h" +#include "mw_param_manager_arm_struct.h" + + + + +const modbus_param_value_info_t s_ast_param_range[MAX_VALID_PARAM_ADDRESS + 1] = +{ + /*address, datatype, default_value, min_value, max_value*/ + {0, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {1, DATATYPE_UINT16_T, 0, 0, 65535, }, /*设备MES码*/ + {2, DATATYPE_UINT16_T, 0, 0, 65535, }, /*设备MES码*/ + {3, DATATYPE_UINT16_T, 0, 0, 65535, }, /*设备MES码*/ + {4, DATATYPE_UINT16_T, 0, 0, 65535, }, /*设备MES码*/ + {5, DATATYPE_UINT16_T, 0, 0, 65535, }, /*12位出厂编号*/ + {6, DATATYPE_UINT16_T, 0, 0, 65535, }, /*12位出厂编号*/ + {7, DATATYPE_UINT16_T, 1, 0, 65535, }, /*12位出厂编号*/ + {8, DATATYPE_UINT16_T, 0, 0, 65535, }, /*板级生产检测结果*/ + {9, DATATYPE_UINT16_T, 0, 0, 1, }, /*工厂整机测试结果*/ + {10, DATATYPE_UINT16_T, 0, 0, 65535, }, /*硬件组件号*/ + {11, DATATYPE_UINT16_T, 0, 0, 65535, }, /*硬件组件号*/ + {12, DATATYPE_UINT16_T, 0, 0, 65535, }, /*硬件组件号*/ + {13, DATATYPE_UINT16_T, 0, 0, 65535, }, /*行政区域码*/ + {14, DATATYPE_UINT16_T, 0, 0, 65535, }, /*终端地址*/ + {15, DATATYPE_UINT16_T, 0, 0, 3, }, /*对外串口波特率*/ + {16, DATATYPE_UINT16_T, 0, 0, 1, }, /*载波协议类型*/ + {17, DATATYPE_UINT16_T, 0, 0, 1, }, /*645协议版本*/ + {18, DATATYPE_UINT16_T, 0, 0, 65535, }, /*0级密码*/ + {19, DATATYPE_UINT16_T, 0, 0, 65535, }, /*0级密码*/ + {20, DATATYPE_UINT16_T, 0, 0, 65535, }, /*1级密码*/ + {21, DATATYPE_UINT16_T, 0, 0, 65535, }, /*1级密码*/ + {22, DATATYPE_UINT16_T, 0, 0, 65535, }, /*2级密码*/ + {23, DATATYPE_UINT16_T, 0, 0, 65535, }, /*2级密码*/ + {24, DATATYPE_UINT16_T, 0, 0, 65535, }, /*户号*/ + {25, DATATYPE_UINT16_T, 0, 0, 65535, }, /*户号*/ + {26, DATATYPE_UINT16_T, 0, 0, 65535, }, /*户号*/ + {27, DATATYPE_UINT16_T, 0, 0, 65535, }, /*虚拟电厂编号*/ + {28, DATATYPE_UINT16_T, 0, 0, 65535, }, /*虚拟电厂编号*/ + {29, DATATYPE_UINT16_T, 0, 0, 65535, }, /*虚拟电厂编号*/ + {30, DATATYPE_UINT16_T, 2028, 1800, 2200, }, /*漏电流直流偏置AD值*/ + {31, DATATYPE_UINT16_T, 6250, 1, 65535, }, /*漏电流校准系数*/ + {32, DATATYPE_UINT16_T, 0, 0, 65535, }, /*国网地址*/ + {33, DATATYPE_UINT16_T, 0, 0, 65535, }, /*国网地址*/ + {34, DATATYPE_UINT16_T, 0, 0, 65535, }, /*国网地址*/ + {35, DATATYPE_UINT16_T, 0, 0, 65535, }, /*国网地址*/ + {36, DATATYPE_UINT16_T, 0, 0, 65535, }, /*国网地址*/ + {37, DATATYPE_UINT16_T, 0, 0, 65535, }, /*国网地址*/ + {38, DATATYPE_UINT16_T, 0, 0, 65535, }, /*表号(ESAM用)*/ + {39, DATATYPE_UINT16_T, 0, 0, 65535, }, /*表号(ESAM用)*/ + {40, DATATYPE_UINT16_T, 0, 0, 65535, }, /*表号(ESAM用)*/ + {41, DATATYPE_UINT16_T, 0, 0, 65535, }, /*表号(ESAM用)*/ + {42, DATATYPE_UINT16_T, 0, 0, 65535, }, /*表号(ESAM用)*/ + {43, DATATYPE_UINT16_T, 0, 0, 65535, }, /*表号(ESAM用)*/ +#if defined(PV_INV30) + {44, DATATYPE_UINT16_T, 50, 0, 300, }, /*漏电流内部参考值*/ +#elif defined(PV_INV40) + {44, DATATYPE_UINT16_T, 65, 0, 300, }, /*漏电流内部参考值*/ +#elif defined(PV_INV50) + {44, DATATYPE_UINT16_T, 65, 0, 300, }, /*漏电流内部参考值*/ +#else + {44, DATATYPE_UINT16_T, 0, 0, 0 }, /*漏电流内部参考值*/ +#endif + {45, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {46, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {47, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {48, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {49, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {50, DATATYPE_UINT16_T, 0, 0, 1, }, /*设备开机*/ + {51, DATATYPE_UINT16_T, 0, 0, 1, }, /*设备关机*/ + {52, DATATYPE_UINT16_T, 0, 0, 1, }, /*故障复位*/ + {53, DATATYPE_UINT16_T, 0, 0, 1, }, /*解锁特殊操作*/ + {54, DATATYPE_UINT16_T, 0, 0, 1, }, /*设备重启*/ + {55, DATATYPE_UINT16_T, 0, 0, 1, }, /*功率单元自检(调试)*/ + {56, DATATYPE_UINT16_T, 0, 0, 1, }, /*功率单元重启*/ + {57, DATATYPE_UINT16_T, 0, 0, 1, }, /*功率单元强制复位*/ + {58, DATATYPE_UINT16_T, 0, 0, 1, }, /*参数还原*/ + {59, DATATYPE_UINT16_T, 0, 0, 1, }, /*复位4G*/ + {60, DATATYPE_UINT16_T, 0, 0, 1, }, /*直流载波复位*/ + {61, DATATYPE_UINT16_T, 0, 0, 1, }, /*交流载波复位*/ + {62, DATATYPE_UINT16_T, 0, 0, 1, }, /*手动录波*/ + {63, DATATYPE_UINT16_T, 0, 0, 1, }, /*所有记录数据擦除*/ + {64, DATATYPE_UINT16_T, 0, 0, 1, }, /*录波擦除*/ + {65, DATATYPE_UINT16_T, 0, 0, 1, }, /*事件擦除*/ + {66, DATATYPE_UINT16_T, 0, 0, 1, }, /*日志记录擦除*/ + {67, DATATYPE_UINT16_T, 0, 0, 1, }, /*分钟冻结数据擦除*/ + {68, DATATYPE_UINT16_T, 0, 0, 1, }, /*日冻结数据擦除*/ + {69, DATATYPE_UINT16_T, 0, 0, 1, }, /*月冻结数据擦除*/ + {70, DATATYPE_UINT16_T, 0, 0, 1, }, /*年冻结数据擦除*/ + {71, DATATYPE_UINT16_T, 0, 0, 1, }, /*报文记录数据擦除*/ + {72, DATATYPE_UINT16_T, 0, 0, 1, }, /*操作记录数据擦除*/ + {73, DATATYPE_UINT16_T, 0, 0, 1, }, /*电量记录数据擦除*/ + {74, DATATYPE_UINT16_T, 0, 0, 1, }, /*打印开关*/ + {75, DATATYPE_UINT16_T, 0, 0, 1, }, /*漏电流校准直流量(按钮)*/ + {76, DATATYPE_UINT16_T, 0, 0, 1, }, /*漏电流校准系数(按钮)*/ + {77, DATATYPE_UINT16_T, 0, 0, 1, }, /*漏电流自检(按钮)*/ + {78, DATATYPE_UINT16_T, 0, 0, 1, }, /*恢复出厂设置*/ + {79, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {80, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {81, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {82, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {83, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {84, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {85, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {86, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {87, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {88, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {89, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {90, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {91, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {92, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {93, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {94, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {95, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {96, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {97, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {98, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {99, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {100, DATATYPE_UINT16_T, 0, 0, 2, }, /*工作模式*/ + {101, DATATYPE_UINT16_T, 0, 0, 1, }, /*补偿模式选择*/ + {102, DATATYPE_UINT16_T, 0, 0, 1, }, /*开机模式*/ + {103, DATATYPE_UINT16_T, 15, 0, 3600, }, /*自动开机延时*/ + {104, DATATYPE_UINT16_T, 0, 0, 1, }, /*定时开关机使能*/ + {105, DATATYPE_UINT16_T, 0, 0, 23, }, /*定时开机时间*/ + {106, DATATYPE_UINT16_T, 0, 0, 59, }, /*定时开机时间*/ + {107, DATATYPE_UINT16_T, 0, 0, 59, }, /*定时开机时间*/ + {108, DATATYPE_UINT16_T, 0, 0, 23, }, /*定时关机时间*/ + {109, DATATYPE_UINT16_T, 0, 0, 59, }, /*定时关机时间*/ + {110, DATATYPE_UINT16_T, 0, 0, 59, }, /*定时关机时间*/ + {111, DATATYPE_UINT16_T, 300, 0, 65535, }, /*低功耗判断延时*/ + {112, DATATYPE_UINT16_T, 10, 0, 65535, }, /*退出低功耗判断延时*/ + {113, DATATYPE_UINT16_T, 180, 0, 65535, }, /*自动复位延时*/ + {114, DATATYPE_UINT16_T, 0, 0, 65535, }, /*DSP看门狗复位使能*/ + {115, DATATYPE_UINT16_T, 5, 1, 15, }, /*分钟冻结周期*/ + {116, DATATYPE_UINT16_T, 0, 0, 3, }, /*报文记录使能*/ + {117, DATATYPE_UINT16_T, 0, 0, 2, }, /*报文记录方向*/ + {118, DATATYPE_UINT16_T, 0, 0, 11, }, /*报文记录端口*/ + {119, DATATYPE_UINT16_T, 0, 0, 1, }, /*错误打印记录使能*/ + {120, DATATYPE_UINT16_T, 1, 0, 1, }, /*绝缘阻值检测使能*/ + {121, DATATYPE_UINT16_T, 0, 0, 1, }, /*风扇控制模式*/ + {122, DATATYPE_UINT16_T, 3, 0, 3, }, /*漏电流模式*/ + {123, DATATYPE_UINT16_T, 20, 0, 65535, }, /*放电起始功率*/ + {124, DATATYPE_UINT16_T, 0, 0, 1, }, /*抗PID使能*/ + {125, DATATYPE_UINT16_T, 120, 30, 1200, }, /*抗PID启动时间*/ + {126, DATATYPE_UINT16_T, 15, 0, 15, }, /*自动清除故障模式*/ + {127, DATATYPE_UINT16_T, 0, 0, 1, }, /*交流载波使能*/ + {128, DATATYPE_UINT16_T, 0, 0, 1, }, /*逆变器控制使能*/ + {129, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {130, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {131, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {132, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {133, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {134, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {135, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {136, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {137, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {138, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {139, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {140, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {141, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {142, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {143, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {144, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {145, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {146, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {147, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {148, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {149, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {150, DATATYPE_UINT16_T, 37851, 0, 65535, }, /*主站IP*/ + {151, DATATYPE_UINT16_T, 15898, 0, 65535, }, /*主站IP*/ + {152, DATATYPE_UINT16_T, 5223, 0, 65535, }, /*主站端口号*/ + {153, DATATYPE_UINT16_T, 10, 0, 65535, }, /*4G交互周期*/ + {154, DATATYPE_UINT16_T, 600, 0, 65535, }, /*4G通信超时阈值*/ + {155, DATATYPE_UINT16_T, 0, 0, 1, }, /*CAN使能*/ + {156, DATATYPE_UINT16_T, 0, 0, 5, }, /*CAN并机ID*/ + {157, DATATYPE_UINT16_T, 0, 0, 5, }, /*CAN并机数量*/ + {158, DATATYPE_UINT16_T, 180, 0, 3600, }, /*通信故障判定时间*/ + {159, DATATYPE_UINT16_T, 1440, 1, 65535, }, /*载波通信超时判断周期*/ + {160, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {161, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {162, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {163, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {164, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {165, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {166, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {167, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {168, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {169, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {170, DATATYPE_UINT16_T, 0, 0, 2, }, /*风扇自动控制因素*/ + {171, DATATYPE_UINT16_T, 95, 0, 100, }, /*手动风扇占空比*/ + {172, DATATYPE_UINT16_T, 35, 10, 50, }, /*风扇启动占空比*/ + {173, DATATYPE_UINT16_T, 100, 51, 100, }, /*风扇最大占空比*/ + {174, DATATYPE_UINT16_T, 45, 10, 150, }, /*风扇启动温度*/ + {175, DATATYPE_UINT16_T, 55, 30, 150, }, /*风扇满速温度*/ + {176, DATATYPE_UINT16_T, 33, 0, 100, }, /*风扇启动功率(额定值%)*/ + {177, DATATYPE_UINT16_T, 67, 0, 100, }, /*风扇满速功率(额定值%)*/ + {178, DATATYPE_UINT16_T, 42016, 1, 65535, }, /*幅值参考预留1*/ + {179, DATATYPE_UINT16_T, 0, 0, 65535, }, /*幅值参考预留2*/ + {180, DATATYPE_UINT16_T, 0, 0, 65535, }, /*幅值参考预留3*/ + {181, DATATYPE_UINT16_T, 0, 0, 65535, }, /*幅值参考预留4*/ + {182, DATATYPE_UINT16_T, 0, 0, 65535, }, /*幅值参考预留5*/ + {183, DATATYPE_UINT16_T, 0, 0, 65535, }, /*幅值参考预留6*/ + {184, DATATYPE_UINT16_T, 0, 0, 65535, }, /*幅值参考预留7*/ + {185, DATATYPE_UINT16_T, 180, 0, 65535, }, /*绝缘阻值故障阈值*/ + {186, DATATYPE_UINT16_T, 1500, 0, 65535, }, /*绝缘检测闭合时间*/ + {187, DATATYPE_UINT16_T, 5000, 0, 65535, }, /*绝缘检测断开时间*/ + {188, DATATYPE_UINT16_T, 2000, 0, 65535, }, /*风扇故障转速阈值*/ + {189, DATATYPE_UINT16_T, 200, 0, 65535, }, /*漏电流故障阈值*/ + {190, DATATYPE_UINT16_T, 110, 0, 65535, }, /*阈值参考预留1*/ + {191, DATATYPE_UINT16_T, 10, 0, 3600, }, /*过温判定时间*/ + {192, DATATYPE_UINT16_T, 60, 0, 3600, }, /*自检超时判定时间*/ + {193, DATATYPE_UINT16_T, 400, 0, 1200, }, /*绝缘检测母线电压阈值*/ + {194, DATATYPE_UINT16_T, 5, 0, 1200, }, /*绝缘检测继电器电压阈值*/ + {195, DATATYPE_UINT16_T, 150, 20, 300, }, /*漏电流3级突变触发阈值*/ +#if defined(PV_INV30) + {196, DATATYPE_UINT16_T, 300, 30, 700, }, /*漏电流缓变动作阈值*/ +#elif defined(PV_INV40) + {196, DATATYPE_UINT16_T, 400, 30, 700, }, /*漏电流缓变动作阈值*/ +#elif defined(PV_INV50) + {196, DATATYPE_UINT16_T, 500, 30, 700, }, /*漏电流缓变动作阈值*/ +#else + {196, DATATYPE_UINT16_T, 0, 0, 0 }, /*漏电流缓变动作阈值*/ +#endif + {197, DATATYPE_UINT16_T, 10, 0, 100, }, /*漏电流缓变时间阈值*/ + {198, DATATYPE_UINT16_T, 60, 20, 300, }, /*漏电流1级突变触发阈值*/ + {199, DATATYPE_UINT16_T, 60, 20, 300, }, /*漏电流2级突变触发阈值*/ +}; + + +bool_t mw_protocol_modbus_check_param_out_of_range(uint16_t us_address, uint16_t us_value) +{ + if(us_address > MAX_VALID_PARAM_ADDRESS) + { + return true; + } + if (DATATYPE_UINT16_T == s_ast_param_range[us_address].datatype) + { + if ((us_value < s_ast_param_range[us_address].min_value) || (us_value > s_ast_param_range[us_address].max_value)) + { + return true; + } + } + else if (DATATYPE_INT16_T == s_ast_param_range[us_address].datatype) + { + if (((int16_t)us_value < s_ast_param_range[us_address].min_value) || ((int16_t)us_value > s_ast_param_range[us_address].max_value)) + { + return true; + } + } + else + { + return true; + } + return false; +} + +uint16_t mw_protocol_modbus_get_param_default_value(uint16_t us_address) +{ + if(us_address > MAX_VALID_PARAM_ADDRESS) + { + return 0; + } + return (uint16_t)s_ast_param_range[us_address].default_value; +} diff --git a/test/PV_Inverter/arm/mw_param_manager_arm_struct.h b/test/PV_Inverter/arm/mw_param_manager_arm_struct.h new file mode 100644 index 0000000..ac25550 --- /dev/null +++ b/test/PV_Inverter/arm/mw_param_manager_arm_struct.h @@ -0,0 +1,502 @@ +/************************************************************************** +* @copyright Copyright (C), 2022, Qingdao Topscomm Communication Co. Ltd. +* @file mw_param_manager_arm_struct.h +* @brief arm参数表 +* @author +* @date 2024-10-26 16:34:50 +* @version +* @details +**************************************************************************/ +#ifndef __MW_PARAM_MANAGER_ARM_STRUCT_H__ +#define __MW_PARAM_MANAGER_ARM_STRUCT_H__ +#include "comm_datatype.h" + +#define APP_TABLE_VERSION 33 //地址表版本 + +typedef struct tag_arm_unrecovery_param_t +{ + uint16_t us_reserve1; /*0 预留*/ + uint16_t aus_mes_code[4]; /*1 设备MES码*/ + uint16_t aus_product_id[3]; /*5 12位出厂编号*/ + uint16_t us_hb_test_result; /*8 板级生产检测结果*/ + uint16_t us_sys_test_result; /*9 工厂整机测试结果*/ + uint16_t aus_hw_cmpnt_num[3]; /*10 硬件组件号*/ + uint16_t us_region_code; /*13 行政区域码*/ + uint16_t us_term_addr; /*14 终端地址*/ + uint16_t us_sci_baudrate; /*15 对外串口波特率*/ + uint16_t us_ac_proto_type; /*16 载波协议类型*/ + uint16_t us_prot645_type; /*17 645协议版本*/ + uint16_t aus_level_0_cipher[2]; /*18 0级密码*/ + uint16_t aus_level_1_cipher[2]; /*20 1级密码*/ + uint16_t aus_level_2_cipher[2]; /*22 2级密码*/ + uint16_t aus_account_num[3]; /*24 户号*/ + uint16_t aus_virtual_plant_num[3]; /*27 虚拟电厂编号*/ + uint16_t us_leak_current_dc_estimate; /*30 漏电流直流偏置AD值*/ + uint16_t us_leak_current_factor; /*31 漏电流校准系数*/ + uint16_t aus_state_grid_addr[6]; /*32 国网地址*/ + uint16_t aus_meter_code_num[6]; /*38 表号(ESAM用)*/ + uint16_t us_leak_current_inter_refer_mA; /*44 漏电流内部参考值*/ + uint16_t aus_reserve2[5]; /*45 预留*/ +}arm_unrecovery_param_t; + +typedef struct tag_arm_comm_cmd_t +{ + uint16_t us_start; /*50 设备开机*/ + uint16_t us_stop; /*51 设备关机*/ + uint16_t us_fault_rst; /*52 故障复位*/ + uint16_t us_unlock_set; /*53 解锁特殊操作*/ + uint16_t us_device_rst; /*54 设备重启*/ + uint16_t us_dsp_selfcheck; /*55 功率单元自检(调试)*/ + uint16_t us_dsp_rst_by_comm; /*56 功率单元重启*/ + uint16_t us_dsp_reboot; /*57 功率单元强制复位*/ + uint16_t us_resume_config; /*58 参数还原*/ + uint16_t us_4g_rst; /*59 复位4G*/ + uint16_t us_dc_carrier_rst; /*60 直流载波复位*/ + uint16_t us_ac_carrier_rst; /*61 交流载波复位*/ + uint16_t us_fault_record_manual; /*62 手动录波*/ + uint16_t us_data_restore_all; /*63 所有记录数据擦除*/ + uint16_t us_wave_record_restore; /*64 录波擦除*/ + uint16_t us_event_restore; /*65 事件擦除*/ + uint16_t us_error_log_restore; /*66 日志记录擦除*/ + uint16_t us_freeze_min_restore; /*67 分钟冻结数据擦除*/ + uint16_t us_freeze_day_restore; /*68 日冻结数据擦除*/ + uint16_t us_freeze_month_restore; /*69 月冻结数据擦除*/ + uint16_t us_freeze_year_restore; /*70 年冻结数据擦除*/ + uint16_t us_comm_frame_restore; /*71 报文记录数据擦除*/ + uint16_t us_operation_restore; /*72 操作记录数据擦除*/ + uint16_t us_power_gen_restore; /*73 电量记录数据擦除*/ + uint16_t elog_print_switch; /*74 打印开关*/ + uint16_t us_leak_current_dc_en; /*75 漏电流校准直流量(按钮)*/ + uint16_t us_leak_current_factor_en; /*76 漏电流校准系数(按钮)*/ + uint16_t us_leak_current_selfcheck_en; /*77 漏电流自检(按钮)*/ + uint16_t us_system_recover; /*78 恢复出厂设置*/ + uint16_t aus_reserve3[21]; /*79 预留*/ +}arm_comm_cmd_t; + +typedef struct tag_arm_devices_set_t +{ + uint16_t us_work_mode_svgc; /*100 工作模式*/ + uint16_t us_work_mode_svg; /*101 补偿模式选择*/ + uint16_t us_poweron_mode; /*102 开机模式*/ + uint16_t us_power_on_delay; /*103 自动开机延时*/ + uint16_t us_power_on_time_en; /*104 定时开关机使能*/ + uint16_t aus_power_on_time[3]; /*105 定时开机时间*/ + uint16_t aus_power_off_time[3]; /*108 定时关机时间*/ + uint16_t us_low_power_judge_delay; /*111 低功耗判断延时*/ + uint16_t us_low_power_judge_delay_quit; /*112 退出低功耗判断延时*/ + uint16_t us_auto_reset_delay; /*113 自动复位延时*/ + uint16_t us_dsp_wd_enable; /*114 DSP看门狗复位使能*/ + uint16_t us_freeze_save_period; /*115 分钟冻结周期*/ + uint16_t us_record_frame_en; /*116 报文记录使能*/ + uint16_t us_record_frame_dir; /*117 报文记录方向*/ + uint16_t us_record_frame_port; /*118 报文记录端口*/ + uint16_t us_record_err_log_en; /*119 错误打印记录使能*/ + uint16_t us_impd_dete_en; /*120 绝缘阻值检测使能*/ + uint16_t us_fan_ctr_mode; /*121 风扇控制模式*/ + uint16_t leak_current_mode; /*122 漏电流模式*/ + uint16_t us_sys_discharge_start_pwr; /*123 放电起始功率*/ + uint16_t us_anti_pid_en; /*124 抗PID使能*/ + uint16_t us_anti_pid_time; /*125 抗PID启动时间*/ + uint16_t us_auto_restore_delay_value; /*126 自动清除故障模式*/ + uint16_t us_plc_enable; /*127 交流载波使能*/ + uint16_t us_control_enable_shanxi; /*128 逆变器控制使能*/ + uint16_t aus_reserve4[21]; /*129 预留*/ +}arm_devices_set_t; + +typedef struct tag_arm_comm_t +{ + uint16_t aus_remote_ip[2]; /*150 主站IP*/ + uint16_t us_remote_port; /*152 主站端口号*/ + uint16_t us_interactive_cycle_4g; /*153 4G交互周期*/ + uint16_t us_gprs_com_over_time; /*154 4G通信超时阈值*/ + uint16_t us_can_enable; /*155 CAN使能*/ + uint16_t us_can_dev_id; /*156 CAN并机ID*/ + uint16_t us_can_parallel_num; /*157 CAN并机数量*/ + uint16_t us_com_over_time; /*158 通信故障判定时间*/ + uint16_t us_plc_check_comm_period_t; /*159 载波通信超时判断周期*/ + uint16_t aus_reserve5[10]; /*160 预留*/ +}arm_comm_t; + +typedef struct tag_arm_devices_limit_param_t +{ + uint16_t us_fan_auto_ctrl_factor; /*170 风扇自动控制因素*/ + uint16_t us_manual_fan_pwm; /*171 手动风扇占空比*/ + uint16_t us_fan_pwm_start; /*172 风扇启动占空比*/ + uint16_t us_fan_pwm_max; /*173 风扇最大占空比*/ + uint16_t us_fan_start_temp; /*174 风扇启动温度*/ + uint16_t us_fan_max_temp; /*175 风扇满速温度*/ + uint16_t us_fan_start_power; /*176 风扇启动功率(额定值%)*/ + uint16_t us_fan_max_power; /*177 风扇满速功率(额定值%)*/ + uint16_t us_reserve_param9_1; /*178 幅值参考预留1*/ + uint16_t us_reserve_param9_2; /*179 幅值参考预留2*/ + uint16_t us_reserve_param9_3; /*180 幅值参考预留3*/ + uint16_t us_reserve_param9_4; /*181 幅值参考预留4*/ + uint16_t us_reserve_param9_5; /*182 幅值参考预留5*/ + uint16_t us_reserve_param9_6; /*183 幅值参考预留6*/ + uint16_t us_reserve_param9_7; /*184 幅值参考预留7*/ +}arm_devices_limit_param_t; + +typedef struct tag_arm_devices_threshold_t +{ + uint16_t us_impd_fault_thrd; /*185 绝缘阻值故障阈值*/ + uint16_t us_impd_detect_close_time; /*186 绝缘检测闭合时间*/ + uint16_t us_impd_detect_open_time; /*187 绝缘检测断开时间*/ + uint16_t us_fan_speed_fault_thrd; /*188 风扇故障转速阈值*/ + uint16_t us_leak_cur_fault_thrd; /*189 漏电流故障阈值*/ + uint16_t us_reserve_param1_1; /*190 阈值参考预留1*/ + uint16_t us_over_temp_time; /*191 过温判定时间*/ + uint16_t us_self_check_time; /*192 自检超时判定时间*/ + uint16_t us_insu_bus_volt_thd; /*193 绝缘检测母线电压阈值*/ + uint16_t us_insu_rly_volt_thd; /*194 绝缘检测继电器电压阈值*/ + uint16_t us_leak_current_L3_mutation_threshold_mA; /*195 漏电流3级突变触发阈值*/ + uint16_t us_leak_current_slow_threshold_mA; /*196 漏电流缓变动作阈值*/ + uint16_t us_leak_current_slow_time_ms; /*197 漏电流缓变时间阈值*/ + uint16_t us_leak_current_L1_mutation_threshold_mA; /*198 漏电流1级突变触发阈值*/ + uint16_t us_leak_current_L2_mutation_threshold_mA; /*199 漏电流2级突变触发阈值*/ +}arm_devices_threshold_t; + +typedef struct tag_arm_devices_data_file_t +{ + uint16_t aus_system_time[6]; /*200 系统时间*/ + uint16_t us_device_type; /*206 设备类型*/ + uint16_t us_device_capacity; /*207 设备容量*/ + uint16_t us_system_run_status; /*208 设备状态*/ + uint16_t us_arm_protocol_version; /*209 ARM地址表协议版本号*/ + uint16_t us_can_comm_status; /*210 CAN并机状态*/ + uint16_t us_can_detection_num; /*211 CAN并机检测数量*/ + uint16_t aus_main_version[2]; /*212 主控程序版本*/ + uint16_t aus_main_boot_version[2]; /*214 主控底层程序版本*/ + uint16_t aus_main_cmpnt_num[3]; /*216 主控程序组件号*/ + uint16_t amain_version_new[16]; /*219 主控程序版本新格式*/ + uint16_t aus_reserve6[15]; /*235 预留*/ +}arm_devices_data_file_t; + +typedef struct tag_arm_comm_ex_device_t +{ + uint16_t aus_ac_carrier_version[3]; /*250 交流载波芯片版本号(年月日版本)*/ + uint16_t aus_dc_carrier_version[3]; /*253 直流载波芯片版本号(年月日版本)*/ + uint16_t aus_reserve7[34]; /*256 预留*/ +}arm_comm_ex_device_t; + +typedef struct tag_arm_fault_code_t +{ + uint16_t us_arm_fault_code1; /*290 ARM故障1*/ + uint16_t us_arm_fault_code2; /*291 ARM故障2*/ + uint16_t us_arm_fault_code3; /*292 ARM故障3*/ + uint16_t us_arm_alarm_code1; /*293 ARM告警1*/ + uint16_t us_arm_alarm_code2; /*294 ARM告警2*/ + uint16_t aus_reserve8[5]; /*295 预留*/ +}arm_fault_code_t; + +typedef struct tag_arm_data_hardware_t +{ + int16_t sh_temp1; /*300 腔体1温度*/ + int16_t sh_temp2; /*301 腔体2温度*/ + int16_t sh_temp3; /*302 散热片温度*/ + int16_t sh_temp_reserve1; /*303 预留测温1*/ + uint16_t us_inside_fan1_spd; /*304 内部风扇转速1*/ + uint16_t us_outside_fan1_spd; /*305 外部风扇转速1*/ + uint16_t us_outside_fan2_spd; /*306 外部风扇转速2*/ + uint16_t us_impd_val_on; /*307 绝缘继电器闭合电压*/ + uint16_t us_impd_val_off; /*308 绝缘继电器断开电压*/ + int16_t us_impd_res_val; /*309 绝缘检测阻值*/ + uint16_t us_ac_leak_cur_rms; /*310 交流漏电流有效值*/ + uint16_t us_pid_relay_stat; /*311 PID继电器状态*/ + int16_t us_impd_res_val_2; /*312 绝缘检测阻值2*/ + uint16_t us_leak_cur_ad; /*313 漏电流AD值*/ + int16_t us_prevent_inv_curr_a; /*314 防逆变电流A相*/ + int16_t us_prevent_inv_curr_b; /*315 防逆变电流B相*/ + int16_t us_prevent_inv_curr_c; /*316 防逆变电流C相*/ + uint16_t us_inside_fan2_spd; /*317 内部风扇转速2*/ + uint16_t us_outside_fan3_spd; /*318 外部风扇转速3*/ + uint16_t us_out_leak_cur_rms; /*319 外部漏电流有效值*/ + uint16_t aus_reserve9[10]; /*320 预留*/ +}arm_data_hardware_t; + +typedef struct tag_arm_thd_data_t +{ + uint16_t us_THD_grid_voltage_a; /*330 网侧电压THD_A*/ + uint16_t us_THD_grid_voltage_b; /*331 网侧电压THD_B*/ + uint16_t us_THD_grid_voltage_c; /*332 网侧电压THD_C*/ + uint16_t us_THD_grid_current_a; /*333 网侧电流THD_A*/ + uint16_t us_THD_grid_current_b; /*334 网侧电流THD_B*/ + uint16_t us_THD_grid_current_c; /*335 网侧电流THD_C*/ + uint16_t us_THD_load_current_a; /*336 负载电流THD_A*/ + uint16_t us_THD_load_current_b; /*337 负载电流THD_B*/ + uint16_t us_THD_load_current_c; /*338 负载电流THD_C*/ + uint16_t aus_THD_harm_grid_voltage_a[50]; /*339 网侧电压谐波THD A相*/ + uint16_t aus_THD_harm_grid_voltage_b[50]; /*389 网侧电压谐波THD B相*/ + uint16_t aus_THD_harm_grid_voltage_c[50]; /*439 网侧电压谐波THD C相*/ + uint16_t aus_THD_harm_device_current_a[50]; /*489 交流电流谐波THD A相*/ + uint16_t aus_THD_harm_device_current_b[50]; /*539 交流电流谐波THD B相*/ + uint16_t aus_THD_harm_device_current_c[50]; /*589 交流电流谐波THD C相*/ + uint16_t aus_reserve10[61]; /*639 预留*/ +}arm_thd_data_t; + +typedef struct tag_arm_devices_state_data_t +{ + uint16_t us_arm_logic_label; /*700 ARM逻辑状态*/ + uint16_t us_arm_run_state; /*701 ARM运行状态*/ + uint16_t us_dsp_run_state; /*702 DSP运行状态*/ + uint16_t us_data_reserve2; /*703 预留数据1_2*/ + uint16_t us_data_reserve3; /*704 预留数据1_3*/ + uint16_t aus_reserve11[5]; /*705 预留*/ +}arm_devices_state_data_t; + +typedef struct tag_arm_record_data_t +{ + uint16_t aus_power_gen_total[2]; /*710 累计发电量*/ + uint16_t aus_power_cons_total[2]; /*712 累计耗电量*/ + uint16_t aus_power_gen_year[2]; /*714 年发电量*/ + uint16_t aus_power_cons_year[2]; /*716 年耗电量*/ + uint16_t aus_power_gen_month[2]; /*718 月发电量*/ + uint16_t aus_power_cons_month[2]; /*720 月耗电量*/ + uint16_t aus_power_gen_day[2]; /*722 日发电量*/ + uint16_t aus_power_cons_day[2]; /*724 日耗电量*/ + uint16_t aus_runtime_total[2]; /*726 总并网运行时间*/ + uint16_t aus_reserve12[2]; /*728 预留*/ +}arm_record_data_t; + + +typedef struct tag_arm_config_param_t +{ + arm_devices_set_t st_arm_devices_set; + arm_comm_t st_arm_comm; + arm_devices_limit_param_t st_arm_devices_limit_param; + arm_devices_threshold_t st_arm_devices_threshold; +}arm_config_param_t; + +typedef struct tag_arm_monitor_params_t +{ + arm_devices_data_file_t st_arm_devices_data_file; + arm_comm_ex_device_t st_arm_comm_ex_device; + arm_fault_code_t st_arm_fault_code; + arm_data_hardware_t st_arm_data_hardware; + arm_thd_data_t st_arm_thd_data; + arm_devices_state_data_t st_arm_devices_state_data; + arm_record_data_t st_arm_record_data; +}arm_monitor_params_t; + +typedef struct tag_arm_comm_params_t +{ + arm_unrecovery_param_t st_arm_unrecovery_param; + arm_comm_cmd_t st_arm_cmd; + arm_config_param_t st_config_param; + arm_monitor_params_t st_monitor_params; +}arm_comm_params_t; + +/*参数地址宏定义*/ +//arm_unrecovery_param_t +#define ARM_MES_CODE_PARAM_ADDR 1 /*设备MES码*/ +#define ARM_PRODUCT_ID_PARAM_ADDR 5 /*12位出厂编号*/ +#define ARM_HB_TEST_RESULT_PARAM_ADDR 8 /*板级生产检测结果*/ +#define ARM_SYS_TEST_RESULT_PARAM_ADDR 9 /*工厂整机测试结果*/ +#define ARM_HW_CMPNT_NUM_PARAM_ADDR 10 /*硬件组件号*/ +#define ARM_REGION_CODE_PARAM_ADDR 13 /*行政区域码*/ +#define ARM_TERM_ADDR_PARAM_ADDR 14 /*终端地址*/ +#define ARM_SCI_BAUDRATE_PARAM_ADDR 15 /*对外串口波特率*/ +#define ARM_AC_PROTO_TYPE_PARAM_ADDR 16 /*载波协议类型*/ +#define ARM_PROT645_TYPE_PARAM_ADDR 17 /*645协议版本*/ +#define ARM_LEVEL_0_CIPHER_PARAM_ADDR 18 /*0级密码*/ +#define ARM_LEVEL_1_CIPHER_PARAM_ADDR 20 /*1级密码*/ +#define ARM_LEVEL_2_CIPHER_PARAM_ADDR 22 /*2级密码*/ +#define ARM_ACCOUNT_NUM_PARAM_ADDR 24 /*户号*/ +#define ARM_VIRTUAL_PLANT_NUM_PARAM_ADDR 27 /*虚拟电厂编号*/ +#define ARM_LEAK_CURRENT_DC_ESTIMATE_PARAM_ADDR 30 /*漏电流直流偏置AD值*/ +#define ARM_LEAK_CURRENT_FACTOR_PARAM_ADDR 31 /*漏电流校准系数*/ +#define ARM_STATE_GRID_ADDR_PARAM_ADDR 32 /*国网地址*/ +#define ARM_METER_CODE_NUM_PARAM_ADDR 38 /*表号(ESAM用)*/ +#define ARM_LEAK_CURRENT_INTER_REFER_MA_PARAM_ADDR 44 /*漏电流内部参考值*/ +//arm_comm_cmd_t +#define ARM_START_PARAM_ADDR 50 /*设备开机*/ +#define ARM_STOP_PARAM_ADDR 51 /*设备关机*/ +#define ARM_FAULT_RST_PARAM_ADDR 52 /*故障复位*/ +#define ARM_UNLOCK_SET_PARAM_ADDR 53 /*解锁特殊操作*/ +#define ARM_DEVICE_RST_PARAM_ADDR 54 /*设备重启*/ +#define ARM_DSP_SELFCHECK_PARAM_ADDR 55 /*功率单元自检(调试)*/ +#define ARM_DSP_RST_BY_COMM_PARAM_ADDR 56 /*功率单元重启*/ +#define ARM_DSP_REBOOT_PARAM_ADDR 57 /*功率单元强制复位*/ +#define ARM_RESUME_CONFIG_PARAM_ADDR 58 /*参数还原*/ +#define ARM_4G_RST_PARAM_ADDR 59 /*复位4G*/ +#define ARM_DC_CARRIER_RST_PARAM_ADDR 60 /*直流载波复位*/ +#define ARM_AC_CARRIER_RST_PARAM_ADDR 61 /*交流载波复位*/ +#define ARM_FAULT_RECORD_MANUAL_PARAM_ADDR 62 /*手动录波*/ +#define ARM_DATA_RESTORE_ALL_PARAM_ADDR 63 /*所有记录数据擦除*/ +#define ARM_WAVE_RECORD_RESTORE_PARAM_ADDR 64 /*录波擦除*/ +#define ARM_EVENT_RESTORE_PARAM_ADDR 65 /*事件擦除*/ +#define ARM_ERROR_LOG_RESTORE_PARAM_ADDR 66 /*日志记录擦除*/ +#define ARM_FREEZE_MIN_RESTORE_PARAM_ADDR 67 /*分钟冻结数据擦除*/ +#define ARM_FREEZE_DAY_RESTORE_PARAM_ADDR 68 /*日冻结数据擦除*/ +#define ARM_FREEZE_MONTH_RESTORE_PARAM_ADDR 69 /*月冻结数据擦除*/ +#define ARM_FREEZE_YEAR_RESTORE_PARAM_ADDR 70 /*年冻结数据擦除*/ +#define ARM_COMM_FRAME_RESTORE_PARAM_ADDR 71 /*报文记录数据擦除*/ +#define ARM_OPERATION_RESTORE_PARAM_ADDR 72 /*操作记录数据擦除*/ +#define ARM_POWER_GEN_RESTORE_PARAM_ADDR 73 /*电量记录数据擦除*/ +#define ARM_G_PRINT_SWITCH_PARAM_ADDR 74 /*打印开关*/ +#define ARM_LEAK_CURRENT_DC_EN_PARAM_ADDR 75 /*漏电流校准直流量(按钮)*/ +#define ARM_LEAK_CURRENT_FACTOR_EN_PARAM_ADDR 76 /*漏电流校准系数(按钮)*/ +#define ARM_LEAK_CURRENT_SELFCHECK_EN_PARAM_ADDR 77 /*漏电流自检(按钮)*/ +#define ARM_SYSTEM_RECOVER_PARAM_ADDR 78 /*恢复出厂设置*/ +//arm_devices_set_t +#define ARM_WORK_MODE_SVGC_PARAM_ADDR 100 /*工作模式*/ +#define ARM_WORK_MODE_SVG_PARAM_ADDR 101 /*补偿模式选择*/ +#define ARM_POWERON_MODE_PARAM_ADDR 102 /*开机模式*/ +#define ARM_POWER_ON_DELAY_PARAM_ADDR 103 /*自动开机延时*/ +#define ARM_POWER_ON_TIME_EN_PARAM_ADDR 104 /*定时开关机使能*/ +#define ARM_POWER_ON_TIME_PARAM_ADDR 105 /*定时开机时间*/ +#define ARM_POWER_OFF_TIME_PARAM_ADDR 108 /*定时关机时间*/ +#define ARM_LOW_POWER_JUDGE_DELAY_PARAM_ADDR 111 /*低功耗判断延时*/ +#define ARM_LOW_POWER_JUDGE_DELAY_QUIT_PARAM_ADDR 112 /*退出低功耗判断延时*/ +#define ARM_AUTO_RESET_DELAY_PARAM_ADDR 113 /*自动复位延时*/ +#define ARM_DSP_WD_ENABLE_PARAM_ADDR 114 /*DSP看门狗复位使能*/ +#define ARM_FREEZE_SAVE_PERIOD_PARAM_ADDR 115 /*分钟冻结周期*/ +#define ARM_RECORD_FRAME_EN_PARAM_ADDR 116 /*报文记录使能*/ +#define ARM_RECORD_FRAME_DIR_PARAM_ADDR 117 /*报文记录方向*/ +#define ARM_RECORD_FRAME_PORT_PARAM_ADDR 118 /*报文记录端口*/ +#define ARM_RECORD_ERR_LOG_EN_PARAM_ADDR 119 /*错误打印记录使能*/ +#define ARM_IMPD_DETE_EN_PARAM_ADDR 120 /*绝缘阻值检测使能*/ +#define ARM_FAN_CTR_MODE_PARAM_ADDR 121 /*风扇控制模式*/ +#define ARM_K_CURRENT_MODE_PARAM_ADDR 122 /*漏电流模式*/ +#define ARM_SYS_DISCHARGE_START_PWR_PARAM_ADDR 123 /*放电起始功率*/ +#define ARM_ANTI_PID_EN_PARAM_ADDR 124 /*抗PID使能*/ +#define ARM_ANTI_PID_TIME_PARAM_ADDR 125 /*抗PID启动时间*/ +#define ARM_AUTO_RESTORE_DELAY_VALUE_PARAM_ADDR 126 /*自动清除故障模式*/ +#define ARM_PLC_ENABLE_PARAM_ADDR 127 /*交流载波使能*/ +#define ARM_CONTROL_ENABLE_SHANXI_PARAM_ADDR 128 /*逆变器控制使能*/ +//arm_comm_t +#define ARM_REMOTE_IP_PARAM_ADDR 150 /*主站IP*/ +#define ARM_REMOTE_PORT_PARAM_ADDR 152 /*主站端口号*/ +#define ARM_INTERACTIVE_CYCLE_4G_PARAM_ADDR 153 /*4G交互周期*/ +#define ARM_GPRS_COM_OVER_TIME_PARAM_ADDR 154 /*4G通信超时阈值*/ +#define ARM_CAN_ENABLE_PARAM_ADDR 155 /*CAN使能*/ +#define ARM_CAN_DEV_ID_PARAM_ADDR 156 /*CAN并机ID*/ +#define ARM_CAN_PARALLEL_NUM_PARAM_ADDR 157 /*CAN并机数量*/ +#define ARM_COM_OVER_TIME_PARAM_ADDR 158 /*通信故障判定时间*/ +#define ARM_PLC_CHECK_COMM_PERIOD_T_PARAM_ADDR 159 /*载波通信超时判断周期*/ +//arm_devices_limit_param_t +#define ARM_FAN_AUTO_CTRL_FACTOR_PARAM_ADDR 170 /*风扇自动控制因素*/ +#define ARM_MANUAL_FAN_PWM_PARAM_ADDR 171 /*手动风扇占空比*/ +#define ARM_FAN_PWM_START_PARAM_ADDR 172 /*风扇启动占空比*/ +#define ARM_FAN_PWM_MAX_PARAM_ADDR 173 /*风扇最大占空比*/ +#define ARM_FAN_START_TEMP_PARAM_ADDR 174 /*风扇启动温度*/ +#define ARM_FAN_MAX_TEMP_PARAM_ADDR 175 /*风扇满速温度*/ +#define ARM_FAN_START_POWER_PARAM_ADDR 176 /*风扇启动功率(额定值%)*/ +#define ARM_FAN_MAX_POWER_PARAM_ADDR 177 /*风扇满速功率(额定值%)*/ +#define ARM_RESERVE_PARAM9_1_PARAM_ADDR 178 /*幅值参考预留1*/ +#define ARM_RESERVE_PARAM9_2_PARAM_ADDR 179 /*幅值参考预留2*/ +#define ARM_RESERVE_PARAM9_3_PARAM_ADDR 180 /*幅值参考预留3*/ +#define ARM_RESERVE_PARAM9_4_PARAM_ADDR 181 /*幅值参考预留4*/ +#define ARM_RESERVE_PARAM9_5_PARAM_ADDR 182 /*幅值参考预留5*/ +#define ARM_RESERVE_PARAM9_6_PARAM_ADDR 183 /*幅值参考预留6*/ +#define ARM_RESERVE_PARAM9_7_PARAM_ADDR 184 /*幅值参考预留7*/ +//arm_devices_threshold_t +#define ARM_IMPD_FAULT_THRD_PARAM_ADDR 185 /*绝缘阻值故障阈值*/ +#define ARM_IMPD_DETECT_CLOSE_TIME_PARAM_ADDR 186 /*绝缘检测闭合时间*/ +#define ARM_IMPD_DETECT_OPEN_TIME_PARAM_ADDR 187 /*绝缘检测断开时间*/ +#define ARM_FAN_SPEED_FAULT_THRD_PARAM_ADDR 188 /*风扇故障转速阈值*/ +#define ARM_LEAK_CUR_FAULT_THRD_PARAM_ADDR 189 /*漏电流故障阈值*/ +#define ARM_RESERVE_PARAM1_1_PARAM_ADDR 190 /*阈值参考预留1*/ +#define ARM_OVER_TEMP_TIME_PARAM_ADDR 191 /*过温判定时间*/ +#define ARM_SELF_CHECK_TIME_PARAM_ADDR 192 /*自检超时判定时间*/ +#define ARM_INSU_BUS_VOLT_THD_PARAM_ADDR 193 /*绝缘检测母线电压阈值*/ +#define ARM_INSU_RLY_VOLT_THD_PARAM_ADDR 194 /*绝缘检测继电器电压阈值*/ +#define ARM_LEAK_CURRENT_L3_MUTATION_THRESHOLD_MA_PARAM_ADDR 195 /*漏电流3级突变触发阈值*/ +#define ARM_LEAK_CURRENT_SLOW_THRESHOLD_MA_PARAM_ADDR 196 /*漏电流缓变动作阈值*/ +#define ARM_LEAK_CURRENT_SLOW_TIME_MS_PARAM_ADDR 197 /*漏电流缓变时间阈值*/ +#define ARM_LEAK_CURRENT_L1_MUTATION_THRESHOLD_MA_PARAM_ADDR 198 /*漏电流1级突变触发阈值*/ +#define ARM_LEAK_CURRENT_L2_MUTATION_THRESHOLD_MA_PARAM_ADDR 199 /*漏电流2级突变触发阈值*/ +//arm_devices_data_file_t +#define ARM_SYSTEM_TIME_PARAM_ADDR 200 /*系统时间*/ +#define ARM_DEVICE_TYPE_PARAM_ADDR 206 /*设备类型*/ +#define ARM_DEVICE_CAPACITY_PARAM_ADDR 207 /*设备容量*/ +#define ARM_SYSTEM_RUN_STATUS_PARAM_ADDR 208 /*设备状态*/ +#define ARM_ARM_PROTOCOL_VERSION_PARAM_ADDR 209 /*ARM地址表协议版本号*/ +#define ARM_CAN_COMM_STATUS_PARAM_ADDR 210 /*CAN并机状态*/ +#define ARM_CAN_DETECTION_NUM_PARAM_ADDR 211 /*CAN并机检测数量*/ +#define ARM_MAIN_VERSION_PARAM_ADDR 212 /*主控程序版本*/ +#define ARM_MAIN_BOOT_VERSION_PARAM_ADDR 214 /*主控底层程序版本*/ +#define ARM_MAIN_CMPNT_NUM_PARAM_ADDR 216 /*主控程序组件号*/ +#define ARM_N_VERSION_NEW_PARAM_ADDR 219 /*主控程序版本新格式*/ +//arm_comm_ex_device_t +#define ARM_AC_CARRIER_VERSION_PARAM_ADDR 250 /*交流载波芯片版本号(年月日版本)*/ +#define ARM_DC_CARRIER_VERSION_PARAM_ADDR 253 /*直流载波芯片版本号(年月日版本)*/ +//arm_fault_code_t +#define ARM_ARM_FAULT_CODE1_PARAM_ADDR 290 /*ARM故障1*/ +#define ARM_ARM_FAULT_CODE2_PARAM_ADDR 291 /*ARM故障2*/ +#define ARM_ARM_FAULT_CODE3_PARAM_ADDR 292 /*ARM故障3*/ +#define ARM_ARM_ALARM_CODE1_PARAM_ADDR 293 /*ARM告警1*/ +#define ARM_ARM_ALARM_CODE2_PARAM_ADDR 294 /*ARM告警2*/ +//arm_data_hardware_t +#define ARM_TEMP1_PARAM_ADDR 300 /*腔体1温度*/ +#define ARM_TEMP2_PARAM_ADDR 301 /*腔体2温度*/ +#define ARM_TEMP3_PARAM_ADDR 302 /*散热片温度*/ +#define ARM_TEMP_RESERVE1_PARAM_ADDR 303 /*预留测温1*/ +#define ARM_INSIDE_FAN1_SPD_PARAM_ADDR 304 /*内部风扇转速1*/ +#define ARM_OUTSIDE_FAN1_SPD_PARAM_ADDR 305 /*外部风扇转速1*/ +#define ARM_OUTSIDE_FAN2_SPD_PARAM_ADDR 306 /*外部风扇转速2*/ +#define ARM_IMPD_VAL_ON_PARAM_ADDR 307 /*绝缘继电器闭合电压*/ +#define ARM_IMPD_VAL_OFF_PARAM_ADDR 308 /*绝缘继电器断开电压*/ +#define ARM_IMPD_RES_VAL_PARAM_ADDR 309 /*绝缘检测阻值*/ +#define ARM_AC_LEAK_CUR_RMS_PARAM_ADDR 310 /*交流漏电流有效值*/ +#define ARM_PID_RELAY_STAT_PARAM_ADDR 311 /*PID继电器状态*/ +#define ARM_IMPD_RES_VAL_2_PARAM_ADDR 312 /*绝缘检测阻值2*/ +#define ARM_LEAK_CUR_AD_PARAM_ADDR 313 /*漏电流AD值*/ +#define ARM_PREVENT_INV_CURR_A_PARAM_ADDR 314 /*防逆变电流A相*/ +#define ARM_PREVENT_INV_CURR_B_PARAM_ADDR 315 /*防逆变电流B相*/ +#define ARM_PREVENT_INV_CURR_C_PARAM_ADDR 316 /*防逆变电流C相*/ +#define ARM_INSIDE_FAN2_SPD_PARAM_ADDR 317 /*内部风扇转速2*/ +#define ARM_OUTSIDE_FAN3_SPD_PARAM_ADDR 318 /*外部风扇转速3*/ +#define ARM_OUT_LEAK_CUR_RMS_PARAM_ADDR 319 /*外部漏电流有效值*/ +//arm_thd_data_t +#define ARM_THD_GRID_VOLTAGE_A_PARAM_ADDR 330 /*网侧电压THD_A*/ +#define ARM_THD_GRID_VOLTAGE_B_PARAM_ADDR 331 /*网侧电压THD_B*/ +#define ARM_THD_GRID_VOLTAGE_C_PARAM_ADDR 332 /*网侧电压THD_C*/ +#define ARM_THD_GRID_CURRENT_A_PARAM_ADDR 333 /*网侧电流THD_A*/ +#define ARM_THD_GRID_CURRENT_B_PARAM_ADDR 334 /*网侧电流THD_B*/ +#define ARM_THD_GRID_CURRENT_C_PARAM_ADDR 335 /*网侧电流THD_C*/ +#define ARM_THD_LOAD_CURRENT_A_PARAM_ADDR 336 /*负载电流THD_A*/ +#define ARM_THD_LOAD_CURRENT_B_PARAM_ADDR 337 /*负载电流THD_B*/ +#define ARM_THD_LOAD_CURRENT_C_PARAM_ADDR 338 /*负载电流THD_C*/ +#define ARM_THD_HARM_GRID_VOLTAGE_A_PARAM_ADDR 339 /*网侧电压谐波THD A相*/ +#define ARM_THD_HARM_GRID_VOLTAGE_B_PARAM_ADDR 389 /*网侧电压谐波THD B相*/ +#define ARM_THD_HARM_GRID_VOLTAGE_C_PARAM_ADDR 439 /*网侧电压谐波THD C相*/ +#define ARM_THD_HARM_DEVICE_CURRENT_A_PARAM_ADDR 489 /*交流电流谐波THD A相*/ +#define ARM_THD_HARM_DEVICE_CURRENT_B_PARAM_ADDR 539 /*交流电流谐波THD B相*/ +#define ARM_THD_HARM_DEVICE_CURRENT_C_PARAM_ADDR 589 /*交流电流谐波THD C相*/ +//arm_devices_state_data_t +#define ARM_ARM_LOGIC_LABEL_PARAM_ADDR 700 /*ARM逻辑状态*/ +#define ARM_ARM_RUN_STATE_PARAM_ADDR 701 /*ARM运行状态*/ +#define ARM_DSP_RUN_STATE_PARAM_ADDR 702 /*DSP运行状态*/ +#define ARM_DATA_RESERVE2_PARAM_ADDR 703 /*预留数据1_2*/ +#define ARM_DATA_RESERVE3_PARAM_ADDR 704 /*预留数据1_3*/ +//arm_record_data_t +#define ARM_POWER_GEN_TOTAL_PARAM_ADDR 710 /*累计发电量*/ +#define ARM_POWER_CONS_TOTAL_PARAM_ADDR 712 /*累计耗电量*/ +#define ARM_POWER_GEN_YEAR_PARAM_ADDR 714 /*年发电量*/ +#define ARM_POWER_CONS_YEAR_PARAM_ADDR 716 /*年耗电量*/ +#define ARM_POWER_GEN_MONTH_PARAM_ADDR 718 /*月发电量*/ +#define ARM_POWER_CONS_MONTH_PARAM_ADDR 720 /*月耗电量*/ +#define ARM_POWER_GEN_DAY_PARAM_ADDR 722 /*日发电量*/ +#define ARM_POWER_CONS_DAY_PARAM_ADDR 724 /*日耗电量*/ +#define ARM_RUNTIME_TOTAL_PARAM_ADDR 726 /*总并网运行时间*/ + + +typedef struct tag_modbus_param_value_info_t +{ + uint16_t address; + uint16_t datatype; /*0:uint16_t 1:int16_t*/ + int32_t default_value; + int32_t min_value; + int32_t max_value; +}modbus_param_value_info_t; + +#define MAX_VALID_PARAM_ADDRESS 199 +#define DATATYPE_UINT16_T 0 +#define DATATYPE_INT16_T 1 +bool_t mw_protocol_modbus_check_param_out_of_range(uint16_t us_address, uint16_t us_value); + + +uint16_t mw_protocol_modbus_get_param_default_value(uint16_t us_address); + + +#endif /* __MW_PARAM_MANAGER_ARM_STRUCT_H__ */ diff --git a/test/PV_Inverter/arm/mw_param_manager_dsp_struct.h b/test/PV_Inverter/arm/mw_param_manager_dsp_struct.h new file mode 100644 index 0000000..1538d92 --- /dev/null +++ b/test/PV_Inverter/arm/mw_param_manager_dsp_struct.h @@ -0,0 +1,1105 @@ +/************************************************************************** +* @copyright Copyright (C), 2022, Qingdao Topscomm Communication Co. Ltd. +* @file mw_param_manager_dsp_struct.h +* @brief dsp参数表 +* @author +* @date 2024-10-26 16:34:50 +* @version +* @details +**************************************************************************/ +#ifndef __MW_PARAM_MANAGER_DSP_STRUCT_H__ +#define __MW_PARAM_MANAGER_DSP_STRUCT_H__ +#include "comm_datatype.h" + +typedef struct tag_dsp_unrecovery_param_t +{ + uint16_t us_grd_A_volt_calib_coff; /*0 A相采样校准a(网侧交流电压采样)*/ + int16_t us_grd_A_volt_calib_bias; /*1 A相采样校准b(网侧交流电压采样)*/ + uint16_t us_grd_B_volt_calib_coff; /*2 B相采样校准a(网侧交流电压采样)*/ + int16_t us_grd_B_volt_calib_bias; /*3 B相采样校准b(网侧交流电压采样)*/ + uint16_t us_grd_C_volt_calib_coff; /*4 C相采样校准a(网侧交流电压采样)*/ + int16_t us_grd_C_volt_calib_bias; /*5 C相采样校准b(网侧交流电压采样)*/ + uint16_t us_inv_A_cur_calib_coff; /*6 A相采样校准a(逆变侧电感电流)*/ + int16_t us_inv_A_cur_calib_bias; /*7 A相采样校准b(逆变侧电感电流)*/ + int16_t us_inv_A_cur_phase_offset; /*8 A相逆变电流相位偏移量*/ + uint16_t us_inv_B_cur_calib_coff; /*9 B相采样校准a(逆变侧电感电流)*/ + int16_t us_inv_B_cur_calib_bias; /*10 B相采样校准b(逆变侧电感电流)*/ + int16_t us_inv_B_cur_phase_offset; /*11 B相逆变电流相位偏移量*/ + uint16_t us_inv_C_cur_calib_coff; /*12 C相采样校准a(逆变侧电感电流)*/ + int16_t us_inv_C_cur_calib_bias; /*13 C相采样校准b(逆变侧电感电流)*/ + int16_t us_inv_C_cur_phase_offset; /*14 C相逆变电流相位偏移量*/ + uint16_t us_cap_A_cur_calib_coff; /*15 A相LCL电容电流系数*/ + int16_t us_cap_A_cur_phase_offset; /*16 A相LCL电容电流相位偏移量*/ + uint16_t us_cap_B_cur_calib_coff; /*17 B相LCL电容电流系数*/ + int16_t us_cap_B_cur_phase_offset; /*18 B相LCL电容电流相位偏移量*/ + uint16_t us_cap_C_cur_calib_coff; /*19 C相LCL电容电流系数*/ + int16_t us_cap_C_cur_phase_offset; /*20 C相LCL电容电流相位偏移量*/ + uint16_t us_bst1_cur_calib_coff; /*21 采样校准a(BOOST1电感电流)*/ + int16_t us_bst1_cur_calib_bias; /*22 采样校准b(BOOST1电感电流)*/ + uint16_t us_bst2_cur_calib_coff; /*23 采样校准a(BOOST2电感电流)*/ + int16_t us_bst2_cur_calib_bias; /*24 采样校准b(BOOST2电感电流)*/ + uint16_t us_bst3_cur_calib_coff; /*25 采样校准a(BOOST3电感电流)*/ + int16_t us_bst3_cur_calib_bias; /*26 采样校准b(BOOST3电感电流)*/ + uint16_t us_bst4_cur_calib_coff; /*27 采样校准a(BOOST4电感电流)*/ + int16_t us_bst4_cur_calib_bias; /*28 采样校准b(BOOST4电感电流)*/ + uint16_t us_pv1_volt_calib_coff; /*29 采样校准a支路1(输入电压)*/ + int16_t us_pv1_volt_calib_bias; /*30 采样校准b支路1(输入电压)*/ + uint16_t us_pv2_volt_calib_coff; /*31 采样校准a支路2(输入电压)*/ + int16_t us_pv2_volt_calib_bias; /*32 采样校准b支路2(输入电压)*/ + uint16_t us_pv3_volt_calib_coff; /*33 采样校准a支路3(输入电压)*/ + int16_t us_pv3_volt_calib_bias; /*34 采样校准b支路3(输入电压)*/ + uint16_t us_pv4_volt_calib_coff; /*35 采样校准a支路4(输入电压)*/ + int16_t us_pv4_volt_calib_bias; /*36 采样校准b支路4(输入电压)*/ + uint16_t us_tmpr_calib_coff; /*37 采样校准a(温度补偿)*/ + int16_t us_tmpr_calib_bias; /*38 采样校准b(温度补偿)*/ + uint16_t aus_reserve1[12]; /*39 预留*/ +}dsp_unrecovery_param_t; + +typedef struct tag_dsp_command_t +{ + uint16_t us_start; /*51 开机*/ + uint16_t us_stop; /*52 关机*/ + uint16_t us_rst; /*53 故障复位*/ + uint16_t us_reboot; /*54 芯片复位重启*/ + uint16_t us_slf_chk; /*55 功率单元自检(调试)*/ + uint16_t us_resume_config; /*56 参数还原*/ + uint16_t us_over_temp_flag; /*57 过温限功率标志*/ + uint16_t aus_reserve2[43]; /*58 预留*/ +}dsp_command_t; + +typedef struct tag_dsp_devices_set_t +{ + uint16_t us_work_en; /*101 工作使能*/ + uint16_t us_anti_islanding_en; /*102 孤岛检测使能*/ + uint16_t us_lvrt_en; /*103 LVRT使能*/ + uint16_t us_hvrt_en; /*104 HVRT使能*/ + uint16_t us_mppt_en; /*105 MPPT使能*/ + uint16_t us_insult_rstr_en; /*106 老化测试使能*/ + uint16_t us_neg_seq_run_en; /*107 相序异常运行使能*/ + uint16_t us_reserve_param1_3; /*108 预留参数1_3*/ + uint16_t us_dc_start_TH; /*109 直流输入电压开机阈值*/ + uint16_t us_dc_stop_TH; /*110 直流输入电压关机阈值*/ + uint16_t us_pwr_output_lmt; /*111 最大输出功率限值*/ + uint16_t us_pwr_rate_lmt; /*112 功率变化率上限*/ + uint16_t us_rctv_pwr_ctr_mode; /*113 无功生成模式*/ + int16_t sh_rctv_pwr_ref; /*114 恒无功控制给定所需的无功功率*/ + int16_t sh_pf_ref; /*115 恒功率因数控制给定所需的功率因数*/ + uint16_t us_grd_volt_ref; /*116 恒电网电压控制给定目标电网电压*/ + uint16_t us_reserve_param1_5; /*117 预留参数1_5*/ + uint16_t us_reserve_param1_6; /*118 预留参数1_6*/ + uint16_t us_reserve_param1_7; /*119 预留参数1_7*/ + uint16_t us_reserve_param1_8; /*120 预留参数1_8*/ + uint16_t us_mult_peak_en; /*121 多峰扫描使能*/ + uint16_t us_mult_peak_time_step; /*122 多峰扫描时间间隔*/ + uint16_t us_pwr_freq_ctr_rate; /*123 频率-有功控制斜率*/ + uint16_t us_grd_rcvr_time; /*124 电网恢复等待时间*/ + uint16_t us_island_rspns_time_lmt; /*125 孤岛响应时间上限*/ + uint16_t us_reserve_param1_9; /*126 预留参数1_9*/ + uint16_t us_mppt_min_volt_step; /*127 MPPT最小扰动步长*/ + uint16_t us_stop_sta_bus_bal_en; /*128 待机母线均压使能*/ + uint16_t us_stop_time_lmt; /*129 关机上限时间*/ + uint16_t us_start_volt_up_lmt; /*130 开机电压上限*/ + uint16_t us_mppt_volt_up_lmt; /*131 追踪电压上限*/ + uint16_t us_low_volt_pwr_lmt_en; /*132 低压降额使能*/ + uint16_t us_high_volt_pwr_lmt_en; /*133 过压降额使能*/ + uint16_t us_single_input_mode; /*134 共用一路输入模式*/ + uint16_t us_fault_mode; /*135 故障模式*/ + uint16_t us_reserve_param1_10; /*136 预留参数1_10*/ + uint16_t us_pv1_mode; /*137 PV1连接关系*/ + uint16_t us_pv2_mode; /*138 PV2连接关系*/ + uint16_t us_pv3_mode; /*139 PV3连接关系*/ + uint16_t us_pv4_mode; /*140 PV4连接关系*/ + uint16_t us_mppt_distb_en; /*141 MPPT波动处理逻辑使能*/ + uint16_t us_act_pwr_auto_en; /*142 有功功率自动调整*/ + int16_t sh_rctv_pwr_comp; /*143 无功补偿量*/ + uint16_t us_rctv_ctr_en; /*144 无功闭环补偿使能*/ + uint16_t us_inv_cur_comp_en; /*145 逆变电流补偿使能*/ + uint16_t us_inv_cur_comp_coff; /*146 逆变电流补偿系数*/ + int16_t sh_inv_cur_delay; /*147 逆变电路延迟角度*/ + int16_t sh_cap_cur_delay; /*148 电容电流延迟角度*/ + uint16_t us_cap_cur_coff; /*149 电容电流比例系数*/ + uint16_t us_pv_cur_coff; /*150 PV电流比例校准系数*/ + uint16_t us_pv_cur_calb_en; /*151 PV输入校准标志*/ + uint16_t us_dc_pwr_comp_en; /*152 直流功率补偿*/ + uint16_t us_bst_run_mode; /*153 BOOST运行模式*/ + uint16_t us_bst1_en; /*154 第1路BOOST使能*/ + uint16_t us_bst2_en; /*155 第2路BOOST使能*/ + uint16_t us_bst3_en; /*156 第3路BOOST使能*/ + uint16_t us_bst4_en; /*157 第4路BOOST使能*/ + uint16_t us_vol_freq_protcet_en; /*158 分段保护使能*/ + uint16_t us_pv_inversed_detcet_en; /*159 PV反接检测使能*/ + uint16_t us_pv_backward_detcet_en; /*160 PV回灌检测使能*/ + uint16_t us_anti_islanding_protect_freq_en; /*161 孤岛保护兼容频率适应性*/ + uint16_t us_pwr_control_rctv_prio_en; /*162 功率控制时无功优先使能*/ + uint16_t us_bus_uv_dect_en; /*163 母线欠压检测使能*/ + uint16_t us_hlvrt_mode_flag; /*164 高低穿模式切换*/ + uint16_t us_reserve_param1_4; /*165 预留参数1_4*/ + uint16_t us_vol_rctv_pwr_ctr_mode; /*166 电压无功控制模式*/ + uint16_t us_accu_judge_mode; /*167 精度判断模式*/ + uint16_t aus_reserve3[13]; /*168 预留*/ +}dsp_devices_set_t; + +typedef struct tag_dsp_rec_ctr_param_t +{ + uint16_t us_dc_volt_kp; /*181 外环PI控制:Kp*/ + uint16_t us_dc_volt_ki; /*182 外环PI控制:Ki*/ + uint16_t us_dc_volt_lmt; /*183 外环PI控制:OutLimit*/ + uint16_t us_volt_bal_kp; /*184 均压环PI控制:Kp*/ + uint16_t us_volt_bal_ki; /*185 均压环PI控制:Ki*/ + uint16_t us_volt_bal_lmt; /*186 均压环PI控制:OutLimit*/ + uint16_t us_ac_cur_kp; /*187 电流环Kp */ + uint16_t us_act_dmp_coff; /*188 有源阻尼Kp*/ + uint16_t us_rctv_pwt_kp; /*189 无功稳压控制Kp*/ + uint16_t us_rctv_pwt_ki; /*190 无功稳压控制Ki*/ + uint16_t us_cur_q_kp; /*191 电流环q轴PI控制:Ki*/ + uint16_t us_cur_q_lmt; /*192 电流环q轴PI控制:OutLimit*/ + uint16_t us_zero_ord_cur_kp; /*193 零序电流PI控制:Kp*/ + uint16_t us_zero_ord_cur_ki; /*194 零序电流PI控制:Ki*/ + uint16_t us_zero_ord_cur_lmt; /*195 零序电流PI控制:OutLimit*/ + uint16_t us_kr_1; /*196 1次谐振增益*/ + uint16_t us_kr_2; /*197 2次谐振增益*/ + uint16_t us_kr_3; /*198 3次谐振增益*/ + uint16_t us_kr_4; /*199 4次谐振增益*/ + uint16_t us_kr_5; /*200 5次谐振增益*/ + uint16_t us_kr_6; /*201 6次谐振增益*/ + uint16_t us_kr_7; /*202 7次谐振增益*/ + uint16_t us_kr_8; /*203 8次谐振增益*/ + uint16_t us_kr_9; /*204 9次谐振增益*/ + uint16_t us_kr_10; /*205 10次谐振增益*/ + uint16_t us_kr_11; /*206 11次谐振增益*/ + uint16_t us_kr_12; /*207 12次谐振增益*/ + uint16_t us_kr_13; /*208 13次谐振增益*/ + uint16_t us_bst_volt_kp; /*209 boost电压环Kp*/ + uint16_t us_bst_volt_ki; /*210 boost电压环Ki*/ + uint16_t us_bst_cur_kp; /*211 boost电流环Kp*/ + uint16_t us_bst_cur_ki; /*212 boost电流环Ki*/ + uint16_t us_lvrt_coff; /*213 低电压穿越系数*/ + uint16_t us_hvrt_coff; /*214 高电压穿越系数*/ + uint16_t us_pwm_mode; /*215 调制方式*/ + uint16_t us_ffwd_mode; /*216 电压前馈方式*/ + uint16_t us_bus_volt_ref_dwn_lmt; /*217 母线电压参考值下限*/ + uint16_t us_zero_ctr_kp; /*218 零序分量控制kp参数*/ + uint16_t us_ffwd_coff; /*219 加权前馈的占比系数*/ + uint16_t us_pwr_lmt_mode_en; /*220 限功率模式使能*/ + uint16_t us_island_kp; /*221 孤岛保护Kp*/ + uint16_t us_CPWM_m_TH; /*222 进入CPWM调制度阈值*/ + uint16_t us_DPWM_m_TH; /*223 进入DPWM调制度阈值*/ + uint16_t us_CPWM_bus_volt_TH; /*224 进入CPWM母线电压阈值*/ + uint16_t us_DPWM_bus_volt_TH; /*225 进入DPWM母线电压阈值*/ + uint16_t us_dc_volt_ref; /*226 直流电压参考*/ + uint16_t us_ac_volt_ref; /*227 交流电压参考*/ + int16_t sh_rctv_cur_ref; /*228 无功电流参考*/ + uint16_t us_boost_cur_ref1; /*229 boost1电流参考值*/ + uint16_t us_boost_cur_ref2; /*230 boost2电流参考值*/ + uint16_t us_boost_cur_ref3; /*231 boost3电流参考值*/ + uint16_t us_boost_cur_ref4; /*232 boost4电流参考值*/ + int16_t sh_actv_cur_ref; /*233 有功电流参考*/ + uint16_t us_reactive_voltage_coff; /*234 无功调压系数*/ + uint16_t us_com_mode_cur_TH; /*235 共模电流幅值阈值*/ + uint16_t us_com_mode_cur_cpwm_TH; /*236 CPWM共模电流次数*/ + uint16_t us_com_mode_cur_dpwm_TH; /*237 DPWM共模电流次数*/ + uint16_t aus_reserve4[13]; /*238 预留*/ +}dsp_rec_ctr_param_t; + +typedef struct tag_dsp_ctr_th_param_t +{ + uint16_t us_open_crct_ov_TH; /*251 开路电压过高阈值*/ + uint16_t us_dc_input_ov_TH; /*252 直流输入过压阈值*/ + uint16_t us_bus_ov_TH; /*253 直流母线过压阈值*/ + uint16_t us_bus_uv_TH; /*254 直流母线欠压阈值*/ + uint16_t us_inv_oc_TH; /*255 逆变电流保护瞬时值*/ + uint16_t us_inv_rms_oc_TH; /*256 逆变电流保护有效值*/ + uint16_t us_inv_cbc_TH; /*257 逆变电流逐波限流封锁阈值*/ + uint16_t us_inv_cbc_unlck_TH; /*258 逆变电流逐波限流解封阈值*/ + uint16_t us_bst1_oc_TH; /*259 Boost1过流软件保护阈值*/ + uint16_t us_bst2_oc_TH; /*260 Boost2过流软件保护阈值*/ + uint16_t us_bst_3_oc_TH; /*261 Boost3过流软件保护阈值*/ + uint16_t us_bst4_oc_TH; /*262 Boost4过流软件保护阈值*/ + uint16_t us_pv_sc_volt_TH; /*263 MPPT短路电压阈值*/ + uint16_t us_pv_sc_cur_TH; /*264 MPPT短路电流阈值*/ + uint16_t us_grd_phase_loss_TH; /*265 额定电网保护电压*/ + uint16_t us_grd_ov_TH; /*266 电网过压阈值*/ + uint16_t us_grd_uv_TH; /*267 电网欠压阈值*/ + uint16_t us_grd_ov_2nd_TH; /*268 电网欠压二级保护阈值*/ + uint16_t us_grd_ov_1st_TH; /*269 电网欠压一级保护阈值*/ + uint16_t us_grd_uv_1st_TH; /*270 电网过压一级保护阈值*/ + uint16_t us_grd_uv_2nd_TH; /*271 电网过压二级保护阈值*/ + uint16_t us_ov_lmt_pwr_TH; /*272 过压降额阈值*/ + uint16_t us_freq_ov_lgc; /*273 电网频率上限*/ + uint16_t us_freq_und_lgc; /*274 电网频率下限*/ + uint16_t us_grd_und_freq_5th_TH; /*275 电网欠频五级保护阈值*/ + uint16_t us_grd_und_freq_4th_TH; /*276 电网欠频四级保护阈值*/ + uint16_t us_grd_und_freq_3rd_TH; /*277 电网欠频三级保护阈值*/ + uint16_t us_grd_und_freq_2nd_TH; /*278 电网欠频二级保护阈值*/ + uint16_t us_grd_und_freq_1st_TH; /*279 电网欠频一级保护阈值*/ + uint16_t us_grd_over_freq_1st_TH; /*280 电网过频一级保护阈值*/ + uint16_t us_grd_over_freq_2nd_TH; /*281 电网过频二级保护阈值*/ + uint16_t us_grd_over_freq_3rd_TH; /*282 电网过频三级保护阈值*/ + uint16_t us_ov_freq_lmt_pwr_TH; /*283 过频降额阈值*/ + uint16_t us_cap_oc_TH; /*284 滤波电容过流保护阈值*/ + uint16_t us_cap_ov_TH; /*285 滤波电容过压保护阈值*/ + uint16_t us_inslt_rstr_TH; /*286 绝缘阻抗检测阈值*/ + uint16_t us_grd_flt_dis_inner_flt_en; /*287 电网故障屏蔽内部故障*/ + uint16_t us_act_island_dtct_TH; /*288 主动反孤岛阈值*/ + uint16_t us_act_island_dtct_var_TH; /*289 反孤岛无功电流余量*/ + uint16_t us_pv_line_dtct_en; /*290 PV接线检测(未启用)*/ + uint16_t us_pv_inversed_input_vol_TH; /*291 PV反接电压阈值*/ + uint16_t us_pv_inversed_input_curr_TH; /*292 PV反接电感电流阈值*/ + uint16_t us_pv_backward_input_vol_TH; /*293 PV回灌电压阈值*/ + uint16_t us_pv_branch_input_curr_TH; /*294 支路输入电流阈值*/ + int16_t us_pv_branch_input_curr_TH1; /*295 支路输入电流阈值1*/ + uint16_t us_pv_branch_input_curr_TH2; /*296 支路输入电流阈值2*/ + uint16_t us_eco_warning_1; /*297 节能告警阈值1*/ + uint16_t us_eco_warning_2; /*298 节能告警阈值2*/ + uint16_t us_cavity_overtemp_TH; /*299 腔体过温阈值*/ + uint16_t us_cavity_overtemp_TH2; /*300 腔体2过温阈值*/ + uint16_t us_collfin_overtemp_TH; /*301 散热片过温阈值*/ + uint16_t us_q_u_low_vol_th; /*302 Q-U低压系数阈值*/ + uint16_t us_q_u_high_vol_th; /*303 Q-U高压系数阈值*/ + uint16_t us_lvrt_border_th; /*304 低穿穿越边界*/ + uint16_t us_hvrt_border_th; /*305 高穿穿越边界*/ + uint16_t us_over_cap_current_time_ms; /*306 滤波电容过流保护时间*/ + uint16_t us_over_rms_current_time_ms; /*307 逆变过流保护时间*/ + uint16_t us_grid_over_volt_L0_time_ms; /*308 电网过压L0保护时间*/ + uint16_t us_grid_over_volt_L1_time_ms; /*309 电网过压L1保护时间*/ + uint16_t us_grid_over_volt_L2_time_ms; /*310 电网过压L2保护时间*/ + uint16_t us_grid_below_volt_L0_time_ms; /*311 电网欠压L0保护时间*/ + uint16_t us_grid_below_volt_L1_time_ms; /*312 电网欠压L1保护时间*/ + uint16_t us_grid_below_volt_L2_time_ms; /*313 电网欠压L2保护时间*/ + uint16_t us_grid_over_freq_L0_time_ms; /*314 电网过频L0保护时间*/ + uint16_t us_grid_over_freq_L1_time_s; /*315 电网过频L1保护时间*/ + uint16_t us_grid_over_freq_L2_time_s; /*316 电网过频L2保护时间*/ + uint16_t us_grid_over_freq_L3_time_ms; /*317 电网过频L3保护时间*/ + uint16_t us_grid_below_freq_L0_time_ms; /*318 电网欠频L0保护时间*/ + uint16_t us_grid_below_freq_L1_time_s; /*319 电网欠频L1保护时间*/ + uint16_t us_grid_below_freq_L2_time_s; /*320 电网欠频L2保护时间*/ + uint16_t us_grid_below_freq_L3_time_s; /*321 电网欠频L3保护时间*/ + uint16_t us_grid_below_freq_L4_time_s; /*322 电网欠频L4保护时间*/ + uint16_t us_grid_below_freq_L5_time_ms; /*323 电网欠频L5保护时间*/ + uint16_t us_over_bus_volt_time_ms; /*324 母线欠压保护时间*/ + uint16_t aus_reserve5[6]; /*325 预留*/ +}dsp_ctr_th_param_t; + +typedef struct tag_dsp_ctr_limit_param_t +{ + uint16_t us_rt_rctv_cur_lmt; /*331 高低穿无功电流限幅值*/ + uint16_t us_inv_cur_lmt; /*332 逆变总电流限幅值*/ + uint16_t us_inv_act_cur_lmt; /*333 逆变有功电流限幅值*/ + uint16_t us_inv_rctv_cur_lmt; /*334 逆变无功电流限幅值*/ + uint16_t us_bst1_cur_lmt; /*335 Boost1单路电流限幅值*/ + uint16_t us_bst2_cur_lmt; /*336 Boost2单路电流限幅值*/ + uint16_t us_bst3_cur_lmt; /*337 Boost3单路电流限幅值*/ + uint16_t us_bst4_cur_lmt; /*338 Boost4单路电流限幅值*/ + uint16_t us_5th_cur_lmt; /*339 5次谐波电流限幅值*/ + uint16_t us_7th_cur_lmt; /*340 7次谐波电流限幅值*/ + uint16_t us_11th_cur_lmt; /*341 11次谐波电流限幅值*/ + uint16_t us_13th_cur_lmt; /*342 13次谐波电流限幅值*/ + uint16_t us_17th_cur_lmt; /*343 17次谐波电流限幅值*/ + uint16_t us_19th_cur_lmt; /*344 19次谐波电流限幅值*/ + uint16_t us_2th_cur_lmt; /*345 2次谐波电流限幅值*/ + uint16_t us_4th_cur_lmt; /*346 4次谐波电流限幅值*/ + uint16_t us_6th_cur_lmt; /*347 6次谐波电流限幅值*/ + uint16_t us_8th_cur_lmt; /*348 8次谐波电流限幅值*/ + uint16_t us_10th_cur_lmt; /*349 10次谐波电流限幅值*/ + uint16_t us_14th_cur_lmt; /*350 14次谐波电流限幅值*/ + uint16_t us_16th_cur_lmt; /*351 16次谐波电流限幅值*/ + uint16_t us_20th_cur_lmt; /*352 20次谐波电流限幅值*/ + uint16_t us_DPWM_ap_TH; /*353 进入DPWM视在功率阈值*/ + uint16_t us_CPWM_ap_TH; /*354 进入CPWM视在功率阈值*/ + uint16_t us_lead_comp_kp; /*355 零序超前补偿kp*/ + uint16_t us_collfin_overtemp_lmt_th; /*356 散热片过温降功率阈值*/ + uint16_t us_cavity_overtemp_lmt_th; /*357 腔体过温降功率阈值*/ + uint16_t us_cavity2_overtemp_lmt_th; /*358 腔体2过温降功率阈值*/ + uint16_t us_overtemp_pwr_down_th; /*359 过温降额功率下限*/ + uint16_t us_fan_fault_pwr_down_th; /*360 风扇故障降额功率下限*/ + uint16_t us_overtemp_pwr_up_th; /*361 过温降额功率上限*/ + uint16_t us_overtemp_pwr_change_down_th; /*362 过温降额功率变化率上限*/ + uint16_t aus_reserve6[18]; /*363 预留*/ +}dsp_ctr_limit_param_t; + +typedef struct tag_dsp_debug_test_control_t +{ + uint16_t us_reserve_param5_0; /*381 预留参数5_0*/ + uint16_t us_reserve_param5_1; /*382 预留参数5_1*/ + uint16_t us_reserve_param5_2; /*383 预留参数5_2*/ + uint16_t us_reserve_param5_3; /*384 预留参数5_3*/ + uint16_t us_systm_sta; /*385 整机状态*/ + uint16_t us_inv_sta; /*386 逆变状态*/ + uint16_t us_mppt1_state; /*387 MPPT1状态(debug)*/ + uint16_t us_mppt2_state; /*388 MPPT2状态(debug)*/ + uint16_t us_mppt3_state; /*389 MPPT3状态(debug)*/ + uint16_t us_mppt4_state; /*390 MPPT4状态(debug)*/ + uint16_t us_low_pwr_flg; /*391 功率不足标志*/ + uint16_t us_mppt_manual_reference; /*392 MPPT手动参考标志位*/ + uint16_t us_mppt_manual_reference_value; /*393 MPPT手动参考值*/ + uint16_t us_volt_bal_th; /*394 母线均压开启阈值*/ + uint16_t us_reserve_param5_4; /*395 预留参数5_4*/ + uint16_t us_reserve_param5_5; /*396 预留参数5_5*/ + uint16_t aus_reserve7[23]; /*397 预留*/ +}dsp_debug_test_control_t; + +typedef struct tag_dsp_calibrate_t +{ + uint16_t us_auto_calibrate_en; /*420 自动化校准使能*/ + uint16_t us_auto_calibrate_state; /*421 自动化校准状态*/ + uint16_t us_auto_calibrate_cmd; /*422 自动化校准指令*/ + uint16_t us_auto_calibrate_result; /*423 自动化校准结果*/ + uint16_t us_auto_calibrate_refresh_flag; /*424 自动化校准刷新标志*/ + uint16_t us_reserve_param6_6; /*425 预留参数6_6*/ + uint16_t us_reserve_param6_7; /*426 预留参数6_7*/ + uint16_t us_reserve_param6_8; /*427 预留参数6_8*/ + uint16_t us_reserve_param6_9; /*428 预留参数6_9*/ + uint16_t us_reserve_param6_10; /*429 预留参数6_10*/ + uint16_t us_reserve_param6_11; /*430 预留参数6_11*/ + uint16_t us_reserve_param6_12; /*431 预留参数6_12*/ + uint16_t us_reserve_param6_13; /*432 预留参数6_13*/ + uint16_t us_reserve_param6_14; /*433 预留参数6_14*/ + uint16_t us_reserve_param6_15; /*434 预留参数6_15*/ + uint16_t us_reserve_param6_16; /*435 预留参数6_16*/ + uint16_t us_reserve_param6_17; /*436 预留参数6_17*/ + uint16_t us_reserve_param6_18; /*437 预留参数6_18*/ + uint16_t us_reserve_param6_19; /*438 预留参数6_19*/ + uint16_t us_reserve_param6_20; /*439 预留参数6_20*/ + uint16_t us_reserve_param6_21; /*440 预留参数6_21*/ + uint16_t us_reserve_param6_22; /*441 预留参数6_22*/ + uint16_t us_reserve_param6_23; /*442 预留参数6_23*/ + uint16_t us_reserve_param6_24; /*443 预留参数6_24*/ + uint16_t us_reserve_param6_25; /*444 预留参数6_25*/ + uint16_t us_reserve_param6_26; /*445 预留参数6_26*/ + uint16_t us_reserve_param6_27; /*446 预留参数6_27*/ + uint16_t us_reserve_param6_28; /*447 预留参数6_28*/ + uint16_t us_reserve_param6_29; /*448 预留参数6_29*/ + uint16_t us_reserve_param6_30; /*449 预留参数6_30*/ + uint16_t us_reserve_param6_31; /*450 预留参数6_31*/ + uint16_t us_reserve_param6_32; /*451 预留参数6_32*/ + uint16_t us_reserve_param6_33; /*452 预留参数6_33*/ + uint16_t us_reserve_param6_34; /*453 预留参数6_34*/ + uint16_t us_reserve_param6_35; /*454 预留参数6_35*/ + uint16_t us_reserve_param6_36; /*455 预留参数6_36*/ + uint16_t us_reserve_param6_37; /*456 预留参数6_37*/ + uint16_t aus_reserve8[43]; /*457 预留*/ +}dsp_calibrate_t; + +typedef struct tag_dsp_data_file_t +{ + uint16_t us_dev_addr; /*500 本地通信地址(模块号)*/ + uint16_t us_device_rated_actv_pwr; /*501 装置额定有功功率(设备容量)*/ + uint16_t us_device_rated_rctv_pwr; /*502 装置额定无功功率*/ + uint16_t aus_app_ver[2]; /*503 DSP主控版本号*/ + uint16_t aus_boot_ver[2]; /*505 DSP底层版本号*/ + uint16_t aus_prog_code[3]; /*507 DSP主控程序组件号*/ + uint16_t us_dev_type; /*510 设备类型*/ + uint16_t us_prot_ver; /*511 DSP使用地址表协议版本号*/ + uint16_t us_cfg_crc_h; /*512 DSP配置参数CRC高16位*/ + uint16_t us_cfg_crc_l; /*513 DSP配置参数CRC低16位*/ + uint16_t us_device_phase; /*514 相数*/ + uint16_t aus_app_ver_new[4]; /*515 DSP主控版本号新格式*/ + uint16_t aus_boot_ver_new[4]; /*519 DSP底层版本号新格式*/ + uint16_t us_mppt_number; /*523 MPPT数量*/ + uint16_t aus_reserve9[26]; /*524 预留*/ +}dsp_data_file_t; + +typedef struct tag_dsp_data_hardware_t +{ + uint16_t us_relay_a_stat; /*550 继电器A状态*/ + uint16_t us_relay_b_stat; /*551 继电器B状态*/ + uint16_t us_relay_c_stat; /*552 继电器C状态*/ + uint16_t aus_reserve10[7]; /*553 预留*/ +}dsp_data_hardware_t; + +typedef struct tag_dsp_data_state_t +{ + uint16_t us_fault1_1; /*560 一般故障1*/ + uint16_t us_fault1_2; /*561 一般故障2*/ + uint16_t us_fault1_3; /*562 一般故障3*/ + uint16_t us_fault1_4; /*563 一般故障4*/ + uint16_t us_fault2_1; /*564 严重故障1*/ + uint16_t us_fault2_2; /*565 严重故障2*/ + uint16_t us_fault2_3; /*566 严重故障3*/ + uint16_t us_fault2_4; /*567 严重故障4*/ + uint16_t us_waring_1; /*568 告警事件1*/ + uint16_t us_waring_2; /*569 告警事件2*/ + uint16_t us_slf_chk_1; /*570 自检事件1*/ + uint16_t us_slf_chk_2; /*571 自检事件2*/ + uint16_t aus_reserve11[18]; /*572 预留*/ + uint16_t us_run_mode_sta; /*590 DSP运行状态*/ + uint16_t us_phase_sta; /*591 电压相序显示*/ + uint16_t us_mppt1_sta; /*592 MPPT1状态*/ + uint16_t us_mppt2_sta; /*593 MPPT2状态*/ + uint16_t us_dev_sta; /*594 显示运行模式*/ + uint16_t us_fault_label; /*595 故障状态标志*/ + uint16_t us_lgc_label; /*596 逻辑状态标签*/ + uint16_t us_echo_label; /*597 节能状态标签*/ + uint16_t us_pll_label; /*598 锁相状态标签*/ + uint16_t us_aux_label; /*599 辅助状态标签*/ + uint16_t us_ov_tem_half_pwr_label; /*600 过温半载运行标签*/ + uint16_t us_dc_led_state_display; /*601 DSP直流灯状态指示*/ + uint16_t us_ac_led_state_display; /*602 DSP交流灯状态指示*/ + uint16_t us_device_modulation_state; /*603 设备调制状态*/ + uint16_t us_mppt3_sta; /*604 MPPT3状态*/ + uint16_t us_mppt4_sta; /*605 MPPT4状态*/ + uint16_t us_over_temp_limit_pwr; /*606 过温限功率状态*/ + uint16_t aus_reserve12[13]; /*607 预留*/ +}dsp_data_state_t; + +typedef struct tag_dsp_data_collect_t +{ + uint16_t us_grid_freq; /*620 电网频率*/ + int16_t sh_dc_input_avg_volt; /*621 总母线电压avg*/ + int16_t sh_dc_up_side_avg_volt; /*622 上母线电压avg*/ + int16_t sh_dc_low_side_avg_volt; /*623 下母线电压_avg*/ + uint16_t us_grid_a_rms_volt; /*624 电网电压A_RMS*/ + uint16_t us_grid_b_rms_volt; /*625 电网电压B_RMS*/ + uint16_t us_grid_c_rms_volt; /*626 电网电压C_RMS*/ + uint16_t us_cap_a_rms_volt; /*627 逆变阻尼电压A_RMS*/ + uint16_t us_cap_b_rms_volt; /*628 逆变阻尼电压B_RMS*/ + uint16_t us_cap_c_rms_volt; /*629 逆变阻尼电压C_RMS*/ + uint16_t us_inv_a_rms_cur; /*630 逆变电流A_RMS*/ + uint16_t us_inv_b_rms_cur; /*631 逆变电流B_RMS*/ + uint16_t us_inv_c_rms_cur; /*632 逆变电流C_RMS*/ + uint16_t us_cap_a_rms_cur; /*633 LCL电容电流A_RMS*/ + uint16_t us_cap_b_rms_cur; /*634 LCL电容电流B_RMS*/ + uint16_t us_cap_c_rms_cur; /*635 LCL电容电流C_RMS*/ + uint16_t us_reserve_data2_7; /*636 预留数据2_7*/ + uint16_t us_reserve_data2_8; /*637 预留数据2_8*/ + uint16_t us_reserve_data2_9; /*638 预留数据2_9*/ + uint16_t us_boost_pv_volt_1; /*639 BOOST输入电压1路*/ + uint16_t us_boost_pv_volt_2; /*640 BOOST输入电压2路*/ + uint16_t us_boost_pv_volt_3; /*641 BOOST输入电压3路*/ + uint16_t us_boost_pv_volt_4; /*642 BOOST输入电压4路*/ + int16_t sh_boost1_pv_cur_1; /*643 1路BOOST组串电流1*/ + int16_t sh_boost2_pv_cur_1; /*644 2路BOOST组串电流1*/ + int16_t sh_boost3_pv_cur_1; /*645 3路BOOST组串电流1*/ + int16_t sh_boost4_pv_cur_1; /*646 4路BOOST组串电流1*/ + int16_t sh_boost_induc_cur_1; /*647 BOOST电感电流1路*/ + int16_t sh_boost_induc_cur_2; /*648 BOOST电感电流2路*/ + int16_t sh_boost_induc_cur_3; /*649 BOOST电感电流3路*/ + int16_t sh_boost_induc_cur_4; /*650 BOOST电感电流4路*/ + uint16_t us_device_curr_a; /*651 设备电流A*/ + uint16_t us_device_curr_b; /*652 设备电流B*/ + uint16_t us_device_curr_c; /*653 设备电流C*/ + int16_t sh_boost1_pv_cur_2; /*654 1路BOOST组串电流2*/ + int16_t sh_boost2_pv_cur_2; /*655 2路BOOST组串电流2*/ + int16_t sh_boost3_pv_cur_2; /*656 3路BOOST组串电流2*/ + int16_t sh_boost4_pv_cur_2; /*657 4路BOOST组串电流2*/ + uint16_t aus_reserve13[18]; /*658 预留*/ + uint16_t us_reserve_data2_1; /*676 预留数据2_1*/ + uint16_t us_reserve_data2_2; /*677 预留数据2_2*/ + uint16_t us_reserve_data2_3; /*678 预留数据2_3*/ + uint16_t us_reserve_data2_4; /*679 预留数据2_4*/ + uint16_t us_reserve_data2_5; /*680 预留数据2_5*/ + uint16_t us_reserve_data2_6; /*681 预留数据2_6*/ + uint16_t aus_reserve14[8]; /*682 预留*/ +}dsp_data_collect_t; + +typedef struct tag_dsp_data_power_t +{ + int16_t sh_dev_a_actv_pwr; /*690 装置侧有功功率A*/ + int16_t sh_dev_b_actv_pwr; /*691 装置侧有功功率B*/ + int16_t sh_dev_c_actv_pwr; /*692 装置侧有功功率C*/ + int16_t sh_dev_actv_pwr; /*693 装置侧有功功率总*/ + int16_t sh_dev_a_rctv_pwr; /*694 装置侧无功功率A*/ + int16_t sh_dev_b_rctv_pwr; /*695 装置侧无功功率B*/ + int16_t sh_dev_c_rctv_pwr; /*696 装置侧无功功率C*/ + int16_t sh_dev_rctv_pwr; /*697 装置侧无功功率总*/ + uint16_t us_dev_a_aprt_pwr; /*698 装置侧视在功率A*/ + uint16_t us_dev_b_aprt_pwr; /*699 装置侧视在功率B*/ + uint16_t us_dev_c_aprt_pwr; /*700 装置侧视在功率C*/ + uint16_t us_dev_aprt_pwr; /*701 装置侧视在功率总*/ + uint16_t us_dev_a_PF; /*702 装置侧功率因数A*/ + uint16_t us_dev_b_PF; /*703 装置侧功率因数B*/ + uint16_t us_dev_c_PF; /*704 装置侧功率因数C*/ + uint16_t us_dev_PF; /*705 装置侧功率因数总*/ + int16_t sh_grid_a_actv_pwr; /*706 网侧有功功率A*/ + int16_t sh_grid_b_actv_pwr; /*707 网侧有功功率B*/ + int16_t sh_grid_c_actv_pwr; /*708 网侧有功功率C*/ + int16_t sh_grid_actv_pwr; /*709 网侧有功功率总*/ + int16_t sh_grid_a_rctv_pwr; /*710 网侧无功功率A*/ + int16_t sh_grid_b_rctv_pwr; /*711 网侧无功功率B*/ + int16_t sh_grid_c_rctv_pwr; /*712 网侧无功功率C*/ + int16_t sh_grid_rctv_pwr; /*713 网侧无功功率总*/ + uint16_t us_grid_a_aprt_pwr; /*714 网侧视在功率A*/ + uint16_t us_grid_b_aprt_pwr; /*715 网侧视在功率B*/ + uint16_t us_grid_c_aprt_pwr; /*716 网侧视在功率C*/ + uint16_t us_grid_aprt_pwr; /*717 网侧视在功率总*/ + int16_t sh_grid_a_PF; /*718 网侧功率因数A*/ + int16_t sh_grid_b_PF; /*719 网侧功率因数B*/ + int16_t sh_grid_c_PF; /*720 网侧功率因数C*/ + int16_t sh_grid_PF; /*721 网侧功率因数总*/ + int16_t sh_load_a_actv_pwr; /*722 负载有功功率A*/ + int16_t sh_load_b_actv_pwr; /*723 负载有功功率B*/ + int16_t sh_load_c_actv_pwr; /*724 负载有功功率C*/ + int16_t sh_load_actv_pwr; /*725 负载有功功率总*/ + int16_t sh_load_a_rctv_pwr; /*726 负载无功功率A*/ + int16_t sh_load_b_rctv_pwr; /*727 负载无功功率B*/ + int16_t sh_load_c_rctv_pwr; /*728 负载无功功率C*/ + int16_t sh_load_rctv_pwr; /*729 负载无功功率总*/ + uint16_t us_load_a_aprt_pwr; /*730 负载视在功率A*/ + uint16_t us_load_b_aprt_pwr; /*731 负载视在功率B*/ + uint16_t us_load_c_aprt_pwr; /*732 负载视在功率C*/ + uint16_t us_load_aprt_pwr; /*733 负载视在功率总*/ + int16_t sh_load_a_PF; /*734 负载功率因数A*/ + int16_t sh_load_b_PF; /*735 负载功率因数B*/ + int16_t sh_load_c_PF; /*736 负载功率因数C*/ + int16_t sh_load_PF; /*737 负载功率因数总*/ + int16_t us_boost_pwr_1; /*738 BOOST功率1路*/ + int16_t us_boost_pwr_2; /*739 BOOST功率2路*/ + int16_t us_boost_pwr_3; /*740 BOOST功率3路*/ + int16_t us_boost_pwr_4; /*741 BOOST功率4路*/ + int16_t us_boost_pwr; /*742 BOOST功率总*/ + uint16_t aus_reserve15[27]; /*743 预留*/ +}dsp_data_power_t; + +typedef struct tag_dsp_data_unbalance_t +{ + uint16_t us_grid_cur_unb; /*770 网侧电流不平衡度*/ + uint16_t us_grid_cur_unb2; /*771 网侧电流负序不平衡度*/ + uint16_t us_grid_cur_unb0; /*772 网侧电流零序不平衡度*/ + uint16_t us_load_cur_unb; /*773 负载电流不平衡度*/ + uint16_t us_load_cur_unb2; /*774 负载电流负序不平衡度*/ + uint16_t us_load_cur_unb0; /*775 负载电流零序不平衡度*/ + uint16_t us_grid_volt_unb; /*776 电网电压不平衡度*/ + uint16_t us_grid_volt_unb2; /*777 电网电压负序不平衡度*/ + uint16_t us_grid_volt_unb0; /*778 电网电压零序不平衡度*/ + uint16_t aus_reserve16[49]; /*779 预留*/ +}dsp_data_unbalance_t; + +typedef struct tag_dsp_config_param_t +{ + dsp_devices_set_t st_dsp_devices_set; + dsp_rec_ctr_param_t st_dsp_rec_ctr_param; + dsp_ctr_th_param_t st_dsp_ctr_th_param; + dsp_ctr_limit_param_t st_dsp_ctr_limit_param; + dsp_debug_test_control_t st_dsp_debug_test_control; + dsp_calibrate_t st_dsp_calibrate; +}dsp_config_param_t; + +typedef struct tag_dsp_monitor_params_t +{ + dsp_data_file_t st_dsp_data_file; + dsp_data_hardware_t st_dsp_data_hardware; + dsp_data_state_t st_dsp_data_state; + dsp_data_collect_t st_dsp_data_collect; + dsp_data_power_t st_dsp_data_power; + dsp_data_unbalance_t st_dsp_data_unbalance; +}dsp_monitor_params_t; + +typedef struct tag_dsp_comm_params_t +{ + dsp_unrecovery_param_t st_dsp_unrecovery_param; + dsp_command_t st_dsp_cmd; + dsp_config_param_t st_config_param; + dsp_monitor_params_t st_monitor_params; +}dsp_comm_params_t; + +/*参数地址宏定义*/ +//dsp_unrecovery_param_t +#define DSP_GRD_A_VOLT_CALIB_COFF_PARAM_ADDR 0 /*A相采样校准a(网侧交流电压采样)*/ +#define DSP_GRD_A_VOLT_CALIB_BIAS_PARAM_ADDR 1 /*A相采样校准b(网侧交流电压采样)*/ +#define DSP_GRD_B_VOLT_CALIB_COFF_PARAM_ADDR 2 /*B相采样校准a(网侧交流电压采样)*/ +#define DSP_GRD_B_VOLT_CALIB_BIAS_PARAM_ADDR 3 /*B相采样校准b(网侧交流电压采样)*/ +#define DSP_GRD_C_VOLT_CALIB_COFF_PARAM_ADDR 4 /*C相采样校准a(网侧交流电压采样)*/ +#define DSP_GRD_C_VOLT_CALIB_BIAS_PARAM_ADDR 5 /*C相采样校准b(网侧交流电压采样)*/ +#define DSP_INV_A_CUR_CALIB_COFF_PARAM_ADDR 6 /*A相采样校准a(逆变侧电感电流)*/ +#define DSP_INV_A_CUR_CALIB_BIAS_PARAM_ADDR 7 /*A相采样校准b(逆变侧电感电流)*/ +#define DSP_INV_A_CUR_PHASE_OFFSET_PARAM_ADDR 8 /*A相逆变电流相位偏移量*/ +#define DSP_INV_B_CUR_CALIB_COFF_PARAM_ADDR 9 /*B相采样校准a(逆变侧电感电流)*/ +#define DSP_INV_B_CUR_CALIB_BIAS_PARAM_ADDR 10 /*B相采样校准b(逆变侧电感电流)*/ +#define DSP_INV_B_CUR_PHASE_OFFSET_PARAM_ADDR 11 /*B相逆变电流相位偏移量*/ +#define DSP_INV_C_CUR_CALIB_COFF_PARAM_ADDR 12 /*C相采样校准a(逆变侧电感电流)*/ +#define DSP_INV_C_CUR_CALIB_BIAS_PARAM_ADDR 13 /*C相采样校准b(逆变侧电感电流)*/ +#define DSP_INV_C_CUR_PHASE_OFFSET_PARAM_ADDR 14 /*C相逆变电流相位偏移量*/ +#define DSP_CAP_A_CUR_CALIB_COFF_PARAM_ADDR 15 /*A相LCL电容电流系数*/ +#define DSP_CAP_A_CUR_PHASE_OFFSET_PARAM_ADDR 16 /*A相LCL电容电流相位偏移量*/ +#define DSP_CAP_B_CUR_CALIB_COFF_PARAM_ADDR 17 /*B相LCL电容电流系数*/ +#define DSP_CAP_B_CUR_PHASE_OFFSET_PARAM_ADDR 18 /*B相LCL电容电流相位偏移量*/ +#define DSP_CAP_C_CUR_CALIB_COFF_PARAM_ADDR 19 /*C相LCL电容电流系数*/ +#define DSP_CAP_C_CUR_PHASE_OFFSET_PARAM_ADDR 20 /*C相LCL电容电流相位偏移量*/ +#define DSP_BST1_CUR_CALIB_COFF_PARAM_ADDR 21 /*采样校准a(BOOST1电感电流)*/ +#define DSP_BST1_CUR_CALIB_BIAS_PARAM_ADDR 22 /*采样校准b(BOOST1电感电流)*/ +#define DSP_BST2_CUR_CALIB_COFF_PARAM_ADDR 23 /*采样校准a(BOOST2电感电流)*/ +#define DSP_BST2_CUR_CALIB_BIAS_PARAM_ADDR 24 /*采样校准b(BOOST2电感电流)*/ +#define DSP_BST3_CUR_CALIB_COFF_PARAM_ADDR 25 /*采样校准a(BOOST3电感电流)*/ +#define DSP_BST3_CUR_CALIB_BIAS_PARAM_ADDR 26 /*采样校准b(BOOST3电感电流)*/ +#define DSP_BST4_CUR_CALIB_COFF_PARAM_ADDR 27 /*采样校准a(BOOST4电感电流)*/ +#define DSP_BST4_CUR_CALIB_BIAS_PARAM_ADDR 28 /*采样校准b(BOOST4电感电流)*/ +#define DSP_PV1_VOLT_CALIB_COFF_PARAM_ADDR 29 /*采样校准a支路1(输入电压)*/ +#define DSP_PV1_VOLT_CALIB_BIAS_PARAM_ADDR 30 /*采样校准b支路1(输入电压)*/ +#define DSP_PV2_VOLT_CALIB_COFF_PARAM_ADDR 31 /*采样校准a支路2(输入电压)*/ +#define DSP_PV2_VOLT_CALIB_BIAS_PARAM_ADDR 32 /*采样校准b支路2(输入电压)*/ +#define DSP_PV3_VOLT_CALIB_COFF_PARAM_ADDR 33 /*采样校准a支路3(输入电压)*/ +#define DSP_PV3_VOLT_CALIB_BIAS_PARAM_ADDR 34 /*采样校准b支路3(输入电压)*/ +#define DSP_PV4_VOLT_CALIB_COFF_PARAM_ADDR 35 /*采样校准a支路4(输入电压)*/ +#define DSP_PV4_VOLT_CALIB_BIAS_PARAM_ADDR 36 /*采样校准b支路4(输入电压)*/ +#define DSP_TMPR_CALIB_COFF_PARAM_ADDR 37 /*采样校准a(温度补偿)*/ +#define DSP_TMPR_CALIB_BIAS_PARAM_ADDR 38 /*采样校准b(温度补偿)*/ + +//dsp_command_t +#define DSP_START_PARAM_ADDR 51 /*开机*/ +#define DSP_STOP_PARAM_ADDR 52 /*关机*/ +#define DSP_RST_PARAM_ADDR 53 /*故障复位*/ +#define DSP_REBOOT_PARAM_ADDR 54 /*芯片复位重启*/ +#define DSP_SLF_CHK_PARAM_ADDR 55 /*功率单元自检(调试)*/ +#define DSP_RESUME_CONFIG_PARAM_ADDR 56 /*参数还原*/ +#define DSP_OVER_TEMP_FLAG_PARAM_ADDR 57 /*过温限功率标志*/ + +//dsp_devices_set_t +#define DSP_WORK_EN_PARAM_ADDR 101 /*工作使能*/ +#define DSP_ANTI_ISLANDING_EN_PARAM_ADDR 102 /*孤岛检测使能*/ +#define DSP_LVRT_EN_PARAM_ADDR 103 /*LVRT使能*/ +#define DSP_HVRT_EN_PARAM_ADDR 104 /*HVRT使能*/ +#define DSP_MPPT_EN_PARAM_ADDR 105 /*MPPT使能*/ +#define DSP_INSULT_RSTR_EN_PARAM_ADDR 106 /*老化测试使能*/ +#define DSP_NEG_SEQ_RUN_EN_PARAM_ADDR 107 /*相序异常运行使能*/ +#define DSP_RESERVE_PARAM1_3_PARAM_ADDR 108 /*预留参数1_3*/ +#define DSP_DC_START_TH_PARAM_ADDR 109 /*直流输入电压开机阈值*/ +#define DSP_DC_STOP_TH_PARAM_ADDR 110 /*直流输入电压关机阈值*/ +#define DSP_PWR_OUTPUT_LMT_PARAM_ADDR 111 /*最大输出功率限值*/ +#define DSP_PWR_RATE_LMT_PARAM_ADDR 112 /*功率变化率上限*/ +#define DSP_RCTV_PWR_CTR_MODE_PARAM_ADDR 113 /*无功生成模式*/ +#define DSP_RCTV_PWR_REF_PARAM_ADDR 114 /*恒无功控制给定所需的无功功率*/ +#define DSP_PF_REF_PARAM_ADDR 115 /*恒功率因数控制给定所需的功率因数*/ +#define DSP_GRD_VOLT_REF_PARAM_ADDR 116 /*恒电网电压控制给定目标电网电压*/ +#define DSP_RESERVE_PARAM1_5_PARAM_ADDR 117 /*预留参数1_5*/ +#define DSP_RESERVE_PARAM1_6_PARAM_ADDR 118 /*预留参数1_6*/ +#define DSP_RESERVE_PARAM1_7_PARAM_ADDR 119 /*预留参数1_7*/ +#define DSP_RESERVE_PARAM1_8_PARAM_ADDR 120 /*预留参数1_8*/ +#define DSP_MULT_PEAK_EN_PARAM_ADDR 121 /*多峰扫描使能*/ +#define DSP_MULT_PEAK_TIME_STEP_PARAM_ADDR 122 /*多峰扫描时间间隔*/ +#define DSP_PWR_FREQ_CTR_RATE_PARAM_ADDR 123 /*频率-有功控制斜率*/ +#define DSP_GRD_RCVR_TIME_PARAM_ADDR 124 /*电网恢复等待时间*/ +#define DSP_ISLAND_RSPNS_TIME_LMT_PARAM_ADDR 125 /*孤岛响应时间上限*/ +#define DSP_RESERVE_PARAM1_9_PARAM_ADDR 126 /*预留参数1_9*/ +#define DSP_MPPT_MIN_VOLT_STEP_PARAM_ADDR 127 /*MPPT最小扰动步长*/ +#define DSP_STOP_STA_BUS_BAL_EN_PARAM_ADDR 128 /*待机母线均压使能*/ +#define DSP_STOP_TIME_LMT_PARAM_ADDR 129 /*关机上限时间*/ +#define DSP_START_VOLT_UP_LMT_PARAM_ADDR 130 /*开机电压上限*/ +#define DSP_MPPT_VOLT_UP_LMT_PARAM_ADDR 131 /*追踪电压上限*/ +#define DSP_LOW_VOLT_PWR_LMT_EN_PARAM_ADDR 132 /*低压降额使能*/ +#define DSP_HIGH_VOLT_PWR_LMT_EN_PARAM_ADDR 133 /*过压降额使能*/ +#define DSP_SINGLE_INPUT_MODE_PARAM_ADDR 134 /*共用一路输入模式*/ +#define DSP_FAULT_MODE_PARAM_ADDR 135 /*故障模式*/ +#define DSP_RESERVE_PARAM1_10_PARAM_ADDR 136 /*预留参数1_10*/ +#define DSP_PV1_MODE_PARAM_ADDR 137 /*PV1连接关系*/ +#define DSP_PV2_MODE_PARAM_ADDR 138 /*PV2连接关系*/ +#define DSP_PV3_MODE_PARAM_ADDR 139 /*PV3连接关系*/ +#define DSP_PV4_MODE_PARAM_ADDR 140 /*PV4连接关系*/ +#define DSP_MPPT_DISTB_EN_PARAM_ADDR 141 /*MPPT波动处理逻辑使能*/ +#define DSP_ACT_PWR_AUTO_EN_PARAM_ADDR 142 /*有功功率自动调整*/ +#define DSP_RCTV_PWR_COMP_PARAM_ADDR 143 /*无功补偿量*/ +#define DSP_RCTV_CTR_EN_PARAM_ADDR 144 /*无功闭环补偿使能*/ +#define DSP_INV_CUR_COMP_EN_PARAM_ADDR 145 /*逆变电流补偿使能*/ +#define DSP_INV_CUR_COMP_COFF_PARAM_ADDR 146 /*逆变电流补偿系数*/ +#define DSP_INV_CUR_DELAY_PARAM_ADDR 147 /*逆变电路延迟角度*/ +#define DSP_CAP_CUR_DELAY_PARAM_ADDR 148 /*电容电流延迟角度*/ +#define DSP_CAP_CUR_COFF_PARAM_ADDR 149 /*电容电流比例系数*/ +#define DSP_PV_CUR_COFF_PARAM_ADDR 150 /*PV电流比例校准系数*/ +#define DSP_PV_CUR_CALB_EN_PARAM_ADDR 151 /*PV输入校准标志*/ +#define DSP_DC_PWR_COMP_EN_PARAM_ADDR 152 /*直流功率补偿*/ +#define DSP_BST_RUN_MODE_PARAM_ADDR 153 /*BOOST运行模式*/ +#define DSP_BST1_EN_PARAM_ADDR 154 /*第1路BOOST使能*/ +#define DSP_BST2_EN_PARAM_ADDR 155 /*第2路BOOST使能*/ +#define DSP_BST3_EN_PARAM_ADDR 156 /*第3路BOOST使能*/ +#define DSP_BST4_EN_PARAM_ADDR 157 /*第4路BOOST使能*/ +#define DSP_VOL_FREQ_PROTCET_EN_PARAM_ADDR 158 /*分段保护使能*/ +#define DSP_PV_INVERSED_DETCET_EN_PARAM_ADDR 159 /*PV反接检测使能*/ +#define DSP_PV_BACKWARD_DETCET_EN_PARAM_ADDR 160 /*PV回灌检测使能*/ +#define DSP_ANTI_ISLANDING_PROTECT_FREQ_EN_PARAM_ADDR 161 /*孤岛保护兼容频率适应性*/ +#define DSP_PWR_CONTROL_RCTV_PRIO_EN_PARAM_ADDR 162 /*功率控制时无功优先使能*/ +#define DSP_BUS_UV_DECT_EN_PARAM_ADDR 163 /*母线欠压检测使能*/ +#define DSP_HLVRT_MODE_FLAG_PARAM_ADDR 164 /*高低穿模式切换*/ +#define DSP_RESERVE_PARAM1_4_PARAM_ADDR 165 /*预留参数1_4*/ +#define DSP_VOL_RCTV_PWR_CTR_MODE_PARAM_ADDR 166 /*电压无功控制模式*/ +#define DSP_ACCU_JUDGE_MODE_PARAM_ADDR 167 /*精度判断模式*/ + +//dsp_rec_ctr_param_t +#define DSP_DC_VOLT_KP_PARAM_ADDR 181 /*外环PI控制:Kp*/ +#define DSP_DC_VOLT_KI_PARAM_ADDR 182 /*外环PI控制:Ki*/ +#define DSP_DC_VOLT_LMT_PARAM_ADDR 183 /*外环PI控制:OutLimit*/ +#define DSP_VOLT_BAL_KP_PARAM_ADDR 184 /*均压环PI控制:Kp*/ +#define DSP_VOLT_BAL_KI_PARAM_ADDR 185 /*均压环PI控制:Ki*/ +#define DSP_VOLT_BAL_LMT_PARAM_ADDR 186 /*均压环PI控制:OutLimit*/ +#define DSP_AC_CUR_KP_PARAM_ADDR 187 /*电流环Kp */ +#define DSP_ACT_DMP_COFF_PARAM_ADDR 188 /*有源阻尼Kp*/ +#define DSP_RCTV_PWT_KP_PARAM_ADDR 189 /*无功稳压控制Kp*/ +#define DSP_RCTV_PWT_KI_PARAM_ADDR 190 /*无功稳压控制Ki*/ +#define DSP_CUR_Q_KP_PARAM_ADDR 191 /*电流环q轴PI控制:Ki*/ +#define DSP_CUR_Q_LMT_PARAM_ADDR 192 /*电流环q轴PI控制:OutLimit*/ +#define DSP_ZERO_ORD_CUR_KP_PARAM_ADDR 193 /*零序电流PI控制:Kp*/ +#define DSP_ZERO_ORD_CUR_KI_PARAM_ADDR 194 /*零序电流PI控制:Ki*/ +#define DSP_ZERO_ORD_CUR_LMT_PARAM_ADDR 195 /*零序电流PI控制:OutLimit*/ +#define DSP_KR_1_PARAM_ADDR 196 /*1次谐振增益*/ +#define DSP_KR_2_PARAM_ADDR 197 /*2次谐振增益*/ +#define DSP_KR_3_PARAM_ADDR 198 /*3次谐振增益*/ +#define DSP_KR_4_PARAM_ADDR 199 /*4次谐振增益*/ +#define DSP_KR_5_PARAM_ADDR 200 /*5次谐振增益*/ +#define DSP_KR_6_PARAM_ADDR 201 /*6次谐振增益*/ +#define DSP_KR_7_PARAM_ADDR 202 /*7次谐振增益*/ +#define DSP_KR_8_PARAM_ADDR 203 /*8次谐振增益*/ +#define DSP_KR_9_PARAM_ADDR 204 /*9次谐振增益*/ +#define DSP_KR_10_PARAM_ADDR 205 /*10次谐振增益*/ +#define DSP_KR_11_PARAM_ADDR 206 /*11次谐振增益*/ +#define DSP_KR_12_PARAM_ADDR 207 /*12次谐振增益*/ +#define DSP_KR_13_PARAM_ADDR 208 /*13次谐振增益*/ +#define DSP_BST_VOLT_KP_PARAM_ADDR 209 /*boost电压环Kp*/ +#define DSP_BST_VOLT_KI_PARAM_ADDR 210 /*boost电压环Ki*/ +#define DSP_BST_CUR_KP_PARAM_ADDR 211 /*boost电流环Kp*/ +#define DSP_BST_CUR_KI_PARAM_ADDR 212 /*boost电流环Ki*/ +#define DSP_LVRT_COFF_PARAM_ADDR 213 /*低电压穿越系数*/ +#define DSP_HVRT_COFF_PARAM_ADDR 214 /*高电压穿越系数*/ +#define DSP_PWM_MODE_PARAM_ADDR 215 /*调制方式*/ +#define DSP_FFWD_MODE_PARAM_ADDR 216 /*电压前馈方式*/ +#define DSP_BUS_VOLT_REF_DWN_LMT_PARAM_ADDR 217 /*母线电压参考值下限*/ +#define DSP_ZERO_CTR_KP_PARAM_ADDR 218 /*零序分量控制kp参数*/ +#define DSP_FFWD_COFF_PARAM_ADDR 219 /*加权前馈的占比系数*/ +#define DSP_PWR_LMT_MODE_EN_PARAM_ADDR 220 /*限功率模式使能*/ +#define DSP_ISLAND_KP_PARAM_ADDR 221 /*孤岛保护Kp*/ +#define DSP_CPWM_M_TH_PARAM_ADDR 222 /*进入CPWM调制度阈值*/ +#define DSP_DPWM_M_TH_PARAM_ADDR 223 /*进入DPWM调制度阈值*/ +#define DSP_CPWM_BUS_VOLT_TH_PARAM_ADDR 224 /*进入CPWM母线电压阈值*/ +#define DSP_DPWM_BUS_VOLT_TH_PARAM_ADDR 225 /*进入DPWM母线电压阈值*/ +#define DSP_DC_VOLT_REF_PARAM_ADDR 226 /*直流电压参考*/ +#define DSP_AC_VOLT_REF_PARAM_ADDR 227 /*交流电压参考*/ +#define DSP_RCTV_CUR_REF_PARAM_ADDR 228 /*无功电流参考*/ +#define DSP_BOOST_CUR_REF1_PARAM_ADDR 229 /*boost1电流参考值*/ +#define DSP_BOOST_CUR_REF2_PARAM_ADDR 230 /*boost2电流参考值*/ +#define DSP_BOOST_CUR_REF3_PARAM_ADDR 231 /*boost3电流参考值*/ +#define DSP_BOOST_CUR_REF4_PARAM_ADDR 232 /*boost4电流参考值*/ +#define DSP_ACTV_CUR_REF_PARAM_ADDR 233 /*有功电流参考*/ +#define DSP_REACTIVE_VOLTAGE_COFF_PARAM_ADDR 234 /*无功调压系数*/ +#define DSP_COM_MODE_CUR_TH_PARAM_ADDR 235 /*共模电流幅值阈值*/ +#define DSP_COM_MODE_CUR_CPWM_TH_PARAM_ADDR 236 /*CPWM共模电流次数*/ +#define DSP_COM_MODE_CUR_DPWM_TH_PARAM_ADDR 237 /*DPWM共模电流次数*/ + +//dsp_ctr_th_param_t +#define DSP_OPEN_CRCT_OV_TH_PARAM_ADDR 251 /*开路电压过高阈值*/ +#define DSP_DC_INPUT_OV_TH_PARAM_ADDR 252 /*直流输入过压阈值*/ +#define DSP_BUS_OV_TH_PARAM_ADDR 253 /*直流母线过压阈值*/ +#define DSP_BUS_UV_TH_PARAM_ADDR 254 /*直流母线欠压阈值*/ +#define DSP_INV_OC_TH_PARAM_ADDR 255 /*逆变电流保护瞬时值*/ +#define DSP_INV_RMS_OC_TH_PARAM_ADDR 256 /*逆变电流保护有效值*/ +#define DSP_INV_CBC_TH_PARAM_ADDR 257 /*逆变电流逐波限流封锁阈值*/ +#define DSP_INV_CBC_UNLCK_TH_PARAM_ADDR 258 /*逆变电流逐波限流解封阈值*/ +#define DSP_BST1_OC_TH_PARAM_ADDR 259 /*Boost1过流软件保护阈值*/ +#define DSP_BST2_OC_TH_PARAM_ADDR 260 /*Boost2过流软件保护阈值*/ +#define DSP_BST_3_OC_TH_PARAM_ADDR 261 /*Boost3过流软件保护阈值*/ +#define DSP_BST4_OC_TH_PARAM_ADDR 262 /*Boost4过流软件保护阈值*/ +#define DSP_PV_SC_VOLT_TH_PARAM_ADDR 263 /*MPPT短路电压阈值*/ +#define DSP_PV_SC_CUR_TH_PARAM_ADDR 264 /*MPPT短路电流阈值*/ +#define DSP_GRD_PHASE_LOSS_TH_PARAM_ADDR 265 /*额定电网保护电压*/ +#define DSP_GRD_OV_TH_PARAM_ADDR 266 /*电网过压阈值*/ +#define DSP_GRD_UV_TH_PARAM_ADDR 267 /*电网欠压阈值*/ +#define DSP_GRD_OV_2ND_TH_PARAM_ADDR 268 /*电网欠压二级保护阈值*/ +#define DSP_GRD_OV_1ST_TH_PARAM_ADDR 269 /*电网欠压一级保护阈值*/ +#define DSP_GRD_UV_1ST_TH_PARAM_ADDR 270 /*电网过压一级保护阈值*/ +#define DSP_GRD_UV_2ND_TH_PARAM_ADDR 271 /*电网过压二级保护阈值*/ +#define DSP_OV_LMT_PWR_TH_PARAM_ADDR 272 /*过压降额阈值*/ +#define DSP_FREQ_OV_LGC_PARAM_ADDR 273 /*电网频率上限*/ +#define DSP_FREQ_UND_LGC_PARAM_ADDR 274 /*电网频率下限*/ +#define DSP_GRD_UND_FREQ_5TH_TH_PARAM_ADDR 275 /*电网欠频五级保护阈值*/ +#define DSP_GRD_UND_FREQ_4TH_TH_PARAM_ADDR 276 /*电网欠频四级保护阈值*/ +#define DSP_GRD_UND_FREQ_3RD_TH_PARAM_ADDR 277 /*电网欠频三级保护阈值*/ +#define DSP_GRD_UND_FREQ_2ND_TH_PARAM_ADDR 278 /*电网欠频二级保护阈值*/ +#define DSP_GRD_UND_FREQ_1ST_TH_PARAM_ADDR 279 /*电网欠频一级保护阈值*/ +#define DSP_GRD_OVER_FREQ_1ST_TH_PARAM_ADDR 280 /*电网过频一级保护阈值*/ +#define DSP_GRD_OVER_FREQ_2ND_TH_PARAM_ADDR 281 /*电网过频二级保护阈值*/ +#define DSP_GRD_OVER_FREQ_3RD_TH_PARAM_ADDR 282 /*电网过频三级保护阈值*/ +#define DSP_OV_FREQ_LMT_PWR_TH_PARAM_ADDR 283 /*过频降额阈值*/ +#define DSP_CAP_OC_TH_PARAM_ADDR 284 /*滤波电容过流保护阈值*/ +#define DSP_CAP_OV_TH_PARAM_ADDR 285 /*滤波电容过压保护阈值*/ +#define DSP_INSLT_RSTR_TH_PARAM_ADDR 286 /*绝缘阻抗检测阈值*/ +#define DSP_GRD_FLT_DIS_INNER_FLT_EN_PARAM_ADDR 287 /*电网故障屏蔽内部故障*/ +#define DSP_ACT_ISLAND_DTCT_TH_PARAM_ADDR 288 /*主动反孤岛阈值*/ +#define DSP_ACT_ISLAND_DTCT_VAR_TH_PARAM_ADDR 289 /*反孤岛无功电流余量*/ +#define DSP_PV_LINE_DTCT_EN_PARAM_ADDR 290 /*PV接线检测(未启用)*/ +#define DSP_PV_INVERSED_INPUT_VOL_TH_PARAM_ADDR 291 /*PV反接电压阈值*/ +#define DSP_PV_INVERSED_INPUT_CURR_TH_PARAM_ADDR 292 /*PV反接电感电流阈值*/ +#define DSP_PV_BACKWARD_INPUT_VOL_TH_PARAM_ADDR 293 /*PV回灌电压阈值*/ +#define DSP_PV_BRANCH_INPUT_CURR_TH_PARAM_ADDR 294 /*支路输入电流阈值*/ +#define DSP_PV_BRANCH_INPUT_CURR_TH1_PARAM_ADDR 295 /*支路输入电流阈值1*/ +#define DSP_PV_BRANCH_INPUT_CURR_TH2_PARAM_ADDR 296 /*支路输入电流阈值2*/ +#define DSP_ECO_WARNING_1_PARAM_ADDR 297 /*节能告警阈值1*/ +#define DSP_ECO_WARNING_2_PARAM_ADDR 298 /*节能告警阈值2*/ +#define DSP_CAVITY_OVERTEMP_TH_PARAM_ADDR 299 /*腔体过温阈值*/ +#define DSP_CAVITY_OVERTEMP_TH2_PARAM_ADDR 300 /*腔体2过温阈值*/ +#define DSP_COLLFIN_OVERTEMP_TH_PARAM_ADDR 301 /*散热片过温阈值*/ +#define DSP_Q_U_LOW_VOL_TH_PARAM_ADDR 302 /*Q-U低压系数阈值*/ +#define DSP_Q_U_HIGH_VOL_TH_PARAM_ADDR 303 /*Q-U高压系数阈值*/ +#define DSP_LVRT_BORDER_TH_PARAM_ADDR 304 /*低穿穿越边界*/ +#define DSP_HVRT_BORDER_TH_PARAM_ADDR 305 /*高穿穿越边界*/ +#define DSP_OVER_CAP_CURRENT_TIME_MS_PARAM_ADDR 306 /*滤波电容过流保护时间*/ +#define DSP_OVER_RMS_CURRENT_TIME_MS_PARAM_ADDR 307 /*逆变过流保护时间*/ +#define DSP_GRID_OVER_VOLT_L0_TIME_MS_PARAM_ADDR 308 /*电网过压L0保护时间*/ +#define DSP_GRID_OVER_VOLT_L1_TIME_MS_PARAM_ADDR 309 /*电网过压L1保护时间*/ +#define DSP_GRID_OVER_VOLT_L2_TIME_MS_PARAM_ADDR 310 /*电网过压L2保护时间*/ +#define DSP_GRID_BELOW_VOLT_L0_TIME_MS_PARAM_ADDR 311 /*电网欠压L0保护时间*/ +#define DSP_GRID_BELOW_VOLT_L1_TIME_MS_PARAM_ADDR 312 /*电网欠压L1保护时间*/ +#define DSP_GRID_BELOW_VOLT_L2_TIME_MS_PARAM_ADDR 313 /*电网欠压L2保护时间*/ +#define DSP_GRID_OVER_FREQ_L0_TIME_MS_PARAM_ADDR 314 /*电网过频L0保护时间*/ +#define DSP_GRID_OVER_FREQ_L1_TIME_S_PARAM_ADDR 315 /*电网过频L1保护时间*/ +#define DSP_GRID_OVER_FREQ_L2_TIME_S_PARAM_ADDR 316 /*电网过频L2保护时间*/ +#define DSP_GRID_OVER_FREQ_L3_TIME_MS_PARAM_ADDR 317 /*电网过频L3保护时间*/ +#define DSP_GRID_BELOW_FREQ_L0_TIME_MS_PARAM_ADDR 318 /*电网欠频L0保护时间*/ +#define DSP_GRID_BELOW_FREQ_L1_TIME_S_PARAM_ADDR 319 /*电网欠频L1保护时间*/ +#define DSP_GRID_BELOW_FREQ_L2_TIME_S_PARAM_ADDR 320 /*电网欠频L2保护时间*/ +#define DSP_GRID_BELOW_FREQ_L3_TIME_S_PARAM_ADDR 321 /*电网欠频L3保护时间*/ +#define DSP_GRID_BELOW_FREQ_L4_TIME_S_PARAM_ADDR 322 /*电网欠频L4保护时间*/ +#define DSP_GRID_BELOW_FREQ_L5_TIME_MS_PARAM_ADDR 323 /*电网欠频L5保护时间*/ +#define DSP_OVER_BUS_VOLT_TIME_MS_PARAM_ADDR 324 /*母线欠压保护时间*/ + +//dsp_ctr_limit_param_t +#define DSP_RT_RCTV_CUR_LMT_PARAM_ADDR 331 /*高低穿无功电流限幅值*/ +#define DSP_INV_CUR_LMT_PARAM_ADDR 332 /*逆变总电流限幅值*/ +#define DSP_INV_ACT_CUR_LMT_PARAM_ADDR 333 /*逆变有功电流限幅值*/ +#define DSP_INV_RCTV_CUR_LMT_PARAM_ADDR 334 /*逆变无功电流限幅值*/ +#define DSP_BST1_CUR_LMT_PARAM_ADDR 335 /*Boost1单路电流限幅值*/ +#define DSP_BST2_CUR_LMT_PARAM_ADDR 336 /*Boost2单路电流限幅值*/ +#define DSP_BST3_CUR_LMT_PARAM_ADDR 337 /*Boost3单路电流限幅值*/ +#define DSP_BST4_CUR_LMT_PARAM_ADDR 338 /*Boost4单路电流限幅值*/ +#define DSP_5TH_CUR_LMT_PARAM_ADDR 339 /*5次谐波电流限幅值*/ +#define DSP_7TH_CUR_LMT_PARAM_ADDR 340 /*7次谐波电流限幅值*/ +#define DSP_11TH_CUR_LMT_PARAM_ADDR 341 /*11次谐波电流限幅值*/ +#define DSP_13TH_CUR_LMT_PARAM_ADDR 342 /*13次谐波电流限幅值*/ +#define DSP_17TH_CUR_LMT_PARAM_ADDR 343 /*17次谐波电流限幅值*/ +#define DSP_19TH_CUR_LMT_PARAM_ADDR 344 /*19次谐波电流限幅值*/ +#define DSP_2TH_CUR_LMT_PARAM_ADDR 345 /*2次谐波电流限幅值*/ +#define DSP_4TH_CUR_LMT_PARAM_ADDR 346 /*4次谐波电流限幅值*/ +#define DSP_6TH_CUR_LMT_PARAM_ADDR 347 /*6次谐波电流限幅值*/ +#define DSP_8TH_CUR_LMT_PARAM_ADDR 348 /*8次谐波电流限幅值*/ +#define DSP_10TH_CUR_LMT_PARAM_ADDR 349 /*10次谐波电流限幅值*/ +#define DSP_14TH_CUR_LMT_PARAM_ADDR 350 /*14次谐波电流限幅值*/ +#define DSP_16TH_CUR_LMT_PARAM_ADDR 351 /*16次谐波电流限幅值*/ +#define DSP_20TH_CUR_LMT_PARAM_ADDR 352 /*20次谐波电流限幅值*/ +#define DSP_DPWM_AP_TH_PARAM_ADDR 353 /*进入DPWM视在功率阈值*/ +#define DSP_CPWM_AP_TH_PARAM_ADDR 354 /*进入CPWM视在功率阈值*/ +#define DSP_LEAD_COMP_KP_PARAM_ADDR 355 /*零序超前补偿kp*/ +#define DSP_COLLFIN_OVERTEMP_LMT_TH_PARAM_ADDR 356 /*散热片过温降功率阈值*/ +#define DSP_CAVITY_OVERTEMP_LMT_TH_PARAM_ADDR 357 /*腔体过温降功率阈值*/ +#define DSP_CAVITY2_OVERTEMP_LMT_TH_PARAM_ADDR 358 /*腔体2过温降功率阈值*/ +#define DSP_OVERTEMP_PWR_DOWN_TH_PARAM_ADDR 359 /*过温降额功率下限*/ +#define DSP_FAN_FAULT_PWR_DOWN_TH_PARAM_ADDR 360 /*风扇故障降额功率下限*/ +#define DSP_OVERTEMP_PWR_UP_TH_PARAM_ADDR 361 /*过温降额功率上限*/ +#define DSP_OVERTEMP_PWR_CHANGE_DOWN_TH_PARAM_ADDR 362 /*过温降额功率变化率上限*/ + +//dsp_debug_test_control_t +#define DSP_RESERVE_PARAM5_0_PARAM_ADDR 381 /*预留参数5_0*/ +#define DSP_RESERVE_PARAM5_1_PARAM_ADDR 382 /*预留参数5_1*/ +#define DSP_RESERVE_PARAM5_2_PARAM_ADDR 383 /*预留参数5_2*/ +#define DSP_RESERVE_PARAM5_3_PARAM_ADDR 384 /*预留参数5_3*/ +#define DSP_SYSTM_STA_PARAM_ADDR 385 /*整机状态*/ +#define DSP_INV_STA_PARAM_ADDR 386 /*逆变状态*/ +#define DSP_MPPT1_STATE_PARAM_ADDR 387 /*MPPT1状态(debug)*/ +#define DSP_MPPT2_STATE_PARAM_ADDR 388 /*MPPT2状态(debug)*/ +#define DSP_MPPT3_STATE_PARAM_ADDR 389 /*MPPT3状态(debug)*/ +#define DSP_MPPT4_STATE_PARAM_ADDR 390 /*MPPT4状态(debug)*/ +#define DSP_LOW_PWR_FLG_PARAM_ADDR 391 /*功率不足标志*/ +#define DSP_MPPT_MANUAL_REFERENCE_PARAM_ADDR 392 /*MPPT手动参考标志位*/ +#define DSP_MPPT_MANUAL_REFERENCE_VALUE_PARAM_ADDR 393 /*MPPT手动参考值*/ +#define DSP_VOLT_BAL_TH_PARAM_ADDR 394 /*母线均压开启阈值*/ +#define DSP_RESERVE_PARAM5_4_PARAM_ADDR 395 /*预留参数5_4*/ +#define DSP_RESERVE_PARAM5_5_PARAM_ADDR 396 /*预留参数5_5*/ + +//dsp_calibrate_t +#define DSP_AUTO_CALIBRATE_EN_PARAM_ADDR 420 /*自动化校准使能*/ +#define DSP_AUTO_CALIBRATE_STATE_PARAM_ADDR 421 /*自动化校准状态*/ +#define DSP_AUTO_CALIBRATE_CMD_PARAM_ADDR 422 /*自动化校准指令*/ +#define DSP_AUTO_CALIBRATE_RESULT_PARAM_ADDR 423 /*自动化校准结果*/ +#define DSP_AUTO_CALIBRATE_REFRESH_FLAG_PARAM_ADDR 424 /*自动化校准刷新标志*/ +#define DSP_RESERVE_PARAM6_6_PARAM_ADDR 425 /*预留参数6_6*/ +#define DSP_RESERVE_PARAM6_7_PARAM_ADDR 426 /*预留参数6_7*/ +#define DSP_RESERVE_PARAM6_8_PARAM_ADDR 427 /*预留参数6_8*/ +#define DSP_RESERVE_PARAM6_9_PARAM_ADDR 428 /*预留参数6_9*/ +#define DSP_RESERVE_PARAM6_10_PARAM_ADDR 429 /*预留参数6_10*/ +#define DSP_RESERVE_PARAM6_11_PARAM_ADDR 430 /*预留参数6_11*/ +#define DSP_RESERVE_PARAM6_12_PARAM_ADDR 431 /*预留参数6_12*/ +#define DSP_RESERVE_PARAM6_13_PARAM_ADDR 432 /*预留参数6_13*/ +#define DSP_RESERVE_PARAM6_14_PARAM_ADDR 433 /*预留参数6_14*/ +#define DSP_RESERVE_PARAM6_15_PARAM_ADDR 434 /*预留参数6_15*/ +#define DSP_RESERVE_PARAM6_16_PARAM_ADDR 435 /*预留参数6_16*/ +#define DSP_RESERVE_PARAM6_17_PARAM_ADDR 436 /*预留参数6_17*/ +#define DSP_RESERVE_PARAM6_18_PARAM_ADDR 437 /*预留参数6_18*/ +#define DSP_RESERVE_PARAM6_19_PARAM_ADDR 438 /*预留参数6_19*/ +#define DSP_RESERVE_PARAM6_20_PARAM_ADDR 439 /*预留参数6_20*/ +#define DSP_RESERVE_PARAM6_21_PARAM_ADDR 440 /*预留参数6_21*/ +#define DSP_RESERVE_PARAM6_22_PARAM_ADDR 441 /*预留参数6_22*/ +#define DSP_RESERVE_PARAM6_23_PARAM_ADDR 442 /*预留参数6_23*/ +#define DSP_RESERVE_PARAM6_24_PARAM_ADDR 443 /*预留参数6_24*/ +#define DSP_RESERVE_PARAM6_25_PARAM_ADDR 444 /*预留参数6_25*/ +#define DSP_RESERVE_PARAM6_26_PARAM_ADDR 445 /*预留参数6_26*/ +#define DSP_RESERVE_PARAM6_27_PARAM_ADDR 446 /*预留参数6_27*/ +#define DSP_RESERVE_PARAM6_28_PARAM_ADDR 447 /*预留参数6_28*/ +#define DSP_RESERVE_PARAM6_29_PARAM_ADDR 448 /*预留参数6_29*/ +#define DSP_RESERVE_PARAM6_30_PARAM_ADDR 449 /*预留参数6_30*/ +#define DSP_RESERVE_PARAM6_31_PARAM_ADDR 450 /*预留参数6_31*/ +#define DSP_RESERVE_PARAM6_32_PARAM_ADDR 451 /*预留参数6_32*/ +#define DSP_RESERVE_PARAM6_33_PARAM_ADDR 452 /*预留参数6_33*/ +#define DSP_RESERVE_PARAM6_34_PARAM_ADDR 453 /*预留参数6_34*/ +#define DSP_RESERVE_PARAM6_35_PARAM_ADDR 454 /*预留参数6_35*/ +#define DSP_RESERVE_PARAM6_36_PARAM_ADDR 455 /*预留参数6_36*/ +#define DSP_RESERVE_PARAM6_37_PARAM_ADDR 456 /*预留参数6_37*/ + +//dsp_data_file_t +#define DSP_DEV_ADDR_PARAM_ADDR 500 /*本地通信地址(模块号)*/ +#define DSP_DEVICE_RATED_ACTV_PWR_PARAM_ADDR 501 /*装置额定有功功率(设备容量)*/ +#define DSP_DEVICE_RATED_RCTV_PWR_PARAM_ADDR 502 /*装置额定无功功率*/ +#define DSP_APP_VER_PARAM_ADDR 503 /*DSP主控版本号*/ +#define DSP_BOOT_VER_PARAM_ADDR 505 /*DSP底层版本号*/ +#define DSP_PROG_CODE_PARAM_ADDR 507 /*DSP主控程序组件号*/ +#define DSP_DEV_TYPE_PARAM_ADDR 510 /*设备类型*/ +#define DSP_PROT_VER_PARAM_ADDR 511 /*DSP使用地址表协议版本号*/ +#define DSP_CFG_CRC_H_PARAM_ADDR 512 /*DSP配置参数CRC高16位*/ +#define DSP_CFG_CRC_L_PARAM_ADDR 513 /*DSP配置参数CRC低16位*/ +#define DSP_DEVICE_PHASE_PARAM_ADDR 514 /*相数*/ +#define DSP_APP_VER_NEW_PARAM_ADDR 515 /*DSP主控版本号新格式*/ +#define DSP_BOOT_VER_NEW_PARAM_ADDR 519 /*DSP底层版本号新格式*/ +#define DSP_MPPT_NUMBER_PARAM_ADDR 523 /*MPPT数量*/ + +//dsp_data_hardware_t +#define DSP_RELAY_A_STAT_PARAM_ADDR 550 /*继电器A状态*/ +#define DSP_RELAY_B_STAT_PARAM_ADDR 551 /*继电器B状态*/ +#define DSP_RELAY_C_STAT_PARAM_ADDR 552 /*继电器C状态*/ + +//dsp_data_state_t +#define DSP_FAULT1_1_PARAM_ADDR 560 /*一般故障1*/ +#define DSP_FAULT1_2_PARAM_ADDR 561 /*一般故障2*/ +#define DSP_FAULT1_3_PARAM_ADDR 562 /*一般故障3*/ +#define DSP_FAULT1_4_PARAM_ADDR 563 /*一般故障4*/ +#define DSP_FAULT2_1_PARAM_ADDR 564 /*严重故障1*/ +#define DSP_FAULT2_2_PARAM_ADDR 565 /*严重故障2*/ +#define DSP_FAULT2_3_PARAM_ADDR 566 /*严重故障3*/ +#define DSP_FAULT2_4_PARAM_ADDR 567 /*严重故障4*/ +#define DSP_WARING_1_PARAM_ADDR 568 /*告警事件1*/ +#define DSP_WARING_2_PARAM_ADDR 569 /*告警事件2*/ +#define DSP_SLF_CHK_1_PARAM_ADDR 570 /*自检事件1*/ +#define DSP_SLF_CHK_2_PARAM_ADDR 571 /*自检事件2*/ +#define DSP_RUN_MODE_STA_PARAM_ADDR 590 /*DSP运行状态*/ +#define DSP_PHASE_STA_PARAM_ADDR 591 /*电压相序显示*/ +#define DSP_MPPT1_STA_PARAM_ADDR 592 /*MPPT1状态*/ +#define DSP_MPPT2_STA_PARAM_ADDR 593 /*MPPT2状态*/ +#define DSP_DEV_STA_PARAM_ADDR 594 /*显示运行模式*/ +#define DSP_FAULT_LABEL_PARAM_ADDR 595 /*故障状态标志*/ +#define DSP_LGC_LABEL_PARAM_ADDR 596 /*逻辑状态标签*/ +#define DSP_ECHO_LABEL_PARAM_ADDR 597 /*节能状态标签*/ +#define DSP_PLL_LABEL_PARAM_ADDR 598 /*锁相状态标签*/ +#define DSP_AUX_LABEL_PARAM_ADDR 599 /*辅助状态标签*/ +#define DSP_OV_TEM_HALF_PWR_LABEL_PARAM_ADDR 600 /*过温半载运行标签*/ +#define DSP_DC_LED_STATE_DISPLAY_PARAM_ADDR 601 /*DSP直流灯状态指示*/ +#define DSP_AC_LED_STATE_DISPLAY_PARAM_ADDR 602 /*DSP交流灯状态指示*/ +#define DSP_DEVICE_MODULATION_STATE_PARAM_ADDR 603 /*设备调制状态*/ +#define DSP_MPPT3_STA_PARAM_ADDR 604 /*MPPT3状态*/ +#define DSP_MPPT4_STA_PARAM_ADDR 605 /*MPPT4状态*/ +#define DSP_OVER_TEMP_LIMIT_PWR_PARAM_ADDR 606 /*过温限功率状态*/ + +//dsp_data_collect_t +#define DSP_GRID_FREQ_PARAM_ADDR 620 /*电网频率*/ +#define DSP_DC_INPUT_AVG_VOLT_PARAM_ADDR 621 /*总母线电压avg*/ +#define DSP_DC_UP_SIDE_AVG_VOLT_PARAM_ADDR 622 /*上母线电压avg*/ +#define DSP_DC_LOW_SIDE_AVG_VOLT_PARAM_ADDR 623 /*下母线电压_avg*/ +#define DSP_GRID_A_RMS_VOLT_PARAM_ADDR 624 /*电网电压A_RMS*/ +#define DSP_GRID_B_RMS_VOLT_PARAM_ADDR 625 /*电网电压B_RMS*/ +#define DSP_GRID_C_RMS_VOLT_PARAM_ADDR 626 /*电网电压C_RMS*/ +#define DSP_CAP_A_RMS_VOLT_PARAM_ADDR 627 /*逆变阻尼电压A_RMS*/ +#define DSP_CAP_B_RMS_VOLT_PARAM_ADDR 628 /*逆变阻尼电压B_RMS*/ +#define DSP_CAP_C_RMS_VOLT_PARAM_ADDR 629 /*逆变阻尼电压C_RMS*/ +#define DSP_INV_A_RMS_CUR_PARAM_ADDR 630 /*逆变电流A_RMS*/ +#define DSP_INV_B_RMS_CUR_PARAM_ADDR 631 /*逆变电流B_RMS*/ +#define DSP_INV_C_RMS_CUR_PARAM_ADDR 632 /*逆变电流C_RMS*/ +#define DSP_CAP_A_RMS_CUR_PARAM_ADDR 633 /*LCL电容电流A_RMS*/ +#define DSP_CAP_B_RMS_CUR_PARAM_ADDR 634 /*LCL电容电流B_RMS*/ +#define DSP_CAP_C_RMS_CUR_PARAM_ADDR 635 /*LCL电容电流C_RMS*/ +#define DSP_RESERVE_DATA2_7_PARAM_ADDR 636 /*预留数据2_7*/ +#define DSP_RESERVE_DATA2_8_PARAM_ADDR 637 /*预留数据2_8*/ +#define DSP_RESERVE_DATA2_9_PARAM_ADDR 638 /*预留数据2_9*/ +#define DSP_BOOST_PV_VOLT_1_PARAM_ADDR 639 /*BOOST输入电压1路*/ +#define DSP_BOOST_PV_VOLT_2_PARAM_ADDR 640 /*BOOST输入电压2路*/ +#define DSP_BOOST_PV_VOLT_3_PARAM_ADDR 641 /*BOOST输入电压3路*/ +#define DSP_BOOST_PV_VOLT_4_PARAM_ADDR 642 /*BOOST输入电压4路*/ +#define DSP_BOOST1_PV_CUR_1_PARAM_ADDR 643 /*1路BOOST组串电流1*/ +#define DSP_BOOST2_PV_CUR_1_PARAM_ADDR 644 /*2路BOOST组串电流1*/ +#define DSP_BOOST3_PV_CUR_1_PARAM_ADDR 645 /*3路BOOST组串电流1*/ +#define DSP_BOOST4_PV_CUR_1_PARAM_ADDR 646 /*4路BOOST组串电流1*/ +#define DSP_BOOST_INDUC_CUR_1_PARAM_ADDR 647 /*BOOST电感电流1路*/ +#define DSP_BOOST_INDUC_CUR_2_PARAM_ADDR 648 /*BOOST电感电流2路*/ +#define DSP_BOOST_INDUC_CUR_3_PARAM_ADDR 649 /*BOOST电感电流3路*/ +#define DSP_BOOST_INDUC_CUR_4_PARAM_ADDR 650 /*BOOST电感电流4路*/ +#define DSP_DEVICE_CURR_A_PARAM_ADDR 651 /*设备电流A*/ +#define DSP_DEVICE_CURR_B_PARAM_ADDR 652 /*设备电流B*/ +#define DSP_DEVICE_CURR_C_PARAM_ADDR 653 /*设备电流C*/ +#define DSP_BOOST1_PV_CUR_2_PARAM_ADDR 654 /*1路BOOST组串电流2*/ +#define DSP_BOOST2_PV_CUR_2_PARAM_ADDR 655 /*2路BOOST组串电流2*/ +#define DSP_BOOST3_PV_CUR_2_PARAM_ADDR 656 /*3路BOOST组串电流2*/ +#define DSP_BOOST4_PV_CUR_2_PARAM_ADDR 657 /*4路BOOST组串电流2*/ +#define DSP_RESERVE_DATA2_1_PARAM_ADDR 676 /*预留数据2_1*/ +#define DSP_RESERVE_DATA2_2_PARAM_ADDR 677 /*预留数据2_2*/ +#define DSP_RESERVE_DATA2_3_PARAM_ADDR 678 /*预留数据2_3*/ +#define DSP_RESERVE_DATA2_4_PARAM_ADDR 679 /*预留数据2_4*/ +#define DSP_RESERVE_DATA2_5_PARAM_ADDR 680 /*预留数据2_5*/ +#define DSP_RESERVE_DATA2_6_PARAM_ADDR 681 /*预留数据2_6*/ + +//dsp_data_power_t +#define DSP_DEV_A_ACTV_PWR_PARAM_ADDR 690 /*装置侧有功功率A*/ +#define DSP_DEV_B_ACTV_PWR_PARAM_ADDR 691 /*装置侧有功功率B*/ +#define DSP_DEV_C_ACTV_PWR_PARAM_ADDR 692 /*装置侧有功功率C*/ +#define DSP_DEV_ACTV_PWR_PARAM_ADDR 693 /*装置侧有功功率总*/ +#define DSP_DEV_A_RCTV_PWR_PARAM_ADDR 694 /*装置侧无功功率A*/ +#define DSP_DEV_B_RCTV_PWR_PARAM_ADDR 695 /*装置侧无功功率B*/ +#define DSP_DEV_C_RCTV_PWR_PARAM_ADDR 696 /*装置侧无功功率C*/ +#define DSP_DEV_RCTV_PWR_PARAM_ADDR 697 /*装置侧无功功率总*/ +#define DSP_DEV_A_APRT_PWR_PARAM_ADDR 698 /*装置侧视在功率A*/ +#define DSP_DEV_B_APRT_PWR_PARAM_ADDR 699 /*装置侧视在功率B*/ +#define DSP_DEV_C_APRT_PWR_PARAM_ADDR 700 /*装置侧视在功率C*/ +#define DSP_DEV_APRT_PWR_PARAM_ADDR 701 /*装置侧视在功率总*/ +#define DSP_DEV_A_PF_PARAM_ADDR 702 /*装置侧功率因数A*/ +#define DSP_DEV_B_PF_PARAM_ADDR 703 /*装置侧功率因数B*/ +#define DSP_DEV_C_PF_PARAM_ADDR 704 /*装置侧功率因数C*/ +#define DSP_DEV_PF_PARAM_ADDR 705 /*装置侧功率因数总*/ +#define DSP_GRID_A_ACTV_PWR_PARAM_ADDR 706 /*网侧有功功率A*/ +#define DSP_GRID_B_ACTV_PWR_PARAM_ADDR 707 /*网侧有功功率B*/ +#define DSP_GRID_C_ACTV_PWR_PARAM_ADDR 708 /*网侧有功功率C*/ +#define DSP_GRID_ACTV_PWR_PARAM_ADDR 709 /*网侧有功功率总*/ +#define DSP_GRID_A_RCTV_PWR_PARAM_ADDR 710 /*网侧无功功率A*/ +#define DSP_GRID_B_RCTV_PWR_PARAM_ADDR 711 /*网侧无功功率B*/ +#define DSP_GRID_C_RCTV_PWR_PARAM_ADDR 712 /*网侧无功功率C*/ +#define DSP_GRID_RCTV_PWR_PARAM_ADDR 713 /*网侧无功功率总*/ +#define DSP_GRID_A_APRT_PWR_PARAM_ADDR 714 /*网侧视在功率A*/ +#define DSP_GRID_B_APRT_PWR_PARAM_ADDR 715 /*网侧视在功率B*/ +#define DSP_GRID_C_APRT_PWR_PARAM_ADDR 716 /*网侧视在功率C*/ +#define DSP_GRID_APRT_PWR_PARAM_ADDR 717 /*网侧视在功率总*/ +#define DSP_GRID_A_PF_PARAM_ADDR 718 /*网侧功率因数A*/ +#define DSP_GRID_B_PF_PARAM_ADDR 719 /*网侧功率因数B*/ +#define DSP_GRID_C_PF_PARAM_ADDR 720 /*网侧功率因数C*/ +#define DSP_GRID_PF_PARAM_ADDR 721 /*网侧功率因数总*/ +#define DSP_LOAD_A_ACTV_PWR_PARAM_ADDR 722 /*负载有功功率A*/ +#define DSP_LOAD_B_ACTV_PWR_PARAM_ADDR 723 /*负载有功功率B*/ +#define DSP_LOAD_C_ACTV_PWR_PARAM_ADDR 724 /*负载有功功率C*/ +#define DSP_LOAD_ACTV_PWR_PARAM_ADDR 725 /*负载有功功率总*/ +#define DSP_LOAD_A_RCTV_PWR_PARAM_ADDR 726 /*负载无功功率A*/ +#define DSP_LOAD_B_RCTV_PWR_PARAM_ADDR 727 /*负载无功功率B*/ +#define DSP_LOAD_C_RCTV_PWR_PARAM_ADDR 728 /*负载无功功率C*/ +#define DSP_LOAD_RCTV_PWR_PARAM_ADDR 729 /*负载无功功率总*/ +#define DSP_LOAD_A_APRT_PWR_PARAM_ADDR 730 /*负载视在功率A*/ +#define DSP_LOAD_B_APRT_PWR_PARAM_ADDR 731 /*负载视在功率B*/ +#define DSP_LOAD_C_APRT_PWR_PARAM_ADDR 732 /*负载视在功率C*/ +#define DSP_LOAD_APRT_PWR_PARAM_ADDR 733 /*负载视在功率总*/ +#define DSP_LOAD_A_PF_PARAM_ADDR 734 /*负载功率因数A*/ +#define DSP_LOAD_B_PF_PARAM_ADDR 735 /*负载功率因数B*/ +#define DSP_LOAD_C_PF_PARAM_ADDR 736 /*负载功率因数C*/ +#define DSP_LOAD_PF_PARAM_ADDR 737 /*负载功率因数总*/ +#define DSP_BOOST_PWR_1_PARAM_ADDR 738 /*BOOST功率1路*/ +#define DSP_BOOST_PWR_2_PARAM_ADDR 739 /*BOOST功率2路*/ +#define DSP_BOOST_PWR_3_PARAM_ADDR 740 /*BOOST功率3路*/ +#define DSP_BOOST_PWR_4_PARAM_ADDR 741 /*BOOST功率4路*/ +#define DSP_BOOST_PWR_PARAM_ADDR 742 /*BOOST功率总*/ + +//dsp_data_unbalance_t +#define DSP_GRID_CUR_UNB_PARAM_ADDR 770 /*网侧电流不平衡度*/ +#define DSP_GRID_CUR_UNB2_PARAM_ADDR 771 /*网侧电流负序不平衡度*/ +#define DSP_GRID_CUR_UNB0_PARAM_ADDR 772 /*网侧电流零序不平衡度*/ +#define DSP_LOAD_CUR_UNB_PARAM_ADDR 773 /*负载电流不平衡度*/ +#define DSP_LOAD_CUR_UNB2_PARAM_ADDR 774 /*负载电流负序不平衡度*/ +#define DSP_LOAD_CUR_UNB0_PARAM_ADDR 775 /*负载电流零序不平衡度*/ +#define DSP_GRID_VOLT_UNB_PARAM_ADDR 776 /*电网电压不平衡度*/ +#define DSP_GRID_VOLT_UNB2_PARAM_ADDR 777 /*电网电压负序不平衡度*/ +#define DSP_GRID_VOLT_UNB0_PARAM_ADDR 778 /*电网电压零序不平衡度*/ + +#endif /* __MW_PARAM_MANAGER_DSP_STRUCT_H__ */ diff --git a/test/PV_Inverter/dsp/mw_param_manager_dsp_struct.c b/test/PV_Inverter/dsp/mw_param_manager_dsp_struct.c new file mode 100644 index 0000000..f4b75b4 --- /dev/null +++ b/test/PV_Inverter/dsp/mw_param_manager_dsp_struct.c @@ -0,0 +1,684 @@ +#include +#include "project.h" +#include "mw_param_manager_dsp_struct.h" + + + + +const modbus_param_value_info_t s_ast_param_range[MAX_VALID_PARAM_ADDRESS + 1] = +{ + /*address, datatype, default_value, min_value, max_value*/ + {0, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*A相采样校准a(网侧交流电压采样)*/ + {1, DATATYPE_INT16_T, 0, -32768, 32767, }, /*A相采样校准b(网侧交流电压采样)*/ + {2, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*B相采样校准a(网侧交流电压采样)*/ + {3, DATATYPE_INT16_T, 0, -32768, 32767, }, /*B相采样校准b(网侧交流电压采样)*/ + {4, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*C相采样校准a(网侧交流电压采样)*/ + {5, DATATYPE_INT16_T, 0, -32768, 32767, }, /*C相采样校准b(网侧交流电压采样)*/ + {6, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*A相采样校准a(逆变侧电感电流)*/ + {7, DATATYPE_INT16_T, 0, -32768, 32767, }, /*A相采样校准b(逆变侧电感电流)*/ + {8, DATATYPE_INT16_T, 0, -32768, 32767, }, /*A相逆变电流相位偏移量*/ + {9, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*B相采样校准a(逆变侧电感电流)*/ + {10, DATATYPE_INT16_T, 0, -32768, 32767, }, /*B相采样校准b(逆变侧电感电流)*/ + {11, DATATYPE_INT16_T, 0, -32768, 32767, }, /*B相逆变电流相位偏移量*/ + {12, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*C相采样校准a(逆变侧电感电流)*/ + {13, DATATYPE_INT16_T, 0, -32768, 32767, }, /*C相采样校准b(逆变侧电感电流)*/ + {14, DATATYPE_INT16_T, 0, -32768, 32767, }, /*C相逆变电流相位偏移量*/ + {15, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*A相LCL电容电流系数*/ + {16, DATATYPE_INT16_T, 0, -32768, 32767, }, /*A相LCL电容电流相位偏移量*/ + {17, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*B相LCL电容电流系数*/ + {18, DATATYPE_INT16_T, 0, -32768, 32767, }, /*B相LCL电容电流相位偏移量*/ + {19, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*C相LCL电容电流系数*/ + {20, DATATYPE_INT16_T, 0, -32768, 32767, }, /*C相LCL电容电流相位偏移量*/ + {21, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a(BOOST1电感电流)*/ + {22, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b(BOOST1电感电流)*/ + {23, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a(BOOST2电感电流)*/ + {24, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b(BOOST2电感电流)*/ + {25, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a(BOOST3电感电流)*/ + {26, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b(BOOST3电感电流)*/ + {27, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a(BOOST4电感电流)*/ + {28, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b(BOOST4电感电流)*/ + {29, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a支路1(输入电压)*/ + {30, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b支路1(输入电压)*/ + {31, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a支路2(输入电压)*/ + {32, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b支路2(输入电压)*/ + {33, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a支路3(输入电压)*/ + {34, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b支路3(输入电压)*/ + {35, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a支路4(输入电压)*/ + {36, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b支路4(输入电压)*/ + {37, DATATYPE_UINT16_T, 10000, 7000, 13000, }, /*采样校准a(温度补偿)*/ + {38, DATATYPE_INT16_T, 0, -32768, 32767, }, /*采样校准b(温度补偿)*/ + {39, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {40, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {41, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {42, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {43, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {44, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {45, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {46, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {47, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {48, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {49, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {50, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {51, DATATYPE_UINT16_T, 0, 0, 1, }, /*开机*/ + {52, DATATYPE_UINT16_T, 0, 0, 1, }, /*关机*/ + {53, DATATYPE_UINT16_T, 0, 0, 1, }, /*故障复位*/ + {54, DATATYPE_UINT16_T, 0, 0, 1, }, /*芯片复位重启*/ + {55, DATATYPE_UINT16_T, 0, 0, 1, }, /*功率单元自检(调试)*/ + {56, DATATYPE_UINT16_T, 0, 0, 1, }, /*参数还原*/ + {57, DATATYPE_UINT16_T, 0, 0, 1, }, /*过温限功率标志*/ + {58, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {59, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {60, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {61, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {62, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {63, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {64, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {65, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {66, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {67, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {68, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {69, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {70, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {71, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {72, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {73, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {74, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {75, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {76, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {77, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {78, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {79, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {80, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {81, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {82, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {83, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {84, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {85, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {86, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {87, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {88, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {89, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {90, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {91, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {92, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {93, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {94, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {95, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {96, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {97, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {98, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {99, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {100, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {101, DATATYPE_UINT16_T, 1, 0, 1, }, /*工作使能*/ + {102, DATATYPE_UINT16_T, 1, 0, 1, }, /*孤岛检测使能*/ + {103, DATATYPE_UINT16_T, 0, 0, 1, }, /*LVRT使能*/ + {104, DATATYPE_UINT16_T, 0, 0, 1, }, /*HVRT使能*/ + {105, DATATYPE_UINT16_T, 1, 0, 1, }, /*MPPT使能*/ + {106, DATATYPE_UINT16_T, 0, 0, 1, }, /*老化测试使能*/ + {107, DATATYPE_UINT16_T, 1, 0, 1, }, /*相序异常运行使能*/ + {108, DATATYPE_UINT16_T, 1, 0, 1, }, /*预留参数1_3*/ + {109, DATATYPE_UINT16_T, 1800, 1000, 3000, }, /*直流输入电压开机阈值*/ + {110, DATATYPE_UINT16_T, 1600, 0, 2000, }, /*直流输入电压关机阈值*/ +#if defined(PV_INV30) + {111, DATATYPE_UINT16_T, 330, 0, 600, }, /*最大输出功率限值*/ +#elif defined(PV_INV40) + {111, DATATYPE_UINT16_T, 440, 0, 600, }, /*最大输出功率限值*/ +#elif defined(PV_INV50) + {111, DATATYPE_UINT16_T, 550, 0, 600, }, /*最大输出功率限值*/ +#else + {111, DATATYPE_UINT16_T, 0, 0, 0 }, /*最大输出功率限值*/ +#endif + {112, DATATYPE_UINT16_T, 100, 0, 65535, }, /*功率变化率上限*/ + {113, DATATYPE_UINT16_T, 0, 0, 3, }, /*无功生成模式*/ + {114, DATATYPE_INT16_T, 0, -32768, 32767, }, /*恒无功控制给定所需的无功功率*/ + {115, DATATYPE_INT16_T, 1000, -32768, 32767, }, /*恒功率因数控制给定所需的功率因数*/ + {116, DATATYPE_UINT16_T, 2200, 2100, 2300, }, /*恒电网电压控制给定目标电网电压*/ + {117, DATATYPE_UINT16_T, 2, 0, 2, }, /*预留参数1_5*/ + {118, DATATYPE_UINT16_T, 2, 0, 2, }, /*预留参数1_6*/ + {119, DATATYPE_UINT16_T, 0, 0, 2, }, /*预留参数1_7*/ + {120, DATATYPE_UINT16_T, 0, 0, 2, }, /*预留参数1_8*/ + {121, DATATYPE_UINT16_T, 0, 0, 1, }, /*多峰扫描使能*/ + {122, DATATYPE_UINT16_T, 5, 1, 10, }, /*多峰扫描时间间隔*/ + {123, DATATYPE_UINT16_T, 400, 300, 400, }, /*频率-有功控制斜率*/ + {124, DATATYPE_UINT16_T, 1, 0, 2, }, /*电网恢复等待时间*/ + {125, DATATYPE_UINT16_T, 200, 100, 300, }, /*孤岛响应时间上限*/ + {126, DATATYPE_UINT16_T, 200, 150, 200, }, /*预留参数1_9*/ + {127, DATATYPE_UINT16_T, 30, 10, 40, }, /*MPPT最小扰动步长*/ + {128, DATATYPE_UINT16_T, 1, 0, 1, }, /*待机母线均压使能*/ + {129, DATATYPE_UINT16_T, 180, 160, 200, }, /*关机上限时间*/ + {130, DATATYPE_UINT16_T, 9000, 8500, 10000, }, /*开机电压上限*/ + {131, DATATYPE_UINT16_T, 10000, 5000, 11000, }, /*追踪电压上限*/ + {132, DATATYPE_UINT16_T, 0, 0, 1, }, /*低压降额使能*/ + {133, DATATYPE_UINT16_T, 0, 0, 1, }, /*过压降额使能*/ + {134, DATATYPE_UINT16_T, 0, 0, 1, }, /*共用一路输入模式*/ + {135, DATATYPE_UINT16_T, 0, 0, 1, }, /*故障模式*/ + {136, DATATYPE_UINT16_T, 1, 0, 1, }, /*预留参数1_10*/ + {137, DATATYPE_UINT16_T, 0, 0, 5, }, /*PV1连接关系*/ + {138, DATATYPE_UINT16_T, 0, 0, 5, }, /*PV2连接关系*/ + {139, DATATYPE_UINT16_T, 0, 0, 5, }, /*PV3连接关系*/ + {140, DATATYPE_UINT16_T, 0, 0, 5, }, /*PV4连接关系*/ + {141, DATATYPE_UINT16_T, 1, 0, 1, }, /*MPPT波动处理逻辑使能*/ + {142, DATATYPE_UINT16_T, 1, 0, 1, }, /*有功功率自动调整*/ + {143, DATATYPE_INT16_T, -3, -32768, 32767, }, /*无功补偿量*/ + {144, DATATYPE_UINT16_T, 1, 0, 1, }, /*无功闭环补偿使能*/ + {145, DATATYPE_UINT16_T, 1, 0, 1, }, /*逆变电流补偿使能*/ + {146, DATATYPE_UINT16_T, 1000, 0, 65535, }, /*逆变电流补偿系数*/ + {147, DATATYPE_INT16_T, 47, -32768, 32767, }, /*逆变电路延迟角度*/ + {148, DATATYPE_INT16_T, -50, -32768, 32767, }, /*电容电流延迟角度*/ + {149, DATATYPE_UINT16_T, 1200, 0, 65535, }, /*电容电流比例系数*/ + {150, DATATYPE_UINT16_T, 2, 0, 65535, }, /*PV电流比例校准系数*/ + {151, DATATYPE_UINT16_T, 0, 0, 2, }, /*PV输入校准标志*/ + {152, DATATYPE_UINT16_T, 15, 0, 65535, }, /*直流功率补偿*/ + {153, DATATYPE_UINT16_T, 0, 0, 4, }, /*BOOST运行模式*/ + {154, DATATYPE_UINT16_T, 1, 0, 1, }, /*第1路BOOST使能*/ + {155, DATATYPE_UINT16_T, 1, 0, 1, }, /*第2路BOOST使能*/ + {156, DATATYPE_UINT16_T, 1, 0, 1, }, /*第3路BOOST使能*/ + {157, DATATYPE_UINT16_T, 1, 0, 1, }, /*第4路BOOST使能*/ + {158, DATATYPE_UINT16_T, 0, 0, 1, }, /*分段保护使能*/ + {159, DATATYPE_UINT16_T, 1, 0, 1, }, /*PV反接检测使能*/ + {160, DATATYPE_UINT16_T, 0, 0, 1, }, /*PV回灌检测使能*/ + {161, DATATYPE_UINT16_T, 1, 0, 1, }, /*孤岛保护兼容频率适应性*/ + {162, DATATYPE_UINT16_T, 1, 0, 1, }, /*功率控制时无功优先使能*/ + {163, DATATYPE_UINT16_T, 1, 0, 1, }, /*母线欠压检测使能*/ + {164, DATATYPE_UINT16_T, 0, 0, 1, }, /*高低穿模式切换*/ + {165, DATATYPE_UINT16_T, 0, 0, 1, }, /*预留参数1_4*/ + {166, DATATYPE_UINT16_T, 1, 0, 1, }, /*电压无功控制模式*/ + {167, DATATYPE_UINT16_T, 1, 0, 1, }, /*精度判断模式*/ + {168, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {169, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {170, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {171, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {172, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {173, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {174, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {175, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {176, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {177, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {178, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {179, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {180, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {181, DATATYPE_UINT16_T, 5, 0, 65535, }, /*外环PI控制:Kp*/ + {182, DATATYPE_UINT16_T, 200, 0, 65535, }, /*外环PI控制:Ki*/ +#if defined(PV_INV30) + {183, DATATYPE_UINT16_T, 780, 0, 65535, }, /*外环PI控制:OutLimit*/ +#elif defined(PV_INV40) + {183, DATATYPE_UINT16_T, 1010, 0, 65535, }, /*外环PI控制:OutLimit*/ +#elif defined(PV_INV50) + {183, DATATYPE_UINT16_T, 1250, 0, 65535, }, /*外环PI控制:OutLimit*/ +#else + {183, DATATYPE_UINT16_T, 0, 0, 0 }, /*外环PI控制:OutLimit*/ +#endif + {184, DATATYPE_UINT16_T, 1, 0, 65535, }, /*均压环PI控制:Kp*/ + {185, DATATYPE_UINT16_T, 0, 0, 65535, }, /*均压环PI控制:Ki*/ + {186, DATATYPE_UINT16_T, 100, 0, 65535, }, /*均压环PI控制:OutLimit*/ + {187, DATATYPE_UINT16_T, 10, 0, 65535, }, /*电流环Kp */ + {188, DATATYPE_UINT16_T, 0, 0, 65535, }, /*有源阻尼Kp*/ + {189, DATATYPE_UINT16_T, 5, 0, 65535, }, /*无功稳压控制Kp*/ + {190, DATATYPE_UINT16_T, 10, 0, 65535, }, /*无功稳压控制Ki*/ + {191, DATATYPE_UINT16_T, 100, 0, 65535, }, /*电流环q轴PI控制:Ki*/ + {192, DATATYPE_UINT16_T, 2250, 0, 65535, }, /*电流环q轴PI控制:OutLimit*/ + {193, DATATYPE_UINT16_T, 10, 0, 65535, }, /*零序电流PI控制:Kp*/ + {194, DATATYPE_UINT16_T, 1000, 0, 65535, }, /*零序电流PI控制:Ki*/ + {195, DATATYPE_UINT16_T, 2250, 0, 65535, }, /*零序电流PI控制:OutLimit*/ + {196, DATATYPE_UINT16_T, 500, 0, 65535, }, /*1次谐振增益*/ + {197, DATATYPE_UINT16_T, 200, 0, 65535, }, /*2次谐振增益*/ + {198, DATATYPE_UINT16_T, 300, 0, 65535, }, /*3次谐振增益*/ + {199, DATATYPE_UINT16_T, 200, 0, 65535, }, /*4次谐振增益*/ + {200, DATATYPE_UINT16_T, 300, 0, 65535, }, /*5次谐振增益*/ + {201, DATATYPE_UINT16_T, 200, 0, 65535, }, /*6次谐振增益*/ + {202, DATATYPE_UINT16_T, 400, 0, 65535, }, /*7次谐振增益*/ + {203, DATATYPE_UINT16_T, 200, 0, 65535, }, /*8次谐振增益*/ + {204, DATATYPE_UINT16_T, 300, 0, 65535, }, /*9次谐振增益*/ + {205, DATATYPE_UINT16_T, 200, 0, 65535, }, /*10次谐振增益*/ + {206, DATATYPE_UINT16_T, 200, 0, 65535, }, /*11次谐振增益*/ + {207, DATATYPE_UINT16_T, 200, 0, 65535, }, /*12次谐振增益*/ + {208, DATATYPE_UINT16_T, 200, 0, 65535, }, /*13次谐振增益*/ + {209, DATATYPE_UINT16_T, 200, 0, 65535, }, /*boost电压环Kp*/ + {210, DATATYPE_UINT16_T, 1000, 0, 65535, }, /*boost电压环Ki*/ + {211, DATATYPE_UINT16_T, 2, 0, 65535, }, /*boost电流环Kp*/ + {212, DATATYPE_UINT16_T, 500, 0, 65535, }, /*boost电流环Ki*/ + {213, DATATYPE_UINT16_T, 150, 0, 65535, }, /*低电压穿越系数*/ + {214, DATATYPE_UINT16_T, 150, 0, 65535, }, /*高电压穿越系数*/ +#if defined(PV_INV30) + {215, DATATYPE_UINT16_T, 3, 0, 10, }, /*调制方式*/ +#elif defined(PV_INV40) + {215, DATATYPE_UINT16_T, 3, 0, 10, }, /*调制方式*/ +#elif defined(PV_INV50) + {215, DATATYPE_UINT16_T, 3, 0, 10, }, /*调制方式*/ +#else + {215, DATATYPE_UINT16_T, 0, 0, 0 }, /*调制方式*/ +#endif + {216, DATATYPE_UINT16_T, 1, 0, 65535, }, /*电压前馈方式*/ + {217, DATATYPE_UINT16_T, 5850, 0, 65535, }, /*母线电压参考值下限*/ + {218, DATATYPE_UINT16_T, 8, 0, 65535, }, /*零序分量控制kp参数*/ + {219, DATATYPE_UINT16_T, 7, 0, 65535, }, /*加权前馈的占比系数*/ + {220, DATATYPE_UINT16_T, 0, 0, 65535, }, /*限功率模式使能*/ + {221, DATATYPE_UINT16_T, 200, 0, 65535, }, /*孤岛保护Kp*/ + {222, DATATYPE_UINT16_T, 864, 0, 65535, }, /*进入CPWM调制度阈值*/ + {223, DATATYPE_UINT16_T, 888, 0, 65535, }, /*进入DPWM调制度阈值*/ +#if defined(PV_INV30) + {224, DATATYPE_UINT16_T, 5350, 0, 11000, }, /*进入CPWM母线电压阈值*/ +#elif defined(PV_INV40) + {224, DATATYPE_UINT16_T, 7200, 0, 11000, }, /*进入CPWM母线电压阈值*/ +#elif defined(PV_INV50) + {224, DATATYPE_UINT16_T, 7200, 0, 11000, }, /*进入CPWM母线电压阈值*/ +#else + {224, DATATYPE_UINT16_T, 0, 0, 0 }, /*进入CPWM母线电压阈值*/ +#endif +#if defined(PV_INV30) + {225, DATATYPE_UINT16_T, 5450, 0, 11000, }, /*进入DPWM母线电压阈值*/ +#elif defined(PV_INV40) + {225, DATATYPE_UINT16_T, 7000, 0, 11000, }, /*进入DPWM母线电压阈值*/ +#elif defined(PV_INV50) + {225, DATATYPE_UINT16_T, 7000, 0, 11000, }, /*进入DPWM母线电压阈值*/ +#else + {225, DATATYPE_UINT16_T, 0, 0, 0 }, /*进入DPWM母线电压阈值*/ +#endif + {226, DATATYPE_UINT16_T, 7500, 0, 65535, }, /*直流电压参考*/ + {227, DATATYPE_UINT16_T, 3200, 0, 65535, }, /*交流电压参考*/ + {228, DATATYPE_INT16_T, 0, -32768, 32767, }, /*无功电流参考*/ + {229, DATATYPE_UINT16_T, 0, 0, 50, }, /*boost1电流参考值*/ + {230, DATATYPE_UINT16_T, 0, 0, 50, }, /*boost2电流参考值*/ + {231, DATATYPE_UINT16_T, 0, 0, 50, }, /*boost3电流参考值*/ + {232, DATATYPE_UINT16_T, 0, 0, 50, }, /*boost4电流参考值*/ + {233, DATATYPE_INT16_T, 0, -32768, 32767, }, /*有功电流参考*/ + {234, DATATYPE_UINT16_T, 200, 0, 10000, }, /*无功调压系数*/ + {235, DATATYPE_UINT16_T, 400, 0, 2000, }, /*共模电流幅值阈值*/ + {236, DATATYPE_UINT16_T, 12, 0, 20000, }, /*CPWM共模电流次数*/ + {237, DATATYPE_UINT16_T, 6, 0, 20000, }, /*DPWM共模电流次数*/ + {238, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {239, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {240, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {241, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {242, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {243, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {244, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {245, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {246, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {247, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {248, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {249, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {250, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {251, DATATYPE_UINT16_T, 10200, 10000, 12000, }, /*开路电压过高阈值*/ + {252, DATATYPE_UINT16_T, 10500, 10000, 12000, }, /*直流输入过压阈值*/ + {253, DATATYPE_UINT16_T, 5250, 0, 6000, }, /*直流母线过压阈值*/ + {254, DATATYPE_UINT16_T, 2000, 0, 5500, }, /*直流母线欠压阈值*/ +#if defined(PV_INV30) + {255, DATATYPE_UINT16_T, 1000, 0, 2000, }, /*逆变电流保护瞬时值*/ +#elif defined(PV_INV40) + {255, DATATYPE_UINT16_T, 1270, 0, 2000, }, /*逆变电流保护瞬时值*/ +#elif defined(PV_INV50) + {255, DATATYPE_UINT16_T, 1450, 0, 2000, }, /*逆变电流保护瞬时值*/ +#else + {255, DATATYPE_UINT16_T, 0, 0, 0 }, /*逆变电流保护瞬时值*/ +#endif +#if defined(PV_INV30) + {256, DATATYPE_UINT16_T, 550, 500, 550, }, /*逆变电流保护有效值*/ +#elif defined(PV_INV40) + {256, DATATYPE_UINT16_T, 700, 500, 800, }, /*逆变电流保护有效值*/ +#elif defined(PV_INV50) + {256, DATATYPE_UINT16_T, 900, 500, 1000, }, /*逆变电流保护有效值*/ +#else + {256, DATATYPE_UINT16_T, 0, 0, 0 }, /*逆变电流保护有效值*/ +#endif +#if defined(PV_INV30) + {257, DATATYPE_UINT16_T, 900, 0, 1500, }, /*逆变电流逐波限流封锁阈值*/ +#elif defined(PV_INV40) + {257, DATATYPE_UINT16_T, 900, 0, 1500, }, /*逆变电流逐波限流封锁阈值*/ +#elif defined(PV_INV50) + {257, DATATYPE_UINT16_T, 900, 0, 1500, }, /*逆变电流逐波限流封锁阈值*/ +#else + {257, DATATYPE_UINT16_T, 0, 0, 0 }, /*逆变电流逐波限流封锁阈值*/ +#endif +#if defined(PV_INV30) + {258, DATATYPE_UINT16_T, 750, 700, 1000, }, /*逆变电流逐波限流解封阈值*/ +#elif defined(PV_INV40) + {258, DATATYPE_UINT16_T, 750, 700, 1000, }, /*逆变电流逐波限流解封阈值*/ +#elif defined(PV_INV50) + {258, DATATYPE_UINT16_T, 750, 700, 1000, }, /*逆变电流逐波限流解封阈值*/ +#else + {258, DATATYPE_UINT16_T, 0, 0, 0 }, /*逆变电流逐波限流解封阈值*/ +#endif +#if defined(PV_INV30) + {259, DATATYPE_UINT16_T, 840, 450, 1000, }, /*Boost1过流软件保护阈值*/ +#elif defined(PV_INV40) + {259, DATATYPE_UINT16_T, 840, 450, 1000, }, /*Boost1过流软件保护阈值*/ +#elif defined(PV_INV50) + {259, DATATYPE_UINT16_T, 840, 450, 1000, }, /*Boost1过流软件保护阈值*/ +#else + {259, DATATYPE_UINT16_T, 0, 0, 0 }, /*Boost1过流软件保护阈值*/ +#endif +#if defined(PV_INV30) + {260, DATATYPE_UINT16_T, 840, 450, 1000, }, /*Boost2过流软件保护阈值*/ +#elif defined(PV_INV40) + {260, DATATYPE_UINT16_T, 840, 450, 1000, }, /*Boost2过流软件保护阈值*/ +#elif defined(PV_INV50) + {260, DATATYPE_UINT16_T, 840, 450, 1000, }, /*Boost2过流软件保护阈值*/ +#else + {260, DATATYPE_UINT16_T, 0, 0, 0 }, /*Boost2过流软件保护阈值*/ +#endif + {261, DATATYPE_UINT16_T, 750, 450, 1000, }, /*Boost3过流软件保护阈值*/ + {262, DATATYPE_UINT16_T, 750, 450, 1000, }, /*Boost4过流软件保护阈值*/ + {263, DATATYPE_UINT16_T, 1000, 0, 1100, }, /*MPPT短路电压阈值*/ + {264, DATATYPE_UINT16_T, 20, 0, 50, }, /*MPPT短路电流阈值*/ + {265, DATATYPE_UINT16_T, 2200, 2100, 2400, }, /*额定电网保护电压*/ + {266, DATATYPE_UINT16_T, 2860, 2000, 3000, }, /*电网过压阈值*/ + {267, DATATYPE_UINT16_T, 1540, 1200, 2600, }, /*电网欠压阈值*/ + {268, DATATYPE_UINT16_T, 1100, 1000, 1200, }, /*电网欠压二级保护阈值*/ + {269, DATATYPE_UINT16_T, 1870, 1770, 1970, }, /*电网欠压一级保护阈值*/ + {270, DATATYPE_UINT16_T, 2420, 2100, 2630, }, /*电网过压一级保护阈值*/ + {271, DATATYPE_UINT16_T, 2970, 2900, 3000, }, /*电网过压二级保护阈值*/ + {272, DATATYPE_UINT16_T, 2600, 2550, 2650, }, /*过压降额阈值*/ + {273, DATATYPE_UINT16_T, 505, 450, 550, }, /*电网频率上限*/ + {274, DATATYPE_UINT16_T, 480, 450, 550, }, /*电网频率下限*/ + {275, DATATYPE_UINT16_T, 4650, 4600, 4700, }, /*电网欠频五级保护阈值*/ + {276, DATATYPE_UINT16_T, 4700, 4650, 4750, }, /*电网欠频四级保护阈值*/ + {277, DATATYPE_UINT16_T, 4750, 4700, 4800, }, /*电网欠频三级保护阈值*/ + {278, DATATYPE_UINT16_T, 4800, 4750, 4850, }, /*电网欠频二级保护阈值*/ + {279, DATATYPE_UINT16_T, 4850, 4800, 4900, }, /*电网欠频一级保护阈值*/ + {280, DATATYPE_UINT16_T, 5050, 5000, 5100, }, /*电网过频一级保护阈值*/ + {281, DATATYPE_UINT16_T, 5100, 5050, 5150, }, /*电网过频二级保护阈值*/ + {282, DATATYPE_UINT16_T, 5150, 5100, 5200, }, /*电网过频三级保护阈值*/ + {283, DATATYPE_UINT16_T, 5003, 5000, 5010, }, /*过频降额阈值*/ + {284, DATATYPE_UINT16_T, 120, 50, 200, }, /*滤波电容过流保护阈值*/ + {285, DATATYPE_UINT16_T, 3300, 2000, 3500, }, /*滤波电容过压保护阈值*/ + {286, DATATYPE_UINT16_T, 700, 300, 1000, }, /*绝缘阻抗检测阈值*/ + {287, DATATYPE_UINT16_T, 0, 0, 1, }, /*电网故障屏蔽内部故障*/ + {288, DATATYPE_UINT16_T, 10, 5, 20, }, /*主动反孤岛阈值*/ + {289, DATATYPE_UINT16_T, 20, 10, 30, }, /*反孤岛无功电流余量*/ + {290, DATATYPE_UINT16_T, 0, 0, 65535, }, /*PV接线检测(未启用)*/ + {291, DATATYPE_UINT16_T, 200, 40, 500, }, /*PV反接电压阈值*/ + {292, DATATYPE_UINT16_T, 10, 0, 90, }, /*PV反接电感电流阈值*/ + {293, DATATYPE_UINT16_T, 0, 0, 65535, }, /*PV回灌电压阈值*/ + {294, DATATYPE_UINT16_T, 0, 0, 65535, }, /*支路输入电流阈值*/ + {295, DATATYPE_INT16_T, -10, -50, 0, }, /*支路输入电流阈值1*/ + {296, DATATYPE_UINT16_T, 10, 0, 50, }, /*支路输入电流阈值2*/ + {297, DATATYPE_UINT16_T, 200, 0, 65535, }, /*节能告警阈值1*/ + {298, DATATYPE_UINT16_T, 300, 0, 65535, }, /*节能告警阈值2*/ + {299, DATATYPE_UINT16_T, 85, 10, 1000, }, /*腔体过温阈值*/ + {300, DATATYPE_UINT16_T, 110, 10, 1000, }, /*腔体2过温阈值*/ + {301, DATATYPE_UINT16_T, 85, 10, 1000, }, /*散热片过温阈值*/ + {302, DATATYPE_UINT16_T, 90, 0, 65535, }, /*Q-U低压系数阈值*/ + {303, DATATYPE_UINT16_T, 110, 0, 65535, }, /*Q-U高压系数阈值*/ + {304, DATATYPE_UINT16_T, 90, 0, 65535, }, /*低穿穿越边界*/ + {305, DATATYPE_UINT16_T, 110, 0, 65535, }, /*高穿穿越边界*/ + {306, DATATYPE_UINT16_T, 100, 0, 10000, }, /*滤波电容过流保护时间*/ + {307, DATATYPE_UINT16_T, 100, 0, 10000, }, /*逆变过流保护时间*/ + {308, DATATYPE_UINT16_T, 100, 0, 30000, }, /*电网过压L0保护时间*/ + {309, DATATYPE_UINT16_T, 1000, 0, 30000, }, /*电网过压L1保护时间*/ + {310, DATATYPE_UINT16_T, 100, 0, 30000, }, /*电网过压L2保护时间*/ + {311, DATATYPE_UINT16_T, 100, 0, 30000, }, /*电网欠压L0保护时间*/ + {312, DATATYPE_UINT16_T, 1000, 0, 30000, }, /*电网欠压L1保护时间*/ + {313, DATATYPE_UINT16_T, 100, 0, 30000, }, /*电网欠压L2保护时间*/ + {314, DATATYPE_UINT16_T, 100, 0, 30000, }, /*电网过频L0保护时间*/ + {315, DATATYPE_UINT16_T, 190, 0, 10000, }, /*电网过频L1保护时间*/ + {316, DATATYPE_UINT16_T, 40, 0, 10000, }, /*电网过频L2保护时间*/ + {317, DATATYPE_UINT16_T, 200, 0, 30000, }, /*电网过频L3保护时间*/ + {318, DATATYPE_UINT16_T, 100, 0, 30000, }, /*电网欠频L0保护时间*/ + {319, DATATYPE_UINT16_T, 310, 0, 10000, }, /*电网欠频L1保护时间*/ + {320, DATATYPE_UINT16_T, 70, 0, 10000, }, /*电网欠频L2保护时间*/ + {321, DATATYPE_UINT16_T, 30, 0, 10000, }, /*电网欠频L3保护时间*/ + {322, DATATYPE_UINT16_T, 15, 0, 10000, }, /*电网欠频L4保护时间*/ + {323, DATATYPE_UINT16_T, 200, 0, 30000, }, /*电网欠频L5保护时间*/ + {324, DATATYPE_UINT16_T, 1000, 0, 30000, }, /*母线欠压保护时间*/ + {325, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {326, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {327, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {328, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {329, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {330, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ +#if defined(PV_INV30) + {331, DATATYPE_UINT16_T, 455, 0, 7000, }, /*高低穿无功电流限幅值*/ +#elif defined(PV_INV40) + {331, DATATYPE_UINT16_T, 610, 0, 7000, }, /*高低穿无功电流限幅值*/ +#elif defined(PV_INV50) + {331, DATATYPE_UINT16_T, 760, 0, 7000, }, /*高低穿无功电流限幅值*/ +#else + {331, DATATYPE_UINT16_T, 0, 0, 0 }, /*高低穿无功电流限幅值*/ +#endif +#if defined(PV_INV30) + {332, DATATYPE_UINT16_T, 520, 0, 7500, }, /*逆变总电流限幅值*/ +#elif defined(PV_INV40) + {332, DATATYPE_UINT16_T, 690, 0, 7500, }, /*逆变总电流限幅值*/ +#elif defined(PV_INV50) + {332, DATATYPE_UINT16_T, 860, 0, 7500, }, /*逆变总电流限幅值*/ +#else + {332, DATATYPE_UINT16_T, 0, 0, 0 }, /*逆变总电流限幅值*/ +#endif +#if defined(PV_INV30) + {333, DATATYPE_UINT16_T, 520, 0, 7500, }, /*逆变有功电流限幅值*/ +#elif defined(PV_INV40) + {333, DATATYPE_UINT16_T, 690, 0, 7500, }, /*逆变有功电流限幅值*/ +#elif defined(PV_INV50) + {333, DATATYPE_UINT16_T, 860, 0, 7500, }, /*逆变有功电流限幅值*/ +#else + {333, DATATYPE_UINT16_T, 0, 0, 0 }, /*逆变有功电流限幅值*/ +#endif +#if defined(PV_INV30) + {334, DATATYPE_UINT16_T, 320, 0, 5000, }, /*逆变无功电流限幅值*/ +#elif defined(PV_INV40) + {334, DATATYPE_UINT16_T, 420, 0, 5000, }, /*逆变无功电流限幅值*/ +#elif defined(PV_INV50) + {334, DATATYPE_UINT16_T, 520, 0, 5000, }, /*逆变无功电流限幅值*/ +#else + {334, DATATYPE_UINT16_T, 0, 0, 0 }, /*逆变无功电流限幅值*/ +#endif + {335, DATATYPE_UINT16_T, 400, 0, 1000, }, /*Boost1单路电流限幅值*/ + {336, DATATYPE_UINT16_T, 300, 0, 1000, }, /*Boost2单路电流限幅值*/ + {337, DATATYPE_UINT16_T, 300, 0, 1000, }, /*Boost3单路电流限幅值*/ + {338, DATATYPE_UINT16_T, 300, 0, 1000, }, /*Boost4单路电流限幅值*/ + {339, DATATYPE_UINT16_T, 0, 0, 65535, }, /*5次谐波电流限幅值*/ + {340, DATATYPE_UINT16_T, 0, 0, 65535, }, /*7次谐波电流限幅值*/ + {341, DATATYPE_UINT16_T, 0, 0, 65535, }, /*11次谐波电流限幅值*/ + {342, DATATYPE_UINT16_T, 0, 0, 65535, }, /*13次谐波电流限幅值*/ + {343, DATATYPE_UINT16_T, 0, 0, 65535, }, /*17次谐波电流限幅值*/ + {344, DATATYPE_UINT16_T, 0, 0, 65535, }, /*19次谐波电流限幅值*/ + {345, DATATYPE_UINT16_T, 0, 0, 65535, }, /*2次谐波电流限幅值*/ + {346, DATATYPE_UINT16_T, 0, 0, 65535, }, /*4次谐波电流限幅值*/ + {347, DATATYPE_UINT16_T, 0, 0, 65535, }, /*6次谐波电流限幅值*/ + {348, DATATYPE_UINT16_T, 0, 0, 65535, }, /*8次谐波电流限幅值*/ + {349, DATATYPE_UINT16_T, 0, 0, 65535, }, /*10次谐波电流限幅值*/ + {350, DATATYPE_UINT16_T, 0, 0, 65535, }, /*14次谐波电流限幅值*/ + {351, DATATYPE_UINT16_T, 0, 0, 65535, }, /*16次谐波电流限幅值*/ + {352, DATATYPE_UINT16_T, 0, 0, 65535, }, /*20次谐波电流限幅值*/ +#if defined(PV_INV30) + {353, DATATYPE_UINT16_T, 8000, 0, 65535, }, /*进入DPWM视在功率阈值*/ +#elif defined(PV_INV40) + {353, DATATYPE_UINT16_T, 5000, 0, 65535, }, /*进入DPWM视在功率阈值*/ +#elif defined(PV_INV50) + {353, DATATYPE_UINT16_T, 5000, 0, 65535, }, /*进入DPWM视在功率阈值*/ +#else + {353, DATATYPE_UINT16_T, 0, 0, 0 }, /*进入DPWM视在功率阈值*/ +#endif +#if defined(PV_INV30) + {354, DATATYPE_UINT16_T, 8900, 0, 65535, }, /*进入CPWM视在功率阈值*/ +#elif defined(PV_INV40) + {354, DATATYPE_UINT16_T, 6000, 0, 65535, }, /*进入CPWM视在功率阈值*/ +#elif defined(PV_INV50) + {354, DATATYPE_UINT16_T, 6000, 0, 65535, }, /*进入CPWM视在功率阈值*/ +#else + {354, DATATYPE_UINT16_T, 0, 0, 0 }, /*进入CPWM视在功率阈值*/ +#endif + {355, DATATYPE_UINT16_T, 60, 0, 1000, }, /*零序超前补偿kp*/ + {356, DATATYPE_UINT16_T, 800, 0, 65535, }, /*散热片过温降功率阈值*/ + {357, DATATYPE_UINT16_T, 800, 0, 65535, }, /*腔体过温降功率阈值*/ + {358, DATATYPE_UINT16_T, 1050, 0, 65535, }, /*腔体2过温降功率阈值*/ + {359, DATATYPE_UINT16_T, 100, 0, 65535, }, /*过温降额功率下限*/ + {360, DATATYPE_UINT16_T, 100, 0, 65535, }, /*风扇故障降额功率下限*/ + {361, DATATYPE_UINT16_T, 100, 0, 65535, }, /*过温降额功率上限*/ + {362, DATATYPE_UINT16_T, 100, 0, 65535, }, /*过温降额功率变化率上限*/ + {363, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {364, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {365, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {366, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {367, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {368, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {369, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {370, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {371, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {372, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {373, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {374, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {375, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {376, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {377, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {378, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {379, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {380, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {381, DATATYPE_UINT16_T, 0, 0, 1, }, /*预留参数5_0*/ + {382, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数5_1*/ + {383, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数5_2*/ + {384, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数5_3*/ + {385, DATATYPE_UINT16_T, 0, 0, 65535, }, /*整机状态*/ + {386, DATATYPE_UINT16_T, 0, 0, 65535, }, /*逆变状态*/ + {387, DATATYPE_UINT16_T, 0, 0, 65535, }, /*MPPT1状态(debug)*/ + {388, DATATYPE_UINT16_T, 0, 0, 65535, }, /*MPPT2状态(debug)*/ + {389, DATATYPE_UINT16_T, 0, 0, 65535, }, /*MPPT3状态(debug)*/ + {390, DATATYPE_UINT16_T, 0, 0, 65535, }, /*MPPT4状态(debug)*/ + {391, DATATYPE_UINT16_T, 0, 0, 65535, }, /*功率不足标志*/ + {392, DATATYPE_UINT16_T, 0, 0, 1, }, /*MPPT手动参考标志位*/ + {393, DATATYPE_UINT16_T, 600, 0, 1000, }, /*MPPT手动参考值*/ + {394, DATATYPE_UINT16_T, 500, 0, 65535, }, /*母线均压开启阈值*/ + {395, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数5_4*/ + {396, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数5_5*/ + {397, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {398, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {399, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {400, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {401, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {402, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {403, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {404, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {405, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {406, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {407, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {408, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {409, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {410, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {411, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {412, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {413, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {414, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {415, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {416, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {417, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {418, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {419, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {420, DATATYPE_UINT16_T, 1, 0, 100, }, /*自动化校准使能*/ + {421, DATATYPE_UINT16_T, 0, 0, 1, }, /*自动化校准状态*/ + {422, DATATYPE_UINT16_T, 0, 0, 1, }, /*自动化校准指令*/ + {423, DATATYPE_UINT16_T, 0, 0, 1, }, /*自动化校准结果*/ + {424, DATATYPE_UINT16_T, 0, 0, 65535, }, /*自动化校准刷新标志*/ + {425, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_6*/ + {426, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_7*/ + {427, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_8*/ + {428, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_9*/ + {429, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_10*/ + {430, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_11*/ + {431, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_12*/ + {432, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_13*/ + {433, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_14*/ + {434, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_15*/ + {435, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_16*/ + {436, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_17*/ + {437, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_18*/ + {438, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_19*/ + {439, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_20*/ + {440, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_21*/ + {441, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_22*/ + {442, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_23*/ + {443, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_24*/ + {444, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_25*/ + {445, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_26*/ + {446, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_27*/ + {447, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_28*/ + {448, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_29*/ + {449, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_30*/ + {450, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_31*/ + {451, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_32*/ + {452, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_33*/ + {453, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_34*/ + {454, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_35*/ + {455, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_36*/ + {456, DATATYPE_UINT16_T, 0, 0, 65535, }, /*预留参数6_37*/ + {457, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {458, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {459, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {460, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {461, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {462, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {463, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {464, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {465, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {466, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {467, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {468, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {469, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {470, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {471, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {472, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {473, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {474, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {475, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {476, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {477, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {478, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {479, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {480, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {481, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {482, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {483, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {484, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {485, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {486, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {487, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {488, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {489, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {490, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {491, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {492, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {493, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {494, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {495, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {496, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {497, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {498, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ + {499, DATATYPE_UINT16_T, 0, 0, USHRT_MAX }, /*预留*/ +}; + + +bool_t mw_protocol_modbus_check_param_out_of_range(uint16_t us_address, uint16_t us_value) +{ + if(us_address > MAX_VALID_PARAM_ADDRESS) + { + return true; + } + if (DATATYPE_UINT16_T == s_ast_param_range[us_address].datatype) + { + if ((us_value < s_ast_param_range[us_address].min_value) || (us_value > s_ast_param_range[us_address].max_value)) + { + return true; + } + } + else if (DATATYPE_INT16_T == s_ast_param_range[us_address].datatype) + { + if (((int16_t)us_value < s_ast_param_range[us_address].min_value) || ((int16_t)us_value > s_ast_param_range[us_address].max_value)) + { + return true; + } + } + else + { + return true; + } + return false; +} + +uint16_t mw_protocol_modbus_get_param_default_value(uint16_t us_address) +{ + if(us_address > MAX_VALID_PARAM_ADDRESS) + { + return 0; + } + return (uint16_t)s_ast_param_range[us_address].default_value; +} diff --git a/test/PV_Inverter/dsp/mw_param_manager_dsp_struct.h b/test/PV_Inverter/dsp/mw_param_manager_dsp_struct.h new file mode 100644 index 0000000..199a325 --- /dev/null +++ b/test/PV_Inverter/dsp/mw_param_manager_dsp_struct.h @@ -0,0 +1,1114 @@ +/************************************************************************** +* @copyright Copyright (C), 2022, Qingdao Topscomm Communication Co. Ltd. +* @file mw_param_manager_dsp_struct.h +* @brief dsp参数表 +* @author +* @date 2024-10-26 16:34:51 +* @version +* @details +**************************************************************************/ +#ifndef __MW_PARAM_MANAGER_DSP_STRUCT_H__ +#define __MW_PARAM_MANAGER_DSP_STRUCT_H__ +#include "comm_datatype.h" + +#define APP_TABLE_VERSION 33 //地址表版本 + +typedef struct tag_dsp_unrecovery_param_t +{ + uint16_t us_grd_A_volt_calib_coff; /*0 A相采样校准a(网侧交流电压采样)*/ + int16_t us_grd_A_volt_calib_bias; /*1 A相采样校准b(网侧交流电压采样)*/ + uint16_t us_grd_B_volt_calib_coff; /*2 B相采样校准a(网侧交流电压采样)*/ + int16_t us_grd_B_volt_calib_bias; /*3 B相采样校准b(网侧交流电压采样)*/ + uint16_t us_grd_C_volt_calib_coff; /*4 C相采样校准a(网侧交流电压采样)*/ + int16_t us_grd_C_volt_calib_bias; /*5 C相采样校准b(网侧交流电压采样)*/ + uint16_t us_inv_A_cur_calib_coff; /*6 A相采样校准a(逆变侧电感电流)*/ + int16_t us_inv_A_cur_calib_bias; /*7 A相采样校准b(逆变侧电感电流)*/ + int16_t us_inv_A_cur_phase_offset; /*8 A相逆变电流相位偏移量*/ + uint16_t us_inv_B_cur_calib_coff; /*9 B相采样校准a(逆变侧电感电流)*/ + int16_t us_inv_B_cur_calib_bias; /*10 B相采样校准b(逆变侧电感电流)*/ + int16_t us_inv_B_cur_phase_offset; /*11 B相逆变电流相位偏移量*/ + uint16_t us_inv_C_cur_calib_coff; /*12 C相采样校准a(逆变侧电感电流)*/ + int16_t us_inv_C_cur_calib_bias; /*13 C相采样校准b(逆变侧电感电流)*/ + int16_t us_inv_C_cur_phase_offset; /*14 C相逆变电流相位偏移量*/ + uint16_t us_cap_A_cur_calib_coff; /*15 A相LCL电容电流系数*/ + int16_t us_cap_A_cur_phase_offset; /*16 A相LCL电容电流相位偏移量*/ + uint16_t us_cap_B_cur_calib_coff; /*17 B相LCL电容电流系数*/ + int16_t us_cap_B_cur_phase_offset; /*18 B相LCL电容电流相位偏移量*/ + uint16_t us_cap_C_cur_calib_coff; /*19 C相LCL电容电流系数*/ + int16_t us_cap_C_cur_phase_offset; /*20 C相LCL电容电流相位偏移量*/ + uint16_t us_bst1_cur_calib_coff; /*21 采样校准a(BOOST1电感电流)*/ + int16_t us_bst1_cur_calib_bias; /*22 采样校准b(BOOST1电感电流)*/ + uint16_t us_bst2_cur_calib_coff; /*23 采样校准a(BOOST2电感电流)*/ + int16_t us_bst2_cur_calib_bias; /*24 采样校准b(BOOST2电感电流)*/ + uint16_t us_bst3_cur_calib_coff; /*25 采样校准a(BOOST3电感电流)*/ + int16_t us_bst3_cur_calib_bias; /*26 采样校准b(BOOST3电感电流)*/ + uint16_t us_bst4_cur_calib_coff; /*27 采样校准a(BOOST4电感电流)*/ + int16_t us_bst4_cur_calib_bias; /*28 采样校准b(BOOST4电感电流)*/ + uint16_t us_pv1_volt_calib_coff; /*29 采样校准a支路1(输入电压)*/ + int16_t us_pv1_volt_calib_bias; /*30 采样校准b支路1(输入电压)*/ + uint16_t us_pv2_volt_calib_coff; /*31 采样校准a支路2(输入电压)*/ + int16_t us_pv2_volt_calib_bias; /*32 采样校准b支路2(输入电压)*/ + uint16_t us_pv3_volt_calib_coff; /*33 采样校准a支路3(输入电压)*/ + int16_t us_pv3_volt_calib_bias; /*34 采样校准b支路3(输入电压)*/ + uint16_t us_pv4_volt_calib_coff; /*35 采样校准a支路4(输入电压)*/ + int16_t us_pv4_volt_calib_bias; /*36 采样校准b支路4(输入电压)*/ + uint16_t us_tmpr_calib_coff; /*37 采样校准a(温度补偿)*/ + int16_t us_tmpr_calib_bias; /*38 采样校准b(温度补偿)*/ + uint16_t aus_reserve1[12]; /*39 预留*/ +}dsp_unrecovery_param_t; + +typedef struct tag_dsp_command_t +{ + uint16_t us_start; /*51 开机*/ + uint16_t us_stop; /*52 关机*/ + uint16_t us_rst; /*53 故障复位*/ + uint16_t us_reboot; /*54 芯片复位重启*/ + uint16_t us_slf_chk; /*55 功率单元自检(调试)*/ + uint16_t us_resume_config; /*56 参数还原*/ + uint16_t us_over_temp_flag; /*57 过温限功率标志*/ + uint16_t aus_reserve2[43]; /*58 预留*/ +}dsp_command_t; + +typedef struct tag_dsp_devices_set_t +{ + uint16_t us_work_en; /*101 工作使能*/ + uint16_t us_anti_islanding_en; /*102 孤岛检测使能*/ + uint16_t us_lvrt_en; /*103 LVRT使能*/ + uint16_t us_hvrt_en; /*104 HVRT使能*/ + uint16_t us_mppt_en; /*105 MPPT使能*/ + uint16_t us_insult_rstr_en; /*106 老化测试使能*/ + uint16_t us_neg_seq_run_en; /*107 相序异常运行使能*/ + uint16_t us_reserve_param1_3; /*108 预留参数1_3*/ + uint16_t us_dc_start_TH; /*109 直流输入电压开机阈值*/ + uint16_t us_dc_stop_TH; /*110 直流输入电压关机阈值*/ + uint16_t us_pwr_output_lmt; /*111 最大输出功率限值*/ + uint16_t us_pwr_rate_lmt; /*112 功率变化率上限*/ + uint16_t us_rctv_pwr_ctr_mode; /*113 无功生成模式*/ + int16_t sh_rctv_pwr_ref; /*114 恒无功控制给定所需的无功功率*/ + int16_t sh_pf_ref; /*115 恒功率因数控制给定所需的功率因数*/ + uint16_t us_grd_volt_ref; /*116 恒电网电压控制给定目标电网电压*/ + uint16_t us_reserve_param1_5; /*117 预留参数1_5*/ + uint16_t us_reserve_param1_6; /*118 预留参数1_6*/ + uint16_t us_reserve_param1_7; /*119 预留参数1_7*/ + uint16_t us_reserve_param1_8; /*120 预留参数1_8*/ + uint16_t us_mult_peak_en; /*121 多峰扫描使能*/ + uint16_t us_mult_peak_time_step; /*122 多峰扫描时间间隔*/ + uint16_t us_pwr_freq_ctr_rate; /*123 频率-有功控制斜率*/ + uint16_t us_grd_rcvr_time; /*124 电网恢复等待时间*/ + uint16_t us_island_rspns_time_lmt; /*125 孤岛响应时间上限*/ + uint16_t us_reserve_param1_9; /*126 预留参数1_9*/ + uint16_t us_mppt_min_volt_step; /*127 MPPT最小扰动步长*/ + uint16_t us_stop_sta_bus_bal_en; /*128 待机母线均压使能*/ + uint16_t us_stop_time_lmt; /*129 关机上限时间*/ + uint16_t us_start_volt_up_lmt; /*130 开机电压上限*/ + uint16_t us_mppt_volt_up_lmt; /*131 追踪电压上限*/ + uint16_t us_low_volt_pwr_lmt_en; /*132 低压降额使能*/ + uint16_t us_high_volt_pwr_lmt_en; /*133 过压降额使能*/ + uint16_t us_single_input_mode; /*134 共用一路输入模式*/ + uint16_t us_fault_mode; /*135 故障模式*/ + uint16_t us_reserve_param1_10; /*136 预留参数1_10*/ + uint16_t us_pv1_mode; /*137 PV1连接关系*/ + uint16_t us_pv2_mode; /*138 PV2连接关系*/ + uint16_t us_pv3_mode; /*139 PV3连接关系*/ + uint16_t us_pv4_mode; /*140 PV4连接关系*/ + uint16_t us_mppt_distb_en; /*141 MPPT波动处理逻辑使能*/ + uint16_t us_act_pwr_auto_en; /*142 有功功率自动调整*/ + int16_t sh_rctv_pwr_comp; /*143 无功补偿量*/ + uint16_t us_rctv_ctr_en; /*144 无功闭环补偿使能*/ + uint16_t us_inv_cur_comp_en; /*145 逆变电流补偿使能*/ + uint16_t us_inv_cur_comp_coff; /*146 逆变电流补偿系数*/ + int16_t sh_inv_cur_delay; /*147 逆变电路延迟角度*/ + int16_t sh_cap_cur_delay; /*148 电容电流延迟角度*/ + uint16_t us_cap_cur_coff; /*149 电容电流比例系数*/ + uint16_t us_pv_cur_coff; /*150 PV电流比例校准系数*/ + uint16_t us_pv_cur_calb_en; /*151 PV输入校准标志*/ + uint16_t us_dc_pwr_comp_en; /*152 直流功率补偿*/ + uint16_t us_bst_run_mode; /*153 BOOST运行模式*/ + uint16_t us_bst1_en; /*154 第1路BOOST使能*/ + uint16_t us_bst2_en; /*155 第2路BOOST使能*/ + uint16_t us_bst3_en; /*156 第3路BOOST使能*/ + uint16_t us_bst4_en; /*157 第4路BOOST使能*/ + uint16_t us_vol_freq_protcet_en; /*158 分段保护使能*/ + uint16_t us_pv_inversed_detcet_en; /*159 PV反接检测使能*/ + uint16_t us_pv_backward_detcet_en; /*160 PV回灌检测使能*/ + uint16_t us_anti_islanding_protect_freq_en; /*161 孤岛保护兼容频率适应性*/ + uint16_t us_pwr_control_rctv_prio_en; /*162 功率控制时无功优先使能*/ + uint16_t us_bus_uv_dect_en; /*163 母线欠压检测使能*/ + uint16_t us_hlvrt_mode_flag; /*164 高低穿模式切换*/ + uint16_t us_reserve_param1_4; /*165 预留参数1_4*/ + uint16_t us_vol_rctv_pwr_ctr_mode; /*166 电压无功控制模式*/ + uint16_t us_accu_judge_mode; /*167 精度判断模式*/ + uint16_t aus_reserve3[13]; /*168 预留*/ +}dsp_devices_set_t; + +typedef struct tag_dsp_rec_ctr_param_t +{ + uint16_t us_dc_volt_kp; /*181 外环PI控制:Kp*/ + uint16_t us_dc_volt_ki; /*182 外环PI控制:Ki*/ + uint16_t us_dc_volt_lmt; /*183 外环PI控制:OutLimit*/ + uint16_t us_volt_bal_kp; /*184 均压环PI控制:Kp*/ + uint16_t us_volt_bal_ki; /*185 均压环PI控制:Ki*/ + uint16_t us_volt_bal_lmt; /*186 均压环PI控制:OutLimit*/ + uint16_t us_ac_cur_kp; /*187 电流环Kp */ + uint16_t us_act_dmp_coff; /*188 有源阻尼Kp*/ + uint16_t us_rctv_pwt_kp; /*189 无功稳压控制Kp*/ + uint16_t us_rctv_pwt_ki; /*190 无功稳压控制Ki*/ + uint16_t us_cur_q_kp; /*191 电流环q轴PI控制:Ki*/ + uint16_t us_cur_q_lmt; /*192 电流环q轴PI控制:OutLimit*/ + uint16_t us_zero_ord_cur_kp; /*193 零序电流PI控制:Kp*/ + uint16_t us_zero_ord_cur_ki; /*194 零序电流PI控制:Ki*/ + uint16_t us_zero_ord_cur_lmt; /*195 零序电流PI控制:OutLimit*/ + uint16_t us_kr_1; /*196 1次谐振增益*/ + uint16_t us_kr_2; /*197 2次谐振增益*/ + uint16_t us_kr_3; /*198 3次谐振增益*/ + uint16_t us_kr_4; /*199 4次谐振增益*/ + uint16_t us_kr_5; /*200 5次谐振增益*/ + uint16_t us_kr_6; /*201 6次谐振增益*/ + uint16_t us_kr_7; /*202 7次谐振增益*/ + uint16_t us_kr_8; /*203 8次谐振增益*/ + uint16_t us_kr_9; /*204 9次谐振增益*/ + uint16_t us_kr_10; /*205 10次谐振增益*/ + uint16_t us_kr_11; /*206 11次谐振增益*/ + uint16_t us_kr_12; /*207 12次谐振增益*/ + uint16_t us_kr_13; /*208 13次谐振增益*/ + uint16_t us_bst_volt_kp; /*209 boost电压环Kp*/ + uint16_t us_bst_volt_ki; /*210 boost电压环Ki*/ + uint16_t us_bst_cur_kp; /*211 boost电流环Kp*/ + uint16_t us_bst_cur_ki; /*212 boost电流环Ki*/ + uint16_t us_lvrt_coff; /*213 低电压穿越系数*/ + uint16_t us_hvrt_coff; /*214 高电压穿越系数*/ + uint16_t us_pwm_mode; /*215 调制方式*/ + uint16_t us_ffwd_mode; /*216 电压前馈方式*/ + uint16_t us_bus_volt_ref_dwn_lmt; /*217 母线电压参考值下限*/ + uint16_t us_zero_ctr_kp; /*218 零序分量控制kp参数*/ + uint16_t us_ffwd_coff; /*219 加权前馈的占比系数*/ + uint16_t us_pwr_lmt_mode_en; /*220 限功率模式使能*/ + uint16_t us_island_kp; /*221 孤岛保护Kp*/ + uint16_t us_CPWM_m_TH; /*222 进入CPWM调制度阈值*/ + uint16_t us_DPWM_m_TH; /*223 进入DPWM调制度阈值*/ + uint16_t us_CPWM_bus_volt_TH; /*224 进入CPWM母线电压阈值*/ + uint16_t us_DPWM_bus_volt_TH; /*225 进入DPWM母线电压阈值*/ + uint16_t us_dc_volt_ref; /*226 直流电压参考*/ + uint16_t us_ac_volt_ref; /*227 交流电压参考*/ + int16_t sh_rctv_cur_ref; /*228 无功电流参考*/ + uint16_t us_boost_cur_ref1; /*229 boost1电流参考值*/ + uint16_t us_boost_cur_ref2; /*230 boost2电流参考值*/ + uint16_t us_boost_cur_ref3; /*231 boost3电流参考值*/ + uint16_t us_boost_cur_ref4; /*232 boost4电流参考值*/ + int16_t sh_actv_cur_ref; /*233 有功电流参考*/ + uint16_t us_reactive_voltage_coff; /*234 无功调压系数*/ + uint16_t us_com_mode_cur_TH; /*235 共模电流幅值阈值*/ + uint16_t us_com_mode_cur_cpwm_TH; /*236 CPWM共模电流次数*/ + uint16_t us_com_mode_cur_dpwm_TH; /*237 DPWM共模电流次数*/ + uint16_t aus_reserve4[13]; /*238 预留*/ +}dsp_rec_ctr_param_t; + +typedef struct tag_dsp_ctr_th_param_t +{ + uint16_t us_open_crct_ov_TH; /*251 开路电压过高阈值*/ + uint16_t us_dc_input_ov_TH; /*252 直流输入过压阈值*/ + uint16_t us_bus_ov_TH; /*253 直流母线过压阈值*/ + uint16_t us_bus_uv_TH; /*254 直流母线欠压阈值*/ + uint16_t us_inv_oc_TH; /*255 逆变电流保护瞬时值*/ + uint16_t us_inv_rms_oc_TH; /*256 逆变电流保护有效值*/ + uint16_t us_inv_cbc_TH; /*257 逆变电流逐波限流封锁阈值*/ + uint16_t us_inv_cbc_unlck_TH; /*258 逆变电流逐波限流解封阈值*/ + uint16_t us_bst1_oc_TH; /*259 Boost1过流软件保护阈值*/ + uint16_t us_bst2_oc_TH; /*260 Boost2过流软件保护阈值*/ + uint16_t us_bst_3_oc_TH; /*261 Boost3过流软件保护阈值*/ + uint16_t us_bst4_oc_TH; /*262 Boost4过流软件保护阈值*/ + uint16_t us_pv_sc_volt_TH; /*263 MPPT短路电压阈值*/ + uint16_t us_pv_sc_cur_TH; /*264 MPPT短路电流阈值*/ + uint16_t us_grd_phase_loss_TH; /*265 额定电网保护电压*/ + uint16_t us_grd_ov_TH; /*266 电网过压阈值*/ + uint16_t us_grd_uv_TH; /*267 电网欠压阈值*/ + uint16_t us_grd_ov_2nd_TH; /*268 电网欠压二级保护阈值*/ + uint16_t us_grd_ov_1st_TH; /*269 电网欠压一级保护阈值*/ + uint16_t us_grd_uv_1st_TH; /*270 电网过压一级保护阈值*/ + uint16_t us_grd_uv_2nd_TH; /*271 电网过压二级保护阈值*/ + uint16_t us_ov_lmt_pwr_TH; /*272 过压降额阈值*/ + uint16_t us_freq_ov_lgc; /*273 电网频率上限*/ + uint16_t us_freq_und_lgc; /*274 电网频率下限*/ + uint16_t us_grd_und_freq_5th_TH; /*275 电网欠频五级保护阈值*/ + uint16_t us_grd_und_freq_4th_TH; /*276 电网欠频四级保护阈值*/ + uint16_t us_grd_und_freq_3rd_TH; /*277 电网欠频三级保护阈值*/ + uint16_t us_grd_und_freq_2nd_TH; /*278 电网欠频二级保护阈值*/ + uint16_t us_grd_und_freq_1st_TH; /*279 电网欠频一级保护阈值*/ + uint16_t us_grd_over_freq_1st_TH; /*280 电网过频一级保护阈值*/ + uint16_t us_grd_over_freq_2nd_TH; /*281 电网过频二级保护阈值*/ + uint16_t us_grd_over_freq_3rd_TH; /*282 电网过频三级保护阈值*/ + uint16_t us_ov_freq_lmt_pwr_TH; /*283 过频降额阈值*/ + uint16_t us_cap_oc_TH; /*284 滤波电容过流保护阈值*/ + uint16_t us_cap_ov_TH; /*285 滤波电容过压保护阈值*/ + uint16_t us_inslt_rstr_TH; /*286 绝缘阻抗检测阈值*/ + uint16_t us_grd_flt_dis_inner_flt_en; /*287 电网故障屏蔽内部故障*/ + uint16_t us_act_island_dtct_TH; /*288 主动反孤岛阈值*/ + uint16_t us_act_island_dtct_var_TH; /*289 反孤岛无功电流余量*/ + uint16_t us_pv_line_dtct_en; /*290 PV接线检测(未启用)*/ + uint16_t us_pv_inversed_input_vol_TH; /*291 PV反接电压阈值*/ + uint16_t us_pv_inversed_input_curr_TH; /*292 PV反接电感电流阈值*/ + uint16_t us_pv_backward_input_vol_TH; /*293 PV回灌电压阈值*/ + uint16_t us_pv_branch_input_curr_TH; /*294 支路输入电流阈值*/ + int16_t us_pv_branch_input_curr_TH1; /*295 支路输入电流阈值1*/ + uint16_t us_pv_branch_input_curr_TH2; /*296 支路输入电流阈值2*/ + uint16_t us_eco_warning_1; /*297 节能告警阈值1*/ + uint16_t us_eco_warning_2; /*298 节能告警阈值2*/ + uint16_t us_cavity_overtemp_TH; /*299 腔体过温阈值*/ + uint16_t us_cavity_overtemp_TH2; /*300 腔体2过温阈值*/ + uint16_t us_collfin_overtemp_TH; /*301 散热片过温阈值*/ + uint16_t us_q_u_low_vol_th; /*302 Q-U低压系数阈值*/ + uint16_t us_q_u_high_vol_th; /*303 Q-U高压系数阈值*/ + uint16_t us_lvrt_border_th; /*304 低穿穿越边界*/ + uint16_t us_hvrt_border_th; /*305 高穿穿越边界*/ + uint16_t us_over_cap_current_time_ms; /*306 滤波电容过流保护时间*/ + uint16_t us_over_rms_current_time_ms; /*307 逆变过流保护时间*/ + uint16_t us_grid_over_volt_L0_time_ms; /*308 电网过压L0保护时间*/ + uint16_t us_grid_over_volt_L1_time_ms; /*309 电网过压L1保护时间*/ + uint16_t us_grid_over_volt_L2_time_ms; /*310 电网过压L2保护时间*/ + uint16_t us_grid_below_volt_L0_time_ms; /*311 电网欠压L0保护时间*/ + uint16_t us_grid_below_volt_L1_time_ms; /*312 电网欠压L1保护时间*/ + uint16_t us_grid_below_volt_L2_time_ms; /*313 电网欠压L2保护时间*/ + uint16_t us_grid_over_freq_L0_time_ms; /*314 电网过频L0保护时间*/ + uint16_t us_grid_over_freq_L1_time_s; /*315 电网过频L1保护时间*/ + uint16_t us_grid_over_freq_L2_time_s; /*316 电网过频L2保护时间*/ + uint16_t us_grid_over_freq_L3_time_ms; /*317 电网过频L3保护时间*/ + uint16_t us_grid_below_freq_L0_time_ms; /*318 电网欠频L0保护时间*/ + uint16_t us_grid_below_freq_L1_time_s; /*319 电网欠频L1保护时间*/ + uint16_t us_grid_below_freq_L2_time_s; /*320 电网欠频L2保护时间*/ + uint16_t us_grid_below_freq_L3_time_s; /*321 电网欠频L3保护时间*/ + uint16_t us_grid_below_freq_L4_time_s; /*322 电网欠频L4保护时间*/ + uint16_t us_grid_below_freq_L5_time_ms; /*323 电网欠频L5保护时间*/ + uint16_t us_over_bus_volt_time_ms; /*324 母线欠压保护时间*/ + uint16_t aus_reserve5[6]; /*325 预留*/ +}dsp_ctr_th_param_t; + +typedef struct tag_dsp_ctr_limit_param_t +{ + uint16_t us_rt_rctv_cur_lmt; /*331 高低穿无功电流限幅值*/ + uint16_t us_inv_cur_lmt; /*332 逆变总电流限幅值*/ + uint16_t us_inv_act_cur_lmt; /*333 逆变有功电流限幅值*/ + uint16_t us_inv_rctv_cur_lmt; /*334 逆变无功电流限幅值*/ + uint16_t us_bst1_cur_lmt; /*335 Boost1单路电流限幅值*/ + uint16_t us_bst2_cur_lmt; /*336 Boost2单路电流限幅值*/ + uint16_t us_bst3_cur_lmt; /*337 Boost3单路电流限幅值*/ + uint16_t us_bst4_cur_lmt; /*338 Boost4单路电流限幅值*/ + uint16_t us_5th_cur_lmt; /*339 5次谐波电流限幅值*/ + uint16_t us_7th_cur_lmt; /*340 7次谐波电流限幅值*/ + uint16_t us_11th_cur_lmt; /*341 11次谐波电流限幅值*/ + uint16_t us_13th_cur_lmt; /*342 13次谐波电流限幅值*/ + uint16_t us_17th_cur_lmt; /*343 17次谐波电流限幅值*/ + uint16_t us_19th_cur_lmt; /*344 19次谐波电流限幅值*/ + uint16_t us_2th_cur_lmt; /*345 2次谐波电流限幅值*/ + uint16_t us_4th_cur_lmt; /*346 4次谐波电流限幅值*/ + uint16_t us_6th_cur_lmt; /*347 6次谐波电流限幅值*/ + uint16_t us_8th_cur_lmt; /*348 8次谐波电流限幅值*/ + uint16_t us_10th_cur_lmt; /*349 10次谐波电流限幅值*/ + uint16_t us_14th_cur_lmt; /*350 14次谐波电流限幅值*/ + uint16_t us_16th_cur_lmt; /*351 16次谐波电流限幅值*/ + uint16_t us_20th_cur_lmt; /*352 20次谐波电流限幅值*/ + uint16_t us_DPWM_ap_TH; /*353 进入DPWM视在功率阈值*/ + uint16_t us_CPWM_ap_TH; /*354 进入CPWM视在功率阈值*/ + uint16_t us_lead_comp_kp; /*355 零序超前补偿kp*/ + uint16_t us_collfin_overtemp_lmt_th; /*356 散热片过温降功率阈值*/ + uint16_t us_cavity_overtemp_lmt_th; /*357 腔体过温降功率阈值*/ + uint16_t us_cavity2_overtemp_lmt_th; /*358 腔体2过温降功率阈值*/ + uint16_t us_overtemp_pwr_down_th; /*359 过温降额功率下限*/ + uint16_t us_fan_fault_pwr_down_th; /*360 风扇故障降额功率下限*/ + uint16_t us_overtemp_pwr_up_th; /*361 过温降额功率上限*/ + uint16_t us_overtemp_pwr_change_down_th; /*362 过温降额功率变化率上限*/ + uint16_t aus_reserve6[18]; /*363 预留*/ +}dsp_ctr_limit_param_t; + +typedef struct tag_dsp_debug_test_control_t +{ + uint16_t us_reserve_param5_0; /*381 预留参数5_0*/ + uint16_t us_reserve_param5_1; /*382 预留参数5_1*/ + uint16_t us_reserve_param5_2; /*383 预留参数5_2*/ + uint16_t us_reserve_param5_3; /*384 预留参数5_3*/ + uint16_t us_systm_sta; /*385 整机状态*/ + uint16_t us_inv_sta; /*386 逆变状态*/ + uint16_t us_mppt1_state; /*387 MPPT1状态(debug)*/ + uint16_t us_mppt2_state; /*388 MPPT2状态(debug)*/ + uint16_t us_mppt3_state; /*389 MPPT3状态(debug)*/ + uint16_t us_mppt4_state; /*390 MPPT4状态(debug)*/ + uint16_t us_low_pwr_flg; /*391 功率不足标志*/ + uint16_t us_mppt_manual_reference; /*392 MPPT手动参考标志位*/ + uint16_t us_mppt_manual_reference_value; /*393 MPPT手动参考值*/ + uint16_t us_volt_bal_th; /*394 母线均压开启阈值*/ + uint16_t us_reserve_param5_4; /*395 预留参数5_4*/ + uint16_t us_reserve_param5_5; /*396 预留参数5_5*/ + uint16_t aus_reserve7[23]; /*397 预留*/ +}dsp_debug_test_control_t; + +typedef struct tag_dsp_calibrate_t +{ + uint16_t us_auto_calibrate_en; /*420 自动化校准使能*/ + uint16_t us_auto_calibrate_state; /*421 自动化校准状态*/ + uint16_t us_auto_calibrate_cmd; /*422 自动化校准指令*/ + uint16_t us_auto_calibrate_result; /*423 自动化校准结果*/ + uint16_t us_auto_calibrate_refresh_flag; /*424 自动化校准刷新标志*/ + uint16_t us_reserve_param6_6; /*425 预留参数6_6*/ + uint16_t us_reserve_param6_7; /*426 预留参数6_7*/ + uint16_t us_reserve_param6_8; /*427 预留参数6_8*/ + uint16_t us_reserve_param6_9; /*428 预留参数6_9*/ + uint16_t us_reserve_param6_10; /*429 预留参数6_10*/ + uint16_t us_reserve_param6_11; /*430 预留参数6_11*/ + uint16_t us_reserve_param6_12; /*431 预留参数6_12*/ + uint16_t us_reserve_param6_13; /*432 预留参数6_13*/ + uint16_t us_reserve_param6_14; /*433 预留参数6_14*/ + uint16_t us_reserve_param6_15; /*434 预留参数6_15*/ + uint16_t us_reserve_param6_16; /*435 预留参数6_16*/ + uint16_t us_reserve_param6_17; /*436 预留参数6_17*/ + uint16_t us_reserve_param6_18; /*437 预留参数6_18*/ + uint16_t us_reserve_param6_19; /*438 预留参数6_19*/ + uint16_t us_reserve_param6_20; /*439 预留参数6_20*/ + uint16_t us_reserve_param6_21; /*440 预留参数6_21*/ + uint16_t us_reserve_param6_22; /*441 预留参数6_22*/ + uint16_t us_reserve_param6_23; /*442 预留参数6_23*/ + uint16_t us_reserve_param6_24; /*443 预留参数6_24*/ + uint16_t us_reserve_param6_25; /*444 预留参数6_25*/ + uint16_t us_reserve_param6_26; /*445 预留参数6_26*/ + uint16_t us_reserve_param6_27; /*446 预留参数6_27*/ + uint16_t us_reserve_param6_28; /*447 预留参数6_28*/ + uint16_t us_reserve_param6_29; /*448 预留参数6_29*/ + uint16_t us_reserve_param6_30; /*449 预留参数6_30*/ + uint16_t us_reserve_param6_31; /*450 预留参数6_31*/ + uint16_t us_reserve_param6_32; /*451 预留参数6_32*/ + uint16_t us_reserve_param6_33; /*452 预留参数6_33*/ + uint16_t us_reserve_param6_34; /*453 预留参数6_34*/ + uint16_t us_reserve_param6_35; /*454 预留参数6_35*/ + uint16_t us_reserve_param6_36; /*455 预留参数6_36*/ + uint16_t us_reserve_param6_37; /*456 预留参数6_37*/ + uint16_t aus_reserve8[43]; /*457 预留*/ +}dsp_calibrate_t; + +typedef struct tag_dsp_data_file_t +{ + uint16_t us_dev_addr; /*500 本地通信地址(模块号)*/ + uint16_t us_device_rated_actv_pwr; /*501 装置额定有功功率(设备容量)*/ + uint16_t us_device_rated_rctv_pwr; /*502 装置额定无功功率*/ + uint16_t aus_app_ver[2]; /*503 DSP主控版本号*/ + uint16_t aus_boot_ver[2]; /*505 DSP底层版本号*/ + uint16_t aus_prog_code[3]; /*507 DSP主控程序组件号*/ + uint16_t us_dev_type; /*510 设备类型*/ + uint16_t us_prot_ver; /*511 DSP使用地址表协议版本号*/ + uint16_t us_cfg_crc_h; /*512 DSP配置参数CRC高16位*/ + uint16_t us_cfg_crc_l; /*513 DSP配置参数CRC低16位*/ + uint16_t us_device_phase; /*514 相数*/ + uint16_t aus_app_ver_new[4]; /*515 DSP主控版本号新格式*/ + uint16_t aus_boot_ver_new[4]; /*519 DSP底层版本号新格式*/ + uint16_t us_mppt_number; /*523 MPPT数量*/ + uint16_t aus_reserve9[26]; /*524 预留*/ +}dsp_data_file_t; + +typedef struct tag_dsp_data_hardware_t +{ + uint16_t us_relay_a_stat; /*550 继电器A状态*/ + uint16_t us_relay_b_stat; /*551 继电器B状态*/ + uint16_t us_relay_c_stat; /*552 继电器C状态*/ + uint16_t aus_reserve10[7]; /*553 预留*/ +}dsp_data_hardware_t; + +typedef struct tag_dsp_data_state_t +{ + uint16_t us_fault1_1; /*560 一般故障1*/ + uint16_t us_fault1_2; /*561 一般故障2*/ + uint16_t us_fault1_3; /*562 一般故障3*/ + uint16_t us_fault1_4; /*563 一般故障4*/ + uint16_t us_fault2_1; /*564 严重故障1*/ + uint16_t us_fault2_2; /*565 严重故障2*/ + uint16_t us_fault2_3; /*566 严重故障3*/ + uint16_t us_fault2_4; /*567 严重故障4*/ + uint16_t us_waring_1; /*568 告警事件1*/ + uint16_t us_waring_2; /*569 告警事件2*/ + uint16_t us_slf_chk_1; /*570 自检事件1*/ + uint16_t us_slf_chk_2; /*571 自检事件2*/ + uint16_t aus_reserve11[18]; /*572 预留*/ + uint16_t us_run_mode_sta; /*590 DSP运行状态*/ + uint16_t us_phase_sta; /*591 电压相序显示*/ + uint16_t us_mppt1_sta; /*592 MPPT1状态*/ + uint16_t us_mppt2_sta; /*593 MPPT2状态*/ + uint16_t us_dev_sta; /*594 显示运行模式*/ + uint16_t us_fault_label; /*595 故障状态标志*/ + uint16_t us_lgc_label; /*596 逻辑状态标签*/ + uint16_t us_echo_label; /*597 节能状态标签*/ + uint16_t us_pll_label; /*598 锁相状态标签*/ + uint16_t us_aux_label; /*599 辅助状态标签*/ + uint16_t us_ov_tem_half_pwr_label; /*600 过温半载运行标签*/ + uint16_t us_dc_led_state_display; /*601 DSP直流灯状态指示*/ + uint16_t us_ac_led_state_display; /*602 DSP交流灯状态指示*/ + uint16_t us_device_modulation_state; /*603 设备调制状态*/ + uint16_t us_mppt3_sta; /*604 MPPT3状态*/ + uint16_t us_mppt4_sta; /*605 MPPT4状态*/ + uint16_t us_over_temp_limit_pwr; /*606 过温限功率状态*/ + uint16_t aus_reserve12[13]; /*607 预留*/ +}dsp_data_state_t; + +typedef struct tag_dsp_data_collect_t +{ + uint16_t us_grid_freq; /*620 电网频率*/ + int16_t sh_dc_input_avg_volt; /*621 总母线电压avg*/ + int16_t sh_dc_up_side_avg_volt; /*622 上母线电压avg*/ + int16_t sh_dc_low_side_avg_volt; /*623 下母线电压_avg*/ + uint16_t us_grid_a_rms_volt; /*624 电网电压A_RMS*/ + uint16_t us_grid_b_rms_volt; /*625 电网电压B_RMS*/ + uint16_t us_grid_c_rms_volt; /*626 电网电压C_RMS*/ + uint16_t us_cap_a_rms_volt; /*627 逆变阻尼电压A_RMS*/ + uint16_t us_cap_b_rms_volt; /*628 逆变阻尼电压B_RMS*/ + uint16_t us_cap_c_rms_volt; /*629 逆变阻尼电压C_RMS*/ + uint16_t us_inv_a_rms_cur; /*630 逆变电流A_RMS*/ + uint16_t us_inv_b_rms_cur; /*631 逆变电流B_RMS*/ + uint16_t us_inv_c_rms_cur; /*632 逆变电流C_RMS*/ + uint16_t us_cap_a_rms_cur; /*633 LCL电容电流A_RMS*/ + uint16_t us_cap_b_rms_cur; /*634 LCL电容电流B_RMS*/ + uint16_t us_cap_c_rms_cur; /*635 LCL电容电流C_RMS*/ + uint16_t us_reserve_data2_7; /*636 预留数据2_7*/ + uint16_t us_reserve_data2_8; /*637 预留数据2_8*/ + uint16_t us_reserve_data2_9; /*638 预留数据2_9*/ + uint16_t us_boost_pv_volt_1; /*639 BOOST输入电压1路*/ + uint16_t us_boost_pv_volt_2; /*640 BOOST输入电压2路*/ + uint16_t us_boost_pv_volt_3; /*641 BOOST输入电压3路*/ + uint16_t us_boost_pv_volt_4; /*642 BOOST输入电压4路*/ + int16_t sh_boost1_pv_cur_1; /*643 1路BOOST组串电流1*/ + int16_t sh_boost2_pv_cur_1; /*644 2路BOOST组串电流1*/ + int16_t sh_boost3_pv_cur_1; /*645 3路BOOST组串电流1*/ + int16_t sh_boost4_pv_cur_1; /*646 4路BOOST组串电流1*/ + int16_t sh_boost_induc_cur_1; /*647 BOOST电感电流1路*/ + int16_t sh_boost_induc_cur_2; /*648 BOOST电感电流2路*/ + int16_t sh_boost_induc_cur_3; /*649 BOOST电感电流3路*/ + int16_t sh_boost_induc_cur_4; /*650 BOOST电感电流4路*/ + uint16_t us_device_curr_a; /*651 设备电流A*/ + uint16_t us_device_curr_b; /*652 设备电流B*/ + uint16_t us_device_curr_c; /*653 设备电流C*/ + int16_t sh_boost1_pv_cur_2; /*654 1路BOOST组串电流2*/ + int16_t sh_boost2_pv_cur_2; /*655 2路BOOST组串电流2*/ + int16_t sh_boost3_pv_cur_2; /*656 3路BOOST组串电流2*/ + int16_t sh_boost4_pv_cur_2; /*657 4路BOOST组串电流2*/ + uint16_t aus_reserve13[18]; /*658 预留*/ + uint16_t us_reserve_data2_1; /*676 预留数据2_1*/ + uint16_t us_reserve_data2_2; /*677 预留数据2_2*/ + uint16_t us_reserve_data2_3; /*678 预留数据2_3*/ + uint16_t us_reserve_data2_4; /*679 预留数据2_4*/ + uint16_t us_reserve_data2_5; /*680 预留数据2_5*/ + uint16_t us_reserve_data2_6; /*681 预留数据2_6*/ + uint16_t aus_reserve14[8]; /*682 预留*/ +}dsp_data_collect_t; + +typedef struct tag_dsp_data_power_t +{ + int16_t sh_dev_a_actv_pwr; /*690 装置侧有功功率A*/ + int16_t sh_dev_b_actv_pwr; /*691 装置侧有功功率B*/ + int16_t sh_dev_c_actv_pwr; /*692 装置侧有功功率C*/ + int16_t sh_dev_actv_pwr; /*693 装置侧有功功率总*/ + int16_t sh_dev_a_rctv_pwr; /*694 装置侧无功功率A*/ + int16_t sh_dev_b_rctv_pwr; /*695 装置侧无功功率B*/ + int16_t sh_dev_c_rctv_pwr; /*696 装置侧无功功率C*/ + int16_t sh_dev_rctv_pwr; /*697 装置侧无功功率总*/ + uint16_t us_dev_a_aprt_pwr; /*698 装置侧视在功率A*/ + uint16_t us_dev_b_aprt_pwr; /*699 装置侧视在功率B*/ + uint16_t us_dev_c_aprt_pwr; /*700 装置侧视在功率C*/ + uint16_t us_dev_aprt_pwr; /*701 装置侧视在功率总*/ + uint16_t us_dev_a_PF; /*702 装置侧功率因数A*/ + uint16_t us_dev_b_PF; /*703 装置侧功率因数B*/ + uint16_t us_dev_c_PF; /*704 装置侧功率因数C*/ + uint16_t us_dev_PF; /*705 装置侧功率因数总*/ + int16_t sh_grid_a_actv_pwr; /*706 网侧有功功率A*/ + int16_t sh_grid_b_actv_pwr; /*707 网侧有功功率B*/ + int16_t sh_grid_c_actv_pwr; /*708 网侧有功功率C*/ + int16_t sh_grid_actv_pwr; /*709 网侧有功功率总*/ + int16_t sh_grid_a_rctv_pwr; /*710 网侧无功功率A*/ + int16_t sh_grid_b_rctv_pwr; /*711 网侧无功功率B*/ + int16_t sh_grid_c_rctv_pwr; /*712 网侧无功功率C*/ + int16_t sh_grid_rctv_pwr; /*713 网侧无功功率总*/ + uint16_t us_grid_a_aprt_pwr; /*714 网侧视在功率A*/ + uint16_t us_grid_b_aprt_pwr; /*715 网侧视在功率B*/ + uint16_t us_grid_c_aprt_pwr; /*716 网侧视在功率C*/ + uint16_t us_grid_aprt_pwr; /*717 网侧视在功率总*/ + int16_t sh_grid_a_PF; /*718 网侧功率因数A*/ + int16_t sh_grid_b_PF; /*719 网侧功率因数B*/ + int16_t sh_grid_c_PF; /*720 网侧功率因数C*/ + int16_t sh_grid_PF; /*721 网侧功率因数总*/ + int16_t sh_load_a_actv_pwr; /*722 负载有功功率A*/ + int16_t sh_load_b_actv_pwr; /*723 负载有功功率B*/ + int16_t sh_load_c_actv_pwr; /*724 负载有功功率C*/ + int16_t sh_load_actv_pwr; /*725 负载有功功率总*/ + int16_t sh_load_a_rctv_pwr; /*726 负载无功功率A*/ + int16_t sh_load_b_rctv_pwr; /*727 负载无功功率B*/ + int16_t sh_load_c_rctv_pwr; /*728 负载无功功率C*/ + int16_t sh_load_rctv_pwr; /*729 负载无功功率总*/ + uint16_t us_load_a_aprt_pwr; /*730 负载视在功率A*/ + uint16_t us_load_b_aprt_pwr; /*731 负载视在功率B*/ + uint16_t us_load_c_aprt_pwr; /*732 负载视在功率C*/ + uint16_t us_load_aprt_pwr; /*733 负载视在功率总*/ + int16_t sh_load_a_PF; /*734 负载功率因数A*/ + int16_t sh_load_b_PF; /*735 负载功率因数B*/ + int16_t sh_load_c_PF; /*736 负载功率因数C*/ + int16_t sh_load_PF; /*737 负载功率因数总*/ + int16_t us_boost_pwr_1; /*738 BOOST功率1路*/ + int16_t us_boost_pwr_2; /*739 BOOST功率2路*/ + int16_t us_boost_pwr_3; /*740 BOOST功率3路*/ + int16_t us_boost_pwr_4; /*741 BOOST功率4路*/ + int16_t us_boost_pwr; /*742 BOOST功率总*/ + uint16_t aus_reserve15[27]; /*743 预留*/ +}dsp_data_power_t; + +typedef struct tag_dsp_data_unbalance_t +{ + uint16_t us_grid_cur_unb; /*770 网侧电流不平衡度*/ + uint16_t us_grid_cur_unb2; /*771 网侧电流负序不平衡度*/ + uint16_t us_grid_cur_unb0; /*772 网侧电流零序不平衡度*/ + uint16_t us_load_cur_unb; /*773 负载电流不平衡度*/ + uint16_t us_load_cur_unb2; /*774 负载电流负序不平衡度*/ + uint16_t us_load_cur_unb0; /*775 负载电流零序不平衡度*/ + uint16_t us_grid_volt_unb; /*776 电网电压不平衡度*/ + uint16_t us_grid_volt_unb2; /*777 电网电压负序不平衡度*/ + uint16_t us_grid_volt_unb0; /*778 电网电压零序不平衡度*/ + uint16_t aus_reserve16[49]; /*779 预留*/ +}dsp_data_unbalance_t; + + +typedef struct tag_dsp_config_param_t +{ + dsp_devices_set_t st_dsp_devices_set; + dsp_rec_ctr_param_t st_dsp_rec_ctr_param; + dsp_ctr_th_param_t st_dsp_ctr_th_param; + dsp_ctr_limit_param_t st_dsp_ctr_limit_param; + dsp_debug_test_control_t st_dsp_debug_test_control; + dsp_calibrate_t st_dsp_calibrate; +}dsp_config_param_t; + +typedef struct tag_dsp_monitor_params_t +{ + dsp_data_file_t st_dsp_data_file; + dsp_data_hardware_t st_dsp_data_hardware; + dsp_data_state_t st_dsp_data_state; + dsp_data_collect_t st_dsp_data_collect; + dsp_data_power_t st_dsp_data_power; + dsp_data_unbalance_t st_dsp_data_unbalance; +}dsp_monitor_params_t; + +typedef struct tag_communication_params_t +{ + dsp_unrecovery_param_t st_dsp_unrecovery_param; + dsp_command_t st_dsp_cmd; + dsp_config_param_t st_config_param; + dsp_monitor_params_t st_monitor_params; +}communication_params_t; + +/*参数地址宏定义*/ +//dsp_unrecovery_param_t +#define DSP_GRD_A_VOLT_CALIB_COFF_PARAM_ADDR 0 /*A相采样校准a(网侧交流电压采样)*/ +#define DSP_GRD_A_VOLT_CALIB_BIAS_PARAM_ADDR 1 /*A相采样校准b(网侧交流电压采样)*/ +#define DSP_GRD_B_VOLT_CALIB_COFF_PARAM_ADDR 2 /*B相采样校准a(网侧交流电压采样)*/ +#define DSP_GRD_B_VOLT_CALIB_BIAS_PARAM_ADDR 3 /*B相采样校准b(网侧交流电压采样)*/ +#define DSP_GRD_C_VOLT_CALIB_COFF_PARAM_ADDR 4 /*C相采样校准a(网侧交流电压采样)*/ +#define DSP_GRD_C_VOLT_CALIB_BIAS_PARAM_ADDR 5 /*C相采样校准b(网侧交流电压采样)*/ +#define DSP_INV_A_CUR_CALIB_COFF_PARAM_ADDR 6 /*A相采样校准a(逆变侧电感电流)*/ +#define DSP_INV_A_CUR_CALIB_BIAS_PARAM_ADDR 7 /*A相采样校准b(逆变侧电感电流)*/ +#define DSP_INV_A_CUR_PHASE_OFFSET_PARAM_ADDR 8 /*A相逆变电流相位偏移量*/ +#define DSP_INV_B_CUR_CALIB_COFF_PARAM_ADDR 9 /*B相采样校准a(逆变侧电感电流)*/ +#define DSP_INV_B_CUR_CALIB_BIAS_PARAM_ADDR 10 /*B相采样校准b(逆变侧电感电流)*/ +#define DSP_INV_B_CUR_PHASE_OFFSET_PARAM_ADDR 11 /*B相逆变电流相位偏移量*/ +#define DSP_INV_C_CUR_CALIB_COFF_PARAM_ADDR 12 /*C相采样校准a(逆变侧电感电流)*/ +#define DSP_INV_C_CUR_CALIB_BIAS_PARAM_ADDR 13 /*C相采样校准b(逆变侧电感电流)*/ +#define DSP_INV_C_CUR_PHASE_OFFSET_PARAM_ADDR 14 /*C相逆变电流相位偏移量*/ +#define DSP_CAP_A_CUR_CALIB_COFF_PARAM_ADDR 15 /*A相LCL电容电流系数*/ +#define DSP_CAP_A_CUR_PHASE_OFFSET_PARAM_ADDR 16 /*A相LCL电容电流相位偏移量*/ +#define DSP_CAP_B_CUR_CALIB_COFF_PARAM_ADDR 17 /*B相LCL电容电流系数*/ +#define DSP_CAP_B_CUR_PHASE_OFFSET_PARAM_ADDR 18 /*B相LCL电容电流相位偏移量*/ +#define DSP_CAP_C_CUR_CALIB_COFF_PARAM_ADDR 19 /*C相LCL电容电流系数*/ +#define DSP_CAP_C_CUR_PHASE_OFFSET_PARAM_ADDR 20 /*C相LCL电容电流相位偏移量*/ +#define DSP_BST1_CUR_CALIB_COFF_PARAM_ADDR 21 /*采样校准a(BOOST1电感电流)*/ +#define DSP_BST1_CUR_CALIB_BIAS_PARAM_ADDR 22 /*采样校准b(BOOST1电感电流)*/ +#define DSP_BST2_CUR_CALIB_COFF_PARAM_ADDR 23 /*采样校准a(BOOST2电感电流)*/ +#define DSP_BST2_CUR_CALIB_BIAS_PARAM_ADDR 24 /*采样校准b(BOOST2电感电流)*/ +#define DSP_BST3_CUR_CALIB_COFF_PARAM_ADDR 25 /*采样校准a(BOOST3电感电流)*/ +#define DSP_BST3_CUR_CALIB_BIAS_PARAM_ADDR 26 /*采样校准b(BOOST3电感电流)*/ +#define DSP_BST4_CUR_CALIB_COFF_PARAM_ADDR 27 /*采样校准a(BOOST4电感电流)*/ +#define DSP_BST4_CUR_CALIB_BIAS_PARAM_ADDR 28 /*采样校准b(BOOST4电感电流)*/ +#define DSP_PV1_VOLT_CALIB_COFF_PARAM_ADDR 29 /*采样校准a支路1(输入电压)*/ +#define DSP_PV1_VOLT_CALIB_BIAS_PARAM_ADDR 30 /*采样校准b支路1(输入电压)*/ +#define DSP_PV2_VOLT_CALIB_COFF_PARAM_ADDR 31 /*采样校准a支路2(输入电压)*/ +#define DSP_PV2_VOLT_CALIB_BIAS_PARAM_ADDR 32 /*采样校准b支路2(输入电压)*/ +#define DSP_PV3_VOLT_CALIB_COFF_PARAM_ADDR 33 /*采样校准a支路3(输入电压)*/ +#define DSP_PV3_VOLT_CALIB_BIAS_PARAM_ADDR 34 /*采样校准b支路3(输入电压)*/ +#define DSP_PV4_VOLT_CALIB_COFF_PARAM_ADDR 35 /*采样校准a支路4(输入电压)*/ +#define DSP_PV4_VOLT_CALIB_BIAS_PARAM_ADDR 36 /*采样校准b支路4(输入电压)*/ +#define DSP_TMPR_CALIB_COFF_PARAM_ADDR 37 /*采样校准a(温度补偿)*/ +#define DSP_TMPR_CALIB_BIAS_PARAM_ADDR 38 /*采样校准b(温度补偿)*/ +//dsp_command_t +#define DSP_START_PARAM_ADDR 51 /*开机*/ +#define DSP_STOP_PARAM_ADDR 52 /*关机*/ +#define DSP_RST_PARAM_ADDR 53 /*故障复位*/ +#define DSP_REBOOT_PARAM_ADDR 54 /*芯片复位重启*/ +#define DSP_SLF_CHK_PARAM_ADDR 55 /*功率单元自检(调试)*/ +#define DSP_RESUME_CONFIG_PARAM_ADDR 56 /*参数还原*/ +#define DSP_OVER_TEMP_FLAG_PARAM_ADDR 57 /*过温限功率标志*/ +//dsp_devices_set_t +#define DSP_WORK_EN_PARAM_ADDR 101 /*工作使能*/ +#define DSP_ANTI_ISLANDING_EN_PARAM_ADDR 102 /*孤岛检测使能*/ +#define DSP_LVRT_EN_PARAM_ADDR 103 /*LVRT使能*/ +#define DSP_HVRT_EN_PARAM_ADDR 104 /*HVRT使能*/ +#define DSP_MPPT_EN_PARAM_ADDR 105 /*MPPT使能*/ +#define DSP_INSULT_RSTR_EN_PARAM_ADDR 106 /*老化测试使能*/ +#define DSP_NEG_SEQ_RUN_EN_PARAM_ADDR 107 /*相序异常运行使能*/ +#define DSP_RESERVE_PARAM1_3_PARAM_ADDR 108 /*预留参数1_3*/ +#define DSP_DC_START_TH_PARAM_ADDR 109 /*直流输入电压开机阈值*/ +#define DSP_DC_STOP_TH_PARAM_ADDR 110 /*直流输入电压关机阈值*/ +#define DSP_PWR_OUTPUT_LMT_PARAM_ADDR 111 /*最大输出功率限值*/ +#define DSP_PWR_RATE_LMT_PARAM_ADDR 112 /*功率变化率上限*/ +#define DSP_RCTV_PWR_CTR_MODE_PARAM_ADDR 113 /*无功生成模式*/ +#define DSP_RCTV_PWR_REF_PARAM_ADDR 114 /*恒无功控制给定所需的无功功率*/ +#define DSP_PF_REF_PARAM_ADDR 115 /*恒功率因数控制给定所需的功率因数*/ +#define DSP_GRD_VOLT_REF_PARAM_ADDR 116 /*恒电网电压控制给定目标电网电压*/ +#define DSP_RESERVE_PARAM1_5_PARAM_ADDR 117 /*预留参数1_5*/ +#define DSP_RESERVE_PARAM1_6_PARAM_ADDR 118 /*预留参数1_6*/ +#define DSP_RESERVE_PARAM1_7_PARAM_ADDR 119 /*预留参数1_7*/ +#define DSP_RESERVE_PARAM1_8_PARAM_ADDR 120 /*预留参数1_8*/ +#define DSP_MULT_PEAK_EN_PARAM_ADDR 121 /*多峰扫描使能*/ +#define DSP_MULT_PEAK_TIME_STEP_PARAM_ADDR 122 /*多峰扫描时间间隔*/ +#define DSP_PWR_FREQ_CTR_RATE_PARAM_ADDR 123 /*频率-有功控制斜率*/ +#define DSP_GRD_RCVR_TIME_PARAM_ADDR 124 /*电网恢复等待时间*/ +#define DSP_ISLAND_RSPNS_TIME_LMT_PARAM_ADDR 125 /*孤岛响应时间上限*/ +#define DSP_RESERVE_PARAM1_9_PARAM_ADDR 126 /*预留参数1_9*/ +#define DSP_MPPT_MIN_VOLT_STEP_PARAM_ADDR 127 /*MPPT最小扰动步长*/ +#define DSP_STOP_STA_BUS_BAL_EN_PARAM_ADDR 128 /*待机母线均压使能*/ +#define DSP_STOP_TIME_LMT_PARAM_ADDR 129 /*关机上限时间*/ +#define DSP_START_VOLT_UP_LMT_PARAM_ADDR 130 /*开机电压上限*/ +#define DSP_MPPT_VOLT_UP_LMT_PARAM_ADDR 131 /*追踪电压上限*/ +#define DSP_LOW_VOLT_PWR_LMT_EN_PARAM_ADDR 132 /*低压降额使能*/ +#define DSP_HIGH_VOLT_PWR_LMT_EN_PARAM_ADDR 133 /*过压降额使能*/ +#define DSP_SINGLE_INPUT_MODE_PARAM_ADDR 134 /*共用一路输入模式*/ +#define DSP_FAULT_MODE_PARAM_ADDR 135 /*故障模式*/ +#define DSP_RESERVE_PARAM1_10_PARAM_ADDR 136 /*预留参数1_10*/ +#define DSP_PV1_MODE_PARAM_ADDR 137 /*PV1连接关系*/ +#define DSP_PV2_MODE_PARAM_ADDR 138 /*PV2连接关系*/ +#define DSP_PV3_MODE_PARAM_ADDR 139 /*PV3连接关系*/ +#define DSP_PV4_MODE_PARAM_ADDR 140 /*PV4连接关系*/ +#define DSP_MPPT_DISTB_EN_PARAM_ADDR 141 /*MPPT波动处理逻辑使能*/ +#define DSP_ACT_PWR_AUTO_EN_PARAM_ADDR 142 /*有功功率自动调整*/ +#define DSP_RCTV_PWR_COMP_PARAM_ADDR 143 /*无功补偿量*/ +#define DSP_RCTV_CTR_EN_PARAM_ADDR 144 /*无功闭环补偿使能*/ +#define DSP_INV_CUR_COMP_EN_PARAM_ADDR 145 /*逆变电流补偿使能*/ +#define DSP_INV_CUR_COMP_COFF_PARAM_ADDR 146 /*逆变电流补偿系数*/ +#define DSP_INV_CUR_DELAY_PARAM_ADDR 147 /*逆变电路延迟角度*/ +#define DSP_CAP_CUR_DELAY_PARAM_ADDR 148 /*电容电流延迟角度*/ +#define DSP_CAP_CUR_COFF_PARAM_ADDR 149 /*电容电流比例系数*/ +#define DSP_PV_CUR_COFF_PARAM_ADDR 150 /*PV电流比例校准系数*/ +#define DSP_PV_CUR_CALB_EN_PARAM_ADDR 151 /*PV输入校准标志*/ +#define DSP_DC_PWR_COMP_EN_PARAM_ADDR 152 /*直流功率补偿*/ +#define DSP_BST_RUN_MODE_PARAM_ADDR 153 /*BOOST运行模式*/ +#define DSP_BST1_EN_PARAM_ADDR 154 /*第1路BOOST使能*/ +#define DSP_BST2_EN_PARAM_ADDR 155 /*第2路BOOST使能*/ +#define DSP_BST3_EN_PARAM_ADDR 156 /*第3路BOOST使能*/ +#define DSP_BST4_EN_PARAM_ADDR 157 /*第4路BOOST使能*/ +#define DSP_VOL_FREQ_PROTCET_EN_PARAM_ADDR 158 /*分段保护使能*/ +#define DSP_PV_INVERSED_DETCET_EN_PARAM_ADDR 159 /*PV反接检测使能*/ +#define DSP_PV_BACKWARD_DETCET_EN_PARAM_ADDR 160 /*PV回灌检测使能*/ +#define DSP_ANTI_ISLANDING_PROTECT_FREQ_EN_PARAM_ADDR 161 /*孤岛保护兼容频率适应性*/ +#define DSP_PWR_CONTROL_RCTV_PRIO_EN_PARAM_ADDR 162 /*功率控制时无功优先使能*/ +#define DSP_BUS_UV_DECT_EN_PARAM_ADDR 163 /*母线欠压检测使能*/ +#define DSP_HLVRT_MODE_FLAG_PARAM_ADDR 164 /*高低穿模式切换*/ +#define DSP_RESERVE_PARAM1_4_PARAM_ADDR 165 /*预留参数1_4*/ +#define DSP_VOL_RCTV_PWR_CTR_MODE_PARAM_ADDR 166 /*电压无功控制模式*/ +#define DSP_ACCU_JUDGE_MODE_PARAM_ADDR 167 /*精度判断模式*/ +//dsp_rec_ctr_param_t +#define DSP_DC_VOLT_KP_PARAM_ADDR 181 /*外环PI控制:Kp*/ +#define DSP_DC_VOLT_KI_PARAM_ADDR 182 /*外环PI控制:Ki*/ +#define DSP_DC_VOLT_LMT_PARAM_ADDR 183 /*外环PI控制:OutLimit*/ +#define DSP_VOLT_BAL_KP_PARAM_ADDR 184 /*均压环PI控制:Kp*/ +#define DSP_VOLT_BAL_KI_PARAM_ADDR 185 /*均压环PI控制:Ki*/ +#define DSP_VOLT_BAL_LMT_PARAM_ADDR 186 /*均压环PI控制:OutLimit*/ +#define DSP_AC_CUR_KP_PARAM_ADDR 187 /*电流环Kp */ +#define DSP_ACT_DMP_COFF_PARAM_ADDR 188 /*有源阻尼Kp*/ +#define DSP_RCTV_PWT_KP_PARAM_ADDR 189 /*无功稳压控制Kp*/ +#define DSP_RCTV_PWT_KI_PARAM_ADDR 190 /*无功稳压控制Ki*/ +#define DSP_CUR_Q_KP_PARAM_ADDR 191 /*电流环q轴PI控制:Ki*/ +#define DSP_CUR_Q_LMT_PARAM_ADDR 192 /*电流环q轴PI控制:OutLimit*/ +#define DSP_ZERO_ORD_CUR_KP_PARAM_ADDR 193 /*零序电流PI控制:Kp*/ +#define DSP_ZERO_ORD_CUR_KI_PARAM_ADDR 194 /*零序电流PI控制:Ki*/ +#define DSP_ZERO_ORD_CUR_LMT_PARAM_ADDR 195 /*零序电流PI控制:OutLimit*/ +#define DSP_KR_1_PARAM_ADDR 196 /*1次谐振增益*/ +#define DSP_KR_2_PARAM_ADDR 197 /*2次谐振增益*/ +#define DSP_KR_3_PARAM_ADDR 198 /*3次谐振增益*/ +#define DSP_KR_4_PARAM_ADDR 199 /*4次谐振增益*/ +#define DSP_KR_5_PARAM_ADDR 200 /*5次谐振增益*/ +#define DSP_KR_6_PARAM_ADDR 201 /*6次谐振增益*/ +#define DSP_KR_7_PARAM_ADDR 202 /*7次谐振增益*/ +#define DSP_KR_8_PARAM_ADDR 203 /*8次谐振增益*/ +#define DSP_KR_9_PARAM_ADDR 204 /*9次谐振增益*/ +#define DSP_KR_10_PARAM_ADDR 205 /*10次谐振增益*/ +#define DSP_KR_11_PARAM_ADDR 206 /*11次谐振增益*/ +#define DSP_KR_12_PARAM_ADDR 207 /*12次谐振增益*/ +#define DSP_KR_13_PARAM_ADDR 208 /*13次谐振增益*/ +#define DSP_BST_VOLT_KP_PARAM_ADDR 209 /*boost电压环Kp*/ +#define DSP_BST_VOLT_KI_PARAM_ADDR 210 /*boost电压环Ki*/ +#define DSP_BST_CUR_KP_PARAM_ADDR 211 /*boost电流环Kp*/ +#define DSP_BST_CUR_KI_PARAM_ADDR 212 /*boost电流环Ki*/ +#define DSP_LVRT_COFF_PARAM_ADDR 213 /*低电压穿越系数*/ +#define DSP_HVRT_COFF_PARAM_ADDR 214 /*高电压穿越系数*/ +#define DSP_PWM_MODE_PARAM_ADDR 215 /*调制方式*/ +#define DSP_FFWD_MODE_PARAM_ADDR 216 /*电压前馈方式*/ +#define DSP_BUS_VOLT_REF_DWN_LMT_PARAM_ADDR 217 /*母线电压参考值下限*/ +#define DSP_ZERO_CTR_KP_PARAM_ADDR 218 /*零序分量控制kp参数*/ +#define DSP_FFWD_COFF_PARAM_ADDR 219 /*加权前馈的占比系数*/ +#define DSP_PWR_LMT_MODE_EN_PARAM_ADDR 220 /*限功率模式使能*/ +#define DSP_ISLAND_KP_PARAM_ADDR 221 /*孤岛保护Kp*/ +#define DSP_CPWM_M_TH_PARAM_ADDR 222 /*进入CPWM调制度阈值*/ +#define DSP_DPWM_M_TH_PARAM_ADDR 223 /*进入DPWM调制度阈值*/ +#define DSP_CPWM_BUS_VOLT_TH_PARAM_ADDR 224 /*进入CPWM母线电压阈值*/ +#define DSP_DPWM_BUS_VOLT_TH_PARAM_ADDR 225 /*进入DPWM母线电压阈值*/ +#define DSP_DC_VOLT_REF_PARAM_ADDR 226 /*直流电压参考*/ +#define DSP_AC_VOLT_REF_PARAM_ADDR 227 /*交流电压参考*/ +#define DSP_RCTV_CUR_REF_PARAM_ADDR 228 /*无功电流参考*/ +#define DSP_BOOST_CUR_REF1_PARAM_ADDR 229 /*boost1电流参考值*/ +#define DSP_BOOST_CUR_REF2_PARAM_ADDR 230 /*boost2电流参考值*/ +#define DSP_BOOST_CUR_REF3_PARAM_ADDR 231 /*boost3电流参考值*/ +#define DSP_BOOST_CUR_REF4_PARAM_ADDR 232 /*boost4电流参考值*/ +#define DSP_ACTV_CUR_REF_PARAM_ADDR 233 /*有功电流参考*/ +#define DSP_REACTIVE_VOLTAGE_COFF_PARAM_ADDR 234 /*无功调压系数*/ +#define DSP_COM_MODE_CUR_TH_PARAM_ADDR 235 /*共模电流幅值阈值*/ +#define DSP_COM_MODE_CUR_CPWM_TH_PARAM_ADDR 236 /*CPWM共模电流次数*/ +#define DSP_COM_MODE_CUR_DPWM_TH_PARAM_ADDR 237 /*DPWM共模电流次数*/ +//dsp_ctr_th_param_t +#define DSP_OPEN_CRCT_OV_TH_PARAM_ADDR 251 /*开路电压过高阈值*/ +#define DSP_DC_INPUT_OV_TH_PARAM_ADDR 252 /*直流输入过压阈值*/ +#define DSP_BUS_OV_TH_PARAM_ADDR 253 /*直流母线过压阈值*/ +#define DSP_BUS_UV_TH_PARAM_ADDR 254 /*直流母线欠压阈值*/ +#define DSP_INV_OC_TH_PARAM_ADDR 255 /*逆变电流保护瞬时值*/ +#define DSP_INV_RMS_OC_TH_PARAM_ADDR 256 /*逆变电流保护有效值*/ +#define DSP_INV_CBC_TH_PARAM_ADDR 257 /*逆变电流逐波限流封锁阈值*/ +#define DSP_INV_CBC_UNLCK_TH_PARAM_ADDR 258 /*逆变电流逐波限流解封阈值*/ +#define DSP_BST1_OC_TH_PARAM_ADDR 259 /*Boost1过流软件保护阈值*/ +#define DSP_BST2_OC_TH_PARAM_ADDR 260 /*Boost2过流软件保护阈值*/ +#define DSP_BST_3_OC_TH_PARAM_ADDR 261 /*Boost3过流软件保护阈值*/ +#define DSP_BST4_OC_TH_PARAM_ADDR 262 /*Boost4过流软件保护阈值*/ +#define DSP_PV_SC_VOLT_TH_PARAM_ADDR 263 /*MPPT短路电压阈值*/ +#define DSP_PV_SC_CUR_TH_PARAM_ADDR 264 /*MPPT短路电流阈值*/ +#define DSP_GRD_PHASE_LOSS_TH_PARAM_ADDR 265 /*额定电网保护电压*/ +#define DSP_GRD_OV_TH_PARAM_ADDR 266 /*电网过压阈值*/ +#define DSP_GRD_UV_TH_PARAM_ADDR 267 /*电网欠压阈值*/ +#define DSP_GRD_OV_2ND_TH_PARAM_ADDR 268 /*电网欠压二级保护阈值*/ +#define DSP_GRD_OV_1ST_TH_PARAM_ADDR 269 /*电网欠压一级保护阈值*/ +#define DSP_GRD_UV_1ST_TH_PARAM_ADDR 270 /*电网过压一级保护阈值*/ +#define DSP_GRD_UV_2ND_TH_PARAM_ADDR 271 /*电网过压二级保护阈值*/ +#define DSP_OV_LMT_PWR_TH_PARAM_ADDR 272 /*过压降额阈值*/ +#define DSP_FREQ_OV_LGC_PARAM_ADDR 273 /*电网频率上限*/ +#define DSP_FREQ_UND_LGC_PARAM_ADDR 274 /*电网频率下限*/ +#define DSP_GRD_UND_FREQ_5TH_TH_PARAM_ADDR 275 /*电网欠频五级保护阈值*/ +#define DSP_GRD_UND_FREQ_4TH_TH_PARAM_ADDR 276 /*电网欠频四级保护阈值*/ +#define DSP_GRD_UND_FREQ_3RD_TH_PARAM_ADDR 277 /*电网欠频三级保护阈值*/ +#define DSP_GRD_UND_FREQ_2ND_TH_PARAM_ADDR 278 /*电网欠频二级保护阈值*/ +#define DSP_GRD_UND_FREQ_1ST_TH_PARAM_ADDR 279 /*电网欠频一级保护阈值*/ +#define DSP_GRD_OVER_FREQ_1ST_TH_PARAM_ADDR 280 /*电网过频一级保护阈值*/ +#define DSP_GRD_OVER_FREQ_2ND_TH_PARAM_ADDR 281 /*电网过频二级保护阈值*/ +#define DSP_GRD_OVER_FREQ_3RD_TH_PARAM_ADDR 282 /*电网过频三级保护阈值*/ +#define DSP_OV_FREQ_LMT_PWR_TH_PARAM_ADDR 283 /*过频降额阈值*/ +#define DSP_CAP_OC_TH_PARAM_ADDR 284 /*滤波电容过流保护阈值*/ +#define DSP_CAP_OV_TH_PARAM_ADDR 285 /*滤波电容过压保护阈值*/ +#define DSP_INSLT_RSTR_TH_PARAM_ADDR 286 /*绝缘阻抗检测阈值*/ +#define DSP_GRD_FLT_DIS_INNER_FLT_EN_PARAM_ADDR 287 /*电网故障屏蔽内部故障*/ +#define DSP_ACT_ISLAND_DTCT_TH_PARAM_ADDR 288 /*主动反孤岛阈值*/ +#define DSP_ACT_ISLAND_DTCT_VAR_TH_PARAM_ADDR 289 /*反孤岛无功电流余量*/ +#define DSP_PV_LINE_DTCT_EN_PARAM_ADDR 290 /*PV接线检测(未启用)*/ +#define DSP_PV_INVERSED_INPUT_VOL_TH_PARAM_ADDR 291 /*PV反接电压阈值*/ +#define DSP_PV_INVERSED_INPUT_CURR_TH_PARAM_ADDR 292 /*PV反接电感电流阈值*/ +#define DSP_PV_BACKWARD_INPUT_VOL_TH_PARAM_ADDR 293 /*PV回灌电压阈值*/ +#define DSP_PV_BRANCH_INPUT_CURR_TH_PARAM_ADDR 294 /*支路输入电流阈值*/ +#define DSP_PV_BRANCH_INPUT_CURR_TH1_PARAM_ADDR 295 /*支路输入电流阈值1*/ +#define DSP_PV_BRANCH_INPUT_CURR_TH2_PARAM_ADDR 296 /*支路输入电流阈值2*/ +#define DSP_ECO_WARNING_1_PARAM_ADDR 297 /*节能告警阈值1*/ +#define DSP_ECO_WARNING_2_PARAM_ADDR 298 /*节能告警阈值2*/ +#define DSP_CAVITY_OVERTEMP_TH_PARAM_ADDR 299 /*腔体过温阈值*/ +#define DSP_CAVITY_OVERTEMP_TH2_PARAM_ADDR 300 /*腔体2过温阈值*/ +#define DSP_COLLFIN_OVERTEMP_TH_PARAM_ADDR 301 /*散热片过温阈值*/ +#define DSP_Q_U_LOW_VOL_TH_PARAM_ADDR 302 /*Q-U低压系数阈值*/ +#define DSP_Q_U_HIGH_VOL_TH_PARAM_ADDR 303 /*Q-U高压系数阈值*/ +#define DSP_LVRT_BORDER_TH_PARAM_ADDR 304 /*低穿穿越边界*/ +#define DSP_HVRT_BORDER_TH_PARAM_ADDR 305 /*高穿穿越边界*/ +#define DSP_OVER_CAP_CURRENT_TIME_MS_PARAM_ADDR 306 /*滤波电容过流保护时间*/ +#define DSP_OVER_RMS_CURRENT_TIME_MS_PARAM_ADDR 307 /*逆变过流保护时间*/ +#define DSP_GRID_OVER_VOLT_L0_TIME_MS_PARAM_ADDR 308 /*电网过压L0保护时间*/ +#define DSP_GRID_OVER_VOLT_L1_TIME_MS_PARAM_ADDR 309 /*电网过压L1保护时间*/ +#define DSP_GRID_OVER_VOLT_L2_TIME_MS_PARAM_ADDR 310 /*电网过压L2保护时间*/ +#define DSP_GRID_BELOW_VOLT_L0_TIME_MS_PARAM_ADDR 311 /*电网欠压L0保护时间*/ +#define DSP_GRID_BELOW_VOLT_L1_TIME_MS_PARAM_ADDR 312 /*电网欠压L1保护时间*/ +#define DSP_GRID_BELOW_VOLT_L2_TIME_MS_PARAM_ADDR 313 /*电网欠压L2保护时间*/ +#define DSP_GRID_OVER_FREQ_L0_TIME_MS_PARAM_ADDR 314 /*电网过频L0保护时间*/ +#define DSP_GRID_OVER_FREQ_L1_TIME_S_PARAM_ADDR 315 /*电网过频L1保护时间*/ +#define DSP_GRID_OVER_FREQ_L2_TIME_S_PARAM_ADDR 316 /*电网过频L2保护时间*/ +#define DSP_GRID_OVER_FREQ_L3_TIME_MS_PARAM_ADDR 317 /*电网过频L3保护时间*/ +#define DSP_GRID_BELOW_FREQ_L0_TIME_MS_PARAM_ADDR 318 /*电网欠频L0保护时间*/ +#define DSP_GRID_BELOW_FREQ_L1_TIME_S_PARAM_ADDR 319 /*电网欠频L1保护时间*/ +#define DSP_GRID_BELOW_FREQ_L2_TIME_S_PARAM_ADDR 320 /*电网欠频L2保护时间*/ +#define DSP_GRID_BELOW_FREQ_L3_TIME_S_PARAM_ADDR 321 /*电网欠频L3保护时间*/ +#define DSP_GRID_BELOW_FREQ_L4_TIME_S_PARAM_ADDR 322 /*电网欠频L4保护时间*/ +#define DSP_GRID_BELOW_FREQ_L5_TIME_MS_PARAM_ADDR 323 /*电网欠频L5保护时间*/ +#define DSP_OVER_BUS_VOLT_TIME_MS_PARAM_ADDR 324 /*母线欠压保护时间*/ +//dsp_ctr_limit_param_t +#define DSP_RT_RCTV_CUR_LMT_PARAM_ADDR 331 /*高低穿无功电流限幅值*/ +#define DSP_INV_CUR_LMT_PARAM_ADDR 332 /*逆变总电流限幅值*/ +#define DSP_INV_ACT_CUR_LMT_PARAM_ADDR 333 /*逆变有功电流限幅值*/ +#define DSP_INV_RCTV_CUR_LMT_PARAM_ADDR 334 /*逆变无功电流限幅值*/ +#define DSP_BST1_CUR_LMT_PARAM_ADDR 335 /*Boost1单路电流限幅值*/ +#define DSP_BST2_CUR_LMT_PARAM_ADDR 336 /*Boost2单路电流限幅值*/ +#define DSP_BST3_CUR_LMT_PARAM_ADDR 337 /*Boost3单路电流限幅值*/ +#define DSP_BST4_CUR_LMT_PARAM_ADDR 338 /*Boost4单路电流限幅值*/ +#define DSP_5TH_CUR_LMT_PARAM_ADDR 339 /*5次谐波电流限幅值*/ +#define DSP_7TH_CUR_LMT_PARAM_ADDR 340 /*7次谐波电流限幅值*/ +#define DSP_11TH_CUR_LMT_PARAM_ADDR 341 /*11次谐波电流限幅值*/ +#define DSP_13TH_CUR_LMT_PARAM_ADDR 342 /*13次谐波电流限幅值*/ +#define DSP_17TH_CUR_LMT_PARAM_ADDR 343 /*17次谐波电流限幅值*/ +#define DSP_19TH_CUR_LMT_PARAM_ADDR 344 /*19次谐波电流限幅值*/ +#define DSP_2TH_CUR_LMT_PARAM_ADDR 345 /*2次谐波电流限幅值*/ +#define DSP_4TH_CUR_LMT_PARAM_ADDR 346 /*4次谐波电流限幅值*/ +#define DSP_6TH_CUR_LMT_PARAM_ADDR 347 /*6次谐波电流限幅值*/ +#define DSP_8TH_CUR_LMT_PARAM_ADDR 348 /*8次谐波电流限幅值*/ +#define DSP_10TH_CUR_LMT_PARAM_ADDR 349 /*10次谐波电流限幅值*/ +#define DSP_14TH_CUR_LMT_PARAM_ADDR 350 /*14次谐波电流限幅值*/ +#define DSP_16TH_CUR_LMT_PARAM_ADDR 351 /*16次谐波电流限幅值*/ +#define DSP_20TH_CUR_LMT_PARAM_ADDR 352 /*20次谐波电流限幅值*/ +#define DSP_DPWM_AP_TH_PARAM_ADDR 353 /*进入DPWM视在功率阈值*/ +#define DSP_CPWM_AP_TH_PARAM_ADDR 354 /*进入CPWM视在功率阈值*/ +#define DSP_LEAD_COMP_KP_PARAM_ADDR 355 /*零序超前补偿kp*/ +#define DSP_COLLFIN_OVERTEMP_LMT_TH_PARAM_ADDR 356 /*散热片过温降功率阈值*/ +#define DSP_CAVITY_OVERTEMP_LMT_TH_PARAM_ADDR 357 /*腔体过温降功率阈值*/ +#define DSP_CAVITY2_OVERTEMP_LMT_TH_PARAM_ADDR 358 /*腔体2过温降功率阈值*/ +#define DSP_OVERTEMP_PWR_DOWN_TH_PARAM_ADDR 359 /*过温降额功率下限*/ +#define DSP_FAN_FAULT_PWR_DOWN_TH_PARAM_ADDR 360 /*风扇故障降额功率下限*/ +#define DSP_OVERTEMP_PWR_UP_TH_PARAM_ADDR 361 /*过温降额功率上限*/ +#define DSP_OVERTEMP_PWR_CHANGE_DOWN_TH_PARAM_ADDR 362 /*过温降额功率变化率上限*/ +//dsp_debug_test_control_t +#define DSP_RESERVE_PARAM5_0_PARAM_ADDR 381 /*预留参数5_0*/ +#define DSP_RESERVE_PARAM5_1_PARAM_ADDR 382 /*预留参数5_1*/ +#define DSP_RESERVE_PARAM5_2_PARAM_ADDR 383 /*预留参数5_2*/ +#define DSP_RESERVE_PARAM5_3_PARAM_ADDR 384 /*预留参数5_3*/ +#define DSP_SYSTM_STA_PARAM_ADDR 385 /*整机状态*/ +#define DSP_INV_STA_PARAM_ADDR 386 /*逆变状态*/ +#define DSP_MPPT1_STATE_PARAM_ADDR 387 /*MPPT1状态(debug)*/ +#define DSP_MPPT2_STATE_PARAM_ADDR 388 /*MPPT2状态(debug)*/ +#define DSP_MPPT3_STATE_PARAM_ADDR 389 /*MPPT3状态(debug)*/ +#define DSP_MPPT4_STATE_PARAM_ADDR 390 /*MPPT4状态(debug)*/ +#define DSP_LOW_PWR_FLG_PARAM_ADDR 391 /*功率不足标志*/ +#define DSP_MPPT_MANUAL_REFERENCE_PARAM_ADDR 392 /*MPPT手动参考标志位*/ +#define DSP_MPPT_MANUAL_REFERENCE_VALUE_PARAM_ADDR 393 /*MPPT手动参考值*/ +#define DSP_VOLT_BAL_TH_PARAM_ADDR 394 /*母线均压开启阈值*/ +#define DSP_RESERVE_PARAM5_4_PARAM_ADDR 395 /*预留参数5_4*/ +#define DSP_RESERVE_PARAM5_5_PARAM_ADDR 396 /*预留参数5_5*/ +//dsp_calibrate_t +#define DSP_AUTO_CALIBRATE_EN_PARAM_ADDR 420 /*自动化校准使能*/ +#define DSP_AUTO_CALIBRATE_STATE_PARAM_ADDR 421 /*自动化校准状态*/ +#define DSP_AUTO_CALIBRATE_CMD_PARAM_ADDR 422 /*自动化校准指令*/ +#define DSP_AUTO_CALIBRATE_RESULT_PARAM_ADDR 423 /*自动化校准结果*/ +#define DSP_AUTO_CALIBRATE_REFRESH_FLAG_PARAM_ADDR 424 /*自动化校准刷新标志*/ +#define DSP_RESERVE_PARAM6_6_PARAM_ADDR 425 /*预留参数6_6*/ +#define DSP_RESERVE_PARAM6_7_PARAM_ADDR 426 /*预留参数6_7*/ +#define DSP_RESERVE_PARAM6_8_PARAM_ADDR 427 /*预留参数6_8*/ +#define DSP_RESERVE_PARAM6_9_PARAM_ADDR 428 /*预留参数6_9*/ +#define DSP_RESERVE_PARAM6_10_PARAM_ADDR 429 /*预留参数6_10*/ +#define DSP_RESERVE_PARAM6_11_PARAM_ADDR 430 /*预留参数6_11*/ +#define DSP_RESERVE_PARAM6_12_PARAM_ADDR 431 /*预留参数6_12*/ +#define DSP_RESERVE_PARAM6_13_PARAM_ADDR 432 /*预留参数6_13*/ +#define DSP_RESERVE_PARAM6_14_PARAM_ADDR 433 /*预留参数6_14*/ +#define DSP_RESERVE_PARAM6_15_PARAM_ADDR 434 /*预留参数6_15*/ +#define DSP_RESERVE_PARAM6_16_PARAM_ADDR 435 /*预留参数6_16*/ +#define DSP_RESERVE_PARAM6_17_PARAM_ADDR 436 /*预留参数6_17*/ +#define DSP_RESERVE_PARAM6_18_PARAM_ADDR 437 /*预留参数6_18*/ +#define DSP_RESERVE_PARAM6_19_PARAM_ADDR 438 /*预留参数6_19*/ +#define DSP_RESERVE_PARAM6_20_PARAM_ADDR 439 /*预留参数6_20*/ +#define DSP_RESERVE_PARAM6_21_PARAM_ADDR 440 /*预留参数6_21*/ +#define DSP_RESERVE_PARAM6_22_PARAM_ADDR 441 /*预留参数6_22*/ +#define DSP_RESERVE_PARAM6_23_PARAM_ADDR 442 /*预留参数6_23*/ +#define DSP_RESERVE_PARAM6_24_PARAM_ADDR 443 /*预留参数6_24*/ +#define DSP_RESERVE_PARAM6_25_PARAM_ADDR 444 /*预留参数6_25*/ +#define DSP_RESERVE_PARAM6_26_PARAM_ADDR 445 /*预留参数6_26*/ +#define DSP_RESERVE_PARAM6_27_PARAM_ADDR 446 /*预留参数6_27*/ +#define DSP_RESERVE_PARAM6_28_PARAM_ADDR 447 /*预留参数6_28*/ +#define DSP_RESERVE_PARAM6_29_PARAM_ADDR 448 /*预留参数6_29*/ +#define DSP_RESERVE_PARAM6_30_PARAM_ADDR 449 /*预留参数6_30*/ +#define DSP_RESERVE_PARAM6_31_PARAM_ADDR 450 /*预留参数6_31*/ +#define DSP_RESERVE_PARAM6_32_PARAM_ADDR 451 /*预留参数6_32*/ +#define DSP_RESERVE_PARAM6_33_PARAM_ADDR 452 /*预留参数6_33*/ +#define DSP_RESERVE_PARAM6_34_PARAM_ADDR 453 /*预留参数6_34*/ +#define DSP_RESERVE_PARAM6_35_PARAM_ADDR 454 /*预留参数6_35*/ +#define DSP_RESERVE_PARAM6_36_PARAM_ADDR 455 /*预留参数6_36*/ +#define DSP_RESERVE_PARAM6_37_PARAM_ADDR 456 /*预留参数6_37*/ +//dsp_data_file_t +#define DSP_DEV_ADDR_PARAM_ADDR 500 /*本地通信地址(模块号)*/ +#define DSP_DEVICE_RATED_ACTV_PWR_PARAM_ADDR 501 /*装置额定有功功率(设备容量)*/ +#define DSP_DEVICE_RATED_RCTV_PWR_PARAM_ADDR 502 /*装置额定无功功率*/ +#define DSP_APP_VER_PARAM_ADDR 503 /*DSP主控版本号*/ +#define DSP_BOOT_VER_PARAM_ADDR 505 /*DSP底层版本号*/ +#define DSP_PROG_CODE_PARAM_ADDR 507 /*DSP主控程序组件号*/ +#define DSP_DEV_TYPE_PARAM_ADDR 510 /*设备类型*/ +#define DSP_PROT_VER_PARAM_ADDR 511 /*DSP使用地址表协议版本号*/ +#define DSP_CFG_CRC_H_PARAM_ADDR 512 /*DSP配置参数CRC高16位*/ +#define DSP_CFG_CRC_L_PARAM_ADDR 513 /*DSP配置参数CRC低16位*/ +#define DSP_DEVICE_PHASE_PARAM_ADDR 514 /*相数*/ +#define DSP_APP_VER_NEW_PARAM_ADDR 515 /*DSP主控版本号新格式*/ +#define DSP_BOOT_VER_NEW_PARAM_ADDR 519 /*DSP底层版本号新格式*/ +#define DSP_MPPT_NUMBER_PARAM_ADDR 523 /*MPPT数量*/ +//dsp_data_hardware_t +#define DSP_RELAY_A_STAT_PARAM_ADDR 550 /*继电器A状态*/ +#define DSP_RELAY_B_STAT_PARAM_ADDR 551 /*继电器B状态*/ +#define DSP_RELAY_C_STAT_PARAM_ADDR 552 /*继电器C状态*/ +//dsp_data_state_t +#define DSP_FAULT1_1_PARAM_ADDR 560 /*一般故障1*/ +#define DSP_FAULT1_2_PARAM_ADDR 561 /*一般故障2*/ +#define DSP_FAULT1_3_PARAM_ADDR 562 /*一般故障3*/ +#define DSP_FAULT1_4_PARAM_ADDR 563 /*一般故障4*/ +#define DSP_FAULT2_1_PARAM_ADDR 564 /*严重故障1*/ +#define DSP_FAULT2_2_PARAM_ADDR 565 /*严重故障2*/ +#define DSP_FAULT2_3_PARAM_ADDR 566 /*严重故障3*/ +#define DSP_FAULT2_4_PARAM_ADDR 567 /*严重故障4*/ +#define DSP_WARING_1_PARAM_ADDR 568 /*告警事件1*/ +#define DSP_WARING_2_PARAM_ADDR 569 /*告警事件2*/ +#define DSP_SLF_CHK_1_PARAM_ADDR 570 /*自检事件1*/ +#define DSP_SLF_CHK_2_PARAM_ADDR 571 /*自检事件2*/ +#define DSP_RUN_MODE_STA_PARAM_ADDR 590 /*DSP运行状态*/ +#define DSP_PHASE_STA_PARAM_ADDR 591 /*电压相序显示*/ +#define DSP_MPPT1_STA_PARAM_ADDR 592 /*MPPT1状态*/ +#define DSP_MPPT2_STA_PARAM_ADDR 593 /*MPPT2状态*/ +#define DSP_DEV_STA_PARAM_ADDR 594 /*显示运行模式*/ +#define DSP_FAULT_LABEL_PARAM_ADDR 595 /*故障状态标志*/ +#define DSP_LGC_LABEL_PARAM_ADDR 596 /*逻辑状态标签*/ +#define DSP_ECHO_LABEL_PARAM_ADDR 597 /*节能状态标签*/ +#define DSP_PLL_LABEL_PARAM_ADDR 598 /*锁相状态标签*/ +#define DSP_AUX_LABEL_PARAM_ADDR 599 /*辅助状态标签*/ +#define DSP_OV_TEM_HALF_PWR_LABEL_PARAM_ADDR 600 /*过温半载运行标签*/ +#define DSP_DC_LED_STATE_DISPLAY_PARAM_ADDR 601 /*DSP直流灯状态指示*/ +#define DSP_AC_LED_STATE_DISPLAY_PARAM_ADDR 602 /*DSP交流灯状态指示*/ +#define DSP_DEVICE_MODULATION_STATE_PARAM_ADDR 603 /*设备调制状态*/ +#define DSP_MPPT3_STA_PARAM_ADDR 604 /*MPPT3状态*/ +#define DSP_MPPT4_STA_PARAM_ADDR 605 /*MPPT4状态*/ +#define DSP_OVER_TEMP_LIMIT_PWR_PARAM_ADDR 606 /*过温限功率状态*/ +//dsp_data_collect_t +#define DSP_GRID_FREQ_PARAM_ADDR 620 /*电网频率*/ +#define DSP_DC_INPUT_AVG_VOLT_PARAM_ADDR 621 /*总母线电压avg*/ +#define DSP_DC_UP_SIDE_AVG_VOLT_PARAM_ADDR 622 /*上母线电压avg*/ +#define DSP_DC_LOW_SIDE_AVG_VOLT_PARAM_ADDR 623 /*下母线电压_avg*/ +#define DSP_GRID_A_RMS_VOLT_PARAM_ADDR 624 /*电网电压A_RMS*/ +#define DSP_GRID_B_RMS_VOLT_PARAM_ADDR 625 /*电网电压B_RMS*/ +#define DSP_GRID_C_RMS_VOLT_PARAM_ADDR 626 /*电网电压C_RMS*/ +#define DSP_CAP_A_RMS_VOLT_PARAM_ADDR 627 /*逆变阻尼电压A_RMS*/ +#define DSP_CAP_B_RMS_VOLT_PARAM_ADDR 628 /*逆变阻尼电压B_RMS*/ +#define DSP_CAP_C_RMS_VOLT_PARAM_ADDR 629 /*逆变阻尼电压C_RMS*/ +#define DSP_INV_A_RMS_CUR_PARAM_ADDR 630 /*逆变电流A_RMS*/ +#define DSP_INV_B_RMS_CUR_PARAM_ADDR 631 /*逆变电流B_RMS*/ +#define DSP_INV_C_RMS_CUR_PARAM_ADDR 632 /*逆变电流C_RMS*/ +#define DSP_CAP_A_RMS_CUR_PARAM_ADDR 633 /*LCL电容电流A_RMS*/ +#define DSP_CAP_B_RMS_CUR_PARAM_ADDR 634 /*LCL电容电流B_RMS*/ +#define DSP_CAP_C_RMS_CUR_PARAM_ADDR 635 /*LCL电容电流C_RMS*/ +#define DSP_RESERVE_DATA2_7_PARAM_ADDR 636 /*预留数据2_7*/ +#define DSP_RESERVE_DATA2_8_PARAM_ADDR 637 /*预留数据2_8*/ +#define DSP_RESERVE_DATA2_9_PARAM_ADDR 638 /*预留数据2_9*/ +#define DSP_BOOST_PV_VOLT_1_PARAM_ADDR 639 /*BOOST输入电压1路*/ +#define DSP_BOOST_PV_VOLT_2_PARAM_ADDR 640 /*BOOST输入电压2路*/ +#define DSP_BOOST_PV_VOLT_3_PARAM_ADDR 641 /*BOOST输入电压3路*/ +#define DSP_BOOST_PV_VOLT_4_PARAM_ADDR 642 /*BOOST输入电压4路*/ +#define DSP_BOOST1_PV_CUR_1_PARAM_ADDR 643 /*1路BOOST组串电流1*/ +#define DSP_BOOST2_PV_CUR_1_PARAM_ADDR 644 /*2路BOOST组串电流1*/ +#define DSP_BOOST3_PV_CUR_1_PARAM_ADDR 645 /*3路BOOST组串电流1*/ +#define DSP_BOOST4_PV_CUR_1_PARAM_ADDR 646 /*4路BOOST组串电流1*/ +#define DSP_BOOST_INDUC_CUR_1_PARAM_ADDR 647 /*BOOST电感电流1路*/ +#define DSP_BOOST_INDUC_CUR_2_PARAM_ADDR 648 /*BOOST电感电流2路*/ +#define DSP_BOOST_INDUC_CUR_3_PARAM_ADDR 649 /*BOOST电感电流3路*/ +#define DSP_BOOST_INDUC_CUR_4_PARAM_ADDR 650 /*BOOST电感电流4路*/ +#define DSP_DEVICE_CURR_A_PARAM_ADDR 651 /*设备电流A*/ +#define DSP_DEVICE_CURR_B_PARAM_ADDR 652 /*设备电流B*/ +#define DSP_DEVICE_CURR_C_PARAM_ADDR 653 /*设备电流C*/ +#define DSP_BOOST1_PV_CUR_2_PARAM_ADDR 654 /*1路BOOST组串电流2*/ +#define DSP_BOOST2_PV_CUR_2_PARAM_ADDR 655 /*2路BOOST组串电流2*/ +#define DSP_BOOST3_PV_CUR_2_PARAM_ADDR 656 /*3路BOOST组串电流2*/ +#define DSP_BOOST4_PV_CUR_2_PARAM_ADDR 657 /*4路BOOST组串电流2*/ +#define DSP_RESERVE_DATA2_1_PARAM_ADDR 676 /*预留数据2_1*/ +#define DSP_RESERVE_DATA2_2_PARAM_ADDR 677 /*预留数据2_2*/ +#define DSP_RESERVE_DATA2_3_PARAM_ADDR 678 /*预留数据2_3*/ +#define DSP_RESERVE_DATA2_4_PARAM_ADDR 679 /*预留数据2_4*/ +#define DSP_RESERVE_DATA2_5_PARAM_ADDR 680 /*预留数据2_5*/ +#define DSP_RESERVE_DATA2_6_PARAM_ADDR 681 /*预留数据2_6*/ +//dsp_data_power_t +#define DSP_DEV_A_ACTV_PWR_PARAM_ADDR 690 /*装置侧有功功率A*/ +#define DSP_DEV_B_ACTV_PWR_PARAM_ADDR 691 /*装置侧有功功率B*/ +#define DSP_DEV_C_ACTV_PWR_PARAM_ADDR 692 /*装置侧有功功率C*/ +#define DSP_DEV_ACTV_PWR_PARAM_ADDR 693 /*装置侧有功功率总*/ +#define DSP_DEV_A_RCTV_PWR_PARAM_ADDR 694 /*装置侧无功功率A*/ +#define DSP_DEV_B_RCTV_PWR_PARAM_ADDR 695 /*装置侧无功功率B*/ +#define DSP_DEV_C_RCTV_PWR_PARAM_ADDR 696 /*装置侧无功功率C*/ +#define DSP_DEV_RCTV_PWR_PARAM_ADDR 697 /*装置侧无功功率总*/ +#define DSP_DEV_A_APRT_PWR_PARAM_ADDR 698 /*装置侧视在功率A*/ +#define DSP_DEV_B_APRT_PWR_PARAM_ADDR 699 /*装置侧视在功率B*/ +#define DSP_DEV_C_APRT_PWR_PARAM_ADDR 700 /*装置侧视在功率C*/ +#define DSP_DEV_APRT_PWR_PARAM_ADDR 701 /*装置侧视在功率总*/ +#define DSP_DEV_A_PF_PARAM_ADDR 702 /*装置侧功率因数A*/ +#define DSP_DEV_B_PF_PARAM_ADDR 703 /*装置侧功率因数B*/ +#define DSP_DEV_C_PF_PARAM_ADDR 704 /*装置侧功率因数C*/ +#define DSP_DEV_PF_PARAM_ADDR 705 /*装置侧功率因数总*/ +#define DSP_GRID_A_ACTV_PWR_PARAM_ADDR 706 /*网侧有功功率A*/ +#define DSP_GRID_B_ACTV_PWR_PARAM_ADDR 707 /*网侧有功功率B*/ +#define DSP_GRID_C_ACTV_PWR_PARAM_ADDR 708 /*网侧有功功率C*/ +#define DSP_GRID_ACTV_PWR_PARAM_ADDR 709 /*网侧有功功率总*/ +#define DSP_GRID_A_RCTV_PWR_PARAM_ADDR 710 /*网侧无功功率A*/ +#define DSP_GRID_B_RCTV_PWR_PARAM_ADDR 711 /*网侧无功功率B*/ +#define DSP_GRID_C_RCTV_PWR_PARAM_ADDR 712 /*网侧无功功率C*/ +#define DSP_GRID_RCTV_PWR_PARAM_ADDR 713 /*网侧无功功率总*/ +#define DSP_GRID_A_APRT_PWR_PARAM_ADDR 714 /*网侧视在功率A*/ +#define DSP_GRID_B_APRT_PWR_PARAM_ADDR 715 /*网侧视在功率B*/ +#define DSP_GRID_C_APRT_PWR_PARAM_ADDR 716 /*网侧视在功率C*/ +#define DSP_GRID_APRT_PWR_PARAM_ADDR 717 /*网侧视在功率总*/ +#define DSP_GRID_A_PF_PARAM_ADDR 718 /*网侧功率因数A*/ +#define DSP_GRID_B_PF_PARAM_ADDR 719 /*网侧功率因数B*/ +#define DSP_GRID_C_PF_PARAM_ADDR 720 /*网侧功率因数C*/ +#define DSP_GRID_PF_PARAM_ADDR 721 /*网侧功率因数总*/ +#define DSP_LOAD_A_ACTV_PWR_PARAM_ADDR 722 /*负载有功功率A*/ +#define DSP_LOAD_B_ACTV_PWR_PARAM_ADDR 723 /*负载有功功率B*/ +#define DSP_LOAD_C_ACTV_PWR_PARAM_ADDR 724 /*负载有功功率C*/ +#define DSP_LOAD_ACTV_PWR_PARAM_ADDR 725 /*负载有功功率总*/ +#define DSP_LOAD_A_RCTV_PWR_PARAM_ADDR 726 /*负载无功功率A*/ +#define DSP_LOAD_B_RCTV_PWR_PARAM_ADDR 727 /*负载无功功率B*/ +#define DSP_LOAD_C_RCTV_PWR_PARAM_ADDR 728 /*负载无功功率C*/ +#define DSP_LOAD_RCTV_PWR_PARAM_ADDR 729 /*负载无功功率总*/ +#define DSP_LOAD_A_APRT_PWR_PARAM_ADDR 730 /*负载视在功率A*/ +#define DSP_LOAD_B_APRT_PWR_PARAM_ADDR 731 /*负载视在功率B*/ +#define DSP_LOAD_C_APRT_PWR_PARAM_ADDR 732 /*负载视在功率C*/ +#define DSP_LOAD_APRT_PWR_PARAM_ADDR 733 /*负载视在功率总*/ +#define DSP_LOAD_A_PF_PARAM_ADDR 734 /*负载功率因数A*/ +#define DSP_LOAD_B_PF_PARAM_ADDR 735 /*负载功率因数B*/ +#define DSP_LOAD_C_PF_PARAM_ADDR 736 /*负载功率因数C*/ +#define DSP_LOAD_PF_PARAM_ADDR 737 /*负载功率因数总*/ +#define DSP_BOOST_PWR_1_PARAM_ADDR 738 /*BOOST功率1路*/ +#define DSP_BOOST_PWR_2_PARAM_ADDR 739 /*BOOST功率2路*/ +#define DSP_BOOST_PWR_3_PARAM_ADDR 740 /*BOOST功率3路*/ +#define DSP_BOOST_PWR_4_PARAM_ADDR 741 /*BOOST功率4路*/ +#define DSP_BOOST_PWR_PARAM_ADDR 742 /*BOOST功率总*/ +//dsp_data_unbalance_t +#define DSP_GRID_CUR_UNB_PARAM_ADDR 770 /*网侧电流不平衡度*/ +#define DSP_GRID_CUR_UNB2_PARAM_ADDR 771 /*网侧电流负序不平衡度*/ +#define DSP_GRID_CUR_UNB0_PARAM_ADDR 772 /*网侧电流零序不平衡度*/ +#define DSP_LOAD_CUR_UNB_PARAM_ADDR 773 /*负载电流不平衡度*/ +#define DSP_LOAD_CUR_UNB2_PARAM_ADDR 774 /*负载电流负序不平衡度*/ +#define DSP_LOAD_CUR_UNB0_PARAM_ADDR 775 /*负载电流零序不平衡度*/ +#define DSP_GRID_VOLT_UNB_PARAM_ADDR 776 /*电网电压不平衡度*/ +#define DSP_GRID_VOLT_UNB2_PARAM_ADDR 777 /*电网电压负序不平衡度*/ +#define DSP_GRID_VOLT_UNB0_PARAM_ADDR 778 /*电网电压零序不平衡度*/ + + +typedef struct tag_modbus_param_value_info_t +{ + uint16_t address; + uint16_t datatype; /*0:uint16_t 1:int16_t*/ + int32_t default_value; + int32_t min_value; + int32_t max_value; +}modbus_param_value_info_t; + +#define MAX_VALID_PARAM_ADDRESS 499 +#define DATATYPE_UINT16_T 0 +#define DATATYPE_INT16_T 1 +bool_t mw_protocol_modbus_check_param_out_of_range(uint16_t us_address, uint16_t us_value); + + +uint16_t mw_protocol_modbus_get_param_default_value(uint16_t us_address); + + +#endif /* __MW_PARAM_MANAGER_DSP_STRUCT_H__ */ diff --git a/test/PV_Inverter/光伏逆变器2.1_通信地址表_V01.xlsx b/test/PV_Inverter/光伏逆变器2.1_通信地址表_V01.xlsx new file mode 100644 index 0000000..1267543 Binary files /dev/null and b/test/PV_Inverter/光伏逆变器2.1_通信地址表_V01.xlsx differ diff --git a/test/PV_Inverter/光伏逆变器2.1_通信地址表_V33.xlsx b/test/PV_Inverter/光伏逆变器2.1_通信地址表_V33.xlsx new file mode 100644 index 0000000..5f836d5 Binary files /dev/null and b/test/PV_Inverter/光伏逆变器2.1_通信地址表_V33.xlsx differ diff --git a/test/PV_Inverter/新平台-光伏逆变器2.1_ARM通信地址表_V01.xlsx b/test/PV_Inverter/新平台-光伏逆变器2.1_ARM通信地址表_V01.xlsx new file mode 100644 index 0000000..f809a86 Binary files /dev/null and b/test/PV_Inverter/新平台-光伏逆变器2.1_ARM通信地址表_V01.xlsx differ