按钮呼叫控制圆转盘捷径运转 上回说到圆转盘的180度正反转控制,接下来讲一讲转盘捷径呼叫的控制。 案例要求: 一个圆转盘在其周围分布有8个接近开关,对应有8个工位,转盘上有一个工件箱,其边沿有一个感应铁块,每个工位有一个呼叫的照光按钮。当有工位按钮按下,照光开启中,工件箱以最短路径移到该工位,接近开关感应到铁块,照光灯关闭。 软元件分配/使用如下表:
设计思路: 利用按钮和接近开关当前的位置按顺序进行ENCO编码(256转8位),分别存入D0和D1,用减法指令SUB,比较这两个编码值的大小,从而对电动机进行捷径方向的转动输出。 编码指令是单个的位为1时,如果多个取最高位,对这个1的顺序进行二进制n次方的编码。 对这两个差值进行统计,将得到一个差值表:
这里的SUB指令不能用-指令代替,因为他们有如下区别: 接线简图: 这个图挺复杂的,不怎么好画,浪费了不少时间啊。 估计以后的复杂案例要画半天不止哦。 编写程序: 首先,我们用梯形图语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择梯形图语言编写: 梯形图程序,用ENCO\SUB\MOV\LD<=指令设计如下: 还有一种方法,可以把D3值分解为D3.3,D3.2,D3.1,D3.0。 统计这些数据,于是得到D3.2有正转时为0,反转时为1。编程如下: 其次,我们再用ST语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择ST语言编写: ST语言程序如下: ENCO(1,X0,3,D0); ENCO(1,X10,3,D1); D3:=SUB(D1,D0); MOVP(NOT SM8020,K2X0,K2Y0); MOVP( SM8020,0,K2Y0); OUT((-4 <=D3 AND D3 <=-1)OR(4 <=D3 AND D3 <=7) ,Y11); OUT((-7 <=D3 AND D3 <=-5)OR(1 <=D3 AND D3 <=3) ,Y10); |
|