#ifndef _CONFIG_H_ #define _CONFIG_H_ #include /////////////////////////////////////////stype.h文件中的内容///////////////////////////////////////// #define uint8to16(a,b) (((uint16_t)a) << 8 | b) #pragma pack(2) typedef union _BIT_U16_ { uint16_t value; struct { uint16_t b0 :1; uint16_t b1 :1; uint16_t b2 :1; uint16_t b3 :1; uint16_t b4 :1; uint16_t b5 :1; uint16_t b6 :1; uint16_t b7 :1; uint16_t b8 :1; uint16_t b9 :1; uint16_t b10 :1; uint16_t b11 :1; uint16_t b12 :1; uint16_t b13 :1; uint16_t b14 :1; uint16_t b15 :1; }Bits; }ubit16_t; typedef struct _MD_U16_ { uint16_t addr; uint16_t ischange; union { uint16_t val_u16; int16_t val_i16; }; }sMD16_t; #pragma pack() /////////////////////////////////////////stype.h文件内容结束///////////////////////////////////////// /////////////////////////////////////////sys.h文件中的内容///////////////////////////////////////// #define EAU_TYPE 265 //#define EAU_AI_NUM 0 //#define EAU_AO_NUM 0 #define CCU_TYPE 0x0000//4369 //#define CCU_AI_NUM 0 //#define CCU_AO_NUM 0 //ECAT网络地址偏移 #define NET_ADDR_BASE 0x1000 /////////////////////////////////////////sys.h文件内容结束///////////////////////////////////////// /////////////////////////////////////////config.h文件中的内容///////////////////////////////////////// typedef struct __SIGNAL_BIND__ { //就地远程开关信号关联DI编号 uint16_t remote_local_switch_related_di_address; uint16_t ccs_enable_switch_related_di_address; //一次调频投入信号关联DI编号 uint16_t ffr_enable_switch_related_di_address; //动态无功投入信号关联DI编号 uint16_t fvr_enable_switch_related_di_address; //精切负荷投入信号关联DI编号 uint16_t fpu_enable_switch_related_di_address; //精切负荷接点1信号关联DI编号 uint16_t fpu_start_signal_1_related_di_address; //精切负荷接点2信号关联DI编号 uint16_t fpu_start_signal_2_related_di_address; }sBindSignal; #if 0 typedef struct __FFR_CFG__ { //一次调频额定频率 uint16_t rated_frequency; //一次调频死区频率 uint16_t frequency_frozen_zone; //一次调频调差系数 uint16_t power_regulate_ratio; //一次调频限幅系数 uint16_t power_limit_ratio; //一次调频频率回差 uint16_t frequency_return_difference; //一次调频持续时间 uint16_t hold_time; //一次调频模拟测试超时时间 uint16_t simulate_timeout_time; //一次调频特性曲线功能起始频率 uint16_t wavetest_start_frequency; //一次调频特性曲线功能截止频率 uint16_t wavetest_end_frequency; //一次调频特性曲线功能步长频率 uint16_t wavetest_step_frequency; //一次调频特性曲线功能步长时间 uint16_t wavetest_step_time; }sFFRConfig; #else typedef struct __FFR_CFG__ { bool enable; //一次调频额定频率 float rated_frequency; //一次调频死区频率 float frequency_frozen_zone; //一次调频调差系数 float power_regulate_ratio; //一次调频限幅系数 float power_limit_ratio; //一次调频频率回差 float frequency_return_difference; //一次调频持续时间 //uint16_t hold_time; float hold_time; //频率偏移回差 uint16_t frequency_offset_difference; //一次调频模拟测试超时时间 uint16_t simulate_timeout_time; //一次调频特性曲线功能起始频率 float wavetest_start_frequency; //一次调频特性曲线功能截止频率 float wavetest_end_frequency; //一次调频特性曲线功能步长频率 float wavetest_step_frequency; //一次调频特性曲线功能步长时间 uint16_t wavetest_step_time; }sFFRConfig; #endif typedef struct __FVR_CFG__ { bool enable; //动态无功额定电压 uint16_t rated_voltage; //动态无功死区电压 uint16_t voltage_frozen_zone; //动态无功调差系数 float power_regulate_ratio; //动态无功限幅系数 float power_limit_ratio; //动态无功电压回差 uint16_t voltage_return_difference; //动态无功持续时间 uint16_t hold_time; //动态无功模拟测试超时时间 uint16_t simulate_timeout_time; //动态无功特性曲线功能起始电压 uint16_t wavetest_start_voltage; //动态无功特性曲线功能截止电压 uint16_t wavetest_end_voltage; //动态无功特性曲线功能步长电压 uint16_t wavetest_step_voltage; //动态无功特性曲线功能步长时间 uint16_t wavetest_step_time; }sFVRConfig; typedef struct __FPU_CFG__ { bool enable; //精切负荷信号模式 uint16_t start_signal_mode; //精切负荷持续时间 uint16_t hold_time; }sFPUConfig; typedef struct __IP_CFG__ { //CCM0_A IP地址 uint16_t ccm0_a_ip_address; //CCM0_B IP地址 uint16_t ccm0_b_ip_address; uint16_t ccm0_a_104_port; uint16_t ccm0_a_modbus_port; uint16_t ccm0_b_104_port; uint16_t ccm0_b_modbus_port; //CCM1_A IP地址 uint16_t ccm1_a_ip_address; //CCM1_B IP地址 uint16_t ccm1_b_ip_address; uint16_t ccm1_a_104_port; uint16_t ccm1_a_modbus_port; uint16_t ccm1_b_104_port; uint16_t ccm1_b_modbus_port; }sIPConfig; typedef struct __CCS_CFG__ { //CT变比 uint16_t ct_signal_ratio; //PT变比 uint16_t pt_signal_ratio; //总额定有功功率 uint16_t rated_active_power; //总额定无功功率 uint16_t rated_reactive_power; //PCS额定有功功率 uint16_t pcs_rated_active_power; //PCS额定无功功率 uint16_t pcs_rated_reactive_power; //EMS数据来源 char bms_info_source[8]; uint16_t ffr_bind_eau; //EAU数量 uint16_t eau_number; //CCU数量 uint16_t ccu_number; //PCS数量 uint16_t pcs_number; uint16_t ccm_number; uint16_t fvr_pcc_number; sBindSignal signal; sFFRConfig ffr; sFVRConfig fvr; sFPUConfig fpu; sIPConfig ip; }sCCSConfig; typedef struct __EAU_CFG__ { //EAU编号 uint16_t address; //额定有功功率 uint16_t rated_active_power; //额定无功功率 uint16_t rated_reactive_power; //CCU数量 uint16_t ccu_number; //PCS数量 uint16_t pcs_number; }sEAUConfig; typedef struct __PCC_CFG__ { //PCC编号 uint16_t address; //EAU数量 uint16_t eau_number; //CCU数量 uint16_t ccu_number; //PCS数量 uint16_t pcs_number; uint16_t bind_eau; //额定有功功率 int16_t rated_active_power; //额定无功功率 int16_t rated_reactive_power; //动态无功 功率调节比 float fvr_power_regulate_ratio; }sPCCConfig; typedef struct __CCU_CFG__ { //PCS数量 uint16_t address; uint16_t pcs_address[4]; uint16_t pcs_enable[4]; }sCCUConfig; typedef struct __SYS_CFG__ { sCCSConfig ccs; sEAUConfig eau[16]; sPCCConfig pcc[3]; sCCUConfig ccu; }sSysConfig; extern sSysConfig gSysConfig; //int parse_xml(const char* name, sECATNet *p); #if 0 class SysConfig { public: SysConfig(); ~SysConfig(); int parse_xml(const char *fxml); private: }; #endif /////////////////////////////////////////config.h文件内容结束///////////////////////////////////////// #endif