一、海為PLC——實(shí)現(xiàn)8路搶答器" title="搶答器">搶答器" title="競賽搶答器" title="競賽搶答器">競賽搶答器">競賽搶答器:
?
我們在電視上經(jīng)常看到各種知識或智力競賽的節(jié)目,在競賽過程中選手們需要進(jìn)行搶答各種問題,用PLC實(shí)現(xiàn)“搶答器”的功能具有價格便宜/設(shè)置靈活等優(yōu)勢。
?
完全用程序判斷各個選手按鍵搶答的先后,從實(shí)現(xiàn)上沒有什么問題,但由于PLC是循環(huán)掃描運(yùn)行,它會一次性讀入X0-X7的所有輸入狀態(tài),然后再執(zhí)行程序,最后將結(jié)果輸出。如果在一個掃描周期有一個以上選手同時按鍵搶答即有多個X輸入為ON,這時必然是依靠人為的程序去評判先后順序,這會產(chǎn)生本質(zhì)上的不公平。
?
如何避免這種情況的發(fā)生,最好的方法是使用“開關(guān)量" title="開關(guān)量">開關(guān)量輸入上升沿" title="上升沿">上升沿捕捉”功能,以硬件中斷產(chǎn)生的先后來判斷選手按鍵的先后。
?
海為PLC具有X0-X7輸入“上升沿捕捉”和“下降沿捕捉”功能,提供多達(dá)68個中斷功能,很好滿足這種需求。
?
假如對X輸入和Y輸出定義如下:
?
X0:選手1搶答按鍵
X1:選手2搶答按鍵
X2:選手3搶答按鍵
X3:選手4搶答按鍵
X4:選手5搶答按鍵
X5:選手6搶答按鍵
X6:選手7搶答按鍵
X7:選手8搶答按鍵??
Y0:選手1搶答成功
Y1:選手2搶答成功
Y2:選手3搶答成功
Y3:選手4搶答成功
Y4:選手5搶答成功
Y5:選手6搶答成功
Y6:選手7搶答成功
Y7:選手8搶答成功??
?
在“PLC硬件配置”窗口選擇X0-X7的“上升沿捕捉”,打開X0-X7的中斷捕捉功能。如下圖:
?
? ? 二、主程序——實(shí)現(xiàn)中斷綁定" title="綁定">綁定和自動復(fù)位: ? 三、8個中斷子程序——實(shí)現(xiàn)搶答鎖定和輸出: