PLC 基本指令 FX2N系列的PLC共有基本指令27條,本章主要介紹這些基本指令的功能。并掌握由梯形圖轉(zhuǎn)化成指令表,指令表轉(zhuǎn)化成梯形圖的方法;然后通過一些編程的示例理解基本指令的應(yīng)用和一些編程的規(guī)則。 3.1 基本指令 3.1.1 LD、LDI、OUT指令 LD,取指令,表示每一行程序中第一個與母線相連的常開觸點。另外,與后面講到的ANB、ORB指令組合,在分支起點處也可使用。 LDI,取反指令,與 LD的用法相同,只是LDI是對常閉觸點。 LD、LDI兩條指令的目標(biāo)元件是X、Y、M、S、T、C。 OUT,線圈驅(qū)動指令。是對輸出繼電器(Y)、輔助繼電器(M)、狀態(tài)器(S)、定時器(T)、計數(shù)器(C)的線圈驅(qū)動,對輸入繼電器(X)不能使用。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image002.png 當(dāng)OUT指令驅(qū)動的目標(biāo)元件是定時器T和計數(shù)器C時,如設(shè)定值是常數(shù)K時,則K的設(shè)定范圍如表3-1所示:程序步序號是自動生成,在輸入程序時不用輸入程序步號,不同的指令,程序步號是有所不同的。 表3-1 K值設(shè)定范圍: 3.1.2 觸點串聯(lián)指令A(yù)ND、ANI 用于單個常開接點的串聯(lián)。 ANI,與非指令。用于單個常閉接點的串聯(lián)。 AND與ANI都是一個程序步指令,串聯(lián)觸點的個數(shù)沒有限制,該指令可以多次重復(fù)使用。使用說明如圖3-2所示。這兩條指令的目標(biāo)元件為X、Y、M、S、T、C。
| | | | | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image005.png | | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image006.png | |
OUT指令后,通過接點對其他線圈使用OUT指令稱為縱接輸出或連續(xù)輸出,如圖3-2中的OUT Y3。這種連續(xù)輸出如果順序不錯,可以多次重復(fù)。但是如果驅(qū)動順序換成圖3-3的形式,則必須用后述的MPS指令和MPR指令。
3.1.3 接點并聯(lián)指令OR、ORI OR,或指令。 ORI,或非指令。 這兩條指令都用于單個的常開觸點并聯(lián),操作的對象是X、Y、M、S、T、C。OR是用于常開觸點,ORI用于常閉觸點,并聯(lián)的次數(shù)可以是無限次。使用說明如圖3-4所示。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image008.png 3.1.4 取脈沖指令LDP、LDF、ANDP、ANDF、ORP、ORF LDP,ANDP,ORP指令是進(jìn)行上升沿檢測的觸點指令,僅在指定的位元件上升沿(OFF→ON變化時)時,接通一個掃描周期,操作的目標(biāo)元件是X、Y、M、S、T、C。應(yīng)用如圖3-5所示。
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image010.jpg |
file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image012.jpg
file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image014.jpg | | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image015.png |
LDF、ANDF、ORF指令是進(jìn)行下降沿檢測的觸點指令,僅在指定位元件下降時(即由ON→OFF變化時)接通1個掃描周期。操作的目標(biāo)元件是X、Y、M、S、T、C。使用說明如圖3-6所示。
3.1.5 串聯(lián)電路塊并連指令ORB 兩個或兩個以上的接點串聯(lián)的電路稱為串聯(lián)電路塊;當(dāng)串聯(lián)電路塊和其它電路并聯(lián)時連接時,分支開始用LD、LDI。分支結(jié)束用ORB。ORB指令和后面的ANB指令是不帶操作數(shù)的獨立指令。電路中有多少個串聯(lián)電路塊就用多少次ORB,ORB使用的次數(shù)不受限制。 ORB指令也可成批使用,但是由于LD、LDI指令的重復(fù)使用次數(shù)受限制在8次以下,請務(wù)必注意。ORB指令使用說明見圖3-7所示。
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image016.png |
3.1.6 并聯(lián)電路塊的串聯(lián)連接指令A(yù)NB
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image017.png |
兩個或兩個以上接點并聯(lián)的電路稱為并聯(lián)電路塊。并聯(lián)電路塊和其它接點串聯(lián)連接時,使用ANB。電路塊的起點用LD、LDI指令,并聯(lián)電路塊結(jié)束后,使用ANB指令與前面串聯(lián)。ANB指令是無操作目標(biāo)元件的指令。ANB指令的使用說明見圖3-8所示。
3.1.7 多重輸出指令MPS、MRD、MPP 生移動。 這些指令都是不帶操作數(shù)的獨立指令。MPS、MRD、MPP的使用見下例各圖(圖3-9、3-10、3-11)所示。
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image020.jpg |
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image021.png |
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image022.png |
3.1.8 主控及主控復(fù)位指令MC、MCR
MC,主控指令。用于公共串聯(lián)觸點的連接。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image026.png 圖3-13 MC、MCR指令的應(yīng)用 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image028.png 3.1.9 取反INV指令 INV指令是在將執(zhí)行INV指令之前的運算結(jié)果反轉(zhuǎn)的指令,是不帶操作數(shù)的獨立指令。使用如圖3-15所示。當(dāng)X0斷開,則Y0接通,如果X0接通則Y0斷開。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image032.png (a) 梯形圖 (b)指令表 (c) 時序圖 圖3-15 取反指令I(lǐng)NV 3.1.10 置位與復(fù)位指令SET、RST。 SET為置位指令,使動作保持; RST復(fù)位指令,使操作保持復(fù)位。SET、RST指令的使用說明如圖3-16所示。由波形圖可見,當(dāng)X0接通,即使再變成斷開,Y0也保持接通。X1接通后,即使再斷開,Y0也將保持?jǐn)嚅_。SET指令的操作目標(biāo)元件為Y、M、S。而RSTfile:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image033.png
指令的操作元件是Y、M、S、D、V、Z、T、C。
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image034.png |
3.1.11 微分輸出指令PLS、PLF PLS—上升沿微分輸出。當(dāng)輸入條件為ON時(上升沿),相應(yīng)的輸出位元件Y或M接通一個掃描周期。 PLF—下降沿微分輸出。當(dāng)輸入條件為OFF時(下降沿),相應(yīng)的輸出位元件Y或M接通一個掃描周期。 這兩條指令都是2個程序步,它們的目標(biāo)元件是Y和M,但特殊輔助繼電器不能作為目標(biāo)元件。其動作過程如圖3-17所示。 使用這兩條指令時,要特別注意目標(biāo)元件。例如,在驅(qū)動輸入接通時,PLC由運行→停止→運行,此時PLS M0動作,但PLS M600(斷電保持輔助繼電器)不動作。這是因為M600在斷電停機(jī)時其動作也能保持。
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image037.png |
(a) (b)
file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image038.png(a)梯形圖 (b)指令表 (c) 波形圖 3.1.12 NOP、END指令 NOP—空操作指令。 END—程序結(jié)束指令。
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image040.png |
NOP指令是不帶操作數(shù),在普通指令之間插入NOP指令,對程序執(zhí)行結(jié)果沒有影響,但是將已寫入的指令換成NOP,則被換的程序被刪除,程序發(fā)生變化。所以用NOP指令可以對程序進(jìn)行編輯。如圖3-18,當(dāng)把AND X1換成NOP,則觸點X1被消除,ANI X2換成NOP,觸點X2被消除。
END是程序結(jié)束指令,當(dāng)一個程序結(jié)束時,后面用END,寫在END后的程序不能被執(zhí)行。如果程序結(jié)束不用END,在程序執(zhí)行時會掃描完整個用戶存儲器,延長程序的執(zhí)行時間,有的PLC還會提示程序出錯,程序不能運行。 例3-1:根據(jù)下例梯形圖寫出指令表。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image045.png file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image046.png file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image047.png 圖3-19 例1梯形圖和指令表 3.2 基本指令的應(yīng)用 了解了PLC的基本指令后,我們學(xué)習(xí)利用基本指令進(jìn)行編程,用基本指令能完成大部分邏輯控制的編程。 3.2.1 可編程控制器梯形圖編程規(guī)則。 1、水平不垂直。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image050.pngfile:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image051.png 圖3-20 觸點水平不垂直 2、多上串右。
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image054.png |
file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image057.png (a) 多上 (b) 串右 圖3-21 多上串右 3、線圈右邊無接點
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image060.png |
圖3-22 線圈右邊無觸點 4、不能有雙線圈輸出。 Y3是雙線圈輸出,當(dāng)出現(xiàn)雙線圈輸出時,前面的輸出不起作用,只有最后的一條輸出才起作用。避免雙線圈的方法是把觸點并聯(lián)。如圖3-23。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image063.png file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image064.png 圖3-23 不能有雙線圈輸出 3.2.2 程序舉例 當(dāng)我們要進(jìn)行一個程序設(shè)計時,一般要按照這么幾個過程進(jìn)行:(1)、理解控制過程。這是寫程序非常關(guān)鍵的一步,不了解控制過程,也就無法寫出正確的程序。這一過程可以是客戶提出,如果不能準(zhǔn)確理解,可以到現(xiàn)場進(jìn)行觀測。(2)、選擇所需的硬件,并分配I/O地址,畫出I/O圖。(3)、進(jìn)行程序設(shè)計,畫出梯形圖。(4)、對程序進(jìn)行調(diào)試。下面我們通過一些簡單例子來說明如何進(jìn)行編程。 例3-2: 電動機(jī)正反轉(zhuǎn)的控制。控制要求:當(dāng)按下正轉(zhuǎn)按鈕時,電動機(jī)正轉(zhuǎn);按下反轉(zhuǎn)按鈕,電動機(jī)反轉(zhuǎn);按下停止按鈕,電動機(jī)馬上停止。當(dāng)電動機(jī)發(fā)生過熱時,也能自動停止。 分析:要控制電動機(jī)正反轉(zhuǎn),必須要兩個交流接觸器, 圖3-24(a)正反轉(zhuǎn)控制主電路 其主電路如圖3-24(a)。所以PLC有兩個輸出信號;有四個輸入信號,其I/O圖如圖3-24(b)。另外,由于電動機(jī)控制正反轉(zhuǎn)的接觸器不能同時接通,所以必須進(jìn)行互鎖。根據(jù)控制要求寫出梯形圖和指令表如圖3-25:
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image068.png |
(a) 梯形圖 (b) 指令表 圖3-25 正反轉(zhuǎn)控制梯形圖和指令表 例3-3:有兩臺電動機(jī):按下啟動按鈕,第一臺電動機(jī)運行10分鐘后停止,切換到第二臺運轉(zhuǎn),20分鐘后,第二臺自動停止。試編出PLC控制程序。 分析:輸入信號可以用一個啟動按鈕。每個電動機(jī)用一個交流接觸器控制,所以有兩個輸出信號。控制I/O圖如圖3-26。程序中要計時,所以要用到定時器。其地址分配和梯形圖、指令表如下。 X0—啟動按鈕 Y1—電動機(jī)1 Y2—電動機(jī)2
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image070.png |
圖3-26 兩臺電動機(jī)控制的I/O圖
file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image075.png
file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image076.png 圖3-27 例3梯形圖和指令表 討論:將上題改成兩臺電機(jī)按上述規(guī)律運行5個周期后自動停止,另外要求在程序中添加一個急停按鈕,應(yīng)如何修改程序? 例3-4: file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image079.png噴泉控制設(shè)計:有A、B、C三組噴頭,要求啟動后A組先噴5s,之后B、C同時噴,5s后B停止,再過5s,C停止而A、B同時噴,再過半2s C也噴;A、B、C同時噴5s后全部停止,再過3s重復(fù)前面過程;當(dāng)按下停止按鈕后,馬上停止。時序圖如3-28。試編出PLC的控制程序。 圖3-28 噴泉控制時序圖 分析:這是一個關(guān)于時序循環(huán)的問題,這一類的問題編程有一定的規(guī)律,掌握這個規(guī)律,編程是一件很容易的事。 第一步,根據(jù)時序圖中各負(fù)載發(fā)生的變化,定下要用定時器的編號和各定時器要延時的時間,如圖3-28。 第二,由于各定時器是按先后循序接通的,所以要用前一個定時器的觸點接通后一個定時器的線圈,再用最后一個定時器的觸點去斷開最前一個定時器的線圈,這樣就能完成了定時器的循環(huán)計時。 第三,寫驅(qū)動負(fù)載的程序,根據(jù)時序圖中各負(fù)載上升沿和下降沿的變化,上升沿表示是負(fù)載要接通,用相應(yīng)的常開觸點,下降沿表示負(fù)載斷開,用相應(yīng)的常閉觸點。在一個周期中負(fù)載有多次接通的,用各路觸點并聯(lián)。其程序和I/O地址分配如下。 X0—啟動按鈕 X1—停止按鈕 Y0—A組噴頭 Y1—B組噴頭 Y2—C組噴頭
| | | | | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image088.png | | | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image089.png | |
圖3-29 噴泉控制程序梯形圖和指令表 例3-5:交通燈的控制 假設(shè)有一個十字路口的交通信號燈控制要求時序圖如圖3-30。南北方向:紅燈亮25秒,轉(zhuǎn)到綠燈亮25秒,再按1秒鐘一次的規(guī)律閃爍3次,然后轉(zhuǎn)到黃燈亮2秒。東西方向:綠燈亮20秒,再閃爍3次,轉(zhuǎn)到黃燈亮2秒,然后紅燈亮30秒。完成一個周期,如此循環(huán)運行。試編寫PLC控制程序。
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image090.png |
| | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image091.png |
圖3-30 交通燈的平面示意圖和控制時序圖
分析:這也是有關(guān)時序循環(huán)的問題,所以編程方法和例3是一樣的。一秒鐘的閃爍可用M8013。 X0—啟動按鈕 X1—停止按鈕 各信號燈的地址如控制時序圖所示。控制程序如下。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image096.pngfile:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image101.pngfile:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image100.png file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image099.png 圖3-31 交通燈控制梯形圖 習(xí) 題 3-1 根據(jù)題3-32圖(a)、(b)的梯形圖寫出指令表 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image106.png file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image108.jpg
圖3-32(a) 圖3-32(b)
| | | | | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image110.png | | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image109.png | |
3-2 根據(jù)題3-33圖的指令表寫出梯形圖。
圖3-33圖 3-3 有三臺電動機(jī),要求啟動時每隔10min依此起動一臺,每臺運轉(zhuǎn)2小時后自動停機(jī)。運行中還可以用停止按鈕將三臺電動機(jī)同時停機(jī);試編出PLC的控制程序。 3-4 某皮帶運輸機(jī)由M1、M2、M3、M4四臺電動機(jī)拖動,要求:(1)、起動時,按M1→M2→M3→M4順序啟動,間隔均為3秒。(2)、停止時,按M4→M3→M2→M1順序停止,間隔也為3秒。試編寫PLC的控制程序。 3-5 一臺電動機(jī)運轉(zhuǎn)20s后停止5s,重復(fù)如此動作5次,試編寫PLC控制程序。 file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image112.png | | file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image113.png |
file:///C:/WINDOWS/TEMP/msohtmlclip1/01/clip_image114.png3-6某廣告招牌有四個燈,要求動作如圖3-34時序圖所示,循環(huán)進(jìn)行,當(dāng)按下停止按鈕時能馬上停止。試編出PLC控制程序。
圖3-34 圖3-35 3-7 某一車庫門要求自動控制,如圖3-35所示,車庫的門內(nèi)外各有一傳感器,用來檢測是否有車通過,當(dāng)有車要進(jìn)車庫時,門外傳感器檢測到有車來,門自動打開,車開進(jìn)車庫,開到上限時,開門過程結(jié)束,當(dāng)門內(nèi)傳感器測到車已通過時,開始關(guān)門。碰到下限,關(guān)門結(jié)束。當(dāng)車要出車庫時,門內(nèi)傳感器檢測到有車通過,庫門打開,當(dāng)車通過門外的傳感器后,車庫門自動關(guān)上。車庫門外有一數(shù)字牌,用來顯示車庫內(nèi)停車的數(shù)量,當(dāng)車庫內(nèi)停滿10輛車后,如外面再有車進(jìn)來,車庫門不開,但庫內(nèi)的車可以開出車庫,試用PLC編出控制程序,完成車庫門的控制。 3-8做一個四路槍答器,每一位槍答者臺上有一個槍答按鈕和一個指示燈。主持人,臺上有一個開始按鈕和一個復(fù)位按鈕;另外還有一個七段數(shù)碼管和一個蜂鳴器。槍答規(guī)則:當(dāng)主持人喊開始后(按下了開始按鈕),四位槍答者開始槍答,誰先槍到,相應(yīng)臺上的指示燈亮,而且數(shù)碼管顯示他的位號。主持人按了復(fù)位按鈕,下一循環(huán)又可以開始槍答。如果主持人沒有喊開始,誰先按下槍答按鈕,相應(yīng)臺上的指示燈亮,數(shù)碼管顯示他的位號,同時風(fēng)鳴器發(fā)出報警聲,表示其違規(guī),主持人按下復(fù)位,才能消除。試用PLC編出控制程序。 m8000是特殊的輔助繼電器,在運行時m8000就一直閉合,m8001和m8002,是初始化脈沖,在plc剛啟動時閉合一個周期,只不過8001是常閉,8002是常開,m8011,8012,8013,是時間脈沖,周期分別是,10ms,100ms,1000ms(一秒),m8020,m8021,m8022,是標(biāo)實位,代表益處,零位,結(jié)尾。還有其他的特殊輔助繼電器,常用的就這些,想了解的更多,你需要一本編程手冊。 LD X0ALTP Y0按一下X0,Y0=ON,再按一下,Y0=OFF,交替輸出。 FX2N三菱PLC設(shè)計4次/秒閃爍 要一秒里閃四次 ,I/O輸入x1,輸出Y5用FXGPWIN軟件編程,給出IL,你寫入FXGP也好,寫入GX Developer也好,T246是1ms定時器所以設(shè)置K125就可以,這種雙分頻電路使用一個定時器足以。LD X1 ALTP M0 LDI M0RST Y5LD M0OUT T246 K125LD T246ALTP Y5RST T246ENDM0,M1,M241,M251,M384都是通用繼電器,用法是一樣的。 M0 ~M499為通用輔助繼電器 共500個M500~M3071為斷電保持繼電器 共2572個M500~M1023可通過設(shè)定改為通用輔助繼電器。
|