![工业机器人实战应用及调试](https://wfqqreader-1252317822.image.myqcloud.com/cover/838/43806838/b_43806838.jpg)
4.3.2 设置多程序任务的方法
1.任务区内程序的设置和启动
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/66_03.jpg?sign=1739506166-AsdzfJtRzlajZ82I1ncFUzRPhtC3BWEb-0-1e37cca227c15ff59f2b8f4dab1bd8a5)
图4-19 程序的存放区域
(1)程序放置位置 如果同时运行的都是运动程序,则多个程序运行会造成混乱,所以将运动程序置于任务区1(插槽1),其他数据运算型程序置于任务区2~7。
(2)程序的启动 任务区1(插槽1)内的程序通过指令启动其他任务区内的程序,相关指令如下:
1)XLoad~XLoad 2,"10":指定任务区号和装入该任务区的程序号。
2)XRun~XRun 2:启动运行任务区2(插槽2)内程序。
3)XStp~XStp 2:停止执行任务区2(插槽2)内程序。
(3)样例程序 在图4-19中,各任务区程序之间可以通过用户基本程序、全局变量、用户定义的全局变量进行信息交换,这也是实现各程序启动停止的方法。
1)任务区1程序。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/66_04.jpg?sign=1739506166-cQp6karvxnhLRQvBrtlGBHMgpBzUKuON-0-0b9276ae4be7a7e33e4bad2b7b14862a)
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/67_01.jpg?sign=1739506166-N6cX1epFBoQJPajGl7N2cs4eqI0I6luq-0-58d19b4d33d61f4bed17bec2a1b73e4b)
2)任务区2程序(信号及变量程序)。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/67_02.jpg?sign=1739506166-Fv1uvUUwPyix3eb4azbiXgpwZdca5BRq-0-f2dbd954d33818aa547d515ce2da9b74)
(4)程序的启动条件
1)可以设置程序的启动条件为上电启动或遇报警启动。START信号为同时启动各任务区内程序。
2)可以对每个任务区(插槽)设置外部信号进行启动。在使用外部信号控制各任务区时,如果在插槽2~7中设置的程序为运动程序,则在发出相关的启动信号后,系统立即发出“未取得操作权”警报。如果设置的程序为数据运算程序,则不报警。
2.各任务区内的工作状态
各任务区内的工作状态如图4-20所示。每一任务区的工作状态可以分为:
1)可选择程序状态:本状态表示原程序已经运行完成或复位,在此状态下可以通过指令XLOAD或参数选择装入新的程序。
2)待机状态:等待启动指令启动程序或复位指令回到可选择程序状态。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/67_03.jpg?sign=1739506166-nXTgyGHwAncDwaJKNjup1jqSq8Yp3JQx-0-ea17c5d6ae303ef2d4532ba84a655e66)
图4-20 任务区内的工作状态及其转换
3)运行状态:通过XSTP指令可进入待机状态,通过程序循环结束可进入可选择程序状态。
3.对多任务区的设置
(1)设置程序名 在RT ToolBox软件中可通过参数设置各任务区内的程序名,如图4-21所示。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/67_04.jpg?sign=1739506166-rQjre8wZL0vphRPiinPNsYUJFAthzP9x-0-9bfb358a187bbd9847905dc346521172)
图4-21 在RT ToolBox软件中可通过参数设置各任务区内的程序名
(2)同时启动信号 通过外部信号可以对各任务区进行“启动”“停止”,“START”信号为同时启动各任务区内程序。
(3)分别启动信号 通过外部信号可以对各任务区分别进行“启动”“停止”,S1 START~SNSTART为分别启动各任务区的信号,如图4-22所示。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/68_01.jpg?sign=1739506166-FSnFNRaxHm60dXInU5SiMXbD2iz7tWvH-0-0b7a403d0d69ceb73db3cfa739a822e2)
图4-22 各任务区的启动信号
(4)分别停止信号 通过外部信号可以对各任务区分别进行停止,S1STOP~SNSTOP分别为各任务区的停止信号,如图4-23所示。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/68_02.jpg?sign=1739506166-NZ7azwYVCJCVDuNZx8f9QlwLhPyYVZ9l-0-a044b70ad192df107af5fdff2d2ef847)
图4-23 各任务区的停止信号