一、海为PLC——实现8路竞赛抢答器:
完全用程序判断各个选手按键抢答的先后,从实现上没有什么问题,但由于PLC是循环扫描运行,它会一次性读入X0-X7的所有输入状态,然后再执行程序,最后将结果输出。如果在一个扫描周期有一个以上选手同时按键抢答即有多个X输入为ON,这时必然是依靠人为的程序去评判先后顺序,这会产生本质上的不公平。如何避免这种情况的发生,最好的方法是使用“开关量输入上升沿捕捉”功能,以硬件中断产生的先后来判断选手按键的先后。
海为PLC具有X0-X7输入“上升沿捕捉”和“下降沿捕捉”功能,提供多达68个中断功能,很好满足这种需求。
假如对X输入和Y输出定义如下:
X0:选手1抢答按键
X1:选手2抢答按键
X2:选手3抢答按键
X3:选手4抢答按键
X4:选手5抢答按键
X5:选手6抢答按键
X6:选手7抢答按键
X7:选手8抢答按键
Y0:选手1抢答成功
Y1:选手2抢答成功
Y2:选手3抢答成功
Y3:选手4抢答成功
Y4:选手5抢答成功
Y5:选手6抢答成功
Y6:选手7抢答成功
Y7:选手8抢答成功
在“PLC硬件配置”窗口选择X0-X7的“上升沿捕捉”,打开X0-X7的中断捕捉功能。如下图:
二、主程序——实现中断绑定和自动复位:
关键词: