- PLC實用制作快速上手
- 陳清彬
- 2360字
- 2018-12-29 04:04:02
1.2PLC功能指令
1.2.1 功能指令的基本格式
在許多新的小型PLC和各種大型PLC中,功能指令采用了計算機通用的助記符形式。本節(jié)主要介紹FX系列PLC功能指令的格式。
FX系列PLC功能指令的格式采用梯形圖和指令助記符相結(jié)合的形式,如圖1-2-1所示。

圖1-2-1PLC功能指令
1)功能指令助記符
從圖1-2-1中給出的幾條功能指令可以看到,功能指令主要由功能指令助記符和操作元件兩大部分組成,如圖1-2-2所示。

圖1-2-2 功能指令的組成
FX系列PLC的功能指令按功能號編排,每條功能指令都有一個指令助記符。功能指令助記符在很大程度上反映該指令的功能特征。在圖1-2-1所示的梯形圖中,助記符為MOV的功能指令的功能號為FNC12,這是一條傳送指令。助記符為MEAN的功能指令的功能號為FNC45,這是一條取平均值指令。
2)功能指令的操作元件
有的功能指令只需要指定功能編號,如圖1-2-1(a)所示,這是一條警戒時鐘功能指令,程序中只要標出功能號FNC07即可。但大部分功能指令在指定功能編號的同時,還需指定操作元件。
操作元件分為以下幾種:
(1)源操作元件,用[S]表示。在圖1-2-1(c)中,功能指令MOV的源操作元件是K100,該功能指令將100這個常數(shù)傳送到數(shù)據(jù)寄存器D10中。若用變址功能時,源操作元件表示為[S·]形式。有時源操作元件不止一個,可用[S1·]、[S2·]、[S3·]表示。
(2)目標操作元件,用[D]表示。在圖1-2-1(c)中,功能指令MOV的目標操作元件是數(shù)據(jù)寄存器D10。若使用變址功能時,目標操作元件表示為[D·]形式。目標操作元件不止一個時,用[D1·]、[D2·]、[D3·]表示。
(3)其他操作元件n或m用來表示常數(shù)。常數(shù)前冠以K表示是十進制數(shù),常數(shù)前冠以H表示十六進制數(shù)。如圖1-2-1(c)中源操作元件是K100,表示是十進制數(shù)100。
其他操作元件也可以作為源操作元件或目標操作元件的補充說明,如圖1-2-1(b)所示,功能指令的作用是:將D0、D1和D2三個數(shù)據(jù)寄存器中的數(shù)據(jù)取平均值后,存放到由地址D4Z指定的數(shù)據(jù)寄存器中。D0是源操作元件的首地址,K3是源操作的補充說明,指定取值個數(shù),即取D0、D1和D2三個數(shù)據(jù)寄存器中的數(shù)值。
源操作元件和目標操作元件需要注釋的項目較多時,可采用n1、n2、n3的形式。
1.2.2 功能指令的規(guī)則
1)指令執(zhí)行形式
FX系列PLC的功能指令有連續(xù)執(zhí)行型和脈沖執(zhí)行型兩種形式。
圖1-2-1(a)所示的功能指令為連續(xù)執(zhí)行型。當常開觸點X0閉合時,該條傳送指令在每個掃描周期都被重復執(zhí)行。
圖1-2-3所示的功能指令為脈沖執(zhí)行型,助記符后面的符號(P)表示脈沖執(zhí)行,該條傳送指令僅在常開觸點X0由斷開轉(zhuǎn)為閉合時被執(zhí)行。

圖1-2-3 脈沖執(zhí)行型指令
對不需要每個掃描周期都執(zhí)行的指令,用脈沖執(zhí)行方式可縮短程序處理時間。
2)數(shù)據(jù)長度
功能指令可處理16位和32位數(shù)據(jù)。
(1)16位數(shù)據(jù)。FX系列PLC中數(shù)據(jù)寄存器D、計數(shù)器C0~C199的當前值寄存器存儲的都是16位數(shù)據(jù),如圖1-2-4所示,數(shù)據(jù)寄存器D0共16位,每位都只有“0”或“1”兩個數(shù)值。

圖1-2-4 16位數(shù)據(jù)
如圖1-2-1(a)和圖1-2-3所示兩個梯形圖中,功能指令傳送的數(shù)據(jù)都是16位數(shù)據(jù)。
(2)32位數(shù)據(jù)。在FX系列PLC中,相鄰兩個數(shù)據(jù)寄存器可以組合起來,存儲32位數(shù)據(jù),如圖1-2-5所示。

圖1-2-5 32位數(shù)據(jù)
在FX系列PLC中,C200~C234為32位雙向計數(shù)器,其當前值寄存器為32位寄存器,可作為32位數(shù)據(jù)寄存器使用。
功能指令中符號(D)表示處理的是32位數(shù)據(jù)。在如圖1-2-6所示的梯形圖中,常開觸點X0由斷開變?yōu)殚]合時,將D0和D1中的32位數(shù)據(jù)傳送到D10和D11中,其中,D1是高16位,D0是低16位。D1中內(nèi)容傳送到D11中,D0中內(nèi)容傳送到D10中。

圖1-2-6 32位數(shù)據(jù)傳送梯形圖
處理32位數(shù)據(jù)時,用元件號相鄰的兩元件組成元件對。元件對的首元件建議統(tǒng)一用偶數(shù)編號,以避免錯誤。
脈沖執(zhí)行符號(P)和32位數(shù)據(jù)符號(D)可以同時使用。
3)位元件
處理數(shù)據(jù)的元件為字元件,如數(shù)據(jù)寄存器D、定時器T和計數(shù)器中當前值寄存器等。
處理閉合和斷開狀態(tài)的元件為位元件,如輸入繼電器X、輸出繼電器Y、輔助繼電器M和狀態(tài)繼電器S等。但由位元件組合,也可以構(gòu)成字元件,進行數(shù)據(jù)處理。位元件的組合由Kn加首元件來表示。
每4個位元件為一組,組合成一個單元。如KnM0中,n為單元組數(shù),M0為由位元件組合構(gòu)成字元件的首元件編號。例如K4M0表示由M0~M15組成的16位字元件,最低位是M0,最高位是M15。K8M0表示由M0~M31組合成的32位字元件,最高位是M31,最低位是M0。
由位元件組合而成的字元件格式還有K3X0,K2Y10,K1S10等。
在進行16位數(shù)據(jù)操作時,參與操作的位元件由Kn中的n指定,n=1~3。如果n=1時,則參與操作的位元件只有4位;如果n=2時,則參與操作的位元件只有8位;如果n=3時,則參與操作的位元件只有12位。這時不足部分的高位均進行零處理。這意味著只能處理正數(shù)(符號位為“0”表示正數(shù))。同樣,在進行32位數(shù)據(jù)操作時,Kn中n=1~7,不足部分的高位均進行零處理。
被組合的位元件的首元件編號可以任選,但為避免混亂,建議采用0結(jié)尾的元件,如M0、M10、M20等。
4)變址寄存器
FX系列PLC內(nèi)部有兩個變址寄存器V與Z,都是16位數(shù)據(jù)寄存器,可像其他的數(shù)據(jù)寄存器一樣進行數(shù)據(jù)的讀寫。變址寄存器在傳送、比較等功能指令中,用來修改操作對象的元件號。例如,在圖1-2-7所示的梯形圖中,如果V=20,Z=25,則D5V與D25是指同一個數(shù)據(jù)寄存器(5+20=25),D10Z與D35是指同一個數(shù)據(jù)寄存器(10+20=35)。該功能指令執(zhí)行的操作是將D25中的數(shù)據(jù)傳送到D35中。

圖1-2-7 變址寄存器梯形圖
可以用變址寄存器進行變址操作的元件有輸入繼電器X、輸出繼電器Y、輔助繼電器M、狀態(tài)繼電器S、分支指令用指針P和由位元件組合而成的字元件首地址,例如KnM10Z,但應(yīng)注意,n不能用變址寄存器改變其值,即不允許出現(xiàn)K1ZM10。
對32位指令,V、Z是自動組對使用的,V作為高16位,Z作為低16位。32位指令用到變址寄存器中,只需指定Z,即Z就代表了V和Z的組合。
某些情況下使用變址寄存器V和Z,將使程序簡化,編程靈活。
1.2.3 FX系列PLC功能指令一覽表
FX系列PLC功能指令一覽表見表1-2-1,具體的指令功能介紹可從網(wǎng)絡(luò)上下載《FX編程手冊》參考。
表1-2-1 FX系列PLC功能指令一覽表

續(xù)表

續(xù)表

續(xù)表
