| | |
| | | |
| | | /*¹Ø·§±¨¾¯Ïß*/ |
| | | //ÒòΪÐèÒª´¥·¢¹Ø·§£¬½ö¸´ÓöÏÏß¹¦ÄÜÔÚÕâÀïÅжϣ¬±¾Éí¹Ø·§¹¦ÄÜÔÚÖ÷Ñ»·ÀïÃæ´¦Àí |
| | | if(((flow_meter_para_g.broken_line_multiplex & 0xf0)==BROKEN_LINE_MUTIPLEX_CLOSE_VALVE)&&(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET)){ |
| | | //ÓÅÏȸ´Óà |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_Init(); |
| | | CV_LOSE_CHECK_ENABLE; |
| | | 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 ; |
| | | }else{ |
| | | __SYS_STATUS_BYTES_GET(broken_line) = RESET ; |
| | | } |
| | | |
| | | CV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else{ |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_sleep(); |
| | | CV_LOSE_CHECK_DISABLE; |
| | | } |
| | | } |
| | | |
| | | |
| | | #define ALARM_LINE_CONTINUE_TIMES 3 //±¨¾¯Ïß״̬³ÖÐøALARM_LINE_CONTINUE_TIMESÃëʱ¼äΪÓÐЧ |
| | | #define ALARM_LINE_CONTINUE_TIMES 3 //²»Äܳ¬¹ý250£¬±¨¾¯Ïß״̬³ÖÐøALARM_LINE_CONTINUE_TIMESÃëʱ¼äΪÓÐЧ |
| | | |
| | | void PulseAndAlarmLineCheck(void) |
| | | { |
| | |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LF_PULSE_INT_PORT,LF_PULSE_INT_PIN,1,Bit_SET)==SET){ |
| | | broken_line_cnt ++ ; |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | |
| | | |
| | | 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,1,Bit_RESET)==SET){ |
| | | broken_line_cnt ++ ; |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | |
| | | broken_line_cnt = 0 ; |
| | | } |
| | | } |
| | | |
| | | BasicTimer16_Init(BT1,240,PULSE_CHECK_DELAY_MS*(SYSCLOCK_U/240/1000)); //PULSE_CHECK_DELAY_MS ¶¨Ê±£¬ÓÃÓÚÂö³åµÄÑÓʱ¼ì²â£¬Âö³å³ÖÐø³¬¹ýPULSE_CHECK_DELAY_MSÓÐЧ£¬È¥¶¶ |
| | | |
| | | }else{ |
| | | //²»ÓÃÂö³åÏß |
| | |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(UNDER_PWR_INT_PORT,UNDER_PWR_INT_PIN,1,Bit_SET)==SET){ |
| | | broken_line_cnt ++ ; |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(UNDER_PWR_INT_PORT,UNDER_PWR_INT_PIN,1,Bit_RESET)==SET){ |
| | | __SYS_STATUS_BYTES_GET(flow_meter_under_pwr) = SET ; |
| | | if(under_pwr_line_cnt < 250) under_pwr_line_cnt ++; |
| | | }else{ |
| | | __SYS_STATUS_BYTES_GET(flow_meter_under_pwr) = RESET ; |
| | | under_pwr_line_cnt = 0; |
| | | } |
| | | |
| | | UV_LOSE_CHECK_DISABLE; |
| | |
| | | UV_lose_check_GPIO_Clk_Init(); |
| | | Under_Pwr_INT_GPIO_Clk_sleep(); |
| | | UV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | //Ƿѹ±¨¾¯´¦Àí |
| | | if(under_pwr_line_cnt >= ALARM_LINE_CONTINUE_TIMES){ |
| | | __SYS_STATUS_ALARM_BYTES_SET(flow_meter_under_pwr); |
| | | } |
| | | |
| | | |
| | |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LOW_PWR_INT_PORT,LOW_PWR_INT_PIN,1,Bit_SET)==SET){ |
| | | broken_line_cnt ++ ; |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(LOW_PWR_INT_PORT,LOW_PWR_INT_PIN,1,Bit_RESET)==SET){ |
| | | __SYS_STATUS_BYTES_GET(flow_meter_low_pwr) = SET ; |
| | | if(low_pwr_line_cnt < 250) low_pwr_line_cnt ++; |
| | | }else{ |
| | | __SYS_STATUS_BYTES_GET(flow_meter_low_pwr) = RESET ; |
| | | low_pwr_line_cnt = 0; |
| | | } |
| | | |
| | | UV_LOSE_CHECK_DISABLE; |
| | |
| | | LV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | //µÍµç±¨¾¯´¦Àí |
| | | if(low_pwr_line_cnt >= ALARM_LINE_CONTINUE_TIMES){ |
| | | __SYS_STATUS_ALARM_BYTES_SET(flow_meter_low_pwr); |
| | | } |
| | | |
| | | /*¹Ø·§±¨¾¯Ïß*/ |
| | | //ÒòΪÐèÒª´¥·¢¹Ø·§£¬³õʼ¿ÉÒÔ²»ÓÃÅжϣ¬ÔÚÖ÷Ñ»·ÀïÃæ´¦Àí |
| | | if(((flow_meter_para_g.broken_line_multiplex & 0xf0)==BROKEN_LINE_MUTIPLEX_CLOSE_VALVE)&&(__SYS_ALARM_CTL_BYTES_GET(broken_line) == SET)){ |
| | | //ÓÅÏȸ´Óà |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_Init(); |
| | | CV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(CV_ALM_A_PORT,CV_ALM_A_PIN,1,Bit_SET)==SET){ |
| | | if(broken_line_cnt < 250) broken_line_cnt ++ ; |
| | | }else{ |
| | | broken_line_cnt = 0 ; |
| | | } |
| | | |
| | | CV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else if(__SYS_ALARM_CTL_BYTES_GET(ex_trigger_close_valve) == SET){ |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_Init(); |
| | | CV_LOSE_CHECK_ENABLE; |
| | | delay_ms(1); |
| | | |
| | | if(IO_JitterEliminationCheck(CV_ALM_A_PORT,CV_ALM_A_PIN,1,Bit_RESET)==SET){ |
| | | if(close_valve_line_cnt < 250) close_valve_line_cnt ++ ; |
| | | }else{ |
| | | close_valve_line_cnt = 0 ; |
| | | } |
| | | |
| | | CV_LOSE_CHECK_DISABLE; |
| | | |
| | | }else{ |
| | | CV_lose_check_GPIO_Clk_Init(); |
| | | Close_Valve_Alarm_Line_GPIO_Clk_sleep(); |
| | | CV_LOSE_CHECK_DISABLE; |
| | | } |
| | | |
| | | //Íⲿ´¥·¢¹Ø·§±¨¾¯´¦Àí |
| | | if(close_valve_line_cnt >= ALARM_LINE_CONTINUE_TIMES){ |
| | | __SYS_STATUS_ALARM_BYTES_SET(ex_trigger_close_valve); |
| | | } |
| | | |
| | | |
| | | |
| | | //¶ÏÏß±¨¾¯£¬ ÒòΪºÜ¶àÏß¶¼¿ÉÒÔ¸´ÓöÏÏߣ¬ËùÒÔ¶ÏÏß·ÅÔÚ×îºóÅÐ¶Ï |
| | | if(broken_line_cnt >= ALARM_LINE_CONTINUE_TIMES){ |
| | | __SYS_STATUS_ALARM_BYTES_SET(broken_line); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |