| | |
| | | #include "system_mem_para.h" |
| | | #include "mbcrc.h" |
| | | #include "mbcrc1.h" |
| | | #include "eeprom.h" |
| | | #include "system_eep_mem_manage.h" |
| | | #include "rs485_data_analysis_pro.h" |
| | | #include "pulse_and_alarm_line.h" |
| | | #include "system_flash_mem_manage.h" |
| | | |
| | | SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g; |
| | | EQUIPMENT_BASIC_INF_T equipment_basic_inf_g; |
| | | |
| | | SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g = { \ |
| | | .eep_para_init_config_id = EEP_PARA_INIT_ID, \ |
| | | .eep_para_patch_id = LAST_PATCH_ID, \ |
| | | }; |
| | | EQUIPMENT_BASIC_INF_T equipment_basic_inf_g={ |
| | | .product_type= DM_SCM_SZV103, \ |
| | | .caliber_type = DN50_TYPE, \ |
| | | .serial_number = {0x07,0x10,0x50,0x82,0x40,0x69,0x00,0x01,0xff,0xff}, \ |
| | | .valve_type = VM_HADE, \ |
| | | .equipment_type = EM_SIFRCT,}; |
| | | |
| | | MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T main_equipment_hardware_software_inf_g; |
| | | LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T lcd_equipment_hardware_software_inf_g; |
| | | WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T wireless_equipment_hardware_software_inf_g; |
| | | SAVE_REALTIME_DATA_T save_realtime_data_g; |
| | | __IO SAVE_REALTIME_DATA_T save_realtime_data_g; |
| | | |
| | | __IO SAVE_VALVE_PARA_T save_valve_para_g={ \ |
| | | .valve_status = VALVE_NONE, \ |
| | | .valve_lock_state = VL_UNLOCK,}; |
| | | |
| | | |
| | | FLOW_METER_PARA_T flow_meter_para_g ={ \ |
| | | .flow_meter_conn_type = FLOW_METER_CONN_RS485_AND_PULSE, \ |
| | | .flow_meter_code = SIZHUMODBUSV2_0, \ |
| | | .pulse_coe = 1.0, \ |
| | | .pulse_width = 50, \ |
| | | .baudrate_code = BAUDRATE_9600, \ |
| | | .parity_bit = PARITY_NONE, \ |
| | | .output_voltage_code = RS485_V1_5V, \ |
| | | .slave_address = 1, \ |
| | | .broken_line_multiplex = BROKEN_LINE_MUTIPLEX_NONE, \ |
| | | }; |
| | | |
| | | TEM_PRE_PARA_T tem_pre_para_g = { \ |
| | | .tem_up_limit = 70, \ |
| | | .tem_up_up_limit = 70, \ |
| | | .tem_low_limit = -20, \ |
| | | .tem_low_low_limit = -25, \ |
| | | .ambient_tem_up_limit = 60, \ |
| | | .ambient_tem_low_limit = -25, \ |
| | | .pre_up_limit = 1600, \ |
| | | .pre_up_up_limit = 1920, \ |
| | | .pre_low_limit = 70, \ |
| | | .pre_low_low_limit = 70, \ |
| | | }; |
| | | |
| | | MEASURE_FREEZE_PARA_T measure_freeze_para_g = { \ |
| | | .freeze_interval = 60, \ |
| | | .daily_freeze_time_BCD = {0x00,0x00}, \ |
| | | }; |
| | | |
| | | BAT_PARA_T bat_para_g = { \ |
| | | .lith_bat_low_v = 55, \ |
| | | .lith_bat_under_v = 50, \ |
| | | .alka_bat_low_v = 55, \ |
| | | .alka_bat_under_v = 50, \ |
| | | .lith_bat_max_hour = 26280, \ |
| | | .lith_bat_used_hour = 0, \ |
| | | .lith_bat_used_sec = 0, \ |
| | | }; |
| | | |
| | | LOGIN_PASSWORD_T login_passeord_g = { \ |
| | | .PC_general_user_password = {0x68,0x68}, \ |
| | | .PC_advanced_user_password = {0x52,0x86}, \ |
| | | .PC_manage_user_password = {0x75,0x97}, \ |
| | | }; |
| | | |
| | | UP_COMM_PARA_T up_comm_para_g = { \ |
| | | .slave_address = 1, \ |
| | | .baudrate_code = BAUDRATE_115200, \ |
| | | .parity_bit = PARITY_NONE, \ |
| | | }; |
| | | |
| | | WRC_PARA_SIZHU_T wrc_para_sizhu_g = { \ |
| | | .ip1 = {39,108,81,105}, \ |
| | | .ip_port1 = 9692, \ |
| | | .ip1_connect_type = LINK_TCP, \ |
| | | .ip2 = {120,77,85,236}, \ |
| | | .ip_port2 = 9692, \ |
| | | .ip2_connect_type = LINK_TCP, \ |
| | | .bat_power_data_interval = 60, \ |
| | | .ext_power_data_interval = 60, \ |
| | | .time_start_type = WRC_TIME_START_INTERVAL, \ |
| | | .bat_power_send_interval = 1440, \ |
| | | .ext_power_send_interval = 60, \ |
| | | .send_first_time_BCD ={0x05,0x20} , \ |
| | | .timing_send_num = 1, \ |
| | | .timing_send_time_BCD = {{0x05,0x20}}, \ |
| | | .retransmission_interval = 10, \ |
| | | .retransmission_num = 0, \ |
| | | .comm_timeout_time =120, \ |
| | | .KVer_AES_128[0] ={8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0}, \ |
| | | }; |
| | | WRC_DATA_NUM_CTRL_PARA_SIZHU_T wrc_data_num_ctrl_para_sizhu_g={ \ |
| | | .report_data_save_num = 0, \ |
| | | .report_data_left_num = 0, \ |
| | | }; |
| | | |
| | | BILLING_VALVE_CTRL_PATA_T billing_valve_ctrl_para_g = { \ |
| | | .balance_valve_ctrl_byte = {0}, \ |
| | | .conditional_valve_ctrl_byte = {0}, \ |
| | | .balance_small_value = {500,100,0,0,0}, \ |
| | | .cumulate_flow_threshold = 0, \ |
| | | .no_wrc_days = 15, \ |
| | | .no_use_gas_days = 0, \ |
| | | }; |
| | | |
| | | |
| | | LOG_SIZHU_HISTORY_CTRL_T log_sizhu_history_ctrl_g = { |
| | | .per_month_log.log_addr_save = MONTH_HISTORY_RECORD_STORAGE_START_ADDR, \ |
| | | .per_day_log.log_addr_save = DAY_HISTORY_RECORD_STORAGE_START_ADDR, \ |
| | | .per_hour_log.log_addr_save = HOUR_HISTORY_RECORD_STORAGE_START_ADDR, \ |
| | | .per_interval_log.log_addr_save = INTERVAL_HISTORY_RECORD_STORAGE_START_ADDR, \ |
| | | }; |
| | | LOG_ALARM_CTRL_T log_alarm_ctrl_g ={ |
| | | .system_alarm_log.log_addr_save = SYSTEM_ALARM_STORAGE_START_ADDR, \ |
| | | }; |
| | | LOG_EVENT_CTRL_T log_event_ctrl_g ={ |
| | | |
| | | }; |
| | | LOG_PARA_MODIFY_CTRL_T log_para_modify_ctrl_g; |
| | | |
| | | //EEPROM²ÎÊýдÈëºÍ¶ÁÈ¡¼ì²é,Ö»Ö§³Ö1024¸ö×Ö½ÚµÄдÈëÓë¶ÁÈ¡¼ì²é |
| | | ErrorStatus eepWriteAndReadCheck(uint8_t * write_data,uint32_t addr,uint16_t length) |
| | |
| | | } |
| | | |
| | | //EEPROM²ÎÊý¶ÁÈ¡²¢¼ì²é£¬Ö»Ö§³Ö×î´ó1024×Ö½Ú¶ÁÈ¡ |
| | | ErrorStatus eepABReadCheck(uint8_t * write_data,uint32_t addrA,uint32_t addrB,uint16_t length) |
| | | ErrorStatus eepABReadCheck(uint8_t * read_data,uint32_t addrA,uint32_t addrB,uint16_t length) |
| | | { |
| | | ErrorStatus read_flag = FAIL; |
| | | uint16_t CRC16_MODBUS; |
| | |
| | | |
| | | if(read_flag == PASS) |
| | | { |
| | | arrayA_2_arrayB(buf_l, write_data, length, LITTLE_ENDIAN) ; |
| | | arrayA_2_arrayB(buf_l, read_data, length, LITTLE_ENDIAN) ; |
| | | return PASS; |
| | | }else |
| | | { |
| | |
| | | |
| | | if(read_flag == PASS) |
| | | { |
| | | arrayA_2_arrayB(buf_l, write_data, length, LITTLE_ENDIAN) ; |
| | | arrayA_2_arrayB(buf_l, read_data, length, LITTLE_ENDIAN) ; |
| | | EEPROM_MultipleWrite(buf_l,addrA,length);//AÇøÐ£Ñé´íÎó£¬BÇøÕýÈ·£¬Ôò½«BÇøÊý¾ÝдÈëAÇø |
| | | return PASS; |
| | | }else |
| | |
| | | } |
| | | |
| | | |
| | | //ËùÓвÎÊý³õʼ»¯ÎªÄ¬ÈÏÖµ²¢Ð´ÈëEEPROM |
| | | |
| | | //É豸»ù´¡ÐÅÏ¢³õʼ»¯Ð´Èë |
| | | ErrorStatus EquipmentBasicInfoDefaultInit(void) |
| | | { |
| | | return paraCalcCrcAndWriteEepAB((uint8_t * )&equipment_basic_inf_g,BASIC_INFORMATION_OF_EQUIPMENT_ADDR,BASIC_INFORMATION_OF_EQUIPMENT_ADDR + PARA_EEP_B_OFFSET_ADDR,EQUIPMENT_BASIC_INF_LENGTH); |
| | | } |
| | | |
| | | //É豸»ù´¡ÐÅÏ¢¶ÁÈ¡ |
| | | ErrorStatus EquipmentBasicInfoReadFromEep(void) |
| | | { |
| | | if( eepABReadCheck((uint8_t * )&equipment_basic_inf_g,BASIC_INFORMATION_OF_EQUIPMENT_ADDR,BASIC_INFORMATION_OF_EQUIPMENT_ADDR + PARA_EEP_B_OFFSET_ADDR,EQUIPMENT_BASIC_INF_LENGTH) == FAIL) |
| | | { |
| | | EquipmentBasicInfoDefaultInit(); |
| | | return FAIL; |
| | | }else |
| | | { |
| | | return PASS; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //ÈÕÖ¾¿ØÖƲÎÊý³õʼ»¯Ð´Èë |
| | | ErrorStatus LogCtrlParaDefaultInit(void) |
| | | { |
| | | ErrorStatus return_flag = FAIL; |
| | | log_sizhu_history_ctrl_g.per_day_log.log_count = |
| | | |
| | | return_flag = paraCalcCrcAndWriteEepAB((uint8_t * )&equipment_basic_inf_g,BASIC_INFORMATION_OF_EQUIPMENT_ADDR,BASIC_INFORMATION_OF_EQUIPMENT_ADDR + PARA_EEP_B_OFFSET_ADDR,EQUIPMENT_BASIC_INF_LENGTH); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //?ËùÓвÎÊý³õʼ»¯ÎªÄ¬ÈÏÖµ²¢Ð´ÈëEEPROM |
| | | void allParaDefaultInit(void) |
| | | { |
| | | ErrorStatus return_flag = PASS; |
| | |
| | | |
| | | |
| | | //É豸»ù´¡ÐÅÏ¢³õʼ»¯Ð´Èë |
| | | if(EquipmentBasicInfoDefaultInit()==FAIL) return_flag = FAIL; |
| | | |
| | | //?¼ÌÐø²¹³ä£¬°üÀ¨¿ØÖÆÈÕÖ¾´æ´¢µÄ²ÎÊý |
| | | |
| | | |
| | | //ʵʱÊý¾Ý³õʼ»¯Ð´Èë |
| | |
| | | |
| | | |
| | | |
| | | //ËùÓвÎÊýÖ±½Ó¶ÁÈ¡ |
| | | //?ËùÓвÎÊýÖ±½Ó¶ÁÈ¡ |
| | | void allParaReadFromEep(void) |
| | | { |
| | | ErrorStatus return_flag = PASS; |
| | |
| | | if(systemEepIdReadFromEep()==FAIL) return_flag = FAIL; |
| | | |
| | | //É豸»ù´¡ÐÅÏ¢¶ÁÈ¡ |
| | | if(EquipmentBasicInfoReadFromEep()==FAIL) return_flag = FAIL; |
| | | |
| | | |
| | | //?¼ÌÐø²¹³ä£¬°üÀ¨¿ØÖÆÈÕÖ¾´æ´¢µÄ²ÎÊý |
| | | |
| | | //×îÖÕÅжÏreturn_flag==FAIL£¬Ôò±¨¾¯´æ´¢Òì³££¬Èç¹û»¹ÓÐÕâ¸ö±¨¾¯µÄ»° |
| | | |