版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
三菱FX2N系列可編程控制器指令與應(yīng)用【PLC課件】第一頁,共65頁。北京郵電大學(xué)出版社《PLC原理與應(yīng)用》課件第二頁,共65頁。第2章三菱FX2N系列可編程控制器
第1章可編程控制器基本知識第3章三菱FX2N系列可編程控制器指令及應(yīng)用第4章三菱FX2N系列可編程控制器通訊技術(shù)PLC原理與應(yīng)用北京郵電大學(xué)出版社課件系列第5章OMRON系列可編程控制器第6章OMRON可編程控制器指令系統(tǒng)第7章可編程控制器的應(yīng)用第三頁,共65頁。第一節(jié)FX2N系列可編程控制器基本指令
FX系列PLC有基本邏輯指令27條、步進指令2條、功能指令100多條(不同系列有所不同),指令一覽表詳見附錄1。本節(jié)以FX2N為例,介紹其基本邏輯指令和步進指令及其應(yīng)用。一、FX系列PLC的基本邏輯指令
1、取指令與輸出指令(LD/LDI/OUT)Y,M—程序步1步S,特殊M—程序步2步T—程序步3步C—程序步3~5步第四頁,共65頁。指令說明LD(取指令):LD,LDI指令用于將觸點連接到母線上。其他用法與ANB指令組合,在分支起點處也可使用。OUT(輸出指令):是對輸出繼電器(Y)、輔助繼電器(M)、狀態(tài)元件(S)、定時器(T)、計數(shù)器(C)的線圈驅(qū)動指令,對輸入繼電器不使用。并列的OUT命令可多次連續(xù)使用(如圖3-2中,OUTM100接著是OUTTO)指令應(yīng)用
第五頁,共65頁。2、觸點串聯(lián)指令(AND/ANI)指令說明:用AND,ANI指令可串聯(lián)連接1個觸點,可多次使用,串聯(lián)觸點數(shù)量不受限制。用OUT指令后,通過觸點對其他線圈使用OUT指令,稱為縱接輸出(圖3-3中M101與OUTY004),如果順序不錯,可重復(fù)多次。指令應(yīng)用:第六頁,共65頁。3、觸點并聯(lián)指令(OR/ORI)指令說明:OR,ORI被用作一個觸點的并聯(lián)連接指令
。OR,ORI是指從該指令的步開始,與前述的LD、LDI指令同步進行并聯(lián)連接
。指令應(yīng)用:第七頁,共65頁。4、上升沿、下降沿檢測的串、并聯(lián)指令(LDP/LDF/ANDP/ANDF/ORP/ORF
)指令說明:LDP、ANDP、ORP指令是進行上升沿檢出的觸點指令,僅在指定位軟元件的上升沿時(OFF→ON變化時)接通一個掃描周期
。LDF、ANDF、ORF指令是進行下降沿檢出的觸點指令,僅在指定位軟元件的下降沿時(ON→OFF變化時)接通一個掃描周期。圖3-5中,X000~X002由ON→OFF或由OFF→ON變化時,MO或M1僅有一個掃描周期接通第八頁,共65頁。指令應(yīng)用:第九頁,共65頁。5、塊操作指令(ORB/ANB)ORB指令說明:幾個串聯(lián)電路塊并聯(lián)連接時,每個串聯(lián)電路塊開始時應(yīng)該用LD或LDI指令
。有多個電路塊并聯(lián)回路,如對每個電路塊使用ORB指令,則并聯(lián)的電路塊數(shù)量沒有限制ORB指令也可以連續(xù)使用,但這種程序?qū)懛ú煌扑]使用,LD或LDI指令的使用次數(shù)不得超過8次,也就是ORB只能連續(xù)使用8次以下第十頁,共65頁。ANB指令說明
并聯(lián)電路塊串聯(lián)連接時,并聯(lián)電路塊的開始均用LD或LDI指令。多個并聯(lián)回路塊連接按順序和前面的回路串聯(lián)時,ANB指令的使用次數(shù)沒有限制。也可連續(xù)使用ANB,但與ORB一樣,使用次數(shù)在8次以下。ORB指令應(yīng)用第十一頁,共65頁。ANB指令應(yīng)用第十二頁,共65頁。6、置位與復(fù)位指令(SET/RST
)指令說明對于同一目標(biāo)元件,SET、RST可多次使用,順序也可隨意,但最后執(zhí)行者有效
。圖3-8中,X000一旦接通后,即使它再斷開,Y000仍繼續(xù)動作。X001一旦接通時,即使它斷開,Y000仍保持不被驅(qū)動第十三頁,共65頁。指令應(yīng)用第十四頁,共65頁。7、微分指令(PLS/PLF)指令說明:使用PLS指令時,僅在驅(qū)動輸入為ON后的一個掃描周期內(nèi),軟元件Y、M動作
。使用PLF指令時,僅在驅(qū)動輸入為OFF后的一個掃描周期內(nèi),軟元件Y、M動作第十五頁,共65頁。指令應(yīng)用
第十六頁,共65頁。8、主控/主控復(fù)位指令(MC/MCR)指令說明:MC、MCR指令的目標(biāo)元件為Y和M,但不能用特殊輔助繼電器。MC占3個程序步,MCR占2個程序步;主控觸點在梯形圖中與一般觸點垂直(如圖3-10的M100)。主控觸點是與左母線相連的常開觸點,是控制一組電路的總開關(guān)。與主控觸點相連的觸點必須用LD或LDI指令。MC指令的輸入觸點斷開時,在MC和MCR之內(nèi)的積算定時器、計數(shù)器、用復(fù)位/置位指令驅(qū)動的元件保持其之前的狀態(tài)不變。非積算定時器和計數(shù)器,用OUT指令驅(qū)動的元件將復(fù)位,如圖3-10中當(dāng)X000斷開,Y000和Y001即變?yōu)镺FF。在一個MC指令區(qū)內(nèi)若再使用MC指令稱為嵌套。嵌套級數(shù)最多為8級,編號按N0→N1→N2→N3→N4→N5→N6→N7順序增大,每級的返回用對應(yīng)的MCR指令,從編號大的嵌套級開始復(fù)位。第十七頁,共65頁。指令應(yīng)用第十八頁,共65頁。9、堆棧指令(MPS/MRD/MPP)指令說明在可編程控制器中有11個記憶運算中間結(jié)果的存儲器,稱為棧。使用一次MPS指令,就將此時刻的運算結(jié)果送入棧的第一段存儲。再使用MPS指令,又將該時刻的運算結(jié)果送入棧的第一段存儲,而將先前送入存儲的數(shù)據(jù)依次移到棧的下一段。使用MPP指令,各數(shù)據(jù)按順序向上移動,將最上端的數(shù)據(jù)讀出,同時該數(shù)據(jù)從棧中消失。MRD是讀出最上端所存的最新數(shù)據(jù)的專用指令,棧內(nèi)的數(shù)據(jù)不發(fā)生移動。這些指令都是不帶軟元件編號的獨立指令。助記符名稱功能回路表示和可用軟元件程序步MPS(進棧)運算存儲1MRD(讀棧)存儲讀出1MPP(出棧)存儲讀出與復(fù)位1第十九頁,共65頁。指令應(yīng)用第二十頁,共65頁。10、邏輯反、空操作與結(jié)束指令(INV/NOP/END)指令說明OR,ORI被用作一個觸點的并聯(lián)連接指令
。OR,ORI是指從該指令的步開始,與前述的LD、LDI指令同步進行并聯(lián)連接
。第二十一頁,共65頁。指令說明INV(反指令)執(zhí)行該指令后將原來的運算結(jié)果取反。使用時應(yīng)注意INV不能象指令表的LD、LDI、LDP、LDF那樣與母線連接,也不能象指令表中的OR、ORI、ORP、ORF指令那樣單獨使用。如圖3-12,如果X000斷開,則Y000為ON,如果X000接通,則Y000斷開。NOP(空操作指令)不執(zhí)行操作,但占一個程序步。執(zhí)行NOP時并不做任何事,有時可用NOP指令短接某些觸點或用NOP指令將不要的指令覆蓋。當(dāng)PLC執(zhí)行了清除用戶存儲器操作后,用戶存儲器的內(nèi)容全部變?yōu)榭詹僮髦噶?。END(結(jié)束指令)表示程序結(jié)束。若程序的最后不寫END指令,則PLC不管實際用戶程序多長,都從用戶程序存儲器的第一步執(zhí)行到最后一步;若有END指令,當(dāng)掃描到END時,則結(jié)束執(zhí)行程序,這樣可以縮短掃描周期。在程序調(diào)試時,可在程序中插入若干END指令,將程序劃分若干段,在確定前面程序段無誤后,依次刪除END指令,直至調(diào)試結(jié)束。第二十二頁,共65頁。INV指令的應(yīng)用第二十三頁,共65頁。二、FX系列PLC的步進指令1、步進梯形圖指令(STL/RET)指令說明:步進梯型圖指令(STL)是利用內(nèi)部軟元件狀態(tài)(S),在順控程序上面進行工序步進形控制的指令。返回(RET)是表示狀態(tài)(S)流程的結(jié)束,用于返回主程序(母線)的指令。根據(jù)后面陳述的一定的規(guī)則,編寫的步進梯型圖回路也可作為SFC圖處理。從SFC圖也可反過來形成步進梯型圖回路。狀態(tài)號不可重復(fù)使用如果STL觸點接通,則與其相連的回路動作;如果STL觸點斷開,則與其相連的回路不動作。如圖所示,在不同的狀態(tài)之間,可編寫同樣的輸出(Y002),此時,S21或S22接通時,Y002輸出。(而在普通的繼電器梯形圖中,要用雙重線圈處理,動作復(fù)雜)。第二十四頁,共65頁。2、狀態(tài)轉(zhuǎn)移圖(SFC圖)
SFC圖(SequentialFunctionChart),又稱狀態(tài)轉(zhuǎn)移圖或功能圖,它將系統(tǒng)的工作過程分成若干階段——“狀態(tài)”,“狀態(tài)”之間滿足轉(zhuǎn)換條件時,可以轉(zhuǎn)換。
3、步進梯形圖指令的動作與SFC圖的表示第二十五頁,共65頁。如果以SFC圖表示上圖所示的步進梯形圖回路,則表示如下圖:
第二十六頁,共65頁。第二節(jié)FX2N系列可編程控制器應(yīng)用(功能)指令
PLC做為工業(yè)控制計算機,不僅具有用于邏輯處理的基本指令,還具有功能指令(FunctionalInstruction),也稱作應(yīng)用指令(AppliedInstruction),主要用于數(shù)據(jù)的傳送、運算、變換及程序控制等功能。功能指令相當(dāng)于功能完整的子程序,以往需要大段程序才能完成的任務(wù),現(xiàn)在一條指令就能實現(xiàn),如PID功能、表功能指令等。
FX2N系列PLC具有128種298條應(yīng)用指令,可分為程序控制類、數(shù)據(jù)處理類、特種應(yīng)用類及外部設(shè)備類。其中數(shù)據(jù)處理類指令最多,使用最頻繁,又可分為傳送比較、四則及邏輯運算、移位、編碼解碼等類別。程序控制類指令主要用于程序的結(jié)構(gòu)及流程控制,包含子程序、中斷、跳轉(zhuǎn)及循環(huán)等指令。以上兩大類指令我們將在后兩節(jié)專門介紹。外部設(shè)備類指令含一般的輸入輸出口設(shè)備及專用的外部設(shè)備兩大類。特種應(yīng)用指令是機器的一些特殊應(yīng)用,如高速計數(shù)器等指令。應(yīng)用指令的種類詳見附錄2。
功能指令處理的數(shù)據(jù)很多,數(shù)據(jù)在存儲單元中流轉(zhuǎn)的過程復(fù)雜,所以重要的是掌握指令的數(shù)據(jù)形式及數(shù)據(jù)的流傳過程。第二十七頁,共65頁。一、應(yīng)用指令的一般規(guī)則1、應(yīng)用指令的表達形式
1)功能指令表示格式與基本指令不同。功能指令用編號FNC00~FNC294表示,并給出對應(yīng)的助記符(大多用英文名稱或縮寫表示)。例如FNC45的助記符是MEAN(平均),若使用簡易編程器時鍵入FNC45,若采用智能編程器或在計算機上編程時也可鍵入助記符MEAN。2)有的功能指令沒有操作數(shù),而大多數(shù)功能指令有1至4個操作數(shù)。如圖3-15所示為一個計算平均值指令,它有三個操作數(shù),[S]表示源操作數(shù),[D]表示目標(biāo)操作數(shù),如果使用變址功能,則可表示為[S·]和[D·]。當(dāng)源或目標(biāo)不止一個時,用[S1·]、[S2·]、[D1·]、[D2·]表示。用[n·]和[m·]表示其它操作數(shù),它們常用來表示常數(shù)K和H,或作為源和目標(biāo)操作數(shù)的補充說明,當(dāng)這樣的操作數(shù)多時可用[n1·]、[n2·]和[m1·]、[m2·]等來表示。圖中源操作數(shù)為D0、D1、D2,目標(biāo)操作數(shù)為D4Z0(Z0為變址寄存器)K3表示有3個數(shù),當(dāng)X0接通時,執(zhí)行的操作為[(D0)+(D1)+(D2)]÷3→(D4Z0),如果Z0的內(nèi)容為20,則運算結(jié)果送入D24中。3)功能指令的指令段通常占1個程序步,16位操作數(shù)占2步,32位操作數(shù)占4步
第二十八頁,共65頁。2、數(shù)據(jù)位長和指令執(zhí)行形式1)連續(xù)執(zhí)行與脈沖執(zhí)行
功能指令有連續(xù)執(zhí)行和脈沖執(zhí)行兩種類型。如圖3-16所示,指令助記符MOV后面有“P”表示脈沖執(zhí)行,即該指令僅在X000接通(由OFF到ON)時執(zhí)行(將D10中的數(shù)據(jù)送到D12中)一次;如果沒有“P”則表示連續(xù)執(zhí)行,即該在X000接通(ON)的每一個掃描周期指令都要被執(zhí)行。2)數(shù)據(jù)長度功能指令可處理16位數(shù)據(jù)或32位數(shù)據(jù)。處理32位數(shù)據(jù)的指令是在助記符前加“D”標(biāo)志,無此標(biāo)志即為處理16位數(shù)據(jù)的指令。注意32位計數(shù)器(C200~C255)的一個軟元件為32位,不可作為處理16位數(shù)據(jù)指令的操作數(shù)使用。如圖3-17所示,若MOV指令前面帶“D”,則當(dāng)X001接通時,執(zhí)行D21D20→D23D22(32位)。在使用32位數(shù)據(jù)時建議使用首編號為偶數(shù)的操作數(shù),不容易出錯。第二十九頁,共65頁。3、位元件與字元件X、Y、M、S等只處理ON/OFF信息的軟元件稱為位元件;而T、C、D等處理數(shù)值的軟元件則稱為字元件,一個字元件由16位二進制數(shù)組成。位元件可以通過組合使用,4個位元件為一個單元,通用表示方法是由Kn加起始的軟元件號組成,n為單元數(shù)。例如K2M0表示M0~M7組成兩個位元件組(K2表示2個單元),它是一個8位數(shù)據(jù),M0為最低位。如果將16位數(shù)據(jù)傳送到不足16位的位元件組合(n<4)時,只傳送低位數(shù)據(jù),多出的高位數(shù)據(jù)不傳送,32位數(shù)據(jù)傳送也一樣。在作16位數(shù)操作時,參與操作的位元件不足16位時,高位的不足部分均作0處理,這意味著只能處理正數(shù)(符號位為0),在作32位數(shù)處理時也一樣。被組合的元件的首位元件號可以任意選擇,但為避免混亂,建議采用編號以0結(jié)尾的元件,如S10,X0,X20等。第三十頁,共65頁。4、數(shù)據(jù)格式在FX系列PLC內(nèi)部,數(shù)據(jù)是以二進制(BIN)補碼的形式存儲,所有的四則運算都使用二進制數(shù)。二進制補碼的最高位為符號位,正數(shù)的符號位為0,負數(shù)的符號位為1。FX系列PLC可實現(xiàn)二進制碼與BCD碼的相互轉(zhuǎn)換。為更精確地進行運算,可采用浮點數(shù)運算。在FX系列PLC中提供了二進制浮點運算和十進制浮點運算,設(shè)有將二進制浮點數(shù)與十進制浮點數(shù)相互轉(zhuǎn)換的指令。二進制浮點數(shù)采用編號連續(xù)的一對數(shù)據(jù)寄存器表示,例D11和D10組成的32位寄存器中,D10的16位加上D11的低7位共23位為浮點數(shù)的尾數(shù),而D11中除最高位的前8位是階位,最高位是尾數(shù)的符號位(0為正,1是負)。10進制的浮點數(shù)也用一對數(shù)據(jù)寄存器表示,編號小數(shù)據(jù)寄存器為尾數(shù)段,編號大的為指數(shù)段,例如使用數(shù)據(jù)寄存器(D1,D0)時,表示數(shù)為:10進制浮點數(shù)=〔尾數(shù)D0〕×10〔指數(shù)D1〕其中:D0,D1的最高位是正負符號位。5、變址寄存器(V/Z)FX2N系列PLC有V0~V7和Z0~Z7共16個變址寄存器,它們都是16位的寄存器。變址寄存器V/Z實際上是一種特殊用途的數(shù)據(jù)寄存器,其作用相當(dāng)于微機中的變址寄存器變,用于改變元件的編號(變址),例如V0=5,則執(zhí)行D20V0時,被執(zhí)行的編號為D25(D20+5)。變址寄存器可以象其它數(shù)據(jù)寄存器一樣進行讀寫,需要進行32位操作時,可將V、Z串聯(lián)使用(Z為低位,V為高位)。第三十一頁,共65頁。第三節(jié)FX2N系列可編程控制器數(shù)據(jù)處理指令一、傳送與比較類指令(FNC10~FNC19)
1、比較指令比較指令包括CMP(比較)和ZCP(區(qū)間比較)二條。1)比較指令CMP(D)CMP(P)指令的編號為FNC10,是將源操作數(shù)[S1.]和源操作數(shù)[S2.]的數(shù)據(jù)進行比較,比較結(jié)果用目標(biāo)元件[D.]的狀態(tài)來表示。如圖3-18所示,當(dāng)X000為接通時,把常數(shù)100與C20的當(dāng)前值進行比較,比較的結(jié)果送入M0~M2中。X1為OFF時不執(zhí)行,M0~M2的狀態(tài)也保持不變。第三十二頁,共65頁。2)區(qū)間比較指令ZCP(D)ZCP(P)指令的編號為FNC11,指令執(zhí)行時源操作數(shù)[S.]與[S1.]和[S2.]的內(nèi)容進行比較,并比較結(jié)果送到目標(biāo)操作數(shù)[D.]中。如圖3-19所示,當(dāng)X000為ON時,把C30當(dāng)前值與K100和K120相比較,將結(jié)果送M3、M4、M5中。X0為OFF,則ZCP不執(zhí)行,M3、M4、M5不變。使用比較指令CMP/ZCP時應(yīng)注意:(1)[S1.]、[S2.]可取任意數(shù)據(jù)格式,目標(biāo)操作數(shù)[D.]可取Y、M和S。(2)使用ZCP時,[S2.]的數(shù)值不能小于[S1.](3)所有的源數(shù)據(jù)都被看成二進制值處理;第三十三頁,共65頁。2、傳送類指令1)傳送指令MOV(D)MOV(P)指令的編號為FNC12,該指令的功能是將源數(shù)據(jù)傳送到指定的目標(biāo)。如圖3-20所示,當(dāng)X000為ON時,則將[S.]中的數(shù)據(jù)K100傳送到目標(biāo)操作元件[D.]即D10中。在指令執(zhí)行時,常數(shù)K100會自動轉(zhuǎn)換成二進制數(shù)。當(dāng)X0為OFF時,則指令不執(zhí)行,數(shù)據(jù)保持不變。使用應(yīng)用MOV指令時應(yīng)注意:(1)源操作數(shù)可取所有數(shù)據(jù)類型,標(biāo)操作數(shù)可以是KnY、KnM、KnS、T、C、D、V、Z。(2)2)移位傳送指令SMOVSMOV(P)指令的編號為FNC13。該指令的功能是將源數(shù)據(jù)(二進制)自動轉(zhuǎn)換成4位BCD碼,再進行移位傳送,傳送后的目標(biāo)操作數(shù)元件的BCD碼自動轉(zhuǎn)換成二進制數(shù)。如圖3-21所示,當(dāng)X000為ON時,將D1中右起第4位(m1=4)開始的2位(m2=2)BCD碼移到目標(biāo)操作數(shù)D2的右起第3位(n=3)和第2位。然后D2中的BCD碼會自動轉(zhuǎn)換為二進制數(shù),而D2中的第1位和第4位BCD碼不變。第三十四頁,共65頁。3)取反傳送指令CML(D)CML(P)指令的編號為FNC14。它是將源操作數(shù)元件的數(shù)據(jù)逐位取反并傳送到指定目標(biāo)。如圖3-22所示,當(dāng)X0為ON時,執(zhí)行CML,將D0的低4位取反向后傳送到Y(jié)3~Y0中。使用取反傳送指令CML時應(yīng)注意:(1)源操作數(shù)可取所有數(shù)據(jù)類型,目標(biāo)操作數(shù)可為KnY、KnM、KnS、T、C、D、V、Z.,若源數(shù)據(jù)為常數(shù)K,則該數(shù)據(jù)會自動轉(zhuǎn)換為二進制數(shù)。(2)16位運算占5個程序步,32位運算占9個程序步。4)塊傳送指令BMOVBMOV(P)指令的ALCE編號為FNC15,是將源操作數(shù)指定元件開始的n個數(shù)據(jù)組成數(shù)據(jù)塊傳送到指定的目標(biāo)。如圖3-23所示,傳送順序既可從高元件號開始,也可從低元件號開始,傳送順序自動決定。若用到需要指定位數(shù)的位元件,則源操作數(shù)和目標(biāo)操作數(shù)的指定位數(shù)應(yīng)相同。第三十五頁,共65頁。使用塊傳送指令時應(yīng)注意:(1)源操作數(shù)可取KnX、KnY、KnM、KnS、T、C、D和文件寄存器,目標(biāo)操作數(shù)可取.KnT、KnM、KnS、T、C和D;(2)只有16位操作,占7個程序步;(3)如果元件號超出允許范圍,數(shù)據(jù)則僅傳送到允許范圍的元件。5)多點傳送指令FMOV(D)FMOV(P)指令的編號為FNC16。它的功能是將源操作數(shù)中的數(shù)據(jù)傳送到指定目標(biāo)開始的n個元件中,傳送后n個元件中的數(shù)據(jù)完全相同。如圖3-24所示,當(dāng)X000為ON時,把K0傳送到D0~D9中。第三十六頁,共65頁。3、數(shù)據(jù)交換類指令1)數(shù)據(jù)交換指令(D)XCH(P)的編號為FNC17,它是將數(shù)據(jù)在指定的目標(biāo)元件之間交換。如圖3-25所示,當(dāng)X000為ON時,將D1和D19中的數(shù)據(jù)相互交換。使用數(shù)據(jù)交換指令應(yīng)該注意:(1)操作數(shù)的元件可取KnY、KnM、KnS、T、C、D、V和Z。(2)交換指令一般采用脈沖執(zhí)行方式,否則在每一次掃描周期都要交換一次。(3)16位運算時占5個程序步,32位運算時占9個程序步。2)數(shù)據(jù)變換指令(1)BCD變換指令BCD(D)BCD(P)指令的ALCE編號為FNC18。它是將源元件中的二進制數(shù)轉(zhuǎn)換成BCD碼送到目標(biāo)元件中,如圖3-26所示。如果指令進行16位操作時,執(zhí)行結(jié)果超出0~9999范圍將會出錯;當(dāng)指令進行32位操作時,執(zhí)行結(jié)果超過0~99999999范圍也將出錯。PLC中內(nèi)部的運算為二進制運算,可用BCD指令將二進制數(shù)變換為BCD碼輸出到七段顯示器。第三十七頁,共65頁。(2)BIN變換指令BIN(D)BIN(P)指令的編號為FNC19。它是將源元件中的BCD數(shù)據(jù)轉(zhuǎn)換成二進制數(shù)據(jù)送到目標(biāo)元件中,如圖3-26所示。常數(shù)K不能作為本指令的操作元件,因為在任何處理之前它們都會被轉(zhuǎn)換成二進制數(shù)。使用BCD/BIN指令時應(yīng)注意:①源操作數(shù)可取KnK、KnY、KnM、KnS、T、C、D、V和Z,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z;②16位運算占5個程序步,32位運算占9個程序步。第三十八頁,共65頁。二、算術(shù)和邏輯運算類指令(FNC20~FNC29)
FNC20~FNC29具有數(shù)值數(shù)據(jù)的運算指令,同時因為FX2N編程器能運用浮點進行運算,所以能得到高精度結(jié)果1、算術(shù)運算指令1)加法指令A(yù)DD(D)ADD(P)指令的編號為FNC20。它是將指定的源元件中的二進制數(shù)相加結(jié)果送到指定的目標(biāo)元件中去。如圖3-27所示,當(dāng)X0為ON時,執(zhí)行(D10)+(D12)→(D14)。2)減法指令SUB(D)SUB(P)指令的編號為FNC21。它是將[S1.]指定元件中的內(nèi)容以二進制形式減去[S2.]指定元件的內(nèi)容,其結(jié)果存入由[D.]指定的元件中。如圖3-43所示,當(dāng)X0為ON時,執(zhí)行(D10)—(D12)→(D14)。第三十九頁,共65頁。使用加法和減法指令時應(yīng)該注意:(1)操作數(shù)可取所有數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z.。(2)16位運算占7個程序步,32位運算占13個程序步。(3)數(shù)據(jù)為有符號二進制數(shù),最高位為符號位(0為正,1為負)。(4)加法指令有三個標(biāo)志:零標(biāo)志(M8020)、借位標(biāo)志(M8021)和進位標(biāo)志(M8022)。當(dāng)運算結(jié)果超過32767(16位運算)或2147483647(32位運算)則進位標(biāo)志置1;當(dāng)運算結(jié)果小于-32767(16位運算)或-2147483647(32位運算),借位標(biāo)志就會置1。3)乘法指令MUL(D)MUL(P)指令的編號為FNC22。數(shù)據(jù)均為有符號數(shù)。如圖3-44所示,當(dāng)X0為ON時,將二進制16位數(shù)[S1.]、[S2.]相乘,結(jié)果送[D.]中。D為32位,即(D0)×(D2)→(D5,D4)(16位乘法);當(dāng)X1為ON時,(D1,D0)×(D3,D2)→(D7,D6,D5,D4)(32位乘法)。第四十頁,共65頁。4)除法指令DIV(D)DIV(P)指令的編號為為FNC23。其功能是將[S1.]指定為被除數(shù),[S2.]指定為除數(shù),將除得的結(jié)果送到[D.]指定的目標(biāo)元件中,余數(shù)送到[D.]的下一個元件中。如圖3-45所示,當(dāng)X0為ON時(D0)÷(D2)→(D4)商,(D5)余數(shù)(16位除法);當(dāng)X1為ON時(D1,D0)÷(D3,D2)→(D5,D4)商,(D7,D6)余數(shù)(32位除法)。第四十一頁,共65頁。使用乘法和除法指令時應(yīng)注意:(1)源操作數(shù)可取所有數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z.,要注意Z只有16位乘法時能用,32位不可用。(2)16位運算占7程序步,32位運算為13程序步。(3)32位乘法運算中,如用位元件作目標(biāo),則只能得到乘積的低32位,高32位將丟失,這種情況下應(yīng)先將數(shù)據(jù)移入字元件再運算;除法運算中將位元件指定為[D.],則無法得到余數(shù),除數(shù)為0時發(fā)生運算錯誤。 (4)積、商和余數(shù)的最高位為符號位。5)加1和減1指令加1指令(D)INC(P)的編號為FNC24;減1指令(D)DEC(P)的編號為FNC25。INC和DEC指令分別是當(dāng)條件滿足則將指定元件的內(nèi)容加1或減1。如圖3-46所示,當(dāng)X0為ON時,(D10)+1→(D10);當(dāng)X1為ON時,(D11)+1→(D11)。若指令是連續(xù)指令,則每個掃描周期均作一次加1或減1運算。第四十二頁,共65頁。使用加1和減1指令時應(yīng)注意:1)指令的操作數(shù)可為KnY、KnM、KnS、T、C、D、V、Z;。2)當(dāng)進行16位操作時為3個程序步,32位操作時為5個程序步。3)在INC運算時,如數(shù)據(jù)為16位,則由+32767再加1變?yōu)?32768,但標(biāo)志不置位;同樣,32位運算由+2147483647再加1就變?yōu)?2147483648時,標(biāo)志也不置位。4)在DEC運算時,16位運算-32768減1變?yōu)?32767,且標(biāo)志不置位;32位運算由-2147483648減1變?yōu)?2147483647,標(biāo)志也不置位。2.邏輯輯運算類指令1)邏輯與指令WAND(D)WAND(P)指令的編號為FNC26。是將兩個源操作數(shù)按位進行與操作,結(jié)果送指定元件。2)邏輯或指令WOR(D)WOR(P)指令的編號為FNC27。它對二個源操作數(shù)按位進行或運算,結(jié)果送指定元件。3)邏輯異或指令WXOR(D)WXOR(P)指令的編號為FNC28。它是對源操作數(shù)位進行邏輯異或運算。4)求補指令NEG(D)NEG(P)指令的編號為FNC29。其功能是將[D.]指定的元件內(nèi)容的各位先取反再加1,將其結(jié)果再存入原來的元件中。使用邏輯運算指令時應(yīng)該注意:1)WAND、WOR和WXOR指令的[S1.]和[S2.]均可取所有的數(shù)據(jù)類型,而目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z。2)NEG指令只有目標(biāo)操作數(shù),其可取KnY、KnM、KnS、T、C、D、V和Z。3)WAND、WOR、WXOR指令16位運算占7個程序步,32位為13個程序步,而NEG分別占3步和5步。第四十三頁,共65頁。三、循環(huán)與移位類指令(FNC30~FNC39)
1、循環(huán)移位指令右、左循環(huán)移位指令(D)ROR(P)和(D)ROL(P)編號分別為FNC30和FNC31。執(zhí)行這兩條指令時,各位數(shù)據(jù)向右(或向左)循環(huán)移動n位,最后一次移出來的那一位同時存入進位標(biāo)志M8022中,如圖所示。第四十四頁,共65頁。2、帶進位的循環(huán)移位指令帶進位的循環(huán)右、左移位指令(D)RCR(P)和(D)RCL(P)編號分別為FNC32和FNC33。執(zhí)行這兩條指令時,各位數(shù)據(jù)連同進位(M8022)向右(或向左)循環(huán)移動n位,如圖3-33所示。第四十五頁,共65頁。3、位右移和位左移指令位右、左移指令SFTR(P)和SFTL(P)的編號分別為FNC34和FNC35。它們使位元件中的狀態(tài)成組地向右(或向左)移動。n1指定位元件的長度,n2指定移位位數(shù),n1和n2的關(guān)系及范圍因機型不同而有差異,一般為n2≤n1≤1024。位右移指令使用如圖3-34所示。第四十六頁,共65頁。4、字右移和字左移指令字右移和字左移指令WSFR(P)和WSFL(P)指令編號分別為FNC36和FNC37。字右移和字左移指令以字為單位,其工作的過程與位移位相似,是將n1個字右移或左移n2個字。使用字右移和字左移指令時應(yīng)注意:1)源操作數(shù)可取KnX、KnY、KnM、KnS、T、C和D,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C和D。2)字移位指令只有16位操作,占用9個程序步.3)n1和n2的關(guān)系為n2≤n1≤512。第四十七頁,共65頁。5、先入先出寫入和讀出指令先入先出寫入指令和先入先出寫入讀出指令SFWR(P)和SFRD(P)的編號分別為FNC38和FNC39。先入先出寫入指令SFWR的使用如圖3-35所示,當(dāng)X0由OFF變?yōu)镺N時,SFWR執(zhí)行,D0中的數(shù)據(jù)寫入D2,而D1變成指針,其值為1(D1必須先清0);當(dāng)X0再次由OFF變?yōu)镺N時,D0中的數(shù)據(jù)寫入D3,D1變?yōu)?,依次類推,D0中的數(shù)據(jù)依次寫入數(shù)據(jù)寄存器。D0中的數(shù)據(jù)從右邊的D2順序存入,源數(shù)據(jù)寫入的次數(shù)放在D1中,當(dāng)D1中的數(shù)達到n-1后不再執(zhí)行上述操作,同時進位標(biāo)志M8022置1。第四十八頁,共65頁。先入先出讀出指令SFRD的使用如圖3-36所示,當(dāng)X0由OFF變?yōu)镺N時,D2中的數(shù)據(jù)送到D20,同時指針D1的值減1,D3~D9的數(shù)據(jù)向右移一個字,數(shù)據(jù)總是從D2讀出,指針D1為0時,不再執(zhí)行上述操作且M8020置1。使用SFWR和SFRD指令時應(yīng)注意:1)目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C和D,源操數(shù)可取所有的數(shù)據(jù)類型。2)指令只有16位運算,占7個程序步。第四十九頁,共65頁。4、數(shù)據(jù)處理指令(FNC40~FNC49)
1、區(qū)間復(fù)位指令區(qū)間復(fù)位指令ZRST(P)的編號為FNC40。它是將指定范圍內(nèi)的同類元件成批復(fù)位。如圖3-37所示,當(dāng)M8002由OFF→ON時,位元件M500~M599成批復(fù)位,字元件C235~C255也成批復(fù)位。使用區(qū)間復(fù)位指令時應(yīng)注意:1)[D1.]和[D2.]可取Y、M、S、T、C、D,且應(yīng)為同類元件,同時[D1]的元件號應(yīng)小于[D2]指定的元件號,若[D1]的元件號大于[D2]元件號,則只有[D1]指定元件被復(fù)位。2)ZRST指令只有16位處理,占5個程序步,但[D1.][D2.]也可指定32位計數(shù)器。第五十頁,共65頁。2、譯碼和編碼指令1)譯碼指令DECODECO(P)指令的編號為FNC41。如圖3-38所示,n=3則表示[S.]源操作數(shù)為3位,即為X0、X1、X2。其狀態(tài)為二進制數(shù),當(dāng)值為011時相當(dāng)于十進制3,則由目標(biāo)操作數(shù)M7~M0組成的8位二進制數(shù)的第三位M3被置1,其余各位為0。如果為000則M0被置1。用譯碼指令可通過[D.]中的數(shù)值來控制元件的ON/OFF。使用譯碼指令時應(yīng)注意:(1)位源操作數(shù)可取X、T、M和S,位目標(biāo)操作數(shù)可取Y、M和S,字源操作數(shù)可取K,H,T,C,D,V和Z,字目標(biāo)操作數(shù)可取T,C和D。(2)若[D.]指定的目標(biāo)元件是字元件T、C、D,則n≦4;若是位元件Y、M、S,則n=1~8。譯碼指令為16位指令,占7個程序步。第五十一頁,共65頁。2)編碼指令ENCOENCO(P)指令的編號為FNC42。如圖3-39所示,當(dāng)X1有效時執(zhí)行編碼指令,將[S.]中最高位的1(M3)所在位數(shù)(4)放入目標(biāo)元件D10中,即把011放入D10的低3位。使用編碼指令時應(yīng)注意:1)源操作數(shù)是字元件時,可以是T、C、D、V和Z;源操作數(shù)是位元件,可以是X、Y、M和S。目標(biāo)元件可取T、C、D、V和Z。編碼指令為16位,占7個程序步。2)操作數(shù)為字元件時應(yīng)使用n≦4,為位元件時則n=1~8,n=0時不作處理。3)若指定源操作數(shù)中有多個1,則只有最高位的1有效。第五十二頁,共65頁。第四節(jié)FX2N系列可編程控制器程序控制指令一、條件跳轉(zhuǎn)指令
1、條件跳轉(zhuǎn)指令的含義條件跳轉(zhuǎn)指令CJ(P)的編號為FNC00,操作數(shù)為指針標(biāo)號P0~P127,其中P63為END所在步序,不需標(biāo)記。指針標(biāo)號允許用變址寄存器修改。CJ和CJP都占3個程序步,指針標(biāo)號占1步。跳轉(zhuǎn)指令執(zhí)行的意義為:在滿足跳轉(zhuǎn)條件之后的各個掃描周期中,PLC將不再掃描執(zhí)行跳轉(zhuǎn)指令與跳轉(zhuǎn)指針PX間的程序,即跳到以指針PX為入口的程序段中執(zhí)行。直到跳轉(zhuǎn)條件不再滿足,跳轉(zhuǎn)將停止進行。如圖,跳轉(zhuǎn)指針P8、P9分別對應(yīng)CJP8及CJP9兩條跳轉(zhuǎn)指令。當(dāng)X000置1時,指令CJP8執(zhí)行條件滿足,程序?qū)腃JP8指令處跳到標(biāo)號P8處,僅執(zhí)行梯形圖中最后三行程序。第五十三頁,共65頁。2、使用注意事項使用跳轉(zhuǎn)指令時應(yīng)注意:1)CJP指令表示為脈沖執(zhí)行方式;2)在一個程序中一個標(biāo)號只能出現(xiàn)一次,否則將出錯;3)在跳轉(zhuǎn)執(zhí)行期間,即使被跳過程序的驅(qū)動條件改變,但其線圈(或結(jié)果)仍保持跳轉(zhuǎn)前的狀態(tài),因為跳轉(zhuǎn)期間根本沒有執(zhí)行這段程序。4)如果在跳轉(zhuǎn)開始時定時器和計數(shù)器已在工作,則在跳轉(zhuǎn)執(zhí)行期間它們將停止工作,到跳轉(zhuǎn)條件不滿足后又繼續(xù)工作。但對于正在工作的定時器T192~T199和高速計數(shù)器C235~C255不管有無跳轉(zhuǎn)仍連續(xù)工作。5)若積算定時器和計數(shù)器的復(fù)位(RST)指令在跳轉(zhuǎn)區(qū)外,即使它們的線圈被跳轉(zhuǎn),但對它們的復(fù)位仍然有效。第五十四頁,共65頁。二、子程序調(diào)用與子程序返回指令
1、子程序調(diào)用與返回指令的表示方法子程序調(diào)用指令CALL編號為FNC01。操作數(shù)為P0~P127,此指令占用3個程序步。子程序返回指令SRET的編號為FNC02。無操作數(shù),占用1個程序步。如圖所示,如果X000接通,則轉(zhuǎn)到標(biāo)號P10處去執(zhí)行子程序。當(dāng)執(zhí)行SRET指令時,返回到CALL指令的下一步執(zhí)行。子程序是為了一些特定的控制要求編制的相對獨立的程序。為了區(qū)別于主程序,規(guī)定在程序編排時,將主程序排在前邊,子程序排在后邊,并以主程序結(jié)束指令FEND(FNC06)將這兩部分分隔開。當(dāng)主程序帶有多個子程序時,子程序可依次列在主程序結(jié)束指令后邊,并以不同標(biāo)號相區(qū)別。2、使用注意事項使用子程序調(diào)用與返回指令時應(yīng)注意:1)轉(zhuǎn)移標(biāo)號不能重復(fù),也不可與跳轉(zhuǎn)指令的標(biāo)號重復(fù);2)子程序可以嵌套調(diào)用,最多可5級嵌套。第五十五頁,共65頁。三、與中斷有關(guān)的指令1、中斷指令說明及梯形圖表示與中斷有關(guān)的三條功能指令是:中斷返回指令I(lǐng)RET,編號為FNCO3;中斷允許指令EI,編號為FNCO4;中斷禁止DI,編號為FNC05。它們均無操作數(shù),占用1個程序步。PLC通常處于禁止中斷狀態(tài),由EI和DI指令組成允許中斷范圍。在執(zhí)行到該區(qū)間,如有中斷源產(chǎn)生中斷,CPU將暫停主程序執(zhí)行轉(zhuǎn)而執(zhí)行中斷服務(wù)程序。當(dāng)遇到IRET時返回斷點繼續(xù)執(zhí)行主程序。如圖所示,允許中斷范圍中若中斷源X000有一個下降沿,則轉(zhuǎn)入1000(為標(biāo)號的中斷服務(wù)程序,但X000可否引起中斷還受M8050控制,當(dāng)X20有效時則M8053控制X003無法中斷。第五十六頁,共65頁。2、使用注意事項使用中斷相關(guān)指令時應(yīng)注意:1)中斷的優(yōu)先級排隊如下,如果多個中斷依次發(fā)生,則以發(fā)生先后為序,即發(fā)生越早級別越高,如果多個中斷源同時發(fā)出信號,則中斷指針號越小優(yōu)先級越高;2)當(dāng)M8050~M8058為ON時,禁止執(zhí)行相應(yīng)I0□□~I8□□的中斷,M8059為ON時則禁止所有計數(shù)器中斷;3)無需中斷禁止時,可只用EI指令,不必用DI指令;4)執(zhí)行一個中斷服務(wù)程序時,如果在中斷服務(wù)程序中有EI和DI,可實現(xiàn)二級中斷嵌套,否則禁止其它中斷。第五十七頁,共65頁。四、循環(huán)指令1、循環(huán)指令說明循環(huán)指令共有兩條:循環(huán)區(qū)起點指令FOR,編號為FNC08,占3個程序步;循環(huán)結(jié)束指令NEXT,編號為FNC09,占用1個程序步,無操作數(shù)。在程序運行時,位于FOR~NEXT間的程序反復(fù)執(zhí)行n次(由操作數(shù)決定)后再繼續(xù)執(zhí)行后續(xù)程序。循環(huán)的次數(shù)n=1~32767。如果N=-32767~0之間,當(dāng)作n=1處理。圖示為一個二重嵌套循環(huán),外層執(zhí)行5次。如果D0Z中的數(shù)為6,則外層A每執(zhí)行一次則內(nèi)層B將執(zhí)行6次。2、使用注意事項使用循環(huán)指令時應(yīng)注意:1)FOR和NEXT必須成對使用;2)FX2N系列PLC可循環(huán)嵌套5層;3)在循環(huán)中可利用CJ指令在循環(huán)沒結(jié)束時跳出循環(huán)體;4)FOR應(yīng)放在NEXT之前,NEXT應(yīng)在FEND和END之前,否則均會出錯。第五十八頁,共65頁。第五節(jié)FX2N系列可編程控制器程序設(shè)計方法一、程序設(shè)計基礎(chǔ)
編程方式1、列表編程列表程序是指將順
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 承德護理職業(yè)學(xué)院《曲式與作品分析基礎(chǔ)Ⅰ》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版全職員工合同-家具銷售公司
- 二零二五年定制化計時工服務(wù)協(xié)議書2篇
- 2024年版企業(yè)安全評估咨詢合同樣本版B版
- 2024淘寶年度合作伙伴線上線下融合合同模板3篇
- 2024泰州環(huán)保企業(yè)員工勞動合同書模板3篇
- 2024柜式空調(diào)機直接訂購采購合同
- 2025年度大型綜藝節(jié)目現(xiàn)場管理人員勞動合同2篇
- 2024年規(guī)范化二手住宅買賣合同書版B版
- 2024年規(guī)模化畜禽養(yǎng)殖場租賃經(jīng)營合同3篇
- 機械結(jié)構(gòu)工程師年終總結(jié)
- 成都大學(xué)《Python數(shù)據(jù)分析》2023-2024學(xué)年期末試卷
- 2024年醫(yī)院消毒隔離制度范文(六篇)
- 2024年國家開放大學(xué)(電大)-行政管理(本科)考試近5年真題集錦(頻考類試題)帶答案
- 朗讀藝術(shù)入門學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024-2025學(xué)年三年級上冊數(shù)學(xué)蘇教版學(xué)考名師卷期末數(shù)學(xué)試卷
- 2024年秋一年級上冊4日月山川 公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 護士先進個人事跡材料(12篇)
- 2024-2030年中國壓電薄膜傳感器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- TSG+23-2021氣瓶安全技術(shù)規(guī)程
- 法人授權(quán)委托書查詢征信
評論
0/150
提交評論