跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/NContact — 下降沿触点

NContact — 下降沿触点

检测 operand 的下降沿,只在 1→0 的那个扫描周期导通;需要边沿存储位。

边沿 S7-1200/1500 TIA V19 别名:下降沿触点 / 负边沿 / Negative edge contact / N contact

一句话

NContact 检测 operand 的下降沿,只在 1→0 的那个扫描周期导通;它需要一个边沿存储位 bit。

符号与引脚

分类:边沿 不需要实例 模板值:无
引脚方向说明
pre流输入左侧 RLO(必须先有逻辑)
operand输入被检测的 Bool 信号
bit输入边沿存储位(Bool)
out流输出下降沿那个扫描为 1

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

最小示例

Enable 先给左侧 RLO,Stop 的下降沿让 OneShot 只亮一个扫描。Enable 可以是一个模式条件或常闭的联锁条件。

NContact_Example:Network 1 — 下降沿单次触发

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

怎么工作

  • bit 是边沿存储位,记录上一个扫描的 operand;每个边沿触点要使用独立的 bit。
  • operand 从 1 变 0 的那个扫描,out=1;下一个扫描即使 operand 仍为 0,out 也回到 0。
  • NContact 不能作为 rung 的第一个元素:TIA 要求边沿指令前面先有逻辑;示例用 Enable 触点放在前面。
  • 与 NBox 的区别:NContact 扫描一个操作数;NBox 扫描左侧 RLO。
  • 与 PContact 的区别:PContact 抓 0→1,NContact 抓 1→0。
NContact 时序图
operand 1→0 的那个扫描 out=1;bit 在扫描结束后才更新。

常用场景

1. 松开触发

按钮松开时置位一个锁存,或者记录一次「释放」事件。

NContact_Release:Network 1 — 松开时锁存

2. 与 PContact 的区别

按下时用 PContact,松开时用 NContact;如果只是要「按钮状态」,用普通 Contact,不要用边沿触点。

常见坑

  • 没有前置逻辑:NContact 放在 rung 第一个元素会违反 TIA 边沿规则;前面加 Enable/Not/触点。
  • 共用边沿位:两个边沿触点共用一个 bit,边沿会互相覆盖,导致漏脉冲。
  • 边沿位不保持:bit 放在 Temp 里会每次调用重置;用 Static/全局 M/DB。
  • 把下降沿当电平:NContact 只亮一个扫描;需要保持就接 SCoil 或自锁。
  • 跳转/未扫描:如果网络被 Jump 跳过,边沿不会被记录,回来时可能误判。

在博途里试一下

TiaLink

把 TIA Portal 接到你的智能体:导入、编译、读回核对、PLCSIM 仿真。本地运行,工程数据不出厂。

打开 TiaLink

也可以先在示例库里找一条用到 NContact 的完整程序,导入后再改。

← 返回 LAD 指令手册