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

📄 复件 main_stop1.c.bak

📁 基于485的51单片机多机通讯程序
💻 BAK
📖 第 1 页 / 共 5 页
字号:
			REN=1;
			rot_front=0;
		}

		if(rot_reverse==1)
		{
			ini_sbuf(M_RW,command,com_rot_reverse,0,0,0,0);
			s_byte_nums=4;
			TR_noans();
			REN=1;
			rot_reverse=0;
		}
		if(wire_add==1)
		{
			ini_sbuf(M_RW,command,com_wire_add,0,0,0,0);
			s_byte_nums=4;
			TR_noans();
			REN=1;
			wire_add=0;
		}
		if(wire_dec==1)
		{
			ini_sbuf(M_RW,command,com_wire_dec,0,0,0,0);
			s_byte_nums=4;
			TR_noans();
			REN=1;
			wire_dec=0;
		}
		if(osc_l==1)
		{
			ini_sbuf(M_OSC,command,com_osc_l,0,0,0,0);
			s_byte_nums=4;
			TR_noans();
			REN=1;
			osc_l=0;
		}
		if(osc_r==1)
		{
			ini_sbuf(M_OSC,command,com_osc_r,0,0,0,0);
			s_byte_nums=4;
			TR_noans();
			REN=1;
			osc_r=0;
		}
		if(avc_up==1)
		{
			ini_sbuf(M_AVC,command,com_avc_up,0,0,0,0);
			s_byte_nums=4;
			TR_noans();
			REN=1;
			avc_up=0;
		}
		if(avc_down==1)
		{
			ini_sbuf(M_AVC,command,com_avc_down,0,0,0,0);
			s_byte_nums=4;
			TR_noans();
			REN=1;
			avc_down=0;
		}
		if(motor_stop==1)
		{
			ini_sbuf(M_ALL,command,com_motor_stop,0,0,0,0);
			s_byte_nums=4;
			TR_noans();
			REN=1;
			motor_stop=0;
		}
		if(new_switch11==1)
		{
			if(rc_forbided==0)
			{
				ini_sbuf(M_RC,answer,S_ANSW,0,0,0,0);
				s_byte_nums=4;
				TR_noans();
			}

			if(S_ANSW==OK)
			{
				YOUHU=rbuffer[3];
				ini_sbuf(M_current,infor,com_weld_simu,YOUHU,0,0,0);
				s_byte_nums=6;
				TR_noans();
			}
			new_switch11=0;
			REN=1;
		}
		
		if(new_switch22==1)
		{
			if(rc_forbided==0)
			{
				ini_sbuf(M_RC,answer,S_ANSW,0,0,0,0);
				s_byte_nums=4;
				TR_noans();
			}

			if(S_ANSW==OK)
			{
				WIRE=rbuffer[3];
				ini_sbuf(M_RW,infor,com_wire_on_off,WIRE,0,0,0);
				s_byte_nums=6;
				TR_noans();
			}
			new_switch22=0;
			REN=1;
		}
		
		if(delt_switch==1)
		{
			if(rc_forbided==0)
			{
				ini_sbuf(M_RC,answer,S_ANSW,0,0,0,0);
				s_byte_nums=4;
				TR_noans();
			}
			if(S_ANSW==OK)
			{
				delt_state=rbuffer[3];
				ini_sbuf(M_ALL,infor,com_delt_switch,delt_state,0,0,0);
				s_byte_nums=6;
				TR_noans();
			}
			delt_switch=0;
			REN=1;
		}
		if(urgent_stop==1)
			goto BEGIN;
	}
	REN=0;
	count();
	EX1=1;
	if(pp.pgj==ON)
	{
		ini_sbuf(M_AVC,command,com_pgj,0,0,0,0);
		s_byte_nums=4;
		TR_ans();
		REN=1;
		while(lift_ok==0)
		{
			if(rc_demand==1)		//响应线控器
			{
				if(ans==0&&noans_ok==1)
				{
					sbuffer1[0]=M_RC;
					sbuffer1[1]=command;
					sbuffer1[2]=com_rc_demand;
					sbuffer1[3]=0;
					s_p=1;
					s_byte_nums=4;
					TR_ans();
					s_p=0;
				}
				rc_demand=0;
				EX1=1;
			}
			if(urgent_stop==1)
				goto BEGIN;
		}
		REN=0;
		lift_ok=0;
		ini_sbuf(M_AVC,answer,S_ANSW,0,0,0,0);
		s_byte_nums=4;
		TR_noans();
	}
	delay(10);
	ini_sbuf(M_ALL,command,com_start,0,0,0,0);
	s_byte_nums=4;
	TR_noans();

	work=3;				//进入焊接过程
	c_sum=0;
	IEN1=IEN1|0X10;			//允许CM0

	if(pp.gas2==ON)
	{
		if(pp.t03>pp.t01)
		{
			ini_sbuf(M_current,command,com_open_gas2,0,0,0,0);//Open Gas2
			s_byte_nums=4;
			wait_ans=1;
			TR_ans();
			wait_ans=0;
			c_sum=c_flow+n_t03-n_t01;
			while(c_flow<c_sum)
			{
				if(rc_demand==1)		//响应线控器
				{
					if(ans==0&&noans_ok==1)
					{
						sbuffer1[0]=M_RC;
						sbuffer1[1]=command;
						sbuffer1[2]=com_rc_demand;
						sbuffer1[3]=0;
						s_p=1;
						s_byte_nums=4;
						TR_ans();
						s_p=0;
					}
					rc_demand=0;
					EX1=1;
				}
				if(urgent_stop==1)
					goto BEGIN;
			}
			ini_sbuf(M_current,command,com_open_gas1,0,0,0,0);//Open Gas1
			s_byte_nums=4;
			wait_ans=1;
			TR_ans();
			wait_ans=0;
			c_sum=c_flow+n_t03;
			while(c_flow<c_sum)
			{
				if(rc_demand==1)		//响应线控器
				{
					if(ans==0&&noans_ok==1)
					{
						sbuffer1[0]=M_RC;
						sbuffer1[1]=command;
						sbuffer1[2]=com_rc_demand;
						sbuffer1[3]=0;
						s_p=1;
						s_byte_nums=4;
						TR_ans();
						s_p=0;
					}
					rc_demand=0;
					EX1=1;
				}
				if(urgent_stop==1)
					goto BEGIN;
			}
		}
		else
		{
			ini_sbuf(M_current,command,com_open_gas1,0,0,0,0);//Open Gas1
			s_byte_nums=4;
			wait_ans=1;
			TR_ans();
			wait_ans=0;
			c_sum=c_flow+n_t01-n_t03;
			while(c_flow<c_sum)
			{
				if(rc_demand==1)		//响应线控器
				{
					if(ans==0&&noans_ok==1)
					{
						sbuffer1[0]=M_RC;
						sbuffer1[1]=command;
						sbuffer1[2]=com_rc_demand;
						sbuffer1[3]=0;
						s_p=1;
						s_byte_nums=4;
						TR_ans();
						s_p=0;
					}
					rc_demand=0;
					EX1=1;
				}
				if(urgent_stop==1)
					goto BEGIN;
			}
			ini_sbuf(M_current,command,com_open_gas2,0,0,0,0);//Open Gas2
			s_byte_nums=4;
			wait_ans=1;
			TR_ans();
			wait_ans=0;
			c_sum=c_flow+n_t01;
			while(c_flow<c_sum)
			{
				if(rc_demand==1)		//响应线控器
				{
					if(ans==0&&noans_ok==1)
					{
						sbuffer1[0]=M_RC;
						sbuffer1[1]=command;
						sbuffer1[2]=com_rc_demand;
						sbuffer1[3]=0;
						s_p=1;
						s_byte_nums=4;
						TR_ans();
						s_p=0;
					}
					rc_demand=0;
					EX1=1;
				}
				if(urgent_stop==1)
					goto BEGIN;
			}
		}
	}
	else
	{
		ini_sbuf(M_current,command,com_open_gas1,0,0,0,0);//Open Gas1
		s_byte_nums=4;
		wait_ans=1;
		TR_ans();
		wait_ans=0;
		c_sum=c_flow+n_t01;
		while(c_flow<c_sum)
		{
			if(rc_demand==1)		//响应线控器
			{
				if(ans==0&&noans_ok==1)
				{
					sbuffer1[0]=M_RC;
					sbuffer1[1]=command;
					sbuffer1[2]=com_rc_demand;
					sbuffer1[3]=0;
					s_p=1;
					s_byte_nums=4;
					TR_ans();
					s_p=0;
				}
				rc_demand=0;
				EX1=1;
			}
			if(urgent_stop==1)
				goto BEGIN;
		}
	}

	if(YOUHU)
	{
		ini_sbuf(M_current,command,com_ignit,0,0,0,0);//引弧过程
		s_byte_nums=4;
		wait_ans=1;
		TR_ans();
		wait_ans=0;
		REN=1;
		if(pp.ignit==TOUCH)				//引弧方式touch
		{
			ini_sbuf(M_AVC,command,com_avc_down,0,0,0,0);
			s_byte_nums=4;
			wait_ans=1;
			TR_ans();
			wait_ans=0;				//枪头下移
		}

		c_sum=c_flow+30;
		while(c_flow<c_sum)
		{
			if(rc_demand==1)			//响应线控器
			{
				if(ans==0&&noans_ok==1)
				{
					sbuffer1[0]=M_RC;
					sbuffer1[1]=command;
					sbuffer1[2]=com_rc_demand;
					sbuffer1[3]=0;
					s_p=1;
					s_byte_nums=4;
					TR_ans();
					s_p=0;
				}
				REN=1;
				rc_demand=0;
				EX1=1;
			}
			if(urgent_stop==1)
				goto BEGIN;

			if(ignit_ok==1)		//引弧成功
			{
				REN=0;
				ini_sbuf(M_current,answer,S_ANSW,0,0,0,0);
				s_byte_nums=4;
				TR_noans();
				if(pp.ignit==TOUCH)	//引弧touch
				{
					ini_sbuf(M_AVC,command,com_ignit_ok,0,0,0,0);
					s_byte_nums=4;
					wait_ans=1;
					TR_ans();
					wait_ans=0;
				}
				c_current=c_flow;		//I>0时,时钟个数
				ignit_ok=0;
				goto over_ignit;
			}
		}
		REN=0;
		err=3;
		main_err=1;
		stop=0;
		while(urgent_stop==0);
		if(urgent_stop==1)
			goto BEGIN;
	}
	else
	{

		ini_sbuf(M_current,command,com_ignit_ok,0,0,0,0);
		s_byte_nums=4;
		wait_ans=1;
		TR_ans();
		wait_ans=0;
		c_current=c_flow;
	}

over_ignit:
	c_sum=c_current+n_t12;			//预熔时间
	while(c_flow<c_sum)
	{
		if(rc_demand==1)		//响应线控器
		{
			if(ans==0&&noans_ok==1)
			{
				sbuffer1[0]=M_RC;
				sbuffer1[1]=command;
				sbuffer1[2]=com_rc_demand;
				sbuffer1[3]=0;
				s_p=1;
				s_byte_nums=4;
				TR_ans();
				s_p=0;
			}
			rc_demand=0;
			EX1=1;
		}
		if(urgent_stop==1)
			goto BEGIN;

		if(start_again==0&&(pp.t31_sd==0||pp.t41_sd==0||pp.t51_sd==0))
			start_woa();

		if(rc_demand==1)		//响应线控器
		{
			if(ans==0&&noans_ok==1)
			{
				sbuffer1[0]=M_RC;
				sbuffer1[1]=command;
				sbuffer1[2]=com_rc_demand;
				sbuffer1[3]=0;
				s_p=1;
				s_byte_nums=4;
				TR_ans();
				s_p=0;
			}
			rc_demand=0;
			EX1=1;
		}
		if(urgent_stop==1)
			goto BEGIN;
			
		if(c_flow%3==0&&rc_demand==0&&YOUHU)
		{
			ini_sbuf(M_current,command,com_need_para,0,0,0,0);
			s_byte_nums=4;
			TR_ans();
			if(overtime==1||S_ANSW==FAIL)
			{
				overtime=0;
				S_ANSW=0;
			}
			else
			{
				CURRENT=rbuffer[2]*256+rbuffer[3];
				if(pp.k5==OFF)
					VOLTAGE=rbuffer[4]*256+rbuffer[5];
			}
		}

		if(pp.k5==ON&&c_flow%3==0&&rc_demand==0&&t51OK==1)
		{
			ini_sbuf(M_AVC,command,com_need_para,0,0,0,0);
			s_byte_nums=4;
			TR_ans();
			if(overtime==1||S_ANSW==FAIL)
			{
				overtime=0;
				S_ANSW=0;
			}
			else
				VOLTAGE=rbuffer[2]*256+rbuffer[3];
		}

		if(YOUHU&&c_flow%3==0&&rc_demand==0)
		{
			sbuffer[0]=M_P_RC;
			sbuffer[1]=parameter2;
			sbuffer[2]=CURRENT/256;
			sbuffer[3]=CURRENT%256;
			sbuffer[4]=VOLTAGE/256;
			sbuffer[5]=VOLTAGE%256;
			sbuffer[6]=0;
			s_byte_nums=7;
			TR_noans();
		}

	}

	ini_sbuf(M_current,command,com_pre_melt_ok,0,0,0,0);//预熔结束(开始旋转,电流上升)
	s_byte_nums=4;
	wait_ans=1;
	TR_ans();
	wait_ans=0;

	ini_sbuf(M_RW,command,com_pre_melt_ok,0,0,0,0);//预熔结束(开始旋转,电流上升)
	s_byte_nums=4;
	wait_ans=1;
	TR_ans();
	wait_ans=0;

	c_sum=c_flow+n_t13;				//电流上升时间
	while(c_flow<c_sum)
	{
		if(rc_demand==1)		//响应线控器
		{
			if(ans==0&&noans_ok==1)
			{
				sbuffer1[0]=M_RC;
				sbuffer1[1]=command;
				sbuffer1[2]=com_rc_demand;
				sbuffer1[3]=0;
				s_p=1;
				s_byte_nums=4;
				TR_ans();
				s_p=0;
			}
			rc_demand=0;
			EX1=1;
		}
		if(urgent_stop==1)
			goto BEGIN;
	}

	ini_sbuf(M_current,command,com_i_slope_ok,0,0,0,0);//电流上升结束
	s_byte_nums=4;
	wait_ans=1;
	TR_ans();
	wait_ans=0;

	k=1;
	do
	{
		if(rc_demand==1)		//响应线控器
		{
			if(ans==0&&noans_ok==1)
			{
				sbuffer1[0]=M_RC;
				sbuffer1[1]=command;
				sbuffer1[2]=com_rc_demand;
				sbuffer1[3]=0;
				s_p=1;
				s_byte_nums=4;
				TR_ans();
				s_p=0;
			}
			rc_demand=0;
			EX1=1;
		}
		if(urgent_stop==1)
			goto BEGIN;

		if(c_flow%1==0&&rc_demand==0)
		{
			ini_sbuf(M_RW,command,com_need_para,0,0,0,0);
			s_byte_nums=4;
			TR_ans();
			if(overtime==1||S_ANSW==FAIL)
			{
				overtime=0;
				S_ANSW=0;
			}
			else
			{
				FINISH=rbuffer[2]*256+rbuffer[3];
				if(start_again==1)
					FINISH=last_FINISH+FINISH;
			}
		}

		if(c_flow%3==0&&rc_demand==0)
		{
			sbuffer[0]=M_P_RC;
			sbuffer[1]=parameter1;
			sbuffer[2]=FINISH/256;
			sbuffer[3]=FINISH%256;
			sbuffer[4]=0;
			s_byte_nums=5;
			TR_noans();
		}

		if(rc_demand==1)		//响应线控器
		{
			if(ans==0&&noans_ok==1)
			{
				sbuffer1[0]=M_RC;
				sbuffer1[1]=command;
				sbuffer1[2]=com_rc_demand;
				sbuffer1[3]=0;
				s_p=1;
				s_byte_nums=4;
				TR_ans();
				s_p=0;
			}
			rc_demand=0;
			EX1=1;
		}
		if(urgent_stop==1)
			goto BEGIN;
			
		if(c_flow%3==0)
		{
			if(rc_demand==0&&YOUHU)
			{
				ini_sbuf(M_current,command,com_need_para,0,0,0,0);
				s_byte_nums=4;
				TR_ans();
				if(overtime==1||S_ANSW==FAIL)
				{
					overtime=0;
					S_ANSW=0;
				}
				else
				{
					CURRENT=rbuffer[2]*256+rbuffer[3];
					if(pp.k5==OFF)
						VOLTAGE=rbuffer[4]*256+rbuffer[5];
				}
			}
	
			if(pp.k5==ON&&YOUHU&&rc_demand==0&&t51OK==1)
			{
				ini_sbuf(M_AVC,command,com_need_para,0,0,0,0);
				s_byte_nums=4;
				TR_ans();
				if(overtime==1||S_ANSW==FAIL)
				{
					overtime=0;
					S_ANSW=0;
				}
				else
					VOLTAGE=rbuffer[2]*256+rbuffer[3];
			}
	
			if(YOUHU&&rc_demand==0)
			{
				sbuffer[0]=M_P_RC;
				sbuffer[1]=parameter2;
				sbuffer[2]=CURRENT/256;
				sbuffer[3]=CURRENT%256;
				sbuffer[4]=VOLTAGE/256;
				sbuffer[5]=VOLTAGE%256;
				sbuffer[6]=0;
				s_byte_nums=7;
				TR_noans();
			}
		}

		if(rc_demand==1)		//响应线控器
		{
			if(ans==0&&noans_ok==1)
			{
				sbuffer1[0]=M_RC;
				sbuffer1[1]=command;
				sbuffer1[2]=com_rc_demand;
				sbuffer1

⌨️ 快捷键说明

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