新时达机器人背景程序功能
发布时间:
2025-07-09 15:04
在工业机器人应用中,背景程序的多线程功能是实现复杂任务高效执行、提升系统整体效能的关键技术。它不仅能够实现任务的并行处理,还能通过优化资源分配、保障实时性以及实现功能解耦,推动机器人性能的质变。
在这篇文章,我们将针对新时达机器人这一功能进行详细介绍。
普通背景程序功能

普通背景程序打开指令BackProgOpen有两个参数,线程ID和普通背景程序名称;普通背景程序关闭指令BackProgClose只有一个参数,即线程ID。
其中线程ID的值为1、2、3、4中的一个值,即同时最多只能开启4个普通背景程序;普通背景程序的选项类似于子程序调用,可以选择全局工程下的程序名称和同工程下的其他程序名称。
在主程序里调用该语句时,普通背景程序就会同时被启动,即普通背景程序开始运行。


Tips:
(1) 普通背景程序启动后,普通背景程序的状态跟跟随主程序变化,即主程序停止时,普通背景程序也会停止,主程序运行时,普通背景程序也会处于运行状态。
(2) 若普通背景程序里有Pause指令,则运行到Pause指令时,主程序和普通背景程序都会暂停。
(3) 普通背景程序和主程序之间共用的变量是按照预读值来判断的。
(4) 主程序调用子程序,子程序开启普通背景程序,若没有关闭普通背景程序的指令,并且普通背景程序没有执行到EOF,则主程序执行到EOF后,普通背景程序才会停止运行并关闭。
系统背景程序功能
系统背景程序,即开机自启动背景程序,此背景程序不受主程序的加载、卸载、报错、急停、暂停等影响,能够在后台持续运行。

背景程序监视界面可以查看已经开启的背景程序和调用背景程序的源程序,以及主程序。下表中第一行main的源程序是当前加载的程序;第2到5行是背景程序的信息。比如序号为1的行,背景程序栏显示的是线程ID为1的背景程序的名称,若是普通背景程序,源程序栏是启动线程ID为1的背景程序的程序名称,若是系统背景程序,源程序栏显示AutoRun.sr\AutoRun。

点击main行的显示程序,能显示当前运行的主程序,点击序号1-4所在行的显示程序,就能显示对应的线程ID为1-4的背景程序,从而查看背景程序的运行状态。
Tips:
(1) 系统背景程序配置系统背景程序最多可以配置四个(对应线程ID 1-4),选择对应的工程和程序,相互路径不可重复,点击保存完成配置;
(2) 在配置完成后,可以手动启动系统背景程序,也可停止关闭系统背景程序;
(3) 系统背景程序中所涉及的变量必须是保持变量,否则程序无法运行;
(4) 系统背景程序被配置后,此程序不能作为主程序加载、不能作为子函数、中断程序、子程序、普通背景程序使用,此线程号也不能作为普通背景程序开启;
(5) 系统背景程序和主程序之间共用的变量是按照预读值来判断的。
背景程序语句限制
流程语句
WHILE、END_WHILE、LOOP、END_LOOP、IF、ELSIF、ELSE、END_IF、SWITCH、END_SWITCH、CASE、LP、GOTO、Wait;
系统函数
WaitTime、….:=…、#...、//…、GetCurrentPos、GetCurrentOverride、Message、MessageErase、WriteLog、ClearLog、Pause、RecordList、SaveData、ClkStart、ClkStop、ClkReset、ClkRead、CDate、CTime;
IO语句
DIRead、DIWait、DOSet、DOPulse、GDIRead、GDIWait、GDOSet、AIRead、AIWait、AIWaitGreater、AIWaitLess、AOSet;
设置语句
Override、AxisSpaceActivate、CartSpaceActivate、ReadAxisSpaceState、ReadCartSpaceState、SetAxisSpaceMode、SetCartSpaceMode;
数学语句/通讯语句/外部量语句
全部支持。
应用案例
在光伏电池串排版应用中,电池串的来料视觉定位是关键环节,而视觉系统与机器人之间的通信则通过 Socket 实现。为了进一步提升生产节拍,可以将 Socket 通信的相关代码整合到普通背景程序中。主程序通过调用背景程序获取数据,从而优化整体流程,提高生产效率。

无论是普通背景程序的灵活调用与资源优化,还是系统背景程序的稳定运行与独立性,都为工业自动化场景提供了坚实的技术支撑。我们坚信,在未来工业自动化的发展进程中,背景程序的持续创新与完善,将为工业生产的智能化与高效化注入更强大的动力。
下一页