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

软件定制开发公司    

软件定制开发公司,承接各类工控软件,上位机软件,plc程序开发,编程,调试,电气...

联系方式
  • 联系人:方经理
  • 电话:13073017555
  • 邮件:gzws26@126.com
新闻分类
  • 暂无分类
站内搜索
 
友情链接
首页 > 新闻中心 > 三菱PLC程序负数可以乘吗?
新闻中心
三菱PLC程序负数可以乘吗?
发布时间:2026-11-07        浏览次数:4        返回列表

FX3U/5U/Q/R 都一样:负 × 正 = 负;负 × 负 = 正;正 × 正 = 正

一、指令要点(FX 系列)

  1. MUL(FNC22,16 位源 × 16 位源)

MUL  D0  D1  D2
  • D0、D1:16 位有符号数(范围 -32768 ~ +32767)

  • 结果是 32 位,自动存入:D2 (低 16bit)、D3 (高 16bit)

  • 示例:D0=K-5,D1=K8 → 结果 D3D2 = K-40ManualsLib

  1. DMUL(FNC22,32 位源 × 32 位源)

DMUL D0 D2 D4
  • (D1,D0)、(D3,D2):32 位有符号数(-2147483648 ~ 2147483647)

  • 结果是 64 位,占用:D4、D5、D6、D7 四个 D 寄存器

  • 适合工程量、温差、偏差换算(正负量程)

  1. 浮点数负数相乘:EMUL(FNC122),REAL 实数,同样支持正负

二、新手注意

  1. MUL 的结果占 2 个 D,DMUL 占 4 个 D,不要重叠地址!比如写 MUL D0 D1 D3,结果写到 D3、D4;如果你后面还要用 D3 做别的数,直接被冲掉。

  2. 16 位寄存器本身存负数没问题,但超过 ±32767 就溢出变乱负数,这种不是乘法错了,是源数据超范围。

三、简单例子

X0 ON:
MUL  K-10  K-20  D10   → (-10) × (-20) = +200 存入D11 D10
MUL  K-10  K20   D20   → (-10) × 20 = -200

四、补充区分

  • MUL、DMUL:有符号(默认,支持负数)

  • MUL_U / DMUL_U:无符号乘法,只能正数,负数算出来会乱,不要混用(FX5U、iQ-R 才有_U 后缀)

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服