/**************进料检测********************/
/***缺料无限次循环 手动退出 超时报警*******/
void check_Pon() //
{
zstatus=0; //报警计数器归零
Signauto=1; //行程开关循环标志
//1进料检测2工位旋转3机座检测4夹具一开5夹具二开6夹具三开7夹具四开8夹具五开9夹具六开10电机进11电机退12闸门一开13闸门二开14过桥开
FLAG_M=1; //进料检测
printf("va1.val=%d\xff\xff\xff",FLAG_M);//
while(Signauto) /**/
{
OutPut2=0; //闸门3开
RstKey();
for(;kcounter<10;) //按键循环10
{
if(!IntPut2) //按键低电平
{
LowVoltKey(); //按键低电平 计数器加一状态标志加一
}
else if(~!IntPut2) //按键高电平
{
RstKey(); //按键计数器 状态计数器归零
}
delay1(2); //2023
if(kstatus>=8) /*按键状态标志大于等于8为有效值*/
{
OutPut2=1; //闸门3关
Signauto=0; /*行程输入信号连续检测到3次Signauto=0退出循环*/
}
if(RUN_Flag==0) //手动标志
{
Signauto=0; //Signauto=0退出循环
break;
}
zstatus++; //缺料报警计数器加一
delay10ms(5);
if(zstatus>val9) //缺料计时
{
Error_Flag=1; //开报警标志
delay10ms(50);
OutPut20=~OutPut20; //缺料退刀及润滑退未到位报警
delay10ms(50);
OutPut20=~OutPut20; //缺料退刀及润滑退未到位报警
delay10ms(50);
OutPut20=~OutPut20; //缺料报警
if(Error_Flag==0) //串口接收到报警关闭标志
{
zstatus=0; //报警计数器复位
OutPut2=1; //闸门3关
Signauto=0; /*行程输入信号连续检测到3次Signauto=0退出循环*/
OutPut20=1; //蜂鸣器输出关
break; //
}
}
}
}
}
///
///
///
/***出料检测低电平无限循环,高电平退出无限循环********/
/***检测到手动标志和关闭报警退出无限循环超时报警*****/
void Check_Error()
{
zstatus=0; //报警计数器归零
Signauto=1; //行程开关循环标志
while(Signauto) /**/
{
RstKey();
for(;kcounter<10;) //按键循环10
{
if(!IntPut6) //按键低电平重复检测
{
kcounter=0; //按键计数器加一 状态标志归零
kstatus=0; //按键低电平 计数器加一状态标志加一
}
else if(~!IntPut6) //按键高电平夹具无料
{
kcounter++;
kstatus++;
}
delay1(2); //2023
if(kstatus>=8) /*按键状态标志大于等于8为有效值*/
{
zstatus=0;
zstatus=0;
Signauto=0; /*行程输入信号连续检测到3次Signauto=0退出循环*/
}
if(RUN_Flag==0) //手动标志
{
Signauto=0; //Signauto=0退出循环
break;
}
zstatus++; //缺料报警计数器加一
delay10ms(5);
if(zstatus>val9) //缺料计时
{
Error_Flag=1; //开报警标志
delay10ms(50);
OutPut20=~OutPut20; //缺料退刀及润滑退未到位报警
delay10ms(50);
OutPut20=~OutPut20; //缺料退刀及润滑退未到位报警
delay10ms(50);
OutPut20=~OutPut20; //缺料报警
}
if(Error_Flag==0) //串口关闭报警标志
{
zstatus=0; //报警计数器归零
Signauto=0; /*行程输入信号连续检测到3次Signauto=0退出循环*/
break;
}
}
}
}