華 濱
(武漢軟件工程職業(yè)學(xué)院,湖北武漢430000)
搶答器廣泛應(yīng)用于各種知識(shí)競(jìng)賽中,傳統(tǒng)的搶答器大都采用模擬電路、數(shù)字電路或模數(shù)混合電路組合而成,這類控制系統(tǒng)雖然小巧靈活,但是制作過(guò)程復(fù)雜,且可靠性往往達(dá)不到要求[1]。
本文介紹一種以西門子S7-1200 PLC為核心控制器的四路搶答器系統(tǒng),該系統(tǒng)在傳統(tǒng)搶答器的基礎(chǔ)上加以改進(jìn),能夠使得比賽過(guò)程有條不紊,更加公平、合理。
本文介紹一種用S7-1200 PLC作為主控制器的四路搶答器,共包含一個(gè)出題按鈕、一個(gè)復(fù)位按鈕、四個(gè)搶答按鈕,還外接了一個(gè)七段數(shù)碼管,實(shí)時(shí)顯示搶答選手編號(hào)。可實(shí)現(xiàn)如下要求:
(1)搶答器可同時(shí)供四位選手或四個(gè)代表隊(duì)參賽,每個(gè)競(jìng)賽臺(tái)均設(shè)有一個(gè)搶答按鈕或并聯(lián)多個(gè)搶答按鈕(依據(jù)每個(gè)代表隊(duì)人數(shù)來(lái)定)。
(2)主持人控制臺(tái)處設(shè)有出題按鈕以及復(fù)位按鈕,用來(lái)控制選手開始答題和搶答系統(tǒng)的復(fù)位。
(3)搶答器能實(shí)時(shí)鎖存搶答成功選手編號(hào),并將其顯示到數(shù)碼管上。主持人按下?lián)尨疰I,如果選手搶答成功,選手編號(hào)立即被鎖存,并顯示到七段數(shù)碼管,同時(shí)禁止其他選手再進(jìn)行搶答。搶答成功選手的編號(hào)會(huì)一直保存在系統(tǒng)里,直至主持人按下復(fù)位按鈕。
(4)主持人按下開始搶答按鈕后,搶答指示燈會(huì)以一定的頻率開始閃爍,示意選手開始搶答。如果參賽選手在主持人按下開始搶答按鈕前已經(jīng)搶答,則搶答無(wú)效,系統(tǒng)還是會(huì)鎖定主持人按下開始搶答按鈕后第一個(gè)搶答到的選手。
(5)搶答過(guò)程呈現(xiàn)周期性。當(dāng)主持人按下復(fù)位按鈕后,將清除數(shù)碼管上的數(shù)字,同時(shí)復(fù)位系統(tǒng)狀態(tài),為下一輪搶答做準(zhǔn)備。
S7-1200使用靈活、功能強(qiáng)大、設(shè)計(jì)緊湊、組態(tài)靈活并具有功能強(qiáng)大的指令。CPU將微處理器、輸入和輸出電路、內(nèi)置PROFINET、高速運(yùn)動(dòng)控制I/O以及模擬量輸入組合到一個(gè)設(shè)計(jì)緊湊的控制器中,可完成簡(jiǎn)單邏輯控制、高級(jí)邏輯控制、HMI和網(wǎng)絡(luò)通信等任務(wù)。S7-1200 PLC還包含4種類型的定時(shí)器、3種類型的計(jì)數(shù)器,可滿足各種不同的定時(shí)、計(jì)數(shù)需求[2]。在程序設(shè)計(jì)結(jié)構(gòu)上,S7-1200可采用模塊化程序設(shè)計(jì)方法,將完成特定任務(wù)的代碼塊封裝到一個(gè)功能FC或功能塊FB中,使程序條理清晰,調(diào)試方便[3]。
基于以上控制要求,本文采用S7-1200/CPU1214DC/DC/DC為主控制器,該主控包含14路輸入觸點(diǎn)、10路輸出線圈、2個(gè)模擬量輸入口、6個(gè)高速計(jì)數(shù)器、4路脈沖輸出,且輸入回路與輸出回路電壓均為DC 24 V,滿足系統(tǒng)要求。
7段數(shù)碼管可以組合顯示十進(jìn)制0~9以及十六進(jìn)制A~F。本控制系統(tǒng)只需顯示數(shù)字0~3,用來(lái)顯示4位參賽選手的編號(hào)。為了便于控制,本文采用共陰極數(shù)碼管,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就會(huì)被點(diǎn)亮,為低電平時(shí),就不亮。通過(guò)程序控制PLC輸出端電平的高低,來(lái)顯示不同的數(shù)字,從而顯示獲得搶答機(jī)會(huì)的選手編號(hào)[4]。
根據(jù)系統(tǒng)實(shí)際需求,本文總共用到西門子1200 PLC的6個(gè)輸入觸點(diǎn)I0.0~I(xiàn)0.3、I1.0及I1.1,8個(gè)輸出線圈Q0.0~Q0.6、Q1.0。其中,I0.0~I(xiàn)0.3為0~3號(hào)參賽選手面前相對(duì)應(yīng)的輸入觸點(diǎn),I1.0為出題觸點(diǎn),I1.1為系統(tǒng)的復(fù)位觸點(diǎn);Q0.0~Q0.6輸出線圈接7段數(shù)碼管,Q1.0接出題指示燈。PLC的IO接線圖如圖1所示。

圖1 IO接線圖
為了使程序結(jié)構(gòu)簡(jiǎn)單、明了,在主程序中多次引用中間標(biāo)志位表示程序運(yùn)行狀態(tài)。其中M1.0~M1.3表示4位參賽選手搶答成功的標(biāo)志位。M2.0表示開始搶答標(biāo)志位。通過(guò)中間標(biāo)志位來(lái)建立系統(tǒng)輸入與輸出間的關(guān)系,這樣程序結(jié)構(gòu)更加清晰,便于維護(hù)與調(diào)試。
系統(tǒng)上電時(shí),使用系統(tǒng)存儲(chǔ)器的首次掃描位初始化所有標(biāo)志位。當(dāng)主持人按下開始搶答按鈕,建立開始搶答標(biāo)志位。按下復(fù)位按鈕后,清除中間標(biāo)志位,為下次開始搶答做準(zhǔn)備。如圖2所示,M10.0為首次掃描位,在啟動(dòng)組織塊完成后的第一次掃描期間內(nèi),該位為1。利用首次掃描位,可實(shí)現(xiàn)系統(tǒng)狀態(tài)的復(fù)位功能,清除掉M1.0開始的5個(gè)狀態(tài)標(biāo)志位,Q0.0開始的8個(gè)輸出線圈。I1.0為開始搶答按鈕,建立開始搶答標(biāo)志位。I1.1為復(fù)位按鈕,復(fù)位M1.0開始的5個(gè)狀態(tài)標(biāo)志位。

圖2 初始化、開始及復(fù)位控制程序
選手答題時(shí),采用經(jīng)典的“起保停”控制電路。四位參賽選手搶答成功,分別建立四個(gè)不同的搶答標(biāo)志位M1.0~M1.3。采用互鎖程序結(jié)構(gòu),只要有一位選手搶答成功,其他選手就不能繼續(xù)搶答[5]。這樣做,可以防止搶答現(xiàn)場(chǎng)出現(xiàn)多人搶答成功的混亂局面。如圖3所示,I0.0為1號(hào)選手搶答按鈕端,M1.1~M1.3為2~4號(hào)選手搶答成功標(biāo)志位,M2.0為開始搶答標(biāo)志位。只有當(dāng)主持人按下開始搶答按鈕后,其他選手還未曾搶答,1號(hào)選手方可搶答成功。

圖3 1號(hào)選手搶答控制程序
西門子S7-1200 PLC可將中間寄存器配置成多種頻率的周期性脈沖,用來(lái)產(chǎn)生0.1 s、0.2 s、0.4 s等8種不同周期的方波信號(hào),用于在用戶程序中周期性觸發(fā)動(dòng)作。本設(shè)計(jì)使用了該功能,實(shí)現(xiàn)從開始搶答到搶答成功時(shí)間段的指示燈周期性閃爍。選手搶答成功,相應(yīng)的M1.0~M1.3標(biāo)志位會(huì)有信號(hào),根據(jù)M1.0~M1.3四個(gè)不同標(biāo)志位的狀態(tài),再用七段數(shù)碼管顯示1~4不同的選手編號(hào)。如圖4所示,M2.0為開始搶答標(biāo)志位,M0.5為系統(tǒng)內(nèi)部1 Hz周期信號(hào),Q1.0為出題指示燈。主持人按下開始搶答按鈕,開始搶答標(biāo)志位M2.0有效,若4位參賽選手均未按下?lián)尨鸢粹o,則出題指示燈Q1.0會(huì)以1 s的周期閃爍,直到有一位選手搶答成功。M1.1為2號(hào)選手搶答標(biāo)志位,M1.2為3號(hào)選手搶答標(biāo)志位,這兩位選手編號(hào)的顯示,均需要點(diǎn)亮7段數(shù)碼管的“a”字段。

圖4 數(shù)碼管控制程序示例
本文主要介紹了一種基于西門子S7-1200系列PLC的四路搶答器控制系統(tǒng)。所給出的程序設(shè)計(jì)方案合理,易于理解,編程技巧強(qiáng)[6]。通過(guò)按鈕SB0控制輸入端子I1.0進(jìn)而控制搶答系統(tǒng)的開始;開始搶答后,出題指示燈Q1.0會(huì)以1 s的周期閃爍;閃爍期間,選手可按下?lián)尨鸢存II0.0~I(xiàn)0.3進(jìn)行搶答,只要有一位選手搶答成功,電路互鎖,其他選手就不能搶答,并通過(guò)控制七段數(shù)碼管Q0.0~Q0.6來(lái)顯示搶答成功的選手編號(hào);通過(guò)按鈕SB9控制輸入端子I1.1來(lái)完成搶答系統(tǒng)的復(fù)位功能,清除一切系統(tǒng)狀態(tài),開啟下一輪搶答。本文所介紹的控制系統(tǒng)性能穩(wěn)定,使用方便,可廣泛用于各種比賽搶答系統(tǒng)。