【摘要】研究了基于三菱PLC的DECO解碼指令,在實(shí)際編程中的應(yīng)用。三菱PLC的功能指令功能強(qiáng)大,靈活應(yīng)用會(huì)使編程變得簡(jiǎn)單。本文給出了可行的程序設(shè)計(jì)方法,對(duì)同類問(wèn)題能夠舉一反三,此種方法來(lái)源于筆者多年來(lái)參加省市技能大賽總結(jié)而來(lái)。
【關(guān)鍵詞】PLC;DECO;梯形圖;程序設(shè)計(jì);解碼指令

1.引言
三菱PLC由于其指令功能強(qiáng)大,深受編程愛(ài)好者的喜愛(ài),特別是它的功能指令,合理應(yīng)用會(huì)產(chǎn)生意想不到的效果,筆者在此特舉出幾例,起到拋磚引玉的效果,使廣大讀者能夠觸類旁通,使PLC編程變得更加簡(jiǎn)單可行。
2.三菱PLC的DECO解碼指令
DECO解碼指令

功能:假設(shè)X2、X1、X0為0、1、1,則源地址為011,即十進(jìn)制數(shù)3,因此從M10起第3位的M13變?yōu)?。源全部為0時(shí),M10為1。
當(dāng)n=0時(shí)不處理,n=0~8以外的數(shù)據(jù)地會(huì)運(yùn)算出錯(cuò),運(yùn)算錯(cuò)誤。
當(dāng)n=8時(shí),如果譯碼命令目的操作數(shù)D為位軟元件時(shí),其點(diǎn)數(shù)為256點(diǎn)。
當(dāng)驅(qū)動(dòng)輸入為OFF時(shí),指令不執(zhí)行,正在動(dòng)作的譯碼輸出保持動(dòng)作。
3.DECO解碼指令在數(shù)碼顯示中的程序設(shè)計(jì)
問(wèn)題描述:現(xiàn)模擬一自動(dòng)投幣洗衣機(jī),有A、B、C三個(gè)按鈕,分別表示一角硬幣、二角硬幣、三角硬幣按鍵。然后通過(guò)按A、B、C按鍵模擬投硬幣,往洗衣機(jī)里投入硬幣,所投硬幣總額通過(guò)數(shù)碼管顯示,當(dāng)投入的硬幣總值大于等于洗衣機(jī)所需的價(jià)錢(qián)一元時(shí),洗衣機(jī)開(kāi)始洗衣,洗衣指示燈亮。洗衣10分鐘后,洗衣完畢后,自動(dòng)找零,找零指示燈亮,找零的余額通過(guò)數(shù)碼管顯示出來(lái)。
從以上問(wèn)題可以看出,此程序設(shè)計(jì)的關(guān)鍵問(wèn)題是要求能夠?qū)崟r(shí)通過(guò)數(shù)碼管顯示錢(qián)幣。我們可以基本指令來(lái)實(shí)現(xiàn),但是使用基本指令會(huì)編寫(xiě)大量的程序代碼,如果使用DECO解碼指令,會(huì)使問(wèn)題變得簡(jiǎn)單多了。
首先我們進(jìn)行I/O口分配,I/O分配如下:
輸入:A按鈕X0,B按鈕X1,C按鈕X2,數(shù)碼管a段Y0,
輸出:數(shù)碼管a段Y0,數(shù)碼管b段Y0,數(shù)碼管c段Y1,數(shù)碼管d段Y2,數(shù)碼管e段Y3,數(shù)碼管f段Y4,數(shù)碼管g段Y5,數(shù)碼管a段Y6,洗衣指示燈Y10,找零指示燈Y11。程序如下圖1:

圖1
4.DECO在步進(jìn)電機(jī)控制中的應(yīng)用
問(wèn)題描述:現(xiàn)利用DECO指令來(lái)實(shí)現(xiàn)步進(jìn)電機(jī)的控制,完成對(duì)步進(jìn)電機(jī)的三相六拍。編程的關(guān)鍵是要產(chǎn)生M1~M6的脈沖序列。我們可以分別用M1~M6來(lái)控制六個(gè)節(jié)拍,即M1控制A相得電,M2控制A、B相得電,M3控制B相得電,M4控制B、C相得電,M5控制C相得電,M6控制C、A相得電,依次循環(huán)下去,可使步進(jìn)電機(jī)旋轉(zhuǎn)。如果要控制步進(jìn)電機(jī)的轉(zhuǎn)速,只要改變A~AB~B~BC~C~CA之間的轉(zhuǎn)換時(shí)間即可。如果需要步進(jìn)電機(jī)反轉(zhuǎn),只需改變步進(jìn)電機(jī)得電的時(shí)序,即CA~A~AB~B~BC~C依次得電。
輸入輸出分配表如下表1:
輸入
輸出
元件
作用
輸入點(diǎn)
元件
作用
輸出點(diǎn)
SB1
啟動(dòng)
X0
步進(jìn)電
機(jī)A相
輸出
脈沖
Y1
SB2
停止
X1
步進(jìn)電
機(jī)B相
輸出
脈沖
Y2
SA1
慢速
X2
步進(jìn)電
機(jī)C相
輸出
脈沖
Y3
SA2
中速
X3
SA3
快速
X4
表1
產(chǎn)生的脈沖程序程序如下:

圖2
根據(jù)M1控制A相得電,M2控制A、B相得電,M3控制B相得電,M4控制B、C相得電,M5控制C相得電,M6控制C、A相得電,我們可以寫(xiě)出Y1、Y2、Y3得電的程序。
控制步進(jìn)電機(jī)的轉(zhuǎn)速,只要改變A~AB~B~BC~C~CA之間的轉(zhuǎn)換時(shí)間即可,即改變T249的定時(shí)時(shí)D1。
5.結(jié)束語(yǔ)
解碼指令在程序設(shè)計(jì)中起著極大地作用,不僅在數(shù)碼管、步進(jìn)電機(jī)程序設(shè)計(jì)中適用,同樣在其它的程序中一樣適用。在近年來(lái)技能大賽的江蘇省賽、國(guó)賽題目中,解碼指令均能非常好地用于解決問(wèn)題。筆者多次在省市大賽中獲獎(jiǎng),根據(jù)自已的實(shí)際經(jīng)驗(yàn)總結(jié)以上,希對(duì)各位同仁起到拋磚引玉的作用。
參考文獻(xiàn):
[1]基于PLC在YL-235A設(shè)備中物料分揀的程序設(shè)計(jì) 出版年(2009 第4期)
[2]機(jī)電一體化設(shè)備的組裝與調(diào)試 出版年(2009.5第1版)
[3]小型可編程控制器實(shí)用技術(shù) 出版年(2006.5第1版)
[4]PLC編程理論。算法及技巧 出版年(2005.4第1版)