- 西門子S7-200 SMART PLC編程技巧與案例
- 韓相爭編著
- 3221字
- 2020-04-29 18:04:11
3.1 位邏輯指令及案例
位邏輯指令主要指對PLC存儲器中的某一位進(jìn)行操作的指令,它的操作數(shù)是位。位邏輯指令包括觸點指令和線圈指令兩大類。觸點指令包括觸點取用指令、觸點串與并聯(lián)指令、電路塊串與并聯(lián)指令等;線圈指令包括線圈輸出指令、置位復(fù)位指令等。
位邏輯指令是依靠1、0兩個數(shù)進(jìn)行工作的,1表示觸點或線圈的通電狀態(tài),0表示觸點或線圈的斷電狀態(tài)。利用位邏輯指令可以實現(xiàn)位邏輯運算和控制,在繼電器系統(tǒng)的控制中應(yīng)用較多。
編者心語:
①在位邏輯指令中,每個指令常見的都有梯形圖和語句表兩種語言表達(dá)方式。有些編者在編撰此類書籍的時候,只偏重于語句表的講解,這點是值得商榷的。
②語句表的基本表達(dá)方式:操作碼+操作數(shù),其中操作數(shù)會以位地址格式出現(xiàn)。
3.1.1 觸點取用指令與線圈輸出指令
(1)指令格式及功能說明
觸點取用指令與線圈指令格式及功能說明,如表3-1所示。
表3-1 觸點取用指令與線圈指令格式及功能說明

(2)應(yīng)用舉例
觸點取用指令與線圈指令應(yīng)用舉例,如圖3-2所示。

圖3-2 觸點取用指令與線圈指令
使用說明
①每個邏輯運算開始都需要觸點取用指令;每個電路塊的開始也需要觸點取用指令。
②線圈輸出指令可并聯(lián)使用多次,但不能串聯(lián)使用。
③在線圈輸出指令的梯形圖表示形式中,同一編號線圈不能出現(xiàn)多次。
3.1.2 觸點串聯(lián)指令(與指令)
(1)指令格式及功能說明
觸點串聯(lián)指令格式及功能說明,如表3-2所示。
表3-2 觸點串聯(lián)指令格式及功能說明

(2)應(yīng)用舉例
觸點串聯(lián)指令應(yīng)用舉例,如圖3-3所示。

圖3-3 觸點串聯(lián)指令
使用說明
①單個觸點串聯(lián)指令可以連續(xù)使用。
②在=之后,通過串聯(lián)觸點對其他線圈使用=指令,我們稱之為連續(xù)輸出。
3.1.3 觸點并聯(lián)指令
(1)指令格式及功能說明
觸點并聯(lián)指令格式及功能說明,如表3-3所示。
表3-3 觸點并聯(lián)指令格式及功能說明

(2)應(yīng)用舉例
觸點并聯(lián)指令應(yīng)用舉例,如圖3-4所示。

圖3-4 觸點并聯(lián)指令
使用說明
①單個觸點并聯(lián)指令可以連續(xù)使用。
②若兩個以上觸點串聯(lián)后與其他支路并聯(lián),則需用到后面要講的OLD指令。
3.1.4 電路塊串聯(lián)指令
(1)指令格式及功能說明
電路塊串聯(lián)指令格式及功能說明,如表3-4所示。
表3-4 電路塊串聯(lián)指令格式及功能說明

(2)應(yīng)用舉例
電路塊串聯(lián)指令應(yīng)用舉例,如圖3-5所示。

圖3-5 電路塊串聯(lián)指令
使用說明
①在每個并聯(lián)電路塊的開始都需用LD或LDN指令。
②可順次使用ALD指令,進(jìn)行多個電路塊的串聯(lián)。
③ALD指令用于并聯(lián)電路塊的串聯(lián),而A/AN用于單個觸點的串聯(lián)。
3.1.5 電路塊并聯(lián)指令
(1)指令格式及功能說明
電路塊并聯(lián)指令格式及功能說明,如表3-5所示。
表3-5 電路塊并聯(lián)指令格式及功能說明

(2)應(yīng)用舉例
電路塊并聯(lián)指令應(yīng)用舉例,如圖3-6所示。

圖3-6 電路塊并聯(lián)指令
使用說明
①在每個串聯(lián)電路塊的開始都需用LD或LDN指令。
②可順次使用OLD指令,進(jìn)行多個電路塊的并聯(lián)。
③OLD指令用于串聯(lián)電路塊的并聯(lián),而O/ON用于單個觸點的并聯(lián)。
3.1.6 置位與復(fù)位指令
(1)指令格式及功能說明
置位與復(fù)位指令格式及功能說明,如表3-6所示。
表3-6 置位與復(fù)位指令格式及功能說明

(2)應(yīng)用舉例
置位與復(fù)位指令應(yīng)用舉例,如圖3-7所示。

圖3-7 置位與復(fù)位指令應(yīng)用舉例
置位與復(fù)位指令使用說明
①置位復(fù)位指令具有記憶和保持功能,對于某一元件來說一旦被置位,始終保持通電(置1)狀態(tài),直到對它進(jìn)行復(fù)位(清0)為止,復(fù)位指令與置位指令道理一致。
②對同一元件多次使用置位復(fù)位指令,元件的狀態(tài)取決于最后執(zhí)行的那條指令。
3.1.7 脈沖生成指令
(1)指令格式及功能說明
脈沖生成指令格式及功能說明,如表3-7所示。
表3-7 脈沖生成指令格式及功能說明

(2)應(yīng)用舉例
脈沖生成指令應(yīng)用舉例,如圖3-8所示。

圖3-8 脈沖發(fā)生指令
使用說明
①EU、ED為邊沿觸發(fā)指令,該指令僅在輸入信號變化時有效,且輸出的脈沖寬度為一個掃描周期。
②對于開機(jī)時就為接通狀態(tài)的輸入條件,EU、ED指令不執(zhí)行。
③EU、ED指令常常與S/R指令聯(lián)用。
3.1.8 觸發(fā)器指令
(1)指令格式及功能說明
觸發(fā)器指令格式及功能說明,如表3-8所示。
表3-8 觸發(fā)器指令格式及功能說明

(2)應(yīng)用舉例
觸發(fā)器指令應(yīng)用舉例,如圖3-9所示。

圖3-9 觸發(fā)器指令應(yīng)用舉例
功能解析
①I0.1=1時,Q0.1置位,Q0.1輸出始終保持;I0.2=1時,Q0.1復(fù)位;若二者同時為1,置位優(yōu)先。
②I0.1=1時,Q0.2置位,Q0.2輸出始終保持;I0.2=1時,Q0.2復(fù)位;若二者同時為1,復(fù)位優(yōu)先。
3.1.9 邏輯堆棧指令
堆棧是一組能夠存儲和取出數(shù)據(jù)的暫存單元。在S7-200 SMART PLC中,堆棧有9層,頂層叫棧頂,底層叫棧底。堆棧的存取特點“后進(jìn)先出”,每次進(jìn)行入棧操作時,新值都放在棧頂,棧底值丟失;每次進(jìn)行出棧操作時,棧頂值彈出,棧底值補(bǔ)進(jìn)隨機(jī)數(shù)。
邏輯堆棧指令主要用來完成對觸點進(jìn)行復(fù)雜連接,配合ALD、OLD指令使用,邏輯堆棧指令主要有邏輯入棧指令、邏輯讀棧和邏輯出棧指令,如圖3-10所示。具體如下。

圖3-10 邏輯堆棧指令
(1)邏輯入棧(LPS)指令
邏輯入棧(LPS)指令又稱分支指令或主控指令,執(zhí)行邏輯入棧指令時,把棧頂值復(fù)制后壓入堆棧,原堆棧中各層棧值依次下壓一層,棧底值被壓出丟失。邏輯入棧(LPS)指令的執(zhí)行情況,如圖3-11(a)所示。

圖3-11 堆棧操作過程
(2)邏輯讀棧(LRD)指令
執(zhí)行邏輯讀棧(LRD)指令時,把堆棧中第2層的值復(fù)制到棧頂,2~9層數(shù)據(jù)不變,堆棧沒有壓入和彈出,但原來的棧頂值被新的復(fù)制值取代,邏輯讀棧(LRD)指令的執(zhí)行情況,如圖3-11(b)所示。
(3)邏輯出棧(LPP)指令
邏輯出棧(LPP)指令又稱分支結(jié)束指令或主控復(fù)位指令,執(zhí)行邏輯出棧(LPP)指令時,堆棧作彈出棧操作,將棧頂值彈出,原堆棧各級棧值依次上彈一級,原堆棧第2級的值成為棧頂值,原棧頂值從棧內(nèi)丟失,如圖3-11(c)所示。
(4)使用說明
①LPS指令和LPP指令必須成對出現(xiàn)。
②受堆棧空間的限制,LPS指令和LPP指令連續(xù)使用不得超過9次。
③堆棧指令LPS、LRD、LPP無操作數(shù)。
(5)應(yīng)用舉例
邏輯堆棧指令應(yīng)用舉例,如圖3-12所示。

圖3-12 邏輯堆棧指令應(yīng)用舉例
3.1.10 位邏輯指令應(yīng)用案例
(1)譯碼電路
譯碼電路又稱比較電路,該電路按預(yù)先設(shè)定的輸出要求,根據(jù)對兩個輸入信號的比較,決定某一輸出,譯碼電路程序如圖3-13所示。

圖3-13 譯碼電路程序
案例解析
若I0.0、I0.1同時接通時,線圈Q0.0有輸出;若I0.0接通,I0.1不接通,線圈Q0.1有輸出;若I0.0不接通,I0.1接通,線圈Q0.2有輸出;若I0.0、I0.1都不接通時,線圈Q0.3有輸出
(2)兩個輸入信號優(yōu)先電路
兩個輸入信號優(yōu)先電路是指在兩個輸入信號中,先到者取得優(yōu)先權(quán),后到者無效,兩個輸入信號優(yōu)先電路程序如圖3-14所示。

圖3-14 兩個輸入信號優(yōu)先電路程序
案例解析
常開觸點I0.0閉合,線圈M0.0得電并自鎖,其常閉觸點M0.0斷開,這時即使I0.1接通,線圈M0.1也不會動作;
常開觸點I0.1閉合,線圈M0.1得電并自鎖,其常閉觸點M0.1斷開,這時即使I0.0接通,線圈M0.0也不會動作
(3)兩臺電動機(jī)順序控制
按下啟動按鈕,第1臺電動機(jī)先啟動,松開按鈕,第2臺電動機(jī)再啟動;按下停止按鈕,第1臺電動機(jī)先停止,松開按鈕,第2臺電動機(jī)再停止,如圖3-15所示。

圖3-15 兩臺電動機(jī)順序控制程序
案例解析
按下啟動按鈕,常開觸點I0.0閉合,會產(chǎn)生一個上升沿脈沖,使得線圈Q0.0置位,第1臺電動機(jī)啟動;松開啟動按鈕,會產(chǎn)生一個下降沿脈沖,使得線圈Q0.1置位,第2臺電動機(jī)啟動;按下停轉(zhuǎn)按鈕,常開觸點I0.1閉合,會產(chǎn)生一個上升沿脈沖,使得線圈Q0.0復(fù)位,第1臺電動機(jī)停轉(zhuǎn);松開停止按鈕,會產(chǎn)生一個下降沿脈沖,使得線圈Q0.1復(fù)位,第2臺電動機(jī)停轉(zhuǎn)。
(4)兩臺電動機(jī)順序啟動
①控制要求:按下啟動按鈕SB2,電動機(jī)M1先啟動后,M2才能啟動;按下停止按鈕,電動機(jī)M1、M2同時停止,電氣原理圖,如圖3-16所示。

圖3-16 兩臺電動機(jī)順序啟動
②設(shè)計步驟
根據(jù)控制要求,對輸入/輸出進(jìn)行I/O分配,兩臺電動機(jī)順序啟動I/O分配,如表3-9所示。
表3-9 兩臺電動機(jī)順序啟動I/O分配

③繪制主電路和PLC控制電路電氣接線圖,兩臺電動機(jī)順序啟動電氣接線圖紙如圖3-17所示。

圖3-17 兩臺電動機(jī)順序啟動電氣接線圖紙
④程序設(shè)計,兩臺電動機(jī)順序啟動程序如圖3-18所示。

圖3-18 兩臺電動機(jī)順序啟動程序
⑤案例解析。按下M1啟動按鈕,常開觸點I0.1閉合,線圈Q0.0得電并自鎖,KM1接通,電動機(jī)M1啟動;按下M2啟動按鈕,常開觸點I0.2閉合,線圈Q0.1得電并自鎖,KM2接通,電動機(jī)M2啟動;按下停止按鈕,I0.0常閉觸點斷開,Q0.0和Q0.1失電,KM1和KM2線圈斷電,電動機(jī)M1、M2停止轉(zhuǎn)動。