主要内容

maskWrite

对保持寄存器执行掩码写操作

描述

例子

maskWrite (m,地址andMaskorMask写入数据到Modbus对象寄给地址为地址,使用指定的掩码值。该函数可以设置或清除特定存储寄存器中的单个位。它是一个读/修改/写操作,并使用and掩码、OR掩码和寄存器的当前内容的组合。

例子

maskWrite (m,地址andMaskorMaskserverId另外,指定serverId作为要发送写命令的服务器地址。

例子

全部折叠

方法可以修改保存寄存器的内容maskWrite函数。该函数可以设置或清除特定存储寄存器中的单个位。它是一个读/修改/写操作,并使用and掩码、OR掩码和寄存器的当前内容的组合。

创建而且变量。

andMask = 6或mask = 0

将位0设置为地址20,并执行掩码写操作。自andMask是6,清除除1位和2位以外的所有位。比特1和比特2被保留。

andMask maskWrite (m, 20日,orMask)

使用serverId参数指定要发送掩码写入命令的服务器地址。

在地址20处设置位0,在服务器ID 3处执行掩码写操作。

maskWrite (20 m, 6 0, 3)

输入参数

全部折叠

要对其执行掩码写操作的寄存器地址,指定为双精度。Address必须是对象名称后的第一个参数。这个例子将位0设置为地址20,并执行掩码写操作。

例子:andMask maskWrite (m, 20日,orMask)

数据类型:

在掩码写操作中使用的AND值,指定为双精度值。andMask必须是对象名称后的第二个参数。有效范围为0 - 65535

这个示例将位0设置为地址20,并使用6作为and值执行掩码写操作。

例子:maskWrite (20 m, 6 0)

数据类型:

要在掩码写操作中使用的OR值,指定为双精度值。orMask必须是对象名称后的第三个参数。有效范围为0 - 65535

这个示例将位0设置为地址20,并使用0作为OR值执行掩码写操作。

例子:maskWrite (20 m, 6 0)

数据类型:

发送掩码写命令的服务器地址,指定为双精度值。服务器ID必须指定在对象名称、地址、与掩码和或掩码后面。如果不指定serverId,默认为1使用。有效值为0 - 247,0是广播地址。这个示例将位0设置为地址20,并在服务器ID 3上执行掩码写操作。

例子:maskWrite (20 m, 6 0, 3)

数据类型:

提示

函数算法工作原理如下:

结果=(寄存器值AND AND mask) OR (OR mask AND (NOT AND mask))

例如:

十六进制二进制当前内容12 0001 0010 And_Mask F2 1111 0010 Or_Mask 25 0010 0101 (NOT And_Mask) 0D 0000 1101结果17 0001 0111

如果orMask值为0时,结果只是当前内容和andMask.如果andMask值为0时,结果等于orMask价值。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

在R2017a中介绍

Baidu
map