一、先确认:是否有 “多任务授权”
OTC 多任务是付费选项,先查授权:
示教器按:R(权限) → 输入 314 → 密码(默认 123456 或 86055)。
进入:常数设定 → 系统 → 授权 / 选项。
查看是否有:MULTI TASK(多任务)。
无:联系供应商开通授权并写入密钥。
有:继续下面步骤。
二、进入多任务配置界面(示教器路径)
模式打到 TEACH(示教)。
按:MENU(菜单) → 常数设定 → 系统 → 多任务(MULTI TASK)。界面一般显示:
TASK0:主任务(默认运行,不可删)
TASK1~TASK7:可配置的独立任务
三、新建 / 配置一个独立任务(TASK1 为例)
1. 新建任务
光标移到 TASK1 → 按 新建 / 登录。
设置关键参数(每个任务独立):
表格
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 任务名 | 自定义(如 IO_MON) | 最多 8 字符 |
| 程序号 | 1001~9999 | 事先编好的程序 |
| 优先级 | 1~3(1 最高) | 运动任务 = 1,后台 = 2/3 |
| 周期 | 8ms / 16ms / 32ms | 运动 = 8ms,逻辑 = 16/32ms |
| 组掩码 | *(无运动轴) | 后台任务禁止占用运动组 |
| 启动方式 | 手动 / 自动(上电自启) | 后台任务选 “自动” |
按 写入 / 保存 → 确定。
2. 任务程序编写(要点)
每个任务是独立程序,规则:
主任务(TASK0):可运动、可 IO、可焊接。
后台任务(TASK1~7):禁止运动指令(JOG/MOVE),只能做:
IO 监控(IN/OUT)
寄存器运算(R []/F [])
通信(以太网 / 串口)
逻辑判断(IF/WHILE)
示例(TASK1:IO 监控后台)
tp
* TASK1: IO_MON(程序号1001) WHILE TRUE IF IN[10] = ON THEN OUT[20] = ON IF R[1] > 100 THEN F[1] = ON WAIT 0.1SEC // 必须加短延时,否则占满CPU END
四、任务间通信(示教器无需额外配置,直接用)
OTC 多任务共享全局寄存器,无需设置:
F[]:标志位(布尔),启停 / 互锁。
R[]:数值寄存器(整数 / 小数),传数据。
IN[]/OUT[]:全局 IO,所有任务可见。
互锁示例(防止同时占用外部轴)
tp
* TASK0(主任务) WAIT F[100] = OFF F[100] = ON ; 外部轴运动... F[100] = OFF * TASK1(后台) WAIT F[100] = OFF F[100] = ON ; 外部轴相关逻辑... F[100] = OFF
五、启动 / 停止多任务(示教器操作)
1. 手动启动(调试用)
MENU → 多任务 → 任务列表。
光标选 TASK1 → 启动(START)。
状态显示:RUNNING。
2. 自动启动(生产用)
把任务 启动方式 设为 自动(AUTO)。
控制器上电 / 复位后,所有 AUTO 任务自动并行运行。
3. 停止任务
选中任务 → 停止(STOP)。
或在程序里用:STOP TASK1。
六、常见坑(必看)
后台任务不能动轴:否则报错 “任务非法指令”。
必须加 WAIT 延时:死循环无延时会导致系统卡顿 / 死机。
同一组不能多运动:只有 TASK0 能运动;多轴协调用外部轴 + 主任务。
互锁必须严谨:共享资源(夹具 / 外部轴)一定要用 F [] 互锁。
七、快速检查清单(配置完核对)
已开通 MULTI TASK 授权
每个任务程序号已存在
后台任务组掩码 =*、无运动指令
所有任务优先级 / 周期合理
共享资源有 F [] 互锁
后台循环有 WAIT 0.1SEC
需自启的任务设为自动启动

