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