不懂PLC的字右移,字左移,位右移,这篇文章给你解释
本文主要是为了解释我们前面编写的循环小灯的程序,有很多朋友说看不懂指令的意思,在这里小编就为大家,解释一下这些指令的用法。
位右移指令:
该指令的助记符,指令代码,操作数,程序步如下表:
指令格式:
X010驱动SFTRP,X000,M0,K16,K4这条指令是什么意思呢?我们通过下面这个图来看看。
源操作数X000,K4表示的是以x0为首的,X1,X2,X3。M0,K16表示的是以M0为首的连续的16个位元件,指的是M0~M15的位元件。当该指令接通的时候把X0,X1,X2,X3为一组移到这4个目标元件中去。如果X0,XI,X2,X3进入了高位那么原先的M12,M13,M14,M15往右边移动4位,M4~M7移到M0~M3,然后M0~M3的数就被移出去了。一般我们使用这条指令一般用脉冲进行型。因为这样就可以确保我们的数据的准确。
位左移指令:
该指令的助记符,指令代码,操作数,程序步如下表:
原理与位右移基本一样,但是位左移是从低位开始,一步步往左移,M12~M15的数据被挤出去。其它的原理基本一致。
字右移指令:
该指令的助记符,指令代码,操作数,程序步如下表:
指令格式:
当X0接通的时候这条指令运行,D0,K4表示的是有4个源操作数,每次移动4位,因此在这里指的是D0,D1,D2,D3。
D10,K16指的是目标操作数,也就是以D10为首的D10~D25。当指令接通的时候D10~D13低四位的数据就移出,D14~D17代替D10~D13的位置,以此类推,D0~D3就进入了高位。所谓字右移就是源操作数从高位进入,把低位的数据移出去。
字左移指令:
该指令的助记符,指令代码,操作数,程序步如下表:
字左移与字右移基本一样,只不过源操作数从低位进去,把高位的数据给挤出去。
喜欢更多PLC知识,关注小编不迷路噢!
PLC控制彩灯项目,超详细案例讲解,快来收藏
导读:本案例主要让读者练习西门子S7-200SMART系列PLC位逻辑指令、定时器、移位指令、子程序的结构等。
控制示意图
如图3-1所示为彩灯控制示意图。
图3-1 彩灯控制
控制要求描述
现有L1-L8共8盏彩灯,要求按下开始按钮,霓虹灯L1-L8以正序每隔1S轮流点亮,当L8亮后,停2S;然后,反向逆序间隔1S轮流点亮,当L1再亮后,停5S,重复上述过程。按下停止按钮,彩灯停止工作。
I/O分配
根据控制要求描述对需要用到的I/O进行分配,如图3-2所示:
图3-2 I/O分配表
【相关指令解读】:此案例主要用到移位指令和其它指令配合,这里主要解读移位指令。
循环左移字节(图3-2):循环移位指令将输入值 IN 的位值循环左移位,位置循环移位计数 N,然后将结果装载到分配给 OUT 的存储单元中。 循环移位操作为循环操作。
图3-2:循环左移字节
举例说明1:程序如图3-3,利用系统时钟SM0.1第一个扫描周期给QB0字节中赋值为1,此时QB0中最低位(Q0.0)为 1。当按下I0.0按钮后,QB0字节中的数据左移一位,Q0.1变为1。
图3-3
举例说明2:程序如图3-4,利用系统时钟SM0.1第一个扫描周期给QB0字节中赋值为1,此时QB0中最低位(Q0.0)为 1。当按下I0.0按钮后,QB0字节中的数据左移二位,Q0.2变为1。
图3-4
循环右移字节: 如图3-5,循环移位指令将输入值 IN 的位值循环右移,位置循环移位计数 N,然后将结果装载到分配给 OUT 的存储单元中。 循环移位操作为循环操作。
图3-5:循环右移字节
举例说明1:程序如图3-6,利用系统时钟SM0.1第一个扫描周期给QB0字节中赋值为1,此时QB0中最低位(Q0.0)为 1。当按下I0.0按钮后,QB0字节中的数据右移一位,Q0.7变为1。
图3-6
举例说明2:程序如图3-7,利用系统时钟SM0.1第一个扫描周期给QB0字节中赋值为1,此时QB0中最低位(Q0.0)为 1。当按下I0.0按钮后,QB0字节中的数据右移二位,Q0.6变为1。
图3-7
程序控制程序
(1)主程序,对数据初始化,调用相关子程序。M1.0接通代表左移位开始,左移开始之前,将1赋值给QB0。M1.2接通代表右移开始,将128给到QB0, Q0.7为1。程序如图3-8所示
图3-8主程序
(2)循环子程序主要控制灯是启停和循环。按下启动按钮,左移开始标志位M1.0自锁,总共移7位,定时时间为7秒,左移完成断开M1.0延时2秒接通右移标志位M1.2。右移完成延时5秒接通M1.0左移开始标志位,形成循环。程序如图3-9所示
图3-9循环程序
(3)左移程序,利用移位指令和系统时钟配合。程序如图3-10所示
图3-10左移程序
(4)右移子程序程序,利用移位指令和系统时钟配合。程序如图26-6所示
本案例采用子程序的结构编程,并且结合循环指令、定时器指令等编写彩灯循环案例。希望大家能在此文章中汲取西门子200SMART PLC编程相关知识及理念。
(来源:技成培训网,作者:郭彪,留言处大家可以补充文章解释不对或欠缺的部分)
相关问答
plc中的左移位指令是什么?
SIEMENSS7-200:字节左移:SLB\SLW\SLD(字节、字、双字)字节循环左移:RLB\RLW\RLDOMRONCPM*:1位左移:ASL...SIEMENSS7...
西门子plc循环移位指令的用法?
右移字节(SRB)和左移字节(SLB)指令将输入数值(IN)根据移位计数(N)向右或向左移动,并将结果载入输出字节(OUT)。移位指令对每个移出位补0。如果移位数...右移...
怎样通俗易懂的理解西门子plc寄存器移位指令?
PLC中的寄存器移位指令是一种用于在寄存器中移动二进制位的命令。这种指令可以用于向左或向右移动寄存器中的位,并在每个移位过程中修改寄存器的值。一个寄...
PLC中寄存器移位的SHRB指令怎么使用的?
SHRB:移位寄存器指令,其中:EN:为使能端;DATA:需要保存的数据位(bit);S_BIT:移位寄存器的最低位N:移位寄存器的长度(bits)你程序中的意思就...SHRB:移位寄.....
PLC,数据处理指令里面的移位是什么意思?
位移动就是数据移动,数据有8位,16位,,,等可以是本字节或双字节内的数据位移动,又分循环位移、线性位移如0000000100000010←数据向左移动一位1、移位...
西门子PLC移位与循环指令,怎样应用?
右移字节(SRB)和左移字节(SLB)指令将输入数值(IN)根据移位计数(N)向右或向左移动,并将结果载入输出字节(OUT)。移位指令对每个移出位补0。如果移位数...右移...
西门子plc的循环移位指令ROR中那个N端是什么意思?书上说是移位次数输入端,难道ROR不是无限循环的?
这是一个双字右循环指令,里面的N表示一次移动多少位,en为使能输入,前面可以加一个条件,当信号为1时,开始循环。为0时停止循环。希望能帮到你!这是一个双字右...
【plc循环控制系统设计一个8路彩灯控制器,彩灯实现按一定规...
[最佳回答]1,用右位移指令.2,还是用右移指令+左移+补位.3,用左移指令+补位.
plc功能指令类型?
1.空操作指令NOP本指令不作任何的逻辑操作,故称空操作,也不使用继电器,无须操作数。该指令应用在程序中留出一个地址,以便调试程序时插入指令,还可用于微...
plc单按钮启停的十种方法?
plc单按钮启停十种方法1.设计PLC控制方案在设计PLC控制方案时,我们应考虑如何减少所需PLC的输入点数问题。为了减少所需PLC的输入点数,区别不同情况,其实实...