数据转换 (DTR)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。DTR 指令将 Source 值经 Mask 屏蔽码处理,再将结果与 Reference 值进行比较。
DTR 指令还会将经屏蔽处理的 Source 值写入 Reference 值,以便进行下一次比较。Source 保持不变。
屏蔽码中的“1”表示将传递相应的数据位。屏蔽码中的“0”表示会阻止相应的数据位。
使能后,置位的 Mask 位会传递数据的相应位;清零的 Mask 位会屏蔽数据的相应位。
如果经屏蔽处理后的 Source 与 Reference 不同,EnableOut 将变为真,且持续一次扫描的时间。如果经屏蔽处理后的 Source 与 Reference 相同,EnableOut 为假。
重要提示:
使用此指令进行联机编程会出现危险。如果 Reference 值与 Source 值不同,EnableOut 将变为真。应谨慎在处理器处于运行或远程运行模式时插入此指令。
可用语言
梯形图

操作数
梯形图
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
Source | DINT | 立即数 标签 | 要与参考数组进行比较的数组 |
Mask | DINT | 立即数 标签 | 要屏蔽或传递的位 |
Reference | DINT | 标签 | 要与源数组进行比较的数组 |
输入立即数屏蔽码值
输入屏蔽码时,编程软件默认使用十进制值。如果要输入其他格式的屏蔽码,可在数值前加上相应的前缀。
前缀 | 说明 |
|---|---|
16# | 十六进制(例如,16#0F0F) |
8# | 八进制(例如,8#16) |
2# | 二进制(例如,2#00110011) |
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参阅 常用属性。
执行
梯形图
条件 | Action |
|---|---|
预扫描 | Reference = Source AND Mask。 |
梯级输入条件为假 | Reference = Source AND Mask。 |
梯级输入条件为真 | 请参见“DTR 流程图(真)” |
后扫描 | 不适用 |
DTR 流程图(真)

示例
梯形图

启用后,DTR 指令将屏蔽 value_1。如果经屏蔽处理的两个值不同,则 EnableOut 设置为真。

在示例 1 中,由于参考值等于 sourcevalue_1 AND Mask,因此 EnableOut 将始终设置为假。在示例 2 中,出于某种原因源值发生变化,reference_value 不等于 source_value AND Mask,在这种情况下,EnableOut 将设置为 TRUE,引用值将更新为源值和屏蔽码之间与运算的结果。因此,前次扫描中的参考值为 183,而当前扫描中则为 187。检测到值变化时,梯级仅在一次扫描的时间内保持为真,因为在下次扫描时只要源值不发生变化,梯级就会保持为假,原因是参考值将再次等于源值与屏蔽码之间与运算的结果。
提供反馈