forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-19 6e3f1f560d618b37ee1a47fa2b0f682b70c3ef1c
Soft/sizhu_ctrl_word.c
@@ -8,7 +8,7 @@
SYSTEM_STATUS_WORD_T           system_status_word_g;
SYSTEM_FUNCTION_CTRL_WORD_T    system_function_ctrl_word_g = {        \
.fun_ctrl_word.billing_type = 0x02,                                       \
   .fun_ctrl_word.billing_type = 0x02,                                       \
};
SYSTEM_ALARM_WORD_T            system_alarm_word_g; //ÓÃÓÚÉϱ¨£¬Éϱ¨ÍêÇå³ý
@@ -17,75 +17,75 @@
SYSTEM_ALARM_CTRL_WORD_T       system_alarm_ctrl_word_g= {.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_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_g= {.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_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_g = {.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},}
   {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},}
};  
@@ -247,12 +247,8 @@
         close_valve_flag = close_valve_flag & 0x03;
         if(close_valve_flag == VALVE_CTRL_FLAG_LOCK_AND_CLSOSE){
            //·§ÃÅËø¶¨Á¢¼´Íê³É£¬·§ÃÅÖ´ÐÐÐèÒªÒ»¶¨Ê±¼ä
            if(save_valve_para_g.valve_lock_state != VL_UNLOCK){
               ValveCtrlOrder(VC_LOCK);
               //?´æ´¢
            }
            system_status_word_g.status_word.valve_lock = (save_valve_para_g.valve_lock_state == VL_LOCK)?1:0;
            ValveCtrlOrder(VC_CLOSE);
            ValveCtrlOrder(VC_CLOSE_AND_LOCK,VALVE_CTRL_SOURCE_AUTO);
            
            //´¦Àí¹Ø·§Ô­ÒòID£¬Èç¹ûÒѾ­ÓÐÇ¿ÖÆÐԹط§£¬ÔòÐèÒªÅжÏÓÅÏȼ¶£¬Óà¶îÀà¿ÉÒÔ±»¸²¸Ç£¬ÆäÓ಻Äܱ»¸²¸Ç£¬ÓÃÓÚÅжÏÊÇ·ñÊÇÓà¶îÀàÔì³ÉµÄ£¬Óà¶îÀàÔì³ÉµÄÔÚ³äÖµÖ®ºó¿ÉÒÔÖ±½Ó¿ª·§
            if((save_valve_para_g.valve_close_ID & 0x8000)==0x8000){
@@ -265,7 +261,7 @@
            }
            
         }else if(close_valve_flag == VALVE_CTRL_FLAG_ONLY_CLSOSE){
            ValveCtrlOrder(VC_CLOSE);
            ValveCtrlOrder(VC_CLOSE,VALVE_CTRL_SOURCE_AUTO);
            //´¦Àí¹Ø·§Ô­ÒòID£¬Èç¹ûÒѾ­ÓÐÇ¿ÖÆÐԹط§£¬Ôò²»ÔÙ¸²¸Ç
            if((save_valve_para_g.valve_close_ID & 0x8000)==0x8000){