📄 plc_gshd.cld
字号:
break;
case 4: //song dao
Y[0]|=0x40;
Y[30]|=0x80;
Y[1]|=4;
if((X[2]&R[102]&2)!=2) { atc_stag=4; break; }
if(((X[31]&0x40)==0)&&(P[34]==1)) break;//test
if(P[34]==1)
{
l=(long) (-PMatc_z_pos1+30)*100L;
set_axis_moveto(2,l,to_pp8ms(600)); // 2004 .3.26
// if(((X[31]&0x40)==0)&&(P[34]==1)) break;//test
atc_stag=41;
}
else
{
atc_stag=141;
atc_dwell=40;
}
break;
case 41: //song dao
if((get_axis_den(2)==0)) break;
atc_dwell=40;
atc_stag=141;
break;
case 141:
// pend Y[1]&=~4;//guan chui qi
if((X[2]&R[102]&2)==2)
set_axis_moveto(2,0,to_pp8ms(4000)); // 2004 .3.26
if(((X[31]&0x40)==0)&&(P[34]==1)) break;//test
atc_stag=42;
break; //? }
case 42: //song dao
if((get_axis_den(2)==0)) break;
Y[0]|=0x40;
atc_dwell=20;
atc_stag=142;
break;
case 142:
l=*F_l[23]/100;//2004
if(l==0)//(-PMatc_z_pos2))
{
if(((X[31]&0x40)==0)&&(P[34]==1)) break;
atc_stag=5; break;
}
else
{
// l=(long) (-PMatc_z_pos2)*100L;
set_axis_moveto(2,0,to_pp8ms(4000));
atc_stag=42;
break;
}
// break;
case 5: //guan chui qi
old_cutter=new_cutter_t;
mag_ctrl=1;
mag_fin=0;
if(((X[31]&0x40)==0)&&(P[34]==1)) break; //pend add
atc_stag=6;
break;
case 6: //zhua dao
if(mag_fin==0) break;
if((X[2]&R[102]&2)==2) //pend add
if(((X[31]&0x40)==0)&&(P[34]==1)) break; //pend add
// if(P[34]==1)
{
l=(long) (-PMatc_z_pos1+20)*100L;
set_axis_moveto(2,l,to_pp8ms(4000)); //2004.3.26 111
atc_stag=62;
}
// else
// atc_stag=7;
break;
case 61: //jin dao
if(get_axis_den(2)==0) break;
l=*F_l[23]/100;//2004
if(l==(-PMatc_z_pos1+200)) //pend 200 changed 20
{
if(((X[31]&0x40)==0)&&(P[34]==1)) break;//test
l=(long) (-PMatc_z_pos1+20)*100L;
set_axis_moveto(2,l,to_pp8ms(4000)); //2004.3.26 111
Y[1]|=4;
atc_stag=62;
break;
}
else
{
l=(long) (-PMatc_z_pos1+200)*100L; //pend 200 changed 20
set_axis_moveto(2,l,to_pp8ms(4000));
break;
}
case 62: //jin dao
l=*F_l[23]/100;//2004
if(l<=(-PMatc_z_pos1+500)) Y[1]|=4;
if(get_axis_den(2)==0) break;
atc_dwell=20;
atc_stag=162;
break;
case 162:
l=*F_l[23]/100;//2004
//if(l==(-PMatc_z_pos1+20))
if((l==(-PMatc_z_pos1+20))||((l-1)==(-PMatc_z_pos1+20)))
// if(((*F_l[23]+(PMatc_z_pos1*100-2000))/100)==0)
{
if(((X[31]&0x40)==0)&&(P[34]==1)) break;//test
atc_stag=7;
break;
}
else
{
l=(long) (-PMatc_z_pos1+20)*100L;
set_axis_moveto(2,l,to_pp8ms(4000));
atc_stag=62;
break;
}
case 7: //jin dao
l=(long) ((long)(-PMatc_z_pos1)*100L);
R_l[32/4]=-l/1000;
R_l[36/4]=-l%1000/10;
set_axis_moveto(2,l,to_pp8ms(600));
Y[1]|=4;//chui qi
// Y[0]&=~0x40; //jin dao
Y[30]&=~0x80;
if(((X[31]&0x40)==0)&&(P[34]==1)) break;//test
{
atc_stag=8;
break;
}
case 8:
R[705]++;
if(get_axis_den(2)==0) break;
atc_dwell=20;
atc_stag=182;
break;
case 182:
l=*F_l[23]/100;//2004
R_l[36/4]=l;
// if(l==(-PMatc_z_pos1))
// if(((*F_l[23]+(PMatc_z_pos1*100))/100)==0)
if((l==(-PMatc_z_pos1))||((l-1)==(-PMatc_z_pos1)))
// if((l+PMatc_z_pos1>=-1)&&(l+PMatc_z_pos1<=1)) //2004
{
Y[0]&=~0x40; //jin dao
Y[30]&=~0x80;
if((X[2]&R[102]&1)!=1)
{
//atc_stag=7;
break;
}
Y[1]&=~4;
atc_stag=9;
break;
}
else
{
l=(long) (-PMatc_z_pos1)*100L;
set_axis_moveto(2,l,to_pp8ms(600));
atc_stag=8;
Y[1]|=4;//chui qi
Y[0]&=~0x40; //jin dao
Y[30]&=~0x80;
break;
}
case 9:
if(((X[31]&0x40)==0)&&(P[34]==1)) break;//test
atc_dwell=66*2/3;
atc_stag=10;
break;
case 10: //z zhou hui wei
if((X[2]&R[102]&4)!=4){ Y[1]|=0X10; atc_stag=10;break;}
else if(R[500]==0)Y[1]&=~0X10;
dingxiangstop();
Y[1]&=~0x0f;
l=atc_old_pos;
// set_axis_moveto(2,l,to_pp8ms(4000));
set_axis_moveto(2,0,to_pp8ms(4000));
atc_stag=11;
break;
case 11:
if(get_axis_den(2)==0) break;
atc_dwell=33;
atc_stag=121;
break;
case 121:
l=*F_l[23]/100;//2004
// if((l==(atc_old_pos/100))||((l-1)==(atc_old_pos/100)))
if(l==0)
{
Y[32]&=~0x20;
Y[30]&=~0x80;
atc_old_pos=-1;
atc_stag=12;
}
else
{
l=atc_old_pos;
// set_axis_moveto(2,l,to_pp8ms(4000));
set_axis_moveto(2,0,to_pp8ms(4000));
atc_stag=11;
}
break;
case 12:
*cutter_in_mag(0)=new_cutter_t;
*sys_ctrl()|=SYS_SAVE_BBUF;///test
atc_fin=1;
atc_ctrl=0;
atc_stag=0;
atc_stat=0;
spdl_ctrl=0;
R[152]=0;
R[153]=0;
dxwancheng=0;
baodao=0;
break;
}
return;
}
void exec_M()
{
unsigned den;
long l;
if(Y[34]&0x10){ mod_M_code(0)=-1; return; }
den=*ch_stat(0)&CH_DEN;
switch(mod_M_code(0)) {
case 17:
set_axis_moveto(2,-100000,to_pp8ms(1000));
if(R_i[680/2]<200){R_i[680/2]++;break;}
R_i[680/2]=0;
mod_M_code(0)=-1;
break;
case 18:
set_axis_moveto(2,-B[31]*1000,to_pp8ms(1000));
if(R_i[680/2]<200){R_i[680/2]++;break;}
R_i[680/2]=0;
mod_M_code(0)=-1;
break;
case 3:
if((Y[32]&0xa0)||(spdl_ctrl&2)||(Y[30]&0xc0))
{
mod_M_code(0)=-1;
break;
}
if(mod_S_code(0)!=-1) break;
//if(get_axis_pos(2)<=5)//031210
if(*F_l[23]<=5)
spdl_ctrl=1;
if(spdl_stat==1) mod_M_code(0)=-1;
break;
case 4:
if((Y[32]&0xa0)||(spdl_ctrl&1)||(Y[30]&0xc0)
||(Spdl_Dir_Change_Mode==2))
{
mod_M_code(0)=-1;
break;
}
if(mod_S_code(0)!=-1) break;
//if(get_axis_pos(2)<=5)//031210
if(*F_l[23]<=5)
spdl_ctrl=2;
if(spdl_stat==2) mod_M_code(0)=-1;
break;
case 5:
if(den==0) break; // fang zhi chuang dao
msthold_dis(0)|=CH_M_HDIS;
spdl_ctrl=0;
if((Y[32]&0x80)==0){
spdl_zddwll_ahead=Spdl_ZD_Dwell;
spdl_zddwll=Spdl_ZD_Time;
}
if(spdl_stat==0) mod_M_code(0)=-1;
break;
case 100:
if(GS_Mark!=0)
{
spdl_ctrl=GS_Spdl_Old_Dir;
GS_Mark=0;
mod_M_code(0)=-1;
}
break;
case 103:
case 104:
case 105:
if(GS_Mark==0)
{
GS_Mark=1;
GS_Spdl_Old_Dir=spdl_ctrl;
}
if(mod_M_code(0)==103){R_l[508/4]=0; spdl_ctrl=1;}
else if(mod_M_code(0)==104) spdl_ctrl=2;
else
{
if(R_l[508/4]==0) R_l[508/4]=-*axis_pact(2)/1000;
spdl_ctrl=0;
}
if(spdl_ctrl==spdl_stat) mod_M_code(0)=-1;
break;
/*20040703
case 103:
case 104:
if(GS_Mark==0)
{
if(mod_M_code(0)==103) GS_Mark=spdl_ctrl=1;
if(mod_M_code(0)==104) GS_Mark=spdl_ctrl=2;
mod_M_code(0)=-1;
break;
}
if(((mod_M_code(0)==103)&&(GS_Mark==1))||
((mod_M_code(0)==104)&&(GS_Mark==2)))
{
mod_M_code(0)=-1;
break;
}
// if(GS_Z_Begin_Pos==0) GS_Z_Begin_Pos= get_axis_pos(2)/2;
if(GS_Z_Begin_Pos==0) GS_Z_Begin_Pos=*axis_pact(2);//*F_l[23];//get_axis_pos(2);
if(GS_Z_Begin_Pos<0) GS_Z_Begin_Pos=-GS_Z_Begin_Pos;
if(GS_Spdl_Begin_Pos==0)
{
GS_Spdl_Now_Pos_N=0;
GS_Spdl_Now_Pos_R=*ch_sp_pos(0)/1000;//F_l[176];
GS_Spdl_Begin_Pos=*ch_sp_pos(0)/1000;//F_l[176];//Spindle begin pos
}
//zheng xiang gongsi
if((*ch_sp_rpm(0)>=0)&&(GS_Mark==1))
{
if((*ch_sp_pos(0)/1000+5)<(GS_Spdl_Now_Pos_R)) GS_Spdl_Now_Pos_N+=1;///36000;
GS_Spdl_Now_Pos_R=*ch_sp_pos(0)/1000;
GS_Spdl_End_Pos=*ch_sp_pos(0)/1000;//Spindle stop pos
GS_Spdl_Move_Lenth=(GS_Spdl_Now_Pos_N*360)+(GS_Spdl_End_Pos-GS_Spdl_Begin_Pos);
//zhuzhou cong jiansu dao dadao zhiding sudu zhuan de jiaodu
if((*ch_sp_rpm(0)<=(GS_Spdl_Speed_AtBottom+10))&&
(GS_ToEndSpeed_Spdl_Move_Lenth==0))
GS_ToEndSpeed_Spdl_Move_Lenth=GS_Spdl_Move_Lenth;
}
//fan xiang gongsi
if((*ch_sp_rpm(0)<=0)&&(GS_Mark==2))
{
if((*ch_sp_pos(0)/1000)>(GS_Spdl_Now_Pos_R+5)) GS_Spdl_Now_Pos_N+=1;///36000;
GS_Spdl_Now_Pos_R=*ch_sp_pos(0)/1000;
GS_Spdl_End_Pos=*ch_sp_pos(0)/1000;//Spindle stop pos
GS_Spdl_Move_Lenth=(GS_Spdl_Now_Pos_N*360)+(GS_Spdl_Begin_Pos-GS_Spdl_End_Pos);
//zhuzhou cong jiansu dao dadao zhiding sudu zhuan de jiaodu
if(((-*ch_sp_rpm(0))<=(GS_Spdl_Speed_AtBottom+10))&&
(GS_ToEndSpeed_Spdl_Move_Lenth==0))
GS_ToEndSpeed_Spdl_Move_Lenth=GS_Spdl_Move_Lenth;
}
// if(((*ch_sp_rpm(0)<=0)&&(R[199]==1)&&(GS_Mark==1))||
// ((*ch_sp_rpm(0)>=0)&&(R[199]==2)&&(GS_Mark==2)))
if(((*ch_sp_rpm(0)>=0)&&(GS_Mark==1))||
((*ch_sp_rpm(0)<=0)&&(GS_Mark==2)))
{
// GS_Z_End_Pos=get_axis_pos(2)/2;//z moved len
GS_Z_End_Pos=*axis_pact(2);//*F_l[23];//get_axis_pos(2);//z moved len
if(GS_Z_End_Pos<0) GS_Z_End_Pos=-GS_Z_End_Pos;
GS_Z_Move_Lenth=GS_Z_End_Pos-GS_Z_Begin_Pos;
if(GS_Z_Move_Lenth<0) GS_Z_Move_Lenth=-GS_Z_Move_Lenth;
//zhuzhou cong jiansu dao dadao zhiding sudu Z zhou yidong de juli
if((*ch_sp_rpm(0)<=(GS_Spdl_Speed_AtBottom+10))&&
(*ch_sp_rpm(0)>=(-GS_Spdl_Speed_AtBottom-10))&&
(GS_ToEndSpeed_Z_Move_Lenth==0))
GS_ToEndSpeed_Z_Move_Lenth=GS_Z_Move_Lenth;
}
//GS_Spdl_End_Pos=*ch_sp_pos(0);//Spindle stop pos
//GS_Spdl_Now_Pos=(GS_Spdl_Now_Pos_N*360)+((GS_Spdl_End_Pos-GS_Spdl_Begin_Pos)/1000);
if(*ch_sp_rpm(0)>0) R[199]=1;
if(*ch_sp_rpm(0)<=0) R[199]=2;
if(spdl_ctrl!=GS_Mark) GS_Spdl_AtBottom=0;
if(((*ch_sp_rpm(0)>=0)&&(GS_Mark==1))||
((*ch_sp_rpm(0)<=0)&&(GS_Mark==2)))
{
R[670]+=1;//test xjc 666
if(GS_Spdl_Move_Lenth<=GS_Spdl_Yuting_Pos)//||(GS_Spdl_Yuting_Pos==0))
{
R[677]++;
if(spdl_ctrl==GS_Mark) GS_Spdl_AtBottom=1;
}//out_dac(470);}
else if(GS_Spdl_AtBottom==1)
{
GS_Spdl_AtBottom=0;
if(GS_Delay_AtBottom<=plc1_time)
{
R[672]++;
GS_Spdl_AtBottom=0;//test xjc 666
if(GS_Mark==1) spdl_ctrl=2;
if(GS_Mark==2) spdl_ctrl=1;
}
else if(spdl_ctrl!=0)
{
R[674]++;
spdl_ctrl=0;
GS_Delay_AtBottomR=GS_Delay_AtBottom;
}
}
}
R[676]++;
if(spdl_ctrl==0)
{
R[675]++;
if(GS_Delay_AtBottomR>16)//plc1_time)
{
if(*ch_sp_rpm(0)<=5)
GS_Delay_AtBottomR-=16;//plc1_time;
// spdl_ctrl=0;
R[671]++;//test xjc
}
else
{
R[673]++;
GS_Delay_AtBottomR=0;
if(GS_Mark==1) spdl_ctrl=2;
if(GS_Mark==2) spdl_ctrl=1;
}
}
if(((*ch_sp_rpm(0)<(-10))&&(GS_Mark==1))||
((*ch_sp_rpm(0)>10)&&(GS_Mark==2)))
{
R[680]++;
if(R[680]>50) mod_M_code(0)=-1;
}
else R[680]=0;
break;
case 105:
GS_Spdl_Old_Dir=spdl_ctrl;
spdl_ctrl=0;
GS_Mark=0;
GS_ToEndSpeed_Spdl_Move_Lenth=0;
GS_ToEndSpeed_Z_Move_Lenth=0;
GS_Spdl_Begin_Pos=0;
GS_Z_Begin_Pos=0;
mod_M_code(0)=-1;
break;
case 100:
GS_Mark=0;
GS_Spdl_AtBottom=0;
GS_ToEndSpeed_Spdl_Move_Lenth=0;
GS_ToEndSpeed_Z_Move_Lenth=0;
spdl_ctrl=GS_Spdl_Old_Dir;
if(GS_Spdl_Old_Dir==0) mod_M_code(0)=5; //test 20031119
else if(GS_Spdl_Old_Dir==1) mod_M_code(0)=3; //test 20031119
else if(GS_Spdl_Old_Dir==2) mod_M_code(0)=4; //test 20031119
*ch_M_code(0)=mod_M_code(0);
//mod_M_code(0)=-1;
break;
*/ case 6:
if((*axis_stat(2)&AX_COORD_SETUP)==0)
{
*sys_ext_alm()|=0x40;
break;
}
else
*sys_ext_alm()&=~0x40;
if(((((X[1])&(R[101]))&0x80)!=0)&&(atc_fin!=0))
{
mod_M_code(0)=-1;
break;
}
if((mod_T_code(0)<=0)||(mod_T_code(0)>16)){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -