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

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
bit是边沿存储位,记录上一个扫描的operand;每个边沿触点要使用独立的bit。operand从 0 变 1 的那个扫描,out=1;下一个扫描即使operand仍为 1,out也回到 0。PContact不能作为 rung 的第一个元素:TIA 要求边沿指令前面先有逻辑;示例用Enable触点放在前面。- 与
PBox的区别:PContact是触点,扫描一个操作数;PBox是 RLO 边沿盒,扫描左侧 RLO。 - 与
PCoil的区别:PCoil是线圈,RLO 上升沿时输出一个扫描的脉冲。
常用场景
常见坑
- 没有前置逻辑:
PContact放在 rung 第一个元素会违反 TIA 边沿规则;前面加Enable/Not/触点。 - 共用边沿位:两个
PContact共用一个bit,边沿会互相覆盖,导致漏脉冲。 - 边沿位不保持:
bit放在 Temp 里会每次调用重置;用 Static/全局 M/DB。 - 用成电平:
PContact只亮一个扫描;需要保持就接SCoil或自锁。 - 跳转/未扫描:如果网络被
Jump跳过,边沿不会被记录,回来时可能误判。
在博途里试一下
TiaLink
把 TIA Portal 接到你的智能体:导入、编译、读回核对、PLCSIM 仿真。本地运行,工程数据不出厂。
打开 TiaLink也可以先在示例库里找一条用到 PContact 的完整程序,导入后再改。
