| | |
| | | #include "define_all.h" |
| | | #include "system_general_para.h" |
| | | #include "extern_rtc.h" |
| | | #include "valve_control.h" |
| | | #include "wireless_remote_comm.h" |
| | | #include "sizhu_ctrl_word.h" |
| | | #include "rs485_read_data.h" |
| | | |
| | | #define SOFT_SERIAL_NUMBER1 0x05 |
| | | #define SOFT_SERIAL_NUMBER2 0x00 |
| | | #define SOFT_SERIAL_NUMBER3 0x05 |
| | | #define SOFT_SERIAL_NUMBER4 0x07 |
| | | |
| | | #define EEP_PARA_INIT_ID 0x24041601 //BCD¸ñʽYYMMDDXX£¬²»ÄܳöÏÖ×Öĸ |
| | | #define EEP_PARA_INIT_ID 0x24060301 //BCD¸ñʽYYMMDDXX£¬²»ÄܳöÏÖ×Öĸ |
| | | #define LAST_PATCH_ID EEP_PARA_PATCH_ID_1 //BCD¸ñʽYYMMDDXX£¬²»ÄܳöÏÖ×Öĸ£¬×¢Òâ´Ë´¦Ö¸Ïò×îºóÒ»¸ö²¹¶¡ |
| | | |
| | | /************²¹¶¡±êʶ¶¨ÒåÇø£¬³ÖÐøÔö¼Ó£¬BCD¸ñʽYYMMDDXX£¬²»ÄܳöÏÖ×Öĸ************/ |
| | | /************ÿ´ÎÔö¼ÓºóLAST_PATCH_IDÖ¸Ïò×îºóÒ»¸ö²¹¶¡***************************/ |
| | | #define EEP_PARA_PATCH_ID_1 0x24041601 |
| | | #define EEP_PARA_PATCH_ID_1 0x24060301 |
| | | |
| | | /****************************************************/ |
| | | |
| | |
| | | |
| | | #define CRC16_MODBUS_OFFSET sizeof(uint16_t) |
| | | |
| | | //ϵͳ²¹¶¡±êʶ |
| | | //ϵͳÅäÖòÎÊý±êʶ |
| | | typedef struct |
| | | { |
| | | uint16_t CRC16_MODBUS; |
| | |
| | | }SYSTEM_EEP_IDENTIFICATION_T; |
| | | #define SYSTEM_EEP_IDENTIFICATION_LENGTH sizeof(SYSTEM_EEP_IDENTIFICATION_T) |
| | | |
| | | //É豸»ù´¡ÐÅÏ¢ |
| | | typedef struct equipment_basic_inf |
| | | { |
| | | uint16_t CRC16_MODBUS; |
| | | char specification_model[20];//¹æ¸ñÐͺŠ|
| | | DEVICE_MODEL product_type; //²úÆ·ÀàÐÍ |
| | | CALIBER_MODEL caliber_model;//¿Ú¾¶ 1/2/3/4/5/6/7/8´ú±í050/080/100/150/200/025/032/040 |
| | | DEVICE_TYPE product_type; //²úÆ·ÀàÐÍ |
| | | CALIBER_TYPE caliber_type;//¿Ú¾¶ 1/2/3/4/5/6/7/8´ú±í050/080/100/150/200/025/032/040 |
| | | uint8_t serial_number[10];//³ö³§±àºÅ£¬BCDĿǰֻÓÃǰ8×Ö½Ú£¬16룬ºó2×Ö½Ú²¹FFH¡£ |
| | | uint8_t manufactuer_code[2];//³§¼Ò´úÂë,×ÔÓã¬ÓÃÓÚʶ±ðÉ豸ÓÃ;£¬±ÈÈçÊÇаÂÌùÅÆ£¬Ôò³§¼Ò´úÂë±íʾΪа£¬¸Ä´úÂë¿ÉÓÃÓÚÉÏλ»úʶ±ð£¬ÉÏλ»úʹÓÃÕßҲΪа£¬Ôò¿É½øÐвÙ×÷¡£ |
| | | VALVE_MODEL valve_type;//·§ÃÅÐͺÅ0:ÎÞ·§ÃÅ£»1£ºÅôÊ¢·§Ì壻2:¹þµÂ·§Ì壻ÆäËû£¬Ä¬ÈϹþµÂ·§Ìå |
| | | EQUIPMENT_MODEL equipment_type;//É豸ÀàÐÍ,10H±íʾ¡°Ò»ÌåʽÁ÷Á¿Ô¶´«ÖÕ¶Ë |
| | | VALVE_TYPE valve_type;//·§ÃÅÐͺÅ0:ÎÞ·§ÃÅ£»1£ºÅôÊ¢·§Ì壻2:¹þµÂ·§Ì壻ÆäËû£¬Ä¬ÈϹþµÂ·§Ìå |
| | | EQUIPMENT_TYPE equipment_type;//É豸ÀàÐÍ |
| | | uint8_t reserve[32]; |
| | | }EQUIPMENT_BASIC_INF_T; |
| | | #define EQUIPMENT_BASIC_INF_LENGTH sizeof(EQUIPMENT_BASIC_INF_T) |
| | | |
| | | |
| | | //É豸ÈíÓ²¼þÐÅÏ¢ |
| | | typedef struct main_equipment_hardware_software_inf |
| | | { |
| | | uint16_t CRC16_MODBUS; |
| | |
| | | }MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T; |
| | | #define MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH sizeof(MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T) |
| | | |
| | | //LCD°åÈíÓ²¼þÐÅÏ¢ |
| | | typedef struct lcd_equipment_hardware_software_inf |
| | | { |
| | | uint16_t CRC16_MODBUS; |
| | |
| | | }LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T; |
| | | #define LCD_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH sizeof(LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T) |
| | | |
| | | //ÎÞÏßͨѶ°åÈíÓ²¼þÐÅÏ¢ |
| | | typedef struct wireless_equipment_hardware_software_inf |
| | | { |
| | | uint16_t CRC16_MODBUS; |
| | |
| | | #define WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH sizeof(WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T) |
| | | |
| | | |
| | | |
| | | //ʵʱ²ÎÊý |
| | | typedef struct{ |
| | | uint16_t CRC16_MODBUS; |
| | | sClockBCD record_time_BCD; |
| | |
| | | { |
| | | double forward_cumulate_sc; // ÕýÏò±ê¿öÀÛ»ýÁ¿ |
| | | double forward_cumulate_wc; |
| | | double cal_cumulate_reserve[2]; // ±ê¶¨ÀÛ»ýÁ¿_Ô¤Áô |
| | | double err_forward_cumulate_reserve[2]; // ´íÎóÀÛ»ýÁ¿_Ô¤Áô |
| | | |
| | | double cal_cumulate_sc; // ±ê¶¨ÀÛ»ýÁ¿ |
| | | double cal_cumulate_wc; |
| | | double err_forward_cumulate_sc; // ´íÎóÀÛ»ýÁ¿ |
| | | double err_forward_cumulate_wc; |
| | | }realtime_flow_data_s; |
| | | struct realtime_billing_data |
| | | { |
| | |
| | | |
| | | //ͳ¼Æ²ÎÊý£¬ÔÝʱ²»×ö |
| | | |
| | | //·§ÃÅÏà¹Ø²ÎÊý |
| | | typedef struct |
| | | { |
| | | VALVE_STATE_T valve_state ; |
| | | VALVE_STATUS valve_status ; |
| | | VALVE_LOCK_STATE_T valve_lock_state; //·§ÃÅËø¶¨×´Ì¬ |
| | | uint16_t open_times;//¿ª·§´ÎÊý |
| | | uint16_t close_times;//¹Ø·§´ÎÊý |
| | | uint16_t valve_close_ID ;//¹Ø·§ÔÒò µÈÓÚ±¨¾¯ID |
| | | uint16_t valve_close_ID ;//¹Ø·§ÔÒò £¬×λΪ1´ú±íǿֱÐԹط§£¬ÆäÓàλµÈÓÚ±¨¾¯ID,·§ÃÅ´ò¿ªÖ®ºóÇåÁã¡£ |
| | | |
| | | |
| | | }SAVE_VALVE_PARA_T; |
| | | |
| | | //Á÷Á¿¼Æ²ÎÊý |
| | | typedef struct |
| | | { |
| | | FLOW_METER_CONN_TYPE flow_meter_conn_type; |
| | | uint16_t flow_meter_code; |
| | | float pulse_coe; |
| | | uint16_t pulse_width; |
| | | BAUDRATE_CODE baudrate_code; |
| | | PARITY_BIT parity_bit; |
| | | RS485_PWR_OUTPUT_SELECT output_voltage_code; |
| | | uint8_t slave_address; |
| | | |
| | | uint8_t broken_line_multiplex; //¶ÏÏ߸´Óà |
| | | |
| | | uint8_t sub_machine_num; |
| | | char flow_meter_serial_number; |
| | | |
| | | }FLOW_METER_PARA_T; |
| | | |
| | | //δÍê³É..... |
| | | //ÎÂѹÅäÖòÎÊý |
| | | typedef struct |
| | | { |
| | | int16_t tem_up_limit; |
| | | int16_t tem_up_up_limit; |
| | | int16_t tem_low_limit; |
| | | int16_t tem_low_low_limit; |
| | | int16_t ambient_tem_up_limit; |
| | | int16_t ambient_tem_low_limit; |
| | | float pre_up_limit; |
| | | float pre_up_up_limit; |
| | | float pre_low_limit; |
| | | float pre_low_low_limit; |
| | | |
| | | }TEM_PRE_PARA_T; |
| | | |
| | | //¼ÆÁ¿¶³½á²ÎÊý |
| | | typedef struct |
| | | { |
| | | uint16_t freeze_interval; |
| | | uint8_t daily_freeze_time_BCD[2]; |
| | | }MEASURE_FREEZE_PARA_T; |
| | | |
| | | //µç³Ø²ÎÊý |
| | | typedef struct |
| | | { |
| | | uint8_t lith_bat_low_v; |
| | | uint8_t lith_bat_under_v; |
| | | uint8_t alka_bat_low_v; |
| | | uint8_t alka_bat_under_v; |
| | | uint32_t lith_bat_max_hour; |
| | | uint32_t lith_bat_used_hour; |
| | | uint32_t lith_bat_used_sec; |
| | | uint8_t reserve[32]; |
| | | }BAT_PARA_T; |
| | | |
| | | //ÉÏλ»ú\APPµÇÈëÃÜÂë |
| | | typedef struct |
| | | { |
| | | uint8_t PC_general_user_password[2]; |
| | | uint8_t PC_advanced_user_password[2]; |
| | | uint8_t PC_manage_user_password[2]; |
| | | // uint8_t APP_general_user_password[2]; |
| | | // uint8_t APP_advanced_user_password[2]; |
| | | // uint8_t APP_manage_user_password[2]; |
| | | }LOGIN_PASSWORD_T; |
| | | |
| | | //ÉÏλ»ú´®¿ÚÅäÖÃÐÅÏ¢ |
| | | typedef struct |
| | | { |
| | | uint8_t slave_address; |
| | | BAUDRATE_CODE baudrate_code; |
| | | PARITY_BIT parity_bit; |
| | | |
| | | }UP_COMM_PARA_T; |
| | | |
| | | |
| | | //ÎÞÏßÔ¶³ÌͨѶÅäÖòÎÊý |
| | | typedef struct |
| | | { |
| | | uint8_t ip1[4]; |
| | | uint16_t ip_port1; |
| | | LINK_TYPE ip1_connect_type; //IPÁ¬½Óģʽ 0£ºTCPÖ±Á¬ 1£ºÁ¬½ÓµçÐÅÆ½Ì¨ 2£ºÁ¬½ÓÒÆ¶¯onenetƽ̨ |
| | | uint8_t ip2[4]; |
| | | uint16_t ip_port2; |
| | | LINK_TYPE ip2_connect_type; //IPÁ¬½Óģʽ 0£ºTCPÖ±Á¬ 1£ºÁ¬½ÓµçÐÅÆ½Ì¨ 2£ºÁ¬½ÓÒÆ¶¯onenetƽ̨ |
| | | uint16_t bat_power_data_interval; //µç³Ø¹©µçÊý¾Ý¼ä¸ô |
| | | uint16_t ext_power_data_interval; // Í⹩µçÊý¾Ý¼ä¸ô |
| | | |
| | | WRC_TIME_START_TYPE time_start_type; //ʱ¼ä·¢ËÍģʽ,0£ºÎÞ·¨ËÍ 1£º¼ä¸ô :2£º¶¨Ê± 3£º¼ä¸ô+¶¨Ê±. ÔÝʱֻ֧³Ö1»òÕß2 |
| | | uint16_t bat_power_send_interval; |
| | | uint16_t ext_power_send_interval; |
| | | uint8_t send_first_time_BCD[2]; //Ê״η¢ËÍʱ¼ä£¬¿ÉÓÃÓÚ´í·å·¢ËÍ£¬±ÈÈçÊ״η¢ËÍʱ¼äÉèÖÃΪ0µã15·Ö£¬24·¢ËÍ·¢ËÍÒ»´Î¡£ ÄǾÍÊÇÿÌì0µã15·ÖͨѶһ´Î |
| | | uint8_t timing_send_num; //¶¨Ê±Éϱ¨´ÎÊý1-12 |
| | | uint8_t timing_send_time_BCD[12][2]; //¶¨Ê±·¢ËÍʱ¼äµã1-12 |
| | | |
| | | uint16_t retransmission_interval; // ÖØ·¢¼ä¸ô |
| | | uint8_t retransmission_num; //ÖØ·¢´ÎÊý |
| | | uint16_t comm_timeout_time; //³¬Ê±Ê±¼ä£¬Ãë |
| | | |
| | | uint8_t KVer_AES_128[9][16]; |
| | | |
| | | }WRC_PARA_SIZHU_T; |
| | | |
| | | typedef struct |
| | | { |
| | | uint16_t report_data_save_num; |
| | | uint16_t report_data_left_num; |
| | | |
| | | }WRC_DATA_NUM_CTRL_PARA_SIZHU_T; //´Ë²ÎÊý±ä»¯»á±È½ÏƵ·±£¬ÐèÒª¿¼ÂÇ´æ´¢´ÎÊýµÄÎÊÌ⣡£¡£¡ |
| | | |
| | | |
| | | //¼Û¸ñ·½°¸ÅäÖòÎÊý |
| | | |
| | | |
| | | //³äÖµÅäÖòÎÊý |
| | | |
| | | |
| | | //Óà¶î/Ìõ¼þ¹Ø·§ÅäÖòÎÊý |
| | | typedef struct |
| | | { |
| | | VALVE_BILLING_CHANGE_1_T balance_valve_ctrl_byte; |
| | | VALVE_BILLING_CHANGE_2_T conditional_valve_ctrl_byte; |
| | | int32_t balance_small_value[5]; |
| | | uint32_t cumulate_flow_threshold; |
| | | uint8_t no_wrc_days; |
| | | uint8_t no_use_gas_days; |
| | | uint8_t reserve[5]; |
| | | } BILLING_VALVE_CTRL_PATA_T; // ¼Æ·Ñ±¨¾¯\ÓÐÌõ¼þ¹Ø·§¿ØÖƲÎÊý |
| | | |
| | | |
| | | |
| | | /*****************ÒÔϼ¸¸ö¿ØÖÆ×ÖÔÚsizhu_ctrl_word.hÖÐ******************************/ |
| | | //¹¦ÄÜ¿ØÖÆ×Ö |
| | | //ϵͳ±¨¾¯¿ØÖÆ×Ö/ϵͳ±¨¾¯Éϱ¨¿ØÖÆ×Ö |
| | | //¹Ø·§¿ØÖÆ×Ö |
| | | /***********************************************/ |
| | | |
| | | |
| | | /*****************ÈÕÖ¾¿ØÖƲÎÊý******************************/ |
| | | //ÈÕÖ¾¿ØÖƲÎÊý |
| | | typedef struct log_sizhu_run_t |
| | | { |
| | | uint16_t log_count; |
| | | uint32_t log_addr_save; |
| | | // uint32_t log_addr_begin; |
| | | uint8_t reserve[16]; |
| | | |
| | | }LOG_SIZHU_RUN_T; //³¤¶ÈÕ¼22×Ö½Ú |
| | | |
| | | //Êý¾ÝÀúÊ·¼Ç¼ |
| | | typedef struct |
| | | { |
| | | LOG_SIZHU_RUN_T per_month_log; |
| | | LOG_SIZHU_RUN_T per_day_log; |
| | | LOG_SIZHU_RUN_T per_hour_log; |
| | | LOG_SIZHU_RUN_T per_interval_log; |
| | | }LOG_SIZHU_HISTORY_CTRL_T; |
| | | |
| | | //±¨¾¯¼Ç¼ |
| | | typedef struct |
| | | { |
| | | LOG_SIZHU_RUN_T system_alarm_log; |
| | | |
| | | }LOG_ALARM_CTRL_T; |
| | | |
| | | //ʼþ¼Ç¼ |
| | | typedef struct LOG_EVENT_CTRL_T |
| | | { |
| | | LOG_SIZHU_RUN_T valve_operation_log; |
| | | |
| | | LOG_SIZHU_RUN_T factory_reset_log; |
| | | |
| | | LOG_SIZHU_RUN_T set_time_log; |
| | | |
| | | }LOG_EVENT_CTRL_T; |
| | | |
| | | //²ÎÊýÐ޸ļǼ |
| | | typedef struct |
| | | { |
| | | LOG_SIZHU_RUN_T basic_info_modify_log; |
| | | LOG_SIZHU_RUN_T cumulate_modify_log; |
| | | LOG_SIZHU_RUN_T balance_modify_log; |
| | | LOG_SIZHU_RUN_T flow_meter_para_modify_log; |
| | | LOG_SIZHU_RUN_T conditional_close_valve_para_modify_log; |
| | | LOG_SIZHU_RUN_T fun_ctrl_word_modify_log; |
| | | LOG_SIZHU_RUN_T alarm_ctrl_word_modify_log; |
| | | LOG_SIZHU_RUN_T close_valve_ctrl_word_modify_log; |
| | | |
| | | }LOG_PARA_MODIFY_CTRL_T; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | #pragma pack() |
| | | |
| | |
| | | extern MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T main_equipment_hardware_software_inf_g; |
| | | extern LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T lcd_equipment_hardware_software_inf_g; |
| | | extern WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T wireless_equipment_hardware_software_inf_g; |
| | | extern SAVE_REALTIME_DATA_T save_realtime_data_g; |
| | | extern __IO SAVE_REALTIME_DATA_T save_realtime_data_g; |
| | | extern __IO SAVE_VALVE_PARA_T save_valve_para_g; |
| | | extern FLOW_METER_PARA_T flow_meter_para_g; |
| | | extern MEASURE_FREEZE_PARA_T measure_freeze_para_g; |
| | | extern BAT_PARA_T bat_para_g; |
| | | extern LOGIN_PASSWORD_T login_passeord_g; |
| | | extern UP_COMM_PARA_T up_comm_para_g; |
| | | extern WRC_PARA_SIZHU_T wrc_para_sizhu_g; |
| | | extern WRC_DATA_NUM_CTRL_PARA_SIZHU_T wrc_data_num_ctrl_para_sizhu_g; |
| | | extern BILLING_VALVE_CTRL_PATA_T billing_valve_ctrl_para_g; |
| | | |
| | | |
| | | |
| | | |
| | | extern LOG_SIZHU_HISTORY_CTRL_T log_sizhu_history_ctrl_g; |
| | | extern LOG_ALARM_CTRL_T log_alarm_ctrl_g; |
| | | extern LOG_EVENT_CTRL_T log_event_ctrl_g; |
| | | extern LOG_PARA_MODIFY_CTRL_T log_para_modify_ctrl_g; |
| | | |
| | | void allParaDefaultInit(void); |
| | | void allParaReadFromEep(void); |