返回主站|会员中心|保存桌面

台湾固纬电子    

台湾固纬示波器、音频信号产生器、电源供应器

联系方式
  • 联系人:姚经理
  • 电话:18520143666
新闻分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > 三菱PLC中比较寄存器当前值和历史值的指令是什么?
新闻中心
三菱PLC中比较寄存器当前值和历史值的指令是什么?
发布时间:2025-10-17        浏览次数:111        返回列表

在三菱 PLC 中,比较寄存器(D)的当前值与历史值(通常存储在另一个寄存器中)的核心指令是比较指令(CMP),此外还有区间比较指令(ZCP) 可用于更复杂的范围判断。以下是详细说明:

一、基础比较指令:CMP(Compare)

功能:

比较两个寄存器(或寄存器与常数)的值,根据比较结果(大于 / 等于 / 小于)输出相应的触点信号。

格式:

ladder

CMP S1 S2 D
  • S1:源操作数 1(当前值,如 D0);

  • S2:源操作数 2(历史值,如 D10,或常数 K);

  • D:目标操作数(比较结果存储的起始软元件,通常为辅助继电器 M)。

比较结果:

  • 当 S1 > S2 时,D 对应的辅助继电器(如 M0)导通;

  • 当 S1 = S2 时,D+1 对应的辅助继电器(如 M1)导通;

  • 当 S1 < S2 时,D+2 对应的辅助继电器(如 M2)导通。

二、比较寄存器当前值与历史值的典型用法

以 “比较当前值 D0 与历史值 D10” 为例,判断 D0 是否变化:

1. 检测 “值是否变化”(核心逻辑)

ladder

LD     M8000          // 常通信号(每个扫描周期执行)
CMP    D0             D10        M0   // 比较D0(当前值)和D10(历史值),结果存M0-M2
// 当D0≠D10时,M0或M2导通(因M1仅在相等时导通)
LD     M0             // D0 > D10
OR     M2             // D0 < D10
OUT    M10            // M10=1表示D0的值发生变化

// 更新历史值(将当前值存入D10,供下一周期比较)
LD     M8000
MOV    D0             D10

逻辑说明:

  • CMP D0 D10 M0 执行后:

    • 若 D0=D10(未变化),则 M1=1,M0 和 M2=0;

    • 若 D0≠D10(变化),则 M0 或 M2=1,M1=0;

  • 通过 LD M0 OR M2 触发 M10 导通,直观表示 “值已变化”。

三、扩展:区间比较指令 ZCP(Zone Compare)

若需判断当前值是否在 “历史值 ± 某范围” 内(如过滤微小波动),可使用 ZCP 指令:

功能:

判断一个值是否在两个边界值之间(S2 ≤ S1 ≤ S3),输出相应触点信号。

格式:

ladder

ZCP S2 S3 S1 D
  • S2:下限值(如 D10-K2,历史值减 2);

  • S3:上限值(如 D10+K2,历史值加 2);

  • S1:当前值(如 D0);

  • D:结果存储的起始软元件(如 M0)。

应用示例(过滤 ±2 以内的波动):

ladder

LD     M8000
// 计算历史值D10的上下限(D10-2和D10+2)
SUB    D10            K2         D20   // D20 = D10 - 2(下限)
ADD    D10            K2         D21   // D21 = D10 + 2(上限)
// 判断D0是否在[D20, D21]范围内
ZCP    D20            D21        D0    M0  
// 当D0超出范围(变化量>±2)时,M0或M2导通
LD     M0             // D0 < 下限(变化量<-2)
OR     M2             // D0 > 上限(变化量>+2)
OUT    M10            // M10=1表示有效变化(需处理)

// 更新历史值
LD     M8000
MOV    D0             D10

四、总结

  • 比较寄存器当前值与历史值的核心指令是CMP,通过判断 “不等于”(M0 或 M2 导通)检测值是否变化;

  • 若需过滤微小波动,用ZCP指令设置区间范围,仅当变化量超出范围时触发动作;

  • 配合MOV指令实时更新历史值(如MOV D0 D10),确保每次比较的基准正确。

这两种指令是 PLC 中处理 “值变化检测” 的基础工具,广泛用于数据监控、异常判断等场景。

收缩
  • QQ咨询

  • 电话咨询

  • 18520143666
  • 添加微信客服