STM函数
返回指定点(以参照点为开始点时使操作时间最短)姿势标志转换后的点数据。
格式
STM (指定点 [, 指定参照点 [, 模式指定]])
参数
- 点指定
- 指定对象点数据。
- 指定参照点
- 指定作为基准的点数据。可省略。省略参照点指定时,以当前位置(Here)为参照点。
- 模式指定
- 可省略。
- RS系列
STM_H_MODE_FASTEST:从参照点到指定点执行Go动作时,改变姿势标志,使动作时间最短。J1Flag、J2Flag及手臂姿势(Hand标志)改变。X、Y、Z及U轴的值不改变。
如果存在多个使动作时间最短的姿势标志,将选择改变最小的姿势标志。 - 其他机型
STM函数不支持。
- RS系列
说明
就RS系列而言,要动作到托盘或通过相对偏移等的点运算获得的点时,如果不正确指定姿势标志,第1机械臂、第2机械臂可能会转向意想不到的方向。此外,选择哪个姿势标志动作时间最短,必须执行才能知道。STM函数用于在防止机械臂进行意想不到的旋转的同时,适当地转换点数据的姿势标志,使动作时间最短。这样有望缩短经过的时间。
考虑从下图的点P0执行PTP动作到点P1。就RS系列而言,因为有J1Flag、J2Flag及手臂姿势的组合,所以姿势标志的选择方法共有8种。图中的红线表示从点P0运动到点P1时对应于各种姿势标志的运动轨迹。此外,图左下角的数值表示动作时间。STM函数朝多个姿势标志中动作时间最短的动作。在下图示例中,选择No.6的左臂姿势、J1F0、J2F1的姿势标志。
根据执行函数时设置的Weight、Intertia设置值及Speed、Accel设置计算动作时间。如果更改了这些设置值,通过STM函数的姿势标志转换结果可能会改变。如果执行STM函数的测试,请使用实际环境下的速度加速度设置。
无论功率模式的设置值、SpeedFactor的设置值及SLS速度调整值如何,通过STM函数的姿势标志转换结果不变。功率模式为Low时,根据功率输出受到限制前的Speed及Accel计算动作时间并转换姿势标志。无论是测试模式还是AUTO模式,姿势标志转换结果不变。
不会选择超出脉冲范围的姿势标志。
利用STM函数返回的点的本地编号是与“指定点”相同的本地编号。
注意
有关接线、设备布局
如果使用了STM函数,动作前后手臂姿势可能会切换。如果手臂姿势切换,会像机械臂折叠一样动作,请注意接线。
此外,布局时应使得即使切换右臂姿势和左臂姿势,也不会与外围设备发生干扰。下图是手臂姿势切换时的动作示例。
有关源自姿势标志不同的误差
本命令假定用于粗略定位。用右臂姿势和左臂姿势定位同一点时,可能会由于工具设置的误差、校准误差而产生位置偏移。在需要精确对准位置的作业中,请使用已示教的点,而非本命令。
参阅
Pallet, AutoSTM, Power, SpeedFactor, Speed, Accel, Weight, Inertia, SF_LimitSpeedS
STM函数使用示例
以下程序是在RS系列中STM函数的使用示例。在2点之间以Jump动作往返。
P2的手臂姿势以右臂姿势定义,通过STM函数切换为左臂姿势,使动作时间最短。
Function STM_Example1
P1 = XY(150, 0, 0, 0)
P2 = XY(-150, 0, 0, 0)
Motor On; Power High;
Speed 20; Accel 20, 20
Weight 1.0; Inertia 0.005;
Do
Jump P1
Print Here
Jump P2
Print Here
Jump P1
Print Here
Jump STM(P2)
Print Here
Loop
Fend
输出结果如下。
X: 150.000 Y: 0.000 Z: 0.000 U: 0.000 V: 0.000 W: 0.000 /R /J2F0 /J1F0 /J1A(0.000) /0
X: -150.000 Y: 0.000 Z: 0.000 U: 0.000 V: 0.000 W: 0.000 /R /J2F0 /J1F0 /J1A(0.000) /0
X: 150.000 Y: 0.000 Z: 0.000 U: 0.000 V: 0.000 W: 0.000 /R /J2F0 /J1F0 /J1A(0.000) /0
X: -150.000 Y: 0.000 Z: 0.000 U: 0.000 V: 0.000 W: 0.000 /L /J2F0 /J1F1 /J1A(0.000) /0