ZMATH64 -- 64位计算

类型

64位计算指令

描述

对存储D寄存器(MODBUS寄存器)64位数进行计算。

一个64位有符号整数占用4个寄存器(小端模式)

只操作MODBUS寄存器,不处理VR映射等。

4系列控制器20170629固件以上版本支持。

语法

ZMATH64(opmode, dindex1, dindex2)

opmode:操作编号

dindex1dindex2MODBUS寄存器编号

操作编号

执行操作

说明

1

64位整数加法

D64(dindex1) += D64(dindex2)

2

64位整数减法

D64(dindex1) -= D64(dindex2)

3

64位整数乘法

D64(dindex1) *= D64(dindex2)

4

64位整数除法

D64(dindex1) /= D64(dindex2)

5

64位整数余

D64(dindex1) %= D64(dindex2)

 

 

 

11

64位整数读取

D64(dindex1) = D32(dindex2)

12

64位整数转换

D32(dindex1) = D64(dindex2)

13

64位整数读取

D64(dindex1) = D32IEEE(dindex2)

14

64位整数转换

D32IEEE(dindex1) = D64(dindex2)

 

 

 

15

赋值

D64(dindex1) = double64(dindex2)

16

赋值

double64(dindex1) = D64(dindex2)

17

赋值

double64 (dindex1) = D32IEEE (dindex2)

18

赋值

D32IEEE (dindex1) = double64 (dindex2)

 

 

 

21

double加法

double64 (dindex1) += double64 (dindex2)

22

double减法

double64 (dindex1) -= double64 (dindex2)

23

double乘法

double64 (dindex1) *= double64 (dindex2)

24

double除法

double64 (dindex1) /= double64 (dindex2)

25

double余,求小数

double64 (dindex1) %= double64 (dindex2)

 

D32IEEE 表示浮点数存储,同MODBUS_IEEE

D64表示64位有符号整数存储,可以通过两个MODBUS_LONG来读取高32和低32位。

适用控制器

通用

例子

MODBUS_LONG(0)=100

MODBUS_LONG(8)=20

ZMATH64(1,8,0)        '64位整数加法计算,两个数相加后存储在MODBUS_LONG(8)起始地址

?MODBUS_LONG(0)      '打印结果,100

?MODBUS_LONG(8)      '打印结果,120

相关指令

MODBUS_IEEEMODBUS_LONGMODBUS_REG