在工控行業(yè)中,有時(shí)候會(huì)碰到因?yàn)榭删幊炭刂破鳎╬lc)輸入點(diǎn)的不夠,而導(dǎo)致需要更換設(shè)備,浪費(fèi)資源。對(duì)此,當(dāng)實(shí)時(shí)性不需要那么高時(shí),我們可以編寫(xiě)一個(gè)鍵盤(pán)的掃描程序來(lái)擴(kuò)展輸入的點(diǎn)數(shù)。因?yàn)閽呙璧姆绞绞茄h(huán)掃描,所以在實(shí)時(shí)性方面會(huì)有一定的欠缺。
下面是用三菱plc編程軟件編寫(xiě)的8乘6的48鍵掃描程序。需要用到8個(gè)輸入點(diǎn),6個(gè)輸出點(diǎn),硬件連接如下圖所示:
注:當(dāng)要求實(shí)現(xiàn)組合按鍵時(shí)上圖的二極管必須加,反之二極管可加可不加。
掃描的點(diǎn)是令y0~y5循環(huán)輸出,當(dāng)有按鈕按下時(shí),就會(huì)做出相應(yīng)的動(dòng)作,例如:當(dāng)按鈕鍵0按下時(shí),則x0接通,當(dāng)程序掃描到y(tǒng)0時(shí),x0與y0形成一個(gè)回路, 表示按鍵“0”按下。程序如下圖所示:
結(jié)論:鍵盤(pán)是以循環(huán)掃描的方式來(lái)進(jìn)行輸入,而掃描的時(shí)間越短則實(shí)時(shí)性越好。但是當(dāng)掃描時(shí)間過(guò)短時(shí)會(huì)因y0~y5輸出結(jié)束時(shí),x0仍未接通導(dǎo)致無(wú)法產(chǎn)生輸出信號(hào)?;蛘弋?dāng)y0輸出結(jié)束,y1也輸出結(jié)束時(shí),x0仍未斷開(kāi),導(dǎo)致誤判斷。
經(jīng)過(guò)測(cè)試可知每次循環(huán)掃描的時(shí)間t0不得低于20ms。建議可將濾波時(shí)間設(shè)得短一點(diǎn),則可以縮短每次循環(huán)掃描的時(shí)間t0,例如:本例中將濾波時(shí)間設(shè)為0.8ms,則每次循環(huán)掃描的時(shí)間t0可以設(shè)到最短10ms。