Skip to content

触点指令 ​

一行梯形图的解剖:左母线 → 触点串并联 → 线圈,以及本章六节指令的分工

LD — 取 ​

LDI — 取反 ​

指令名称功能
LD取常开触点逻辑运算开始
LDI取反常闭触点逻辑运算开始

对象软元件:X、Y、M、T、C、S、D□.b(KnX/KnM 这类位组合不能当触点,只能当字操作数,见文末「三种容易写错的操作数写法」)

LD 指令用于左母线开始的常开触点,或接点回路块开始的常开触点。将当前内容保存,把取来的接点状态存入累积缓存器。LDI 为常闭触点,逻辑取反。

梯形图:与下方指令表同一段程序

LD  X0          ; 载入 X0 常开触点
AND X1
OUT Y1

LDI X0          ; 载入 X0 常闭触点
AND X1
OUT Y2

LP3U 变址:LD X0V0 — 用 V0 值偏移 X 的编号 LP3U 位指定:LD D0.0、LD D8511.F — 读取字元件的指定位

注意:D□.b 仅 LP3U 支持,且不能使用 V/Z 变址修饰。特殊辅助继电器(M8000+)和 32 位计数器(C200+)不能使用变址修饰。


LDP — 上升沿 ​

LDF — 下降沿取 ​

指令名称功能
LDP上升沿取仅在上升沿瞬间导通一个扫描周期
LDF下降沿取仅在下降沿瞬间导通一个扫描周期

对象软元件:X、Y、M、T、C、S、D□.b

LDP 仅在指定位元件从 OFF→ON 时导通一个扫描周期;LDF 仅在 ON→OFF 时导通。

LDP X0          ; X0 上升沿时导通一个周期
OUT Y0          ; Y0 输出一个脉冲

LP3U 位指定:LDP D0.0 — 监视 D0 第 0 位的上升沿


AND — 串联常开 ​

ANI — 串联常闭 ​

指令名称功能
AND与常开触点串联连接
ANI与非常闭触点串联连接

对象软元件:X、Y、M、T、C、S、D□.b(KnX/KnM 这类位组合不能当触点,只能当字操作数,见文末「三种容易写错的操作数写法」)

AND 将指定触点状态与之前的逻辑结果作"与"运算。ANI 为常闭触点的"与"运算。

梯形图:X0、X1 两个常开串联后串一个常闭,驱动线圈 Y0

LD  X0
AND X1          ; 串联 X1 常开
ANI X2          ; 串联 X2 常闭
OUT Y0

LP3U 变址:AND X0V0、LP3U 位指定:AND D0.0


ANDP / ANDF — 串联上升沿 / 串联下降沿 ​

指令名称功能
ANDP串联上升沿串联触点仅在上升沿导通
ANDF串联下降沿串联触点仅在下降沿导通

对象软元件:X、Y、M、T、C、S、D□.b

梯形图:与下方指令表同一段程序

LD  X0              ; 前提条件成立
ANDP X1             ; 再看 X1:只有它从 OFF→ON 的那一个周期接通
OUT Y0

LD  X0
ANDF X2             ; 只有 X2 从 ON→OFF 的那一个周期接通
OUT Y1

ANDP/ANDF 用在"条件一直成立、但只想在对方变化的那一瞬间做一次"的场合, 比 LDP 多了一个前提条件串联,省掉一个中间继电器。


OR — 并联常开 ​

ORI — 并联常闭 ​

指令名称功能
OR或常开触点并联连接
ORI或非常闭触点并联连接

对象软元件:X、Y、M、T、C、S、D□.b(KnX/KnM 这类位组合不能当触点,只能当字操作数,见文末「三种容易写错的操作数写法」)

OR 将指定触点状态与之前的逻辑结果作"或"运算。ORI 为常闭触点的"或"运算。

梯形图:与下方指令表同一段程序

LD  X0
OR  X1          ; 并联 X1 常开
ORI X2          ; 并联 X2 常闭
OUT Y0

LP3U 变址:OR X0V0、LP3U 位指定:OR D0.0


ORP / ORF — 并联上升沿 / 并联下降沿 ​

指令名称功能
ORP并联上升沿并联触点仅在上升沿导通
ORF并联下降沿并联触点仅在下降沿导通

对象软元件:X、Y、M、T、C、S、D□.b

梯形图:与下方指令表同一段程序

LD  X0
ORP X1          ; X1 的上升沿这一瞬间,这条支路导通一个周期
OUT Y0

三种容易写错的操作数写法 ​

KnX / KnM:把一串位当成一个数——但只能当"字",不能当触点 ​

K4M0 表示"从 M0 开始的 16 个位"(n 表示组数,每组 4 个位;K1X0 是 X0-X3)。 它的用途是批量读写,所以只能出现在要"字"的地方:

梯形图:与下方指令表同一段程序

LD  M8000
MOV K4M0 D100   ; 把 M0-M15 这 16 个标志位一次读进 D100

不能拿它当触点

LD K4M0 编译时报:

步号0(第1行): LD 的操作数必须是位软元件

要按位判断就写具体的 M、X;要整批搬就用 MOV/DMOV/BMOV。

D□.b:把一个数据寄存器当 16 个标志位用 ​

触点、线圈两个方向都可以:

梯形图:与下方指令表同一段程序

LD  D100.3      ; 读 D100 的第 3 位(0~15)
OUT Y0

LD  X0
OUT D100.3      ; 写 D100 的第 3 位

现场用它把"一堆报警位"塞进少数几个 D 里传给上位机和云,比占用几十个 M 省地址。 D□.b 的位号只到 15,写 D100.16 会报错。

变址 V/Z:只有 8 个,别按十进制区去编 ​

梯形图:与下方指令表同一段程序

LD  X0V0        ; X 的编号加上 V0 里的值
OUT Y0

LD  M8000
MOV D100Z0 D200 ; 源地址 = D(100 + Z0)

变址寄存器只有 V0-V7、Z0-Z7(写 V8、Z9 越界)。 特殊辅助继电器(M8000 以上)和 32 位计数器(C200 以上)不能加变址修饰。


LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研