“多個開關(guān)控制一盞燈”的多種程序?qū)懛?/div>
發(fā)布時間:2024-04-03 14:12 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 快樂小女

一個開關(guān)控制一盞燈、兩個開關(guān)控制一盞燈、三個開關(guān)控制一盞燈...這些在家裝電路中很經(jīng)常使用。在家裝電工朋友的眼中,這些無非就是多加幾條線,這樣并一下這樣串一下就解決了,但是如果是4個開關(guān)、5個開關(guān)、6個開關(guān)呢?估計(jì)就難到了一大部分電工朋友。今天我們就利用PLC 編寫“多個開關(guān)控制一盞燈”的多種寫法,各位讀者可以根據(jù)自己的喜好自行選擇哦!

一、實(shí)驗(yàn)要求

4個開關(guān)控制一個照明燈,任何一個開關(guān)都可以控制照明燈的點(diǎn)亮與熄滅。根據(jù)實(shí)驗(yàn)要求制作真值表,如圖1所示。

 

1 真值表

 

二、案例程序四種寫法

所有程序的寫法,思路全都來源于圖1所示的真值表。寫法總共有4種,其他的寫法讀者們可以自己研究。

1、真值表直接引用

利用圖1的真值表,把Y01的情況列舉出來,輸入點(diǎn)為“1”就轉(zhuǎn)換成常開觸點(diǎn),輸入點(diǎn)為“0”就轉(zhuǎn)換成常閉觸點(diǎn)。Y01的情況不需要轉(zhuǎn)換。轉(zhuǎn)換完成之后,如圖2所示。

 

2 真值表直接引用

2、組合位元件處理

組合位元件的概念例如K1X0代表的就是X3~X0組合成一個4位的軟元件,K2X0代表X7~X0組合成的8位軟元件,K3X0就是12位,以此類推。

同樣利用圖1真值表,將Y01時對應(yīng)的輸入點(diǎn)轉(zhuǎn)換成十進(jìn)制,發(fā)現(xiàn)有1、2、47、8、11、1314八種情況,將這些數(shù)字跟K1X0進(jìn)行對應(yīng),如果相等,就輸出Y0,程序如圖3所示。

 

3 組合位元件處理

3、SUM指令的引入

SUM指令是判斷K1X0中有多少個輸入點(diǎn)為1,將個數(shù)存放在D0中,如圖4所示。

利用圖1可以找到規(guī)律,Y0觸發(fā)的情況是任意1個輸入點(diǎn)為ON以及任意3個輸入點(diǎn)為ON。所以可以利用比較指令判斷D01、3的關(guān)系,從而輸出Y0。

 

4 SUM指令的引入

4、利用余數(shù)判斷

在圖4介紹的SUM指令的基礎(chǔ)上,利用除法指令,判斷余數(shù)是否為1,如果是偶數(shù)就不輸出,如果是奇數(shù)就輸出。如圖5所示。

 

5 利用余數(shù)判斷

三、總結(jié)

在本文中,總共介紹了4種方式,利用真值表以及組合位元件是最雞肋的,開關(guān)越多,程序越長。利用SUM指令可以有效的把規(guī)律找出解決多個開關(guān)的問題,同時在利用除法求余的方式,不管多少個開關(guān)控制1盞燈都游刃有余了。

Arduino視頻教程基礎(chǔ)篇
我要自學(xué)網(wǎng)商城 ¥40 元
進(jìn)入購買
文章評論
0 條評論 按熱度排序 按時間排序 /350
添加表情
遵守中華人民共和國的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部