一、海為PLC——實(shí)現(xiàn)8路競賽搶答器:
完全用程序判斷各個(gè)選手按鍵搶答的先后,從實(shí)現(xiàn)上沒有什么問題,但由于PLC是循環(huán)掃描運(yùn)行,它會(huì)一次性讀入X0-X7的所有輸入狀態(tài),然后再執(zhí)行程序,最后將結(jié)果輸出。如果在一個(gè)掃描周期有一個(gè)以上選手同時(shí)按鍵搶答即有多個(gè)X輸入為ON,這時(shí)必然是依靠人為的程序去評(píng)判先后順序,這會(huì)產(chǎn)生本質(zhì)上的不公平。如何避免這種情況的發(fā)生,最好的方法是使用“開關(guān)量輸入上升沿捕捉”功能,以硬件中斷產(chǎn)生的先后來判斷選手按鍵的先后。
海為PLC具有X0-X7輸入“上升沿捕捉”和“下降沿捕捉”功能,提供多達(dá)68個(gè)中斷功能,很好滿足這種需求。
假如對(duì)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)中斷綁定和自動(dòng)復(fù)位: