7.14.3 读取当前TASK运行信息
功能
读取当先TASK的信息
LD图形
参数说明
接口变量 | 声明 | 数据类型 | 说明 |
---|---|---|---|
RD_TASKINFO | 返回值 | INT | 返回指令状态 |
NAME | Out_Put | STRING | 在任务配置中所定义的任务名 |
TYPE_ID | Out_Put | INT | 显示任务类型 |
PRIORITY | Out_Put | INT | 显示任务的优先级 |
Overlap_Count | Out_Put | INT | 重叠情况:如果新触发器所针对的任务就是正在运行的任务,那么新触发器将被丢弃。 每次任务触发器被丢弃,计数器加一。任务重叠计数为0,说明任务执行正常,非零值表示中断周期需要延长。 |
CYC_TIME | Out_Put | TIME | 配置的循环周期时间(ms),仅定周期循环任务有效。 |
WATCH_TIME | Out_Put | TIME | 任务配置的看门狗时间(ms) |
LAST_LTIME | Out_Put | LTIME | 上一个任务周期的执行时间,单位为 ns |
AVG_LTIME | Out_Put | LTIME | 任务平均所需的执行时间,单位为 ns |
MAX_LTIME | Out_Put | LTIME | 任务最大执行时间,单位为 ns |
MIN_LTIME | Out_Put | LTIME | 任务最小执行时间,单位为 ns |
返回值:RD_TASKINFO (...)
返回指令状态(W#16#....)
说明
- 0000 无错误。
- FF00 无法读取当前TASK状态。
- 在程序编辑器中,错误代码可显示为整数或十六进制。
示例
- LD示例如下动图所示:
- ST示例如下代码所示:
定义参考:
Name :STRING;
ID:INT;
Priority:INT;
Overlap_I:INT;
Cyc_T TIME;
Watch_T:TIME;
Last_LT:LTIME;
Avg_LT:LTIME;
Max_LT:LTIME;
Mint_LT:LTIME;
OUT3:INT;
代码实现:
OUT3:=RD_TASKINFO(
NAME=>name,
TYPE_ID=>ID,
PRIORITY=>Priority,
Overlap_Count=>Overlap_I,
CYC_TIME=>Cyc_T,
WATCH_TIME=>Watch_T,
LAST_LTIME=>Last_LT,
AVG_LTIME=>Avg_LT,
MAX_LTIME=>Max_LT,
MIN_LTIME=>Mint_LT
);