MC-Basic:task.STATE/zh-hans
| 语言: | English • 中文(简体) |
|---|
缩写
格式
?<task>.State
适用版本
所有版本
描述
该查询返回一个长整型(Long) 数值,用于指示任务的当前运行状态。在特定情况下,常规的任务状态值会根据以下两种条件进行修正:
1) 任务(Task)被锁定
2) 任务(Task)被中断
当任务处于状态处于2、4或10且正在等待系统事件以完成执行时,该任务将被视为“锁定”状态。
在这种情况下,值256(0x100)被添加到常规任务状态,典型场景是当任务包含连续执行的三个移动指令时,解释器在等待第一条指令完成以执行第二条指令的过程中,任务即处于锁定状态。
如果从终端输入STOP命令,任务将保持在运行模式。 从终端输入IDLETASK命令,任务切换到停止和锁定状态。 它被锁定是因为它正在等待“继续”命令恢复运动。 任务被OnEvent或OnError中断。 在这种情况下,值512(0x200)被添加到常规任务状态。。
1: 运行 (TASK_RUNNING)
2: 在STEPIN指令后,由IDLETASK指令来停止 (TASK_STOPPED)
3: 程序在单个步骤模式
4. 由于错误而停下(TASK_ERROR)
5: 终止
“可以在以下情况下瞬间的看到任务状态:
“ 1. 终止程序
“ 2. 非加载
6: 程序在单独步骤模式下,使用STEP-OVER命令。
7: 加载后准备好 (TASK_READY)
8: continuetask 命令后瞬间的状态
9: 不正确的状态 (可能任务失败)
10: KILLTASK 或者 END PROGRAM之后的状态 (TASK_KILLED)
如果任务被一个时间中断,任务的状态值会被加上 512。如果任务被锁定,任务的状态值会被加上 256。
类型
Long
取值范围
返回值: 1, 2, 4, 5, 7, 9, 10
单位
默认
使用范围
任务区,终端区
限制
任务只能在存储器内被加载
例子 =
?Task1.prg.state
If Task1.prg.state = TASK_ERROR Then
检查任务是不是因为运行错误而停止的。