黎一強(qiáng)
(羅定職業(yè)技術(shù)學(xué)院,廣東 羅定 527200)
搶答器主要采用4 種控制方式,其中繼電器電路控制及模擬數(shù)字邏輯電路控制的搶答器由于功能簡單,線路復(fù)雜,故障率高[1],逐步被淘汰.現(xiàn)市場(chǎng)上以單片機(jī)控制為主,但隨著社會(huì)的發(fā)展,特別在一些重大的比賽項(xiàng)目中,對(duì)搶答器的功能及穩(wěn)定性提出了更苛刻的要求.單片機(jī)控制系統(tǒng)相對(duì)而言成本低廉[2],但功能不易擴(kuò)展,抗干擾能力差[3],不能持續(xù)穩(wěn)定地長時(shí)間工作,要實(shí)現(xiàn)人機(jī)界面比較困難,因而今后采用PLC 控制系統(tǒng)是高端智能搶答器發(fā)展的趨勢(shì).
PLC 控制系統(tǒng)抗干擾能力強(qiáng)[4],能穩(wěn)定地長時(shí)間工作,編程容易,易于擴(kuò)展,搶答器采用PLC 控制的也越來越多.但筆者在知網(wǎng)上查閱了2012年以來,基于PLC 開發(fā)的搶答器的相關(guān)文獻(xiàn)資料發(fā)現(xiàn):一是這些文獻(xiàn)資料介紹的基本都是使用PLC 基本指令進(jìn)行編程設(shè)計(jì)的傳統(tǒng)搶答器,功能簡單,編程繁瑣,不易擴(kuò)展,如果搶答器的搶答路數(shù)要增多,原系統(tǒng)的程序修改變動(dòng)較大,修改程序易出錯(cuò),故障率增加,沒有發(fā)揮PLC 優(yōu)勢(shì);二是文獻(xiàn)資料介紹的搶答器控制系統(tǒng),不具有比賽現(xiàn)場(chǎng)參數(shù)更改設(shè)置的功能;三是文獻(xiàn)資料介紹的搶答器控制系統(tǒng),沒有實(shí)時(shí)數(shù)據(jù)統(tǒng)計(jì)分析的功能.這些因素不能確保比賽高效地進(jìn)行.本設(shè)計(jì)利用PLC 作為控制器,采用PLC 的功能指令進(jìn)行編程,采用觸摸屏作為人機(jī)界面,設(shè)計(jì)了一個(gè)具有現(xiàn)場(chǎng)參數(shù)更改設(shè)置及實(shí)時(shí)數(shù)據(jù)統(tǒng)計(jì)分析功能的智能搶答器控制系統(tǒng).
(1)要求設(shè)計(jì)一個(gè)6 路搶答控制系統(tǒng),搶答比賽時(shí),該系統(tǒng)能準(zhǔn)確判斷最先按下?lián)尨鸢粹o的組別,并能鎖定搶答結(jié)果.
(2)比賽開始搶答時(shí),主持人在人機(jī)界面上先按下預(yù)備搶答按鈕,讓選手做好搶答準(zhǔn)備,然后主持人再按下開始搶答按鈕,開始搶答指示綠燈HL1 亮,在本題允許搶答時(shí)間T0 s 內(nèi),如果有選手搶先按下?lián)尨鸢粹o,則蜂鳴器發(fā)出2 s 的聲響,在七段數(shù)碼管和觸摸屏上顯示該搶答者的組號(hào)[5],要求系統(tǒng)自動(dòng)統(tǒng)計(jì)每組成功搶答的次數(shù),并在人機(jī)界面上顯示出來,定時(shí)器T0 停止倒計(jì)時(shí).
(3)如果在設(shè)定的搶答時(shí)間范圍內(nèi),沒有選手搶答,則蜂鳴器發(fā)出1 s 的聲響,同時(shí)棄權(quán)指示黃燈HL2 亮,表示沒有任何選手搶答,該題所有選手棄權(quán).
(4)如果在設(shè)定的搶答時(shí)間范圍內(nèi),有選手搶答成功,選手開始答題時(shí),主持人在人機(jī)界面上按下開始答題按鈕,選手要在設(shè)定的答題時(shí)間T1 范圍內(nèi)回答問題.時(shí)間T1的倒計(jì)時(shí)要在人機(jī)界面上進(jìn)行顯示,并且最后10 s 倒計(jì)時(shí)也要在七段數(shù)碼管上顯示,以提醒答題者.當(dāng)T1 的倒計(jì)時(shí)結(jié)束,則蜂鳴器發(fā)出3 s 的聲響,選手結(jié)束答題.
(5)如果選手答題正確,主持人在人機(jī)界面上按下回答正確按鈕,則該選手的總得分自動(dòng)加上該題的得分.如果選手答題錯(cuò)誤,主持人在人機(jī)界面上按下回答錯(cuò)誤按鈕,則該選手的總分自動(dòng)減去該題的扣分.要求系統(tǒng)自動(dòng)統(tǒng)計(jì)每組的總得分,并在人機(jī)界面上顯示出來.
(6)在比賽時(shí),當(dāng)主持人按下了預(yù)備搶答按鈕,但還沒按下開始搶答按鈕,就有選手按下了搶答按鈕,這時(shí)蜂鳴器發(fā)出5 s 的聲響,違規(guī)搶答指示紅燈HL3 亮,并在人機(jī)界面和七段數(shù)碼管上顯示搶答者的組號(hào),系統(tǒng)自動(dòng)記錄每組違規(guī)搶答的次數(shù),并在人機(jī)界面上顯示每組違規(guī)的次數(shù),此時(shí)搶答無效[6].系統(tǒng)在該組的總得分上自動(dòng)扣除該組在該題上違規(guī)搶答的扣分.
(7)主持人在人機(jī)界面上按下下一題的按鈕,則開始下一題的搶答,按下復(fù)位按鈕,則系統(tǒng)所有數(shù)據(jù)清零.搶答時(shí)間、答題時(shí)間、每題的得分值、每題的扣分值、違規(guī)的扣分值等,主持人都可在人機(jī)界面上進(jìn)行實(shí)時(shí)設(shè)置.
根據(jù)搶答器控制系統(tǒng)的控制要求,本設(shè)計(jì)要求實(shí)現(xiàn)6 路搶答控制,考慮到今后的擴(kuò)展,選用三菱FX3u-32MR 的PLC 作為控制器,選用昆侖通態(tài)TPC1061Ti 觸摸屏作為人機(jī)界面,與數(shù)碼管、蜂鳴器等構(gòu)成搶答器的硬件控制系統(tǒng).
選手的搶答信號(hào)由按鈕經(jīng)PLC 的輸入端子輸入,主持人的輸入信號(hào)由觸摸屏輸入.PLC 輸入端子分配如表1所示.
PLC 輸出端子分配如表2所示.
PLC 的I/O 接線圖如圖1所示.
表1 PLC 輸入端子分配表
表2 PLC 輸出端子分配表
2.2.1 觸摸屏圖形界面的設(shè)計(jì)
MCGS 可視化的圖形功能可以方便地建立所設(shè)計(jì)的各種畫面[7].設(shè)計(jì)觸摸屏圖形界面時(shí),一是要考慮界面布局的合理性及操作的方便性,該設(shè)計(jì)將圖形界面分設(shè)為指示燈顯示、參數(shù)輸入設(shè)置、數(shù)據(jù)統(tǒng)計(jì)顯示、按鍵等4 個(gè)功能區(qū)域,考慮到人的視覺習(xí)慣與操作習(xí)慣,按照控制要求,從上到下,從左到右地進(jìn)行制作;二是圖形界面要簡潔明了,注釋明晰,圖形工整,讓人一目了然.該設(shè)計(jì)在工具箱中,采用標(biāo)準(zhǔn)按鈕構(gòu)件制作按鍵;采用輸入框構(gòu)件制作參數(shù)設(shè)置輸入框;采用標(biāo)簽構(gòu)件制作數(shù)值輸出顯示框;采用橢圓圖元對(duì)象制作指示燈,不同的指示燈根據(jù)控制要求在變量的值為1 時(shí),分別填充綠、黃、紅等顏色.觸摸屏圖形界面如圖2所示.
圖1 PLC的I/O接線圖
圖2 人機(jī)界面模擬運(yùn)行的初態(tài)
2.2.2 實(shí)時(shí)數(shù)據(jù)庫的建立與組態(tài)
根據(jù)觸摸屏的圖形界面結(jié)合控制系統(tǒng)的要求,給控制系統(tǒng)分配軟元件資源,建立實(shí)時(shí)數(shù)據(jù)庫用于PLC 編程使用.實(shí)時(shí)數(shù)據(jù)庫是工程各個(gè)部分的數(shù)據(jù)交換與處理中心,通過它將工程的各個(gè)部分連接成有機(jī)的整體[8].觸摸屏圖形與PLC 的編程軟元件關(guān)系如表3所示.
表3 觸摸屏圖形與PLC 的編程軟元件關(guān)系表
根據(jù)觸摸屏圖形與PLC 的編程軟元件關(guān)系表,在觸摸屏界面上對(duì)圖元構(gòu)件進(jìn)行參數(shù)設(shè)置,設(shè)置好后人機(jī)界面通過模擬運(yùn)行的初態(tài)如圖2所示.
該搶答器控制系統(tǒng),開始工作時(shí),主持人先在人機(jī)界面上按下“復(fù)位”按鈕,對(duì)系統(tǒng)所有數(shù)據(jù)進(jìn)行清零初始化;初始化后,主持人根據(jù)每題的要求,先設(shè)置每題的搶答時(shí)間、答題時(shí)間、正確得分值、錯(cuò)誤扣分值、違規(guī)扣分值等,如果下一題與前一題的參數(shù)相同,可不用重復(fù)設(shè)置;正式搶答時(shí),主持人先按下“預(yù)備搶答”按鈕,如果沒有選手違規(guī)搶答,則再按下“開始搶答”按鈕就開始一輪搶答流程,回答完畢后,按下“下一題”按鈕時(shí)又開始新的一輪搶答.搶答器工作流程圖如圖3所示.
傳統(tǒng)的、PLC 控制的搶答器多數(shù)采用PLC 基本的邏輯指令進(jìn)行編程,功能簡單,程序復(fù)雜、冗長,有的功能不容易實(shí)現(xiàn),功能擴(kuò)展困難,易于出錯(cuò),故障率高.本設(shè)計(jì)是采用PLC 提供的一些功能指令,可對(duì)程序進(jìn)行優(yōu)化,使編程更易.
比如要讓七段數(shù)碼管的顯示一個(gè)“5”,許多系統(tǒng)還是采用OUT 指令進(jìn)行編程,要多條OUT 指令驅(qū)動(dòng)Y0、Y2、Y3、Y5 及Y6.有的是采用MOV 指令給K2Y0 賦值,這顯然要比用OUT 指令要好,但不管是賦十進(jìn)制數(shù)值還是十六進(jìn)制數(shù)值都要進(jìn)行數(shù)值的換算,如賦十進(jìn)制數(shù)值應(yīng)用“MOV K109 K2Y0”,如賦十六進(jìn)制數(shù)值應(yīng)用“MOV H6D K2Y0”,這都不夠直觀.其實(shí)FX3u的PLC 有一條七段碼譯碼指令SEGD,用它來驅(qū)動(dòng)數(shù)碼管就非常簡潔直觀了,如要讓七段數(shù)碼管的顯示一個(gè)“5”,就直接寫“SEGD K5 K2Y0”即可.
進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),首先將程序拆分成具有基本功能的程序模塊[9],如初始化、準(zhǔn)備、開始搶答程序,成功搶答程序,違規(guī)搶答程序,答題程序,警報(bào)信號(hào)程序等,然后將這些基本的功能模塊進(jìn)行組合,使之銜接成一個(gè)完整的程序[10].
3.2.1 初始化、準(zhǔn)備、開始搶答程序設(shè)計(jì)
系統(tǒng)初始化、準(zhǔn)備、開始搶答程序設(shè)計(jì)時(shí)要實(shí)現(xiàn)以下主要功能:一是實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)初始化,當(dāng)主持人在人機(jī)界面上按下復(fù)位按鈕M106 時(shí)清除系統(tǒng)程序的所有參數(shù),采用區(qū)間復(fù)位指令ZRST;二是在觸摸屏上可任意設(shè)置及更改搶答時(shí)間T0、答題時(shí)間T1、每題得分值、每題扣分值、違規(guī)扣分值等參數(shù),這些數(shù)據(jù)由人機(jī)界面分別寫入到PLC的數(shù)據(jù)寄存器D0~D4 中;三是發(fā)出預(yù)備搶答、開始搶答、下一題等信號(hào).參考梯形圖程序如圖4所示.
3.2.2 成功搶答控制程序設(shè)計(jì)
程序模塊實(shí)現(xiàn)的功能:一是當(dāng)開始搶答信號(hào)M0 有效時(shí),實(shí)現(xiàn)搶答功能;二是用M8013 的上升沿作為秒信號(hào),用DEC D0 指令實(shí)現(xiàn)搶答時(shí)間倒計(jì)時(shí),并通過MOV 及SEGD 指令將搶答倒計(jì)時(shí)在人機(jī)界面及七段數(shù)碼管上進(jìn)行顯示;三是實(shí)現(xiàn)將成功搶答的選手號(hào)在人機(jī)界面和七段數(shù)碼管上進(jìn)行顯示;四是系統(tǒng)運(yùn)用INC 指令實(shí)現(xiàn)自動(dòng)統(tǒng)計(jì)每組成功搶答的次數(shù),并在人機(jī)界面上顯示出來.參考梯形圖程序如圖5所示.
圖3 搶答器工作流程圖
圖4 初始化梯形圖程序
3.2.3 違規(guī)搶答控制程序設(shè)計(jì)
這個(gè)程序模塊的主要功能:一是當(dāng)預(yù)備搶答信號(hào)M14 生效時(shí),實(shí)現(xiàn)違規(guī)搶答判斷功能;二是通過如SEGD K1 K2Y000 指令模式將違規(guī)搶答的選手號(hào),在七段數(shù)碼管上進(jìn)行顯示,通過如MOV K1 K2Y000 指令模式將違規(guī)搶答的選手號(hào),在人機(jī)界面上進(jìn)行顯示;三是通過如INC D30 指令模式實(shí)現(xiàn)自動(dòng)統(tǒng)計(jì)每組違規(guī)搶答的次數(shù),并在人機(jī)界面上顯示出來;四是通過如SUB D10 D4 D10 指令模式系統(tǒng)在違規(guī)搶答選手的總得分上,自動(dòng)扣除該組在該題上違規(guī)搶答的扣分.參考梯形圖程序如圖6所示.
3.2.4 答題控制程序設(shè)計(jì)
這個(gè)程序模塊的主要功能:一是當(dāng)答題信號(hào)M13 生效時(shí),實(shí)現(xiàn)答題時(shí)間倒計(jì)時(shí),并在人機(jī)界面及七段數(shù)碼管上進(jìn)行顯示;二是當(dāng)選手回答正確時(shí),系統(tǒng)自動(dòng)在該選手的總得分上加上該題的得分;三是當(dāng)選手回答錯(cuò)誤時(shí),系統(tǒng)自動(dòng)在該選手的總得分上減去該題的扣分.參考梯形圖程序如圖7所示.
3.2.5 警報(bào)信號(hào)程序設(shè)計(jì)
這個(gè)程序模塊的主要功能是實(shí)現(xiàn)蜂鳴器按照控制要求發(fā)出相應(yīng)的警報(bào)聲.參考梯形圖程序如圖8所示.
圖5 成功搶答梯形圖程序
圖6 違規(guī)搶答梯形圖程序
在實(shí)驗(yàn)室,用PLC、觸摸屏、數(shù)碼管設(shè)計(jì)了一個(gè)搶答器系統(tǒng),將本設(shè)計(jì)的程序下載到PLC 及觸摸屏,通過多次反復(fù)測(cè)試,實(shí)驗(yàn)結(jié)果與設(shè)計(jì)要求一致.現(xiàn)場(chǎng)測(cè)試結(jié)果圖9、10、11 所示.
圖7 答題梯形圖程序
圖8 警報(bào)信號(hào)程序梯形圖
圖9 第1 路選手成功搶答顯示
圖10 第3 路選手違規(guī)搶答顯示
圖11 所有選手棄權(quán)顯示
本設(shè)計(jì)解決了傳統(tǒng)PLC 開發(fā)的搶答器功能簡單,編程繁瑣,系統(tǒng)擴(kuò)展困難的問題.開發(fā)了具有數(shù)值顯示、聲響報(bào)警、現(xiàn)場(chǎng)參數(shù)設(shè)置及實(shí)時(shí)數(shù)據(jù)統(tǒng)計(jì)分析等多功能的搶答控制系統(tǒng).經(jīng)現(xiàn)場(chǎng)測(cè)試,該系統(tǒng)工作穩(wěn)定,運(yùn)行可靠,保證了比賽高效地進(jìn)行.