基于200smart的抢答器
题目要求:共13个DI端口,27个DO端口
设备选型:PLC选用200smart ST60/DC/DC/DC 加一个DO模块,EMDT08,能够覆盖需求
画面使用Kingscada制作,画面如下

程序特点:
1:抢答用时功能,精确到1毫秒,用于记录各个工位的手速
2:加分减分功计分功能:当主持人确定抢答者回答正确之后,按下“回答正确”按钮,绿灯的工位增加“奖励分数”;如回答错误,主持人按下“回答错误”按钮,绿灯工位扣除“惩罚分数”;加分和减分的同时,自动进行复位操作(计时清零,绿灯关闭);奖励分数和惩罚分数可以自行设置。按下“分数清零”按钮,全场分数清零
3:每个工位配有单独的启动开关通过“允许”和“拒绝”灵活调整该工位是否开启,如果单独设定开启工位数量,不灵活
4:为了便于测试,主持人三档旋钮和按钮写在了上位机程序上,“禁用”“测试”“抢答”,选中后,该按钮会闪烁提示。
5:其他功能均符合题目要求,工位按钮使用的是常闭触点,这样尽量减少了抢答者因按钮性能原因的误差。
上图是起始状态,下图是参与抢答之后的状态

图中可见:本次参与抢答的是4个工位,分别是1 3 4 7 号。下方三个黄色指示灯全亮(主持人按下“启动”按钮,三个黄灯1S一次点亮),此时可以开始抢答,本次抢答成功的是4号工位,绿色灯亮,且没有提前抢答(红灯没亮),主持人通过判断答题是否正确,给与相应的加减分处理
本人测试程序使用的是一个四路的可强制的继电器,通过继电器的常闭触点介入PLC的DI点,模拟抢答器按钮,模拟了4个工位,最大时间精度为1ms(题外话:由于继电器的机械结构问题,每次强制继电器吸合时,都是第三个触点动作最快,也就是4号工位)

电气原理图:
时间仓促,只画了CPU的,DO模块上有几个指示灯没画。为了尽量保证公平,抢答器工位选择使用常闭按钮,一旦PLC的DI失去输入信号,则视为按下抢答按钮。主持人的按钮和旋钮均为常开。指示灯是DO直接连的,如功率较大,则需通过继电器带负载。

PLC程序解读:
Network1:主持人按下启动按钮后,开始计时3秒,三个黄灯一秒亮一个,T32置位之后,开启抢答用时的计时(T96,默认最大记录10S,可改);如果是在启动按钮按下三秒之内有人按下抢答按钮,则该工位红灯亮,失去抢答权

Network2:抢答器计时功能,为了防止工位重复按抢答按钮,本程序只记录第一次按下按钮的用时

Network3:程序的核心部分,抢答的确权程序,使用SI立即置位功能。首先是所在的工位是投入状态,然后是没有亮红灯的情况下才能参与抢答,一旦某个工位按下按钮后,其他工位再按也不亮绿灯(程序中依旧是1 3 4 7 四个工位参与答题,为了便于理解,我监控程序时截图)

Network4:
复位功能,主持人按下复位按钮,指示灯关闭,计时清零

Network5:主持人旋钮测试功能,截图篇幅有限,所有工位都做了
剩下的就是计时器的数据转换程序和工位黄灯的程序了,没什么难度,就不一一解读了,只做简单介绍
时间单位转换程序:
加分程序:

减分程序:
工位黄灯程序:

分数清零程序
附件:第一个是图纸,第二个是程序,第三个是点表,上位机程序无法上传
抢答器.pdf
抢答器程序.pdf
抢答器点表.xlsx