Appearance
WaitSimAI 等待虚拟模拟量输入
虚拟模拟量输入等待指令用于在设定的时长内,监控指定的**虚拟模拟量输入(SimAI)**端口值。当该虚拟端口的实时数值与目标值相等时,程序继续执行。这通常用于程序间的复杂数据交互或仿真工艺流程中的数值同步。
指令格式
WaitSimAI (SIMAIN, VALUE, T, INTERENABLE, RET, [Goto])
WaitSimAI(虚拟模拟量输入端口, 目标触发值, 超时时间, 打断使能, 结果变量, [跳转行号])
(备注:带 [] 参数为可选参数)
参数详细说明
| 参数 | 类型 | 说明 | 默认值/备注 |
|---|---|---|---|
| SIMAIN | SimAI | 需要监控的目标虚拟模拟量输入端口 | 必填 |
| VALUE | real 或 REAL 变量 | 期望等待的数值 | 必填 |
| T | int 或 INT 变量 | 等待限时,单位 ms(0:强制等待直到信号满足) | 必填 |
| INTERENABLE | int | 程序暂停恢复后的计时逻辑(0:累计计时,1:重置计时) | 必填 |
| RET | INT 变量 | 返回指令执行结束后的状态记录(0:成功,1:超时) | 必填 |
| [Goto] | label | 超时后程序指针跳转到的指定标签名 | 可选 |
应用示例
示例 1:
estun
WaitSimAI (SimAI1, 5.0, 1000, 0, INT1)逻辑描述:
程序开始监测虚拟模拟量输入变量 SimAI1。
- 如果在 1000ms 内,SimAI1 的值变为 5.0,则变量 INT1 赋值为 0,程序继续执行下一条指令。
- 如果在等待过程中(例如在第 500ms 时)程序暂停并随后恢复,由于
INTERENABLE为 0,计时器将从 500ms 处继续累加。 - 若满 1000ms 仍未检测到 5.0,则 INT1 被置为 1(表示超时),程序继续向下运行。