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

三菱电机服务商    

PLC、变频器、伺服驱动、触摸屏,机器人

联系方式
  • 联系人:方经理
  • 电话:13073017555
  • 邮件:gzws26@126.com
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 三菱Q系列中,如何进行浮点数的比较运算?
新闻中心
三菱Q系列中,如何进行浮点数的比较运算?
发布时间:2026-06-07        浏览次数:1        返回列表

三菱 Q 系列浮点数比较有两套常用写法:1)ECMP/EZCP(功能指令,结果输出到 M/Y/S);2)E=、E>、E<…(直接触点比较,直观)。


一、先明确:Q 系列浮点数格式

  • 32 位单精度浮点数:占用连续 2 个 D 寄存器(如 D0 = 低 16、D1 = 高 16)。

  • 常数写法:E1.23(浮点 1.23),可直接用在指令里。

  • 整数转浮点:FLT(16 位→浮点)、DFLT(32 位→浮点)。


二、方法一:ECMP(FNC110)—— 最常用

1. 指令格式(32 位)

plaintext

DECMP   S1    S2    D
DECMPP  S1    S2    D   ; 上升沿执行一次(推荐)
  • S1、S2:比较的两个浮点数(D/D+D、E 常数、K/H)。

  • D:结果起始位,占用连续 3 个位(D、D+1、D+2)。

2. 结果对应关系

  • D=ON → S1 > S2

  • D+1=ON → S1 = S2

  • D+2=ON → S1 < S2

3. 示例程序

plaintext

; 把D0(整数)转浮点到D10/D11
FLT     D0      D10

; 比较D10/D11 与 E50.0
LD      X0
DECMPP  D10     E50.0   M0   ; M0=M0(>), M1=(=), M2=(<)

; 应用结果
LD      M0          ; D10 > 50.0
OUT     Y0

LD      M1          ; D10 = 50.0
OUT     Y1

LD      M2          ; D10 < 50.0
OUT     Y2

image


三、方法二:EZCP(FNC111)—— 区间比较

1. 指令格式

plaintext

DEZCP   S      S1    S2    D
DEZCPP  S      S1    S2    D
  • S:被测浮点数;S1:下限;S2:上限(S1 < S2)。

  • D:结果位,占 3 个连续位。

2. 结果

  • D=ON → S < S1(低于下限)

  • D+1=ON → S1 ≤ S ≤ S2(在区间内)

  • D+2=ON → S > S2(高于上限)

3. 示例

plaintext

LD      X1
DEZCPP  D10     E0.0   E100.0  M10

LD      M11         ; 0 ≤ D10 ≤ 100
OUT     Y3

四、方法三:直接触点比较(E=、E>、E<…)—— 最直观

Q 系列支持浮点直接比较触点,不用额外 M 点,直接写在梯形图上。

1. 指令表(32 位浮点)

  • E=  S1  S2  ;等于

  • E<> S1  S2  ;不等于

  • E>  S1  S2  ;大于

  • E>= S1  S2  ;大于等于

  • E<  S1  S2  ;小于

  • E<= S1  S2  ;小于等于

2. 示例(直接触点)

plaintext

; D10/D11 > E50.0 时Y0输出
LD      E>      D10     E50.0
OUT     Y0

; D10/D11 = E50.0 时Y1输出
LD      E=      D10     E50.0
OUT     Y1

; D10/D11 < E50.0 时Y2输出
LD      E<      D10     E50.0
OUT     Y2

这种写法最简洁,日常编程优先用。


五、常见坑与注意事项

  1. 必须 32 位指令:ECMP/DECMP、EZCP/DEZCP、E=/E>… 都是32 位,操作数要占连续 2 个 D

  2. 浮点精度问题

    • 浮点数等于(=)比较不可靠(有微小误差)。

    • 建议用范围判断:如 E>= E49.99 AND E<= E50.01 代替 E= E50.0

  3. 数据类型一致:不要整数(D0)直接和浮点(E50.0)比,先FLT 转浮点

  4. 常数自动转换:K100、H64 会自动转浮点,可直接用在 S1/S2。


六、总结

  • 简单比较:用 E=、E>、E<… 直接触点,最省事。

  • 需要结果位:用 DECMP

  • 区间判断:用 DEZCP

  • 切记:等于比较用区间替代,避免精度误判。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服