MCGS四路抢答器 | 您所在的位置:网站首页 › mcgs嵌入式组态下载 › MCGS四路抢答器 |
MCGS四路抢答器
文章写于2020.7.18晚,源文件已上传分享 1.需求分析 抢答器在各种智力、知识竞赛中十分常见,如“中国诗词大会”、“中国成语大会”等,选手门需要抢答问题,主持人除了出题外,还要负责判定答案是否正确,此外还需要分数统计。一个好的抢答系统要求反应迅速、功能完备、操作简单明了。四路抢答器是比较简单的抢答系统,支持四位及以下选手同台竞赛,适合与各种比赛的抢答环节。 2.系统规划 2.1功能要求 主持人按下出题按钮后10秒内抢答有效,未按下出题按钮的抢答行为一律视为犯规;十秒内无人抢答则此题作废。要求有抢答成功统计、犯规统计以及最终得分统计;选手成功抢答后,身前的绿灯亮起(若犯规则为黄灯),数码管显示区域显示时间和选手的号码,同时出现响应该行为的文字提示。回答结束后,主持人可判断答案的正误,系统自动统计得分。要求存在回合结束按钮以结束当前回合,存在复位按钮以便进行其他场次的比赛。 2.2窗口布局 开始界面 操作界面 2.3实时数据库 2.4运行策略 循环时间设置为1秒,可以充当计时器;循环过程中系统监视实时数据库的各个变量,做出相应的决策。 2.5抢答行为设计 如果主持人已经出题,且其他竞争选手还未抢答,则抢答成功,问题消失,指示灯点亮;若主持人未出题,同时其他未犯规,则此次抢答视为犯规,相应指示灯点亮。 3.设计过程 3.1新建工程 3.2如上添加实时数据库对象 3.3新建两个用户窗口 3.4设置窗口1 窗口1设置为启动窗口,如图3.1,完成后双击窗口1,在工具箱中选择矩形工具并绘制矩形区域,在区域内绘制两个文字标签,并添加介绍文字。选择工具箱的标准按钮工具,在右下角放置按钮,双击按钮在操作属性中设置抬起功能,如图3.2。 图3.1 图3.2 3.5设置窗口0 (1)放置四个标准按钮,分别为抢答按钮1-4;按钮的背景色为默认,文字颜色设置为黑色;设置按钮的脚本程序如图3.3。四个按钮的添加过程完全相同,只是脚本程序略作更改。
图3.3 (2)添加选手1的抢答指示灯。绘制一个矩形,双击进行属性设置如图3.4。勾选颜色填充和可见度后,分别进行相应的图3.5和3.6所示的操作。
图3.4 图3.5
图3.6 (2)绘制另一个矩形,与矩形1的设置类似,只是将控制表达式更改为fg1,颜色填充更改为黄色。 (3)选中两个矩形,点击中心对齐,然后单击右键,选择排列、合成单元(如图3.7);此时可以改变颜色的信号指示灯制作完成。其他三个选手的抢答指示灯制作方法相同。
图3.7 (4)设置文字提示区域,先设置如图3.8的四个文字标签,在属性设置中勾选可见度,在可见度选项卡中,添加逻辑控制式: 犯规:fg1=1 or fg2=1 or fg3=1 or fg4=1 此题无效:end=1 抢答成功:L1=1 or L2=1 or L3=1 or L4=1 等待抢答:begin=1 and L1=0 and L2=0 and L3=0 and L4=0 然后合并为一个单元。 图3.8 (5)设置功能按键(出题、回答正确、回答错误、回合结束、复位)。五个按键的设置方法类似,选择标准按钮,设置相应的基本属性、操作属性和脚本程序(出题按钮如图3.9、图3.10、图3.11所示,其他按钮类似,只是操作属性和脚本程序不同)。
图3.9 图3.10 图3.11 (6)功能指示灯(如图3.12),利用逻辑表达式控制颜色填充,添加了闪烁效果,如图3.13和图3.14,使其在绿灯点亮时闪烁。 图3.12
图3.13 图3.14 (7)抢答成功次数统计、犯规次数统计、最终得分统计和时间显示的添加方法相同。先在界面上添加凹槽平面,在平面内放置输入框,设置输入框的操作属性(如图3.15),选择相应的实时数据库中的变量即可。 图3.15 (8)数码管的添加。绘制7个相同矩形区域,如图摆放;每个区域设置相应的颜色填充和可见度,如图3.16、图3.17、图3.18所示。 图3.16 图3.17
图3.18 (9)添加返回窗口1的标准按钮,完成窗口0的设置,如图3.19所示。 图3.19 3.6双击窗口进入用户窗口属性设置,点击循环脚本,如图3.20。 图3.20 在循环脚本中添加下面的循环代码 if L2=1 or L3=1 then a=1 if fg2=1 or fg3=1 then a=2 if L2=1 or L3=1 or L1=1 or L4=1 then b=1 if fg2=1 or fg3=1 or fg1=1 or fg4=1 then b=2 if L1=1 or L3=1 or L4=1 then c=1 if fg1=1 or fg3=1 or fg4=1 then c=2 if L3=1 or L2=1 then d=1 if fg2=1 or fg3=1 then d=2 if L2=1 then e=1 if fg2=1 then e=2 if L4=1 then f=1 if fg4=1 then f=2 if L2=1 or L3=1 or L4=1 then g=1 if fg2=1 or fg3=1 or fg4=1 then g=2
if problem=1 then time=time+1 if time=10 then time=0 problem=0 begin=0 end=1 endif
if P1=1 then score1=score1+1 P1=0 endif if P2=1 then score2=score2+1 P2=0 endif if P3=1 then score3=score3+1 P3=0 endif if P4=1 then score4=score4+1 P4=0 endif
if error1=1 then foul1=foul1+1 error1=0 endif if error2=1 then foul2=foul2+1 error2=0 endif if error3=1 then foul3=foul3+1 error3=0 endif if error4=1 then foul4=foul4+1 error4=0 endif
if count=1 then FinalS1=FinalS1+(correct-1)*L1*10-fg1*5 FinalS2=FinalS2+(correct-1)*L2*10-fg2*5 FinalS3=FinalS3+(correct-1)*L3*10-fg3*5 FinalS4=FinalS4+(correct-1)*L4*10-fg4*5 count=0 endif 3.7按F5,点击工程下载,如图3.21所示,点击启动运行,得到如图3.22所示界面。 图3.21
图3.22 附录1:功能按键的脚本程序 (1)回答正确 correct=2 count=1 (2)回答错误 correct=0 count=1 (3)回合结束 L1=0 L2=0 L3=0 L4=0 fg1=0 fg2=0 fg3=0 fg4=0 a=0 b=0 c=0 d=0 e=0 f=0 g=0 time=0 end=0 begin=0 correct=0 (4)复位功能 L1=0 L2=0 L3=0 L4=0 fg1=0 fg2=0 fg3=0 fg4=0 a=0 b=0 c=0 d=0 e=0 f=0 g=0 time=0 end=0 begin=0 foul1=0 foul2=0 foul3=0 foul4=0 FinalS1=0 FinalS2=0 FinalS3=0 FinalS4=0 score1=0 score2=0 score3=0 score4=0
附录2:系统操作过程图
|
CopyRight 2018-2019 实验室设备网 版权所有 |