发布时间: 2026-01-15

运动到达时提前触发信号


1. 简介

EC机器人在运动指令中有TRIGGER指令,可以在到达点位前满足距离或时间的条件触发IO状态。

在CS机器人指令中就没有这个指令,我们就可通过本文方式实现通过距离判断提前触发IO状态

2. 操作流程

1、树状图中编写

程序具体实现如下:

 

flag_1:标志位,是用于控制仅 路点_1到路点_2过程中满足条件才触发,其他位置接近路点_2不触发

路点2添加Until的已到达路点模式会保证一定准确到达路点,在到达路点后添加一个动作,标志位置0,保证其他位置不会触发事件

事件:事件中判断标志位为0,判断两个工具之间的距离<设定的距离,两个都为True时触发事件中的程序,设置IO信号

point_dist()计算直线距离,不考虑位姿

也可使用pose_dist(),计算距离时考虑位姿

 

2、脚本编写方式

脚本如下:

#P:需提前触发信号路点
#L:触发距离,单位为m
#O:触发输出,填写输出信号0-15
def trigger(P,L,O):
    global flag
    if flag==1:
        pose1=get_actual_tcp_pose()
        l1=point_dist(P,pose1)
        if l1<L:
            set_standard_digital_out(O,False)
            flag=0

程序中使用脚本,要现在全局变量中创建一个变量flag,

在线程中调用函数,分别填入(标志位变量,需提前触发路点,触发距离,触发输出信号0-15)

 

提交反馈