今天,我们一起来学习一下西门子s7-200SAMRT的位逻辑指令,在PLC中位逻辑指令是使用最频繁的,除云一些非常特殊的程序段以外,可以说每一个梯形图程序段都离不开位逻辑指令。顾名思义,位逻辑指令操作的对象是存寄存器存储单元中的二进制位。位逻辑运算指令的本质是,通过位寻址的方式找到指定的位,读取或改变位的状态(0或1).位与位的之间的逻辑运算主要有与、或、非的运算。
一、位的读取与写入,位的读取在梯形图中就是放置触点,写入就是放置线圈,如下图,第一个程序段,我们就是先通过放置触点I0.0来读取二进制位I0.0(也就是我们的过程映像输入寄存器的每0字节第0位)对应物现输入I0.0,并把其状态写入到标志寄存器的M0.1,第二个程序段是把M0.1的当前值复制给Q0.0。所以我们要记住放置哪个触点就是读该位,放置线圈就是写某个位
编程举例
在STL指令中,放置触点,用LD指令,LOAD的意思,LD I0.0 意思就读取I0.0的值并装入堆栈。= M0.1的意思就让M0.1的值等于当前堆栈顶部的值。
STL指令
二、与运算,串联就是与运算。A与B,当AB同时为1时,运算结果为1,否则为0 。如下图所示:把SM0.0与M0.1串联作与运算,运算结果写入Q0.0,如果SM0.0与M0.1都是1时,Q0.0=1,如果SM0.0与M0.1中任意一个为0,则Q0.0=0。
三、或运算,并联就是或运算。A或B,只有当A和B都为0时运算结果才为0,否则为1。如下图所示:I0.0与I0.1并联做与运算,运算结果写入Q0.1,如果I0.0和I0.1的值均为0时,则Q0.1=0,如果I0.0和I0.1任一个位状态为1,则Q0.1=1。
与运算
在STL指令中,A XX.X是与运算,O XX.X为或运算。
四、非运算,非运算就是取反,把1变成0,把0变成1。下图的程序就是先或运算,再取反。
五、上升沿与下降沿指令,正跳变触点指令(上升沿)允许能量在每次断开到接通转换后流动一个扫描周期。负跳变触点指令(下降沿)允许能量在每次接通到断开转换后流动一个扫描周期。
六、置位与复位指令,置位 (S) 和复位 (R) 指令用于置位(接通)或复位(断开)从指定地址(位)开始的一组位 (N)。可以置位或复位 1 至 255 个位。如果复位指令指定定时器位(T 地址)或计数器位(C 地址),则该指令将对定时器或计数器位进行复位并清零定时器或计数器的当前值。