黎一強
(羅定職業技術學院,廣東 羅定 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 開發的搶答器功能簡單,編程繁瑣,系統擴展困難的問題.開發了具有數值顯示、聲響報警、現場參數設置及實時數據統計分析等多功能的搶答控制系統.經現場測試,該系統工作穩定,運行可靠,保證了比賽高效地進行.