带目标屏蔽移动 (MVMT)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。在适用的情况下会注明控制器的差异。MVMT 指令将源 Source 复制到 Destination,并允许屏蔽数据的某些部分。
可用语言
梯形图
此指令不可用于梯形图中。
功能块

结构化文本
MVMT(MVMT_tag);
操作数
结构化文本
变量 | 类型 | 格式 | 说明 |
|---|---|---|---|
MVMT 标签 | FBD_MASKED_MOVE | 结构 | MVMT 结构 |
有关结构化文本中表达式语法的信息,请参见结构化文本语法部分。
功能块
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
MVMT tag | FBD_MASKED_MOVE | 结构 | MVMT 结构 |
FBD_MASKED_MOVE 结构
输入参数 | 数据类型 | 说明 |
|---|---|---|
EnableIn | BOOL | 如果此参数清零,指令不会执行,也不会更新输出。如果置位,则执行指令。 默认置位。 |
Source | DINT | 要经 Mask 屏蔽码处理后移动到 Destination 中的输入值。 有效值 = 任意整型值 |
Mask | DINT | 要从 Source 移动到 Dest 中的位的屏蔽码。如果将所有位置 1,可将相应位从 Source 移动到 Dest 中。如果将所有位清零,将阻止相应位从 Source 移动到 Dest 中。 有效值 = 任意整型值 |
Target | DINT | 在移动经 Mask 屏蔽码处理的 Source 位之前要移动到 Dest 中的输入值。 有效值 = 任意整型值 |
输出参数 | 数据类型 | 说明 |
|---|---|---|
EnableOut | BOOL | 指示指令是否处于启用状态。 |
Dest | DINT | 屏蔽移动操作的结果。 |
说明
使能后,MVMT 指令使用屏蔽码来传递或屏蔽 Source 数据位。屏蔽码中的“1”表示将传递相应的数据位。屏蔽码中的“0”表示会阻止相应的数据位。
如果混用多种整型数据类型,该指令会将较小整型数据类型的高位填零,从而确保其与最大数据类型大小相同。
使用输入参考输入立即数屏蔽码值
输入屏蔽码时,编程软件默认使用十进制值。如果要输入其他格式的屏蔽码,可在数值前加上相应的前缀。
前缀 | 说明 |
|---|---|
16# | 十六进制(例如,16#0F0F) |
8# | 八进制(例如,8#16) |
2# | 二进制(例如,2#00110011) |
影响数学状态标志
控制器 | 影响数学状态标志 |
|---|---|
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 否 |
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 对输出而言影响 |
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参阅 通用属性。
执行
功能块
条件/状态 | 执行的操作 |
|---|---|
预扫描 | EnableIn 和 EnableOut 位设置为假。 |
Tag.EnableIn 为假 | EnableIn 和 EnableOut 位设置为假。 |
Tag.EnableIn 为真 | EnableIn 和 EnableOut 位设置为真。 指令执行。 |
指令首次运行 | 不适用 |
指令首次扫描 | 不适用 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参见“功能块”表中的“预扫描”行。 |
正常执行 | 请参见“功能块”表中的“Tag.EnableIn 为真”行。 |
后扫描 | 请参见“功能块”表中的“后扫描”行。 |
示例
步骤 1
控制器将 Target 复制到 Dest。

步骤 2
该指令对 Source 进行屏蔽处理,并将其与 Dest 进行比较。在 Dest 中进行任何必要的更改后,即构成 value_masked 的输入参数。Source 和 Target 保持不变。屏蔽码中的 0 会阻止指令比较相应位。

功能块

结构化文本
MVMT_01.Source := value_1;
MVMT_01.Mask := mask_1;
MVMT_01.Target := target;
MVMT(MVMT_01);
value_masked := MVMT_01.Dest;
提供反馈