- 1
- 0
- 约2.19万字
- 约 89页
- 2019-12-07 发布于广东
- 举报
1.初始化程序 程序开始运行时,D0设置初始值为K500,M1、M0、Y11置为ON。 2.步进电动机正转 当按下X0时,启动定时器T246,D0初始值K500作为定时器T246的设定值,X1为OFF时,每当T246完成一次定时时,按照M0的值形成正序脉冲序列,101→011→110→101→011→110→……,可见在T246的作用下最终形成101,011,110的三拍循环。 3.步进电动机反转 X1为ON时,每当T246完成一次定时时,按照M0的值形成反序脉冲序列, 101→110→011→101→110→011→……,即在T246的作用下最终形成101,110,011的三拍循环。 4.减速调整 X2为减速按钮。当按下X2时,定时器T246的设定值D0增加,即T246定时值增加,每秒步数减小,步进电动机转速变小。 5.增速调整 X3为增速按钮。当按下X3时,定时器T246的设定值D0减小,即T246定时值减小,每秒步数增加,步进电动机转速变大。 图5-42 步进电动机控制电路梯形图 三、知识链接 1.位右移指令SFTR 位右移指令SFTR对nl位[D]所指定的位元件进行n2位[S]所指定位元件的位右移。n2≤nl≤1024。如图5-43所示,每当X10由OFF→ON时,[D]内(M0~M15)各位数据连同[S]内(X0~X3)4位数据向右移4位,即(M3~M0)→溢出,(M7~M4)→(M3~M0),(M1l~M8)→(M7~M4),(M15~M12)→(Mll~M8),(X3~X0)→(M15~M12)。 图5-43 位右移指令SFTR说明 2.位左移指令SFTL 位左移指令SFTL对nl位[D]所指定的位元件进行n2位[S]所指定位元件的位左移。n2≤nl≤1024,如图5-44所示。每当X10由OFF→ON时,[D]内(M0~M15)各位数据连同[S]内(X0~X3)4位数据向左移4位。 图5-44 位左移指令说明 说明:位右或左移指令用脉冲执行型指令时,指令执行取决于X10由OFF→ON变化;而用连续指令执行时,移位操作是每个扫描周期执行一次。 3.字右移指令WSFR 字右移指令WSFR是对[D]所指定的nl位字的字元件进行[S]所指定的n2位字的右移,n2≤nl≤512,如图5-45所示。每当X0由OFF→ON时,[D]内(D10~D25)16字数据连同[S]内(D0~D3)4字数据向右移4位,即(D13~D10)→溢出,(D17~D14)→(D13~Dl0),(D2l~D18)→(D17~D14),(D25~D22)→(D2l~D18),(D3~D0)→(D25~D22)。 图5-45 字右移指令说明 4.字左移指令WSFL 字左移指令WSFL是对[D]所指定的nl位字的字元件进行[S]所指定的n2位字的左移,n2≤nl≤512,如图5-46所示。每当X0由OFF→ON时,[D]内(D10~D25)16字数据连同[S]内(D0~D3)4字数据向左移4位。 图5-46 字左移指令说明 说明:用脉冲执行型指令时,指令执行是X0由OFF→ON变化决定;而用连续指令执行时,移位操作每个扫描周期执行一次。 5.移位寄存器写入指令SFWR 移位寄存器又称为FIFO(先入先出)堆栈,堆栈的长度范围为2~512个字。移位寄存器写入指令SFWR是先进先出控制的数据写入指令,如图5-47所示。当X0由OFF→ON时,将[S]所指定的D0的数据存储在D2内,[D]所指定的指针D1的内容成为1。若改变了D0的数据,当X0再由OFF→ON时,又将D0的数据存储在D3中,D1的内容成为2。依此类推,D1内的数为数据存储点数。如超过n-1,则变成无处理,进位标志M8022动作。 图5-47 FIFO写入指令说明 6.移位寄存器读出指令SFRD 移位寄存器读出指令SFRD是先进先出控制的数据读出指令,如图5-48所示。当X0由OFF→ON时,将D2的数据传送到D20内,与此同时,指针D1的内容减1,D3~D10的数据向右移。当X0再由OFF→ON时,即原D3中的内容传送到D20内,D1的内容再减1。依此类推,当D1的内容为0,则上述操作不再执行,零标志M8020动作。 图5-48 FIFO读出指令 四、任务实施 1.将两个带自锁的按钮分别
原创力文档

文档评论(0)