跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/IS_NULL — 检查空引用

IS_NULL — 检查空引用

检查空引用:操作数是空引用时 RLO 继续。

比较 S7-1200/1500 TIA V19 别名:检查空引用 / IS_NULL / IS_NULL

在 TIA 里试一下

选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

一句话

IS_NULL 操作数是空引用时 RLO 继续。

符号与引脚

分类:比较 不需要实例 模板值:var_type
引脚方向说明
pre流输入左侧 RLO
operand输入要检查的 Variant
out流输出检查结果 RLO

符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。

最小示例

Enable=1 时检查 Data,条件成立则 IsNull=1。

IS_NULL_Example:Network 1 — 检查空引用

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。

怎么工作

  • pre 是左侧 RLO,operand 是要检查的 Variant,out 是检查结果。
  • var_type=Variant;Data 在 FC 里用 InOut 的 Variant,调用时可以传数组/引用/普通变量。
  • IS_NULL 是 flow-through:RLO 从 pre 走到 out,不修改 Data。
  • 检查结果只影响 RLO,不产生数据输出。

常用场景

1. 类型/引用检查

同上面的最小示例。

2. 检查空引用

Data 是空引用时 IsNull=1;用于引用/指针判空。

IS_NULL_Null-check:Network 1 — 检查空引用

常见坑

  • operand 不是 Variant:用 Variant 参数;普通具体类型不能直接接。
  • 把检查当转换:IS_ARRAY/IS_NULL 只返回 RLO,不转换/解引用。
  • 空引用访问:先 NOT_NULL 再访问引用,避免运行时错误。
  • 和 OK/NOK 混淆:IS_* 专门检查数组/空引用;OK 是通用有效性检查。
  • 没有 ENO:它们是 flow-through,不是 ENO 盒。

← 返回 LAD 指令手册