工业机器人系统集成程序(1)

2023-11-28 07:16:39 工业机器人 编辑:燕明扬

	PROC YD(num jl)
		MoveAbsJ AQZT\NoEOffs, v200, fine, tool0;
		SetGO SFYDJL, jl;
		WaitTime 2;
		WaitDI SFDW, 1;
		MoveAbsJ AQZT\NoEOffs, v200, fine, tool0;
	ENDPROC

//PROC YD(num jl) 定义一个名为YD的程序,设置jl参数,代表移动距离  
        //MoveAbsJ AQZT\NoEOffs, v200, fine, tool0; 将工具移动到AQZT\NoEOffs的位置,速度为200,精细模式,工具编号为tool0  
        //SetGO SFYDJL, jl; 设置SFYDJL信号的状态为jl的值  
        //WaitTime 2; 等待2秒  
        //WaitDI SFDW, 1; 等待SFDW输入信号的值为1  
        //MoveAbsJ AQZT\NoEOffs, v200, fine, tool0; 将工具移动到AQZT\NoEOffs的位置,速度为200,精细模式,工具编号为tool0  
//ENDPROC 结束程序定义

	PROC TOOL(num wz,num qf)
		IF wz = 2 OR wz = 3 THEN
			YD 200;
			MoveL TOOLWZ{5}, v1000, z50, tool0;
			IF qf = 1 THEN
				Set kh;
				WaitTime 0.5;
			ELSE
				Reset kh;
				WaitTime 0.5;
			ENDIF
			MoveL Offs(TOOLWZ{wz},120,0,30), v200, fine, tool0;
			MoveL Offs(TOOLWZ{wz},0,0,30), v200, fine, tool0;
			MoveL TOOLWZ{wz}, v50, fine, tool0;
			IF qf = 1 THEN
				Reset kh;
				WaitTime 0.5;
			ELSE
				Set kh;
				WaitTime 0.5;
			ENDIF
			MoveL Offs(TOOLWZ{wz},0,0,30), v200, fine, tool0;
			MoveL Offs(TOOLWZ{wz},120,0,30), v200, fine, tool0;
			MoveL TOOLWZ{5}, v1000, z50, tool0;
		ENDIF
		IF wz =1 THEN
			YD 0;
			MoveL TOOLWZ{5}, v1000, z50, tool0;
			IF qf = 1 THEN
				Set kh;
				WaitTime 0.5;
			ELSE
				Reset kh;
				WaitTime 0.5;
			ENDIF
			MoveL Offs(TOOLWZ{wz},120,-80,30), v200, fine, tool0;
			MoveL Offs(TOOLWZ{wz},0,-80,30), v200, fine, tool0;
			MoveL Offs(TOOLWZ{wz},0,0,30), v200, fine, tool0;
			MoveL TOOLWZ{wz}, v50, fine, tool0;
			IF qf = 1 THEN
				Reset kh;
				WaitTime 0.5;
			ELSE
				Set kh;
				WaitTime 0.5;
			ENDIF
			MoveL Offs(TOOLWZ{wz},0,0,30), v50, fine, tool0;
			MoveL Offs(TOOLWZ{wz},0,-80,30), v200, fine, tool0;
			MoveL Offs(TOOLWZ{wz},120,-80,30), v200, fine, tool0;
			MoveL TOOLWZ{5}, v1000, z50, tool0;
		ENDIF
		IF wz =4 THEN
			YD 400;
			MoveL TOOLWZ{5}, v1000, z50, tool0;
			IF qf = 1 THEN
				Set kh;
				WaitTime 0.5;
			ELSE
				Reset kh;
				WaitTime 0.5;
			ENDIF
			MoveL Offs(TOOLWZ{wz},120,80,30), v200, fine, tool0;
			MoveL Offs(TOOLWZ{wz},0,80,30), v200, fine, tool0;
			MoveL Offs(TOOLWZ{wz},0,0,30), v200, fine, tool0;
			MoveL TOOLWZ{wz}, v50, fine, tool0;
			IF qf = 1 THEN
				Reset kh;
				WaitTime 0.5;
			ELSE
				Set kh;
				WaitTime 0.5;
			ENDIF
			MoveL Offs(TOOLWZ{wz},0,0,30), v50, fine, tool0;
			MoveL Offs(TOOLWZ{wz},0,80,30), v200, fine, tool0;
			MoveL Offs(TOOLWZ{wz},120,80,30), v200, fine, tool0;
			MoveL TOOLWZ{5}, v1000, z50, tool0;
		ENDIF
	ENDPROC



PROC TOOL(num wz,num qf)  // 定义一个名为TOOL的过程,接受两个数字参数:wz和qf  
  
    IF wz = 2 OR wz = 3 THEN  // 如果wz等于2或者3  
        YD 200;  // 调用YD程序,可能是移动机器人到某个位置或执行某种操作,具体取决于程序库中的定义  
        MoveL TOOLWZ{5}, v1000, z50, tool0;  // 以1000的速度,将工具移动到TOOLWZ{5}的位置,z50是工具的高度,tool0是工具的编号  
  
        IF qf = 1 THEN  // 如果qf等于1  
            Set kh;  // 设置变量kh,可能表示某种状态或信号  
            WaitTime 0.5;  // 等待0.5秒  
        ELSE  // 如果qf不等于1  
            Reset kh;  // 重置变量kh,可能表示某种状态或信号复位  
            WaitTime 0.5;  // 等待0.5秒  
        ENDIF  // 结束IF条件语句  
  
        MoveL Offs(TOOLWZ{wz},120,0,30), v200, fine, tool0;  // 以200的速度,将工具移动到 Offs(TOOLWZ{wz},120,0,30) 的位置,fine表示精细模式,tool0是工具的编号  
        MoveL Offs(TOOLWZ{wz},0,0,30), v200, fine, tool0;  // 以200的速度,将工具移动到 Offs(TOOLWZ{wz},0,0,30) 的位置,fine表示精细模式,tool0是工具的编号  
        MoveL TOOLWZ{wz}, v50, fine, tool0;  // 以50的速度,将工具移动到TOOLWZ{wz}的位置,fine表示精细模式,tool0是工具的编号  
  
        IF qf = 1 THEN  // 如果qf等于1  
            Reset kh;  // 重置变量kh,可能表示某种状态或信号复位  
            WaitTime 0.5;  // 等待0.5秒  
        ELSE  // 如果qf不等于1  
            Set kh;  // 设置变量kh,可能表示某种状态或信号  
            WaitTime 0.5;  // 等待0.5秒  
        ENDIF  // 结束IF条件语句  
  
        MoveL Offs(TOOLWZ{wz},0,0,30), v200, fine, tool0;  // 以200的速度,将工具移动到 Offs(TOOLWZ{wz},0,0,30) 的位置,fine表示精细模式,tool0是工具的编号  
        MoveL Offs(TOOLWZ{wz},120,0,30), v200, fine, tool0;  // 以200的速度,将工具移动到 Offs(TOOLWZ{wz},120,0,30) 的位置,fine表示精细模式,tool0是工具的编号  
        MoveL TOOLWZ{5}, v1000, z50, tool0;  // 以100的速度,将工具移动到TOOLWZ{5}的位置,z5是工具的高度,tool是工具的编号  
    ENDIF  // 结束IF条件语句  
  






	PROC CC(num wz1,num qf1)
		YD 720;
		MoveL CCWZ{7}, v1000, z50, tool0;
		SetGO shuchu, wz1;
		WaitGI jieshou, wz1;
		IF qf1=1 THEN
			Set jia;
			WaitTime 0.5;
		ELSE
			Reset jia;
			WaitTime 0.5;
		ENDIF
		MoveL Offs(CCWZ{wz1},0,0,35), v100, fine, tool0;
		MoveL CCWZ{wz1}, v100, fine, tool0;
		IF qf1=1 THEN
			Reset jia;
			WaitTime 0.5;
		ELSE
			Set jia;
			WaitTime 0.5;
		ENDIF
		MoveL Offs(CCWZ{wz1},0,0,35), v100, fine, tool0;
		MoveL CCWZ{7}, v1000, z50, tool0;
		SetGO shuchu, 0;
	ENDPROC

©AHIEC人工智能工作室 2021

地址:安徽省合肥市包河区梁园路安徽工业经济职业技术学院现代科教中心110室东侧

创作者信息:

皖ICP备20011723号