添加代码生成样本;

- 光伏逆变器
 - 参数管理模块
This commit is contained in:
何 泽隆
2024-11-03 16:59:31 +08:00
parent 239fd2ca11
commit 3d1a9e2b1d
21 changed files with 4912 additions and 0 deletions

View File

@@ -0,0 +1,264 @@
#include <limits.h>
#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;
}

View File

@@ -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);

File diff suppressed because it is too large Load Diff