位逻辑指令在 PLC 编程当中是最为基础且使用极为频繁的指令种类。在西门子 S7-1200 里,位逻辑指令按照不同的功能用途呈现出多种形式,主要包括基本位逻辑指令、置位/复位指令以及上升沿/下降沿指令。图1
先来看基本位逻辑指令,它由常开触点、常闭触点、逻辑取反、输出线圈和取反输出线圈组成。在“bit”处需填入 BOOL 型变量。图2
接着看触点指令,如下图所示,指令执行时,CPU 会从特定的存储器位读取位数据。当位数据为 0 时,常开触点断开,常闭触点闭合;当位数据为 1 时,常开触点闭合,常闭触点断开。若“bit”是 I 区的变量,在其后加上“:P”,可指定立即读取物理输入。立即读取是直接从物理输入读取位数据值,而非从过程映像 I 区读取。需注意,立即读取不会更新过程映像区。
再看逻辑取反指令,如下图所示,执行该指令时会对能流的输入逻辑状态进行取反。若没有能流流入 NOT 触点,则会有能流流出;若有能流流入 NOT 触点,则没有能流流出。图4
最后看线圈指令,如下图所示,执行该指令时,CPU 会根据能流流入线圈的情况向指定的存储器位写入新值。若有能流流入,则将输出线圈“bit”位置 1,取反输出线圈“bit”位置 0;若无能流流入,则将输出线圈“bit”位置 0,取反输出线圈“bit”位置 1。如果 bit 为 Q 区的变量,在其后加上“:P”,可指定立即写入物理输出。对于立即写入,会将位数据值直接写入物理输出,并写入过程映像 Q 区。图5