如图所示,设备上总共有7台电机,每台电机对应一个启动按钮,当操作人员任意按下几个按钮后,再按下总启动按钮,将自动按顺序依次启动操作人员所按下按钮的对应电机。每台电机启动时间间隔2秒。按下停止按钮立刻全部停止。
程序设计:
1.程序段1,主要判断哪个按钮按下了,当按下了相应的按钮后,置位相关的线圈。总共有7个按钮,所以有7个标志位线圈,标志位线圈使用的是数组!
2.程序段2是使用的加法指令,当哪一个标志位接通了则加1,如果是7个按钮都按下了,那MW12中的数值则等于7。
3.程序段3是使用MOVE指令来记忆按钮的先后顺序的功能:当I0.1按下时,MW12中的值等于1,然后将“1”传送给MW14寄存器,此时MW14就记住了MW12的值;如果再按下I0.2按钮,那么MW12中的值将等于2,将数据传送给MW16,同样记住了第二次按下按钮的编号,其他的依次类推!
4.程序段4和5:当按下了I0.0总启动按钮后,将“1”给定到MW30寄存器中,同时判断MW12中的值是否等于0,如果不等于0,则接通总启动标志位。
总启动标志位接通后,判断MW30寄存中的值,等于1时启动第一个电机。等于2时启动第2个电机,依次类推。
5.程序段6:当按下停止按钮后,复位输出点,复位标志位,复位寄存器中的数据。
6.程序段7:当总启动标志位接通后,判断MW12中的数据不等于0时则判断总启动编号小于等于7时,每延时2秒的时间将MW30中的变量数据加1,从而去判断程序段5中的数值然后启动对应的电机。
7.这种方法的好处就是程序非常直观易懂,你觉得有更简单的方法吗?你会使用哪种方法呢?
联系客服