旋轉、位移指令 - kun shan...

100
1 旋轉、位移指令 右旋轉指令(ROR) (FNC30) 左旋轉指令(ROL) (FNC31) 含進位旗號右旋轉指令(RCR) (FNC32) 含進位旗號左旋轉指令(RCL) (FNC33) 位元右移指令(SFTR) (FNC34) 位元左移指令(SFTL) (FNC35) 運算元右移指令(WSFR) (FNC36) 運算元左移指令(WSFL) (FNC37) 位移寫入指令(SFWR) (FNC38) 位移讀出指令(SFRD) (FNC39)

Upload: others

Post on 27-Sep-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

1

旋轉、位移指令

�右旋轉指令(ROR) (FNC30)

�左旋轉指令(ROL) (FNC31)

�含進位旗號右旋轉指令(RCR) (FNC32)

�含進位旗號左旋轉指令(RCL) (FNC33)

�位元右移指令(SFTR) (FNC34)

�位元左移指令(SFTL) (FNC35)

�運算元右移指令(WSFR) (FNC36)

�運算元左移指令(WSFL) (FNC37)

�位移寫入指令(SFWR) (FNC38)

�位移讀出指令(SFRD) (FNC39)

Page 2: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

2

右旋轉指令(ROR) (FNC30)(1)

�指定對象:目的運算元使用元件如下。

�佔用位址:ROR、RORP佔用5個位址,DROR、DRORP佔用9個位址。

�使用時機:資料進行右旋轉移動。ROR指令格式如下:

Page 3: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

3

右旋轉指令(ROR) (FNC30)(2)�當X0從OFF ON,D0內容向右移動4個位元,其中最左位元旋轉進入進位旗號(M8022)內,n為一次右旋轉n個位元。動作如下:

�ROR一般使用一次微分指令(RORP)。

1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0M8022=O

N

( )

Page 4: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

4

左旋轉指令(ROL) (FNC31)(1)

�指定對象:目的運算元使用元件如下。

�佔用位址:ROL、ROLP佔用5個位址,DROL、DROLP佔用9個位址。

�使用時機:資料進行左旋轉移動。ROL指令格式如下:

Page 5: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

5

左旋轉指令(ROL) (FNC31)(2)

�當X0從OFF ON,D0內容向左移動4個位元,其中最右位元旋轉進入進位旗號(M8022)內,n為一次左旋轉n個位元。動作如下:

�ROL一般使用一次微分指令(ROLP)。

Page 6: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

6

範例4.22:利用ROR、ROL指令設計一廣告燈,使

燈先左旋轉5

次(每次1秒)

再右旋轉5次(每次1秒),重複上述動作,並透過

Y0~Y17顯示出來。

Page 7: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

7

含進位旗號右旋轉指令(RCR)(FNC32)(1)

�指定對象:目的運算元使用元件如下。

�佔用位址:RCR、RCRP佔用5個位址,DRCR、DRCRP佔用9個位址。

�使用時機:資料進行含進位旗號之之之之右旋轉移動。

RCR指令格式如下:

Page 8: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

8

含進位旗號右旋轉指令(RCR)(FNC32)(2)

�當X0從OFF ON,D0內容向右移動4個位元(經M8022),n為一次右旋轉n位元。動作如下

�RCR一般使用一次微分指令(RCRP)。

1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0M8022=O

N

( )

Page 9: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

9

含進位旗號左旋轉指令(RCL)(FNC33)(1)

�指定對象:目的運算元使用元件如下。

�佔用位址:RCL、RCLP佔用5個位址,DRCL、DRCLP佔用9個位址。

�使用時機:資料進行含進位旗號之左旋轉移動。

RCL指令格式如下:

Page 10: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

10

含進位旗號左旋轉指令(RCL)(FNC33)(2)

�當X0從OFF ON,D0內容向左移動4個位元(經M8022),n為一次左旋轉n位元。動作如下

�RCL一般使用一次微分指令(RCLP)。

Page 11: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

11

位元右移指令(SFTR) (FNC34)(1)

�指定對象:來源及目的運算元使用元件如下

�佔用位址:SFTR、SFTRP佔用9個位址。

�使用時機:進行整批位元資料向右移動。SFTR指令格式如下:

102412 ≤≤ nn

Page 12: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

12

位元右移指令(SFTR) (FNC34)(2)

� 為來源資料之起始位元,n2來源資料位元的位

數。本例中,來源資料之起始位元為X0,並取用4個位元(n2=K4),即來源資料位元由X0、X1、X2、X3

所組成。

� 為指定位移區之起始位元,n1為指定位移區的位數。本例中,指定位移區之起始位元為M0,並取用16個位元(n1=K16),即指定位移區由M0~M15所組成。

�一般使用一次微分指令SFTRP,且

S.

D.

10241n2n ≤≤

Page 13: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

13

位元右移指令(SFTR) (FNC34)(3)

�當X10由OFF→ON時,X3、X2、X1、X0 4個位元移入M15、M14、M13、M12 等4個位元中,位移區其他位元向右移動,如下所示:

Page 14: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

14

位元左移指令(SFTL) (FNC35)(1)

�指定對象:來源及目的運算元使用元件如下

�佔用位址:SFTL、SFTLP佔用9個位址。

�使用時機:進行整批位元資料向左移動。SFTL指令格式如下:

102412 ≤≤ nn

Page 15: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

15

位元左移指令(SFTL) (FNC35)(2)

�一般使用一次微分指令SFTLP,

�當X10由OFF→ON時,X3、X2、X1、X0 4個位元移入M3、M2、M1、M0 等4個位元中,位移區其他位元向左移動,如下所示:

Page 16: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

16

範例4.23:利用SFTR、SFTL指令設計一簡易廣告燈

Page 17: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

17

範例4.23:利用SFTR、SFTL指令設計一簡易廣告燈(續)

Page 18: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

18

運算元右移指令(WSFR)(FNC36)(1)�指定對象:來源及目的運算元使用元件如下

�佔用位址:WSFR、WSFRP佔用9個位址。

�使用時機:進行運算元資料向右移動。WSFR指令格式如下:

51212 ≤≤ nn

Page 19: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

19

運算元右移指令(WSFR)(FNC36)(2)

�一般使用一次微分指令WSFRP,

�當X0由OFF→ON時,D3、D2、D1、D0 等4個運算元移入 D25、D24、D23、D22 等4個運算元中,位移區其他運算元向右移動,如下所示:

5121n2n ≤≤

Page 20: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

20

運算元左移指令(WSFL)(FNC37)(1)

�指定對象:來源及目的運算元使用元件如下

�佔用位址:WSFL、WSFLP佔用9個位址。

�使用時機:進行運算元資料向左移動。WSFL指令格式如下:

51212 ≤≤ nn

Page 21: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

21

運算元左移指令(WSFL)(FNC37)(2)�一般使用一次微分指令WSFLP,

�當X0由OFF→ON時,D3、D2、D1、D0 等4個運算元移入 D10、D11、D12、D13 等4個運算元中,位移區其他運算元向左移動,如下所示:

5121n2n ≤≤

Page 22: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

22

位移寫入指令(SFWR) (FNC38)(1)�指定對象:來源及目的運算元使用元件如下

�佔用位址:SFWR、SFWRP佔用7個位址。

�使用時機:先入先出的控制中將資料順序寫入。

SFWR指令格式如下:

5122 ≤≤ n

Page 23: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

23

位移寫入指令(SFWR) (FNC38)(2)

�D0為來源資料,D1為資料筆數指標,n為資料個數(包含指標D1,所以實際資料個數為n-1)。本指令執行時,D1內容自動復歸為零。

�本指令一般以微分指令SFWRP使用。

�D1最大內容為n-1,若超出n-1時,本指令不執行,同時M8022=ON。

Page 24: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

24

位移寫入指令(SFWR) (FNC38)(3)

�當X0由OFF→ON時,將D0內資料傳送到D2暫存器,D1內容加1;當X0再由OFF→ON時,D0內容傳送到D3暫存器,而D1內容再加1變為2,以此類推。

Page 25: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

25

位移讀出指令(SFRD) (FNC39)(1)�指定對象:來源及目的運算元使用元件如下

�佔用位址:SFRD、SFRDP佔用7個位址。

�使用時機:先入先出的控制中將資料順序讀出。

SFRD指令格式如下:

512n2 ≤≤

Page 26: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

26

位移讀出指令(SFRD) (FNC39)(2)

�D0為資料筆數指標,D1為第1筆被讀出的資料暫存器,n為資料個數(包含指標D0,所以實際能被讀出的資料個數為n-1),D20則為資料被讀出後存放的目的暫存器位置。本指令執行時,D0內容自動設為n-1

�一般以微分指令SFRDP使用。

�當指標暫存器D0為0時,本指令不執行且M8020=ON。

Page 27: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

27

位移讀出指令(SFRD) (FNC39)(3)

�當X0由OFF→ON時,將D1內資料傳送到D20暫存器,D0指標內容減1,且D9~D2全部暫存器內容往右移一個暫存器;當X0再由OFF→ON時,D1內容傳送到D20暫存器,而D0內容再減1,D9~D2全部暫存器內容往右移一個暫存器,以此類推。

Page 28: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

28

範例4.24:使用指令SFWR、SFRD將資料由X0~X3寫入、Y0~Y3讀出

Page 29: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

29

資料處理指令�區域復歸指令(ZRST) (FNC40)

�解碼指令(DECO) (FNC41)

�編碼指令(Encode, ENCO) (FNC42)

� ON位元總和指令(SUM) (FNC43)

� ON位元檢查指令(BON) (FNC44)

�平均值指令(MEAN) (FNC45)

�警報點設定指令(ANS) (FNC46)

�警報點復歸指令(ANR) (FNC47)

Page 30: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

30

區域復歸指令(ZRST) (FNC40)�指定對象:

�佔用位址:ZRST、ZRSTP佔用5個位址。

�使用時機:進行某區域資料復歸。指令格式如下:

� 編號 編號,且須指定同一元件。

�當X0=ON,指定暫存器D1~D10全部被復歸。

�亦可使用【FMOV K0 D1 K10】指令(FNC16)取代ZRST指令。

D1.

M S T C DY

D1. D

2.

ZRST

X0

D1 D10

D1. D

2.

≤ D2.

Page 31: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

31

解碼指令(DECO) (FNC41)(1)

�指定對象:來源及目的運算元使用元件如下

�佔用位址:DECO、DECOP佔用7個位址。

�使用時機:進行某些資料解碼。DECO指令格式如下:

Y M SX

S.

D.

DECO

X10

X0 Y0

S. D.

K3

n

Page 32: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

32

解碼指令(DECO) (FNC41)(2)

� X0為來源資料之開始位元,n為進行解碼之位元數。本例中,n=K3,因此取X2、X1、X0共3個位元進行解碼,共可解出23=8碼。

� Y0為解碼後存放的開始位元,因共有8碼,故須使用到Y7~Y0共8個輸出點。

�本例中,當X10=ON時,若X2=1、X1=0、X0=0,則Y4=ON。

� 內容若為T、C、D時,n可以指定4以下;當n=0時不被處理。

D.

Page 33: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

33

解碼指令(DECO) (FNC41)(3)�解碼對照表

00000001111

00000010011

00000100101

00001000001

00010000110

00100000010

01000000100

10000000000

Y0Y1Y2Y3Y4Y5Y6Y7X0X1X2

解碼編碼

Page 34: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

34

編碼指令(ENCO) (FNC42)(1)�指定對象:來源及目的運算元使用元件如下

�佔用位址:ENCO、ENCOP佔用7個位址。

�使用時機:進行某些資料編碼。ENCO指令格式如下:

T C D V、ZK、H

S.

D.nn=1~8

Y M SX

S.

ENCO

X10

X0 D0

S. D.

K3

n

Page 35: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

35

編碼指令(ENCO) (FNC42)(2)� X0為來源資料之開始位元,n為指定2n個位元進行編碼。本例中,n=K3,因此取X7~X0共8個位元進行編碼,編碼後的值放入D0內。

�當X10=ON時,若X4=1,其餘輸入為零,則D0=000000000000100=K4。

� 內容為T、C、D時,n可以指定4以下;當n=0時不被處理。

�如果被解碼區域的位元全部為“0”時視為錯誤

�若 所指定位元中有複數個位元為1時,則以最大號碼數之“1”有效(優先編碼)

D.

S.

Page 36: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

36

範例4.25:指令ZRST、DECO與ENCO之綜合練習X 0

[ ]D E C O P X 0 Y 0 K 3

X 1

X 2

X 1 0

][ E N D

E N C O P Y 0 D 0 K 3[ ]X 1 0

[ ]M O V P D 0 K 2 Y 1 0

X 1 1

[ ]Z R S T Y 0 Y 1 7

Page 37: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

37

範例4.25:指令ZRST、DECO與

ENCO之綜合練習(續)�當PLC RUN後,若X2=ON,其解碼值為

00010000存入Y7~Y0使Y4=ON。

�當X10由OFFON時,Y7~Y0=00010000進行編碼,其編碼後的數值(=K4)存放入D0暫存器,並透過Y17~Y10顯示出來,因此Y12=ON。

�當X11=ON時,Y0~Y17復歸。

Y0Y1Y2Y3Y4Y5Y6Y7

01234567

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

0 0 0 1 0 0 0 0

124

D0

Page 38: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

38

ON位元總和指令(SUM) (FNC43)(1)�指定對象:來源及目的運算元使用元件如下

�佔用位址:SUM、SUMP佔用5個位址,DSUM、DSUMP佔用9個位址。

�使用時機:計算運算元ON(=1)的總數。SUM

指令格式如下:

KnY KnM KnS T C DKnX V、Z

S.

D.

K、H

SUM

X0

D0 D2

S. D.

Page 39: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

39

ON位元總和指令(SUM) (FNC43)(2)� 為來源資料, 為存放ON(1)位元總數的目的運算元。

�當X0=ON時,將D0的16個位元資料中ON(1)

的位元總數存入D2中,若D0的16個位元全部為0,則零位旗號M8020=ON。

�本指令若使用於32位元(DSUM),則(D1, D0)

32個位元資料中ON(1)的位元總數存入D2

中,D3為0。

S. D.

Page 40: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

40

ON位元檢查指令(BON)(FNC44)(1)�指定對象:來源及目的運算元使用元件如下

�佔用位址:BON、BONP佔用7個位址,DBON、DBONP佔用13個位址。

KnY KnM KnS T C DKnX V、Z

S.

K、H

nn=0~15 或 0~31

Y M SX

D.

Page 41: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

41

ON位元檢查指令(BON)(FNC44)(2)�使用時機:ON位元檢查。BON指令格式如下

�當X0=ON時,D0的第15位元(由0位元算起)為1時,Y0=ON,如下圖所示:

�本指令若使用16位元演算時n=0~15;32位元演算時n=0~31。

BON

X0

D0 Y0

S. D.

K15

n

0101010101011101

D0

0bit 15 1214 13

bit 15=1, Y0=ON

34567812 11 10 9

Page 42: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

42

平均值指令(MEAN) (FNC45)�指定對象:

�佔用位址:MEAN、MEANP佔用7個位址。

�使用時機:平均值計算。指令格式如下:

� n為進行平均值計算之運算元個數。

�當X0=ON,D0~D2之平均值存放於D10中。

�平均值若有餘數則被捨棄。

KnY KnM KnS T C DKnX V、Z

S.

D.

K、H

nn=1~64

MEAN

X0

D0 D10

S. D.

K3

n

Page 43: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

43

警報點設定指令(ANS)(FNC46)�指定對象: :T0~T199, :S900~S999

�佔用位址:ANS佔用7個位址。

�使用時機:警報設定。ANS指令格式如下:

� m=1~32,767(以100ms為單位)。

�當X0、X1同時ON且超過1秒時,警報設定點S900= ON;當X0或X1=OFF時,S900維持ON狀態,須使用警報點復歸指令(FNC47)才能使S900變為OFF。

S. D.

ANS

X0

T0 K10

S. D.

S900

mX1

Page 44: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

44

警報點復歸指令(ANR) (FNC47)�指定對象:無。

�佔用位址:ANR佔用1個位址。

�使用時機:警報點復歸。ANR指令格式如下

�當X0由OFF ON時,較小編號之警報設定點將被復歸。

�當X0第二次由OFF ON時,下一個較小編號之警報設定點被復歸。

ANRP

X0

Page 45: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

45

範例4.26:

指令

SUM、

BON、

ANS與

ANR之綜

合練習

X0

[ ]

][ END

SUM K1X0 K1Y0

X1

X2

[ ]ANS T0 K30 S900

X3

[ ]BON K1X0 M0 K3

M0

[ ]ANRP

S900 M8013

( )Y10

X10

[ ]ZRST Y0 Y3

Page 46: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

46

範例4.26:指令SUM、BON、ANS與

ANR之綜合練習(續)� SUM指令用於檢測輸入X3~X0於同一時間有幾個ON,並藉由Y3~Y0顯示。如:只有一個輸入為ON,Y0=ON;同時有兩個輸入為ON,Y1=ON。

� BON檢查X3(K3)是否為ON。PLC RUN後,若X3=ON,則M0=ON,3秒後啟動警報設定點使S900=ON,Y10閃爍(每秒閃爍1次)。

�當X10由OFF ON時,警報點復歸,同時復歸Y3~Y0。

Page 47: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

47

高速處理指令

� I/O再生指令(REF) (FNC50)

�輸入響應時間調整指令(REFF) (FNC51)

�多點矩陣輸入指令(MTR) (FNC52)

�高速計數器設定為ON指令(HSCS) (FNC53)

�高速計數器設定為OFF指令(HSCR) (FNC54)

Page 48: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

48

I/O再生指令(REF) (FNC50)(1)

�指定對象: :以X0、X10、X20 …及Y0、Y10、Y20等為起始位元之X、Y。n:K(或H),K8、K16、K24….K128(8的倍數)。

�佔用位址:REF、REFP佔用5個位址。

�使用時機:程式掃描中欲抓取(送出)最新的輸入(輸出)信號。

�指令格式如下:

D

REF

X0

X10

D

K8

n

REF

X1

Y0

D

K8

n

Page 49: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

49

I/O再生指令(REF) (FNC50)(2)�當FX2接收到輸入信號,即由位址0開始掃描到END指令,之後才將信號送到輸出端。其間,若想抓取最新的輸入信號,或是想要即時將新資料送到輸出端,即可使用本指令。

�輸入信號再生:當X0=ON時,X10~X17的8點輸入信號在10ms的延遲後被優先讀入。

�輸出信號再生:當X1=ON時,Y0~Y7即輸出信號,且任何一接點為ON時,其信號被記憶在閂鎖中,經過驅動輸出點ON/OFF的延遲時間後輸出的接點才ON。

Page 50: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

50

輸入響應時間調整指令(REFF)(FNC51)

�指定對象:n:K、H,n=0~60(以ms為單位)

�佔用位址:REFF、REFFP 佔用3個位址。�使用時機:調整輸入響應時間。格式如下:

�當X10=ON,X0~X7的響應時間調整為1ms,即讀取X0~X7的ON/OFF時間為1 ms。

�從位址0至本指令被執行前,輸入響應時間為10ms。

�若程式使用插斷或高速計數器指令(FNC53),X0~X7的輸入響應時間自動調整為50μs。

REFF

X10

K1

n

Page 51: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

51

多點矩陣輸入指令(MTR)(FNC52)(1)�指定對象: 為以X0、X10、X20為起始之

8個輸入元件,如:X0代表X0~X7; 為以Y0、Y10、Y20為起始掃描之n個輸出元件,如:Y0、K3表以Y0、Y1、Y2為輸出掃描;

表示多點矩陣輸入相對應輔助繼電器接點,例如:M0表示X0=ON時,M0、M10、M20均為ON;n為K、H,n=2~8。

�佔用位址:MTR佔用9個位址。�使用時機:多點矩陣輸入。指令格式如下:

S

D1

D2

MTR

M8000

X0 Y0

S D1

M0 K3

D2 n

Page 52: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

52

多點矩陣輸入指令(MTR)(FNC52)(2)� n表示掃描n個輸出點,每掃描1個輸出接點,

CPU讀取一列輸入信號,如下所示:

1

2

3

4

5

6

Y 0

Y 1

Y 2

2 0 m s

讀 取 第 一 列 輸 入 信 號

讀 取 第 二 列 輸 入 信 號

讀 取 第 三 列 輸 入 信 號

2 0 m s

每 一 列 讀 取 時 間 約 2 0 m s

Page 53: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

53

多點矩陣輸入指令(MTR)(FNC52)(3)

�本指令X可看成行,n個Y輸出點可看成列,因此形成n×8多點輸入矩陣。

�本例由Y0~Y2 (n=K3)進行輸出掃描,並指定M0為第一列第一行接點、M1為第一列第二行接點,以此類推。例如:當X0=ON時,則M0、M10、M20均為ON;當X1=ON時,則M1、M11、M21均為ON。

�本指令須使用MT型(電晶體輸出)PLC,且只可使用一次。

�本指令條件接點請用M8000運轉監視接點。

Page 54: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

54

多點矩

陣輸入

指令

(MTR)

(FNC52)

(4)

C O M X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7

C O M 1 Y 0 Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7

F X 2 (電 晶 體 輸 出 ,M T型 )

X 1 X 2 X 3 X 4 X 5 X 6 X 7

X 1 X 2 X 3 X 4 X 5 X 6 X 7

M 0 M 1 M 2 M 3 M 4 M 5 M 6 M 7

M 1 0 M 1 1 M 1 2 M 1 3 M 1 4 M 1 5 M 1 6 M 1 7

M 2 0 M 2 1 M 2 2 M 2 3 M 2 4 M 2 5 M 2 6 M 2 7

第 一 列第 二 列第 三 列

0 .1 A 5 0 V二 極 體

C O M 2

Page 55: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

55

範例4.27:MTR指令練習M 8000

[ ]M TR X 0 Y 0 M 0 3K

M 0

( )Y 10

M 10

( )Y 11

M 20

][ E N D

M 20

( )Y 12

M 7

( )Y 13

M 17

( )Y 14

M 27

( )Y 15

Page 56: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

56

範例4.27:MTR指令練習(續)

� PLC RUN後,M8000=ON,執行MTR指令。

�當X0=ON,對應之輔助接點M0、M10、M20

為ON,因此Y10、Y11、Y12為ON;同理,當X7=ON,對應之輔助接點M7、M17、M27

為ON,因此Y13、Y14、Y15為ON。

Page 57: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

57

高速計數器設定為ON指令HSCS) (FNC53)(1)

�指定對象:

�佔用位址:DHSCS佔用13個位址。

�使用時機:使用於10kHz以下之脈波輸入。

�高速計數器的選用取決於計數器的種類及使用的高速輸入點。

�不同種類計數器可以同時使用,但必須各自使用不同的輸入點。

KnY KnM KnS T C DKnX V、Z

S2.

K、H

S1.

: C235~C255(高速計數器) X Y M

D.

S

Page 58: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

58

高速計數器設定為ON指令HSCS) (FNC53)(2)

� DHSCS指令格式如下:

� 為計數器的設定值, 為高速計數器C235~C255, 為輸出點,若達到計數器的設定值,此點被設定為ON。

�高速計數器為C235~C255共21點,其輸入點僅允許使用X0~X5。即FX2僅有6個高速計數輸入,故最多只允許6個高速計數器同時使用

DHSCS

X10

K50 C247 Y0

S1. S

2. D.

S1. S

2.

D.

Page 59: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

59

高速計數器設定為ON指令HSCS) (FNC53)(3)

�當X10=ON,若輸入信號由X0進入(即選擇上數方式,X1為下數,X2為復歸,如表1.11),使得C247現值由49變為50時,則Y0=ON。當X2=ON,C247復歸為零(但Y0仍維持ON,欲使Y0變為OFF,須使用HSCR(FNC54)指令)。

�高速計數器均有其專用的高速計數端,且每個輸入之快速脈波均採用插斷方式進行計數

�不同種類計數器可以同時使用,但必須各自使用不同的輸入點。

Page 60: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

60

高速計數器設定為OFF指令(HSCR)

(FNC54)(1)�指定對象:

�佔用位址:DHSCR佔用13個位址。

�使用時機:將高速計數器設定為OFF。

K nY K nM K nS T C DK nX V、 Z

S2.

K、 H

S1.

: C 235~ C 255 (高速計數器 ) X Y M

D.

S

Page 61: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

61

高速計數器設定為OFF指令(HSCR)

(FNC54)(2)� DHSCR指令格式如下:

� 為計數器的設定值, 為高速計數器C235~C255, 為輸出點,若達到計數器的設定值,此點被設定為OFF。

�當X10=ON,若輸入信號由X0進入(即選擇上數,X1為下數,X2為復歸,如表1.11),使得C247的現值由99變為100時,則Y0=OFF。

DHSCR

X10

K100 C247 Y0

S1. S

2. D.

S1. S

2.

D.

Page 62: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

62

範例4.28:DHSCS與DHSCR指令練習

� 當X11=ON且輸入由X0進入,則C247計數達30次,

C247=ON,Y1 ON。X11維持ON且C247計數值達60

次時,Y0=ON,C247計數值達120次時,Y0=OFF。

� 若X11維持ON且X2=ON時,C247計數器復歸

X 11

[ ]

][ E N D

H SC S K 60 C 247 Y 0D

( )C 247 30

[ ]H S C R K 120 C 247 Y 0D

K

C 247

( )Y 1

Page 63: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

63

便利指令

�教導式計時器指令(TTMR) (FNC64)

�交替指令(ALT) (FNC66)

Page 64: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

64

教導式計時器指令(TTMR)(FNC64)(1)

�指定對象:目的運算元使用元件如下。

�佔用位址:TTMR佔用5個位址。

�使用時機:計算按鈕之按住時間。TTMR指令格式如下:

�教導計時器以秒為單位。

K 、 HD

D .

n = 0 ~ 2

n

TTMR

X0

D0 K0

D. n

Page 65: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

65

教導式計時器指令(TTMR)(FNC64)(2)

� TTMR指令計算按鈕開關X0被按住的時間(即X0=ON

的時間)並存入D1

內:

� D0存放n倍的倍數時間:

�當X0=OFF,D1

內值歸零,而D0

內容無變化

100t0

10t0

t0

D0

K2K1K0n

Page 66: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

66

範例4.29

TTMR指令練習利用PLS

PLF抓取X0的按住時間並與

TTMR指令所抓取時間進行比較

X0

[ ]TTMR D0 0K

M0

( )T0 1000Y0

( )Y0

( )PLS M0

( )

PLF M1

[ ]MOV T0 D2

M1

K

[ ]ZRST M1 M11

( )

RST D3

0

18

Page 67: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

67

範例4.29:TTMR指令練習:利用PLS、PLF指令抓取X0的按住時間,並與

TTMR指令所抓取時間進行比較(續) ][ END

M1

M11

( )Y10

[ ]DIV D2 10 D3

CMP 4 D4 M2[ ]K

K

M3

M4

[ ]INCP D3

[ ]CMP D0 D3 M10

M3

M2

M4

30

45

50

60

62

Page 68: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

68

交替指令(ALT) (FNC66)(1)

�指定對象:目的運算元使用元件如下。

�佔用位址:ALT、ALTP佔用3個位址。

�使用時機:按鈕(或開關)按單次為ON,按雙次為OFF,可做成除頻器。ALT指令格式如下:

Y M SX

D.

ALTP

X0

Y0

D.

Page 69: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

69

交替指令(ALT) (FNC66)(2)�當X0第1次ON/OFF時,Y0=ON,第2次

ON/OFF時,Y0=OFF,第3次ON/OFF時,Y0=ON,以此類推。即X0按單次時,Y0=ON;按雙次時,Y0=OFF,如下所示:

� X0的ON/OFF頻率為Y0的兩倍,因此可視為一除以2的除頻器使用。

Page 70: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

70

範例4.30:試設計一除以8的除頻器M8013

[ ]

][ END

ALTP M0

M2

[ ]ALTP M1

M0

( )Y0

[ ]ALTP M2

M1

( )Y1

( )Y2

Page 71: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

71

範例4.30:試設計一除以8的除頻器(續)� PLC RUN,第1秒Y0、Y1、Y2=ON;第2秒Y0=OFF,

Y1、Y2=ON;第3秒時Y0、Y2=ON,Y1=OFF;第4秒

時Y0、Y1=OFF, Y2=ON,以此類推。

� 若M8013的週期為t0,則M0(或Y0)為2 t0,M1(或Y1)為4

t0,M2(或Y2)為8 t0,即M2(或Y2)的動作頻率為M8013

除以8。

Page 72: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

72

外部設定、顯示指令

� 10按鍵輸入指令(TKY) (FNC70)

� 16按鍵輸入指令(HKY) (FNC71)

�指撥開關指令(DSW) (FNC72)

� 7段顯示器解碼指令(SEGD) (FNC73)

� 7段顯示器閂鎖指令(SEGL) (FNC74)

�由擴充模組讀出指令(FROM) (FNC78)

�寫入擴充模組指令(TO) (FNC79)

Page 73: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

73

10按鍵輸入指令(TKY) (FNC70)(1)

�指定對象:

�佔用位址:TKY佔用7個位址,DTKY佔用13

個位址。

�使用時機:用於存放由10按鍵(0~9)輸入之值

�本指令只可使用一次。

Y M SX

S.

D2.

K n Y K n M K n S T C D V 、 Z

D1.

Page 74: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

74

10按鍵輸入指令(TKY) (FNC70)(2)� TKY指令格式如下:

� 為來源輸入, 為存放來源輸入的暫存器, 為與來源輸入相對應的元件。

� X0對應M0,X1對應M1,即X0=ON,M0=

ON並保持住;X1=ON,M1=ON並保持住。

� D0的最大值為9,999,超過時會溢位。

�若使用32位元DTKY指令時,指定D1、D0存放輸入值,最大可輸入99,999,999(8位數)。

TKY

M8000

X0 D0 M0

D1.S. D

2.

S. D1.

D2.

Page 75: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

75

10按鍵輸入指令(TKY) (FNC70)(3)�若輸入X的順序為X2 X1 X0 X3,則與之對應的輸出點M2、M1、M0、M3隨之ON(但下一接點ON時,上一接點隨之OFF),同時,K2103存放在D0暫存器內。

�每按一次鍵M10=ON。

�外部接線圖

→→→

COM X0 X1 X2 X3 X4 X5 X6 X7 X10 X11

PLC

10 432 5 6 7 8 9

Page 76: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

76

16按鍵輸入指令(HKY)(FNC71)(1)�指定對象:

�佔用位址:HKY佔9個,DHKY佔用17個位址

�使用時機:可規劃4×4矩陣的鍵盤,當數字鍵或功能鍵使用。

� HKY指令格式如下:

Y M SX

S. D1.

D3.

KnY KnM KnS T C D V、Z

D2.

HKY

M8000

X0 Y0 D0

D2.

M0

S. D1. D

3.

Page 77: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

77

16按鍵

輸入指

令(HKY)

(FNC71)

(2)

C O M X 0 X 1 X 2 X 3

C O M 1 Y 0 Y 1 Y 2 Y 3

0 1 2 3

4 5 6 7

8 9 A B

C D E F

F X 2(電晶體輸出 ,M T型 )

4x4矩陣鍵盤接線圖

Page 78: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

78

16按鍵輸入指令(HKY)(FNC71)(3)�本指令只可使用一次。�數字鍵:(1) 輸入之數存入D0,最大值為9,999。(2) 使用DHKY時,以D1、D0存放輸入值,最大可輸入99,999,999(8位數)。

(3) 每按一個鍵後,M8029=ON。�功能鍵:按A鍵則M0=ON並保持住;按B鍵則M1=ON並保持住;以此類推。

�按鍵輸出信號:0~9任一鍵被按下,M7=ON

A~F任一鍵被按下時,M6=ON。

Page 79: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

79

指撥開關指令(DSW) (FNC72)(1)�指定對象:來源及目的運算元使用元件如下

�佔用位址:DSW佔用9個位址。

�使用時機:使用指撥開關輸入數字,最大可輸入至8位數。指令格式如下:

�本指令只可使用一次。

Y M SX

S. D1.

K、 H T C D V、 Z

D2.

n=1、 2

DSW

X10

X0 Y0 D0

D2.

K1

nD1.S.

Page 80: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

80

指撥開關指令(DSW) (FNC72)(2)�當X10=ON時,Y0~Y3進行順序掃描,每掃描一次後,M8029=ON。

�使用一組輸入時(n=K1,輸入4點,X0~X3,及輸出4點,Y0~Y3),可讀入4位數值;使用兩組輸入時(n=K2,輸入8點,X0~X3,X4~

X7及輸出4點,Y0~Y3),可讀入8位數值。

第1組輸入:第1組指撥開關之1、2、4、8接至X0~X3,其設定值將被存入D0暫存器。

第2組輸入:第2組指撥開關之1、2、4、8接至X4~X7,其設定值將被存入D1暫存器。

Page 81: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

81

指撥開關指令(DSW) (FNC72)(3)�指撥開關上每個1、2、4、8接腳必須再外接二極體(0.1A,50V),如下圖所示。

C O M X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7

C O M 1 Y 0 Y 1 Y 2 Y 3

1 2 4 8 1 2 4 8

1 0 0 1 0 1 1 0 2 1 0 3

1 0 0 1 0 1 1 0 2 1 0 3

第 1組 輸 入 ( X 0 ~ X 3 ) 第 2組 輸 入 ( X 4 ~ X 7 )

B C D指 撥 開 關

F X 2 (電 晶 體 輸 出 ,M T型 )

(個 ) (十 ) (百 ) (千 )二 極 體0 .1 A , 5 0 V

指 撥 開 關 接 線 圖

Page 82: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

82

7段顯示器解碼指令(SEGD) (FNC73)(1)

�指定對象:來源及目的運算元使用元件如下

�佔用位址:SEGD、SEGDP佔用5個位址。

�使用時機:數值藉由7段顯示器顯示(1個7段顯示器使用8個輸出點)。

� SEGD指令格式如下:

KnY KnM KnS T C DKnX V、Z

S.

D.

K、H

SEGD

X0

D0 K2Y0

D.S.

Page 83: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

83

7段顯示器解碼指令(SEGD) (FNC73)(2)

�本指令將來源運算元D0內之下4個位元資料(bit0~bit3)解碼成7段顯示器的碼(4碼解成7

碼),並藉由K2Y0(Y0~Y7)將解碼值輸出到7

段顯示器顯示。

�本指令中D0的上位8位元資料保持不變。

�使用本指令時每一個7段顯示器須使用8個輸出接點(Y0~Y7,其中Y7恆為0),使用BCD指令只使用4個輸出接點。

� 7段顯示器的解碼表如下表所示。

Page 84: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

84

f b

e c

d

g

a

10001110F1111

10011110E1110

01111010D1101

10011100C1100

00111110B1011

11101110A1010

1111011091001

1111111081000

1110010070111

1011111060110

1011011050101

0110011040100

1111001030011

1101101020010

0110000010001

1111110000000

abcdefgx16進制位元組合顯示資料

7段顯示器之構成

7段顯示器解碼表

S. D.

Page 85: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

85

範例4.31:SEGD指令練習M8002

[ ]

][ END

MOVP 0 D0K

M1

[ ]SEGD D0 K2Y0

M8000

[ ]

[ ]INCP D0

CMP K10 D0 M0M8013

Page 86: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

86

範例4.31:SEGD指令練習(續)

� PLC RUN後,將數值K0傳送至D0暫存器,對照7段顯示器解碼表為a、b、c、d、e、f=1,即Y0、Y1、Y2、Y3、Y4、Y5為ON。

�透過M8013及INCP指令使D0內值每秒加1。

�當程式執行到第10秒時,M1=ON,再次將數值K0傳送至D0暫存器,並完成1循環(即D0內值在0~9間循環)。

�若將Y0~Y6連接至7段顯示器,則7段顯示器顯示0~9。

Page 87: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

87

7段顯示器閂鎖指令(SEGL)(FNC74)(1)

�指定對象:來源及目的運算元使用元件如下

�佔用位址:SEGL佔用7個位址。

�使用時機:數值由7段顯示器顯示(4位數1組使用8個輸出點,4位數2組使用12個輸出點)

� SEGL指令格式如下:

KnY KnM KnS T C DKnX V、Z

S.

D.

K、H

X Y M Sn=0~7

SEGL

X0

D0 Y0

D.S.

K0

n

Page 88: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

88

7段顯示器閂鎖指令(SEGL)(FNC74)(2)� 4位數1組:(n=0~3)

�將1、2、4、8接至Y0~Y3,將4點閂鎖(Latch)端接至Y4~Y7。當X0=ON,將D0內值轉成BCD碼依序由Y0~Y3輸出,而觸發信號Y4~ Y7將顯示資料閂鎖在7段顯示器的解碼器中

� 4位數2組:(n=4~7)

�將第2組顯示器之1、2、4、8接至Y10~Y13,並將4點閂鎖端接至Y4~Y7(與第1組共用Latch)。本例中,若將n改成K4,且PLC內部電晶體輸出為NPN型、正邏輯,則當X0=ON時,D1、D0內值被傳送至兩組7段顯示器上

Page 89: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

89

7段顯示器閂鎖指令(SEGL)(FNC74)(3)�本指令執行一次時,M8029=ON。�本指令只可執行一次,且掃描時間需10ms以上方可正確動作。

� 7段顯示器閂鎖配線圖如下所示:

COM1 Y0 Y1 Y2 Y31

103

FX2(電晶體輸出,MT型)

COM2 Y4 Y5 Y6 Y7 COM3 Y10 Y11 Y12 Y13

1

2

4

8

第1組

2 4 8

V+102 101 100

V+1

1

2

4

8

102103 101 100

2 4 8

第2組

Page 90: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

90

7段顯示器閂鎖指令(SEGL)(FNC74)(4)�參數n的選定:參數n被用來設定觸發信號的正/負邏輯及4位數1組或2組。

� FX2的正/負邏輯:如下圖所示,FX2若為PNP

電晶體輸出型,則當內部信號為ON(1)時,輸出為High,稱之為FX2的正邏輯。

Page 91: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

91

7段顯示器閂鎖指令(SEGL)(FNC74)(5)� FX2若為NPN電晶體輸出型,則當內部信號為ON(1)時,輸出為Low,稱之為FX2的負邏輯。

Page 92: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

92

7段顯示器閂鎖指令(SEGL)(FNC74)(6)� 7段顯示器正/負邏輯:當資料輸入High (Low)

時以BCD輸出,且掃描信號High (Low)時將顯示值閂鎖並保持住,稱之為7段顯示器的正(負)邏輯。如下表所示:

Low時將顯示值閂鎖

並保持住

High時將顯示值閂

鎖並保持住掃描信號

Low時以BCD輸出High時以BCD輸出資料輸入

負邏輯正邏輯邏輯

7段顯示器的正/負邏輯

Page 93: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

93

7段顯示器閂鎖指令(SEGL)(FNC74)(7)�參數n的選擇:參數n的選擇由上述之「FX2的正/負邏輯」與「7段顯示器的正/負邏輯」是否一致而定,如下表所示:

7不一致3不一致

6一致不一致

2一致不一致

5不一致1不一致

4一致一致

0一致一致

n掃描信號資料輸入n掃描信號資料輸入

4位數2組4位數1組

參數n的選擇

Page 94: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

94

由擴充模組讀出指令(FROM)(FNC78)(1)

�指定對象:目的運算元使用元件如下。

�佔用位址:FROM、FROMP佔用9個位址,DFROM、DFROMP佔用17個位址。

�使用時機:藉由擴充模組之緩衝記憶體(BFM)

讀取資料。

KnY KnM T C D V、 Z

D.

K、 H

m1=0~7 m2=0~31n=1~32

Page 95: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

95

由擴充模組讀出指令(FROM)(FNC78)(2)

� FROM指令格式如下:

� m1(0~7):為特殊模組編號。例如:較靠近FX2者為編號0,第4個模組編號3。

� m2(0~31):特殊模組內記憶體編號。特殊模組內有編號0~31個緩衝記憶體(BFM)。

� n(1~32):資料傳送點數。若使用32位元指令DFROM則n=1~16。

FROM

X0

K0 K5

D.

D0

n

K2

m1 m2

Page 96: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

96

寫入擴充模組指令(TO)(FNC79)(1)�指定對象:來源運算元使用元件如下。

�佔用位址:TO、TOP佔用9個位址,DTO、DTOP佔用17個位址。

�使用時機:寫入資料至擴充模組之緩衝記憶體(BFM)。TO指令格式如下:

K n X K n Y T C D V 、 Z

S .

K 、 H

m 1 = 0 ~ 7 m 2 = 0 ~ 3 1n = 1 ~ 3 2

K n M K n S

TO

X0

K0 K5

S.

D0

n

K1

m1 m2

Page 97: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

97

寫入擴充模組指令(TO)(FNC79)(2)

� m1(0~7):為特殊模組編號。例如:較靠近FX2者為編號0,第4個模組編號3。

� m2(0~31):特殊模組內記憶體編號。特殊模組內有編號0~31個緩衝記憶體(BFM)。

� n(1~32):資料傳送點數。若使用32位元指令DTO時,則n=1~16。

�本例中,將D0內資料寫至第0個特殊模組內第5個BFM(m2=K5,n=K1)內。

Page 98: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

98

範例4.32:應用FROM及TO指令配合FX-

2AD-PT溫度檢知模組進行溫度控制M 8 0 0 2

[ ]

][ E N D

M O V P 0 D 0K

M 1 0

( )Y 2 0

[ ]M O V P 1 0 0 0 D 1K

M 8 0 0 0

[ ]B C D D 0 K 4 Y 0

[ ]T O K 0 K 1 K 4 K 1

[ ]F R O M K 0 K 5 D 0 K 1

[ ]C M P D 1 D 0 M 1 0

M 1 1

Page 99: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

99

範例4.32:應用FROM及TO指令配合FX-

2AD-PT溫度檢知模組進行溫度控制(續1)� PLC RUN,將K0傳送至D0、K1000傳送至D1

�溫度設定100℃(K1000,0.1℃/單位)。溫度感測器採用PT100,其值經由FX-2AD-PT溫度檢知模組之第5個BFM(或編號#4)傳送至FX2之D0

暫存器內。

�透過CMP指令比較D0、D1(K1000)之數值,若D0<K1000(或D0=K1000),M10=ON(或M11=

ON),Y20=ON,加熱器加熱;若D0>K1000,M12=ON,Y20=OFF,加熱器不加熱。

Page 100: 旋轉、位移指令 - Kun Shan Universityeportfolio.lib.ksu.edu.tw/user/T/H/4990J142-20110516172108.pdf · 佔用位址:ROL 、ROLP 佔用5個位址,DROL 、DROLP 佔用9個位址。

100

範例4.32:應用FROM及TO指令配合FX-2AD-PT溫度檢知模組進行溫度控制(續2)

� D0內值透過BCD指令藉由7段顯示器顯示出來。配線圖如下所示: