推广 热搜: 自动化  LabVIEW  触摸屏  plc  软件  自动  控制  传感器  机械  电脑 
 |  行业设备  |  机械制造  |  机器视觉  |  机械自动化  |  仪器仪表  |  工业机器人  |  编程开发  |  嵌入式  |  电子技术  |  工控自动化  |  电工电气 频道
楼主 | 收藏 | 举报 2015-09-20 11:17   浏览:207   回复:0

台达PLC循环移位指令:

 0. 引言

   那天有一位问起“循环移位”指令,因为其新设备里有PLC,他看了一点资料;我告之,多的我也不知道,但移位指令可以说一说。
   有计算机基础知识、或学过汇编语言的,对PLC移位指令很好理解。而于上了年纪又无基础者,则须通俗易懂地去解说。
   今特把所述内容整理了一下,以供后续参考;目标PLC选用台达ES2。

1.循环移位的概念
   1)用绳子将一列珠子串起来,然后将绳子两头系在一起,珠子就可构成一个环;若用手推动珠子,珠子就可以沿着绳子“循环”移动。
   若选珠子为16颗、绳子足够长,则可把环拉直,而使珠子排成一排;推动珠子仍可循环,但循环后仍使珠子成为一条直线。若假设这16颗珠子对应16位二进制数,这就相当于PLC中的一个数据“字”。
   如果能通过某种方法,使“字”中的位像珠子一样移动,那么就是数据位“循环”;实现这种移动的指令,就是循环指令。
   2)数据位的移动,与珠子的移动,当然不会完全相同;通常,在做循环移位运算时,会把移动的最末一位记入进位标志M1022。
   当进位标志M1022不参与循环时,就称为不带进位,其指令就是不带进位的指令;若进位标志M1022参与循环,就是带进位循环,其指令就是带进位循环指令。

2.PLC中的循环移位
   1)循环右移一位的情况。参见附图1,先使最右边一位(b0位)为1,其余为0。设每次循环右移一位,则移位一次后,“1”就被移出并转移到了b15位。
   同时,被移出的最末一位的值,将送到M1022;此处仅移一位,则就是原b0位→M1022。

莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料
莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料 
   为加深印象,下面结合具体的指令来进行讲解。
   2)循环右移4位的情况。参见附图2,首先仍使b0位为1,其余为0。移位一次后,原b0位的“1”,到了b12位。
   但附图2的“过程示意”并不准确;因为,数据的位并没有被“移出”在外,而是如串在绳子上的珠子一般,逐位顺序移动的。
   此时,M1022的值,是原b3的值,因为它是被最末移出的。

莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料
莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料

3.一个简单示例(ROR)
   1)右循环移位指令ROR。该指令的目标元件,可以是字元件、也可以是由位组合成的字,故不妨使用K4M0来进行试验,并通过D0来观察其值(梯形图监控时),程序参见附图3。
   PLC上电运行时,使M0置1,如附图1的情况;接通一次X0,稍作延时后,M20接通一个脉冲周期,作为移位信号。接通X1,清零K4M0,相当于停止信号。
   该程序,用台达WPLSoft编程软件编制。

莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料
莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料 
   2)运行程序,监控梯形图,D0显示为H1(调整为十六进制显示);第一次接通X0,D0显示H8000,说明b15为1,其余为0,与附图1的演示相同。以后依此类推,其运行结果可参见附图4。
   第16次移位后,又回到了起始状态,可以继续下一个循环。

莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料
莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料


4.结语
   这是一个非常简单的介绍,不知对入门者有无参考作用。其余移位指令,可仿此试验理解。
   本件可作为《自学自会PLC指令——三菱FX2N编程技术及应用》一书的补充材料。

打赏

网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报