INVERT:求反码 |
说明
可以使用“求反码”指令对输入 IN 的各个位的信号状态取反。在处理该指令时,输入 IN 的值与一个十六进制掩码(表示 16 位数的 W#16#FFFF 或表示 32 位数的 DW#16#FFFF FFFF)进行“异或”运算。这会将各个位的信号状态取反,并且结果存储在输出 OUT 中。
参数
下表列出了“求反码”指令的参数:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
EN | Input | BOOL | I、Q、M、D、L 或常量 | 使能输入 |
ENO | Output | BOOL | I、Q、M、D、L | 使能输出 |
IN | Input | 位字符串、整数 | I、Q、M、D、L、P 或常量 | 输入值 |
OUT | Output | 位字符串、整数 | I、Q、M、D、L、P | 输入 IN 的值的反码 |
可以从指令框的“???”下拉列表中选择该指令的数据类型。
有关有效数据类型的更多信息,请参见“另请参见”。
示例
以下示例说明了该指令的工作原理:
下表将通过具体的操作数值对该指令的工作原理进行说明:
参数 | 操作数 | 值 | |
IN | TagIn_Value | W#16#000F | W#16#7E |
OUT | TagOut_Value | W#16#FFF0 | W#16#81 |
如果操作数“TagIn”的信号状态为“1”,则执行该指令。该指令对输入“TagIn_Value”的各个位的信号状态取反,并将结果写入输出“TagOut_Value”。使能输出 ENO 和输出“TagOut”的信号状态都将设置为“1”。
DECO:解码 |
说明
可以使用“解码”指令,将输入值指定的输出值中的某个位置位。
“解码”指令读取输入 IN 的值,并将输出值中位号与读取值对应的那个位置位。输出值中的其它位以零填充。当输入 IN 的值大于 31 时,则将执行以 32 为模的指令。
参数
下表列出了“解码”指令的参数:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
EN | Input | BOOL | I、Q、M、D、L 或常量 | 使能输入 |
ENO | Output | BOOL | I、Q、M、D、L | 使能输出 |
IN | Input | UINT | I、Q、M、D、L、P 或常量 | 输出值中待置位位的位置。 |
OUT | Output | 位字符串 | I、Q、M、D、L、P | 输出值 |
可以从指令框的“???”下拉列表中选择该指令的数据类型。
有关有效数据类型的更多信息,请参见“另请参见”。
示例
以下示例说明了该指令的工作原理:
下图将通过具体的操作数值对该指令的工作原理进行说明:
如果操作数“TagIn”的信号状态为“1”,则执行该指令。该指令从输入中“TagIn_Value”操作数的值中读取位号“3”,并将第三个位设置为输出中“TagOut_Value”操作数的值。
如果该指令执行成功,则使能输出 ENO 的信号状态为“1”,同时置位输出“TagOut”。
ENCO:编码 |
说明
可以使用“编码”指令读取输入值中最低有效位的位号并将其发送到输出 OUT。
“编码”指令选择输入 IN 值的最低有效位,并将该位号写入到输出 OUT 的变量中。
参数
下表列出了“编码”指令的参数:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
EN | Input | BOOL | I、Q、M、D、L 或常量 | 使能输入 |
ENO | Output | BOOL | I、Q、M、D、L | 使能输出 |
IN | Input | 位字符串 | I、Q、M、D、L、P 或常量 | 输入值 |
OUT | Output | INT | I、Q、M、D、L、P | 输出值 |
可以从指令框的“???”下拉列表中选择该指令的数据类型。
有关有效数据类型的更多信息,请参见“另请参见”。
示例
以下示例说明了该指令的工作原理:
下图将通过具体的操作数值对该指令的工作原理进行说明:
如果操作数“TagIn”的信号状态为“1”,则执行该指令。该指令选择输入“TagIn_Value”的最低有效位,并将位号“3”写入输出“TagOut_Value”的变量中。
如果该指令执行成功,则使能输出 ENO 的信号状态为“1”,同时置位输出“TagOut”。
页面更新:2024-05-16
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号