西門子PLC常用功能指令介紹
劉路路
發(fā)布于2022-10-11 16:46
63
1
標(biāo)簽:西門子PLC,西門子PLC功能指令
有了基本指令系統(tǒng),加上定時器和計(jì)數(shù)器可以對開關(guān)量主導(dǎo)的繼電控制進(jìn)行編程設(shè)計(jì)了。但在解決復(fù)雜的邏輯控制設(shè)計(jì)時,僅用幾個基本指令會感到力不從心,程序設(shè)計(jì)非常復(fù)雜。而功能指令的出現(xiàn)使程序設(shè)計(jì)變得相對簡單方便,也將應(yīng)用范圍從開關(guān)量擴(kuò)充到模擬量、運(yùn)動量、通信等方面。本書是基礎(chǔ)編程入門書籍,為擴(kuò)大初學(xué)者對編程的學(xué)習(xí),僅引入最常用的兩個功能指令傳送指令 MOV 和比較指令 CMP。結(jié)合這兩個指令和觸點(diǎn)比較指令,就使程序編制變得簡便,應(yīng)用范圍也得到擴(kuò)充。同時,初學(xué)者通過對這兩個指令的學(xué)習(xí)和應(yīng)用,為今后進(jìn)一步學(xué)習(xí)功能指令打下了基礎(chǔ)。
1. 傳送指令MOV
1)指令格式
MOV S D 16位連續(xù)執(zhí)行型
MOVP S D 16位脈沖執(zhí)行型
DMOV S D 32位連續(xù)執(zhí)行型
DMOVP S D 32位脈沖執(zhí)行型
2)可用軟元件
可用軟元件如表3.4-5所示。
表3.4-5 MOV指令可用軟元件
操作數(shù)內(nèi)容與取值見表3.4-6.
表3.4-6 MOV指令操作數(shù)內(nèi)容與取值
3)梯形圖表示
指令梯形圖如圖3.4-8所示。
圖3.4-8 MOV指令梯形圖
4)指令功能與應(yīng)用
● 指令功能
MOV 指令的操作功能當(dāng)驅(qū)動條件成立時,將源址 S 中的二進(jìn)制數(shù)復(fù)制到(統(tǒng)稱傳送)終址 D 中。操作完畢,源址 S 中的數(shù)保持不變,而終址 D 中的數(shù)變?yōu)楹驮粗?S 相同的數(shù)。
● 指令應(yīng)用
傳送指令 MOV 是功能指令中應(yīng)用最多的基本功能指令,其實(shí)質(zhì)是一個對字元件進(jìn)行讀寫操作的指令。應(yīng)用組合位元件也可以對位元件進(jìn)行復(fù)位和置位操作,現(xiàn)舉例給予說明。
【例3.4-4】 解讀指令MOV D10 D0執(zhí)行功能。
執(zhí)行功能是將D10的值復(fù)制到D0中去,即(D0)=(D10),且(D10)不變。說明在PLC書籍中,習(xí)慣將D10表示為寄存器,而(D10)則表示寄存器 D10 存儲的二進(jìn)制數(shù)。
這個指令有三層含義。對D0來說,是把D10的值復(fù)制到D0中,即對D0寫入一個數(shù)。同時可以認(rèn)為是把D10的數(shù)讀到D0中去,通過D0就可知道D10是多少,所以,傳送指令MOV實(shí)質(zhì)上是一個對存儲器進(jìn)行讀和寫操作的指令。
如果源址是一個數(shù),例 MOV K25 D0,則就是一個寫操作,但指令 MOV D10 K25是不存在的。
在程序中,D0可多次寫入,存新除舊,以最后一次寫入為準(zhǔn)?!纠?.4-5】 解讀指令MOV K2 K2Y0執(zhí)行功能。
執(zhí)行功能是將K2用二進(jìn)制數(shù)表示,并以其二進(jìn)制位值控制組合位元件Y0~Y7的狀態(tài),如圖3.4-9所示。
圖3.4-9 例3.4-5梯形圖
這是利用傳送指令對位元件進(jìn)行復(fù)位和置位操作的實(shí)例。如果希望得到相應(yīng)的輸出,則其對應(yīng)的二進(jìn)制數(shù)不同即可。例如,希望Y0,Y3,Y5 置1,其余皆置0,則二進(jìn)制數(shù)為00101001=K41。
【例3.4-6】 解讀指令MOV K2X0 K2Y0執(zhí)行功能。
執(zhí)行功能是輸入口的狀態(tài)控制輸出口的狀態(tài)。如輸入口X接通(ON),則相應(yīng)輸出口Y 有輸出(ON),反之亦然。如用基本邏輯指令編制,程序要寫成8行,由此可見,合適的功能指令可以代替煩瑣的基本邏輯指令程序編制。
【例3.4-7】 解讀指令MOV D2 K4M10執(zhí)行功能。
和【例3.4-5】類似,執(zhí)行功能是D2所存的二進(jìn)制數(shù)的位值控制M10~M25的狀態(tài)。顯然控制比【例3.4-5】靈活,如欲改變輸出位元件M10~M25的狀態(tài),只需改變D2值即可。在程序中,利用寄存器D存新除舊的性質(zhì),常常把D作為變量寄存器用,改變D的數(shù)值,就相當(dāng)于改變控制值。
【例3.4-8】 解讀指令MOVP C1 D20執(zhí)行功能。
指令中,C1為計(jì)數(shù)器C1的當(dāng)前值,當(dāng)驅(qū)動條件成立時,把計(jì)數(shù)器C1的當(dāng)前值馬上存入 D20。注意,該指令為脈沖執(zhí)行型,執(zhí)行功能是在驅(qū)動條件成立的掃描周期內(nèi)僅執(zhí)行一次把計(jì)數(shù)器的當(dāng)前值馬上傳送到 D20 中存儲起來,而且驅(qū)動條件每 ON/OFF 一次,執(zhí)行-次。如果使用連續(xù)執(zhí)行型傳送指令 MOV,則驅(qū)動條件成立期間,每個掃描周期均會執(zhí)行次,這樣C1的當(dāng)前值是變化的。根據(jù)不同的控制要求,使用不同的指令,在應(yīng)用時必須加以注意。如果是32位計(jì)數(shù)器C200~C235,則必須用32位指令DMOV或DMOVP。
與計(jì)數(shù)器C類似的應(yīng)用還有定時器T。
【例3.4-9】 解讀指令MOVP K0 D10執(zhí)行功能。
把K0送到D10,即(D10)=0。利用MOV指令可以對位元件或字元件進(jìn)行復(fù)位和清零,其功能與RST指令相仿。但是不同的是,RST指令在對定時器和計(jì)數(shù)器進(jìn)行復(fù)位時,其相應(yīng)的常開、常閉觸點(diǎn)也同時回歸復(fù)位狀態(tài),而 MOV 指令僅能對定時或計(jì)數(shù)的當(dāng)前值復(fù)位,不能使其相應(yīng)的觸點(diǎn)復(fù)位,即相應(yīng)觸點(diǎn)仍然保持執(zhí)行指令前的狀態(tài)。
【例3.4-10】通過驅(qū)動條件的 ON/OFF,可以對定時器設(shè)定兩個值。當(dāng)設(shè)定值是2個以上的時候,則需要使用多個驅(qū)動條件ON/OFF,程序梯形圖如圖3.4-10所示。
圖3.4-10 例3.4-10梯形圖
【例3.4-11】 圖3.4-11為一輸出Y0,Y2,Y4,Y6和Y1,Y3,Y5,Y7輪流閃爍2s 的梯形圖程序。程序中,把H55傳送給Y0~Y7,即010101對應(yīng)于Y0,Y2,Y4,Y4,Y6,而HAA傳送給Y0~Y7時,為10101010對應(yīng)于Y1,Y3,Y5,Y5,Y7。如果不采用傳送指令,程序中要編制8個輸出。
圖3.4-11 例3.4-11梯形圖