LUA语言之AR Robot在2D_3D码垛中的应用

--2D码垛和3D码垛--

local pos = {}
local GetProduct = p1	--取料点
local Suction    = 1    --吸料端口
MovJ(J3,0)	        --J3轴抬到0的位置
SetU(0);SetT(0);	--使用默认用户0工具0坐标系

--平面码垛--
function PLT_2D()
    local Xhang,Ylie = 9,5 --码垛行、列数
    SetPlt(1,p2,p3,p4,Xhang,Ylie) --设置码垛参数
    while true do
	--码垛方法1--
	for Num = 1,Xhang*Ylie do
		MArchP(GetProduct,0,10,10) --拱形移到取料点
		DO(Suction,ON)             --打开输出口吸料
		print("Number=",Num)
		local XX = (Num - 1)%Xhang + 1   --计算 Y 行 求余
		local YY = (Num - 1)//Xhang + 1  --计算 X 行 求商的整数
		pos = GetPlt(1,XX,YY)
		MArchP(pos,0,10,10)        --拱形移到码垛点(即放料点)
		DO(Suction,OFF)            --关闭输出口放料
	end
	--码垛方法2
	--[[
	for YY = 1,Ylie do
	    for XX = 1,Xhang do
		MArchP(GetProduct,0,10,10) --拱形移到取料点
		DO(Suction,ON)             --打开输出口吸料
		pos = GetPlt(1,XX,YY)
		MArchP(pos,0,10,10)        --拱形移到码垛点(即放料点)
		DO(Suction,OFF)            --关闭输出口放料
	    end
	end
	]]--	
    end
end

--空间码垛--
function PLT_3D()
    local Xhang,Ylie,Zceng = 9,5,2 --码垛行、列、层数
    SetPlt(1,p2,p3,p4,p5,Xhang,Ylie,Zceng)  --设置码垛参数
    while true do
	--码垛方法1--
	for ZZ = 1,Zceng do  --空间的层数
	    for Num = 1,Xhang*Ylie do
		MArchP(GetProduct,0,10,10) --拱形移到取料点
		DO(Suction,ON)             --打开输出口吸料
		print("Number=",Num)
		local XX = (Num - 1)%Xhang + 1   --计算 Y 行 求余
		local YY = (Num - 1)//Xhang + 1  --计算 X 行 求商的整数
		pos = GetPlt(1,XX,YY,ZZ)
		if ZZ == Zceng then --如果ZZ是2,则是码垛第2层,那么角度+180度(-180度也可以,自己定正负号)
		    pos.c = pos.c + 180
		end
		MArchP(pos,0,10,10)        --拱形移到码垛点(即放料点)
		DO(Suction,OFF)            --关闭输出口放料
	    end
	end
	pos.c = pos.c - 180 --把角度还原初始值
	--码垛方法2
	--[[
	for ZZ = 1,Zceng do --层
	    for YY = 1,Ylie do --列
		for XX = 1,Xhang do --行
		    MArchP(GetProduct,0,10,10) --拱形移到取料点
		    DO(Suction,ON)             --打开输出口吸料
		    pos = GetPlt(1,XX,YY,ZZ)
		    if ZZ == Zceng then --如果ZZ是2,则是码垛第2层,那么角度+180度(-180度也可以,自己定正负号)
		        pos.c = pos.c + 180
		    end
		    MArchP(pos,0,10,10)        --拱形移到码垛点(即放料点)
		    DO(Suction,OFF)            --关闭输出口放料
		end
	    end
	end
	pos.c = pos.c - 180 --把角度还原初始值
	]]--	
    end
end

--平面码垛--
--PLT_2D()

--空间码垛--
PLT_3D()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值