抢答器广泛应用于知识竞赛等场合,可快速识别最先抢答的选手,并实现发言计时、分数记录等功能。本文通过一个多人抢答器案例,分别采用梯形图和SCL语言进行编程设计,为相关应用提供参考。
关键词:西门子;S7-1200;SCL;多人抢答器;梯形图;案例
一、项目背景描述
在某知识竞赛节目中,使用了一套多人抢答器系统,包含一名主持人、A组两名选手和B组两名选手。主持人操作开始与复位按钮,每组设有抢答成功指示灯,每位选手配备独立抢答按钮。
主持人出题后按下开始按钮,两组选手通过抢答按钮竞争答题权。率先抢答成功的小组指示灯亮起,由该组派出一名选手作答,答对加1分,答错扣1分。答题结束后,主持人按下复位按钮,重置系统状态,进入下一轮抢答流程。
系统结构示意图如下:

图1 多人抢答器系统示意图
二、梯形图编程实现
主持人按下开始按钮后,系统置位“抢答开始”标志,启动抢答环节。梯形图逻辑如下:

图2 开始抢答标志
A组抢答逻辑
当抢答开始标志激活且B组未抢先时,A组任一选手按下按钮即可触发抢答成功信号。

图3 A组开始抢答
B组抢答逻辑
当抢答开始标志激活且A组未抢先时,B组任一选手按下按钮即可触发抢答成功信号。

图4 B组开始抢答
复位逻辑
任意一组抢答成功并完成答题后,主持人按下复位按钮,清除抢答开始标志及各组抢答成功状态,恢复初始状态以准备下一轮抢答。

图5 复位抢答状态
三、SCL编程实现
使用SCL语言编写该抢答器程序,具备良好的可读性与结构化特性。程序逻辑如图所示:

图6 多人抢答器的SCL程序
SCL程序中采用IF…THEN…条件指令,实现判断与执行控制。例如第一条语句:若开始按钮被按下,则置位“抢答开始”标志,从而启动抢答流程。

