发布日期:2022-04-26 点击率:1987 品牌:组态王_Kingview
移位指令的功用是对数据进行左、右移动。有循环移位指令ROR,ROL,RCR和RCL,位移字移指令SFTR,SFTL,WSFR和WSFL,还有移位读写指令SFWR和SFEL。在编写程序中,较为常用的即是POR,ROL,SFTR和SFTL这几个了,对于这几个指令咱们就要把握一下了。在这儿,咱们需求留神的一点是,在运用这些指令时最佳是运用脉冲施行型指令。由于假定运用接连施行型指令的话,这么每个扫描周期都要施行一次了。
下面咱们便举几个简略的比方来学习一下这几个常用指令。
1、恳求Y0-Y2三盏灯轮番亮1s,然后一同亮1s,如此重复循环。
下面就剖析一下以上的程序。对于Y2Y1Y0,依操控恳求,每次其输出应为001,010,100,111,其对应的十六进制数为1247,先将此循环数据送到数据存放器,再施行循环移位,以1s的速度移位,每次移动4位,终究将数据存放器中的低四位送到K1Y0,这么在Y3-Y0的输出就会得到其操控恳求的输出。
该恳求既可以用循环右移指令,也可以用循环左移指令,正本都是差不多的,只需求改动一点点。只需了解了操控恳求,了解了它是怎么操控的,就万变不离其宗了。下面即是用循环左移指令编写的程序。
2、操控一组8个灯,当主张时,恳求Y7-Y0这8个灯从右到左逐一点亮,悉数灯点亮时,再从左到右逐一停息,悉数灯停息后,再从左到右逐一点亮,悉数灯点亮时,再从右到左逐一停息,如此重复循环。
下面也剖析一下以上的程序。守时器T0用于左移和右移的移位信号,守时器T1用于对K1M0的加1计数操控,INCP K1M0则为加1计数器,计数值用K1M0标明,其间M1、M0的计数值用于支配移位的操控。当M1=0,M0=1时为左移逐步点亮;当M1=1,M0=0时为右移逐步停息;当M0 =1,M1 =1时为右移逐步点亮;当M0 =0,M1= 0时为左移逐步停息。
当按下主张按钮时,T1常闭触点闭合,施行一次INCP K1M0指令,K1M0=0001,则M1=0,M0=1,M1常闭触点闭合,施行左移指令SFTL,T0每隔1s发一个脉冲,将M0的1顺次左移到Y0-Y7中,顺次点亮。
T1每隔8s发一个脉冲,施行一次INCP K1M0指令,K1M0=0010,则M1=1,M0=0,M1常开触点闭合,施行右移指令SFTR,T0每隔1s发一个脉冲,将M0的0顺次右移到Y7-70中,顺次停息。
以此类比,在此就不赘述了。这么,然后可以抵达操控恳求。
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航