【动作描述】
如图1,有一条流水线,每生产一个产品,都会结果X0这个感应器。当按下按钮1时,每生产10000个产品,蜂鸣器拉响;按一下X2按钮时,生产20000个产品,蜂鸣器拉响;按一下X3按钮时,生产30000个产品,蜂鸣器拉响。
图1设备示意图
【程序编写及思路】
1.方法1:标志位与多个计数器
如图2,按下X1,用MOV把K1给到组合位元件K1M0,相当于导通了M0,断开了M1、M2、M3;同时使用批量复位指令复位C0到C2,重新开始计数。
按下X2,用MOV把K2给到组合位元件K1M0,相当于导通了M1,断开了M0、M2、M3;同时使用批量复位指令复位C0到C2,重新开始计数。
按下X3,用MOV把K4给到组合位元件K1M0,相当于导通了M2,断开了M1、M0、M3;同时使用批量复位指令复位C0到C2,重新开始计数。
相当于X1按钮触发M0,X2按钮触发M1,X3按钮触发M2,这个3个M点分别是10000次、20000次、30000次的标志位,后续对应的控制就串入对应的M点就可以。
图2模式选择
如图3,按下X0时,3种不同模式的M点,对应导通不同的计数器,M0对应C0,计数10000;M1对应C1,计数20000;M2对应C2,计数30000。
计数器次数到达就触发Y0导通,输出报警。
只有当按下X1~X3任何一个按钮,复位计数器,Y0停止输出。
图3计数及输出控制
2.方法2:使用计数器设定值。
为了实现掉电保存功能,使用的寄存器和计数器都是掉电保持型的,可以根据图4和图5。
图4FX3U PLC寄存器范围
图5 FX3U PLC计数器范围
如图6,X1按下时,用MOV指令把K10000传送进D512;X2按下时,用MOV指令把K20000传送进D512;X3按下时,用MOV指令把K30000传送进D512。
用X0触发计数器C100,计数的数据为D512保存的数据,次数一到,C100常开触点导通,输出Y0;
当3个按钮一起按下去时,复位寄存器C100,重新开始计数。
图6利用寄存器设定值控制
3.方法3:使用计数器的当前值。
这里为了实现掉电保存,使用M500以后的M点(FX3U PLC中间继电器复位如图7)
图7 FX3U PLC中间继电器范围
如图8,X0触发寄存器C100进行计数,计数个数30000(只要大于等于30000都可以)。
按下X1,用MOV把K1给到组合位元件K1M512,相当于导通了M512,断开了M513、M514、M515;
按下X2,用MOV把K2给到组合位元件K512M0,相当于导通了M513,断开了M512、M514、M515;
按下X3,用MOV把K4给到组合位元件K512M0,相当于导通了M514,断开了M513、M512、M515;
在M512导通情况下,C100计数大于等于K10000时,输出控制Y0;
在M513导通情况下,C100计数大于等于K20000时,输出控制Y0;
在M514导通情况下,C100计数大于等于K30000时,输出控制Y0;
复位使用了X1按钮,只要长按X1按钮5秒,复位C100,Y0停止输出,重新开始计数。
图8使用计数器当前值控制
领取专属 10元无门槛券
私享最新 技术干货