直播课堂
HOME
直播课堂
正文内容
plc编程逻辑左移 不懂PLC的字右移,字左移,位右移,这篇文章给你解释
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

不懂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,数据处理指令里面的移位是什么意思?

位移动就是数据移动,数据有8位,16位,,,等可以是本字节或双字节内的数据位移动,又分循环位移、线性位移如0000000100000010←数据向左移动一位1、移位...

plc循环左移有什么用?

plc循环左移可以走流水灯,等需要虚幻控制的地方。plc循环左移可以走流水灯,等需要虚幻控制的地方。

plc循环右移指令例子?

关于这个问题,假设PLC中DW0的初始值为0x12345678,执行循环右移指令后结果为0x91234567。循环右移指令的语法为:RORDn,#n其中,Dn表示要进行操作的数据...

西门子plc运算指令?

西门子PLC的运算指令包括算术运算指令,逻辑运算指令,比较运算指令,移位指令和其他特殊函数指令。这些指令用于在PLC程序中对数据进行操作,满足自动化控制系统...

三菱FX1S的PLC,梯形图怎么编写D寄存器数据转移?

FX1S的PLC没有数据移位指令,但你可以自己做框里是移位的次数,要注意移位太多会1秒无法完成,实际变成2秒一次或更多了FX1S的PLC没有数据移位指令,但你可以自...

三菱PLC教程::[2]怎样将程序写入PLC?

三菱plc梯形图定时器写入程序首先输入OUTTxkxx,其中Tx是定时器的标号,kxx是常数取值只能取k0至k32767,至于定时时间用该定时器时基乘以常数。用户程序存储容...

plc怎么让移位寄存器回到起点?

将移位寄存器的值进行清零,然后重新赋值。将移位寄存器的值进行清零,然后重新赋值。

西门子200循环左移指令解释?

西门子200循环左移指令是一种控制指令,它可以将一个字节的数据从右边移动到左边,并将最左边的位移出的数据放到最右边。西门子200循环左移指令是一种控制指令...

西门子plc的循环移位指令ROR中那个N端是什么意思?书上说是移位次数输入端,难道ROR不是无限循环的?

这是一个双字右循环指令,里面的N表示一次移动多少位,en为使能输入,前面可以加一个条件,当信号为1时,开始循环。为0时停止循环。希望能帮到你!这是一个双字右...

西门子plc程序控制指令?

关于这个问题,以下是一些常见的西门子PLC程序控制指令:1.LD:加载指令,将一个变量或者寄存器的值加载到一个寄存器中。2.AND:逻辑与指令,将两个逻辑值进...

 天地精华矿泉水  9 20河南挖眼抛尸案 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部