分享

三菱FX5U PLC,移位指令的区别与速记

 PLC与自控设备 2022-04-27

往期精彩文章:

项目设计流程:一个项目电气工程师要做的设计思路

三菱Q系列PLC,Modbus 通信控制施耐德变频器运行

万用表应用基础知识,口诀速记万用表使用注意事项
关于接触器的选择方法,你真的清楚了吗?

PLC通信基础知识三菱PLC,CC-Link通信协议基础知识

光电开关的L-ON,D-ON,是什么意思?如何接线 ?

三菱PLC结构化工程FBD块新建程序操作步骤简单教程

什么是ST语言?三菱PLC,ST语言创建方法及注意事项

什么是FB块?怎么用?以启保停程序为例学习很简单

三菱PLC输出接线,一篇文章搞懂,其他品牌大同小异

PLC输入接线,记住这两句口诀,什么机型的都会接了

基恩士FSN18N光纤传感器感光度异常处理,参数调校

欧姆龙(OMRON)E5CC温控器控制加热启停的设置

欧姆龙E3X-HD10光纤放大器调整20210124资料更新

三菱FX5U PLC,移位指令的区别与识记

移位指令是PLC编程中比较常用的指令,指令有很多种,作用也各不相同,难以记忆。现总结一些方法,供初学者参(大神请飘过~):

一,移位指令有循环与不循环之分,循环的指令有下图所列指令:

这些指令有前面加D的,是32位数据用的循环指令,前面不加D的,是16位数据用循环指令;后面加P的是脉冲执行型指令。

L(left)是左移,R(right)是右移。

RO(rotate旋转)是不带进位标志的右或左移位,b(n-1)/b(16或32-n)位移到b15或31/b0和进位(SM700\SM8022)。

RC(rotate旋转 carry进位)是带进位标志的右或左移位,b(n-1)/b(16或32-n)进位(SM700\SM8022)

这里你是不是会感到很奇怪没有ROL和ROR,这两个指令?

因为这两个指令不能做为单独的功能块使用,而需要用赋值语句,所以没有这两个部件,ST语言、FBD/LD语言不支持ROL/ROR。

n的位数取:输入值/数据长度的余数,不能为负数。

二,不循环的移位指令有下图所列:

这看起来很多是不?其实他们都带有两个英文“SF”。

SF(T)(shfit)移位的意思。

L(left)是左移,R(right)是右移,P(pulse)加脉冲,B (bit)位,D(double)双或多字,W(word)字,RD(read)读,WR(write)写。

一些移位指令的ST语言写法如下:

MOV(SM402,K1,D1);

RCR(1,K2,D1);

RORP(LDP(1,X0),K1,D1);

MOV(SM402,K1,D10);

IF LDP(1,X0) THEN

D10 :=ROR(D10/*输入*/,K1/*位数指定*/);

/*将输入值右旋n位后输出*/

END_IF;

/*带使能的将输入值右旋n位后输出*/

D12:=ROR_E(LDP(1,X0)/*使能*/,M10/*输出状态*/,D10/*输入*/,K2/*位数*/);

SFT(1,M10);

/*将(d)中指定的软元件的一个软元件的ON/OFF状态移位到(d)中指定的软元件中。

(d)中指定的软元件的前一个软元件将变为OFF。*/

BSFL(1,K2,M20);

/*将(d)中指定的软元件开始(n)点的数据向左移位1位。*/

DSFL(1,K1,D100);

/*将(d)中指定的软元件开始(n)点的数据向左移位1字。*/

SFL(1,K3,K2Y0);

/*将(d)中指定的软元件的16位或指定范围数据左移(n)位。*/

SFTL(1,X10,K15,K3,M30);

/*将(d)中指定的软元件开始(n1)位的数据向左移位(n2)位。*/

WSFR(1,D200,K10,K2,D300);

/*将(d)中指定的软元件开始(n1)字的数据向右移位(n2)字。*/

SFWR(1,D1000,K4,D301);

/*从(d)+1开始,将(s)的内容依次写入(n)-1点,(d)的存储数据数+1。*/

SFRD(1,D301,K4,D1000);

/*将通过SFWR指令依次写入的(s)+1传送(读取)到(d)后,从(s)+1将(n)-1点各向上移位1字。(s)的存储的数据数-1。*/

其实,最好的记忆是多练习,不需要死记硬背。

三菱Q系列PLC,结构化工程之移位指令基础知识

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多