AutoSTM

用于设置自动STM功能。

格式
(1) AutoSTM模式指定
(2) AutoSTM

模式指定

  • RS系列
    STM_H_MODE_FASTEST:启用自动STM功能。执行PTP动作命令时,改变姿势标志,使动作时间最短。J1Flag、J2Flag及手臂姿势(Hand标志)改变。X、Y、Z及U轴的值不改变。如果存在多个使动作时间最短的姿势标志,将选择改变最小的姿势标志。
    STM_OFF:自动STM功能禁用。
  • 其他机型
    AutoSTM无法适用。

说明
如果省略模式指定,设定AutoSTM。
如果指定了模式指定,显示当前AutoSTM的状态。

就RS系列而言,要动作到托盘或通过相对偏移等的点运算获得的点时,如果不正确指定姿势标志,第1机械臂、第2机械臂可能会转向意想不到的方向。此外,选择哪个姿势标志动作时间最短,必须执行才能知道。AutoSTM在防止机械臂进行意想不到的旋转的同时执行动作,使动作时间最短。这样有望缩短经过的时间。
考虑从下图的点P0执行PTP动作到点P1。就RS系列而言,因为有J1Flag、J2Flag及手臂姿势的组合,所以姿势标志的选择方法共有8种。图中的红线表示从点P0运动到点P1时对应于各种姿势标志的运动轨迹。此外,图左下角的数值表示动作时间。如果启用AutoSTM,将朝多个姿势标志中动作时间最短的动作。在下图示例中,选择No.6的左臂姿势、J1F0、J2F1的姿势标志。

AutoSTM通过下述命令启用。
Go, BGo, TGo, Pass, Jump
根据执行函数时设置的Weight、Inertia设置值及Speed、Accel设置计算动作时间。如果更改了这些设置值,通过AutoSTM的姿势标志转换结果可能会改变。如果执行AutoSTM的测试,请使用实际环境下的速度加速度设置。
无论功率模式的设置值、SpeedFactor的设置值及SLS速度调整值如何,通过STM函数的姿势标志转换结果不变。功率模式为Low时,根据功率输出受到限制前的Speed及Accel计算动作时间并转换姿势标志。无论是测试模式还是AUTO模式,姿势标志转换结果不变。
不会选择超出脉冲范围的姿势标志。

如果启用AutoSTM,与应用STM函数时一样,执行动作时会使动作时间最短。
例如,要对一系列动作应用STM函数,且仅使用STM函数时,程序如下。

Go STM(P1)
Go STM(P2)
Go STM(P3)

如果使用AutoSTM,可如下描述程序,以获得相同效果。

AutoSTM STM_H_MODE_FASTEST
Go P1
Go P2
Go P3
AutoSTM STM_OFF

AutoSTM可以在程序的特定区间使STM有效,所以就不需要变更各个动作命令。

下述情况时AutoSTM为禁用状态。

  • 控制器启动时
  • 执行Reset时
  • 所有任务中断时
  • 执行Motor On时

操作模式为TEACH模式时,AutoSTM的设置会被忽略。
AutoSTM和AutoLJM功能无法同时启用。在AutoSTM启用状态下,如果启用AutoLJM,AutoSTM将变为禁用状态,AutoLJM则变为启用状态。AutoLJM启用状态下,如果启用AutoSTM,AutoLJM将变为禁用状态,AutoSTM则变为启用状态。

注意


  • 有关接线、设备布局

    如果使用了AutoSTM功能,动作前后手臂姿势可能会切换。如果手臂姿势切换,会像机械臂折叠一样动作,请注意接线。
    此外,布局时应使得即使切换右臂姿势和左臂姿势,也不会与外围设备发生干扰。下图是手臂姿势切换时的动作示例。

  • 有关源自姿势标志不同的误差

    本命令假定用于粗略定位。用右臂姿势和左臂姿势定位同一点时,可能会由于工具设置的误差、校准误差而产生位置偏移。在需要精确对准位置的作业中,请使用已示教的点,而非本命令。


参阅
Pallet, STM函数, AutoSTM函数, AutoLJM, Power, SpeedFactor, Speed, Accel, Weight, Inertia, SF_LimitSpeedS

AutoSTM使用示例
以下程序是在RS系列中AutoSTM的使用示例。在托盘和指定的点之间以Jump动作往返。
选择的姿势标志使动作时间最短。

Function AutoSTM_Example1
	Integer i;
	' 电机、速度、加速度设置
	Motor On; Power High;
	Speed 20; Accel 20, 20;
	Weight 1.0; Inertia 0.005;
	P1 = XY(-200, -200, -50, 0)
	P2 = XY(-200, -50, -50, 0)
	P3 = XY(-50, -200, -50, 0)
	P10 = XY(150, 150, -50, 0)
	' 托盘的设置
	Pallet 1, P1, P2, P3, 5, 5
	Pulse 0, 0, 0, 0
	' 启用AutoSTM功能
	AutoSTM STM_H_MODE_FASTEST
	For i = 1 To 25
		Jump Pallet(1, i)
		Jump P10
	Next
	' 禁用AutoSTM功能
	AutoSTM STM_OFF
Fend