在FNC 30~FNC 39中,准备了可以使位数据和字数据按指定方向,循环、移位的指令,见表3-65。
表3-65 循环、移位指令
(续)
1.FNC30-ROR/RORP循环右移
(1)概要
使不包括进位标志在内的指定位数部分的位信息右移、循环的指令。
(2)指令格式
循环右移指令如图3-133所示。
(3)设定数据:
循环右移指令数据设定见表3-66。
图3-133 循环右移指令
表3-66 循环右移指令数据设定
①旋转的位数请不要设定成负值。
(4)对象软元件
可适用的软元件见表3-67。
表3-67 循环右移指令对象软元件
注:▲1—16位运算中,K4Y○○○、K4M○○○、K4S○○○有效;
32位运算中,K8Y○○○、K8M○○○、K8S○○○有效。
▲2—仅对应FX3U、FX3UC系列PLC。
(5)功能和动作说明
将指定的16位数据中的n位数据循环右移。
①最后的位保存在进位标志位(M8022)中;
②位数指定软元件的情况下,K4(16位指令)有效。循环右移动作如图3-134所示。
图3-134 循环右移动作
注意:连续执行型(ROR、DROR)指令的场合,请注意每个扫描周期(运算周期)都会执行循环移位。因此,常常使用输入指令的脉冲上升沿指令。
2.FNC31-ROL/ROLP循环左移
(1)概要
使不包括进位标志位在内的指定位数部分的位信息左移、循环的指令。
(2)指令格式
循环左移指令如图3-135所示。
①最后的位保存在进位标志位(M8022)中;
②位数指定软元件的情况下,K4(16位指令)有效。
(3)设定数据
循环左移指令数据设定见表3-68。
图3-135 循环左移指令
表3-68 循环左移指令数据设定
①旋转的位数请不要设定成负值。
(4)对象软元件
可适用的软元件见表3-69。
(5)功能和动作说明
将指定的16位数据中的n位数据循环左移。
①最后的位保存在进位标志位(M8022)中;
②位数指定软元件的情况下,K4(16位指令)有效。循环左移动作如图3-136所示。
表3-69 循环左移指令对象软元件
(www.xing528.com)
注:▲1—16位运算中,K4Y○○○、K4M○○○、K4S○○○有效;
32位运算中,K8Y○○○、K8M○○○、K8S○○○有效。
▲2—仅对应FX3U、FX3UC系列PLC。
图3-136 循环左移动作
注意:连续执行型(ROL、DROL)指令的场合,请注意每个扫描周期(运算周期)都会执行循环移位。因此,常常使用输入指令的脉冲上升沿指令。
3.FNC34-SFTR/SFTR位右移
(1)概要
使指定位长度的位软元件每次右移指定的位长度的指令。移动后,从最高位开始传送n2点长度的位软元件。
(2)指令格式
位右移指令如图3-137所示。
图3-137 位右移指令
(3)设定数据
位右移指令数据设定见表3-70。
表3-70 位右移指令数据设定
①右移的位点数请不要设定成负值。
(4)对象软元件
可适用的软元件见表3-71。
表3-71 位右移指令对象软元件
注:▲—D□.b仅对应FX3U、FX3UC系列PLC。但是不能变址修饰。
(5)功能和动作说明
对于以起始的n1位(移位寄存器的长度)数据,右移n2位(下记的①、②)。移位后,将开始n2位数据传送(下记的③)到从开始的n2位中。位右移动作如图3-138所示。
图3-138 位右移动作
注意:SFTRP指令中,每次当指令输入从OFF变为ON时,执行n2位移位,但是请注意SFTR指令中,每个扫描周期(运算周期)都执行移位。因此,常常使用输入指令的脉冲上升沿指令。FX3U、FX3UC系列PLC的情况下,传送源和移位软元件重复时,发生运算错误(错误代码(K6710)。
4.FNC35-SFTL/SFTL位左移
(1)概要
使指定位长度的位软元件每次左移指定的位长度的指令。移动后,从最低位开始传送n2点长度的位软元件。
(2)指令格式
位左移指令如图3-139所示。
图3-139 位左移指令
(3)设定数据
位左移指令数据设定见表3-72。
表3-72 位左移指令数据设定
①左移的位点数请不要设定成负值。
(4)对象软元件
位左移指令数据设定见表3-73。
表3-73 位左移指令数据设定
注:▲—D□.b仅对应FX3U、FX3UC系列PLC。但是不能变址修饰(V、Z)。
(5)功能和动作说明对于以起始的n1位(移位寄存器的长度)数据,左移n2位(下记的①、②)。
移位后,将开始的n2位数据传送到(下面的③)从开始的n2位中。位左移动作如图3-140所示。
图3-140 位左移动作
注意:SFTLP指令中,每次当指令输入从OFF变为ON时,执行n2位移位,但是请注意SFTL指令中,每个扫描周期(运算周期)都执行移位。因此,常常使用输入指令的脉冲上升沿指令。FX3U、FX3UC系列PLC的情况下,传送源和移位软元件重复时,发生运算错误(错误代码:K6710)。
其他指令简介查看附录1指令集或详细查看《FX3U/FX3UC编程手册(基本.应用指令说明书)》。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。