950 likes | 1.23k Views
階梯邏輯 與 程式設計. LD 、 LDI 、 OUT 指令的用法 邏輯積運算指令 AND 和 ANI 的用法 邏輯和 OR/ORI 指令用法 兩個回路並接指令 ORB 的用法 兩個回路串接指令 ANB 的用法 分歧點回路 MPS 、 MRD 、 MPP 指令的用法. 主控點回路 MC 、 MCR 指令的使用 SET 、 RST 指令的使用 16 位元計數器的用法 32 位元計數器的用法 高速計數器的用法 計時器的用法 PLS 和 PLF 微分指令的用法 重覆輸出說明 FX2N 新增基本順序指令. 目 錄.
E N D
LD、LDI、OUT指令的用法 邏輯積運算指令AND和ANI的用法 邏輯和OR/ORI指令用法 兩個回路並接指令ORB的用法 兩個回路串接指令ANB的用法 分歧點回路MPS、MRD、MPP指令的用法 主控點回路MC、MCR指令的使用 SET、RST指令的使用 16位元計數器的用法 32位元計數器的用法 高速計數器的用法 計時器的用法 PLS和PLF微分指令的用法 重覆輸出說明 FX2N新增基本順序指令 目 錄
LD、LDI、OUT功能表 範例:
AND、ANI 功能表 範例:
OR、ORI功能表 範例:
ORB功能表 範例:
ANB功能表 範例:
MPS、MRD、MPP功能表 範例:一個分歧點
當M100接點OFF時,Y0、Y1、Y2均OFF不動作。 當M100接點ON時,Y0、Y1、Y2依本身迴路狀態動作。
下表為 MC/MCR 的功能表 2. N為主控點巢狀回圈層數範圍的設定為0~7,MC與MCR配對成一個巢狀如下圖,最多層次為七層,而且不能交叉配對。 1. 電路表示圖中,特殊M不能使用
->層次N0當X0=ON時,母線由(A)跳至(B) ->層次N1當X0=ON時,X2=ON時,母線由(B)跳至(C)->層次N2當X0、X2、X4=ON時,母線由(C)跳至(D)->層次N2,當執行MCR後,母線(D)返回(C)母線->層次N1,當執行MCR後,母線(C)返回(B)母線->層次N0,當執行MCR後,母線(B)返回(A)母線,此為原母線的狀況
主控指令一般使用多重輸出回路或手動/自動的切換如下範例:(A)一般不用MC/MCR指令設計的電路主控指令一般使用多重輸出回路或手動/自動的切換如下範例:(A)一般不用MC/MCR指令設計的電路
依下列功能,利用主控點指令繪出階梯圖,並寫出程測試之:依下列功能,利用主控點指令繪出階梯圖,並寫出程測試之: • (1)當X0=ON時,進入第N0層,且Y7=ON,Y4=ON。 • (2)當X3=ON時,進入第N1層,且Y6=ON,Y4=ON。 • (3)當X5=ON時,進入第N2層,且Y5=ON,Y4=ON。 • (4)當X0=OFF時(未進入主控點),只有Y4=ON。
SET 為設定指令,其功能為使設定對象元件為ON(設定”1”的狀態),並保持之,其設定的對象元件有Y、M、S等。Reset 為復置指令,其功能為將對象元件復置為OFF(消除為”0”的狀態),其復置的對象元件有Y、M、S、D、V、Z等。SET /RESET 功能如下表:
範例第15行為將D0的值清除為0,D屬於資料暫存器,它的使用範圍為:範例第15行為將D0的值清除為0,D屬於資料暫存器,它的使用範圍為: • D0~D199:一般用資料暫存器(200點) • D200~511:停電保持用資料暫存器(312點) • D800~D8255:特殊用資料暫存器(256點) • D1000~D2999:檔案用資料暫存器(2000點) 對於資料暫存器D、間接指定暫存器V、Z,可以用RST指令消除為”0”。
計數器分為2種: (1)一般計數器 (2)高速計數器 一般計數器又分為:(1)16位元上數(加算型)計數器 (2)32位元上數/下數(加減算型)計數器 16位元上數計數器:(1)一般用,由C0~C99共100點, 設定範圍0~32,767次。 (2)停電保持用,由C100~C199共 100,點設定範圍0~32,767 次。 使用計數器前,要先將計數器歸零(用RST指令)
範例:16位元上數計數器說明:(1)當X1=ON時,C0計數器歸零(清除為0)(2)當X2由OFF到ON作動1次C0計數器往上數1次,當作動10次時,計數器累算10次,則C0輸出為ON,使Y0輸出 也變為ON,其動作狀態如下圖:範例:16位元上數計數器說明:(1)當X1=ON時,C0計數器歸零(清除為0)(2)當X2由OFF到ON作動1次C0計數器往上數1次,當作動10次時,計數器累算10次,則C0輸出為ON,使Y0輸出 也變為ON,其動作狀態如下圖:
由上圖可看出X2由OFF變ON的信號為前緣觸發,X1復歸信號亦是前緣觸發信號。由上圖可看出X2由OFF變ON的信號為前緣觸發,X1復歸信號亦是前緣觸發信號。
(3)若C0=ON以後,X2的OFF/ON信號不再被計數,也就是C0的現在值沒有變 化,維持現在值。 (4)當X1又ON時,表示C0又復歸(清除C0),則C0輸出變成OFF,又可以重新 計數。 (5)計數器的設定值可指定常數K設定,或指定資料暫存器D設定,例如使 用D0作為設定,其設定值為10,則表示該計數器的設定值為10,範例 如下: 第一行指令為將K10值移入暫存器D0,當X0=ON時,即可將資料移入。
(6)本程式當C0往上計數10次,則C0變為ON,Y0輸出亦為ON。(7)輸入程式指令:(6)本程式當C0往上計數10次,則C0變為ON,Y0輸出亦為ON。(7)輸入程式指令:
請寫出下圖程式並輸入PLC測試之。 (1)圖中MOV K2X0 D0指令,K2X0表示X7...X0共八個bit,同時被讀取移入D0暫存器。 (2)此圖是由外部設定計數器的設定值,是二進制的設定方法。 (3)測試時,先設定計數值,然後再由X12輸入信號,當C0到達設定計鼠值時,Y1=ON。例如由外部設定計數器X7~X0為00010010表示12H(16進位)=18D(10進位),則當計數器到達18時,Y1=ON。
EX:配合BCD應用指令使用,將計數值的現在值轉換成BCD碼(用EX:配合BCD應用指令使用,將計數值的現在值轉換成BCD碼(用 2進位表示10進位碼),再利用七段器顯示。或利用輸出的 LED觀看BCD碼動作,例如: (1) 00010010=12D (10進位) (2) 00011001=19D(10進位) 測試時,可以將BCD改用MOV試試看,結果會不一樣,因為 MOV指令的搬移是16進位的型式,而BCD指令的傳送為10進 位的型式。例如:C0=12 (1)BCD傳送輸出為 00010010 (2)MOV傳送輸出為 00001100
EX:利用外部1個開關設定計數器設定值? 當X1=ON時,C0會每1秒往上計數,利用BCD指令,將C0的計數 值用Y7~Y0顯示的數字為BCD碼(用二進制表示10進位的碼),達 到想要設定的值時,將X1變為OFF。然後利用X2輸入信號,當 C1計數器達到設定值時,Y10=ON。
EX:利用2個計數器設計功能如下: (1)第1個計數器每計數10次,則第2個計數器計1次。 (2)第1個計數器計數到12次時 Y1=ON。 (3)第1個計數器每計數10次完自動復歸。 (4)利用BCD指令將C2計數器值傳到Y0~Y7顯示。
EX:利用M8013自動產生脈波計數,使LED閃爍,功能如下:EX:利用M8013自動產生脈波計數,使LED閃爍,功能如下: (1)使用計數器,不用計時器,閃爍狀態為: 第一次: Y7~Y0=00001111 第二次: Y7~Y0=11110000 第三次: Y7~Y0=00001111 第四次: Y7~Y0=11110000 (2)如(1)項每間隔1秒前4個LED和後4個LED,交互閃 爍20次後停止。
32位元 上數 / 下數 計數器為大數目型的計數,PLC內部暫存器設定佔用32個位元,設定範圍: -2,147,483,648~+2,147,483,648。可分為下列兩種編號: 1. 一般用:C200~C219,共20點。 2. 停電保持用:C220~C234,共15點。 上數或下數是由C200~C234編號相對於特殊補 助繼電器M8200~M8234編號來決定。
當M82△△為OFF時,則C2△△為上數計數器。 當M82△△為ON時,則C2△△為下數計數器。 計數值的設定可使用常數K或資料暫存器D來設定,其設定值可使用正數或負數。 當設定上數時,計數器達到設定值,計數器為ON。 當設定下數時,計數器達到設定值,計數器為OFF。