ID : 2673
Pallet.CalcPosTurning
功能
指定托板的条件,通过该条件指定从第几层的开头起的第几号,可获取该位置。此外,用4轴机器人执行时,可以用最佳的手腕形态获取位置。
该指令对Ver.2.10.1以上的版本有效。
格式
Pallet.CalcPosTurning(P1_P3分割数,P1_P2分割数,1层的高度,托板四角位置P1,托板四角位置P2,托板四角位置P3,托板四角位置P4,托板目标位置编号[, 层叠位置][, 机器人编号])
指定项目

- P1_P3分割数
- 使用整数型数据指定从托板的P1到P3方向的分割数(N)。
- P1_P2分割数
- 使用整数型数据指定从托板的P1到P2方向的分割数(M)。
- 1层的高度
- 使用单精度实数型数据指定1层的高度。使用[1层的高度]*([层叠位置]-1)计算托板的高度位置。逐渐堆高时输入正值。逐渐减少时输入负值。
如果用1固定使用[层叠位置],该值不使用。输入0。 - 托板四角位置P1
- 使用位置型数据指定托盘四角中的开头位置。
- 托板四角位置P2
- 使用位置型数据指定托盘四角中的第2号的位置。
- 托板四角位置P3
- 使用位置型数据指定托盘四角中的第3号的位置。
- 托板四角位置P4
- 使用位置型数据指定托盘四角中的最后位置。
- 托板目标位置编号
- 使用整数型数据指定从该层开头开始数的第几号。
- 层叠位置
- 使用整数型数据指定从开头开始数的第几层。
省略时为“1”。 - 机器人编号
- 使用协调功能时,通过整数型数据指定机器人编号。范围为“0”(Robot0)或“1”(Robot1)。可省略。省略时变为指定“0”(Robot0)。
返回值
使用位置型数据返回目标位置。
解说
指定托板的条件,通过该条件指定从第几层的开头起的第几号,可获取该位置。
使用P1_P3分割数(N)、P1_P2分割数(M)、托板高度、托板四角位置(P1~P4)指定托板的条件。
托板的位置编号如图所示:从P1开始向P2排列,到达P2后,沿P1到P3方向从+1的位置横向排列。
1层的高度在托板的四角位置(P1~P4)的趋近矢量(以下 “四角位置的趋近矢量”)的负方向上加算。
例如,四角位置的趋近矢量与基础坐标系的XY平面垂直向着正下方时,1层的高度在与基础坐标系的XY平面垂直的上方向加算(例1)。
此外,四角位置的趋近矢量与基础坐标系的XY平面向下方倾斜时,1层的高度在与基础坐标系的XY平面倾斜的上方向加算(例2)。
示教托板的四角位置(P1~P4)时,还要考虑层叠的高度方向。
在下图的动画中,移动至Pallet.CalcPosTurning指令的返回值后,该位置上会显示球体的对象。
例1
例2
与Pallet.CalcPos指令的不同
Pallet.CalcPos指令中不包含优化手腕形态的处理,因此有时算出的位置可能是4轴旋转了1周以上的位置。另一方面,该指令可以计算出最佳的手腕形态时的位置。
例如,假设对托板四角位置P1指令了4轴的形态为Single的位置,对托板四角位置P2指令了4轴的形态为double的位置。
此时,在P1和P2之间的某处,4轴的形态会切换,为了使这种切换顺利进行,要计算位置。
相关项目
注意事项
该指令的设想是在4轴机器人(HM机器人、HSR机器人、HS机器人、HSA1机器人、XR机器人等)上执行。虽然在6轴机器人上也能使用,但获取结果与Pallet.CalcPos指令相同。
应用示例
'!TITLE “获取托板目标位置编号的坐标位置”
‘ 获取用托板目标位置编号指定的坐标位置,在讯息输出视窗上表示
Sub Sample_PalletCalcPosTurning
Dim aaa As Position
Dim bbb As Position
Dim ccc As Position
Dim ddd As Position
Dim eee As Position
Dim fff As Position
Dim ggg As Position
‘ 将表示托板四角位置P1的位置代入aaa
aaa = P( 600, -100, 50, -180, 0, 180, 5 )
‘ 将表示托板四角位置P2的位置代入bbb
bbb = P( 600, 100, 50, -180, 0, 180, 5 )
‘ 将表示托板四角位置P3的位置代入ccc
ccc = P( 400, -100, 50, -180, 0, 180, 5 )
‘ 将表示托板四角位置P4的位置代入ddd
ddd = P( 400, 100, 50, -180, 0, 180, 5 )
‘ 将托板目标位置编号1的坐标位置代入eee
eee = Pallet.CalcPosTurning( 3, 5, 20, aaa, bbb, ccc, ddd, 1, 1 )
‘ 在讯息输出视窗表示托板目标位置编号1的坐标位置
PrintDbg eee
‘ 将托板目标位置编号8的坐标位置代入fff
fff = Pallet.CalcPosTurning( 3, 5, 20, aaa, bbb, ccc, ddd, 8, 1 )
‘ 在讯息输出视窗表示托板目标位置编号8的坐标位置
PrintDbg fff
‘ 将托板目标位置编号15的坐标位置代入ggg
ggg = Pallet.CalcPosTurning( 3, 5, 20, aaa, bbb, ccc, ddd, 15, 1 )
‘ 在讯息输出视窗表示托板目标位置编号15的坐标位置
PrintDbg ggg
End Sub
ID : 2673