STM函数

返回指定点(以参照点为开始点时使操作时间最短)姿势标志转换后的点数据。

格式
STM (指定点 [, 指定参照点 [, 模式指定]])

参数

点指定
指定对象点数据。
指定参照点
指定作为基准的点数据。可省略。省略参照点指定时,以当前位置(Here)为参照点。
模式指定
可省略。
  • RS系列
    STM_H_MODE_FASTEST:从参照点到指定点执行Go动作时,改变姿势标志,使动作时间最短。J1Flag、J2Flag及手臂姿势(Hand标志)改变。X、Y、Z及U轴的值不改变。
    如果存在多个使动作时间最短的姿势标志,将选择改变最小的姿势标志。
  • 其他机型
    STM函数不支持。

说明
就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