📄 jf_act.c
字号:
//压缩机停足3分钟后,若过载自动恢复,则恢复运行 。
//若压缩机正常运转15分钟,保护次数自动清0。若连续3次出现上述保护情况,则不能恢复运行,显示故障。
if (t_comp_run_times >=mint_comprun_set) run_state |=b_comp_run; //压缩机运行min时间到置标志1
if (t_comp_run_times<=250)
{//压缩机运行时间到250分钟后不计时,否则按60秒计1分钟
t_comp_run++; //计到60秒时次数+1,清计时
if (t_comp_run>=60) {t_comp_run_times++; t_comp_run=0;}
}
t_comp_stop =0; //压缩机启动时压缩机停机时间=0
t_comp_stop_times=0;
run_state &=~b_comp_stop;
if ((t_comp_run>=15) ||(t_comp_run_times>=1)) //压缩机启动15秒后检测低压保护
{ //低压保护延时计时
if ((PINA &b_lpp)==0) //低压开关保护LPP 接通时为低压保护
// if (PINA &b_lpp) //200803低压开关保护LPP 断开为低压保护
{
if (t_lppdelay >=t_lppdelay_set) fun_lpp(); //压缩机低压开关保护
else t_lppdelay++; //计时+1
}
//20080201 else if ((fault_state4 &b_fault_lpp) &&(fault_lpp_times <3))//压缩机运行15分钟后无低压保护,则清除连续次数
else if ((fault_lpp_times>0 ) &&(fault_lpp_times <3))//压缩机运行15分钟后无低压保护,则清除连续次数
{
if (lpp_clear_time >900) //超过15分钟正常运行时清除低压保护故障及次数
{
fault_state4 &=~b_fault_lpp; //清除低压保护故障
fault_lpp_times =0; //低压保护故障出现次数=0
t_lppdelay =0; //计时清0
start_state2 &=~b_lpp_delay2start; //低压保护时启动计时3分钟
t_lpp_delaytime=0; //
run_state2 &=~b_lpp_delay2; //3分钟到标志清0
}
else lpp_clear_time++; //累加低压保护清除的时间
}
}
}
else //comp=0
{
if (t_comp_stop_times >=mint_compstop_set) run_state |=b_comp_stop; //压缩机停机min时间到置标志1
else
{
t_comp_stop++; //计到60秒时次数+1,
if (t_comp_stop>=60) {t_comp_stop_times++; t_comp_stop=0;}
}
t_comp_run =0; //压缩机停机时压缩机运行时间清0
t_comp_run_times =0;
run_state &=~b_comp_run;
}
//如高水位无连续10秒时,进水阀才可以动作
if ((PINC &b_highwater)==0) //1高水位时置故障200706
{
t_highwater_ok++; //高水位无计时
if (t_highwater_ok>=10)t_highwater_ok =31;
}
else
{
t_highwater_ok=0;
PORTD &=~b_yv_in; //高水位PD1进水阀YV-in关
}
}
void fun_delaytime_20s(void) //在20S中定时程序
{
//压缩机启动 延时
if (start_state &b_comp_ondelaystart)
{
t_comp_ondelay++; //计时+1
if (t_comp_ondelay >=t_comp_ondelay_set)
{ run_state |=b_comp_ondelay; //时间到置标志1
start_state &=~b_comp_ondelaystart;//清开始计时标志
t_comp_ondelay=0; //计时清0
}
}
//内风机关机 延时
if (start_state &b_fan_offdelaystart)
{
t_fan_offdelay++; //计时+1
if (t_fan_offdelay >=t_fan_offdelay_set)//时间到置标志1
{ run_state |=b_fan_offdelay;
start_state &=~b_fan_offdelaystart;//清开始计时标志
t_fan_offdelay=0; //计时清0
}
}
//20S中定时1min
t_1min_times++; //计时+1
if (t_1min_times >=3) //定时1min到
{ t_1min_times=0; //计时清0
time_flag |=b_time_1min; //置标志1
}
//20S中定时低压保护计时3min
if (start_state2 &b_lpp_delay2start)
{
t_lpp_delaytime++;
if (t_lpp_delaytime >=9) //定时3min到
{ t_lpp_delaytime=0; //计时清0
run_state2 |=b_lpp_delay2; //置低压保护计时3min 标志1
start_state2 &=~b_lpp_delay2start; //
if ((PINA &b_lpp)==0) //低压开关保护LPP接通时为低压保护 //延时3分钟后如低压开关保护,则判断低压保护故障
// if (PINA &b_lpp) //200803低压开关保护LPP 断开为低压保护
{
fault_state4 |=b_fault_lpp;fault_lpp_times=3;
fun_fault_beep(); //20080201增加故障报警蜂鸣器子程序
} //低压保护连续次数
// else //停机3分钟后低压恢复,立即开压缩机
else if (manual_set &b_comp_onask) //20080312停机3分钟后低压恢复且需开压缩机时,立即开压缩机
{
PORTB |=b_comp; // 开压缩机
PORTC |= b_yv_dry; //PC0除湿阀YV-DRY开
PORTG |= b_ofan; //PG0外风机OFAN
start_state |=b_yvcomp_delaystart;//需延时3秒开YV-COMP
t_yvcomp_ondelay=0; //供液阀延时启动时间3秒
fault_state4 &=~b_fault_lpp; //20080201清除故障标志
}
}
}
//20S中定时压缩机过载保护计时3min
if (start_state2 &b_comp_gz_delaystart)
{
t_comp_gz_delaytime++;
if (t_comp_gz_delaytime >=9) //定时3min到
{
t_comp_gz_delaytime=0; //计时清0
start_state2 &=~b_comp_gz_delaystart; //
// if (PINC &b_comp_guozai) //延时3分钟后如压缩机过载保护,则判断压缩机过载保护故障
if ((PINC &b_comp_guozai)==0) //20080620
{
fault_state4 |=b_fault_comp_guozai; fault_comp_guozai_times=3;//压缩机过载保护连续次数
fun_fault_beep(); //20080201增加故障报警蜂鸣器子程序
}
// else //停机3分钟后压缩机过载恢复,立即开压缩机
else if (manual_set &b_comp_onask) //20080312停机3分钟后压缩机过载恢复且需开压缩机时,立即开压缩机
{
PORTB |=b_comp; // 开压缩机
PORTC |= b_yv_dry; //PC0除湿阀YV-DRY开
PORTG |= b_ofan; //PG0外风机OFAN
start_state |=b_yvcomp_delaystart;//需延时3秒开YV-COMP
t_yvcomp_ondelay=0; //供液阀延时启动时间3秒
fault_state4 &=~b_fault_comp_guozai; //20080201停机3分钟后压缩机过载恢复,清除故障
}
}
}
//20S中定时停3分钟后若排气温度小于90℃,压缩机重新启动
if (start_state2 &b_exTHh_delaystart)
{
t_exh_delaytime++;
if (t_exh_delaytime >=9) //定时3min到
{
t_exh_delaytime=0; //计时清0
start_state2 &=~b_exTHh_delaystart; //
if (exghaust_TH >=90) //延时3分钟后排气温度大于90℃,判断排气保护故障
{
fault_state4 |=b_fault_exTHh;fault_exh_times=3; //PC5排气过高
fun_fault_beep(); //20080201增加故障报警蜂鸣器子程序
}
// else //停机3分钟后排气温度小于90℃,立即开压缩机
else if (manual_set &b_comp_onask) //20080312停机3分钟后排气温度小于90℃且需开压缩机时,立即开压缩机
{
PORTB |=b_comp; // 开压缩机
PORTC |= b_yv_dry; //PC0除湿阀YV-DRY开
PORTG |= b_ofan; //PG0外风机OFAN
start_state |=b_yvcomp_delaystart;//需延时3秒开YV-COMP
t_yvcomp_ondelay=0; //供液阀延时启动时间3秒
fault_state4 &=~b_fault_exTHh; //20080201恢复时清除故障
}
}
}
//20S中定时停3分钟后若感温包短路故障恢复,压缩机重新启动
if (start_state2 &b_exTH0_delaystart)
{
t_exTH0_delaytime++;
if (t_exTH0_delaytime >=9) //定时3min到
{
t_exTH0_delaytime=0; //计时清0
start_state2 &=~b_exTH0_delaystart; //
if ((exghaust_AD>=250) ||(exghaust_AD<=5)) //延时3分钟后室外排气温度AD值不正常,判断排气感温包故障
{
fault_state4 |=b_fault_exTH0;fault_exTH0_times=3; //PC5排气过高
fun_fault_beep(); //20080201增加故障报警蜂鸣器子程序
}
// else //停机3分钟后室外排气温度AD值正常,立即开压缩机
else if (manual_set &b_comp_onask) //20080312停机3分钟后排气温度AD值正常且需开压缩机时,立即开压缩机
{
PORTB |=b_comp; // 开压缩机
PORTC |= b_yv_dry; //PC0除湿阀YV-DRY开
PORTG |= b_ofan; //PG0外风机OFAN
start_state |=b_yvcomp_delaystart;//需延时3秒开YV-COMP
t_yvcomp_ondelay=0; //供液阀延时启动时间3秒
fault_state4 &=~b_fault_exTH0; //20080201恢复时清除故障
}
}
}
//20S中定时能量调节电磁阀3分钟15s计时
if (start_state2 &b_yvadjust_delaystart)
{
t_yvadjust_delaytime++;
if (t_yvadjust_delaytime >=10) //定时3min15s到
{ t_yvadjust_delaytime=0; //计时清0
run_state2 |=b_yvadjust_delay; //置能量调节电磁阀4分钟标志1
start_state2 &=~b_yvadjust_delaystart; //
PORTG &=~b_yv_adjust; //PG1调节阀YV-ADJUST=0
}
}
//加湿电流连续5分钟低于1A
if ((fault_state2 &b_fault_humid_lowi)==0)
{
if (PIND &b_humid) //加湿开时如加湿电流连续10分钟低于1A
{
if (i_humid10 <10)
{//20080128改为当加湿电流连续10分钟小于1A时
if (fault_humid_lowi_time >=30)
{
fault_state2 |=b_fault_humid_lowi;
fun_fault_beep(); //20080201增加故障报警蜂鸣器子程序
}
else fault_humid_lowi_time++;
}
else fault_humid_lowi_time =0;
}
else fault_humid_lowi_time =0; //加湿关时电流小的时间清0
}
NOP(); //加湿开时如连续3分钟检测到电流>1.3ISET,排水故障
if ((fault_state3 &b_fault_humid_paishui)==0)
{
if (PIND &b_humid) //加湿开时如加湿电流连续3分钟>1.3ISET
{
if (i_humid10 >(1.3*imax10_set))
{
if (fault_i_humid_time >=9)
{
fault_state3 |=b_fault_humid_paishui;
fun_fault_beep(); //20080201增加故障报警蜂鸣器子程序
}
else fault_i_humid_time++;
}
else fault_i_humid_time =0;
}
else fault_i_humid_time =0; //加湿关时
}
//加湿开检测高水位
if ((fault_state2 &b_fault_highwater)==0)
{
if (PIND &b_humid) //加湿开时
{
if (start_state2 &b_highwater_delaystart) //置高水位延时20min 开始标志1
{
fault_highwater_time++; //高水位保护故障时间20min
if (fault_highwater_time >=60)
{
start_state2 &=~b_highwater_delaystart; //clear
fault_highwater_time =0;
if (PINC &b_highwater)
{
fault_state2 |=b_fault_highwater; //1高水位时置故障200706
fun_fault_beep(); //20080201增加故障报警蜂鸣器子程序
}
}
}
else if (PINC &b_highwater) //1高水位时置故障200706
{
start_state2 |=b_highwater_delaystart;
fault_highwater_time=0;
PORTD &= ~b_yv_in; //PD1进水阀YV-IN关
}
}
else //加湿未开时停止检测高水位的20分钟延时
{
start_state2 &=~b_highwater_delaystart; //clear
fault_highwater_time =0;
}
}
//自动开机且风机开时,计时机组运行时间,机组运行15min后,检测回风温度\湿度高低设定值报警
if (((mode & b_manual_on) ==0)&& ((mode & b_kaiji)!=0)&&((PING &b_fan)!=0))
{//b_manual_on =0为自动,1为手动
if (t_auto_run >=45) //15min
{
auto_state |=b_t_auto_run; //时间到置标志1
}
else t_auto_run++; //计时+1
}
else
{
t_auto_run=0;
auto_state &=~b_t_auto_run; //时间到置标志1
}
//在20秒中计时压缩机过载保护恢复时间
if (PINB &b_comp) //压缩机开时
{
//20080201 if ((fault_state4 &b_fault_comp_guozai) &&(fault_comp_guozai_times <3) &&((PINC &b_comp_guozai)==0))
// if ((fault_comp_guozai_times>0) &&(fault_comp_guozai_times <3) &&((PINC &b_comp_guozai)==0))
if ((fault_comp_guozai_times>0) &&(fault_comp_guozai_times <3) &&((PINC &b_comp_guozai)!=0)) //20080620
{
if (comp_guozai_clear_time >45) //超过15分钟正常运行时清除过载保护故障及次数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -