• 沒有找到結果。

旋轉、位移指令

N/A
N/A
Protected

Academic year: 2022

Share "旋轉、位移指令"

Copied!
100
0
0

加載中.... (立即查看全文)

全文

(1)

旋轉、位移指令



右旋轉指令(ROR) (FNC30)



左旋轉指令(ROL) (FNC31)



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



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



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



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



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



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



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



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

(2)

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



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



佔用位址:ROR、RORP佔用5個位址,DROR、

DRORP佔用9個位址。



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

(3)

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



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

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

( )

(4)

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



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



佔用位址:ROL、ROLP佔用5個位址,DROL、

DROLP佔用9個位址。



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

(5)

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



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

(6)

範例4.22:

利用ROR、

ROL指令設計 一廣告燈,使 燈先左旋轉5 次(每次1秒) 再右旋轉5次 (每次1秒),

重複上述動

(7)

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



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



佔用位址:RCR、RCRP佔用5個位址,DRCR、

DRCRP佔用9個位址。



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

RCR指令格式如下:

(8)

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



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

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

N

(9)

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



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



佔用位址:RCL、RCLP佔用5個位址,DRCL、

DRCLP佔用9個位址。



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

RCL指令格式如下:

(10)

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



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

(11)

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



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



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



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

1024 1

2 ≤ n

n

(12)

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



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



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

S.

D.

(13)

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



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

(14)

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



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



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



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

1024

1

2 ≤ n

n

(15)

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



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



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

(16)

範例4.23:利用SFTR、SFTL指令設

計一簡易廣告燈

(17)

範例4.23:利用SFTR、SFTL指令設

計一簡易廣告燈(續)

(18)

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



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



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



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

512

1

2 ≤ n

n

(19)

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



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



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

512 1

n 2

n ≤ ≤

(20)

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



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



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



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

512

1

2 ≤ n

n

(21)

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



一般使用一次微分指令WSFLP,



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

512 1

n 2

n ≤ ≤

(22)

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



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



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



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

512

2 ≤ n

(23)

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



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



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



D1最大內容為n-1,若超出n-1時,本指令不執行,

同時M8022=ON。

(24)

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



當X0由OFF→ON時,將D0內資料傳送到D2暫存

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

(25)

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



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



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



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

SFRD指令格式如下:

512 n

2 ≤ ≤

(26)

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



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



一般以微分指令SFRDP使用。



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

(27)

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



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

(28)

範例4.24:使用指令SFWR、SFRD將

資料由X0~X3寫入、Y0~Y3讀出

(29)

資料處理指令



區域復歸指令(ZRST) (FNC40)



解碼指令(DECO) (FNC41)



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



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



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



平均值指令(MEAN) (FNC45)



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



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

(30)

區域復歸指令(ZRST) (FNC40)



指定對象:



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



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

 D 1 .

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

M S T C D

Y

D 1 . D 2

ZRST X0

D1 D10 D 1 . D 2

D

2 .

(31)

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



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



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



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

Y M S

X

S.

D.

X10 S. D. n

(32)

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



X0為來源資料之開始位元,n為進行解碼之 位元數。本例中,n=K3,因此取X2、X1、

X0共3個位元進行解碼,共可解出2

3

=8碼。



Y0為解碼後存放的開始位元,因共有8碼,

故須使用到Y7~Y0共8個輸出點。



本例中,當X10=ON時,若X2=1、X1=0、

X0=0,則Y4=ON。

(33)

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



解碼對照表

0 0

0 0

0 0

1 0

0 1

1

0 0

0 0

0 1

0 0

1 0

1

0 0

0 0

1 0

0 0

0 0

1

0 0

0 1

0 0

0 0

1 1

0

0 0

1 0

0 0

0 0

0 1

0

0 1

0 0

0 0

0 0

1 0

0

1 0

0 0

0 0

0 0

0 0

0

Y0 Y1

Y2 Y3

Y4 Y5

Y6 Y7

X0 X1

X2

解碼 編碼

(34)

編碼指令(ENCO) (FNC42)(1)



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



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



使用時機:進行某些資料編碼。ENCO指令

T C D V、Z

K、H

S.

n D.

n=1~8

Y M S

X

S.

(35)

編碼指令(ENCO) (FNC42)(2)



X0為來源資料之開始位元,n為指定2

n

個位元 進行編碼。本例中,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.

(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 C O P Y 0 D 0 K 3

[ ]

X 1 0

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

(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。

Y0 Y1

Y2 Y3

Y4 Y5

Y7 Y6

0 1

2 4 3

6 5 7

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

0 0 0 1 0 0 0 0

1 4 2

D0

(38)

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



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



佔用位址:SUM、SUMP佔用5個位址,

DSUM、DSUMP佔用9個位址。

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

KnY KnM KnS T C D

KnX V 、 Z

S.

D.

K 、 H

(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.

(40)

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



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

KnY KnM KnS T C D

KnX V 、 Z

S.

K 、 H

n n=0~15 或 0~31

Y M S

X

D.

(41)

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



使用時機:ON位元檢查。BON指令格式如下



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



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

BON X0

D0 Y0

S. D.

K15

n

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

D0

bit 15 14 13 2 1 0

bit 15=1, Y0=ON 3

4

5

6

7

8

12 11 10 9

(42)

平均值指令(MEAN) (FNC45)



指定對象:



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



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

KnY KnM KnS T C D

KnX V 、 Z

S.

D.

K 、 H

n n=1~64

MEAN X0

D0 D10 S. D.

K3

n

(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)才能使

S. D.

ANS X0

T0 K10

S. D.

S900

X1 m

(44)

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



指定對象:無。



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



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



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

ANRP

X0

(45)

範例4.26:

指令 SUM、

BON、

ANS與 ANR之綜

合練習

X0

[ SUM K1X0 K1Y0 ]

X1

X2

[ ANS T0 K30 S900 ]

X3

[ BON K1X0 M0 K3 ]

M0

[ ANRP ]

S900 M8013

( Y10 )

X10

[ ZRST Y0 Y3 ]

(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次)。

(47)

高速處理指令



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



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



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



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



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

(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

(49)

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



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



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



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

(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至本指令被執行前,輸入響應時間為

REFF X10

K1

n

(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

D 1

D 2

M8000 S D 1 D 2 n

(52)

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



n表示掃描n個輸出點,每掃描1個輸出接點,

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

1

2

3

4

5

6 Y 0

Y 1

Y 2

讀 取 第 一 列 輸 入 信 號

讀 取 第 二 列 輸 入 信 號

讀 取 第 三 列 輸 入 信 號

(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運轉監視接點。

(54)

多點矩 陣輸入

指令 (MTR) (FNC52)

(4)

C O M X 0 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

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

二 極 體

(55)

範例4.27:MTR指令練習

M 8000

[ M T R X 0 Y 0 M 0 3 ]

K

M 0

( Y 10 )

M 10

( Y 11 )

M 20 M 2 0

( Y 1 2 )

M 7 ( Y 1 3 )

M 1 7

( Y 1 4 )

M 2 7

( Y 1 5 )

(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。

(57)

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



指定對象:



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



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



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



不同種類計數器可以同時使用,但必須各自

KnY KnM KnS T C D

KnX V 、 Z

S 2 . K 、 H

S 1

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

D.

S

(58)

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



DHSCS指令格式如下:



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

DHSCS X10

K50 C247 Y0 S 1 . S 2 . D.

S 1 . S 2

D.

(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)指令)。



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



不同種類計數器可以同時使用,但必須各自

(60)

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



指定對象:



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

K n Y K n M K n S T C D

K n X V 、 Z

S

2

. K 、 H

S

1

: C 2 3 5 ~ C 2 5 5 (高 速 計 數 器 ) X Y M

D .

S

(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 S 1 . S 2 . D.

S 1 . S 2

D.

(62)

範例4.28:DHSCS與DHSCR指令練習



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

X 1 1

[ ]

] [ E N D

H S C S K 6 0 C 2 4 7 Y 0 D

( C 2 4 7 3 0 ) [ H S C R K 1 2 0 C 2 4 7 Y 0 ]

D

K C 2 4 7

( Y 1 )

(63)

便利指令



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



交替指令(ALT) (FNC66)

(64)

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



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



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



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

K 、 H

D D .

n = 0 ~ 2 n

X0 D. n

(65)

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



TTMR指令計算按 鈕開關X0被按住 的時間(即X0=ON 的時間)並存入D1 內:



D0存放n倍的倍數 時間:



當X0=OFF,D1

內值歸零,而D0

t

10t

0

100t

0

D0

0

K2 K1

K0 n

(66)

範例4.29 TTMR指

令練習 利用PLS PLF抓取 X0的按

住時間 並與 TTMR指

令所抓

X0 [ TTMR D0 0 ]

K

M0

( T0 1000 )

Y0

( PLS M0 )

( )

PLF M1

[ MOV T0 D2 ]

M1

K

[ ZRST M1 M11 ]

( )

RST D3 0

18

(67)

範例4.29:

TTMR指 令練習:

利用PLS、

PLF指令抓 取X0的按

住時間,

並與 TTMR指 令所抓取 時間進行

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

(68)

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



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



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



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

Y M S

X

D.

(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的除頻器使用。

(70)

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

M8013

[ ALTP M0 ]

[ ALTP M1 ]

M0

( Y0 )

[ ALTP M2 ]

M1

( Y1 )

(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的週期為t

0

,則M0(或Y0)為2 t

0

,M1(或Y1)為4

t 0

,M2(或Y2)為8 t

0

,即M2(或Y2)的動作頻率為M8013 除以8。

(72)

外部設定、顯示指令



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



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



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



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



7段顯示器閂鎖指令(SEGL) (FNC74) 由擴充模組讀出指令(FROM) (FNC78)

(73)

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



指定對象:



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



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



本指令只可使用一次。

Y M S

X

S .

D 2

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

D 1

(74)

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



TKY指令格式如下:



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



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

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

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

TKY M8000

X0 D0 M0

D 1

S. D 2

S. D 1

D 2

(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

1

0 2 3 4 5 6 7 8 9

(76)

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



指定對象:



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



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

Y M S

X

S. D 1

D 3

KnY KnM KnS T C D V 、 Z

D 2

(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 型 )

(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並保持住;以此類推。

(79)

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



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



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



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

Y M S

X

S. D 1

K 、 H T C D V 、 Z

D 2

n=1、 2

DSW X10

X0 Y0 D0

D 2

K1

n

D 1

S.

(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接

(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 00 1 01 1 02 1 03

1 00 1 01 1 02 1 03

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

指 撥 開 關

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

( 個 ) ( 十 ) ( 百 ) ( 千 )

二 極 體 0 . 1 A , 5 0 V

(82)

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



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



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



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

KnY KnM KnS T C D

KnX V 、 Z

S.

D.

K、 H

(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個輸出接點。

(84)

f b

e c

d g

a

1 1 1 0 1 1 1 0 A

1010

1 1 1 1 0 1 1 0 9

1001

1 1 1 1 1 1 1 0 8

1000

1 1 1 0 0 1 0 0 7

0111

1 0 1 1 1 1 1 0 6

0110

1 0 1 1 0 1 1 0 5

0101

0 1 1 0 0 1 1 0 4

0100

1 1 1 1 0 0 1 0 3

0011

1 1 0 1 1 0 1 0 2

0010

0 1 1 0 0 0 0 0 1

0001

1 1 1 1 1 1 0 0 0

0000

a b c d e

f g x

位元組合 16進制 7段顯示器 顯示資料

之構成

7段顯示器解碼表

S. D.

(85)

範例4.31:SEGD指令練習

M8002

[ MOVP 0 D0 ]

K

M1

[ SEGD D0 K2Y0 ]

M8000

[ ]

[ INCP D0 ]

CMP K10 D0 M0

M8013

(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間循環)。

(87)

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



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



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



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



SEGL指令格式如下:

KnY KnM KnS T C D

KnX V 、 Z

S.

D.

K、H

X Y M S

n=0~7

X0 S. D. n

(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組共用

(89)

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



本指令執行一次時,M8029=ON。



本指令只可執行一次,且掃描時間需10ms以 上方可正確動作。



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

COM1 Y0 Y1 Y2 Y3

1

103

FX2(電晶體輸出,MT型)

COM2 Y4 Y5 Y6 Y7 COM3 Y10 Y11 Y12 Y13

1 2 4

2 4 8

V

+

102 101 100

V

+

1

1 2 4

102

103 101 100

2 4 8

(90)

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



參數n的選定:參數n被用來設定觸發信號的 正/負邏輯及4位數1組或2組。



FX2的正/負邏輯:如下圖所示,FX2若為PNP 電晶體輸出型,則當內部信號為ON(1)時,輸 出為High,稱之為FX2的正邏輯。

(91)

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



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

(92)

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



7段顯示器正/負邏輯:當資料輸入High (Low) 時以BCD輸出,且掃描信號High (Low)時將顯 示值閂鎖並保持住,稱之為7段顯示器的正

(負)邏輯。如下表所示:

Low時以BCD輸出 High時以BCD輸出

資料輸入

負邏輯 正邏輯

邏輯

7段顯示器的正/負邏輯

(93)

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



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

一致 6 2 不一致

不一致 一致

不一致 5 不一致 1

一致 4 0 一致

一致 一致

掃描信號 n n 資料輸入

掃描信號 資料輸入

4位數2組 4位數1組

參數n的選擇

(94)

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



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



佔用位址:FROM、FROMP佔用9個位址,

DFROM、DFROMP佔用17個位址。

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

K nY K nM T C D V 、 Z

D.

K 、 H

m 1=0~7 m 2=0~31

n=1~32

(95)

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



FROM指令格式如下:



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



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



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

FROM X0

K0 K5

D.

D0

n K2

m1 m2

(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 1 n = 1 ~ 3 2

K n M K n S

(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)內。

(98)

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

M 8 0 0 2

[ M O V P 0 D 0 ]

K

M 1 0

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

K 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 ]

(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,加熱器不加熱。

(100)

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



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

參考文獻

相關文件

(一)是一套 有組織、有 系統、有結 構的記錄和 文件。.. (二)可以顯 示教師在某

(一)是一套 有組織、有 系統、有結 構的記錄和 文件。.. (二)可以顯 示教師在某

 相關係數﹕顯示兩個隨機變數之間線性關係的強度和方向,數值介乎-1 和 1。方向以符號劃分,正值表示相同,負值表示相反。強度則以絕對值 大小衡量,一般而言,小於

輸入grid on則會添加格線;而輸入grid off則會停止顯 示格線。當單獨使用的時候,grid會切換此功能開啟或 者關閉,但是你應該要使用grid

,並於後方括號&lt; &gt;內標示『須經藥事會:是/否;品項清單備考欄位

選取『篩選條件』選項,可依 [未決品項]、[未報 價品項] 等狀態顯示符合條件投標品項.

ADtek assumes no responsibility for any inaccuracies that may be contained in this document, and make no commitment to update or to keep current the information contained in

如圖1-16所示,NOT運算會改變邏輯準位。輸入為 HIGH (1) 時,輸出為LOW (0)。當輸入為LOW時,輸出