逻辑程序
| 描述 |
PolyScope X 的应用程序可以包含一个 逻辑程序 ,该程序可在后台持续运行,且独立于主机器人程序。 这对于以下任务非常有用:当机械臂断电、主程序暂停或停止,或者操作员进入安全防护区域时,这些任务仍需继续运行。 典型应用包括维护现场总线通信(Modbus、Ethernet/IP、PROFINET、Socket、XmlRPC)、响应外部传感器输入、向生产PLC报告机器人状态,以及在主程序停止时控制外部设备。 逻辑程序不能使用直接移动机械臂、更改有效载荷或修改TCP参数的功能。 |
|
逻辑程序的应用示例 |
|
|
许可证 |
逻辑程序需要许可证,可通过客户门户购买。
|
|
控制逻辑程序 |
在“程序”页面中,从侧边栏中选择 “逻辑程序”。 展开的侧边栏显示了用于导航逻辑程序不同部分的控件。 它还允许您启动、暂停、停止和重置程序。
|
||||||
|
|
“运行程序”按钮会根据逻辑程序的状态,显示为“ 运行程序 ”或 “停止程序”。 它作为“逻辑程序”上下文菜单中可用程序控制操作的快捷方式。
四个 逻辑程序指示器 显示程序的当前状态。 它们还会显示该程序是否已配置为在加载应用程序时自动启动。
|
|
逻辑程序结构 |
逻辑程序与主程序具有相同的结构部分:
机器人程序和逻辑程序各自拥有独立的全局变量集、独立的线程池以及独立的执行生命周期。 启动、停止或出现故障的某个程序不会导致其他程序停止运行。 “
|
|
|
在“ 开始 前”部分,您只能执行该程序一次。
在“ 模块 ”部分,您可以查看该程序可用的函数和线程列表。
|
|
与机器人程序交换数据 |
机器人程序与逻辑程序之间进行通信的主要方式是通过 应用程序变量 。 变量既可以在机器人端设置,也可以在逻辑程序中读取。 本示例统计进入机器人工作单元输入缓冲区的物品数量,并将计数结果显示给机器人程序。 即使在机械臂断电的情况下,计数器仍会继续递增。
|
|
读取机器人状态 |
可通过内置的 RTDE 变量 获取机器人状态。 可以使用脚本函数 以下示例演示了如何检查“安全停止”功能是否处于激活状态:
以下示例用于检查机器人程序是否处于暂停状态:
URScript 控制 API 也封装了此功能。
|
|
自动启动逻辑程序 |
您可以选择在加载应用程序时自动启动某个程序。 当您选择“ 自动 启动”选项时,应用程序加载完成后,逻辑程序将立即启动。
您还可以设置在机器人控制器通电且加载了上一个应用程序时,自动启动逻辑程序。 “ 自动 启动”功能无论在何种运行模式下,无论机械臂处于何种状态,均可正常工作。 当加载时触发“自动启动”功能,系统会显示一条Snackbar通知,确认逻辑程序已启动。
|
|
|
“ 逻辑程序”图标 上的侧边栏图标始终显示程序的当前状态,无论是正在运行还是已停止。
您有责任确保在机器人通电以及加载不同应用程序时,逻辑程序是安全的。
逻辑程序可通过有线或PLC连接(Modbus、PROFINET、Ethernet/IP、Socket、直接输出或其他接口)来启用和停用外部设备。
|
|
模块和线程 |
逻辑程序的功能可以组织成各个函数。 其工作原理与机器人程序中的操作方式相同。 每个功能都可以标记为一个 “线程”。 默认情况下,线程仅执行一次。 选中线程功能上的“ 循环 ”复选框,以使线程持续运行。
|
|
资源共享 |
虽然机器人程序和逻辑程序是独立执行的,各自拥有独立的线程池和变量池,但它们共享相同的硬件资源。 这会带来一些限制,程序员应予以注意:
|
|
限制 |
|