0和1是二进制运算的基础。在PLC当中,每一个触点或者线圈有且只有两种状态——导通和未导通,这样我们就可以把只有两种状态的触点或线圈看作一个位,当导通时=1,未导通时=0。
位逻辑指令是STL编程中最基础的指令,主要用于表达与处理位与位之间的逻辑关系。本章节主要介绍位逻辑指令中的如下几个指令:

大家都知道,触点分为常开触点和常闭触点,触点与触点之前的位置关系可以分为串联和并联。知道了这些,就会对下面的指令有更清楚的了解。
一、A——与运算指令(1)指令格式:A位
解释:指令A后面接的是一个位,这个位只能是存储区为I、Q、M、L、D、T、C中的某一位。比如、、等。
(2)指令作用:A其实是AND的缩写。A检查寻址位的状态是否为"1",并将测试结果与RLO进行与运算。如就是检测状态是否为1,然后与RLO进行与运算。这句话说白了,就是在电路中串联一个常开触点!
(3)应用举例:
A指令检查是否为1,一旦检查出=1,则将导通。
换一个方式去理解,就是在电路中串联一个常开触点,线圈导不导通由决定。其实上面STL指令可以转换成LAD梯形图就非常容易理解,梯形图如下:
再举另外一个例子:
A指令检查是否为1,A指令检查是否为1,和作“与”运算,如果=1,=1,则与运算的结果ROL=1,则导通;若两个点中有一个或都等于0,则ROL=0,不导通。
换一个方式去理解,就是在电路中串联一个常开触点,再串联一个常开触点,线圈导不导通由和的“与”运算结果决定。将STL语句转换成梯形图,如下:
二、AN——与非运算指令(1)指令格式:AN位
解释:指令AN后面接的是一个位,这个位只能是存储区为I、Q、M、L、D、T、C中的某一位。比如、、等。
(2)指令作用:AN其实是ANDNOT的缩写。AN检查寻址位的状态是否为"0",并将测试结果与RLO进行与运算。如就是检测状态是否为0,然后与RLO进行与运算。这句话说白了,就是在电路中串联一个常闭触点!
(3)应用举例:
AN指令检查是否为0,一旦检查出=0,则将导通。
换一个方式去理解,就是在电路中串联一个常闭触点,线圈导不导通由决定。上面STL指令转换成梯形图如下:
再举另外一个例子:
AN指令检查是否为0,AN指令检查是否为0,和作“与”运算,如果=0,=0,则与运算的结果ROL=1,则导通;若两个点中有一个或都等于1,则ROL=0,不导通。
换一个方式去理解,就是在电路中串联一个常闭触点,再串联一个常闭触点,线圈导不导通由和的“与”运算决定。将STL语句转换成梯形图,如下:
三、O——或运算(1)指令格式:O位
解释:指令O后面接的是一个位,这个位只能是存储区为I、Q、M、L、D、T、C中的某一位。比如、、等。
(2)指令作用:O其实是OR的缩写。O检查寻址位的状态是否为"1",并将测试结果与RLO进行或运算。这句话说白了,就是在电路中并联一个常开触点!
(3)应用举例:
O指令检查是否为1,O指令检查是否为1,和作“或”运算,只要和至少一个为1,则或运算的结果ROL=1,则导通。
换一个方式去理解,就是在电路中将常开触点与常开触点并联。将STL语句转换成梯形图,如下:
四、ON或非运算(1)指令格式:ON位
解释:指令ON后面接的是一个位,这个位只能是存储区为I、Q、M、L、D、T、C中的某一位。比如、、等。
(2)指令作用:ON其实是ORNOT的缩写。ON检查寻址位的状态是否为"0",并将测试结果与RLO进行或运算。这句话说白了,就是在电路中并联一个常闭触点!
(3)应用举例:
ON指令检查是否为0,ON指令检查是否为0,和作“或”运算,只要和至少一个为0,则或运算的结果ROL=1,则导通。
换一个方式去理解,就是在电路中将常闭触点与常闭触点并联。将STL语句转换成梯形图,如下:
重点补充知识点:O先与运算后或运算
先看下面的STL语句:
这里要先对A指令进行运算,然后才进行O指令的逻辑运算,这就有点像乘法和加法的运算,先算乘法,再算加法。看下图就能很好的理解了其中的优先级了。
五、X——异或运算首先,我们说一下异或的意思,见如下表格:
从上面的表格可以看出,异或的意思就是两个位相同时为0,不同时为1,是不是有点小叛逆?下面介绍异或运算的用法:
(1)指令格式:X位
解释:指令X后面接的是一个位,这个位只能是存储区为I、Q、M、L、D、T、C中的某一位。比如、、等。
(2)指令作用:X其实是ExclusiveOR的缩写。X检查寻址位的状态是否为"1",并将测试结果与RLO进行异或运算。
(3)应用举例:
上面的意思就是将常开触点与常开触点进行异或运算。
六、XN——同或运算首先,我们说一下同或的意思,见如下表格:
从上面的表格可以看出,同或的意思就是两个位相同时为1,不同时为0。下面介绍同或运算的用法:
(1)指令格式:XN位
解释:指令XN后面接的是一个位,这个位只能是存储区为I、Q、M、L、D、T、C中的某一位。比如、、等。
(2)指令作用:X其实是ExclusiveORNOT的缩写。XN检查寻址位的状态是否为"0",并将测试结果与RLO进行异或运算。
(3)应用举例:
在西门子PLC的STL编程中,A、AN、O、ON、X、XN这几个指令是最常用的,所以初学者必须要理解并掌握好。