- 電氣工程師自學成才手冊(精通篇)(第2版)
- 蔡杏山主編
- 7797字
- 2021-08-13 20:14:50
2.3 三菱FX系列PLC的軟元件說明
PLC是在繼電器控制電路基礎上發展起來的。繼電器控制電路有時間繼電器、中間繼電器等。PLC內部也有類似的器件,由于這些器件以軟件形式存在,故稱為軟元件。PLC程序由指令和軟元件組成。指令的功能是發出命令。軟元件是指令的執行對象。比如,SET為置1指令,Y000是PLC的一種軟元件(輸出繼電器),“SET Y000”就是命令PLC的輸出繼電器Y000的狀態變為1。由此可見,編寫PLC程序必須要了解PLC的指令及軟元件。
PLC的軟元件很多,主要有輸入繼電器、輸出繼電器、輔助繼電器、定時器、計數器、數據寄存器和常數等。三菱FX系列PLC分很多子系列,越高檔的子系列,所支持的指令和軟元件數量越多。
2.3.1 輸入繼電器(X)和輸出繼電器(Y)
1.輸入繼電器(X)
輸入繼電器用于接收PLC輸入端子送入的外部開關信號,與PLC的輸入端子連接,表示符號為X,按八進制方式編號,輸入繼電器與外部對應的輸入端子編號是相同的。三菱FX2N-48M型PLC外部有24個輸入端子,編號為X000~X007、X010~X017、X020~X027,相應地內部有24個相同編號的輸入繼電器來接收這些端子輸入的開關信號。
一個輸入繼電器可以有無數個編號相同的常閉觸點和常開觸點,當某個輸入端子(如X000)外接開關閉合時,PLC內部相同編號輸入繼電器(X000)狀態變為ON,那么程序中相同編號的常開觸點處于閉合,常閉觸點處于斷開。
2.輸出繼電器(Y)
輸出繼電器(常稱輸出線圈)用于將PLC內部開關信號送出,與PLC輸出端子連接,表示符號為Y,也按八進制方式編號,輸出繼電器與外部對應的輸出端子編號是相同的。三菱FX2N-48M型PLC外部有24個輸出端子,編號為Y000~Y007、Y010~Y017、Y020~Y027,相應地內部有24個相同編號的輸出繼電器。這些輸出繼電器的狀態由相同編號的外部輸出端子送出。
一個輸出繼電器只有一個與輸出端子連接的常開觸點(又稱硬觸點),但在編程時可使用無數個編號相同的常開觸點和常閉觸點。當某個輸出繼電器(如Y000)狀態為ON時,除會使相同編號輸出端子內部的硬觸點閉合外,還會使程序中相同編號的常開觸點閉合,常閉觸點斷開。
三菱FX系列PLC支持的輸入繼電器、輸出繼電器如下:

2.3.2 輔助繼電器(M)
輔助繼電器是PLC內部繼電器,與輸入、輸出繼電器不同,不能接收輸入端子送來的信號,也不能驅動輸出端子。輔助繼電器表示符號為M,按十進制方式編號,如M0~M499、M500~M1023等。一個輔助繼電器可以有無數個編號相同的常閉觸點和常開觸點。
輔助繼電器分為四類:一般型、停電保持型、停電保持專用型和特殊用途型。
三菱FX系列PLC支持的輔助繼電器如下:

1.一般型輔助繼電器
一般型(又稱通用型)輔助繼電器在PLC運行時,如果電源突然停電,則全部線圈狀態均變為OFF。當電源再次接通時,除因其他信號而變為ON外,其余的仍將保持OFF狀態,它們沒有停電保持功能。
三菱FX2N系列PLC的一般型輔助繼電器點數默認為M0~M499,也可以用編程軟件將一般型設為停電保持型,設置方法如圖2-20所示,在GX Developer軟件的工程列表區雙擊參數項中的“PLC參數”,彈出參數設置對話框,切換到“軟元件”選項卡,從輔助繼電器一欄可以看出,系統默認M500(起始)~M1023(結束)范圍內的輔助繼電器具有鎖存(停電保持)功能,如果將起始值改為550,結束值仍為1023,那么M0~M550范圍內的都是一般型輔助繼電器。
從圖2-20所示對話框還能看出,不但可以設置輔助繼電器停電保持點數,還可以設置狀態繼電器、定時器、計數器和數據寄存器的停電保持點數,編程時選擇的PLC類型不同,該對話框的內容會有所不同。

圖2-20 軟元件停電保持(鎖存)點數設置
2.停電保持型輔助繼電器
停電保持型輔助繼電器與一般型輔助繼電器的區別主要在于,前者具有停電保持功能,即能記憶停電前的狀態,并在重新通電后保持停電前的狀態。FX2N系列PLC的停電保持型輔助繼電器可分為停電保持型(M500~M1023)和停電保持專用型(M1024~M3071)。停電保持專用型輔助繼電器無法設成一般型。
下面以圖2-21來說明一般型和停電保持型輔助繼電器的區別。

圖2-21 一般型和停電保持型輔助繼電器的區別
圖2-21(a)程序采用了一般型輔助繼電器,在通電時,如果X000常開觸點閉合,輔助繼電器M0狀態變為ON(或稱M0線圈得電),M0常開觸點閉合,在X000觸點斷開后鎖住M0繼電器的狀態值,如果PLC出現停電,M0繼電器狀態值變為OFF,在PLC重新恢復供電時,M0繼電器狀態仍為OFF,M0常開觸點處于斷開。
圖2-21(b)程序采用了停電保持型輔助繼電器,在通電時,如果X000常開觸點閉合,輔助繼電器M600狀態變為ON,M600常開觸點閉合,如果PLC出現停電,M600繼電器狀態值保持為ON,在PLC重新恢復供電時,M600繼電器狀態仍為ON,M600常開觸點處于閉合。若重新供電時X001觸點處于開路,則M600繼電器狀態為OFF。
3.特殊用途型輔助繼電器
FX2N系列中有256個特殊用途型輔助繼電器,可分成觸點型和線圈型兩大類。
(1)觸點型特殊用途型輔助繼電器
觸點型特殊用途型輔助繼電器的線圈由PLC自動驅動,用戶只可使用觸點,即在編寫程序時,只能使用這種繼電器的觸點,不能使用線圈。常用的觸點型特殊用途型輔助繼電器如下。
M8000:運行監視a觸點(常開觸點),在PLC運行中,M8000觸點始終處于接通狀態;M8001為運行監視b觸點(常閉觸點),與M8000觸點邏輯相反,在PLC運行時,M8001觸點始終斷開。
M8002:初始脈沖a觸點,該觸點僅在PLC運行開始的一個掃描周期內接通,以后周期斷開;M8003為初始脈沖b觸點,與M8002邏輯相反。
M8011、M8012、M8013和M8014分別是產生10ms、100ms、1s和1min時鐘脈沖的特殊輔助繼電器觸點。
M8000、M8002、M8012的時序關系如圖2-22所示。從圖中可以看出,在PLC運行(RUN)時,M8000觸點始終是閉合的(圖中用高電平表示),而M8002觸點僅閉合一個掃描周期,M8012閉合50ms、接通50ms,并且不斷重復。
(2)線圈型特殊用途型輔助繼電器
線圈型特殊用途型輔助繼電器由用戶程序驅動線圈,使PLC執行特定的動作。常用的線圈型特殊用途型輔助繼電器如下。
M8030:電池LED熄燈。當M8030線圈得電(M8030繼電器狀態為ON)時,電池電壓降低,發光二極管熄滅。
M8033:存儲器保持停止。若M8033線圈得電(M8033繼電器狀態值為ON),PLC停止時保持輸出映象存儲器和數據寄存器的內容。以圖2-23所示的程序為例,當X000常開觸點處于斷開時,M8034輔助繼電器狀態為OFF,X001~X003常閉觸點處于閉合狀態,使Y000~Y002線圈均得電,如果X000常開觸點閉合,M8034輔助繼電器狀態變為ON,PLC馬上讓所有的輸出線圈失電,故Y000~Y002線圈都失電,即使X001~X003常閉觸點仍處于閉合。

圖2-22 M8000、M8002、M8012的時序關系

圖2-23 線圈型特殊用途型輔助繼電器的使用舉例
M8034:所有輸出禁止。若M8034線圈得電(即M8034繼電器狀態為ON),PLC的輸出全部禁止。
M8039:恒定掃描模式。若M8039線圈得電(即M8039繼電器狀態為ON),PLC按數據寄存器D8039中指定的掃描時間工作。
2.3.3 狀態繼電器(S)
狀態繼電器是編制步進程序的重要軟元件,與輔助繼電器一樣,可以有無數個常開觸點和常閉觸點,表示符號為S,按十進制方式編號,如S0~S9、S10~S19、S20~S499等。
狀態繼電器可分為初始狀態型、一般型和報警用途型。對于未在步進程序中使用的狀態繼電器,可以當成輔助繼電器一樣使用,如圖2-24所示,當X001觸點閉合時,S10線圈得電(即S10繼電器狀態為ON),S10常開觸點閉合。狀態器繼電器主要用在步進順序程序中,詳細用法見第5章。

圖2-24 未使用的狀態繼電器可以當成輔助繼電器一樣使用
三菱FX系列PLC支持的狀態繼電器如下:

2.3.4 定時器(T)
定時器是用于計算時間的繼電器,可以有無數個常開觸點和常閉觸點,定時單位有1ms、10ms、100ms三種。定時器表示符號為T,編號也按十進制。定時器分為普通型定時器(又稱一般型)和停電保持型定時器(又稱累計型或積算型定時器)。
三菱FX系列PLC支持的定時器如下:

續表

普通型定時器和停電保持型定時器的區別說明如圖2-25所示。

圖2-25 普通型定時器和停電保持型定時器的區別說明
圖2-25(a)梯形圖中的定時器T0為100ms普通型定時器,其設定計時值為123(123×0.1s=12.3s)。當X000觸點閉合時,定時器T0輸入為ON,開始計時,如果當前計時值未到123時定時器T0輸入變為OFF(X000觸點斷開),定時器T0馬上停止計時,并且當前計時值復位為0,當X000觸點再閉合時,定時器T0重新開始計時,當計時值到達123時,定時器T0的狀態值變為ON,T0常開觸點閉合,Y000線圈得電。普通型定時器的計時值到達設定值時,如果輸入仍為ON,定時器的計時值保持設定值不變,當輸入變為OFF時,狀態值變為OFF,同時當前計時變為0。
圖2-25(b)梯形圖中的定時器T250為100ms停電保持型定時器,其設定計時值為123(123×0.1s=12.3s)。當X000觸點閉合時,定時器T250開始計時,如果當前計時值未到123時出現X000觸點斷開或PLC斷電,定時器T250停止計時,但當前計時值保持,當X000觸點再閉合或PLC恢復供電時,定時器T250在先前保持的計時值基礎上繼續計時,直到累積計時值到達123時,定時器T250的狀態值變為ON,T250常開觸點閉合,Y000線圈得電。停電保持型定時器的計時值到達設定值時,不管輸入是否為ON,狀態值仍保持為ON,當前計時值也保持設定值不變,直到用RST指令對其進行復位,狀態值才變為OFF,當前計時值才復位為0。
2.3.5 計數器(C)
計數器是一種具有計數功能的繼電器,可以有無數個常開觸點和常閉觸點。計數器可分為加計數器和加/減雙向計數器。計數器表示符號為C,編號按十進制方式。計數器可分為普通型計數器和停電保持型計數器。
三菱FX系列PLC支持的計數器如下:

1.加計數器的使用
加計數器的使用說明如圖2-26所示。C0是一個普通型的16位加計數器。當X010觸點閉合時,RST指令將C0計數器復位(狀態值變為OFF,當前計數值變為0),X010觸點斷開后,X011觸點每閉合斷開一次(產生一個脈沖),計數器C0的當前計數值就遞增1,X011觸點第10次閉合時,C0計數器的當前計數值達到設定計數值10,狀態值馬上變為ON,C0常開觸點閉合,Y000線圈得電。當計數器的計數值達到設定值后,即使再輸入脈沖,其狀態值和當前計數值都保持不變,直到用RST指令將計數器復位。

圖2-26 加計數器的使用說明
停電保持型計數器的使用方法與普通型計數器基本相似。兩者的區別主要在于:普通型計數器在PLC停電時狀態值和當前計數值會被復位,上電后重新開始計數;停電保持型計數器在PLC停電時會保持停電前的狀態值和計數值,上電后會在先前保持的計數值基礎上繼續計數。
2.加/減計數器的使用
三菱FX系列PLC的C200~C234為加/減計數器。這些計數器既可以加計數,也可以減計數,進行何種計數方式分別受特殊輔助繼電器M8200~M8234控制,即C200計數器的計數方式受M8200輔助繼電器控制,M8200=1(M8200狀態為ON)時,C200計數器進行減計數,M8200=0(M8200狀態為OFF)時,C200計數器進行加計數。
加/減計數器在計數值達到設定值后,如果仍有脈沖輸入,則計數值會繼續增加或減少,在加計數達到最大值2147483647時,再來一個脈沖,計數值會變為最小值-2147483648,在減計數達到最小值-2147483648時,再來一個脈沖,計數值會變為最大值2147483647,所以加/減計數器是環形計數器。在計數時,不管加/減計數器進行的是加計數還是減計數,只要當前計數值小于設定計數值,計數器的狀態就為OFF,若當前計數值大于或等于設定計數值,計數器的狀態為ON。
加/減計數器的使用說明如圖2-27所示。

圖2-27 加/減計數器的使用說明
當X012觸點閉合時,M8200繼電器狀態為ON,C200計數器工作方式為減計數,X012觸點斷開時,M8200繼電器狀態為OFF,C200計數器工作方式為加計數。當X013觸點閉合時,RST指令對C200計數器進行復位,狀態變為OFF,當前計數值也變為0。
C200計數器復位后,將X013觸點斷開,X014觸點每閉合斷開一次(產生一個脈沖),C200計數器的計數值就加1或減1。在進行加計數,C200計數器的當前計數值達到設定值(圖中-6增到-5)時,狀態變為ON;在進行減計數,C200計數器的當前計數值減到小于設定值(圖中-5減到-6)時,狀態變為OFF。
3.計數值的設定方式
計數器的計數值可以直接用常數設定(直接設定),也可以將數據寄存器中的數值設為計數值(間接設定)。計數器的計數值設定如圖2-28所示。
16位計數器的計數值設定如圖2-28(a)所示。圖中,C0計數器的計數值采用直接設定方式,直接將常數6設為計數值;C1計數器的計數值采用間接設定方式,先用MOV指令將常數10傳送到數據寄存器D5中,然后將D5中的值指定為計數值。
32位計數器的計數值設定如圖2-28(b)所示。圖中,C200計數器的計數值采用直接設定方式,直接將常數43210設為計數值;C201計數器的計數值采用間接設定方式,由于計數值為32位,故需要先用DMOV指令(32位數據傳送指令)將常數68000傳送到2個16位數據寄存器D6、D5中,然后將D6、D5中的值指定為計數值,在編程時只需輸入低編號數據寄存器,相鄰高編號數據寄存器會自動占用。

圖2-28 計數器的計數值設定
2.3.6 高速計數器
前面介紹的普通計數器的計數速度較慢,與PLC的掃描周期有關,一個掃描周期內最多只能增1或減1,如果一個掃描周期內有多個脈沖輸入,也只能計1,這樣會出現計數不準確,為此PLC內部專門設置了與掃描周期無關的高速計數器(HSC),用于對高速脈沖進行計數。三菱FX3U/3UC型PLC最高可對100kHz高速脈沖進行計數,其他型號PLC最高計數頻率也可達60kHz。
三菱FX系列PLC有C235~C255共21個高速計數器(均為32位加/減環形計數器)。這些計數器使用X000~X007共8個端子作為計數輸入或控制端子。這些端子對不同的高速計數器有不同的功能定義,一個端子不能被多個計數器同時使用。三菱FX系列PLC的高速計數器及使用端子的功能定義如表2-2所示。
表2-2 三菱FX系列PLC的高速計數器及使用端子的功能定義

續表

說明:U/D—加計數輸入/減計數輸入;R—復位輸入;S—啟動輸入;A—A相輸入;B—B相輸入。
1.單相單輸入高速計數器(C235~C245)
單相單輸入高速計數器可分為無啟動/復位控制功能的計數器(C235~C240)和有啟動/復位控制功能的計數器(C241~C245)。C235~C245計數器的加、減計數方式分別由M8235~M8245特殊輔助繼電器的狀態決定,狀態為ON時計數器進行減計數,狀態為OFF時計數器進行加計數。
單相單輸入高速計數器的使用舉例如圖2-29所示。

圖2-29 單相單輸入高速計數器的使用舉例
在計數器C235輸入為ON(X012觸點處于閉合)期間,C235對X000端子(程序中不出現)輸入的脈沖進行計數;如果輔助繼電器M8235狀態為OFF(X010觸點處于斷開),C235進行加計數,若M8235狀態為ON(X010觸點處于閉合),C235進行減計數;在計數時,不管C235進行加計數還是減計數,如果當前計數值小于設定計數值-5,C235的狀態值就為OFF,如果當前計數值大于或等于-5,C235的狀態值就為ON;如果X011觸點閉合,RST指令會將C235復位,C235當前值變為0,狀態值變為OFF。
從圖2-29(a)程序可以看出,計數器C244采用與C235相同的觸點控制,但C244屬于有專門啟動/復位控制的計數器,當X012觸點閉合時,C235計數器輸入為ON馬上開始計數,而同時C244計數器輸入也為ON但不會開始計數,只有X006端子(C244的啟動控制端)輸入為ON時,C244才開始計數,數據寄存器D1D0中的值被指定為C244的設定計數值,高速計數器是32位計數器,其設定值占用兩個數據寄存器,編程時只要輸入低位寄存器即可。對C244計數器復位有兩種方法:一是執行RST指令(讓X011觸點閉合);二是讓X001端子(C244的復位控制端)輸入為ON。
2.單相雙輸入高速計數器(C246~C250)
單相雙輸入高速計數器有兩個計數輸入端:一個為加計數輸入端;一個為減計數輸入端。當加計數端輸入上升沿時進行加計數,當減計數端輸入上升沿時進行減計數。C246~C250高速計數器當前的計數方式可通過分別查看M8246~M8250的狀態來了解,狀態為ON表示正在進行減計數,狀態為OFF表示正在進行加計數。
單相雙輸入高速計數器的使用舉例如圖2-30所示。當X012觸點閉合時,C246計數器啟動計數,若X000端子輸入脈沖,C246進行加計數,若X001端子輸入脈沖,C246進行減計數。只有在X012觸點閉合并且X006端子(C249的啟動控制端)輸入為ON時,C249才開始計數,X000端子輸入脈沖時C249進行加計數,X001端子輸入脈沖時C249進行減計數。C246計數器可使用RST指令復位,C249既可使用RST指令復位,也可以讓X002端子(C249的復位控制端)輸入為ON來復位。

圖2-30 單相雙輸入高速計數器的使用舉例
3.雙相雙輸入高速計數器(C251~C255)
雙相雙輸入高速計數器有兩個計數輸入端:一個為A相輸入端;一個為B相輸入端。在A相輸入為ON時,B相輸入上升沿進行加計數,B相輸入下降沿進行減計數。
雙相雙輸入高速計數器的使用舉例如圖2-31所示。
當C251計數器輸入為ON(X012觸點閉合)時,啟動計數,在A相脈沖(由X000端子輸入)為ON時對B相脈沖(由X001端子輸入)進行計數,B相脈沖上升沿來時進行加計數,B相脈沖下降沿來時進行減計數。如果A、B相脈沖由兩相旋轉編碼器提供,編碼器正轉時產生的A相脈沖相位超前B相脈沖,在A相脈沖為ON時B相脈沖只會出現上升沿,如表2-31(b)所示,即編碼器正轉時進行加計數,在編碼器反轉時產生的A相脈沖相位落后B相脈沖,在A相脈沖為ON時B相脈沖只會出現下降沿,即編碼器反轉時進行減計數。

圖2-31 雙相雙輸入高速計數器的使用舉例
C251計數器進行減計數時,M8251繼電器狀態為ON,M8251常開觸點閉合,Y003線圈得電。在計數時,若C251計數器的當前計數值大于或等于設定計數值,C251狀態為ON,C251常開觸點閉合,Y002線圈得電。C251計數器可用RST指令復位,讓狀態變為OFF,將當前計數值清0。
C254計數器的計數方式與C251基本類似,但啟動C254計數除要求X012觸點閉合(讓C254輸入為ON)外,還須X006端子(C254的啟動控制端)輸入為ON。C254計數器既可使用RST指令復位,也可以讓X002端子(C254的復位控制端)輸入為ON來復位。
2.3.7 數據寄存器(D)
數據寄存器是用來存放數據的軟元件,表示符號為D,按十進制編號。一個數據寄存器可以存放16位二進制數,最高位為符號位(符號位為0:正數;符號位為1:負數)。一個數據寄存器可存放-32768~+32767范圍內的數據。16位數據寄存器的結構如下:

兩個相鄰的數據寄存器組合起來可以構成一個32位數據寄存器,能存放32位二進制數,最高位為符號位(0-正數;1-負數),兩個數據寄存器組合構成的32位數據寄存器可存放-2147483648~+2147483647范圍內的數據。32位數據寄存器的結構如下:

三菱FX系列PLC的數據寄存器可分為一般型、停電保持型、文件型和特殊型數據寄存器。三菱FX系列PLC支持的數據寄存器點數如下:

(1)一般型數據寄存器
當PLC從RUN模式進入STOP模式時,所有一般型數據寄存器的數據全部清0,如果特殊輔助繼電器M8033為ON,則PLC從RUN模式進入STOP模式時,一般型數據寄存器的值保持不變。程序中未用的定時器和計數器可以作為數據寄存器使用。
(2)停電保持型數據寄存器
停電保持型數據寄存器具有停電保持功能,當PLC從RUN模式進入STOP模式時,停電保持型寄存器的值保持不變。在編程軟件中可以設置停電保持型數據寄存器的范圍。
(3)文件型數據寄存器
文件型數據寄存器用來設置具有相同軟元件編號的數據寄存器的初始值。PLC上電時和由STOP模式轉換至RUN模式時,文件寄存器中的數據被傳送到系統的RAM數據寄存器區。在GX Developer軟件的“FX參數設置”對話框,切換到“內存容量設置”選項卡,從中可以設置文件寄存器容量(以塊為單位,每塊500點)。
(4)特殊型數據寄存器
特殊型數據寄存器的作用是用來控制和監視PLC內部的各種工作方式和軟元件,如掃描時間、電池電壓等。在PLC上電和由STOP模式轉換至RUN模式時,這些數據寄存器會被寫入默認值。
2.3.8 變址寄存器(V、Z)
三菱FX系列PLC有V0~V7和Z0~Z7共16個變址寄存器,都是16位寄存器。變址寄存器V、Z實際上是一種特殊用途的數據寄存器,用于改變元件的編號(變址),例如V0=5,若執行D20V0,則實際被執行的元件為D25(D20+5)。變址寄存器可以像其他數據寄存器一樣進行讀寫,需要進行32位操作時,可將V、Z串聯使用(Z為低位,V為高位)。變址寄存器(V、Z)的詳細使用見第6章。
2.3.9 常數(K、H)
常數有兩種表示方式:一種是用十進制數表示,表示符號為K,如“K234”表示十進制數234;另一種是用十六進制數表示,表示符號為H,如“H1B”表示十六進制數1B,相當于十進制數27。
在用十進制數表示常數時,數值范圍為-32768~+32767(16位)、-2147483648~+2147483647(32位)。在用十六進制數表示常數時,數值范圍為0~FFFF(16位)、0~FFFFFFFF(32位)。