首先,需要启用多任务选项的控制器。
要做到这一点,创建一个新的机器人控制器RobotStudio站 - >选择机器人(控制器菜单) - >.................. - >系统生成器 - >选择控制器 - >修改...下一页 - >下一步 - >下一步 - >下一步 - >添加以下options 623-MultitaskingValidate并重启控制器。
现在有了正确配置的控制器,要添加一个新的任务,(控制器菜单) - >配置编辑器 - >控制器 - >任务 - >新建任务...任务名称:命名task - > Task背景程序:选择第一个taskTrustLevel:NoSafety
有类型可以设置为半静态的,因为这样可以允许任务在后台运行,这是非常重要的。现在可以运行多任务。如果要修改后台任务,直接在真实的控制器上是无法修改的。因为任务在后台运行,即使在紧急停止情况下也无法停止后台任务。
修改任务
改变次要任务的类型为NORMAL,并重新启动(热启动)修改代码后,重新设置任务为SEMISTATIC,并重启控制器。
备注:
NORMAL为普通任务,示教器的急停、启动、停止、等等都影响其运行。
SEMISTATIC为半静态任务,在热启动后,任务从起点重新启动。如果自动加载模块的文件被更新,将重新加载模块。 半静态变量(Semistatic Variable)所需的存储区大小固定、在编译时可确定大小、编译时分配空间,但随所在的程序单元调用而被绑定,返回而失去空间,并可能会在存储空间留有多个副本。在运行时可知(动态可确定),称为半静态变量。例如:在允许递归语言中的递归过程中的变量。
STATIC为静态任务,在热启动后,任务从当前位置启动并运行。 静态变量(Static Variable) 所需的存储区大小固定、在编译时可确定大小、编译时分配空间、运行时绑定于一个存储区,不会随所在的程序单元(过程、子程序)调用/返回而改变存储位置。