forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-06 b39a40b0191e0a8b155db74e885ff66e17b91896
Function/STORAGE/system_mem_para.c
@@ -3,6 +3,12 @@
#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"
#include "sizhu_history_record.h"
#include "sizhu_alarm_record.h"
#include "sizhu_event_record.h"
#include "sizhu_para_modify_record.h"
SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g = {         \
   .eep_para_init_config_id = EEP_PARA_INIT_ID,       \
@@ -26,13 +32,16 @@
FLOW_METER_PARA_T   flow_meter_para_g ={                \
   .flow_meter_conn_type = FLOW_METER_CONN_RS485, \
   .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, };
   .slave_address = 1,                                        \
   .broken_line_multiplex = BROKEN_LINE_MUTIPLEX_NONE,    \
};
TEM_PRE_PARA_T tem_pre_para_g = {    \
   .tem_up_limit = 70,                   \
@@ -108,6 +117,31 @@
  .no_use_gas_days = 0,                                 \
};
LOG_SIZHU_HISTORY_CTRL_T      log_sizhu_history_ctrl_g = {      \
   .per_month_log.log_addr_save = HISTORY_MONTH_START_ADDR,    \
   .per_day_log.log_addr_save = HISTORY_DAY_START_ADDR,    \
   .per_hour_log.log_addr_save = HISTORY_HOUR_START_ADDR,    \
   .per_interval_log.log_addr_save = HISTORY_INTERVAL_START_ADDR,    \
};
LOG_ALARM_CTRL_T log_alarm_ctrl_g ={      \
   .system_alarm_log.log_addr_save = SYSTEM_ALARM_LOG_START_ADDR,    \
};
LOG_EVENT_CTRL_T log_event_ctrl_g ={      \
   .valve_operation_log.log_addr_save = VALVE_OPERATION_EVENT_LOG_START_ADDR,    \
   .factory_reset_log.log_addr_save = FACTORY_RESET_EVENT_LOG_START_ADDR,    \
   .set_time_log.log_addr_save = SET_TIME_EVENT_LOG_START_ADDR,    \
};
LOG_PARA_MODIFY_CTRL_T   log_para_modify_ctrl_g = {      \
   .basic_info_modify_log.log_addr_save = BASIC_INFO_MODIFY_LOG_START_ADDR,    \
   .cumulate_modify_log.log_addr_save = CUMULATE_MODIFY_LOG_START_ADDR,    \
   .balance_modify_log.log_addr_save = BALANCE_MODIFY_LOG_START_ADDR,    \
   .flow_meter_para_modify_log.log_addr_save = FLOWMETER_PARA_MODIFY_LOG_START_ADDR,    \
   .conditional_close_valve_para_modify_log.log_addr_save = CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_LOG_START_ADDR,    \
   .fun_ctrl_word_modify_log.log_addr_save = FUN_CTRL_MODIFY_LOG_START_ADDR,    \
   .alarm_ctrl_word_modify_log.log_addr_save = ALARM_CTRL_MODIFY_LOG_START_ADDR,    \
   .close_valve_ctrl_word_modify_log.log_addr_save = VALVE_CTRL_BYTES_MODIFY_LOG_START_ADDR,    \
};
//EEPROM²ÎÊýдÈëºÍ¶ÁÈ¡¼ì²é,Ö»Ö§³Ö1024¸ö×Ö½ÚµÄдÈëÓë¶ÁÈ¡¼ì²é
ErrorStatus   eepWriteAndReadCheck(uint8_t * write_data,uint32_t addr,uint16_t length)
@@ -270,6 +304,261 @@
//¼¸¸ö¿ØÖÆ×Ö³õʼ»¯Ð´Èë
ErrorStatus   CtrlWordParaDefaultInit(void)
{
   ErrorStatus return_flag = PASS;
   SAVE_FUN_CTRL_WORD_T   save_fun_ctrl_word_l;
   SAVE_ALARM_CTRL_WORD_T   save_alarm_ctrl_word_l;
   SAVE_VALVE_CTRL_WORD_T   save_valve_ctrl_word_l;
//   SYSTEM_FUNCTION_CTRL_WORD_T    system_function_ctrl_word_l = {        \
//      .fun_ctrl_word.billing_type = 0x02,                                       \
//   };
//   SYSTEM_ALARM_CTRL_WORD_T       system_alarm_ctrl_word_l= {.alarm_ctl_word={
//      .system_start = 1,
//      .power_state = 1,
//      .valve_error = 1,
//      .valve_state_change = 1,
//      .set_cumulate_up_to = 1,
//      .no_use_gas_date_up_to = 1,
//      .no_gprs_date_up_to = 1,
//      .balance_small_3 = 1,
//      .lith_low = 1,
//      .lith_down  = 1,
//      .lith_remove = 1,
//      .alka_low = 1,
//      .alka_down = 1,
//      .alka_remove = 1,
//      .gprs_status = 1,  //Ô¶´«Ê§°ÜÖ»±¨¾¯£¬²»Éϱ¨
//      .RS485_err = 1,
//      .RS485_lessen = 1,
//      .broken_line = 1,
//      .temp_err = 1,
//      .cpu_temp_up = 1,
//      .cpu_temp_down = 1,
//      .press_err = 1,
//      .lcd_up = 1,
//      .cl_have_flow = 1,
//      }
//   };
//
//   SYSTEM_ALARM_CTRL_WORD_T     system_alarm_report_ctrl_word_l= {.alarm_ctl_word={
//      .system_start = 1,
//      .power_state = 1,
//      .valve_error = 1,
//      .valve_state_change = 1,
//      .set_cumulate_up_to = 1,
//      .no_use_gas_date_up_to = 1,
//      .no_gprs_date_up_to = 1,
//      .balance_small_3 = 1,
//      .lith_low = 1,
//      .lith_down  = 1,
//      .lith_remove = 1,
//      .alka_low = 1,
//      .alka_down = 1,
//      .alka_remove = 1,
//      //.gprs_status = 1,  //Ô¶´«Ê§°ÜÖ»±¨¾¯£¬²»Éϱ¨
//      .RS485_err = 1,
//      .RS485_lessen = 1,
//      .broken_line = 1,
//      .temp_err = 1,
//      .cpu_temp_up = 1,
//      .cpu_temp_down = 1,
//      .press_err = 1,
//      .lcd_up = 1,
//      .cl_have_flow = 1,
//      }
//   };
//
//   VALVE_CTL_BYTES_UNION_T valve_ctl_bytes_l = {.valve_ctrl_bytes = {
//      {0},
//      {0},
//      {0},
//      {.lith_down_need_close_valve_flag =1,.lith_down_close_valve_type = 1,.lith_remove_need_close_valve_flag =1,.lith_remove_close_valve_type =1,
//      //.alka_down_need_close_valve_flag= 1,.alka_down_close_valve_type = 1,.alka_remove_need_close_valve_flag =1,.alka_remove_close_valve_type =1,
//      },
//      {0},
//      {0},
//      {0},
//      {0},
//      {0},
//      {0},
//      {0},}
//   };
   arrayA_2_arrayB((uint8_t*)&system_function_ctrl_word_g,(uint8_t*)&save_fun_ctrl_word_l.fun_ctrl_word,sizeof(system_function_ctrl_word_g),LITTLE_ENDIAN);
   arrayA_2_arrayB((uint8_t*)&system_alarm_ctrl_word_g,(uint8_t*)&save_alarm_ctrl_word_l.alarm_ctrl_word,sizeof(system_alarm_ctrl_word_g),LITTLE_ENDIAN);
   arrayA_2_arrayB((uint8_t*)&system_alarm_report_ctrl_word_g,(uint8_t*)&save_alarm_ctrl_word_l.alarm_report_ctrl_word,sizeof(system_alarm_report_ctrl_word_g),LITTLE_ENDIAN);
   arrayA_2_arrayB((uint8_t*)&valve_ctl_bytes_g,(uint8_t*)&save_valve_ctrl_word_l.valve_ctrl_word,sizeof(valve_ctl_bytes_g),LITTLE_ENDIAN);
   if(paraCalcCrcAndWriteEepAB((uint8_t * )&save_fun_ctrl_word_l,SYSTEM_FUNCTION_CTRL_WORD_ADDR,SYSTEM_FUNCTION_CTRL_WORD_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_fun_ctrl_word_l))==FAIL)
      return_flag = FAIL;
   if(paraCalcCrcAndWriteEepAB((uint8_t * )&save_alarm_ctrl_word_l,SYSTEM_ALARM_CTRL_WORD_ADDR,SYSTEM_ALARM_CTRL_WORD_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_alarm_ctrl_word_l))==FAIL)
      return_flag = FAIL;
   if(paraCalcCrcAndWriteEepAB((uint8_t * )&save_valve_ctrl_word_l,VALVE_CTL_BYTES_ADDR,VALVE_CTL_BYTES_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_valve_ctrl_word_l))==FAIL)
      return_flag = FAIL;
   return return_flag;
}
//¼¸¸ö¿ØÖÆ×Ö¶ÁÈ¡
ErrorStatus   CtrlWordParaReadFromEep(void)
{
   ErrorStatus return_flag = PASS;
   SAVE_FUN_CTRL_WORD_T   save_fun_ctrl_word_l;
   SAVE_ALARM_CTRL_WORD_T   save_alarm_ctrl_word_l;
   SAVE_VALVE_CTRL_WORD_T   save_valve_ctrl_word_l;
   if(   eepABReadCheck((uint8_t * )&save_fun_ctrl_word_l,SYSTEM_FUNCTION_CTRL_WORD_ADDR,SYSTEM_FUNCTION_CTRL_WORD_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_fun_ctrl_word_l)) == FAIL)
   {
      return_flag = FAIL;
   }else
   {
      arrayA_2_arrayB((uint8_t*)&save_fun_ctrl_word_l.fun_ctrl_word,(uint8_t*)&system_function_ctrl_word_g,sizeof(system_function_ctrl_word_g),LITTLE_ENDIAN);
   }
   if(   eepABReadCheck((uint8_t * )&save_alarm_ctrl_word_l,SYSTEM_ALARM_CTRL_WORD_ADDR,SYSTEM_ALARM_CTRL_WORD_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_alarm_ctrl_word_l)) == FAIL)
   {
      return_flag = FAIL;
   }else
   {
      arrayA_2_arrayB((uint8_t*)&save_alarm_ctrl_word_l.alarm_ctrl_word,(uint8_t*)&system_alarm_ctrl_word_g,sizeof(system_alarm_ctrl_word_g),LITTLE_ENDIAN);
      arrayA_2_arrayB((uint8_t*)&save_alarm_ctrl_word_l.alarm_report_ctrl_word,(uint8_t*)&system_alarm_report_ctrl_word_g,sizeof(system_alarm_report_ctrl_word_g),LITTLE_ENDIAN);
   }
   if(   eepABReadCheck((uint8_t * )&save_valve_ctrl_word_l,VALVE_CTL_BYTES_ADDR,VALVE_CTL_BYTES_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(save_valve_ctrl_word_l)) == FAIL)
   {
      return_flag = FAIL;
   }else
   {
      arrayA_2_arrayB((uint8_t*)&save_valve_ctrl_word_l.valve_ctrl_word,(uint8_t*)&valve_ctl_bytes_g,sizeof(valve_ctl_bytes_g),LITTLE_ENDIAN);
   }
}
//ÈÕÖ¾¿ØÖƲÎÊý³õʼ»¯Ð´Èë
ErrorStatus   LogCtrlParaDefaultInit(void)
{
   ErrorStatus return_flag = PASS;
   log_sizhu_history_ctrl_g.per_month_log.log_count = 0;
   log_sizhu_history_ctrl_g.per_month_log.log_addr_save = HISTORY_MONTH_START_ADDR;
   log_sizhu_history_ctrl_g.per_day_log.log_count = 0;
   log_sizhu_history_ctrl_g.per_day_log.log_addr_save = HISTORY_DAY_START_ADDR;
   log_sizhu_history_ctrl_g.per_hour_log.log_count = 0;
   log_sizhu_history_ctrl_g.per_hour_log.log_addr_save = HISTORY_HOUR_START_ADDR;
   log_sizhu_history_ctrl_g.per_interval_log.log_count = 0;
   log_sizhu_history_ctrl_g.per_interval_log.log_addr_save = HISTORY_INTERVAL_START_ADDR;
   log_alarm_ctrl_g.system_alarm_log.log_count = 0;
   log_alarm_ctrl_g.system_alarm_log.log_addr_save = SYSTEM_ALARM_LOG_START_ADDR;
   log_event_ctrl_g.valve_operation_log.log_count = 0;
   log_event_ctrl_g.valve_operation_log.log_addr_save = VALVE_OPERATION_EVENT_LOG_START_ADDR;
   log_event_ctrl_g.factory_reset_log.log_count = 0;
   log_event_ctrl_g.factory_reset_log.log_addr_save = FACTORY_RESET_EVENT_LOG_START_ADDR;
   log_event_ctrl_g.set_time_log.log_count = 0;
   log_event_ctrl_g.set_time_log.log_addr_save = SET_TIME_EVENT_LOG_START_ADDR;
   log_para_modify_ctrl_g.basic_info_modify_log.log_count = 0;
   log_para_modify_ctrl_g.basic_info_modify_log.log_addr_save = BASIC_INFO_MODIFY_LOG_START_ADDR;
   log_para_modify_ctrl_g.cumulate_modify_log.log_count = 0;
   log_para_modify_ctrl_g.cumulate_modify_log.log_addr_save = CUMULATE_MODIFY_LOG_START_ADDR;
   log_para_modify_ctrl_g.balance_modify_log.log_count = 0;
   log_para_modify_ctrl_g.balance_modify_log.log_addr_save = BALANCE_MODIFY_LOG_START_ADDR;
   log_para_modify_ctrl_g.flow_meter_para_modify_log.log_count = 0;
   log_para_modify_ctrl_g.flow_meter_para_modify_log.log_addr_save = FLOWMETER_PARA_MODIFY_LOG_START_ADDR;
   log_para_modify_ctrl_g.conditional_close_valve_para_modify_log.log_count = 0;
   log_para_modify_ctrl_g.conditional_close_valve_para_modify_log.log_addr_save = CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_LOG_START_ADDR;
   log_para_modify_ctrl_g.fun_ctrl_word_modify_log.log_count = 0;
   log_para_modify_ctrl_g.fun_ctrl_word_modify_log.log_addr_save = FUN_CTRL_MODIFY_LOG_START_ADDR;
   log_para_modify_ctrl_g.alarm_ctrl_word_modify_log.log_count = 0;
   log_para_modify_ctrl_g.alarm_ctrl_word_modify_log.log_addr_save = ALARM_CTRL_MODIFY_LOG_START_ADDR;
   log_para_modify_ctrl_g.close_valve_ctrl_word_modify_log.log_count = 0;
   log_para_modify_ctrl_g.close_valve_ctrl_word_modify_log.log_addr_save = VALVE_CTRL_BYTES_MODIFY_LOG_START_ADDR;
   if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_sizhu_history_ctrl_g,LOG_SIZHU_HISTORY_CTRL_ADDR,LOG_SIZHU_HISTORY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_sizhu_history_ctrl_g))==FAIL)
      return_flag = FAIL;
   if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_alarm_ctrl_g,LOG_ALARM_CTRL_ADDR,LOG_ALARM_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_alarm_ctrl_g))==FAIL)
      return_flag = FAIL;
   if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_event_ctrl_g,LOG_EVENT_CTRL_ADDR,LOG_EVENT_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_event_ctrl_g))==FAIL)
      return_flag = FAIL;
   if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_para_modify_ctrl_g,LOG_PARA_MODIFY_CTRL_ADDR,LOG_PARA_MODIFY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_para_modify_ctrl_g))==FAIL)
      return_flag = FAIL;
   return return_flag;
}
//ÈÕÖ¾¿ØÖƲÎÊý³õʼ»¯¶ÁÈ¡
ErrorStatus   LogCtrlParaReadFromEep(void)
{
   ErrorStatus return_flag = PASS;
   if(   eepABReadCheck((uint8_t * )&log_sizhu_history_ctrl_g,LOG_SIZHU_HISTORY_CTRL_ADDR,LOG_SIZHU_HISTORY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_sizhu_history_ctrl_g)) == FAIL)
   {
      log_sizhu_history_ctrl_g.per_month_log.log_count = 0;
      log_sizhu_history_ctrl_g.per_month_log.log_addr_save = HISTORY_MONTH_START_ADDR;
      log_sizhu_history_ctrl_g.per_day_log.log_count = 0;
      log_sizhu_history_ctrl_g.per_day_log.log_addr_save = HISTORY_DAY_START_ADDR;
      log_sizhu_history_ctrl_g.per_hour_log.log_count = 0;
      log_sizhu_history_ctrl_g.per_hour_log.log_addr_save = HISTORY_HOUR_START_ADDR;
      log_sizhu_history_ctrl_g.per_interval_log.log_count = 0;
      log_sizhu_history_ctrl_g.per_interval_log.log_addr_save = HISTORY_INTERVAL_START_ADDR;
      paraCalcCrcAndWriteEepAB((uint8_t * )&log_sizhu_history_ctrl_g,LOG_SIZHU_HISTORY_CTRL_ADDR,LOG_SIZHU_HISTORY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_sizhu_history_ctrl_g));
      return_flag = FAIL;
   }
   if(   eepABReadCheck((uint8_t * )&log_alarm_ctrl_g,LOG_ALARM_CTRL_ADDR,LOG_ALARM_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_alarm_ctrl_g)) == FAIL)
   {
      log_alarm_ctrl_g.system_alarm_log.log_count = 0;
      log_alarm_ctrl_g.system_alarm_log.log_addr_save = SYSTEM_ALARM_LOG_START_ADDR;
      paraCalcCrcAndWriteEepAB((uint8_t * )&log_alarm_ctrl_g,LOG_ALARM_CTRL_ADDR,LOG_ALARM_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_alarm_ctrl_g));
      return_flag = FAIL;
   }
   if(   eepABReadCheck((uint8_t * )&log_event_ctrl_g,LOG_EVENT_CTRL_ADDR,LOG_EVENT_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_event_ctrl_g)) == FAIL)
   {
      log_event_ctrl_g.valve_operation_log.log_count = 0;
      log_event_ctrl_g.valve_operation_log.log_addr_save = VALVE_OPERATION_EVENT_LOG_START_ADDR;
      log_event_ctrl_g.factory_reset_log.log_count = 0;
      log_event_ctrl_g.factory_reset_log.log_addr_save = FACTORY_RESET_EVENT_LOG_START_ADDR;
      log_event_ctrl_g.set_time_log.log_count = 0;
      log_event_ctrl_g.set_time_log.log_addr_save = SET_TIME_EVENT_LOG_START_ADDR;
      paraCalcCrcAndWriteEepAB((uint8_t * )&log_event_ctrl_g,LOG_EVENT_CTRL_ADDR,LOG_EVENT_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_event_ctrl_g));
      return_flag = FAIL;
   }
   if(   eepABReadCheck((uint8_t * )&log_para_modify_ctrl_g,LOG_PARA_MODIFY_CTRL_ADDR,LOG_PARA_MODIFY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_para_modify_ctrl_g)) == FAIL)
   {
      log_para_modify_ctrl_g.basic_info_modify_log.log_count = 0;
      log_para_modify_ctrl_g.basic_info_modify_log.log_addr_save = BASIC_INFO_MODIFY_LOG_START_ADDR;
      log_para_modify_ctrl_g.cumulate_modify_log.log_count = 0;
      log_para_modify_ctrl_g.cumulate_modify_log.log_addr_save = CUMULATE_MODIFY_LOG_START_ADDR;
      log_para_modify_ctrl_g.balance_modify_log.log_count = 0;
      log_para_modify_ctrl_g.balance_modify_log.log_addr_save = BALANCE_MODIFY_LOG_START_ADDR;
      log_para_modify_ctrl_g.flow_meter_para_modify_log.log_count = 0;
      log_para_modify_ctrl_g.flow_meter_para_modify_log.log_addr_save = FLOWMETER_PARA_MODIFY_LOG_START_ADDR;
      log_para_modify_ctrl_g.conditional_close_valve_para_modify_log.log_count = 0;
      log_para_modify_ctrl_g.conditional_close_valve_para_modify_log.log_addr_save = CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_LOG_START_ADDR;
      log_para_modify_ctrl_g.fun_ctrl_word_modify_log.log_count = 0;
      log_para_modify_ctrl_g.fun_ctrl_word_modify_log.log_addr_save = FUN_CTRL_MODIFY_LOG_START_ADDR;
      log_para_modify_ctrl_g.alarm_ctrl_word_modify_log.log_count = 0;
      log_para_modify_ctrl_g.alarm_ctrl_word_modify_log.log_addr_save = ALARM_CTRL_MODIFY_LOG_START_ADDR;
      log_para_modify_ctrl_g.close_valve_ctrl_word_modify_log.log_count = 0;
      log_para_modify_ctrl_g.close_valve_ctrl_word_modify_log.log_addr_save = VALVE_CTRL_BYTES_MODIFY_LOG_START_ADDR;
      paraCalcCrcAndWriteEepAB((uint8_t * )&log_para_modify_ctrl_g,LOG_PARA_MODIFY_CTRL_ADDR,LOG_PARA_MODIFY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_para_modify_ctrl_g));
      return_flag = FAIL;
   }
   return return_flag;
}
//?ËùÓвÎÊý³õʼ»¯ÎªÄ¬ÈÏÖµ²¢Ð´ÈëEEPROM
void allParaDefaultInit(void)
{
@@ -281,13 +570,21 @@
   //É豸»ù´¡ÐÅÏ¢³õʼ»¯Ð´Èë
   if(EquipmentBasicInfoDefaultInit()==FAIL) return_flag = FAIL;
   
   //?¼ÌÐø²¹³ä£¬°üÀ¨¿ØÖÆÈÕÖ¾´æ´¢µÄ²ÎÊý
   //?¼ÌÐø²¹³ä
   
   //ʵʱÊý¾Ý³õʼ»¯Ð´Èë
   
   //×îÖÕÅжÏreturn_flag==FAIL£¬Ôò±¨¾¯´æ´¢Òì³££¬Èç¹û»¹ÓÐÕâ¸ö±¨¾¯µÄ»°
   //¼¸¸ö¿ØÖÆ×Ö³õʼ»¯Ð´Èë
   if(CtrlWordParaDefaultInit()==FAIL) return_flag = FAIL;
   
   //ÈÕÖ¾¿ØÖƲÎÊý
   if(LogCtrlParaDefaultInit()==FAIL) return_flag = FAIL;
   //×îÖÕÅжÏreturn_flag==FAIL£¬Ôò±¨¾¯´æ´¢Òì³££¬Èç¹û»¹ÓÐÕâ¸ö±¨¾¯µÄ»°
   if(return_flag==FAIL){
      ;
   }
}
@@ -303,11 +600,18 @@
   //É豸»ù´¡ÐÅÏ¢¶ÁÈ¡
   if(EquipmentBasicInfoReadFromEep()==FAIL) return_flag = FAIL;
   
   //?¼ÌÐø²¹³ä
   //¼¸¸ö¿ØÖÆ×Ö¶ÁÈ¡
   if(CtrlWordParaReadFromEep()==FAIL) return_flag = FAIL;
   
   //?¼ÌÐø²¹³ä£¬°üÀ¨¿ØÖÆÈÕÖ¾´æ´¢µÄ²ÎÊý
   //ÈÕÖ¾¿ØÖÆÐÅÏ¢¶ÁÈ¡
   if(LogCtrlParaReadFromEep()==FAIL) return_flag = FAIL;
   
   //×îÖÕÅжÏreturn_flag==FAIL£¬Ôò±¨¾¯´æ´¢Òì³££¬Èç¹û»¹ÓÐÕâ¸ö±¨¾¯µÄ»°
   if(return_flag==FAIL){
      ;
   }
}