AND、OR 和 XOR 逻辑运算指令
表格 8- 165 AND、OR 和 XOR 逻辑运算指令
1 对于 LAD 和 FBD: 单击“???”并从下拉菜单中选择数据类型。
要添加输入,请单击“创建”(Create) 图标,或在其中一个现有 IN参数的输入短线处单击右键,并选择“插入输入”(Insert input) 命令。要删除输入,请在其中一个现有IN参数(多于两个原始输入时)的输入短线处单击右键,并选择“删除”(Delete) 命令。
表格 8- 166 参数的数据类型
参数 | 数据类型 | 说明 |
IN1, IN2 | Byte, Word, DWord | 逻辑输入 |
OUT | Byte, Word, DWord | 逻辑输出 |
1、所选数据类型将 IN1、IN2 和 OUT 设置为相同的数据类型。IN1 和 IN2 的相应位值相互组合,在参数 OUT 中生成二进制逻辑结果。 执行这些指令之后,ENO 总是为 TRUE。
INV(求反码)指令
表格 8- 167 INV 指令

INV 指令
1 对于 LAD 和 FBD: 单击“???”并从下拉菜单中选择数据类型。
表格 8- 168 参数的数据类型
参数 | 数据类型 | 说明 |
IN | SInt, Int, DInt, USInt, UInt, UDInt, Byte, Word, DWord | 要取反的数据元素 |
OUT | SInt, Int, DInt, USInt, UInt, UDInt, Byte, Word, DWord | 取反后的输出 |
DECO(解码)和 ENCO(编码)指令
表格 8- 169 ENCO 和 DECO 指令

ENCO 和 DECO 指令
对于 LAD 和 FBD: 单击“???”并从下拉菜单中选择数据类型。
表格 8- 170 参数的数据类型
参数 | 数据类型 | 说明 |
IN | ENCO: Byte, Word, DWord DECO: UInt | ENCO: 要编码的位序列
DECO: 要解码的值 |
OUT | ENCO: Int
DECO: Byte, Word, DWord |
ENCO: 编码后的值
DECO: 解码后的位序列 |
表格 8- 171 ENO 状态
ENO | 条件 | 结果 (OUT) |
1 | 无错误 | 有效位号 |
0 | IN 为零 | OUT 设置为零 |
DECO 参数 OUT 的数据类型选项(Byte、Word 或 DWord)限制参数 IN 的可用范围。 如果参数 IN 的值超出可用范围,将执行求模运算,如下所示提取低有效位。
DECO 参数 IN 的范围:
- 3位(值0-7)IN 用于设置 Byte OUT 中 1 的位位置
- 4位(值0-15)IN 用于设置 Word OUT 中 1 的位位置
- 5位(值0-31)IN 用于设置 DWord OUT 中 1 的位位置
表格 8- 172 示例
SEL(选择)、MUX(多路复用)和 DEMUX(多路分用)指令
表格 8- 173 SEL(选择)指令
对于 LAD 和 FBD: 单击“???”并从下拉菜单中选择数据类型。
表格 8- 174 SEL 指令的数据类型
参数 | 数据类型1 | 说明 |
G | Bool | · 0 选择 IN0
· 1 选择 IN1 |
IN0, IN1 | SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Time, Date, TOD, Char, WChar | 输入 |
OUT | SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Time, Date, TOD, Char, WChar | 输出 |
1 输入变量和输出变量必须为相同的数据类型。
条件代码: 执行 SEL 指令之后,ENO 始终为 TRUE。
表格 8- 175 MUX(多路复用)指令
添加输入,请单击“创建”(Create) 图标,或在其中一个现有 IN参数的输入短线处单击右键,并选择“插入输入”(Insert input) 命令。
要删除输入,请在其中一个现有 IN参数(多于两个原始输入时)的输入短线处单击右键,并选择“删除”(Delete) 命令。
表格 8- 176 MUX 指令的数据类型
参数 | 数据类型 | 说明 |
K | UInt | · 0 选择 IN1
· 1 选择 IN2 · n 选择 INn |
IN0, IN1, ..
INn |
SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Time, Date, TOD, Char, WChar | 输入 |
ELSE | SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Time, Date, TOD, Char, WChar | 输入替换值(可选) |
OUT | SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Time, Date, TOD, Char, WChar | 输出 |
1 输入变量和输出变量必须为相同的数据类型。
要删除输出,请在其中一个现有 OUT参数(多于两个原始输出时)的输出短线处单击右键,并选择“删除”(Delete) 命令。
表格 8- 178 DEMUX 指令的数据类型
参数 | 数据类型1 | 说明 |
K | UInt | 选择器的值:
· 0 选择 OUT1 · 1 选择 OUT2 · n 选择 OUTn |
IN | SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal,
Byte, Word, DWord, Time, Date, TOD, Char, WChar |
输入 |
OUT0, OUT1,
.. OUTn |
SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal,
Byte, Word, DWord, Time, Date, TOD, Char, WChar |
输出 |
ELSE | SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal,
Byte, Word, DWord, Time, Date, TOD, Char, WChar |
K 大于 (OUTn - 1) 时的替换输出 |
1 输入变量和输出变量必须为相同的数据类型。
表格 8- 179 MUX 和 DEMUX 指令的 ENO 状态
ENO | 条件 | 结果 (OUT) |
1 | 无错误 | MUX:将选择的 IN 值复制到 OUT DEMUX:将 IN 值复制到选择的 OUT |
0 | MUX:K 大于输入数 -1 | · 不提供 ELSE: OUT 不变,
· 提供 ELSE,将 ELSE 值分配给 OUT |
DEMUX: K 大于输出数 -1 | · 不提供 ELSE: 输出不变,
· 提供 ELSE,将 IN 值复制到 ELSE |

评论