華 濱
(武漢軟件工程職業(yè)學院,湖北武漢430000)
搶答器廣泛應用于各種知識競賽中,傳統(tǒng)的搶答器大都采用模擬電路、數(shù)字電路或模數(shù)混合電路組合而成,這類控制系統(tǒng)雖然小巧靈活,但是制作過程復雜,且可靠性往往達不到要求[1]。
本文介紹一種以西門子S7-1200 PLC為核心控制器的四路搶答器系統(tǒng),該系統(tǒng)在傳統(tǒng)搶答器的基礎上加以改進,能夠使得比賽過程有條不紊,更加公平、合理。
本文介紹一種用S7-1200 PLC作為主控制器的四路搶答器,共包含一個出題按鈕、一個復位按鈕、四個搶答按鈕,還外接了一個七段數(shù)碼管,實時顯示搶答選手編號??蓪崿F(xiàn)如下要求:
(1)搶答器可同時供四位選手或四個代表隊參賽,每個競賽臺均設有一個搶答按鈕或并聯(lián)多個搶答按鈕(依據(jù)每個代表隊人數(shù)來定)。
(2)主持人控制臺處設有出題按鈕以及復位按鈕,用來控制選手開始答題和搶答系統(tǒng)的復位。
(3)搶答器能實時鎖存搶答成功選手編號,并將其顯示到數(shù)碼管上。主持人按下?lián)尨疰I,如果選手搶答成功,選手編號立即被鎖存,并顯示到七段數(shù)碼管,同時禁止其他選手再進行搶答。搶答成功選手的編號會一直保存在系統(tǒng)里,直至主持人按下復位按鈕。
(4)主持人按下開始搶答按鈕后,搶答指示燈會以一定的頻率開始閃爍,示意選手開始搶答。如果參賽選手在主持人按下開始搶答按鈕前已經搶答,則搶答無效,系統(tǒng)還是會鎖定主持人按下開始搶答按鈕后第一個搶答到的選手。
(5)搶答過程呈現(xiàn)周期性。當主持人按下復位按鈕后,將清除數(shù)碼管上的數(shù)字,同時復位系統(tǒng)狀態(tài),為下一輪搶答做準備。
S7-1200使用靈活、功能強大、設計緊湊、組態(tài)靈活并具有功能強大的指令。CPU將微處理器、輸入和輸出電路、內置PROFINET、高速運動控制I/O以及模擬量輸入組合到一個設計緊湊的控制器中,可完成簡單邏輯控制、高級邏輯控制、HMI和網絡通信等任務。S7-1200 PLC還包含4種類型的定時器、3種類型的計數(shù)器,可滿足各種不同的定時、計數(shù)需求[2]。在程序設計結構上,S7-1200可采用模塊化程序設計方法,將完成特定任務的代碼塊封裝到一個功能FC或功能塊FB中,使程序條理清晰,調試方便[3]。
基于以上控制要求,本文采用S7-1200/CPU1214DC/DC/DC為主控制器,該主控包含14路輸入觸點、10路輸出線圈、2個模擬量輸入口、6個高速計數(shù)器、4路脈沖輸出,且輸入回路與輸出回路電壓均為DC 24 V,滿足系統(tǒng)要求。
7段數(shù)碼管可以組合顯示十進制0~9以及十六進制A~F。本控制系統(tǒng)只需顯示數(shù)字0~3,用來顯示4位參賽選手的編號。為了便于控制,本文采用共陰極數(shù)碼管,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就會被點亮,為低電平時,就不亮。通過程序控制PLC輸出端電平的高低,來顯示不同的數(shù)字,從而顯示獲得搶答機會的選手編號[4]。
根據(jù)系統(tǒng)實際需求,本文總共用到西門子1200 PLC的6個輸入觸點I0.0~I0.3、I1.0及I1.1,8個輸出線圈Q0.0~Q0.6、Q1.0。其中,I0.0~I0.3為0~3號參賽選手面前相對應的輸入觸點,I1.0為出題觸點,I1.1為系統(tǒng)的復位觸點;Q0.0~Q0.6輸出線圈接7段數(shù)碼管,Q1.0接出題指示燈。PLC的IO接線圖如圖1所示。
圖1 IO接線圖
為了使程序結構簡單、明了,在主程序中多次引用中間標志位表示程序運行狀態(tài)。其中M1.0~M1.3表示4位參賽選手搶答成功的標志位。M2.0表示開始搶答標志位。通過中間標志位來建立系統(tǒng)輸入與輸出間的關系,這樣程序結構更加清晰,便于維護與調試。
系統(tǒng)上電時,使用系統(tǒng)存儲器的首次掃描位初始化所有標志位。當主持人按下開始搶答按鈕,建立開始搶答標志位。按下復位按鈕后,清除中間標志位,為下次開始搶答做準備。如圖2所示,M10.0為首次掃描位,在啟動組織塊完成后的第一次掃描期間內,該位為1。利用首次掃描位,可實現(xiàn)系統(tǒng)狀態(tài)的復位功能,清除掉M1.0開始的5個狀態(tài)標志位,Q0.0開始的8個輸出線圈。I1.0為開始搶答按鈕,建立開始搶答標志位。I1.1為復位按鈕,復位M1.0開始的5個狀態(tài)標志位。
圖2 初始化、開始及復位控制程序
選手答題時,采用經典的“起保?!笨刂齐娐?。四位參賽選手搶答成功,分別建立四個不同的搶答標志位M1.0~M1.3。采用互鎖程序結構,只要有一位選手搶答成功,其他選手就不能繼續(xù)搶答[5]。這樣做,可以防止搶答現(xiàn)場出現(xiàn)多人搶答成功的混亂局面。如圖3所示,I0.0為1號選手搶答按鈕端,M1.1~M1.3為2~4號選手搶答成功標志位,M2.0為開始搶答標志位。只有當主持人按下開始搶答按鈕后,其他選手還未曾搶答,1號選手方可搶答成功。
圖3 1號選手搶答控制程序
西門子S7-1200 PLC可將中間寄存器配置成多種頻率的周期性脈沖,用來產生0.1 s、0.2 s、0.4 s等8種不同周期的方波信號,用于在用戶程序中周期性觸發(fā)動作。本設計使用了該功能,實現(xiàn)從開始搶答到搶答成功時間段的指示燈周期性閃爍。選手搶答成功,相應的M1.0~M1.3標志位會有信號,根據(jù)M1.0~M1.3四個不同標志位的狀態(tài),再用七段數(shù)碼管顯示1~4不同的選手編號。如圖4所示,M2.0為開始搶答標志位,M0.5為系統(tǒng)內部1 Hz周期信號,Q1.0為出題指示燈。主持人按下開始搶答按鈕,開始搶答標志位M2.0有效,若4位參賽選手均未按下?lián)尨鸢粹o,則出題指示燈Q1.0會以1 s的周期閃爍,直到有一位選手搶答成功。M1.1為2號選手搶答標志位,M1.2為3號選手搶答標志位,這兩位選手編號的顯示,均需要點亮7段數(shù)碼管的“a”字段。
圖4 數(shù)碼管控制程序示例
本文主要介紹了一種基于西門子S7-1200系列PLC的四路搶答器控制系統(tǒng)。所給出的程序設計方案合理,易于理解,編程技巧強[6]。通過按鈕SB0控制輸入端子I1.0進而控制搶答系統(tǒng)的開始;開始搶答后,出題指示燈Q1.0會以1 s的周期閃爍;閃爍期間,選手可按下?lián)尨鸢存II0.0~I0.3進行搶答,只要有一位選手搶答成功,電路互鎖,其他選手就不能搶答,并通過控制七段數(shù)碼管Q0.0~Q0.6來顯示搶答成功的選手編號;通過按鈕SB9控制輸入端子I1.1來完成搶答系統(tǒng)的復位功能,清除一切系統(tǒng)狀態(tài),開啟下一輪搶答。本文所介紹的控制系統(tǒng)性能穩(wěn)定,使用方便,可廣泛用于各種比賽搶答系統(tǒng)。