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