(湖南省衡陽技師學(xué)院電氣工程系,湖南衡陽,421000)
西門子PLC的基本指令系統(tǒng)通常包含基本指令、順序控制指令和功能指令三大類。在簡單的小控制系統(tǒng)中,用基本指令或順控指令就能完成程序設(shè)計,但對于復(fù)雜的控制系統(tǒng),往往就需要功能指令才能完成了。在往年的教學(xué)過程中,學(xué)生普遍覺得基本指令和順序控制指令容易理解和掌握,一旦涉及到功能指令應(yīng)用時,學(xué)生就覺得難度大為增加,因此如何講解功能指令,使我們的學(xué)生掌握功能指令就是西門子PLC課程中的一個難點。在西門子PLC教學(xué)中,我將單一傳送指令作為功能指令的第一條指令來介紹和學(xué)習(xí),通過采用編程軟件和仿真軟件的配套使用,直觀得來說明傳送指令的功能及應(yīng)用。
在介紹單一傳送指令之前,首先要復(fù)習(xí)以下內(nèi)容:1、常用的數(shù)據(jù)類型,如位、字節(jié)、字、雙字的相互關(guān)系;2、多個字節(jié)在進行組合時,應(yīng)遵循“高地址,低字節(jié);低地址,高字節(jié)”的原則;3、西門子PLC的13個編程元件及編號格式。
2.1指令功能及格式
單一傳送指令(Move)格式如圖1所示,它包括字節(jié)傳送、字傳送和雙字傳送。
其中,□可為B/W/DW/R
EN——使能輸入端 ENO——使能輸出端
IN——源操作數(shù) OUT——目標(biāo)操作數(shù)
功能描述:使能輸入EN接通時,把一個字節(jié)(字/雙字/實數(shù))數(shù)據(jù)由IN傳送到OUT所指的存儲單元。
數(shù)據(jù)類型:IN/OUT數(shù)據(jù)長度保持一致,均為字節(jié)(字、雙字或?qū)崝?shù))。
2.2選擇正確的數(shù)據(jù)類型
我們學(xué)生在應(yīng)用功能指令時,經(jīng)常出現(xiàn)的一個問題就是不會選擇正確的數(shù)據(jù)類型。下面我們通過習(xí)題來說明。
請幾個同學(xué)給圖2中的各個單一傳送指令應(yīng)選擇正確的數(shù)據(jù)類型,同時在編程軟件下進行驗證是否正確。
在網(wǎng)絡(luò)1中,IN端為常數(shù),OUT端為VB0,因此指令的數(shù)據(jù)類型應(yīng)為保持一致,為字節(jié)B;(思考:OUT可不可以為常數(shù)呢?)
在網(wǎng)絡(luò)2中,IN端為小數(shù)1.23,OUT端為VD100,因此指令的數(shù)據(jù)類型應(yīng)為保持一致,為實數(shù)R;(思考:OUT可不可以為字節(jié)或字呢?)
在網(wǎng)絡(luò)3中,IN端為VD300,OUT端為AC0,因此指令的數(shù)據(jù)類型應(yīng)為保持一致,為雙字DW;
在網(wǎng)絡(luò)4中,IN端為C0,OUT端為VW10,因此指令的數(shù)據(jù)類型應(yīng)為保持一致,為字W。(思考:這時IN為C0,取用的是C0的當(dāng)前值還是位狀態(tài)?)
圖2 單一傳送指令數(shù)據(jù)類型選擇
2.3 在編程軟件下編寫圖3的程序,并導(dǎo)出到仿真軟件中。在仿真軟件里,執(zhí)行下列操作,先閉合I0.0,觀察輸出指示燈的變化;接著斷開I0.0,觀察輸出指示燈是否有變化;然后閉合I0.1,觀察輸出指示燈的狀態(tài)。
圖3 8彩燈的PLC控制程序
通過觀察,我們發(fā)現(xiàn)在仿真軟件下,閉合I0.0,輸出指示燈Q0.0~Q0.7均亮;之后斷開I0.0,輸出指示燈Q0.0~Q0.7并沒有滅;之后閉合I0.1,輸出指示燈Q0.0~Q0.7同時熄滅。
當(dāng)Q0.0~Q0.7同時點亮,即狀態(tài)都為1,如果QB0用二進制表示,則為2#1111 1111;如果QB0用十六進制表示,則為16#FF;如果QB0用十進制表示,則255。
經(jīng)過以上的學(xué)習(xí)后,請幾位同學(xué)對單一傳送指令的使用做個小結(jié),并由教師匯總歸納。
3.1 MOV指令的后綴為該指令的數(shù)據(jù)類型,其中B代表存取的是字節(jié)、W代表存取的是字、D(W)代表存取的是雙字、R代表存取的是實數(shù)。
3.2 IN、OUT和單一傳送指令MOV的數(shù)據(jù)長度應(yīng)保持一致,但源操作數(shù)IN可以為常數(shù),目標(biāo)操作數(shù)OUT只能為存儲單元。
3.3 數(shù)據(jù)一經(jīng)傳送成功后,即使之后EN端斷開,OUT的內(nèi)容保持傳送后的結(jié)果,不會自動清0,這是和線圈輸出不同的地方。