屏蔽移动 (MVM)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。在适用的情况下会注明控制器的差异。MVM 指令将源 Source 复制到 Destination,并允许屏蔽数据的某些部分。
MVM 指令使用屏蔽码来传递或屏蔽 Source 数据位。屏蔽码中的“1”表示传递数据位;屏蔽码中的“0”表示屏蔽数据位。
如果混用多种整型数据类型,该指令会将较小整型数据类型的高位填零,从而确保其与最大数据类型大小相同。
输入立即数屏蔽码值
输入屏蔽码时,编程软件默认使用十进制值。若要输入其他格式的屏蔽码,可在数值前加上相应的前缀。
前缀 | 说明 |
|---|---|
16# | 十六进制(例如,16#0F0F) |
8# | 八进制(例如,8#16) |
2# | 二进制(例如,2#00110011) |
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅“数据转换”部分。
梯形图
操作数 | 数据类型 | 格式 | 说明 |
|---|---|---|---|
Source | SINT INT DINT | 立即数 标签 | 要移动的值 |
Mask | SINT INT DINT | 立即数 标签 | 要屏蔽或传递的位 |
Dest | SINT INT DINT | 标签 | 用于存储结果的标签 |
影响数学状态标志
控制器 | 影响数学状态标志 |
|---|---|
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 否 |
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 |
严重/轻微故障
控制器 | 在以下情况下会发生轻微故障: | 故障类型 | 故障代码 |
|---|---|---|---|
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 该功能已启用,并检测到溢出 | 4 | 4 |
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 不适用 | 不适用 | 不适用 |
请参见“数组索引编制”通过数组建立索引,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 不适用 |
梯级输入条件为假 | 不适用 |
梯级输入条件为真 | 该指令将 Source 值经 Mask 屏蔽码进行处理,并将结果复制到 Destination 中。Destination 中的未屏蔽位保持不变。 |
后扫描 | 不适用 |
示例
梯形图

第 1 行:执行 MVM 指令前的 value_b
第 2 行:value_a
第 3 行:mask_2
第 4 行:执行 MVM 指令后的 value_b

将数据从 value_a 复制到 value_b,同时允许对数据进行屏蔽处理(可使用 0 屏蔽 value_a 中的数据)。
提供反馈