| | |
| | | Motor_OP_CL_GPIO_Init(); |
| | | Motor_A_HIGH; |
| | | Motor_B_LOW; |
| | | GPIO_EXTI_Init( Motor_OP_PORT, Motor_OP_PIN, EXTI_FALLING, ENABLE); |
| | | GPIO_EXTI_Init( Motor_CL_PORT, Motor_CL_PIN, EXTI_FALLING, ENABLE); |
| | | } |
| | | |
| | | void ValveMotorCloseRun(void) |
| | | { |
| | | |
| | | //ÅжÏÊÇ·ñÐèÒª½èµç¹Ø·§,ÎÞÍâµç£¬¼îµçµôµç»òÕßÒÆ³ý״̬Ͻèµã |
| | | if(__SYS_STATUS_BYTES_GET(alka_remove) == SET && __SYS_STATUS_BYTES_GET(alka_down) == SET){ |
| | | if(__SYS_STATUS_BYTES_GET(alka_remove) == SET || __SYS_STATUS_BYTES_GET(alka_down) == SET){ |
| | | if(__SYS_STATUS_BYTES_GET(power_state) == RESET){ |
| | | borrow_Pwr_GPIO_Clk_Init(); |
| | | BORROW_PWR_ON; |
| | |
| | | Motor_OP_CL_GPIO_Init(); |
| | | Motor_A_LOW; |
| | | Motor_B_HIGH; |
| | | GPIO_EXTI_Init( Motor_OP_PORT, Motor_OP_PIN, EXTI_FALLING, ENABLE); |
| | | GPIO_EXTI_Init( Motor_CL_PORT, Motor_CL_PIN, EXTI_FALLING, ENABLE); |
| | | } |
| | | |
| | | void ValveMotorStop(void) |
| | |
| | | |
| | | void ValveCtrlHade(CALIBER_TYPE caliber_type_l,FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p) |
| | | { |
| | | if(valve_ctrl_para_g.valve_ctrl_order == VC_OPEN){ |
| | | |
| | | if(valve_ctrl_para_g.force_open_status ==SET){ |
| | | //Ç¿¿ªÓÅÏȼ¶¸ß£¬¼ì²âµ½Ç¿¿ª²»Ö´Ðз§ÃÅ¿ØÖÆ,¹Ø±ÕÖжϼì²â¡£ ¼ì²â·§ÃÅ״̬£¬Èç¹û¿ªµ½Î»£¬×´Ì¬±ä¸üΪ¿ª£¬·ñÔò״̬Ϊ¿ª·§ÖÐ |
| | | GPIO_EXTI_Init( Motor_CL_PORT, Motor_CL_PIN, EXTI_FALLING, DISABLE); |
| | | if(Read_OP_CL_VALVE_Status(0) !=VALVE_OPEN){ |
| | | save_valve_para_g.valve_status = VALVE_OPENING; |
| | | ValveMotorStop(); |
| | | }else{ |
| | | save_valve_para_g.valve_status = VALVE_OPEN; |
| | | } |
| | | |
| | | return ; //Ç¿¿ªÐźÅÓÐЧʱ£¬Ö±½ÓÌø³öº¯Êý£¬²»ÅжϺóÐøÂß¼ |
| | | }else if(valve_ctrl_para_g.valve_ctrl_order == VC_OPEN){ |
| | | if(Read_OP_CL_VALVE_Status(0) == VALVE_OPEN){ |
| | | ValveMotorStop(); |
| | | save_valve_para_g.valve_status = VALVE_OPEN; |
| | |
| | | |
| | | save_valve_para_g.valve_status = VALVE_OPENING; |
| | | valve_ctrl_para_g.valve_ctrl_order = VC_NONE; |
| | | delay_ms(10); //ÑÓºó´ò¿ªÖÕ¶Ë |
| | | GPIO_EXTI_Init( Motor_OP_PORT, Motor_OP_PIN, EXTI_FALLING, ENABLE); |
| | | } |
| | | } |
| | | }else if(valve_ctrl_para_g.valve_ctrl_order == VC_CLOSE){ |
| | |
| | | |
| | | save_valve_para_g.valve_status = VALVE_CLOSING; |
| | | valve_ctrl_para_g.valve_ctrl_order = VC_NONE; |
| | | delay_ms(10); //ÑÓºó´ò¿ªÖÕ¶Ë |
| | | GPIO_EXTI_Init( Motor_CL_PORT, Motor_CL_PIN, EXTI_FALLING, ENABLE); |
| | | } |
| | | } |
| | | }else if(valve_ctrl_para_g.valve_ctrl_order == VC_LOCK){ |
| | | save_valve_para_g.valve_lock_state = VL_LOCK; |
| | | }else{ |
| | | |
| | | } |
| | | |
| | | //?ÅжϿª¹Ø·§ÊÇ·ñµ½Î» |
| | | if(save_valve_para_g.valve_status==VALVE_OPENING){ |
| | | if(valve_ctrl_para_g.open_time_cnt==0){ |
| | | if(Read_OP_CL_VALVE_Status(0) ==VALVE_OPEN){ |
| | | ValveMotorStop();//¹Ø±ÕÇý¶¯ |
| | | save_valve_para_g.valve_status = VALVE_OPEN; |
| | | }else if(valve_ctrl_para_g.open_time_cnt==0){ |
| | | //?³¬Ê±½áÊø |
| | | ValveMotorStop(); |
| | | save_valve_para_g.valve_status = VALVE_ERROR; |
| | |
| | | valve_ctrl_para_g.open_time_cnt--; |
| | | } |
| | | |
| | | if(valve_ctrl_para_g.force_open_status ==SET){ |
| | | //¿ª·§¹ý³ÌÖÐÓöµ½Ç¿¿ª£¬¹Ø±ÕÇý¶¯ |
| | | ValveMotorStop(); |
| | | } |
| | | // if(valve_ctrl_para_g.force_open_status ==SET){ |
| | | // //¿ª·§¹ý³ÌÖÐÓöµ½Ç¿¿ª£¬¹Ø±ÕÇý¶¯ |
| | | // ValveMotorStop(); |
| | | // } |
| | | }else if(save_valve_para_g.valve_status==VALVE_CLOSING){ |
| | | if(valve_ctrl_para_g.close_time_cnt==0){ |
| | | if(Read_OP_CL_VALVE_Status(0) ==VALVE_CLOSE){ |
| | | ValveMotorStop();//¹Ø±ÕÇý¶¯ |
| | | save_valve_para_g.valve_status = VALVE_CLOSE; |
| | | }else if(valve_ctrl_para_g.close_time_cnt==0){ |
| | | //?³¬Ê±½áÊø |
| | | ValveMotorStop(); |
| | | save_valve_para_g.valve_status = VALVE_ERROR; |
| | |
| | | valve_ctrl_para_g.close_time_cnt--; |
| | | } |
| | | |
| | | if(valve_ctrl_para_g.force_open_status ==SET){ |
| | | //¹Ø·§¹ý³ÌÖÐÓöµ½Ç¿¿ª£¬¹Ø±ÕÇý¶¯£¬×´Ì¬¸Ä±ä³É¿ª·§ÖУ¬ÖØÖÿª·§¼ÆÊ± |
| | | ValveMotorStop(); |
| | | save_valve_para_g.valve_status = VALVE_OPENING; |
| | | valve_ctrl_para_g.open_time_cnt = GetValveRunMaxTime(caliber_type_l); |
| | | } |
| | | // if(valve_ctrl_para_g.force_open_status ==SET){ |
| | | // //¹Ø·§¹ý³ÌÖÐÓöµ½Ç¿¿ª£¬¹Ø±ÕÇý¶¯£¬×´Ì¬¸Ä±ä³É¿ª·§ÖУ¬ÖØÖÿª·§¼ÆÊ± |
| | | // ValveMotorStop(); |
| | | // save_valve_para_g.valve_status = VALVE_OPENING; |
| | | // valve_ctrl_para_g.open_time_cnt = GetValveRunMaxTime(caliber_type_l); |
| | | // } |
| | | } |
| | | |
| | | |
| | | //·§ÃŲÙ×÷½øÐÐÖÐ״̬ÖÃλ |
| | | if((save_valve_para_g.valve_status==VALVE_OPENING)||(save_valve_para_g.valve_status==VALVE_CLOSING)) |
| | | sys_fun_run_ctrl_p->valve_ctrl_flag.running_flag = SET; |
| | | else |
| | |
| | | switch(valve_ctrl_order_l){ |
| | | case VC_NONE:break; |
| | | case VC_OPEN: |
| | | |
| | | if((__SYS_STATUS_BYTES_GET(alka_remove) == SET || __SYS_STATUS_BYTES_GET(alka_down) == SET)&&(__SYS_STATUS_BYTES_GET(power_state) ==RESET)){ |
| | | return FAIL;//¼îµçûµçÇÒûÓÐÍâµç£¬²»ÔÊÐí¿ª·¢ |
| | | } |
| | | if((save_valve_para_g.valve_status == VALVE_CLOSE)&&(valve_ctrl_para_g.force_open_status==RESET)){ |
| | | valve_ctrl_para_g.valve_ctrl_order = VC_OPEN; |
| | | pwr_vol_g.alka_flag = AMS_VALVE_CTRL_BEFORE; |
| | |
| | | break; |
| | | |
| | | case VC_CLOSE: |
| | | if((save_valve_para_g.valve_status != VALVE_CLOSE)&&(valve_ctrl_para_g.force_open_status==RESET)){ |
| | | if((save_valve_para_g.valve_status != VALVE_CLOSE)&&(save_valve_para_g.valve_status != VALVE_CLOSING)&&(valve_ctrl_para_g.force_open_status==RESET)){ |
| | | valve_ctrl_para_g.valve_ctrl_order = VC_CLOSE; |
| | | pwr_vol_g.alka_flag = AMS_VALVE_CTRL_BEFORE; |
| | | return PASS; |
| | |
| | | }else{ |
| | | if(valve_ctrl_para_g.force_open_status ==SET){ |
| | | valve_ctrl_para_g.force_open_status =RESET; |
| | | //¿ªÊ¼¹Ø±ÕÇ¿¿ª |
| | | //Ç¿¿ª½áÊø |
| | | } |
| | | |
| | | } |