forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-07 fa6053f85287163f6e2d5dba690bec05cbc95f4a
Function/FLOW_METER_DATA_COLLECT/pulse_and_alarm_line.c
@@ -3,6 +3,8 @@
#include "gpio.h"
#include "sizhu_ctrl_word.h"
#include "tim.h"
#include "linked_list.h"
#include "sizhu_alarm_record.h"
__IO   int16_t pulse_count =0;  //Âö³å¼ÆÊý£¬À´Ò»¸öÂö³å+1,×îÖÕ½áËãµ½ÀÛ»ýÁ¿ÖÐ,½áËãÖ®ºóÇåÁã
__IO FlagStatus pulse_exti_flag = RESET;
@@ -120,9 +122,9 @@
         delay_ms(1);
         
         if(IO_JitterEliminationCheck(LF_PULSE_INT_PORT,LF_PULSE_INT_PIN,1,Bit_SET)==SET){
            __SYS_STATUS_BYTES_GET(broken_line) = SET ;
            __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE);
         }else{
            __SYS_STATUS_BYTES_GET(broken_line) = RESET ;
            __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE);
         }
               
      }else{
@@ -141,12 +143,12 @@
         
         if((flow_meter_para_g.flow_meter_code !=ASMODBUS)&&(flow_meter_para_g.flow_meter_code !=AS100MODBUS)&&(flow_meter_para_g.flow_meter_code !=SIARGO_MODBUS)){
            if(IO_JitterEliminationCheck(LF_PULSE_INT_PORT,LF_PULSE_INT_PIN,501,Bit_RESET)==SET){
               __SYS_STATUS_BYTES_GET(broken_line) = SET ;
               __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE);
            }else{
               __SYS_STATUS_BYTES_GET(broken_line) = RESET ;
               __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE);
            }
         }else{
            __SYS_STATUS_BYTES_GET(broken_line) = RESET ;
            __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE);
         }
      }
      
@@ -169,9 +171,9 @@
      delay_ms(1);
      
      if(IO_JitterEliminationCheck(UNDER_PWR_INT_PORT,UNDER_PWR_INT_PIN,1,Bit_SET)==SET){
         __SYS_STATUS_BYTES_GET(broken_line) = SET ;
         __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE);
      }else{
            __SYS_STATUS_BYTES_GET(broken_line) = RESET ;
            __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE);
      }
      
      UV_LOSE_CHECK_DISABLE;
@@ -208,9 +210,9 @@
      delay_ms(1);
      
      if(IO_JitterEliminationCheck(LOW_PWR_INT_PORT,LOW_PWR_INT_PIN,1,Bit_SET)==SET){
         __SYS_STATUS_BYTES_GET(broken_line) = SET ;
         __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE);
      }else{
            __SYS_STATUS_BYTES_GET(broken_line) = RESET ;
            __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE);
      }
      
      LV_LOSE_CHECK_DISABLE;
@@ -247,9 +249,9 @@
      delay_ms(1);
      
      if(IO_JitterEliminationCheck(CV_ALM_A_PORT,CV_ALM_A_PIN,1,Bit_SET)==SET){
         __SYS_STATUS_BYTES_GET(broken_line) = SET ;
         __SYS_STATUS_BYTES_STATUS(broken_line,SET,ALARM_ID_BROKEN_LINE);
      }else{
            __SYS_STATUS_BYTES_GET(broken_line) = RESET ;
            __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE);
      }
      
      CV_LOSE_CHECK_DISABLE;
@@ -360,7 +362,7 @@
   
   //Ƿѹ±¨¾¯´¦Àí
   if(under_pwr_line_cnt >= ALARM_LINE_CONTINUE_TIMES){
      __SYS_STATUS_ALARM_BYTES_SET(flow_meter_under_pwr);
      __SYS_STATUS_ALARM_BYTES_SET(flow_meter_under_pwr,ALARM_ID_FLOW_BAT_DOWN);
   }
   
   
@@ -404,7 +406,7 @@
   
   //µÍµç±¨¾¯´¦Àí
   if(low_pwr_line_cnt >= ALARM_LINE_CONTINUE_TIMES){
      __SYS_STATUS_ALARM_BYTES_SET(flow_meter_low_pwr);
      __SYS_STATUS_ALARM_BYTES_SET(flow_meter_low_pwr,ALARM_ID_FLOW_BAT_LOW);
   }
   
   /*¹Ø·§±¨¾¯Ïß*/
@@ -446,14 +448,16 @@
   
   //Íⲿ´¥·¢¹Ø·§±¨¾¯´¦Àí
   if(close_valve_line_cnt >= ALARM_LINE_CONTINUE_TIMES){
      __SYS_STATUS_ALARM_BYTES_SET(ex_trigger_close_valve);
      __SYS_STATUS_ALARM_BYTES_SET(ex_trigger_close_valve,ALARM_ID_EX_TRIGGER_CLOSE_VALVE);
   }
   
   
   
   //¶ÏÏß±¨¾¯£¬ ÒòΪºÜ¶àÏß¶¼¿ÉÒÔ¸´ÓöÏÏߣ¬ËùÒÔ¶ÏÏß·ÅÔÚ×îºóÅжÏ
   if(broken_line_cnt >= ALARM_LINE_CONTINUE_TIMES){
      __SYS_STATUS_ALARM_BYTES_SET(broken_line);
      __SYS_STATUS_ALARM_BYTES_SET(broken_line,ALARM_ID_BROKEN_LINE);
   }else{
      __SYS_STATUS_BYTES_STATUS(broken_line,RESET,ALARM_ID_BROKEN_LINE);
   }