跳转至

事件任务机制

1.1 简介

本章主要介绍一种可以实现实时性要求比较高的简单工艺需求功能,即事件任务机制,又称Event&Task机制。当满足事件设置的条件要求,控制器会立即去执行对应的任务,保证事件和任务在同一个中断周期执行。

1.2 指令列表

高速读指令列表

指令 说明
GTN_ClearEvent 清除用户添加的所有Event事件。
GTN_ClearTask 清除用户添加的所有Task任务。
GTN_ClearEventTaskLink 清除所有已建立的Event与Task之间的链接。
GTN_AddEvent 增加Event事件。
GTN_AddTaskPro 增加Event条件满足时触发的Task任务。
GTN_AddEventTaskLink 建立Event与Task之间的链接。
GTN_GetEventCount 读取用户添加的Event事件的数量。
GTN_GetEvent 读取用户添加的Event事件的类型。
GTN_GetEventLoop 读取用户添加的Event事件的循环次数。
GTN_GetTaskCount 读取用户添加的Task任务的数量。
GTN_GetTask 读取用户添加的Task任务的类型。
GTN_GetEventTaskLinkCount 读取用户建立的事件任务链接数量。
GTN_GetEventTaskLink 读取事件任务的链接信息。
GTN_EventOn 使能Event事件检测。
GTN_EventOff 停止Event事件检测。
GTN_GetTaskSaveMcVarResult 从运动控制器读取和用户添加的Task任务相关的结果变量。

1.3 重点说明

Event&Task术语解释

术语、缩写 解释
Task 运动控制器任务,用户可以根据自己的需要添加相应的任务类型,当与任务链接的Event触发时执行该任务。
Event 运动控制器事件,用户可以添加自定义的事件类型,当所添加的事件触发时,执行与之链接的Task任务。
Link 事件和任务之间的链接。当Event触发时,自动执行链接的Task。

用户可以通过指令GTN_AddEvent增加Event事件,通过指令GTN_AddTaskPro增加Task任务,然后通过GTN_AddEventTaskLink将事件和任务绑定。运动控制器根据事件和任务的绑定关系实现用户设置的工艺需求,即当绑定的Event事件条件满足后马上去执行对应的Task任务,能保证实时性。一个Event事件可以关联多个Task任务,一个Task任务也可以和多个Event事件关联,但是1个Link只能绑定1个Event和1个Task。如图所示,按照下图需求需要9个Link资源。

Event和Task的Link关系

Event和Task的Link关系
Trigger触发改变位置

例程请参考

定时调整MoveJog轴角速度示例

以下案例演示了一种Event&Task的使用场景,轴1进行MoveJog运动,轴2在距离轴1的半径为R的圆形轨迹上运动,进行加工,半径R可能随时间的变化而变化,而轴2加工的线速度需要恒定,此时需改变轴1的角速度,使得轴2的线速度保持恒定。使用Event&Task功能实现该目标:设置Event为10ms触发一次,设置Task为调整轴1的角速度,实现每10ms检测一次轴2线速度是否恒定,并调整轴1的角速度。 案例示意图

案例示意图
需要调整角速度的轴1,必须为MoveJog运动模式,否则,即使事件触发,也不会调整速度。
例程请参考

同一Event挂不同Task

例程请参考

不同Event挂相同Task

例程请参考