黎一强
(罗定职业技术学院,广东 罗定 527200)
抢答器主要采用4 种控制方式,其中继电器电路控制及模拟数字逻辑电路控制的抢答器由于功能简单,线路复杂,故障率高[1],逐步被淘汰.现市场上以单片机控制为主,但随着社会的发展,特别在一些重大的比赛项目中,对抢答器的功能及稳定性提出了更苛刻的要求.单片机控制系统相对而言成本低廉[2],但功能不易扩展,抗干扰能力差[3],不能持续稳定地长时间工作,要实现人机界面比较困难,因而今后采用PLC 控制系统是高端智能抢答器发展的趋势.
PLC 控制系统抗干扰能力强[4],能稳定地长时间工作,编程容易,易于扩展,抢答器采用PLC 控制的也越来越多.但笔者在知网上查阅了2012年以来,基于PLC 开发的抢答器的相关文献资料发现:一是这些文献资料介绍的基本都是使用PLC 基本指令进行编程设计的传统抢答器,功能简单,编程繁琐,不易扩展,如果抢答器的抢答路数要增多,原系统的程序修改变动较大,修改程序易出错,故障率增加,没有发挥PLC 优势;二是文献资料介绍的抢答器控制系统,不具有比赛现场参数更改设置的功能;三是文献资料介绍的抢答器控制系统,没有实时数据统计分析的功能.这些因素不能确保比赛高效地进行.本设计利用PLC 作为控制器,采用PLC 的功能指令进行编程,采用触摸屏作为人机界面,设计了一个具有现场参数更改设置及实时数据统计分析功能的智能抢答器控制系统.
(1)要求设计一个6 路抢答控制系统,抢答比赛时,该系统能准确判断最先按下抢答按钮的组别,并能锁定抢答结果.
(2)比赛开始抢答时,主持人在人机界面上先按下预备抢答按钮,让选手做好抢答准备,然后主持人再按下开始抢答按钮,开始抢答指示绿灯HL1 亮,在本题允许抢答时间T0 s 内,如果有选手抢先按下抢答按钮,则蜂鸣器发出2 s 的声响,在七段数码管和触摸屏上显示该抢答者的组号[5],要求系统自动统计每组成功抢答的次数,并在人机界面上显示出来,定时器T0 停止倒计时.
(3)如果在设定的抢答时间范围内,没有选手抢答,则蜂鸣器发出1 s 的声响,同时弃权指示黄灯HL2 亮,表示没有任何选手抢答,该题所有选手弃权.
(4)如果在设定的抢答时间范围内,有选手抢答成功,选手开始答题时,主持人在人机界面上按下开始答题按钮,选手要在设定的答题时间T1 范围内回答问题.时间T1的倒计时要在人机界面上进行显示,并且最后10 s 倒计时也要在七段数码管上显示,以提醒答题者.当T1 的倒计时结束,则蜂鸣器发出3 s 的声响,选手结束答题.
(5)如果选手答题正确,主持人在人机界面上按下回答正确按钮,则该选手的总得分自动加上该题的得分.如果选手答题错误,主持人在人机界面上按下回答错误按钮,则该选手的总分自动减去该题的扣分.要求系统自动统计每组的总得分,并在人机界面上显示出来.
(6)在比赛时,当主持人按下了预备抢答按钮,但还没按下开始抢答按钮,就有选手按下了抢答按钮,这时蜂鸣器发出5 s 的声响,违规抢答指示红灯HL3 亮,并在人机界面和七段数码管上显示抢答者的组号,系统自动记录每组违规抢答的次数,并在人机界面上显示每组违规的次数,此时抢答无效[6].系统在该组的总得分上自动扣除该组在该题上违规抢答的扣分.
(7)主持人在人机界面上按下下一题的按钮,则开始下一题的抢答,按下复位按钮,则系统所有数据清零.抢答时间、答题时间、每题的得分值、每题的扣分值、违规的扣分值等,主持人都可在人机界面上进行实时设置.
根据抢答器控制系统的控制要求,本设计要求实现6 路抢答控制,考虑到今后的扩展,选用三菱FX3u-32MR 的PLC 作为控制器,选用昆仑通态TPC1061Ti 触摸屏作为人机界面,与数码管、蜂鸣器等构成抢答器的硬件控制系统.
选手的抢答信号由按钮经PLC 的输入端子输入,主持人的输入信号由触摸屏输入.PLC 输入端子分配如表1所示.
PLC 输出端子分配如表2所示.
PLC 的I/O 接线图如图1所示.
表1 PLC 输入端子分配表
表2 PLC 输出端子分配表
2.2.1 触摸屏图形界面的设计
MCGS 可视化的图形功能可以方便地建立所设计的各种画面[7].设计触摸屏图形界面时,一是要考虑界面布局的合理性及操作的方便性,该设计将图形界面分设为指示灯显示、参数输入设置、数据统计显示、按键等4 个功能区域,考虑到人的视觉习惯与操作习惯,按照控制要求,从上到下,从左到右地进行制作;二是图形界面要简洁明了,注释明晰,图形工整,让人一目了然.该设计在工具箱中,采用标准按钮构件制作按键;采用输入框构件制作参数设置输入框;采用标签构件制作数值输出显示框;采用椭圆图元对象制作指示灯,不同的指示灯根据控制要求在变量的值为1 时,分别填充绿、黄、红等颜色.触摸屏图形界面如图2所示.
图1 PLC的I/O接线图
图2 人机界面模拟运行的初态
2.2.2 实时数据库的建立与组态
根据触摸屏的图形界面结合控制系统的要求,给控制系统分配软元件资源,建立实时数据库用于PLC 编程使用.实时数据库是工程各个部分的数据交换与处理中心,通过它将工程的各个部分连接成有机的整体[8].触摸屏图形与PLC 的编程软元件关系如表3所示.
表3 触摸屏图形与PLC 的编程软元件关系表
根据触摸屏图形与PLC 的编程软元件关系表,在触摸屏界面上对图元构件进行参数设置,设置好后人机界面通过模拟运行的初态如图2所示.
该抢答器控制系统,开始工作时,主持人先在人机界面上按下“复位”按钮,对系统所有数据进行清零初始化;初始化后,主持人根据每题的要求,先设置每题的抢答时间、答题时间、正确得分值、错误扣分值、违规扣分值等,如果下一题与前一题的参数相同,可不用重复设置;正式抢答时,主持人先按下“预备抢答”按钮,如果没有选手违规抢答,则再按下“开始抢答”按钮就开始一轮抢答流程,回答完毕后,按下“下一题”按钮时又开始新的一轮抢答.抢答器工作流程图如图3所示.
传统的、PLC 控制的抢答器多数采用PLC 基本的逻辑指令进行编程,功能简单,程序复杂、冗长,有的功能不容易实现,功能扩展困难,易于出错,故障率高.本设计是采用PLC 提供的一些功能指令,可对程序进行优化,使编程更易.
比如要让七段数码管的显示一个“5”,许多系统还是采用OUT 指令进行编程,要多条OUT 指令驱动Y0、Y2、Y3、Y5 及Y6.有的是采用MOV 指令给K2Y0 赋值,这显然要比用OUT 指令要好,但不管是赋十进制数值还是十六进制数值都要进行数值的换算,如赋十进制数值应用“MOV K109 K2Y0”,如赋十六进制数值应用“MOV H6D K2Y0”,这都不够直观.其实FX3u的PLC 有一条七段码译码指令SEGD,用它来驱动数码管就非常简洁直观了,如要让七段数码管的显示一个“5”,就直接写“SEGD K5 K2Y0”即可.
进行系统程序设计时,首先将程序拆分成具有基本功能的程序模块[9],如初始化、准备、开始抢答程序,成功抢答程序,违规抢答程序,答题程序,警报信号程序等,然后将这些基本的功能模块进行组合,使之衔接成一个完整的程序[10].
3.2.1 初始化、准备、开始抢答程序设计
系统初始化、准备、开始抢答程序设计时要实现以下主要功能:一是实现系统数据初始化,当主持人在人机界面上按下复位按钮M106 时清除系统程序的所有参数,采用区间复位指令ZRST;二是在触摸屏上可任意设置及更改抢答时间T0、答题时间T1、每题得分值、每题扣分值、违规扣分值等参数,这些数据由人机界面分别写入到PLC的数据寄存器D0~D4 中;三是发出预备抢答、开始抢答、下一题等信号.参考梯形图程序如图4所示.
3.2.2 成功抢答控制程序设计
程序模块实现的功能:一是当开始抢答信号M0 有效时,实现抢答功能;二是用M8013 的上升沿作为秒信号,用DEC D0 指令实现抢答时间倒计时,并通过MOV 及SEGD 指令将抢答倒计时在人机界面及七段数码管上进行显示;三是实现将成功抢答的选手号在人机界面和七段数码管上进行显示;四是系统运用INC 指令实现自动统计每组成功抢答的次数,并在人机界面上显示出来.参考梯形图程序如图5所示.
图3 抢答器工作流程图
图4 初始化梯形图程序
3.2.3 违规抢答控制程序设计
这个程序模块的主要功能:一是当预备抢答信号M14 生效时,实现违规抢答判断功能;二是通过如SEGD K1 K2Y000 指令模式将违规抢答的选手号,在七段数码管上进行显示,通过如MOV K1 K2Y000 指令模式将违规抢答的选手号,在人机界面上进行显示;三是通过如INC D30 指令模式实现自动统计每组违规抢答的次数,并在人机界面上显示出来;四是通过如SUB D10 D4 D10 指令模式系统在违规抢答选手的总得分上,自动扣除该组在该题上违规抢答的扣分.参考梯形图程序如图6所示.
3.2.4 答题控制程序设计
这个程序模块的主要功能:一是当答题信号M13 生效时,实现答题时间倒计时,并在人机界面及七段数码管上进行显示;二是当选手回答正确时,系统自动在该选手的总得分上加上该题的得分;三是当选手回答错误时,系统自动在该选手的总得分上减去该题的扣分.参考梯形图程序如图7所示.
3.2.5 警报信号程序设计
这个程序模块的主要功能是实现蜂鸣器按照控制要求发出相应的警报声.参考梯形图程序如图8所示.
图5 成功抢答梯形图程序
图6 违规抢答梯形图程序
在实验室,用PLC、触摸屏、数码管设计了一个抢答器系统,将本设计的程序下载到PLC 及触摸屏,通过多次反复测试,实验结果与设计要求一致.现场测试结果图9、10、11 所示.
图7 答题梯形图程序
图8 警报信号程序梯形图
图9 第1 路选手成功抢答显示
图10 第3 路选手违规抢答显示
图11 所有选手弃权显示
本设计解决了传统PLC 开发的抢答器功能简单,编程繁琐,系统扩展困难的问题.开发了具有数值显示、声响报警、现场参数设置及实时数据统计分析等多功能的抢答控制系统.经现场测试,该系统工作稳定,运行可靠,保证了比赛高效地进行.