!...! 并行处理
并行处理动作过程中I/O等的输入输出。
格式
动作命令 !并行处理语句!
参数
- 动作命令
- 记述以下任意可并行处理的命令。
Arc, Arc3, Go, Jump, Jump3, Jump3CP, Move, BGo, BMove, TGo, TMove - 并行处理语句
- 记述在动作中可并行处理的I/O语句。(参照下表)
说明
在开始动作的同时,开始执行夹在“!”符号之间的语句。例如,由此在机械臂还动作的时候就能执行I/O,而不等待机器人停止动作之后再执行。在机械臂动作中,备有敦促I/O执行的语句。(参照下表“Dn”)
下表汇总了可以使用的所有并行处理语句。表中的语句均可单独使用。并且,可以组合几个语句在一个动作命令中执行多个I/O语句。
Dn | 用于在执行以下并行处理语句之前,指定移动量的%,并与动作命令同步。“n”表示用0到100的整数指定的%值,用于指定该动作开始执行并行处理语句的开始位置。就是说,在动作达到总移动量的n%时,将执行Dn以后的语句。 与Jump命令组合使用时,移动量的%值不包括第3关节(上下轴)的垂直移动动作。Jump动作时,仅对除第3关节(上下轴)之外的平行移动动作取得同步。要在完成第3关节的垂直移动动作时执行语句,请在语句的开头加入D0(零)。 与Jump3命令组合使用时,移动量的%值中不包括转移和接近动作。Jump3动作时,仅对跨越动作取得同步。要在完成转移动作时执行语句,请在语句的开头加入D0(零)。 “Dn”在1次并行处理语句中最多可以使用16次。 |
On / Off n | 用于打开和关闭输出位编号“n”。 |
MemOn / MemOff n | 用于打开和关闭存储器I/O的位编号“n”。 |
Out p,d OpBCD p,q OutW p,d | 用于将数据“d”输出到输出端口“p”中。 |
MemOut p, d MemOutW p,d | 用于将数据“d”输出到存储器I/O端口“p”中。 |
Signal s | 用于产生同步信号。 |
WaitSig s | 用于等待信号“s”后处理下一语句。 |
Wait t | 用于等待“t”秒钟并执行下一并行处理语句。 |
Wait Sw(n) = j | 用于等待下一并行处理语句,直至输入位“n”与由“j”定义的条件(On或Off)一致。 |
Wait MemSw(n) = j | 用于等待下一并行处理语句,直至存储器I/O位“n”与由“j”定义的条件(On或Off)一致。 |
Wait其他条件 | 还可以有上述2模式以外的Wait语句。详情请参阅Wait。 |
用于将数据输出到显示装置中。 | |
Print# | 用于将数据输出到指定的通信端口中。 |
外部函数 | 用于执行由Declare语句声明的外部函数。 |
Hand_On n Hand_Off n | 执行夹具编号“n”的Hand_On/Hand_Off的操作。 |
注意
动作在I/O命令全部结束之前结束时
如果针对特定动作命令的动作结束而所有并行处理语句并未结束执行,将在这些语句全部结束之后实行下一程序。该情况是为进行必须并行处理多个I/O命令的短距离移动时特别假设的。
通过停止机械臂的Till语句在中途结束动作时
如果在移动过程中使用停止机械臂的Till语句,将视为动作100%完成并执行至D100。在结束所有并行处理语句之前,不会移至动作命令的下一语句。
根据AbortMotion语句或Trap在中途结束动作时
将不执行动作结束后的D语句。
设置接近100% 的“n”值时的路径运动减速
如果在路径运动中设置了较高的“n”值,机器人则可能会进行减速,以结束正在执行的动作。通常,CP On在开始减速的同时开始进行下一动作命令的加速。但是,如果在减速中指定Dn,则在结束该命令之前不会开始下一命令的加速。为避免减速,将处理语句放到动作命令之后。例如,在下例中,将On 1语句的位置从Jump P1动作中的并行处理位置移至Jump P1后。
CP On Jump P1 !D96; On 1! Go P2 CP On Jump P1 On 1 Go P2
Jump语句与并行处理
在上升动作结束后开始执行与Jump语句一起使用的并行处理语句,并在开始下降移动前结束。
在转移动作结束后开始执行与Jump3语句一起使用的并行处理语句,并在开始接近移动前结束。
Here语句与并行处理
不能将Here语句与并行处理同时放在一个动作命令内。
Go Here :Z(0) !D10; MemOn 1 !
不能按上述使用方法执行。
P999 = Here Go P999 Here :Z(0) !D10; MemOn 1 !
请变更为上述程序。
参阅
Arc、Arc3、Go、Jump、Jump3、Jump3CP、Move、BGo、BMove、TGo、TMove
!...! 并行处理使用示例
下述为与动作命令一起使用并行处理功能的示例。
与Jump命令一起使用并行处理。第3关节结束上升移动并且第1、2、4关节开始移动时,输出位1会置为ON。输出位1将在Jump动作完成50%的阶段再次关闭。
Function test
Jump P1 !D0; On 1; D50; Off 1!
Fend
与Move命令一起使用并行处理。在完成移至P1动作的10%的阶段,打开输出位5,并在0.5秒后关闭输出位5。
Function test2
Move P1 !D10; On 5; Wait 0.5; Off 5!
Fend