基本指令
PLC是依順序由輸入側朝輸出側作邏輯演算的階梯式 電路,採往復來回掃描的程式處理方式,所以必須要 有開始運算的指令,且以驅動線圈的輸出指令作結束
從輸入處理加上執行0位址到END指令的程式處理以 及輸出處理的總時間,即稱為掃描週期或掃描時間。
PLC有基本指令、步進指令與應用指令,每個基本指 令的演算速度約為0.74微秒,應用指令為10~100微秒
基本指令有LD、LDI、OUT、END、AND、ANI、
OR、ORI、ANB、ORB、MPS、MRD、MPP、MC、
MCR、SET/RST、PLS、PLF及NOP等
LD、LDI、OUT及END的用法
END 無
END 程式結束
Y、M、S、
驅動線圈 T、C OUT
X、Y、M、
S、T、C 連接母線開始
LDI 的b接點
X、Y、M、
S、T、C 連接母線開始
LD 的a接點
指 定 對 象 回 路 表 示
功 能 說 明 指令名稱
LD、LDI、OUT及END的用法
LD/LDI用於與主要母線連接的a/b接點、與ANB/ORB 結合用於分歧點開始的a/b接點、MC接點後之a/b接點 以及連接於STL步進點之a/b接點。
OUT為輸出點(Y)、輔助繼電器(M)、計時器(T)及計數 器(C)的線圈驅動指令,用於一條電路的尾端以控制外 部的實際負載。
0 LD X0 1 OUT Y0 2 LDI X1 3 OUT Y1 4 END
LD、LDI、OUT及END的用法
OUT不可用於輸入端子(X),故不可有OUT X之形式
END為程式結束指令,但非停止。
當PLC執行到END時,會跳過END之後的程式,然 後回到位址0重頭執行,這就是往復式的掃瞄方式。
程式編寫順序為由上而下、由左至右。
LD、LDI、OUT及END的用法
程式編寫順序
LD、LDI、OUT及END的用法
範例2.1:單一回路控制
0 LD X0 1 OUT Y0 2 END
LD、LDI、OUT及END的用法
範例2.2:通電延遲計時器(ON delay timer)電路
當輸入信號ON後須經過一段預設時間,輸出才會變成 ON的電路。FX2之計時器皆為通電延遲計時器
0 LD X0
1 OUT T10 K30 4 LD T10
5 OUT Y0 6 END
AND和ANI的用法
AND/ANI用於串聯連接的a/b接點。
串聯接點的個數沒有限制,可依需要多次使用。
X、Y、M、
S、T、C 串聯連接的b
ANI 接點
X、Y、M、
S、T、C 串聯連接的a
AND 接點
指 定 對 象 回 路 表 示
功能說明 指令名稱
AND和ANI的用法
0 LD X0 1 AND X1 2 OUT M10 3 LD M10 4 ANI X2 5 OUT Y1 6 AND X3 7 OUT Y2 8 END
AND和ANI的用法
OUT指令後,經由接點驅動其他線圈的輸出方式,
稱為連續輸出(如Y2)。
連續輸出沒有限制可依需要多次使用。
0 LD X1 1 OUT Y1 2 AND X2 3 OUT Y2 4 AND X3 5 OUT Y3 0 LD M10
1 OUT Y1 2 OUT Y2 3 OUT Y3
AND和ANI的用法
非連續輸出形式,必須使用MPS/MPP指令。
AND和ANI的用法
範例2.3:單擊電路--輸入信號每ON一次可產生一個 預設時間長短之輸出脈波寬度的電路
0 LD X0
1 OUT T0 K30 4 ANI T0
5 OUT Y0 6 END
X0
T0
T0 K30 Y0
END
13
AND和ANI的用法
範例2.4:閃爍電路
0 LD X0 1 ANI T1
2 OUT T0 K10 5 LD T0
6 OUT T1 K5 9 OUT Y0
10 END
Y0 T0
T1 X0 T1
T0
K10
K5
END
X0
T0
T1
Y0 OFF ON
(1 ) (0.5 ) T1 b
T0 a
t1 t2 t1 t2
OR和ORI的用法
X, Y, M, S,T, C 並聯連接的
b接點ORI
X, Y, M, S,T, C 並聯連接的
a接點OR
指定對象 回路表示
功能說明 指令名稱
ORI X0
Y0
OR
Y0
X1 X2 X3
Y1 A
B
0 LD X0 1 OR Y0 2 OUT Y0 3 LD X1 4 ANI X2 5 ORI X3 6 OUT Y1
OR和ORI的用法
OR/ORI用於並聯連接之a/b接點。
虛線A構成一個自保回路。當X0 ON時,Y0 ON且自 保,此時縱使X0回復OFF狀態,Y0仍持續保持為ON
將虛線B之並聯支路對調,
則需使用ORB指令
X3
X1 X2
Y1 ORB
OR和ORI的用法
範例2.5:自保回路的使用例
修改範例2.3之單擊電路,則X0只要ON一下,即可 令M100 ON且自保。
0 LD X0 1 OR M100 2 ANI T0
3 OUT M100 4 LD M100
5 OUT T0 K30 8 OUT Y0
9 END
OR和ORI的用法
範例2.5:自保回路的使用例(續)
修改範例2.4之閃爍電路,則X0只要ON一下,即可使 M0 ON且自保。
0 LD X0 1 OR M0 2 OUT M0 3 LD M0 4 ANI T1
5 OUT T0 K10 8 LD T0
9 OUT T1 K5 12 OUT Y0
13 END
OR和ORI的用法
範例2.6:順序控制電路 0 LD X0 1 OR Y0 2 ANI Y1 3 OUT Y0
4 OUT T0 K10 7 LD T0
8 OR Y1 9 ANI T1 10 OUT Y1
11 OUT T1 K10 14 END
OR和ORI的用法
範例2.7:斷電延遲計時器電路
輸入ON時,輸出亦為ON;輸入由ON轉為OFF時,
輸出須等計時器計時到預設的時間後才會變成OFF 0 LD X0
1 OR Y0 2 ANI T10 3 OUT Y0 4 ANI X0
5 OUT T10 K30 8 END
X0
X0 T10
Y0
END
T10 K30
Y0
OR和ORI的用法
範例2.8:紅綠燈控制 動作要求:
PLC RUN,綠燈(Y0) 亮5秒後接著閃爍5 次,隨後黃燈(Y1)亮 3秒、紅燈(Y2)亮5 秒,續又綠燈(Y0)亮 5秒……,持續循環 下去。按X1,則全部 停止。
SET和RST的用法
SET為設定指令,為使對象元件ON並保持之
RST為復歸指令,為使對象元件為OFF並保持之。
SET/RST對於同一對象元件可依需要多次使用,順序 亦無限制,但以最後執行者為有效動作狀態。
復歸為OFF 並保持
暫存器清除 RST
設定為ON SET 並保持
回路表示及指定對象 功能說明
指令名稱
SET Y、M、S
RST Y、M、S、T、C、D、V、Z
SET和RST的用法
0 LD X0 1 SET Y0 2 LD X10 3 RST Y0 4 LD X1 5 SET M1 6 LD X11 7 RST M1 8 LD X2 9 SET S2 11 LD X12 12 RST S2 14 LD X3 15 RST D3
X0
X1 X11
X2 X12
X3
SET Y0 X10
RST Y0 SET M1 RST M1
SET S2
RST S2
RST D3
SET和RST的用法
範例2.16:互鎖電路 0 LD X1 1 OR Y1 2 ANI X0 3 ANI Y2 4 OUT Y1 5 LD X2 6 OR Y2 7 ANI X0 8 ANI Y1 9 OUT Y2 10 END
X1 Y1
Y1
X2 Y2
END Y2 X0 Y2
X0 Y1
SET和RST的用法
範例2.16:互鎖電路(續)
0 LD X0 1 RST Y1 2 RST Y2 3 LD X1 4 ANI Y2 5 SET Y1 6 LD X2 7 ANI Y1 8 SET Y2 9 END
X0
RST Y1
X1
Y1 Y2
SET Y1 RST Y2
SET Y2 X2
END
SET和RST的用法
範例2.17:燈泡控制設計例
設計一順序控制電路,其動作要求如下:(1代表 ON,0代表OFF)
按X0→
按X1→Y0~Y2皆停止。
Y0 Y1 Y2 1
1
1
0 0
0 0
0 0
1
1
3
SET和 RST的
用法
範例2.17:
燈泡控制設 計例(續)
0 LD X0 1 SET M0 2 LD M0 3 ANI T2
4 OUT T0 K10 7 ANI Y1
8 ANI Y2 9 OUT Y0 10 LD T0
11 OUT T1 K10 14 ANI Y2
15 OUT Y1 16 LD T1
17 OUT T2 K10 20 OUT Y2
21 LD C0 22 OR X1 23 RST M0 24 RST C0 26 LD T2
27 OUT C0 K3
SET
K10
RST RST C0 X0
M0 T 2
Y1 Y2
M0 T 0
Y0 T0
Y2
T1 K10 Y1
T1
T 2 K10 Y2
C 0 X 1
M0 C0 T2
K3 END
SET和 RST的
用法
範例2.18:
按鈴搶答 電路設計 例
SET和RST的用法
範例2.19:噴水池噴水控制設計
設計一噴水池噴水控制電路,有一雙層噴水池,上層 有1個噴水口(Y0),下層有4個噴水口(Y1~Y4),其噴 水動作要求如下圖所示。
SET和 RST的
用法
範例2.19:
噴水池噴 水控制設 計(續)
30
ANB和ORB的用法
無 串聯區塊間的並聯
ORB
無 並聯區塊間的串聯
ANB
指定對象 回路表示
功能說明 指令名稱
0 LD X10 1 OR X11 2 LD X12 3 AND X13 4 LD X14 5 ANI X15 6 ORB
7 ORI X16 8 ANB
ANB和ORB的用法
具有2個以上接點串聯連接的回路叫做串聯區塊。
串聯區塊並聯連接使用ORB,且區塊的起始點使用 LD、LDI
多個串聯區塊並聯連接,如每增一串聯區塊就使用一 次ORB,則並聯回路數沒有限制(理想的寫法)
ORB可一併使用,但若如此,則LD與LDI重覆使用次 數必須以8次為限(不理想的寫法)
當有並聯區塊串聯連接時,使用ANB
當有多個並聯區塊依次使用ANB與前面回路串聯連接 時,則ANB的使用次數沒有限制。
若將ANB一併使用,則LD與LDI使用次數須以8次為限
ANB和ORB的用法
不理想的程式寫法
0 LD X0
1 LD X1 2 AND X2 3 AND X3 4 LD X4 5 AND X5 6 LD X6 7 AND X7 8 ORB
9 ORB 10 ANB
11 OUT Y10
理想的程式寫法0 LD X0 1 LD X1 2 AND X2 3 AND X3 4 LD X4 5 AND X5 6 ORB
7 LD X6 8 AND X7 9 ORB
10 ANB
11 OUT Y10
33
ANB和ORB的用法
範例2.9:程式簡化例
0 LD X3 1 ANI X4 2 OR X1 3 AND X0 4 AND X2 5 OUT Y0 6 END
Y0 X4
X0 X1 X2
X3
END
0 LD X0 1 LD X1 2 LD X3 3 ANI X4 4 ORB
5 ANB
6 AND X2 7 OUT Y0 8 END
ANB和ORB的用法
範例2.10:橋式回路簡化例 0 LD X3
1 AND X5 2 OR X4 3 AND X1 4 LD X3 5 AND X4 6 OR X5 7 AND X2 8 ORB
9 OUT Y1 10 END
MPS、MRD和MPP的用法
MPS MRD
MPP
分歧支路之 無MPP 結束
分歧支路之 無 MRD 繼續
分歧支路之 無 MPS 開始
回 路 表 示 指定對象 功 能 說 明
指令名稱
MPS
、 MRD
和 MPP 的用
法
0 LD X0
1 MPS
2 AND X1 3 OUT Y0
4 MPP
5 OUT Y1 6 LD X10
7 MPS
8 AND X11 9 OUT Y10 10 MPP
11 AND X12 12 OUT Y11 13 LD X2 14 MPS
15 AND X3 16 OUT Y2 17 MRD
18 AND X4 19 OUT Y3 20 MPP
21 AND X5 22 OUT Y4
MPS、MRD和MPP的用法
MPS、MRD和MPP為利用堆疊(Stack)區處理分歧支 路的指令
所謂堆疊區,就是一組記憶體,其具有先進後出的 資料處理結構,資料之存入、取出都是單方向的
MPS、MRD和MPP的用法
當執行MPS時,演算結果被存入第一個堆疊區中,若 再次執行MPS,則第二次的演算結果亦被存入第一個 堆疊區,而先前的演算結果則被移入第二個堆疊區,
以此類推。
每使用MPP一次,即將堆疊區中的資料往上移一個記 憶空間,而第一個堆疊區中的資料被取出後即消失
MRD為讀取存放在第一個堆疊區中之最新資料的指 令,但不移動堆疊區中的任何資料
MPS之後一定要有MPP,為一對
39
MPS
、 MRD
和 MPP 的用
法
範例2.11:另一1層堆疊例(配合ANB、ORB指令使用)
0 LD X0 1 MPS
2 LD X1 3 OR X2 4 ANB
5 OUT Y0
6 MRD
7 AND X3 8 OUT Y1 9 LD X4 10 OR X5 11 ANB
12 OUT Y2 13 MPP
14 LD X6 15 AND Y0 16 LD X7 17 AND Y1 18 ORB
19 ANB
20 OUT Y3 21 END
MPS、MRD和MPP的用法
範例2.12:2層堆疊例
0 LD X0 1 MPS
2 AND X1 3 MPS
4 AND X2 5 OUT Y0 6 MPP
7 AND X3 8 OUT Y1 9 MPP
10 AND X4 11 MPS
12 AND X5 13 OUT Y2 14 MPP
15 AND X6
16 OUT Y3
17 END
41
MPS、MRD和MPP的用法
範例2.13:4層堆疊例 01 LD X0MPS
2 AND X1 3 MPS
4 AND X2 5 MPS
6 AND X3 7 MPS
8 AND X4 9 OUT Y0 10 MPP
11 AND X10 12 OUT Y1 13 MPP
14 AND X11 15 OUT Y2 16 MPP
17 AND X12 18 OUT Y3 19 MPP
20 AND X13 21 OUT Y4 22 END
MPS、MRD和MPP的用法
範例2.13:4層堆疊例(續)
本範例之分歧回路之巢狀結構如下圖所示:
MPS、MRD和MPP的用法
範例2.13:4層堆疊例(續)
巢狀結構不可交叉,故下圖所示者均為錯誤的情形
MC和MCR的用法
M C N Y, M
MCR N 無 主控接點回路解除
MCR
主控接點回路開始 Y、M MC
指定對象 回 路 表 示
功能說明 指令名稱
0 LD X1
1 MC N0 M101 4 LD X10
5 OUT Y10
6 LD X11
7 OUT Y11
8 MCR N0
10 LD X12
MC和MCR的用法
在一個控制過程中,常有利用一個接點來控制多個回 路動作的情形,這種接點即稱為主控接點。
MC與MCR為主控接點開始與解除的指令
N為巢串層次號碼,其值為0~7,即主控接點巢串層 數最多為8層。
執行MC指令後,程式控制權移至下一層母線,直到 執行MCR後,控制權才又交還給上一層母線。
MC/MCR使用次數沒有限制
特殊補助繼電器不可指定為MC的使用對象。
MC接點後使用LD或LDI指令。
END指令需置於MCR N0之後。
MC和MCR的用法
MC、MCR必須配對使用,而且不可交叉,即MC指 令內又使用MC指令,需依順序逐次增加層次號碼 N(由0開始),MCR指令則依順序逐次減少號碼N。
MC和 MCR 的用法
範例2.14:
巢串層次 設計例
MC和MCR的用法
範例2.15:主控接點回路設計例
9 LD X3 10 OR X4 11 AND Y1 12 AND X5 13 OUT M1 14 LD M1 15 OUT Y2 16 END
0 LD X0 1 OUT M0 2 LD M0 3 MPS
4 AND X1 5 OUT Y0 6 MPP
7 AND X2 8 OUT Y1
MC和 MCR 的用法
範例2.15:
主控接點 回路設計 例(續)
0 LD X0
1 MC N0 M0 4 LD X1
5 OUT Y0 6 LD X2 7 OUT Y1 8 LD Y1
9 MC N1 M10 12 LD X3
13 OR X4 14 AND X5 15 OUT M1 16 LD M1 17 OUT Y2 18 MCR N1 20 MCR N0 22 END
PLS和PLF的用法
PLS SET
PLF
RST M100
M101 X0
M100 Y10 X1
M101
Y10
PLS Y、一般M
PLF Y、一般M
產生後緣觸發脈波 PLF
產生前緣觸發脈波 PLS
回路表示及指定對象 功能說明
指令名稱
0 LD X0 1 PLS M100 3 LD M100 4 SET Y10 5 LD X1 6 PLF M101 8 LD M101 9 RST Y10
PLS和PLF的用法
PLS為產生前緣觸發脈波的指令,即由OFF →ON時 之前緣微分脈波指令。
PLF為產生後緣觸發脈波的指令,即由ON→OFF時 之後緣微分脈波指令。
特殊及停電保持型M不可指定為PLS與PLF的對象元 件,例如:若輸入信號維持為ON,並將PLC依
RUN→STOP→RUN的狀態改變之,則PLS M100的 指令會動作,但PLS M550的指令不會動作。
PLS和PLF的用法
各元件的動作時序如下圖:
PLS和PLF的用法
範例2.20:交替電路(單鍵ON/OFF電路)
交替電路是指每當輸入一次信號,輸出的ON/OFF狀 態就會交替反轉的電路,也就是說只利用一個按鈕 開關就能操作機器之ON或OFF的電路。
動作情形為:當第一次按下按鈕開關時,若輸出為 ON,則第二次按下時,輸出就轉變為OFF,再按一 次時又為ON,續按一次又為OFF,以此類推。
PLS和PLF的用法
範例2.20:交替電路(單鍵ON/OFF電路)(續)
0 LD X0 1 PLS M0 3 LD M0 4 ANI Y0 5 LDI M0 6 AND Y0 7 ORB
8 OUT Y0 9 END
PLS和 PLF的
用法
範例2.21:
男廁所小 便池自動 沖水電路 設計
PLS和PLF的用法
範例2.21:男廁所小便池自動沖水電路設計(續)
NOP的用法
NOP為不作任何運算和處理(即讓回路短路)的指令,
即使程式中含有NOP指令,不但不會顯示錯誤,也不 會影響程式的演算結果。
NOP 無
不作任何運算 NOP 和處理
指定對象 回 路 表 示
功能說明 指令名稱
NOP的用法
將串聯接點短路(正確) 將前面回路全部短路(錯誤)
將回路切斷 將前面回路全部切斷(錯誤)
AND→NOP ANI→NOP
ANB→NOP
OR→ NOP ORI→NOP OUT→NOP