概要:
本文使用EC10 的源型輸入功能,利用四個(gè)輸入口和四個(gè)輸出口來(lái)實(shí)現(xiàn)一組四位撥碼開(kāi)關(guān)設(shè)定值的讀入,并且可以在此基礎(chǔ)上實(shí)現(xiàn)更多位撥碼開(kāi)關(guān)設(shè)定值的讀入,還可在這個(gè)程序編制過(guò)程中體會(huì)到如何在PLC 控制系統(tǒng)中節(jié)省輸入口的一些技巧。
關(guān)鍵詞:BCD 碼、撥碼開(kāi)關(guān)、PLC、源型輸入、漏型輸入
一、撥碼開(kāi)關(guān)簡(jiǎn)介
如果PLC 控制系統(tǒng)中的某些控制參數(shù)或數(shù)據(jù)經(jīng)常需要人工修改,可使用撥碼開(kāi)關(guān)與PLC 進(jìn)行連接,在PLC 外部進(jìn)行數(shù)據(jù)設(shè)定或修改。如下圖所示的四位一組的撥碼開(kāi)關(guān),每一位撥碼開(kāi)關(guān)可以輸入十進(jìn)制的0-9,或者是十六進(jìn)制的0-A。
BCD 撥碼開(kāi)關(guān)是十進(jìn)制輸入,BCD 碼(即2-10 十進(jìn)制)輸出,又稱為8421 撥碼開(kāi)關(guān)。每位BCD 撥碼開(kāi)關(guān)可輸入1 位10 進(jìn)制數(shù),4 片BCD 撥碼開(kāi)關(guān)拼接可得4 位10 進(jìn)制輸入撥碼組。每個(gè)BCD 撥碼開(kāi)關(guān)后面有5 個(gè)接點(diǎn),其中C 為輸入控制線,另外4 根是BCD碼輸出信號(hào)線。撥盤撥到不同的位置時(shí),輸入控制線C 分別與4 根BCD 碼輸出線中的某根或某幾根接通。其接通的BCD 碼輸出線狀態(tài)正好與撥盤指示的10 進(jìn)制數(shù)相一致,符合2-10 進(jìn)制編碼關(guān)系。
二、PLC 的源型輸入
EC10 系列PLC 提供給用戶進(jìn)行輸入方式的選擇,端子排上的S/S 端子用來(lái)選擇信號(hào)的輸入方式,可以設(shè)置成源型輸入方式或漏型輸入方式。將S/S 端子與+24V 端子相連,即設(shè)置為漏型輸入方式,可以連接NPN 型傳感器,PLC 的+24V 端子和COM 端子配合,提供給輸入元件24V 直流電源;將S/S 端子和COM 端子相連,即設(shè)置為源型輸入方式,可以連接PNP 型傳感器,這時(shí)外部輸入元件將使用外部輔助電源。
EC20 出廠設(shè)置為漏型輸入,但可通過(guò)改焊PLC 內(nèi)部接口板上的JP0、JP1、JP2 三個(gè)跳線(0 歐姆SMT 電阻)來(lái)實(shí)現(xiàn)源型輸入,參照板上的絲印說(shuō)明(√表示焊接,×表示斷開(kāi)):
在主模塊中,所以的輸入端口只能采用同一種輸入方式(源型或漏型),如果EC20 需要采用源型輸入方式,請(qǐng)?jiān)谟嗀洉r(shí)咨詢供應(yīng)商,不要擅自改動(dòng),以免造成損壞。
在本文中,要利用四個(gè)PLC 輸入端口實(shí)現(xiàn)四位撥碼開(kāi)關(guān)設(shè)定值的讀入,因此將使用四個(gè)PLC 輸出口來(lái)分別控制四位撥碼開(kāi)關(guān)的依次讀入,所以對(duì)于PLC 輸入口而言,是采用源型輸入方式。
下圖為源型輸入方式的EC10 主模塊輸入端口內(nèi)部等效電路圖
三、設(shè)備及連線
設(shè)備器材說(shuō)明:EC10-1614BTA 1 臺(tái)
四位撥碼開(kāi)關(guān) 1 只
二極管IN4001 16 只
PLC 接線圖
四、PLC 程序及設(shè)計(jì)要點(diǎn)
2、在程序中設(shè)計(jì)了一個(gè)數(shù)據(jù)輸入按鈕X0,當(dāng)X0 置為ON 時(shí),PLC 依次讀入撥碼開(kāi)關(guān)各位的設(shè)定值一次,避免重復(fù)讀數(shù),減少PLC 的運(yùn)算量及輸入、輸出端口的通斷次數(shù)。
3、用Y2、Y3、Y4、Y5 的依次輸出,來(lái)控制在X1-X4 端口分別輸入四位撥碼開(kāi)關(guān)每一位設(shè)定值的依次讀入:在僅有Y2 輸出時(shí),X1-X4 讀入的是第一位即個(gè)位撥碼開(kāi)關(guān)的設(shè)定值,在僅有Y3 輸出時(shí),X1-X4 讀入的是第二位即十位撥碼開(kāi)關(guān)的設(shè)定值……
4、十位撥碼開(kāi)關(guān)的讀數(shù)應(yīng)乘以10,百位撥碼開(kāi)關(guān)的讀數(shù)應(yīng)乘以100,千位撥碼開(kāi)關(guān)的讀數(shù)應(yīng)乘以1000,應(yīng)注意整數(shù)乘法運(yùn)算的結(jié)果是32 位的整數(shù),本文中最大輸入值為9999,故所有的乘積(32 位數(shù))的高位都是0,在合并各位的讀數(shù)時(shí),只需對(duì)各32 位數(shù)的低位進(jìn)行處理。
5、程序中采用了SFTL 字串左移指令,配合SM11 周期為100ms 的時(shí)鐘振蕩,來(lái)實(shí)現(xiàn)Y2-Y5 的依次輸出和撥碼開(kāi)關(guān)各位設(shè)定值的讀入。
五、注意事項(xiàng)
1、建議使用晶體管輸出型的PLC。
2、在程序中,撥碼開(kāi)關(guān)每一位的設(shè)定值,是采用將K1X1 的值送入相應(yīng)的D 寄存器,來(lái)讀進(jìn)到PLC 的,因此在接線的時(shí)候,X1 對(duì)應(yīng)的是每一位撥碼開(kāi)關(guān)的1 腳,X4 對(duì)應(yīng)的是每一位撥碼開(kāi)關(guān)的8 腳。
3、在編制程序時(shí),如果用SM15,即一個(gè)掃描周期振蕩一次的輸出來(lái)控制STFL 指令,由于這個(gè)時(shí)間間隔過(guò)短,容易造成數(shù)據(jù)刷新和輸入輸出口的刷新出現(xiàn)問(wèn)題,會(huì)出現(xiàn)讀錯(cuò)數(shù)據(jù)的情況。改用SM11,每100ms 振蕩一次,這個(gè)時(shí)間間隔在實(shí)際運(yùn)用上也是允許的,而且不會(huì)出現(xiàn)讀數(shù)混亂的問(wèn)題。
4、在PLC 接線圖中可以看到,如果在撥碼開(kāi)關(guān)的1、2、4、8 腳和PLC 的輸入口中間如果沒(méi)有二極管,先假設(shè)個(gè)位開(kāi)關(guān)的撥碼設(shè)定是3,即個(gè)位開(kāi)關(guān)的1 腳和2 腳與C 腳之間接通,在Y2 輸出一個(gè)高電平到個(gè)位開(kāi)關(guān)C 腳并讀取個(gè)位的設(shè)定值后,Y2 輸出終止,Y3 輸出高電平到十位開(kāi)關(guān)的C 腳,這個(gè)時(shí)候本應(yīng)該是讀取十位開(kāi)關(guān)的設(shè)定值,但Y3 輸出的高電平可能會(huì)通過(guò)個(gè)位開(kāi)關(guān)的1 腳和2 腳流到C 腳,等同于Y2 也輸出了一個(gè)高電平加在個(gè)位開(kāi)關(guān)的C 腳上,這樣將會(huì)導(dǎo)致讀數(shù)混亂。在撥碼開(kāi)關(guān)的1、2、4、8 腳和PLC 輸入口之間焊焊上二極管IN4001(參見(jiàn)PLC 接線圖),隔斷四片開(kāi)關(guān)相應(yīng)的四個(gè)腳,可解決這個(gè)問(wèn)題。因此在應(yīng)用中如果要使用到這種撥碼開(kāi)關(guān),建議選購(gòu)內(nèi)部帶有二極管的,不過(guò)要注意二極管的極型(共陰極或共陽(yáng)極)是否符合要求。
參考書籍:
1、EC10 系列可編程控制器用戶手冊(cè)
2、EC1020 系列可編程控制器編程參考手冊(cè)
3、歐姆龍A7 系列撥碼開(kāi)關(guān)產(chǎn)品樣本