西门子PLC字逻辑指令用法

2019年1月12日20:28:54 发表评论 28 阅读

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 指令

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

 

weinxin
plc基础知识
每一个PLC工程师都应该关注的微信公众账号

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: