第7章 應用指令課件_第1頁
第7章 應用指令課件_第2頁
第7章 應用指令課件_第3頁
第7章 應用指令課件_第4頁
第7章 應用指令課件_第5頁
已閱讀5頁,還剩172頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第7章FX2N系列PLC的應用指令5.8方便指令5.5循環(huán)與移位指令5.4四則運算與邏輯運算指令5.3比較與傳送指令5.2程序流程指令5.1應用指令概述5.6數據處理指令5.7高速處理指令5.9實訓項目5.10習題LDX0MEAND0D10K3

PLC指令:基本邏輯指令步進指令應用指令(功能指令)1、用助記符表示指令形式:

有的沒有操作數,有的有1-4個操作數

S——表示源操作數,不改變

D——表示目標操作數,改變

n——傳送的數據個數7.1應用指令的表示指令的含義是求平均值將3個數求平均值給D10,[(D0)+(D1)+(D2)]÷3→(D10)應用指令助記符占1個程序步,16位操作數占2步,32位操作數占4步。2、應用指令中的D和P1)16位或32位指令

數據寄存器D為16位,存放16位二進制數。在指令前加“D”就變成32位指令。16位指令32位指令16位指令是將D10中的數給D12,完成16位數操作32位指令,用“D”標識,將D21D20中的數給D23D22連續(xù)的兩個16位數,D21為高,D20為低2)脈沖執(zhí)行指令應用指令有連續(xù)執(zhí)行和脈沖執(zhí)行型兩種執(zhí)行形式。指令助記符后的“P”代表脈沖執(zhí)行型指令表示只在X0由0→1的上升沿跳變時執(zhí)行一次。沒有P,則在X0為ON的每一個掃描周期都要執(zhí)行,稱為連續(xù)執(zhí)行。INC(加1)、DEC(減1)、XCH(數據交換)等指令一般應使用脈沖執(zhí)行方式用上升沿檢測觸點指令,可代替“P”,LDP7.1應用指令的表示3、數據格式數據可以用位元件X、Y、M,也可用字元件D。1)位元件及組合

X、Y、M、S等為位元件,只有兩個狀態(tài)的編程元件;而處理數值的軟元件則稱為字元件,如T、C、D等,一個字元件由16位二進制數組成。位元件組合使用可處理數值,位元件每4位一組組合成一個單元,規(guī)定4個連續(xù)的位元件組成一組,可以多組。K2X0——表示以X0為首地址,連續(xù)兩組共8個位元件X0~X7。16位數據時位元件組K1-K4,小于K4時,高位為0;32位數據位元件組K1-K8,小于K8時,高位為0.。MOVD10K2M016位給8位,長→短,高位不傳MOVK2M0D128位給16位,短→長,高位為0當一個16位的數據傳送到K1M0、K2M0、K3M0時,只能傳送低位數據,較高位數據不傳送;32位數據傳送時也一樣。在作16位數操作時,參與操作的位元件不足16位時,高位(不足部分)均作0處理,這就意味著只能處理正數(符號位為0),32位數據操作也一樣。被組合的位元件的首元件號可以是任意的,但為避免混亂,建議采用編號以0為結尾的元件,如X0、Y10、M20等。2)字元件一個字16位,字元件用來處理數據。定時器,計數器的當前值,數據寄存器D都是字元件。位元件也可以組合成字元件來進行數據處理3)變址寄存器

FX2N有16個16位的變址寄存器,分別是V0~V7和Z0~Z7。在循環(huán)程序中常用變址寄存器改變元件號。MOVK10V0V0=10MOVK20Z1Z1=20ADDD5V0D15Z1D4Z1加法V0=10,Z1=20,加法:D5V0+D15Z1→D40Z1D15+D35→D60進行32位運算時,常用V和Z自動組對使用,分別組成(V0、Z0)、(V1、Z1)……、(V7、Z7)。

V為高16位,Z為低16位,這時變址指令只需指定Z,Z就能代表V和Z的組合。

FX1S、FX1NPLC只有2個變址寄存器V、Z,FX2N有16個

D6V,V=12,則:尋址=基地址+變址=6+12=187.2程序流程指令共有10條,編號為FNC00~FNC09。

7.2程序流程指令1、條件跳轉指令(CJ)條件跳轉指令CJ(ConditionalJump)的功能編號為FNC00,用于跳過順序程序中的某一部分,以控制程序的流程。X20=1,跳到P9X20=0,不跳,順序執(zhí)行P9為指針(POINT),用于分支和跳轉,FX2N有P0~P127。指針就是地址,在微機中稱為標號,寫在梯形圖母線的左邊。使用跳轉指令,可以縮短掃描周期一個指針只能出現一次,否則出錯。跳轉執(zhí)行期間,即使被跳過程序的驅動條件改變,但其線圈(或結果)仍保持跳轉前的狀態(tài),因為跳轉期間沒有執(zhí)行這段程序。如果跳轉開始時定時器和計數器已在工作,則跳轉執(zhí)行期間它們將停止工作,即T和C的當前值保持不變,直到跳轉條件不滿足后又繼續(xù)工作(T和C接著以前的數值繼續(xù)計時和計數)。但定時器T192~T199和高速計數器C235~C255在跳轉后將繼續(xù)動作,接點也動作。如用M8000常開觸點驅動CJ指令,就是無條件跳轉

LD8000CJP2在跳轉內外,可以有相同的線圈輸出,不會執(zhí)行兩次的,不屬于雙線圈輸出。2、子程序調用與子程序返回指令

CALL(SubRoutineCall),操作數為P0~P62。SRET(SubRoutineReturn),無操作數。子程序是為一些特定的控制目的而編制的相對獨立的程序。為了區(qū)別于主程序,規(guī)定在程序編排時,將主程序排在前面,子程序排在后面,以主程序結束指令FEND(FNC06)將它們隔開。

X0的上升沿,程序跳到P0處執(zhí)行,執(zhí)行到SRET返回。子程序調用指令CALL的功能是當執(zhí)行條件滿足時,該指令使程序跳到標號處,執(zhí)行該標號對應的子程序。子程序返回指令SRET的功能是返回到調用該子程序的CALL指令處的下一條指令。子程序調用和子程序返回指令的簡單使用示例如圖5-5所示。使用子程序調用和返回指令的注意事項:1)同一標號在左母線前只能出現一次,但不同的CALL指令可調用同標號的子程序。2)子程序中可再調用子程序,形成子程序嵌套,最多可有5級嵌套。3)在調用子程序和中斷子程序時,可采用T192~T199和T246~249作為定時器。 【例5-1】用兩個開關X1、X0控制一個信號燈Y0,當X1X0=00時燈滅;當X1X0=01時,燈以1s脈沖閃爍;當X1X0=10時,燈以2s脈沖閃爍;當X1X0=11時,燈常亮。用子程序調用來實現,則如圖5-6所示。圖5-6子程序調用實例5.2.3中斷指令中斷返回指令IRET(InterruptReturn)的功能編號FNC03,無操作數,占1個程序步。中斷允許指令EI(EnableInterrupt)的功能編號FNC04,無操作數,占1個程序步。中斷禁止指令DI(DisableInterrupt)的功能編號FNC05,無操作數,占1個程序步。

1.中斷指針中斷指針(I□□□~I8□□)是用來指示某一中斷程序的入口位置的。執(zhí)行中斷后遇到IRET指令,則返回主程序。中斷指針有以下三種類型:1)輸入中斷指針(I00□~I50□):共6點,用來指示由特定輸入端的輸入信號而產生中斷的中斷服務程序的入口位置。這類中斷不受PLC掃描周期的影響,可以及時處理外界信息。輸入中斷指針編號格式如下:例如:I201是當輸入X2從OFF→ON變化時,執(zhí)行以I201為標號的中斷程序,并根據IRET指令返回。2)定時器中斷指針(I6□□~I8□□):共3點,用來指示周期定時中斷的中斷服務程序的入口位置。這類中斷的作用是PLC以指定的周期定時執(zhí)行中斷服務程序,定時循環(huán)處理某些任務,處理的時間也不受PLC掃描周期的影響。定時器中斷指針格式如下:3)計數器中斷指針(I010~I060):共6點,用于在PLC內置的高速計數器中。當高速計數器的當前值達到規(guī)定值,執(zhí)行中斷子程序。常用于利用高速計數器優(yōu)先處理計數結果的場合。2.中斷指令 中斷是指在執(zhí)行主程序的過程中,中斷主程序轉而去執(zhí)行中斷服務子程序。PLC通常處于禁止中斷狀態(tài),由EI和DI指令組成允許中斷范圍。在執(zhí)行到該區(qū)間時,如果有中斷源產生中斷,CPU將暫停主程序而轉去執(zhí)行中斷服務程序。當遇到IRET時返回斷點繼續(xù)執(zhí)行主程序。 中斷指令的簡單使用示例如圖5-7所示。在圖5-7中,如在允許中斷范圍內,如果外部中斷源X1有一個下降沿,則轉入I100為標號的中斷服務程序。但X0能否引起中斷還受M8050的控制,當X10為ON時,M8050=1,禁止I100中斷。圖5-7中斷指令的使用表5-1中斷類型及中斷禁止特殊輔助繼電器使用中斷指令的注意事項:1)如果有多個中斷信號依次發(fā)出,則優(yōu)先級按發(fā)生的先后順序,即發(fā)生越早的優(yōu)先級越高。若同時發(fā)生多個中斷信號,則中斷指針號小的優(yōu)先級越高。2)無需中斷禁止時,可只用EI指令,不必用DI指令。3)通過特殊輔助繼電器M8050~M8058可實現中斷的選擇,它們分別與外部中斷和定時器中斷一一對應。當M8050~M8058為ON時,禁止執(zhí)行相應I0□□~I8□□的中斷,M8059為ON時,則禁止所有計數器中斷。4)FX2N系列PLC可實現不多于兩級的中斷嵌套,即在中斷子程序中再使用一對EI和DI指令?!纠?-2】三人智力搶答(a)輸入中斷(搶答)梯形圖

(b)搶答器接線圖圖5-8輸入中斷(搶答電路)實例

5.2.4主程序結束指令主程序結束指令FEND(FirstEnd)的功能編號為FNC06,無操作數,占用1個程序步。FEND表示主程序結束,當執(zhí)行到FEND時,PLC執(zhí)行輸入/輸出處理、監(jiān)視定時器的刷新、返回0步程序。使用FEND指令的注意事項:1)子程序和中斷服務程序應放在FEND之后。2)子程序和中斷服務程序必須寫在FEND和END之間,否則會出錯。5.2.5監(jiān)視定時器指令監(jiān)視定時器指令WDT(WatchDogTimer)的功能編號為FNC07,沒有操作數,占用1個程序步。監(jiān)視定時器WDT(WatchDogTimer)又稱看門狗,該指令的功能是對PLC的監(jiān)視定時器進行復位。PLC正常工作時掃描周期小于它的定時時間。監(jiān)控定時器定時時間在FX2N中默認值為200ms,如果PLC運行一個掃描周期的時間超過監(jiān)控定時器規(guī)定的200ms時,PLC將停止工作,這時CPU-E(CPU錯誤)指示燈亮??梢酝ㄟ^修改PLC的特殊數據寄存器D8000(存放一個掃描周期時間)值來設定WDT的定時時間,如圖5-9所示。圖5-9WDT的定時時間設定此外,如果一個程序大于默認的200ms,也可以通過在程序中插入WDT指令,將程序一分為二,使它們都小于200ms,則不會出現停機報警現象,如圖5-10所示。圖5-10WDT指令的應用WDT指令的使用注意事項如下:1)如果FOR-NEXT循環(huán)程序的執(zhí)行時間過長,可能超過監(jiān)控定時器的定時時間,可將WDT指令插入循環(huán)程序中。2)如果條件跳轉指令CJ出現在它所對應的指針標號之后,可能因連續(xù)反復跳步使它們之間的程序被反復執(zhí)行,使WDT動作。為避免這種情況,可以在CJ指令和其指針標號之間插入WDT指令。5.2.6循環(huán)指令循環(huán)開始指令FOR的功能編號為FNC08,源操作數表示循環(huán)次數,占3個程序步。循環(huán)結束指令NEXT的功能編號為FNC09,無操作數,占1個程序步。FOR與NEXT構成循環(huán)指令,FOR~NEXT之間的程序被反復執(zhí)行,執(zhí)行次數由FOR指令的源操作數n設定,n的取值范圍1~32767。執(zhí)行完后,再執(zhí)行NEXT后面的指令。循環(huán)指令簡單使用示例如圖5-11所示。在圖5-11中,外層循環(huán)程序A嵌套內層循環(huán)B,外層A執(zhí)行2次,每執(zhí)行一次外層程序A,就要執(zhí)行5次內層B,因此循環(huán)B一共要執(zhí)行10次。圖5-11循環(huán)指令的使用循環(huán)指令的使用注意事項:1)FOR與NEXT指令總是成對使用。2)FOR~NEXT循環(huán)可以嵌套五層。3)利用循環(huán)中的CJ指令可以跳出FOR~NEXT之間的循環(huán)區(qū)。4)如果NEXT指令應放在FOR指令的前面;FOR指令沒有對應的NEXT指令;FOR指令與NEXT指令的個數不成對;NEXT指令放在FEND和END指令的后面,以上情況均會出錯。5)如果執(zhí)行FOR~NEXT指令的時間太長,PLC的掃描周期有可能會超過WDT的設定時間。5.3比較與傳送指令比較與傳送指令共有10條,應用指令的編號為FNC10~FNC19。比較與傳送指令包括數據傳送、比較處理、交換及轉換等功能。5.3.1比較指令比較指令CMP(Compare)的功能編號FNC10,是將源操作數[S1.]和[S2.]的數據進行比較,將比較的結果送到目標操作數[D.]中,并且占用3個連續(xù)單元。比較指令的簡單使用示例如圖5-12所示。圖5-12比較指令的使用比較指令的使用注意事項:1)按代數形式進行大小比較。例:(-5<2)。2)指定的元件種類或元件號超出允許范圍時將會出錯。3)源操作數可以取任意的數據格式,目標操作數可以取Y、M和S。4)CMP(P)占7個程序步,DCMP(P)占13個程序步。 【例5-3】密碼鎖設計。 密碼鎖的設計如圖5-13所示(其中左圖為梯形圖,右圖為接線圖),設置4位密碼8251。將數字開關撥到8時按一下確認鍵,再分別在撥到2、5、1時按一下確認鍵,電磁鎖Y0得電開鎖。圖5-13密碼鎖5.3.2區(qū)間比較指令區(qū)間比較指令ZCP(ZoneCompare)的功能編號為FNC11,它是將一個源操作數[S.]與兩個源操作數[S1.]和[S2.]中的數值進行比較,然后將比較結果傳送到目標操作數[D.]為首地址的3個連續(xù)的軟件元件中。區(qū)間比較指令的簡單使用示例如圖5-14所示。

圖5-14區(qū)間比較指令的使用區(qū)間比較指令的使用注意事項:1)按代數形式進行大小比較。2)[S1.]中的數據不能大于[S2.]中的數據,如果[S1.]大于[S2.],則[S2.]被看作與[S1.]一樣大。3)源操作數可以取所有數據格式,而目標操作數可取Y、M、S。4)ZCP(P)占7個程序步,DZCP(P)占13個程序步。5.3.3傳送指令傳送指令MOV(Move)的功能編號為FNC12,該指令的功能是將源操作數[S.]的內容傳送到目標操作數[D.]中。傳送指令的使用示例如圖5-15所示。圖5-15傳送指令的使用傳送指令的使用注意事項:1)源操作數可以取所有數據格式,而目標操作數可取KnY、KnM、KnS、T、C、D、V、Z。2)MOV(P)占5個程序步,DMOV(P)占9個程序步。

【例5-4】用傳送指令實現八人搶答電路。 要求8個指示燈Y0~Y7對應8個搶答按鈕X0~X7,在主持人按下開始按鈕X10后,才可以搶答,先按按鈕者的燈亮,同時蜂鳴器Y10響,后按按鈕者燈不亮。則按要求其設計的梯形圖如圖5-16所示。圖5-16傳送指令的使用5.3.4移位傳送指令移位傳送指令SMOV(ShiftMove)的功能編號為FNC13,該指令的功能是將[S.]中的16位二進制數據以BCD的形式按位傳送到[D.]中指定的位置。該指令的使用如圖5-17所示。圖5-17移位傳送指令的使用移位傳送指令的使用注意事項:1)數據寄存器D只能存放二進制數,所以SMOV指令只是在傳送的過程中以BCD碼的方式傳送,而到達指定目標D’后仍以二進制數存放。2)BCD碼值超過9999時會出錯。3)源操作數可以取所有數據格式,而目標操作數可取KnY、KnM、KnS、T、C、D、V、Z。4)SMOV(P)指令只有16位運算,占11個程序步。

5.3.5取反傳送指令取反傳送指令CML(Complement)的功能編號為FNC14,該指令的功能是將源操作數[S.]中的各位二進制數取反(0→1,1→0),按位傳送到目標操作數[D.]中。取反傳送指令的使用示例如圖5-18所示。圖5-18取反傳送指令的使用取反傳送指令的使用注意事項:1)源操作數可以取所有數據格式,而目標操作數可取KnY、KnM、KnS、T、C、D、V、Z。2)如果源數據為常數K,該數據會自動轉換為二進制數。3)CML(P)占5個程序步,DCML(P)占9個程序步。

5.3.6塊傳送指令塊傳送指令BMOV(BlockMove)的功能編號為FNC15,該指令是將源操作數指定的元件開始的n個數據組成的數據塊傳送到指定的目標,n可以取K、H和D。塊傳送指令的使用示例如圖5-19所示。圖5-19塊傳送指令的使用塊傳送指令的使用注意事項:1)如果元件號超過允許的范圍,數據僅傳送到允許的范圍。2)源操作數可以取KnX、KnY、KnM、KnS、T、C、D和文件寄存器,目標操作數可以取KnY、KnM、KnS、T、C、D和文件寄存器。3)M8024為BMOV指令的方向特殊功能繼電器,如果M8024為ON,傳送的方向相反,即將目標數據塊中的數據傳送到源數據塊中。4)BMOV(P)只有16位操作,占7個程序步。5.3.7多點傳送指令多點傳送指令FMOV(FillMove)的功能編號為FNC17,該指令是將源操作數中的數據傳送到指定目標開始的n個文件中,傳送后n個文件中的數據完全相同。多點傳送指令的使用示例如圖5-20所示。圖5-20多點傳送指令的使用多點傳送指令的使用注意事項:1)如果元件號超過允許的范圍,數據僅傳送到允許的范圍。2)源操作數可以取所有數據類型,目標操作數可以取KnY、KnM、KnS、T、C、D、V和Z,其中n≤512。3)FMOV(P)占7個程序步,DFMOV(P)占13個程序步。5.3.8數據交換指令數據交換指令XCH(Exchange)的功能編號為FNC17,該指令是將數據在指定的目標元件之間進行交換。交換指令一般采用脈沖執(zhí)行方式,否則每一個掃描周期都要交換一次。數據交換指令的使用示例如圖5-21所示。圖5-21數據交換指令的使用數據交換指令的使用注意事項:1)兩個目標操作數可以取KnY、KnM、KnS、T、C、D、V和Z。2)XCH(P)占5個程序步,DXCH(P)占9個程序步。5.3.9BCD變換指令BCD(BinaryCodetoDecimal)變換指令的功能編號為FNC18,該指令是將源元件中的二進制數轉換為BCD碼并送目標元件中。如果執(zhí)行的結果超過0~9999的范圍,或者32位操作時超過0~99999999的范圍時,PLC會認定為錯誤。BCD變換指令常用于將PLC中的二進制數變換成BCD碼輸出以驅動LED顯示器。BCD變換指令的使用如圖5-22所示。圖5-22BCD變換指令的使用BCD變換指令的使用注意事項:1)源操作數可取所有數據格式,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。2)BCD(P)占5個程序步,DBCD(P)占9個程序步。5.3.10BIN變換指令BIN(Binary)變換指令的功能編號為FNC19,該指令是將源元件中的BCD數據轉換成二進制數據送到目標元件中??梢杂肂IN指令將BCD數字撥碼開關提供的設定值輸入到PLC,如果源元件中數據不是BCD碼,將會出錯。BIN變換指令的使用示例如圖5-23所示。圖5-23BIN變換指令的使用 【例5-5】試設計1個簡易定時報時器,具體控制要求如下:1)早晨6:30,電鈴(Y0)每秒響1次,6次后自動停止。2)9:00~17:00,啟動住宅報警系統(Y1)。3)晚上6:00開啟園內照明(Y2)。4)晚上10:00關閉園內照明(Y2)。則按定時控制器要求的設計的梯形圖如5-24所示。圖5-24定時報時器梯形圖完成本例的控制要求要解決如下幾個問題:1)產生1個實時時鐘,即1個周期為24小時循環(huán)的時鐘信號。利用內部時鐘脈沖信號和計數器結合使用即可構成,每15min為一設定單位,共96個時間單元。2)能按設定時間進行控制。應用計數器產生實時時間與設定值進行比較,利用比較結果進行相關控制。3)能進行校時。為了能夠進行校時,設置X1為15min快速調整開關,X2為格數設定的快速調整開關。時間設定值為鐘點數乘以4。 設置X0為啟動開關,使用時,在0:00時啟動定時器。

5.4四則運算與邏輯運算指令5.4.1加法指令加法指令ADD(Addition)的功能編號為FNC20,該指令將指定的源元件中的二進制數相加,結果送到指定的目標元件。加法指令的使用示例如圖5-25所示。圖5-25加法指令的使用加法指令的使用注意事項:1)加法指令在執(zhí)行時影響三個常用的標志位:M8020零標志、M8021借位標志和M8022進位標志。當運算結果為0時,M8020置“1”;當運算結果超過32767(16位)或2147483647(32位)時,M8022置“1”;當運算結果小于-32768(16位)或-2147483648時,M8021置“1”。2)數據為有符號的二進制數,最高位為符號位(0為正,1為負)。3)源操作數可取所有數據格式,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。4)ADD(P)占7個程序步,DADD(P)占13個程序步。 【例5-6】一臺投幣洗車機,用于司機清洗車輛,司機每投入1元可以使用10分鐘時間,其中噴水時間為5分鐘。則按要求設計的投幣洗車機梯形圖如圖5-26所示。圖5-26投幣洗車機梯形圖5.4.2減法指令減法指令SUB(Subtration)的功能編號為FNC21,該指令將指定的源元件中的二進制數相減,結果送到指定的目標元件。減法指令的使用示例如圖5-27所示。圖5-27減法指令的使用減法指令的使用注意事項:1)M8020、M8021和M8022對減法指令的影響和加法指令相同。2)數據為有符號的二進制數,最高位為符號位(0為正,1為負)。3)源操作數可取所有數據格式,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。4)SUB(P)占7個程序步,DSUB(P)占13個程序步。

【例5-7】30s倒計時顯示控制的設計。設計的30s倒計時顯示控制梯形圖如圖5-28所示。圖5-2830s倒計時顯示控制的梯形圖5.4.3乘法指令乘法指令MUL(Multiplication)的功能編號為FNC22,該指令將指定源元件中的二進制數相乘,結果送到指令的目標元件中。乘法指令的使用如圖5-29所示。圖5-29乘法指令的使用乘法指令的使用注意事項:1)目標位元件的位數如果小于運算結果的倍數,只能保存結果的低位。2)數據為有符號的二進制數,最高位為符號位(0為正,1為負)。3)源操作數可取所有數據格式,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z,Z只有在16位乘法時可用,32位乘法不可用。4)MUL(P)占7個程序步,DMUL(P)占13個程序步。5.4.4除法指令除法指令DIV(Division)的功能編號為FNC23,該指令將源操作數[S1.]除以[S2.],商送到目標元件[D.]中,余數送到[D.]的下一元件。其中[S1.]為被除數,[S2.]為除數。除法指令的使用示例如圖5-30所示。圖5-30除法指令的使用除法指令的使用注意事項:1)除法運算中若將位元件指定[D.],則無法得到余數,除數為0時則會出錯。2)數據為有符號的二進制數,最高位為符號位(0為正,1為負)。3)源操作數可取所有數據格式,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。4)DIV(P)占7個程序步,DDIV(P)占13個程序步。5.4.5加1指令加1指令INC(Increment)的功能編號為FNC24,該指令是將指定元件中的數值加1。加1指令的使用示例如圖5-31所示。圖5-31加1指令的使用加1指令的使用注意事項:1)加1指令的結果不影響零標志位、借位標志和進位標志。2)如果是連續(xù)指令,則每個周期均作一次加1運算,16位運算中,+32767再加1就變成-32768,+2147483647再加1,就會變成-2147483648。3)操作數可取KnY、KnM、KnS、T、C、D、V和Z。4)INC(P)占3個程序步,DINC(P)占5個程序步?!纠?-8】控制一臺電動機,要求正轉5s、停止5s、反轉5s、停止5s,并自動循環(huán)運行,直到停止運行。其梯形圖及程序設計如圖5-32所示。圖5-32電動機定時正轉-停止-反轉-停止的自動循環(huán)運行5.4.6減1指令減1指令DEC(Decrement)的功能編號為FNC25,該指令是將指定元件中的數值減1。減1指令的使用如圖5-33所示。圖5-33減1指令的使用減1指令的使用注意事項:1)減1指令的結果不影響零標志位、借位標志和進位標志。2)如果是連續(xù)指令,則每個周期均作一次減1運算。3)操作數可取KnY、KnM、KnS、T、C、D、V和Z。4)DEC(P)占3個程序步,DDEC(P)占5個程序步。

5.4.7字邏輯與指令字邏輯與指令WAND指令的編號為FNC26。該指令是將兩個源操作數按位進行與操作,結果存入在指定元件。邏輯與指令的使用如圖5-34所示。5.4.8字邏輯或指令字邏輯或指令WOR指令的編號為FNC27。該指令是將兩個源操作數按位進行或操作,結果存入在指定元件。邏輯或指令的使用如圖5-34所示。5.4.9字邏輯異或指令字邏輯異或指令WXOR(ExclusiveOR)指令的編號為FNC28。該指令是將兩個源操作數按位進行異或操作,結果存入在指定元件。邏輯異或指令的使用如圖5-34所示。圖5-34邏輯與、或和異或指令的使用邏輯與、或和異或指令的使用注意事項:1)邏輯與指令常用于某些位清0,邏輯或指令常用于某些位置1,而邏輯異或指令常用于判斷兩數是否相等。2)邏輯與、或和異或指令的源操作數可取所有數據類型,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。3)WAND(P)、WOR(P)和WXOR(P)各占7個程序步,DWAND(P)、DWOR(P)和DWXOR(P)占13個程序步。5.4.10求補指令求補指令NEG(Negation)的功能編號為FNC29,該指令是將指定元件中的各位按位取反(0→1,1→0)后再加1,將其結果仍存放在原來的元件中。求補指令的使用如圖5-35所示。FX系列PLC的負數用二進制的補碼形式來表示,最高位為符號位,正數時該位為0,負數時該位為1,將負數求補后得到它的絕對值。圖5-35求補指令的使用求補指令的使用注意事項:1)NEG指令只有目標操作數,可取KnY、KnM、KnS、T、C、D、V和Z。2)NEG(P)占3個程序步,DNEG(P)占5個程序步。 【例5-9】求兩個數之差的絕對值。 求兩個數之差的絕對值的梯形圖如圖5-36所示。圖5-36求兩個數之差的絕對值5.5循環(huán)與移位指令 循環(huán)與移位指令共有10條,編號為FNC30~FNC39,主要用于數據的移位等操作。5.5.1循環(huán)右移指令循環(huán)右移指令ROR(RotationRight)的功能編號為FNC30,執(zhí)行該指令時,各位數據向右移動(從高位向低位)n位,最后一次移出來的那一位同時存入進位標志M8022中。如圖5-37所示。循環(huán)右移指令的使用注意事項:1)16位指令和32位指令中n應分別小于16和32。2)ROR指令的目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。3)ROR(P)占5個程序步,DROR(P)占9個程序步。圖5-37循環(huán)右移指令的使用5.5.2循環(huán)左移指令循環(huán)右移指令ROL(RotationLeft)的功能編號為FNC31,執(zhí)行該指令時,各位數據向左移動(從低位向高位)n位,最后一次移出來的那一位同時存入進位標志M8022中。如圖5-38所示。圖5-38循環(huán)左移位指令的使用循環(huán)左移指令的使用注意事項:1)16位指令和32位指令中n應分別小于16和32。2)ROL指令的目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。3)ROL(P)占5個程序步,DROL(P)占9個程序步。 【例5-10】按1-2相激磁方式控制一個四相步進電動機??烧崔D控制,每步為1s。電動機運行時,指示燈亮。四相步進電動機的1-2相激磁方式波形和程序如圖5-39所示。圖5-39四相步進電動機的1-2相激磁方式波形圖和梯形圖5.5.3帶進位的循環(huán)右移指令帶進位的循環(huán)右移指令RCR(RotationRightwithCarry)的功能編號為FNC32,執(zhí)行該指令時,將各位數據連同進位標志M8022一起右移。如圖5-40所示。圖5-40帶進位的循環(huán)右移指令的使用帶進位的循環(huán)右移指令的使用注意事項:1)在循環(huán)右移過程中,移出的位將送入進位標志,原進位標志又被送回目標操作數的另一端。2)RCR指令的目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。3)RCR(P)占5個程序步,DRCR(P)占9個程序步。

5.5.4帶進位的循環(huán)左移指令帶進位的循環(huán)左移指令RCL(RotationLeftwithCarry)的功能編號為FNC33,執(zhí)行該指令時,將各位數據連同進位標志M8022一起左移。如圖5-41所示。圖5-41帶進位的循環(huán)左移指令的使用帶進位的循環(huán)左移指令的使用注意事項:1)在循環(huán)左移過程中,移出的位將送入進位標志,原進位標志又被送回目標操作數的另一端。2)RCL指令的目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。3)RCL(P)占5個程序步,DRCL(P)占9個程序步。5.5.5位右移指令位右移指令SFTR(ShiftRight)的功能編號為FNC34,該指令使位元件中的狀態(tài)成組地向右移動,由n1指定位元件的長度,n2指定移動的位數,一般n2≤n1≤1024。位右移指令的使用如圖5-42所示。圖5-42位右移指令的使用位右移指令的使用注意事項:1)如果采用連續(xù)型指令,每個掃描周期都移動n2位。2)SFTR指令源操作數可取X、Y、M和S,目標操作數可取Y、M、S。3)SFTR(P)只有16位操作數,占9個程序步。

5.5.6位左移指令位左移指令SFTL(ShiftLeft)的功能編號為FNC35,該指令使位元件中的狀態(tài)成組地向左移動,由n1指定位元件的長度,n2指定移動的位數,一般n2≤n1≤1024。位左移指令的使用如圖5-43所示。圖5-43位左移指令的使用位左移指令的使用注意事項:1)如果采用連續(xù)型指令,每個掃描周期都移動n2位。2)SFTL指令源操作數可取X、Y、M和S,目標操作數可取Y、M、S。3)SFTL(P)只有16位操作數,占9個程序步。 【例5-11】四臺水泵輪流運行,由四臺三相異步電動機M1~M4驅動。正常要求是兩臺運行兩臺備用。為了防止備用水泵長時間不用造成銹蝕等問題,要求四臺水泵中兩臺運行,并每隔8h切換一臺,使四臺水泵輪流運行。圖5-44四臺水泵輪流工作實例5.5.7字右移指令字右移指令WSFR(WordShiftRight)的功能編號為FNC36,該指令以字為單位,對n1位[D.]所指的字元件進行n2位[S.]字的向右移位,其工作過程與位右移指令類似。字右移指令的使用如圖5-45所示。圖5-45字右移指令的使用字右移指令的使用注意事項:1)一般情況下n2≤n1≤512。2)WSFR指令源操作數可取KnX、KnY、KnM、KnS、T、C和D,目標操作數可取KnY、KnM、KnS、T、C和D。3)WSFR(P)只有16位操作數,占9個程序步。5.5.8字左移指令字左移指令WSFL(WordShiftLeft)的功能編號為FNC37,該指令以字為單位,對n1位[D.]所指的字元件進行n2位[S.]字的向左移位,其工作過程與位左移指令類似。字左移指令的使用示例如圖5-46所示。圖5-46字左移指令的使用字左移指令的使用注意事項:1)一般情況下n2≤n1≤512。2)WSFL指令源操作數可取KnX、KnY、KnM、KnS、T、C和D,目標操作數可取KnY、KnM、KnS、T、C和D。3)WSFL(P)只有16位操作數,占9個程序步。

5.5.9移位寫入指令移位寄存器寫入指令SFWR(ShiftRegisterWrite)的功能編號為FNC38,該指令將[S.]中的數據依次傳送到[D.]中。移位寫入指令的使用示例如圖5-47所示。圖5-47移位寫入指令的使用移位寫入指令的使用注意事項:1)一般情況下2≤n≤512。2)源操作數可取所有數據類型,目標操作數可取KnY、KnM、KnS、T、C和D。3)SFWR(P)只有16位操作數,占7個程序步。

5.5.10移位讀出指令移位寄存器寫入指令SFRD(ShiftRegisterRead)的功能編號為FNC39,該指令將[S.]中的數據依次讀出到[D.]中。移位寫入指令的使用如圖5-48所示。圖5-48移位寫入指令的使用 移位寄存器又稱為FIFO(FirstInFirstOut,先入先出)堆棧,堆棧的長度范圍為2~512字。移位寄存器寫入指令SFWR和移位寄存器讀出指令SFRD用于FIFO堆棧的讀寫,先寫入的數據先讀出。移位讀出指令的使用注意事項:1)一般情況下2≤n≤512。2)源操作數可取所有數據類型,目標操作數可取KnY、KnM、KnS、T、C和D。3)SFRD(P)只有16位操作數,占7個程序步。 【例5-12】入庫物品FIFO。寫入99個物品的產品編號(4位十進制數),依次存放在D2~D100中,按照先入庫的物品先出庫的原則,讀取出庫物品的產品編號,并用4位數碼管顯示產品編號。則其程序如圖5-49所示。

圖5-49移位寫入和讀出物品編號實例5.6數據處理指令

數據處理指令共有10條,應用指令的編號為FNC40~FNC49。用來處理更復雜的運算或控制。5.6.1區(qū)間復位指令區(qū)間復位指令ZRST(ZoneReset)的功能編號為FNC40,該指令是將[D1.]~[D2.]之間的指定元件號范圍內的同類元件成批復位。區(qū)間復位指令的使用如圖5-50所示。圖5-50區(qū)間復位指令的使用區(qū)間復位指令的使用注意事項:1)[D1.]與[D2.]必須指定相同的組件區(qū)域。2)[D1.]的元件號應小于[D2.]的元件號。3)目標操作數可取Y、M、S、T、C和D。4)ZRST(P)只有16位操作數,占5個程序步。5.6.2解碼指令解碼(譯碼)指令DECO(Decode)的功能編號為FNC41,該指令將[S.]的n位二進制數進行譯碼,結果用[D.]的第2n個元件置1來表示。解碼指令的使用如圖5-51所示。圖5-51解碼指令的使用

利用解碼指令,可以通過數據寄存器D中的數值來控制指定位元件的ON/OFF。解碼指令既可用于位元件,也可用于字元件。其具體用法如圖5-52所示。圖5-52解碼指令的使用二解碼指令的使用注意事項:1)若[D.]指定的目標元件是字元件T、C、D,應使n≤4,目標元件每一位都受控;若[D.]指定的目標元件是位元件Y、M、S,應使n≤8,n=0時,不作處理。2)位源操作數可取X、T、M和S;位目標操作數可取Y、M、S;字源操作數可取K、H、T、C、D、V和Z;字目標操作數可取T、C和D。3)DECO(P)只有16位操作數,占7個程序步。5.6.3編碼指令編碼指令ENCO(Encode)的功能編號為FCN42,編碼指令和解碼指令剛好相反,該指令是將[S.]的2n位中最高位的1進行編碼,編碼存放[D.]的低n位中。編碼指令的使用示例如圖5-53所示。圖5-53編碼指令的使用編碼指令的使用注意事項:1)若[S.]指定的源操作數是字元件T、C、D、V和Z時,應使n≤4;若[S.]指定的源操作數是位元件X、Y、M、S時,應使n的取值范圍為1~8。2)源操作數是字元件時,可以是T、C、D、V和Z;源操作數是位元件時,可以是X、Y、M和S。位目標操作數可取Y、M、S;字目標操作數可取T、C和D。3)如果指定源操作數中有多個1,則只有最高位的1有效。4)ENCO(P)只有16位操作數,占7個程序步。

5.6.4ON位數統計指令ON位數統計指令SUM的功能編號為FNC43,該指令用來統計指定元件中1的個數,用于將[S.]中1的個數存放在[D.]中,無1時零標志M8020=1。ON位數統計指令的使用示例如圖5-54所示。圖5-54ON位數統計指令的使用ON位數統計指令的使用注意事項:1)源操作數可取所有數據類型,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。2)SUM(P)占5個程序步,DSUM(P)占9個程序步。5.6.5ON位判別指令ON位判別指令BON(BitONCheck)功能編號為FNC44,該指令是判斷[S.]的指定位n是否為1,為1時,[D.]=1,為0時,[D.]=0。ON位判別指令的使用示例如圖5-55所示。圖5-55ON位判別指令的使用ON位判別指令的使用注意事項:1)源操作數可取所有數據類型,目標操作數可取Y、M、S。2)BON(P)占7個程序步,n=0~15;DBON(P)占13個程序步,n=0~31。5.6.6平均值指令平均值指令MEAN的功能編號為FNC45,該指令是求[S.]開始的n個字元件的平均值,結果送到[D.]中,余數舍去。平均值指令的使用示例如圖5-56所示。平均值指令的使用注意事項:1)源操作數可取KnX、KnY、KnM、KnS、T、C和D,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z,n=1~64。2)MEAN(P)只有16位操作數,占7個程序步。圖5-56平均值指令的使用5.6.7報警器置位指令報警器置位指令ANS(AnnunciatorSet)的功能編號為FNC46,該指令用于驅動信號的報警。報警器置位指令的使用示例如圖5-57所示。報警器置位指令的使用注意事項:1)報警器的源操作數為T0~T199,目標操作數為S900~S999,n=1~32767(n是100ms定時器的設定值)。2)ANS(P)只有16位操作數,占7個程序步。圖5-57報警器置位指令的使用5.6.8報警器復位指令報警器復位指令ANR(AnnunciatorReset)的功能編號為FNC47,該指令用于對報警器S900~S999復位。報警器復位指令的使用示例如圖5-58所示。報警器復位指令的使用注意事項:1)ANR無操作數。2)ANR(P)為16位運算指令,占1個程序步。圖5-58報警器復位指令的使用【例5-13】用報警器監(jiān)控送料小車的運行情況。圖5-59送料車運行監(jiān)控報警5.6.9二進制平方根指令二進制平方根指令SQR(SquareRoot)的功能編號為FNC48,該指令對[S.]中的數值開平方運算,結果存放在[D.]中。該指令的使用如圖5-60所示。二進制平方根指令的使用注意事項:1)源操作數應大于零,可以取K、H、D,目標操作數為D。2)SQR(P)占5個程序步,DSQR(P)占9個程序步。圖5-60二進制平方根指令的使用5.6.10浮點數轉換指令二進制整數轉換為二進制浮點數指令FLT(FloatingPoint)的功能編號為FNC49,該指令將[S.]中的二進制整數轉換為二進制浮點數,結果存放在[D.]中。FLT指令的使用如圖5-61所示。浮點數轉換指令的使用注意事項:1)源操作數和目標操作數均為D。2)FLT(P)占5個程序步,DFLT(P)占9個程序步。圖5-61浮點數轉換指令的使用5.7高速處理指令 高速處理指令共有10條,應用指令的編號為FNC50~FNC59,高速處理指令主要用于對PLC中的輸入輸出數據進行立即高速處理,以避免受掃描周期的影響。5.7.1輸入輸出刷新指令輸入輸出刷新指令REF(Refresh)的功能編號為FNC50,該指令是將X或Y的n位繼電器的值進行刷新。輸入輸出刷新指令的使用示例如圖5-62所示。圖5-62輸入輸出刷新指令的使用 PLC在處理輸入輸出信號時采用全部一次再生的方式,也就是在掃描Step0之前會將輸入端(X)信號全部讀出,然后掃描到END時才將最新的數據讀取或送到輸出端(Y)來驅動外部負載。如果在PLC程序執(zhí)行中不必等到END指令,希望能將最新的數據讀取或送到輸出端(Y),則可使用REF指令。輸入輸出指令的使用注意事項:1)目標操作數為元件編號個位為0的X或Y,如X0、X10、Y0、Y20等,n必須是8的倍數,n=8,16……256。2)REF(P)只能進行16位運算,占5個程序步。5.7.2濾波調整指令濾波調整指令REFF(RefreshAndFilterAdjust)的功能編號為FNC51,該指令用于改變X0~X17的輸入濾波時間常數(對于FX2N-16M型PLC為X0~X7)。輸入濾波時間常數n=0~60ms。當濾波時間常數設為0時,但實際上該輸入達不到0,X0~X1為20μs,其它為50μs。X0~X17的輸入濾波值(10ms)被傳送到特殊數據寄存器D8020,因此,也可以通過改變D8020中的初始值來設定輸入濾波時間常數。 濾波調整指令的使用示例如圖5-63所示。

濾波調整指令的使用注意事項:1)如果X0~X7用作高速計數器輸入或使用FNC56速度檢測指令以及中斷輸入時,相對應輸入端的反應時間則被自動調整為最小值(50μs),沒有關系的輸入端還是維持為10ms。2)REFF(P)為16位運算指令,占7個程序步。圖5-63濾波調整指令的使用5.7.3矩陣輸入指令矩陣輸入指令MTR(Matrix)的功能編號為FNC52,該指令是使用8點的輸入與n點的輸出,按順序讀入8點n列的輸入信號。矩陣輸入指令的使用示例如圖5-64所示。圖5-64矩陣輸入指令的使用矩陣輸入指令的使用注意事項:1)[S.]指定連接輸入端的起始號碼,從該號碼開始算起連續(xù)8點為矩陣輸入端;[D1.]則是指定矩陣掃描的起始號碼,配合n來決定點數,如[D1.]=Y20,n=3表示由Y20、Y21、Y22作矩陣掃描;[D2.]指定讀入結果的起始號碼,如指定M30,則表示M30~M37、M40~M47、M50~M57。2)使用本指令每一列讀取時間約20ms,如果8列,則讀取時間20ms×8=160ms,因此ON/OFF速度快于160ms的輸入信號就不適用于矩陣輸入。3)MTR指令一般使用M8000觸點,該接點在PLC運行時始終是接通的,如果用其他的觸點,則當觸點斷開時,指定輸出Y開始的16點(例如Y40~Y57)將失電,這樣需要在MTR指令前后增加保護Y數據的程序。4)源操作數[S.]是元件編號個位為0的X,通常用X20以后的編號(FX2N-16M為X10以后的編號);目標操作數[D1.]是元件編號個位為0的Y;目標操作數[D2.]是元件編號個位為0的Y、M和S;n的取值范圍是2~8。5)MTR為16位運算指令,占9個程序步。5.7.4高速計數器置位指令調整計數器置位指令HSCS(SetByHighSpeedCounter)的功能編號為FNC53,該指令用于高速計數器的置位,當計數器的當前值達到預置值時,計數器的輸出觸點立即動作。它采用了中斷方式使置位和輸出立即執(zhí)行而與掃描周期無關。由于該指令用于32位高速計數器C235~C255,所以應該用32位DHSCS指令。調整計數器置位指令的使用如圖5-65所示。高速計數器置位指令的使用注意事項:1)源操作數[S1.]可取所有數據類型,[S2.]為C235~C255;目標操作數可取Y、M和S。2)該指令只有32位運算,必須輸入DHSCS,若輸入HSCS則無效,占13個程序步。(a)高速計數器一(b)高速計數器二圖5-65高速計數器置位指令的使用5.7.5高速計數器復位指令高速計數器復位指令HSCR(ResetByHighSpeedCounter)的功能編號為FNC54,該指令用于高速計數器的復位,同DHSCS一樣,該指令為32位指令,應用DHSCR,而不能用HSCR。高速計數器復位指令的使用示例如圖5-66所示。(a)高速計數器復位指令的使用注意事項:1)源操作數[S1.]可取所有數據類型,[S2.]為C235~C255;目標操作數[D.]可取Y、M和S,[D.]可指定與[S2.]號碼相同的計數器。2)DHSCR指令只有32位運算,占13個程序步。(b)圖5-66高速計數器復位指令的使用5.7.6高速計數器區(qū)間比較指令高速計數器區(qū)間比較指令HSZ(ZoneCompareForH.S.C)的功能編號為FNC55,該指令用于高速計數器的當前值和兩個計數值比較,比較的結果用3個繼電器表示,其作用和ZCP相似。如圖5-67所示。圖5-67高速計數器區(qū)間比較指令高速計數器區(qū)間比較指令的使用注意事項:1)源操作數[S1.]和[S2.]可取所有數據類型,[S.]為C235~C255;目標操作數[D.]可取Y、M和S。2)DHSZ指令只有32位運算,占17個程序步。

【例5-14】用編碼器控制電動機的啟動轉速。 用編碼器控制電動機的啟動轉速的時序圖及梯形圖如圖5-68所示。圖5-68用編碼器控制電動機的啟動轉速5.7.7速度檢測指令速度檢測指令SPD(SpeedDetect)的功能編號為FNC56,該指令用于檢測在給定時間內從編碼器輸入的脈沖個數,將脈沖個數存入[D.]中,[D.]中的數值正比于旋轉速度N,因此這條指令可以用來計算出轉速。對X0~X5中之一的從編碼器輸入的脈沖個數。速度檢測指令的使用示例如圖5-69所示。速度檢測指令的使用注意事項:1)[S1.]為X0~X5;[S2.]可取所有的數據類型;[D.]可以取T、C、D、V和Z。2)SPD指令只有16位操作,占7個程序步。圖5-69速度檢測指令的使用5.7.8脈沖輸出指令脈沖輸出指令PLSY(PulseY)的功能編號為FNC57,該指令用于指定輸出繼電器Y0或Y1輸出給定頻率的脈沖。脈沖輸出指令的使用示例如圖5-70所示。圖5-70脈沖輸出指令的使用脈沖輸出指令的使用注意事項:1)[S1.]、[S2.]可取所有數據類型;[D.]只有Y0和Y1兩點。2)脈沖輸出端必須是晶體管輸出,閘流體與繼電器輸出均無效。3)本指令可應用于脈沖控制電機,如果步進電機作定位控制。4)PLSY占7個程序步,DPLSY占13個程序步。5.7.9脈寬調制指令脈寬調制指令PWM(PulseWidthModulation)的功能編號為FNC58,該指令用于產生周期和寬度都可以調節(jié)的輸出脈沖。脈寬調制指令的使用示例如圖5-71所示。圖5-71脈寬調制指令的使用脈寬調制指令的使用注意事項:1)本指令只能使用1次。2)[S1.]指定的脈沖寬度t=0~32767,[S2.]指定周期T0=1~32767,但[S1.]≤[S2.];[D.]僅限于使用晶體管輸出的Y0或Y1,其輸出的通斷可進行中斷處理。3)PWM指令只有16位操作,占7個程序步。5.7.10可調速脈沖輸出指令

可調速脈沖輸出指令PLSR(PulseR)的功能編號為FNC59,該指令是按照[S1.]指定的最高頻率分10級加速,達到[S2.]指定的輸出脈沖數時,再以最高頻率分10級減速??烧{速脈沖輸出指令的使用示例如圖5-72所示??烧{脈沖輸出指令的使用注意事項:1)本指令只能使用1次,且要選擇晶體管輸出方式。2)[S1.]、[S2.]、[S3.]可取所有數據類型;[D.]只有Y0和Y1兩點。3)PLSR指令占9個程序步,DPLSR指令占17個程序步。圖5-72可調速脈沖輸出指令的使用5.8方便指令 方便指令共有10條,指令功能編號為FNC60~FNC69,方便指令在程序中以簡單的指令形式實現復雜的控制過程。 這10條方便指令分別是: 初始化指令IST(FNC60)、數據搜索指令SER(FNC61)、絕對值式凸輪順控指令ABSD(FNC62)、增量式凸輪順控指令INCD(FNC63)、示教定時指令TIMR(FNC64)、特殊定時器指令STMR(FNC65)、交替輸出指令ALT(FNC66)、斜坡信號指令RAMP(FNC67)、旋轉工作臺控制指令ROTC(FNC68)和數據排序指令SORT(FNC69)。5.8.1狀態(tài)初始化指令狀態(tài)初始化指令IST(InitialState)的功能編號為FNC60,該指令用于狀態(tài)轉移圖和步進梯形圖的狀態(tài)初始化設定。[S.]表示運行狀態(tài)切換開關的起始號碼,[D1.]表示運行的步進點號碼,[D2.]表示運行結束的步進點號碼。狀態(tài)初始化指令的使用示例如圖5-73所示。

圖5-73狀態(tài)初始化指令的使用狀態(tài)初始化指令的使用注意事項:1)當使用IST指令時,S10~S19被認定為原點復歸狀態(tài)的專屬區(qū)域,不可作其他用途。2)與IST指令有特殊關系的特殊輔助繼電器:M8040移行禁止;M8041步進點移行開始;M8042步進點啟動脈沖;M8047步進點監(jiān)視3)源操作數可取X、Y、M,目標操作數只能為S,只可指定S20~S899,[D1.]<[D2.]。4)IST指令16位操作,占7個程序步。5.8.2絕對值式凸輪順控指令凸輪順控指令有絕對值式凸輪順控指令ABSD和增量式凸輪順控指令INCD兩條。絕對值式凸輪順控指令ABSD(Absolutedrum)的功能編號為FNC62,該指令用來產生一組對應于計數值在360°范圍內變化的輸出波形,輸出點的個數由n決定。絕對值式凸輪順控指令的使用示例如圖5-74所示。(a)絕對值式凸輪順控指令圖5-74絕對值式凸輪順控指令的使用(b)輸出波形

表5-2旋轉臺旋轉周期M0~M3狀態(tài)5.8.3增量式凸輪順控指令增量式凸輪順控指令INCD(IncrementDrum)的功能編號為FNC63,該指令也是用來產生一組對應于計數值變化的輸出波形的指令。如圖5-75所示。圖5-75增量式凸輪順控指令的使用凸輪順控指令的使用注意事項:1)凸輪順控指令源操作數[S1.]可取KnX、KnY、KnM、KnS、T、C和D,[S2.]為C;目標操作數可取Y、M和S。2)ABSD指令占9個程序步,DABSD指令占17個程序步。3)INCD指令為16位操作指令,占9個程序步。5.8.4示教定時器指令定時器指令有示教定時器指令TTMR和特殊定時器指令STMR兩條。示教定時器指令TTMR(TeachingTimer)的功能編號為FNC64,編譯器使用示教定時器指令TTMR時,可用一個按鍵來調整定時器的設定時間。示教定時器指令的使用示例如圖5-76所示。示教定時器指令的使用注意事項:1)n可取K、H,n=0~2,[D.]指定寄存器D。2)TTMR為16位操作指令,占5個程序步。圖5-76示教定時器指令的使用5.8.5特殊定時器指令特殊定時器指令STMR(SpecialTimer)的功能編號為FNC65,該指令是用來產生延時斷開定時器、單脈沖定時器和閃動定時器的指令。示例如圖5-77所示。圖5-77特殊定時器指令的使用定時器指令的使用注意事項:1)定時器指令源操作數[S.]指定T,[S.]=T0~T199;m為常數K或H,m=1~32767;目標操作數[D.]可取Y、M和S。2)STMR為16位操作指令,占7個程序步。 【例5-15】用STMR指令組成振蕩電路,其梯形圖及時序圖如圖5-78所示。圖5-78振蕩電路5.8.6交替輸出指令交替輸出指令ALT(Alternate)的功能編號為FNC66,該指令相當于一個二分頻電路或由一個按鈕控制負載啟動和停止的電路。交替輸出指令的使用示例如圖5-79所示。圖5-79交替輸出指令的使用 在圖5-79的基礎上,如果再用M0作為一輸入條件驅動M1,則可構成多級分頻輸出。如圖5-80所示。交替輸出指令的使用注意事項:1)若使用連續(xù)執(zhí)行型指令時,每個掃描周期都反向動作(狀態(tài)翻轉)。2)目標操作數[D.]可取Y、M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論