⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plc_gshd.cld

📁 华中机床的plc程序
💻 CLD
📖 第 1 页 / 共 5 页
字号:
		i_sv_Alm1=P[51]/10;     			i_sv_Alm2=1<<(P[51]%10);
		if(P[51]==0)									i_sv_Alm2=0;
	}
	else
	{
		i_sv_Alm1=i_sv_Alm2=0;

		i_sv_X_Alm1=(P[51]%100)/10;		i_sv_X_Alm2=1<<(P[51]%10);
		if((P[51]%100)==0)						i_sv_X_Alm2=0;

		i_sv_Y_Alm1=P[51]/1000;    		i_sv_Y_Alm2=1<<((P[51]/100)%10);
		if((P[51]/100)==0)						i_sv_Y_Alm2=0;

		i_sv_Z_Alm1=(P[53]%100)/10;		i_sv_Z_Alm2=1<<(P[53]%10);
		if((P[53]%100)==0)						i_sv_Z_Alm2=0;

		i_sv_A_Alm1=P[53]/1000;    		i_sv_A_Alm2=1<<((P[53]/100)%10);
		if((P[53]/100)==0)						i_sv_A_Alm2=0;
	}

	if(((P[52]/100)==0)&&(P[54]==0))
	{
		i_sv_Rdy1=P[52]/10;        		i_sv_Rdy2=1<<(P[52]%10);
		if(P[52]==0)									i_sv_Rdy2=0;
	}
	else
	{
		i_sv_Rdy1=i_sv_Rdy2=0;

		i_sv_X_Rdy1=(P[52]%100)/10;		i_sv_X_Rdy2=1<<(P[52]%10);
		if((P[52]%100)==0)						i_sv_X_Rdy2=0;

		i_sv_Y_Rdy1=P[52]/1000;    		i_sv_Y_Rdy2=1<<((P[52]/100)%10);
		if((P[52]/100)==0)						i_sv_Y_Rdy2=0;

		i_sv_Z_Rdy1=(P[54]%100)/10;		i_sv_Z_Rdy2=1<<(P[54]%10);
		if((P[54]%100)==0)						i_sv_Z_Rdy2=0;

		i_sv_A_Rdy1=P[54]/1000;    		i_sv_A_Rdy2=1<<((P[54]/100)%10);
		if((P[54]/100)==0)						i_sv_A_Rdy2=0;
	}

	i_Spdl_Alm1			=P[55]/10;			i_Spdl_Alm2			=1<<(P[55]%10);
	i_sm_z_s1				=P[56]/10;    	i_sm_z_s2				=1<<(P[56]%10);
	i_sm_sok1				=P[57]/10;    	i_sm_sok2				=1<<(P[57]%10);
	i_Spdl_Ori_Fin1	=P[58]/10;    	i_Spdl_Ori_Fin2	=1<<(P[58]%10);

	i_Cool_Alm1			=P[60]/10;     	i_Cool_Alm2			=1<<(P[60]%10);
	i_YeYa_Alm1			=P[61]/10;     	i_YeYa_Alm2			=1<<(P[61]%10);
	i_RunHua_Alm1		=P[62]/10;     	i_RunHua_Alm2		=1<<(P[62]%10);
	i_Tank_QF_OK1		=P[63]/10;  		i_Tank_QF_OK2		=1<<(P[63]%10);

	e_cycle_lamp1			= P[75]/1000;  		e_cycle_lamp2			=1<<((P[75]/100)%10);
	e_cycle_switch1		=(P[75]%100)/10;	e_cycle_switch2		=1<<(P[75]%10);

	e_feedhold_lamp1	= P[76]/1000; 		e_feedhold_lamp2	=1<<((P[76]/100)%10);
	e_feedhold_switch1=(P[76]%100)/10;	e_feedhold_switch2=1<<(P[76]%10);

	e_toolctrl_lamp1	= P[77]/1000;  		e_toolctrl_lamp2	=1<<((P[77]/100)%10);
	e_toolctrl_switch1=(P[77]%100)/10;	e_toolctrl_switch2=1<<(P[77]%10);

	e_alm_lamp1=(E_Alm_Lamp%100)/10;		e_alm_lamp2	=1<<(E_Alm_Lamp%10);

	e_SpdlStep_lamp1	= P[78]/1000; 		e_SpdlStep_lamp2	=1<<((P[78]/100)%10);
	e_SpdlStep_switch1=(P[78]%100)/10;	e_SpdlStep_switch2=1<<(P[78]%10);

	X_Home_Direction= P[94]%10;
	Y_Home_Direction=(P[94]%100)/10;
	Z_Home_Direction=(P[94]%1000)/100;
	A_Home_Direction= P[94]/1000;
	if(X_Home_Direction>1)	X_Home_Direction=1;
	if(Y_Home_Direction>1)	Y_Home_Direction=1;
	if(Z_Home_Direction>1)	Z_Home_Direction=1;
	if(A_Home_Direction>1)	A_Home_Direction=1;

	if(P[96]==0)	XY_Switch=0;
	else        	XY_Switch=1;

	Manual_GongSi=0;
	if(P[19]%100)	Manual_GongSi=1;
	GongSi_H_switch1=(P[19]%10000)/1000;GongSi_H_switch2=1<<((P[19]/100)%10);
	if(((P[19]%10000)/100)==0)          GongSi_H_switch2=0;
	GongSi_L_switch1=(P[19]%100)/10;		GongSi_L_switch2=1<<(P[19]%10);
}

void plc1(void)
{
	unsigned p,n;
	int i,j,k,l,ax;

	plc1_time=16;

//-----------test by xjc 2004.04.02---------------
			if((get_axis_den(2)==0))R[31]=1;
      else R[31]=0;
			R_c[13]=(*F_l[23]%125000)/1000;//*axis_pout(axis)
			R_c[14]=(*F_l[23]%1000)/10;
			if(R_c[13]<0){R_c[13]=-R_c[13];R[12]=255;}
			if(R_c[14]<0)R_c[14]=-R_c[14];

			R_c[17]=(*G_l[21]%125000)/1000;//*axis_pic_a(axis)
			R_c[18]=(*G_l[21]%1000)/10;
			if(R_c[17]<0){R_c[17]=-R_c[17];R[16]=255;}
			if(R_c[18]<0)R_c[18]=-R_c[18];

			R_l[20/4]=get_axis_pos(2);
			R_c[25]=(R_l[20/4]%125000)/1000;
			R_c[26]=(R_l[20/4]%1000)/10;
			if(R_c[25]<0){R_c[25]=-R_c[25];R[24]=255;}
			if(R_c[26]<0)R_c[26]=-R_c[26];
//-----------test by xjc 2004.04.02---------------
	for(ax=0,p=1,n=2;ax<4;ax++,p<<=2,n<<=2)
	{
		if(X[0+P[97]]&p)  *axis_ctrl(ax)|= AX_LSP;
		else  			    	*axis_ctrl(ax)&=~AX_LSP;
		if(X[0+P[97]]&n)  *axis_ctrl(ax)|= AX_LSN;
		else      				*axis_ctrl(ax)&=~AX_LSN;
	}

	if((((X[i_sv_Alm1]&i_sv_Alm2)==0)&&i_sv_Alm2)
	 ||(((X[i_sv_X_Alm1]&i_sv_X_Alm2)==0)&&i_sv_X_Alm2)
	 ||(((X[i_sv_Y_Alm1]&i_sv_Y_Alm2)==0)&&i_sv_Y_Alm2)
	 ||(((X[i_sv_Z_Alm1]&i_sv_Z_Alm2)==0)&&i_sv_Z_Alm2)
	 ||(((X[i_sv_A_Alm1]&i_sv_A_Alm2)==0)&&i_sv_A_Alm2)
		)		sv_Alm=1;
	else	sv_Alm=0;

	if((((X[i_sv_Rdy1]&i_sv_Rdy2)==0)&&i_sv_Rdy2)
	 ||(((X[i_sv_X_Rdy1]&i_sv_X_Rdy2)==0)&&i_sv_X_Rdy2)
	 ||(((X[i_sv_Y_Rdy1]&i_sv_Y_Rdy2)==0)&&i_sv_Y_Rdy2)
	 ||(((X[i_sv_Z_Rdy1]&i_sv_Z_Rdy2)==0)&&i_sv_Z_Rdy2)
	 ||(((X[i_sv_A_Rdy1]&i_sv_A_Rdy2)==0)&&i_sv_A_Rdy2)
		)   sv_Rdy=0;
	else  sv_Rdy=1;

	if((X[i_estop1]&i_estop2)==0)	reset_lamp_dwell=0;

	if(reset_dwell>0)
	{
		asm cli
			*ch_ctrl(0)&=~CH_MODE_MSK;
		asm sti
		if(reset_dwell>40)  reset_dwell-=16;
		if((X[i_estop1]&i_estop2)||(P[99]==1))	reset_dwell-=16;
		else                                  	*ch_ctrl(0)|=CH_ESTOP;
		return;
	}
	else reset_dwell=0;

	if(P[99]==0)			//work only with hnc-21
	{
		//RESET
		if((X[i_estop1]&(~R[i_estop1+100])&i_estop2)||(reset_lamp_dwell>3)){
			*ch_ctrl(0)&=~CH_ESTOP;
			*ch_ctrl(0)|= CH_RESET;

                        {if((X[2]&0x4)!=0x4)    //2004.2.24
                        {
			Y[1]|=0x10;
			R[500]=1;
                        }
                        }                   //*/


			if(reset_lamp_dwell==0){			reset_lamp_dwell=4;			reset();			}
			if(*ch_stat(0)&CH_RESET_LAMP)	reset_lamp_dwell--;
		}
		else	*ch_ctrl(0)&=~CH_RESET;



		//ESTOP
		if((*ch_stat(0)&CH_RESET_LAMP)==0)
		{
			if(((X[i_estop1]&i_estop2)==0)||((sv_Rdy==0)&&(sv_en!=0)))
			{	*ch_ctrl(0)|=CH_ESTOP;sv_en=run_enable=0;}
			else if(((*ch_stat(0)&CH_ALARM_LAMP)==0))			 run_enable=1;
			else                                     			 run_enable=0;
		}
		else  run_enable=0;

		// SERVO ENABLE
		if(((*ch_ctrl(0)&CH_ESTOP)==0)&&((*ch_stat(0)&CH_RESET_LAMP)==0))
		{
			for(i=0;i<4;i++)
			{
				if((*axis_stat(i)&AX_EXIST)&&((*axis_stat(i)&AX_SV_ENBL)==0))
					goto sv_disable;
			}
			if((X[i_estop1]&i_estop2)&&(sv_n==1))
			{
				if(sv_dwll>0)	sv_dwll-= plc1_time;
				else					sv_dwll = 0;

				if((sv_en==0)&&(sv_dwll==0))
				{
					switch(sv_stag)
					{
						case 0:					 Y[0]|=0x02; sv_dwll=(1000+P_i[65]); sv_stag=1; break;
						case 1: Y[0]&=~2;
										if(sv_Alm)																		break;
														 Y[0]|=0x09; sv_dwll=(1000+P_i[66]); sv_stag=2; break;
						case 2:					 Y[0]|=0x04; sv_dwll=(2000+P_i[67]); sv_stag=3; break;
						case 3:	if(sv_Rdy==0)																	break;
														 Y[0]|=0x10; sv_dwll=(1000+P_i[68]); sv_stag=4;	break;
						case 4:	Y[0]&=~8;						 sv_n=0;			 sv_stag=0; sv_en=1;
					}
				}
				else if(sv_dwll==0){ Y[0]&=~2;Y[0]|=0x15; sv_dwll=0;		 }
			}
		}
		else {
			sv_disable:
			Y[0]&=~0x15;
		}

		auto_enable=X[0+P[97]]? 0:run_enable;
		if((*sys_ext_alm()&0xf003)||((spdl_dangwei==-1)&&(P[25]<5)))
			auto_enable=0;
	}
	else
	{
		*ch_ctrl(0)&=~CH_ESTOP;
		sv_en=1;
	}
	// cycle start sw

	if(mod_m00_m01(0)&(CH_M00|CH_M01)) {
		*ch_ctrl(0)|=CH_FEEDHOLD_SW;
		*ch_ctrl(0)&=~CH_CYCLE_SW;
		mod_m00_m01(0)&=~(CH_M00|CH_M01);
	}
	else
	{
		if((X[35]&0X40)
		 ||((P[76]%100)&&(X[e_feedhold_switch1]&e_feedhold_switch2))
		 ||(((*F_ui[0])|(*F_ui[10])|(*F_ui[20])|(*F_ui[30]))&3)
			)
		{
			*ch_ctrl(0)&=~CH_CYCLE_SW;
			*ch_ctrl(0)|=CH_FEEDHOLD_SW;
		}
		else
		{

			if((X[31]&0X40)||
				 ((P[75]%100)&&(X[e_cycle_switch1]&e_cycle_switch2)))
				*ch_ctrl(0)|= CH_CYCLE_SW;
			else
			 {	*ch_ctrl(0)&=~CH_CYCLE_SW;	*ch_ctrl(0)&=~CH_FEEDHOLD_SW;}
		}
	}

	// home switch
	for(ax=0,p=1;ax<4;ax++,p<<=1)
	{
		*axis_ctrl(ax)&=~AX_HOME_SW;
		if(((X[1+P[97]]&p)&&(P[99]==0))||((X[40]&p)&&(P[99]==1)))
			*axis_ctrl(ax)|= AX_HOME_SW;
	}
	if(P[99]==0)
	{
		if((sv_en)||((sv_stag>2)&&(sv_dwll==0)))
		{
//			if(((X[i_Spdl_Alm1]&i_Spdl_Alm2)==0)&&(P[55]))		*sys_ext_alm()|= 1;
//			else                                           	 	*sys_ext_alm()&=~1;
			if(((X[i_Spdl_Alm1]&i_Spdl_Alm2)==0)||(P[55]==0))		*sys_ext_alm()&=~1;       //pend
			else                                           	 	*sys_ext_alm()|= 1;         //pend
			if((spdl_dangwei==-1)&&(P[25]<5))									*sys_ext_alm()|= 4;
			else                                              *sys_ext_alm()&=~4;

                        if(((X[i_sv_Rdy1]&i_sv_Rdy2)==0)&&i_sv_Rdy2)                      *sys_ext_alm()|=0x2;
                        else  *sys_ext_alm()&=~0x2;
			if(((X[i_sv_X_Rdy1]&i_sv_X_Rdy2)==0)&&i_sv_X_Rdy2)*sys_ext_alm()|=0x1000;
			if(((X[i_sv_Y_Rdy1]&i_sv_Y_Rdy2)==0)&&i_sv_Y_Rdy2)*sys_ext_alm()|=0x2000;
			if(((X[i_sv_Z_Rdy1]&i_sv_Z_Rdy2)==0)&&i_sv_Z_Rdy2)*sys_ext_alm()|=0x4000;
			if(((X[i_sv_A_Rdy1]&i_sv_A_Rdy2)==0)&&i_sv_A_Rdy2)*sys_ext_alm()|=0x8000;
		}
		if((sv_stag)&&(sv_dwll==0))
		{
                        if(((X[i_sv_Alm1]&i_sv_Alm2)==0)&&i_sv_Alm2)                       *sys_ext_alm()|=0x2;
                        else  *sys_ext_alm()&=~0x2;
			if(((X[i_sv_X_Alm1]&i_sv_X_Alm2)==0)&&i_sv_X_Alm2) *sys_ext_alm()|=0x1000;
			if(((X[i_sv_Y_Alm1]&i_sv_Y_Alm2)==0)&&i_sv_Y_Alm2) *sys_ext_alm()|=0x2000;
			if(((X[i_sv_Z_Alm1]&i_sv_Z_Alm2)==0)&&i_sv_Z_Alm2) *sys_ext_alm()|=0x4000;
			if(((X[i_sv_A_Alm1]&i_sv_A_Alm2)==0)&&i_sv_A_Alm2) *sys_ext_alm()|=0x8000;
		}

		if(sv_en)
		{
			if((X[i_Tank_QF_OK1]&i_Tank_QF_OK2)||(P[63]==0))*sys_ext_alm()&=~0x100;
			else                														*sys_ext_alm()|= 0x100;
			if((X[i_Cool_Alm1]&i_Cool_Alm2)||(P[60]==0))		*sys_ext_alm()&=~0x200;
			else                														*sys_ext_alm()|= 0x200;
			if((X[i_YeYa_Alm1]&i_YeYa_Alm2)||(P[61]==0))		*sys_ext_alm()&=~0x400;
			else                                 						*sys_ext_alm()|= 0x400;
//                        if((X[i_RunHua_Alm1]&i_RunHua_Alm2)||(P[62]==0))*sys_ext_alm()&=~0X800;
//                        else                                                                                                                    *sys_ext_alm()|= 0X800;
                        if(((X[i_RunHua_Alm1]&i_RunHua_Alm2)==0)||(P[62]==0))        *sys_ext_alm()&=~0X800;   //pend
                        else                                                         *sys_ext_alm()|= 0X800;                         //pend                                 *sys_ext_alm()|= 0X800;
		}
	}

	if(((sv_en==1)||(P[99]==1))&&(P[90]==0))
	{
		if((*axis_stat(0)&AX_COORD_SETUP)==0) *sys_ext_alm()|= 0x10;
		else                                  *sys_ext_alm()&=~0x10;
		if((*axis_stat(1)&AX_COORD_SETUP)==0) *sys_ext_alm()|= 0x20;
		else                                  *sys_ext_alm()&=~0x20;
		if((*axis_stat(2)&AX_COORD_SETUP)==0) *sys_ext_alm()|= 0x40;
		else                                  *sys_ext_alm()&=~0x40;
	}
	else 																		*sys_ext_alm()&=~0x70;

	if(E_Alm_Lamp)
	{
		if(
				(((*sys_ext_alm())&0xf0d)&&((E_Alm_Lamp/100)==0))||
				(((*sys_ext_alm())&0xff0f)&&((E_Alm_Lamp/100)==1))||
				((*sys_ext_alm())&&((E_Alm_Lamp/100)==2))
			)
			Y[e_alm_lamp1]|= e_alm_lamp2;
		else
			Y[e_alm_lamp1]&=~e_alm_lamp2;
	}

	if(spdl_ctrl&3)
	{
		if((X[i_sm_sok1]&i_sm_sok2)||(P[57]==0))spdl_stat=spdl_ctrl;
		else                      							spdl_stat=spdl_ctrl|0x80;
	}
	else
	{
//		if((X[i_sm_z_s1]&i_sm_z_s2)||(P[56]==0))spdl_stat=spdl_ctrl;
//		else                      							spdl_stat=spdl_ctrl|0x80;
		if(((X[i_sm_z_s1]&i_sm_z_s2)==0)||(P[56]==0))spdl_stat=spdl_ctrl;      //pend
		else                      							spdl_stat=spdl_ctrl|0x80;      //pend
	}

	if(P[99]!=0) auto_enable=run_enable=1;

//------------------spindle control---------------
	if(((spdl_dangwei==-1)&&(spdlcd_eng==0))||(*sys_ext_alm()&1)||(Y[0]&0x40)||(Y[1]&4)
			//||(get_axis_pos(2)>5))//031210
				)//||(*F_l[23]>5))
	{
		out_dac(0);
		spdl_ctrl=0;
		Y[1]&=~3;
		*ch_spdl_speed(0)=0;
	}
	else	if(spdl_ctrl&3)
	{
		//Get the spindle speed
		i=(long) spdl_cmd*spdl_override/100;
		if(i>P_i[1+spdl_dangwei*4])  i=P_i[1+spdl_dangwei*4];
		if(i<P_i[0+spdl_dangwei*4])  i=P_i[0+spdl_dangwei*4];

		if(spdlcd_eng==0) *ch_spdl_speed(0)=i;
		else              *ch_spdl_speed(0)=P_i[21];

		//Get the spindle motor speed
		if((P_i[2+spdl_dangwei*4]>0)&&(P_i[3+spdl_dangwei*4]>0))
			i=(long) i*P_i[3+spdl_dangwei*4]/P_i[2+spdl_dangwei*4];
		if(P_i[16]>0)	{	if(i>P_i[16]) 	i=P_i[16];}
		else         	{	if(i>1500)    	i=1500;}

		if(spdlcd_eng){	if(P_i[21]<150)	i=P_i[21];
										else 						i=150;		}

		//give spindle the right gong si speed
		//default is 100--1000rpm
		//if its seted the Max is 2000rpm
		if((*ch_M_code(0)==103)||(*ch_M_code(0)==104)||(*ch_M_code(0)==100))
		{
			if(GS_Spdl_Speed_Max>0)
			{
				if(i>GS_Spdl_Speed_Max)	i=GS_Spdl_Speed_Max;
				else if(i>2000)					i=2000;
			}
			else if(i>1000)						i=1000;

			if(GS_Spdl_Speed_Min>0)
			{
				if(i<GS_Spdl_Speed_Min)						i=GS_Spdl_Speed_Min;
				else if(i<P_i[0+spdl_dangwei*4])  i=P_i[0+spdl_dangwei*4];
			}
			else if(100<P_i[0+spdl_dangwei*4])
			{
				if(i<P_i[0+spdl_dangwei*4])				i=P_i[0+spdl_dangwei*4];
			}
			else if(i<100)											i=100;
		}
		GS_Spdl_Com_Speed=i;
		//give spindle the right gong si speed

		//display the spindle command speed 20031119
		if(spdlcd_eng==0) *ch_spdl_speed(0)=i;
		else              *ch_spdl_speed(0)=P_i[21];

		//give spindle gong si yu ting liang
		if(GS_Spdl_Yuting_k2<=0)	GS_Spdl_Yuting_Pos_u=0;
		else
		{
			if(GS_Spdl_Yuting_k1>0)	GS_Spdl_Yuting_Pos
				=(long) GS_Spdl_Com_Speed*(long) GS_Spdl_Com_Speed*((long) GS_Spdl_Yuting_k1);
			else if(GS_Spdl_Yuting_ktemp>0)
			{
				R_l[688/4]=(long) GS_Spdl_Com_Speed*GS_Spdl_Com_Speed;
				R_l[684/4]=R_l[688/4]*((long) GS_Spdl_Yuting_ktemp);
				GS_Spdl_Yuting_Pos
					=(long) GS_Spdl_Com_Speed*(long) GS_Spdl_Com_Speed*((long) GS_Spdl_Yuting_ktemp);
			}
			else
				GS_Spdl_Yuting_Pos=0;
			//if((P_i[2+spdl_dangwei*4]>0)&&(P_i[3+spdl_dangwei*4]>0))
			//	GS_Spdl_Yuting_Pos=(long) (GS_Spdl_Yuting_Pos*P_i[3+spdl_dangwei*4])/((long) (GS_Spdl_Yuting_k2*P_i[2+spdl_dangwei*4]));
			//else
			GS_Spdl_Yuting_Pos=(long) (GS_Spdl_Yuting_Pos/((long) GS_Spdl_Yuting_k2));
		}
		*ch_tapping_dec(0)=GS_Spdl_Yuting_Pos_u;
		//give spindle gong si yu ting liang

		//give spindel the right speed when its at the bottom
		//the permited is 0--200
/* 20040703
		if(GS_Spdl_AtBottom==1)
		{
			if(GS_Spdl_Speed_AtBottom<=0)	i=0;
			else if(GS_Spdl_Speed_AtBottom<=100)
				i=GS_Spdl_Speed_AtBottom;//666
			else i=100;
		}
*/
//-----------test to meet the right speed-----------
		j=Spdl_Moter_Count_Max_Speed/10;
		k=i%j;
		l=i/j;
		if((P[2]>0)&&(P[3]>0)){	j=j*P[2]/P[3];	k=k*P[2]/P[3];	}
		if(l>9){l=9;k=j;}

		if(l>0)i=(long)(3276*l)+(long)(3276)*(long)(k+P_i[l+39])/(long)(j+P_i[l+39]-P_i[l+40]);
		else   if(j>P_i[40])	i=(long)(3276)*(long)k/(long)(j-P_i[40]);
		else   i=3276;
		if((l==9)&&(k>=(j-P_i[l+40])))					i=0x7fff;
//-----------test to meet the right speed-----------
		//-------old mode-------
		//i=(long) i*0x7fff/Spdl_Moter_Count_Max_Speed;
		//-------old mode-------
		if((Spdl_Dir_Change_Mode==1)&&(spdl_ctrl==2))	i=-i;
		out_dac(i);
	}
	else *ch_spdl_speed(0)=0;

	if((Y[34]&0x10)||(*ch_ctrl(0)&CH_ESTOP)||(run_enable==0))
	{
		handwheel(0,-1,0);
		spdl_ctrl=0;
	}

	Y[34]&=~0xE0;
	switch(spdl_ctrl)
	{
		case 1:
			//if(get_axis_pos(2)<=5){//031210
			if(*F_l[23]<=5){
			Y[34]|=0x20;
			if(Spdl_Dir_Change_Mode==0) 	Y[1]&=~2;
			Y[1]|=1;
			}
			break;
		case 2:
			//if(get_axis_pos(2)<=5){//031210
			if(*F_l[23]<=5){
			Y[34]|=0x80;
			if(Spdl_Dir_Change_Mode==0)	{	Y[1]&=~1;	 Y[1]|=2;	}
			if(Spdl_Dir_Change_Mode==1)		Y[1]|=1;
			}
			break;
		case 0:
			Y[34]|=0x40;
			Y[1]&=~1;
			if(Spdl_Dir_Change_Mode==0)		Y[1]&=~2;
	}
	switch(spdl_ctrl) {
		case 1:
		case 4:
					if((X[2]&R[102]&1)==1)
					{	Y[1]&=~2;       Y[1]|=1;   break;}
					else break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -