PHP与ECMP,三菱plc浮点数运算指令(ecmp与ezcp指令)的用法

本文详细介绍三菱PLC中的浮点数运算指令,包括ECMP、EZCP比较指令,以及加减乘除(FNC120-123)等四则运算,涵盖了二进制浮点数处理、比较和区间判断。理解这些指令有助于进行精确的数值计算和控制流程设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三菱plc浮点数运算指令

浮点数运算指令(FNC110-FNC1320)用于浮点数的处理,浮点数为32位数,包括浮点数的比较、变换、四则运算、开平方运算和三角函数等13条指令。

所有的浮点数处理指令都是32位指令,在使用时,大多数指令的助记符前面必须加上32位运算的标识符“D"。

它们分布在指令编号为FNC110~FNC119、FNC120~FNC129、FNC130~FNC139之中。

1、二进制浮点数比较指令ECMP

二进制浮点数比较指令ECMP(FNC110) DECMP(P)指令的使用如图1所示,将两个源操作数进行比较,比较结果反映在目标操作数中。

如果操作数为常数则自动转换成二进制浮点值处理。该指令源操作数可取K、H和D,目标操作数可用Y、M和S。为32位运算指令,占17个程序步。

26181b5111cc1f5cfea7feb6308dd582.png

图1 二进制浮点数比较指令的使用

2、二进制浮点数区间比较指令EZCP

二进制浮点数区间比较指令EZCP(FNC111)  EZCP(P)指令的功能是将源操作数的内容与用二进制浮点值指定的上下二点的范围比较,对应的结果用ON/OFF反映在目标操作数上,如图2所示。该指令为32位运算指令,占17个程序步。源操作数可以是K,H和D;目标操作数为Y、M和S。[S1.]应小于[S2.],操作数为常数时将被自动转换成二进制浮点值处理。

fa6aa931680ef3bd32f90f3e1e9f18d5.png

图2 二进制浮点数区间比较指令的使用

加法指令EADD

减法指令ESUB

乘法指令EMVL

除法指令EDIV

3、二进制浮点数的四则运算指令

浮点数的四则运算指令有加法指令EADD (FNC120)、减法指令ESUB(FNC121)、乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四条指令。

四则运算指令的使用说明如图3所示,它们都是将两个源操作数中的浮点数进行运算后送入目标操作数。

当除数为0时出现运算错误,不执行指令。此类指令只有32位运算,占13个程序步。

运算结果影响标志位M8020(零标志)、M8021(借位标志)、M8022(进位标志)。源操作数可取K、H和D,目标操作数为D。如有常数参与运算则自动转化为浮点数。

5998ce82891a734dc052099ac8de7447.png

图3 二进制浮点数四则运算指令的使用

二进制的浮点运算还有开平方、三角函数运算等指令等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值