公司网站管理图片,淮南学校网站建设电话,网站建设免费网站,成都网站设计精选柚v米科技如下图所示#xff0c;对一个电池三边包边#xff0c;因客户现场有很多规格电池的大小#xff0c;所以就需要建立动态的工具坐标来实现适配所有种类的电池 程序如下#xff1a;Ddome程序 function Speed(num) --速度设置 MaxSpdL(2000) --movl最大速度…如下图所示对一个电池三边包边因客户现场有很多规格电池的大小所以就需要建立动态的工具坐标来实现适配所有种类的电池 程序如下Ddome程序 function Speed(num) --速度设置 MaxSpdL(2000) --movl最大速度 MaxAccL(20000) --movl最大加速度 SetMovL_MODE(1) --movl运动的速度参数模式 AccL(num) --movl加速度 DecL(num) --movl减速度 SpdL(num) --movl速度 MaxSpdJ(9000) --movp最大速度 MaxAccJ(300) --movp最大加速度 AccJ(num) --movp加速度 DecJ(num) --movp减速度 SpdJ(num) --movp速度
end
function TLSet(TF_Idx, W, H, E, dC) --设置工具坐标系的值 local tValid _LUA_NONE_ERR local TmpValid {} local tmpIdx 1 local TmpData {} local dA, dB 0, 0 local function_code_write_teach_buffer_1 0x00010013 --W local function_code_write_teach_buffer_2 0x01010013 --H local function_code_write_teach_buffer_3 0x02010013 --E local function_code_write_teach_buffer_4 0x03010013 --A local function_code_write_teach_buffer_5 0x04010013 --B local function_code_write_teach_buffer_6 0x05010013 --C local function_code_write_tf_whe 0x00011132 (TF_Idx*0x01000000) --工具坐标系中whe的地址功能码 local function_code_write_tf_abc 0x00010632 (TF_Idx*0x01000000) --工具坐标系中abc的地址功能码 local function_code_write_tf_whe_Cal 0x00000231 (TF_Idx*0x01000000) --计算w, h, e教导点功能码 local function_code_write_tf_abc_Cal 0x00000631 (TF_Idx*0x01000000) --计算a, b, c教导点功能码 --输入数据类型判断 if type(W) ~ number or type(H) ~ number or type(E) ~ number or type(dA) ~ number or type(dB) ~ number or type(dC) ~ number or type(TF_Idx) ~ number then motion.ProgramStop(string.format(Function TLSet(): input type is error!)) end --判断工具坐标系编号 if TF_Idx 1 or TF_Idx 9 then motion.ProgramStop(string.format(Function TLSet(): Value of TF_Idx is out of range!)) end --写入a, b, c索引值写入参数值 TmpValid[tmpIdx] para.Write(0,2,07,function_code_write_teach_buffer_4) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,08, dA) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,07,function_code_write_teach_buffer_5) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,08, dB) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,07,function_code_write_teach_buffer_6) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,08, dC) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,06, function_code_write_tf_abc) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,06, function_code_write_tf_abc_Cal) DELAY(0.004) --写入w, h, e索引值写入参数值 TmpValid[tmpIdx] para.Write(0,2,07,function_code_write_teach_buffer_1) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,08, W) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,07,function_code_write_teach_buffer_2) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,08, H) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,07,function_code_write_teach_buffer_3) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,08, E) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,06, function_code_write_tf_whe) tmpIdx tmpIdx 1 DELAY(0.004) TmpValid[tmpIdx] para.Write(0,2,06, function_code_write_tf_whe_Cal) tmpIdx tmpIdx 1 DELAY(0.004) return 0 end function Tool_Generate(Length,Width,Num) --动态工具坐标生成Length物料长度Width物料宽度,Num工具坐标编号 tcmd, data motion.GetFeedbackPosition(1) -----------------------使用方法如下---------------------------- -------------------------------------------------------------- local Length1 data.x Length/2 --计算电池对角点的X坐标 local Width1 data.Y Width/2 --计算电池对角点的Y坐标 Relative_X Length1 - data.x --工具中心X - 丝杆中心X (X方向偏移量)单位μm Relative_Y Width1- data.y --工具中心Y - 丝杆中心Y (Y方向偏移量)单位μm Relative_W math.sqrt(Relative_X^2 Relative_Y^2) --工具坐标长度三角函数√(X^2 Y^2) Relative_E math.deg(math.atan2(Relative_Y, Relative_X))*1000 --工具坐标角度反正切函数atan2(Y/X)。不能用Atan因为需要注意角度象限。注意单位。 TLSet(Num, Relative_W, 0, Relative_E - data.c, 0) --将工具长度与工具角度填入TLSet生成Num工具坐标系工具角度需要减去当前C轴的值。 DELAY(0.5) end
Speed(20) --速度设置
----例如长50000um宽20000um
Tool_Generate(50000,-20000,1) --动态工具坐标1生成
Tool_Generate(-50000,-20000,2) --动态工具坐标2生成 while 1 do MovL(1) --物料起始点 -------第一条边贴胶------------- MovL(1 P.Y(50000)) --直线偏移物料长边贴胶 -------第一角贴胶------------- para.Write(0,2,6, 0x01010050) --修改控制器参数 P2-06 把当前坐标系 TF1 _,Here motion.GetFeedbackPosition(1) --获取当前位置 MovL(Here P.C(90000)) --以旋转中心1旋转90贴胶 -------第二条边贴胶------------- para.Write(0,2,6, 0x00010050) --修改控制器参数 P2-06 把当前坐标系 TF0 _,Here motion.GetFeedbackPosition(1) --获取当前位置 MovL(Here P.Y(20000)) --直线偏移物料宽边贴胶 -------第二角贴胶------------- para.Write(0,2,6, 0x02010050) --修改控制器参数 P2-06 把当前坐标系 TF2 _,Here motion.GetFeedbackPosition(1) --获取当前位置 MovL(Here P.C(90000)) --以旋转中心2旋转90 -------第三条边贴胶------------- para.Write(0,2,6, 0x00010050) --修改控制器参数 P2-06 把当前坐标系 TF0 _,Here motion.GetFeedbackPosition(1) --获取当前位置 MovL(Here P.Y(50000)) --直线偏移物料长边贴胶
end