NoPause/NoEmgAbort的任务示例
下面的例子显示了一个程序,可以监视控制器的错误并根据错误编号在发生错误时切换I/O On/Off。Function main
Xqt ErrorMonitor, NoEmgAbort
:
FendFunction ErrorMonitor
Wait ErrorOnIf 4000 < SysErr And Syserr < 5999 ThenPrint "Mortion Error = ", SysErrOff 10, ForcedOn 12, Forced
ElsePrint "Other Error = ", SysErrOff 11, ForcedOn 13, Forced
EndIf
Fend
6.23.1 后台任务的主要功能
后台任务的目的是监视整体单元的状态,并与外部设备进行通信。 Function BgMain指定为“后台任务”的函数,会在控制器启动并加载项目时作为任务65自动启动。
如果使用XQT命令在后台任务内创建另一个任务,该创建的任务将被分配到65号任务(以上升顺序),并将作为后台任务运行。此外,在后台任务中指定XQT命令的任务类型没有任何意义。
操作员不一定知道正在运行的后台任务,不会在输入紧急停止或安全防护信号时停止。 后台任务在操作员输入“PAUSE”或“ABORT”时不会停止。
在这个意义上,后台任务作为应用程序运行,并作为系统的一部分。另一方面,操作机器人的执行命令,用于机器人的设置命令或用于图像处理的命令均不能在后台任务中执行。