直播课堂
HOME
直播课堂
正文内容
plc编程循环移位 PLC的循环移位,带进位移位傻傻分不清?试试看看这篇文章。
发布时间 : 2026-01-01
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC的循环移位,带进位移位傻傻分不清?试试看看这篇文章。

为了让大家掌握更多PLC知识,本篇文章将会为大家详细介绍循环右移,左移指令,带进位循环左移,右移指令。如果有不懂的可以在下方留言,或私信小编噢!下面我们直接进入主题

循环右移指令:

该指令的助记符,指令代码,操作数,程序步如下表:

指令格式:该指令表示的是把D0里面的数据向右移动4位。

指令说明:

假设D0里面的数据为1111111100000000,循环移位4位就变成了0000111111110000。为什么会变成这样呢?因为当指令启动后低位的数据进入了高位里面去,高位的数据向右移动了4位。但是我们要注意最后一位移出来的就进入了进位标记里面去,进位标记里面的M8022就变成了0。

但是我们还是要注意,在平常使用中我们要在ROR后面加一个P,这样就只会在一个扫描周期内才接通一次,如果不加的话那么程序就会一直进行。还有如果我们的目标操作元件D0是用组合位元件的话,那么组合位元件必须是16位或者32位的,如果不是那么程序可能无法进行。

循环左移指令:

该指令的助记符,指令代码,操作数,程序步如下表:

指令格式:

该指令表示的是当X0接通的时候把D0里面的二进制位向左移动4位。在原理上循环右移基本一致。

带进位循环右移指令:

该指令的助记符,指令代码,操作数,程序步如下表:

指令格式:

该指令表示当X0接通后,把D0里面的内容向右移动4位。

当指令执行的一次的时候,把里面(1111111100000000)的数据向右移动4位,向右移动4位的话就把低位的4个数给挤出来,然后再把这个挤出来的数据通过M8022然后再填补到高位变成了(0001111111110000),我们可以看到多了一个1,这是怎么回事呢?这个一其实是来自进位标记里面的,进位标记处于ON状态,里面为1。进位标记里面的1代替了其中的一个位置,也就是代替了这个0的位置。这个时候进位标记里面的数就变成了0。所谓带进位标记的意思就是把进位标记里面的数一起包含进去,但是我们要注意,当目标原件使用组合位元件的时候,组合位元件的个只能是16个或者是32个否则会出错。并且使用脉冲执行,这样就可以确保数据的稳定。

带进位循环左移指令 :该指令的助记符,指令代码,操作数,程序步如下表:

指令格式:

该指令表示当X0接通后,把D0里面的内容向左移动4位。

当指令执行的一次的时候,把里面(1111111100000000)的数据向左移动4位,向左移动4位的话就把高位的4个数给挤出来,然后再把这个挤出来的数据通过M8022然后再填补到低位变成了(11111000000000111),我们可以看到少了一个1,这是怎么回事呢?这个1其实在进位标记里面,进位标记处于OFF状态,里面为0。进位标记里面的0代替了其中的一个位置,也就是代替了这个1的位置。这个时候进位标记里面的数就变成了1。

关注小编不迷路,带你学习更多PLC知识噢!

西门子S7-1200编程实例,移位和循环移位指令如何使用?

西门子S7-1200的移位指令包括左移位指令和右移位指令,循环移位指令包括循环左移位指令和循环右移位指令。

移位指令 。移位指令用于将参数IN的位序列移位,结果送给参数OUT,参数N指定移位的位数。单击移位名称下方可以选择数据类型,移位指令IN和OUT端支持的数据类型为字节BYTE、字WORD、双字DWORD。移位时用0填充移位操作清空的位。

循环移位指令 。循环指令用于将参数IN的位序列循环移位,结果送给参数OUT,参数N定义循环移位的位数。单击移位名称下方可以选择数据类型,移位指令IN和OUT端支持的数据类型为字节BYTE、字WORD、双字DWORD。移位时从目标值一侧循环移出的位数据,将循环移位到目标值的另一侧,因此原始位值不会丢失。

下面我们通过一个简单的实例来介绍移位指令如何使用。按下I1.2,将MB100中存储的数据左移2位送到MB200中,按下I1.3将MW100中存储的数据右移2位送到MW300中。

一、编写程序。在项目视图中打开OB1,在指令树中拖拽左移位指令到程序段1中,选择数据类型为字节,在移位指令的使能端插入常开触点I1.2,输入IN参数MB100,输入N参数2,输入OUT参数为MB200。在指令树中拖拽右移位指令到程序段2,选择数据类型为字,在移位指令的使能端插入常开触点I1.3,输入IN参数MW100,输入N参数2,输出参数OUT为MW300。这样一个简单的移位指令的实例就完成了,单击保存项目按钮保存项目。

二、编译、下载程序到PLC。在项目树中选中程序块,单击下载按钮将所有块下载到PLC。

三、查看程序运行情况。单击“转到在线”按钮,在项目树中单击打开监视表格文件夹,双击添加新监视表格,可以看到项目树中添加了监视表格,同时在工作区打开了监视表格编辑器,输入地址MB100和MB200、MW100和MW300,显示格式为二进制,单击监视按钮观察程序的运行情况,在监视表格中修改MB100为01011,按下I1.2可以看到MB200的值变为MB100的值左移2位的结果,按下I1.3可以看到MW300的值变为MW100的值右移2位的结果。

相关问答

西门子plc循环移位指令的用法?

右移字节(SRB)和左移字节(SLB)指令将输入数值(IN)根据移位计数(N)向右或向左移动,并将结果载入输出字节(OUT)。移位指令对每个移出位补0。如果移位数...右移...

有哪些“plc移位指令”的实例?

字节移位指令一共有四个循环右移、循环左移、右移、左移循环移位指令(左、右)八个位是循环移动的也就是说循环左移1位就是向左移动1位最高位移到最低位处...

plc如何通过移位指令降速?

字节移位指令一共有四个循环右移、循环左移、右移、左移循环移位指令(左、右)八个位是循环移动的也就是说循环左移1位就是向左移动1位最高位移到最低位处...

plc八个灯循环指令有哪些?

移位指令一共有四个循环右移、循环左移、右移、左移循环移位指令(左、右)八个位是循环移动的也就是说循环左移1位就是向左移动1位最高位移到最低位处循环...

三菱plc循环左移右移详细讲解?

三菱PLC中的循环左移(ROL)和循环右移(ROR)指令可以将一个字或一个字节的数据按位进行循环移位,移位后的数据可以被存储到原来的寄存器中或其他的寄存器中...

plc循环左移有什么用?

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

PLC移位指令能提前控制么?

PLC移位指令可以提前控制提前控制的前提是对移位指令的赋值。因为移位指令都是对无符号数进行的处理,执行时只考虑要移位的存储单元中每一位数字的状态,而不...

NJ系列PLC用位移指令五个灯流水灯梯形图,主要是如何用MOVE指令将信号传送到五个BOOL型元件上?

你好,可以用一个计数器记录按钮按的次数,然后用0.5秒被按钮次数除,得到亮和灭的时间,程序开始时触发亮的定时器,定时到点自动复位亮定时器,并且SET灯,然后...

plc位左移溢出了怎么办?

改变plc的数据类型,将长整型改为短整型。改变plc的数据类型,将长整型改为短整型。

三菱plc的移位指令怎么用?

三菱PLC有很多不同的移位指令,比如SL,SR,SLC,SRC,SLL,SRL等等。下面以SL指令为例,介绍一下移位指令的使用方法:SL指令的作用是将指定的字或位从左往右...

 日本古典文学  周旦妮 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2026  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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