
NContact — 下降沿触点
检测 operand 的下降沿,只在 1→0 的那个扫描周期导通;需要边沿存储位。
一句话
NContact 检测 operand 的下降沿,只在 1→0 的那个扫描周期导通;它需要一个边沿存储位 bit。
符号与引脚
分类:边沿
不需要实例
模板值:无
| 引脚 | 方向 | 说明 |
|---|---|---|
pre | 流输入 | 左侧 RLO(必须先有逻辑) |
operand | 输入 | 被检测的 Bool 信号 |
bit | 输入 | 边沿存储位(Bool) |
out | 流输出 | 下降沿那个扫描为 1 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable 先给左侧 RLO,Stop 的下降沿让 OneShot 只亮一个扫描。Enable 可以是一个模式条件或常闭的联锁条件。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 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。
常用场景
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 的完整程序,导入后再改。