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

📄 main_stop.c.bak

📁 基于485的51单片机多机通讯程序
💻 BAK
📖 第 1 页 / 共 5 页
字号:
			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();
//				TR_ans();
//				answer_judge();
			}
			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();
//				TR_ans();
//				answer_judge();
			}
			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();
//				TR_ans();
//				answer_judge();
			}
			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;
//			answer_judge();
			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;
//			answer_judge();
			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;
//			answer_judge();
			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;
//			answer_judge();
			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;
//		answer_judge();
		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;
//		answer_judge();
		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;				//枪头下移
//			answer_judge();
		}

		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;
//					answer_judge();
				}
				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;
//		answer_judge();
		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)
				overtime=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)
				overtime=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;
//	answer_judge();

//	if(P4_2==1)				//自动焊
//	{
		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;
//                TR_noans();
//		answer_judge();
//	}

	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;
/*
		if((pp.k3==1&&WIRE==ON&&t31OK==0)||(pp.k4==1&&t41OK==0)||(pp.k5==1&&t51OK==0))
			start_woa();
*/
	}

	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;
//	answer_judge();

	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)
				overtime=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)
					overtime=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)
					overtime=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[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((pp.k3==1&&WIRE==ON&&t31OK==0)||(pp.k4==1&&t41OK==0)||(pp.k5==1&&t51OK==0))
			start_woa();
			
/*
		if(t31OK==1&&WIRE==OFF&&rc_demand==0)			//手动关送丝
		{
			ini_sbuf(M_RW,command,com_stopW,0,0,0,0);
			s_byte_nums=4;
			wait_ans=1;
			TR_ans();
			wait_ans=0;
//			answer_judge();
			t31OK=0;
		}
*/		
		if(pp.sec_num>0&&pp.sec_num<11)			//0<区间数<11
		{
			if(nonce_sec<pp.sec_num)
			{
				c_sum=c_current+n_t12+n_n11;
				if(pp.n11_sd==0&&c_flow<=c_sum||pp.n11_sd==1&&FINISH<=pp.n11)
				{
					c_sum=c_current+pp.x[nonce_sec][0];
					if((pp.n11_sd==0&&c_flow>=c_sum||pp.n11_sd==1&&FINISH>=pp.x[nonce_sec][0])&&rc_demand==0)		//区间度数
					{
						in_sector=1;
						ini_sbuf(M_ALL,infor,com_sector,nonce_sec,0,0,0);//进入区间及当前区间号
						s_byte_nums=get_byte_nums(infor);
						TR_noans();
						nonce_sec++;			//当

⌨️ 快捷键说明

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