除了计时的部分,抢答的功能用纯继电控制逻辑来实现的,不过只适合抢答工位比较少的,要是工位多的话,虽然也是能实现,程序写起来就麻烦一些了,而且一些逻辑也需要仔细考虑。
下面的程序也只是抛砖引玉,也还有很多可以优化的地方,仿真功能基本上都能实现了。
1.选型:
为了便于仿真,PLC选择了1200,DI模块选择1个8点的,DO模块1个16点的就够了
2.功能:
题目要求的功能如下:
禁用模式:所有按钮无效,指示灯无输出。
`测试模式:按下启动按钮,3 个允许灯同时亮;按下抢答按钮,对应绿红灯同亮;复位后全部熄灭。
`抢答模式:启动后 3 个允许灯每隔 1 秒依次点亮,第 3 盏灯亮后方可抢答;提前抢答亮红灯,最先正确抢答亮绿灯,其余无效;复位后可重新开始。
除此之外外,程序做了3个工位的抢答模式,一个工位抢答成功,其他工位再抢答就无效了,不过如果抢答错误,会一直显示。
这里因为PLC的扫描机制,如果出现两个工位在同一个扫描周期按下,那就只能是按扫描顺序,程序中,靠前的工位获得优先抢答成功了。
最后,程序进行了简单的仿真测试,功能基本上实现了,也由于是和维护工作有关吧,程序也是在第一次写完整体之后,根据仿真出现的错误,进行修修补补形成的现在的程序,所以看起来比较乱,欢迎大家发更好的程序来学习。
程序截图:




程序PDF:
QD.pdf
程序归档:博途是V19版本
项目2.zip