第五章 FX2N應(yīng)用指令介紹_第1頁
第五章 FX2N應(yīng)用指令介紹_第2頁
第五章 FX2N應(yīng)用指令介紹_第3頁
第五章 FX2N應(yīng)用指令介紹_第4頁
第五章 FX2N應(yīng)用指令介紹_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

課程:可編程控制器單位:電氣工程及自動化學院制作:包建華第一節(jié)功能指令概述一、功能指令的表示方法與執(zhí)行形式

FX2N系列PLC的功能指令由功能編號FNC00~FNC246指定,各指令有表示其內(nèi)容的助記符符號。功能指令多數(shù)情況下將功能編號與操作數(shù)組合在一起使用。功能指令的操作數(shù)分為源操作數(shù)S、目的操作數(shù)D和輔助操作數(shù)m、n。源操作數(shù)、目的操作數(shù)和輔助操作數(shù)多于1個時分別用S1、S2…,D1、D2…以及m1、m2,n1、n2…表示。位元件:X、Y、M、S。Kn加位元件的組合,也可處理數(shù)字數(shù)據(jù),組成字元件,稱位元件組合。字元件:T、C、D等。二、位元件、位元件組合和字元件

2/3/2023不同長度的字元件之間的數(shù)據(jù)傳送按如下規(guī)律處理:(1)長字元件短字元件:長數(shù)據(jù)的高位保持不變。(2)短字元件長字元件:長數(shù)據(jù)的高位全部清零。三、數(shù)據(jù)長度與指令執(zhí)行形式

功能指令依處理數(shù)據(jù)的長度分為16位指令和32位指令,32位指令采用助記符前加D表示,助記符前無D的指令為16位指令。FX2N系列PLC的數(shù)據(jù)寄存器D為16位,在處理32位數(shù)據(jù)時使用一對數(shù)據(jù)寄存器的組合。定時器T和計數(shù)器C的當前值寄存器可作為一般寄存器處理,但是,C200~C255的1點是32位計數(shù)器,可直接處理32位數(shù),不能作為16位指令的操作數(shù)使用。2/3/2023功能指令有脈沖執(zhí)行型和連續(xù)執(zhí)行型。脈沖執(zhí)行型功能指令采用助記符后加P表示,其指令只在驅(qū)動條件從OFF→ON變化時執(zhí)行一次,其他時刻不執(zhí)行;助記符后無P的指令為連續(xù)執(zhí)行型,連續(xù)執(zhí)行型功能指令在各掃描周期都執(zhí)行,操作數(shù)的內(nèi)容每個掃描周期都變化。

四、變址寄存器V、Z

變址寄存器用來修改操作對象元件號。將V、Z組合可進行32位運算,此時V為高位,Z為低位。利用V、Z可使某些編程得到簡化。2/3/2023上圖實現(xiàn)的操作為(D15)+(D35)→(D60)。2/3/2023第二節(jié)程序流向控制指令程序流向控制指令用來改變程序的執(zhí)行順序,包括程序的條件跳轉(zhuǎn)、中斷、調(diào)用子程序、循環(huán)等指令。一、條件跳轉(zhuǎn)指令CJ(ConditionalJump,F(xiàn)NC00)指針P(Point)用于指示分支和跳步程序,在梯形圖中,指針放在左側(cè)母線的左邊。使用跳轉(zhuǎn)指令可以縮短掃描周期。一個指針只能出現(xiàn)一次。2/3/2023二、子程序調(diào)用與返回指令子程序調(diào)用指令CALL(Sub-RoutineCall,F(xiàn)NC01)子程序返回指令SRET(Sub-RoutineReturn,F(xiàn)NC02)各子程序用指針P0~P62及P64~P127表示。同一指針只能出現(xiàn)一次。子程序?qū)懺谥鞒绦蚪Y(jié)束指令FEND之后。CJ指令中用過的指針不能再用。不同位置的CALL指令可以調(diào)用同一指針的子程序。在指令SRET中無操作數(shù)。

2/3/2023三、中斷指令中斷返回IRET(InterruptionReturn,F(xiàn)NC03)。允許中斷EI(InterruptionEnable,F(xiàn)NC04)。禁止中斷DI(InterruptionDisable,F(xiàn)NC05)。中斷事件:輸入中斷、定時中斷和高速計數(shù)器中斷輸入中斷用來接收特定的輸入地址號的輸入信號,輸入中斷指針I(yè)□0△。最高位□與X0~X5的元件號相對應(yīng),最低位△為0時表示下降沿中斷,為1時表上升沿中斷。定時器中斷指針為I6□□~I8□□,低兩位是以ms為單位定時時間(10~99ms)。M8056~M8058為ON時,將分別禁止定時中斷0~2。計數(shù)器中斷指針為I0□0(□=1~6)。計數(shù)器中斷與HSCS(高速計數(shù)器比較置位)指令配合使用,根據(jù)高速計數(shù)器的計數(shù)當前值與計數(shù)設(shè)定值的關(guān)系來確定是否執(zhí)行相應(yīng)的中斷服務(wù)程序。

2/3/2023PLC通常處于禁止中斷狀態(tài),指令EI和DI之間的程序段為允許中斷區(qū)間。中斷程序應(yīng)放在FEND指令之后,IRET指令只能在中斷程序中使用。

特殊輔助繼電器M805△為ON時(△=0~8),禁止執(zhí)行相應(yīng)的中斷I△□□(□□是與中斷有關(guān)的數(shù)字)。M8059為ON時,關(guān)閉所有的計數(shù)器中斷。如果有多個中斷信號依次發(fā)出,則優(yōu)先級按發(fā)生的先后為序,發(fā)生越早的優(yōu)先級越高。若同時發(fā)生多個中斷信號,中斷指針號小的優(yōu)先級高。如中斷信號在禁止中斷區(qū)間出現(xiàn),該中斷信號被儲存,并在EI指令之后響應(yīng)中斷。2/3/2023四、主程序結(jié)束指令主程序結(jié)束指令FEND(FirstEnd,F(xiàn)NC06):表示主程序的結(jié)束和子程序的開始。注意事項:1、執(zhí)行到FEND指令時PLC進行輸入輸出處理、監(jiān)控定時器刷新,完成后返回第0步。2、子程序(包括中斷子程序)應(yīng)放在FEND指令之后。3、CALL指令調(diào)用的子程序必須用SRET指令結(jié)束;中斷子程序必須以IRET指令結(jié)束。4、若FEND指令在CALL指令執(zhí)行之后和SRET指令執(zhí)行之前出現(xiàn),則程序出錯。5、另一個類似的錯誤是FEND指令出現(xiàn)在FOR-NEXT循環(huán)中。6、使用多條FEND指令時,中斷程序應(yīng)放在最后的FEND指令和END指令之間。

2/3/2023主程序結(jié)束指令的功能舉例:當X010為OFF時,不執(zhí)行跳轉(zhuǎn)指令,僅執(zhí)行主程序;當X010為ON時,執(zhí)行跳轉(zhuǎn)指令,跳到指針標號P20處,執(zhí)行第二個主程序。在第二個主程序中,若X011為OFF,僅執(zhí)行第二個主程序,若X011為ON,調(diào)用指針標號為P21的子程序。結(jié)束后,通過SRET指令返回原斷點,繼續(xù)執(zhí)行第二個主程序。

2/3/2023五、監(jiān)控定時器指令WDT(WatchDogTimer,FNC07)WDT指令是在控制程序中刷新(復位)警戒定時器的指令。如果執(zhí)行程序的掃描周期(從0步到END或FEND之間)超過200ms,警戒定時器邏輯線圈被接通,PLC停止運行。WDT指令插到合適程序步中修改警戒定時器的設(shè)定值2/3/2023六、循環(huán)開始(FOR)和結(jié)束(NEXT)指令FOR指令表示循環(huán)區(qū)的起點,NEXT表示循環(huán)區(qū)終點,F(xiàn)OR與NEXT之間的程序被反復執(zhí)行,執(zhí)行完后,執(zhí)行NEXT后面的指令。執(zhí)行次數(shù)n(n=1~32767)由FOR指令的源操作數(shù)設(shè)定。FOR與NEXT循環(huán)可以嵌套5層。FOR與NEXT指令必須成對使用。左圖中,外層循環(huán)程序A嵌套了內(nèi)層循環(huán)B,循環(huán)A執(zhí)行5次,每執(zhí)行一次循環(huán)A,就要執(zhí)行10次循環(huán)B,因此循環(huán)B一共要執(zhí)行50次。利用循環(huán)中的CJ指令可以跳出FOR-NEXT之間的循環(huán)區(qū)。2/3/2023第三節(jié)比較及傳送指令這部分指令屬于基本的功能指令,使用非常普及。比較指令:比較CMP(Compare,F(xiàn)NC10)

區(qū)間比較ZCP(ZoneCompare,F(xiàn)NC11)

2/3/2023傳送指令:傳送MOV(Move,FNC12)

BCD碼移位傳送SMOV(ShiftMove,FNC13)取反傳送CML(ComplementMove,FNC14)

數(shù)據(jù)塊傳送BMOV(BlockMove,FNC15)多點傳送FMOV(FillMove,FNC16)數(shù)據(jù)交換XCH(Exchange,FNC17)

傳送指令MOV將源數(shù)據(jù)傳送到指定目的。移位傳送指令SMOV是進行數(shù)據(jù)分配與合成的指令,將4位BCD十進制源數(shù)據(jù)S中指定位數(shù)的數(shù)據(jù)傳送到4位十進制目的操作數(shù)D中指定的位置。取反傳送指令CML將源元件中的數(shù)據(jù)逐位取反(1→0,0→1),并傳送到指定目的。CML用于反邏輯輸出非常方便。2/3/2023MOV指令:X1為ON時,源操作數(shù)中的常數(shù)100被傳送到目的操作數(shù)D10中,并自動轉(zhuǎn)換為二進制數(shù)。SMOV指令:X0為ON時,將D1中轉(zhuǎn)換后的BCD碼右起第4位(m1=4)開始的2位(m2=2)移到目的操作數(shù)D2的右起第3位(n=3)和第2位,然后D2中的BCD碼自動轉(zhuǎn)換為二進制碼,D2中的BCD碼的第1位和第4位不受移位傳送指令的影響。(見P.102圖5-12舉例)CML指令:將D0的低4位取反后傳送到Y(jié)003~Y000中。2/3/2023BMOV指令:源元件與目標元件的類型相同時的數(shù)據(jù)塊傳送。FMOV指令:X2為ON時將常數(shù)0送到D5~D14這10個(n=10)數(shù)據(jù)寄存器中。XCH指令:數(shù)據(jù)在指定的目的元件D10和D11之間交換,交換指令一般采用脈沖執(zhí)行方式。

2/3/2023數(shù)據(jù)變換指令:二進制數(shù)轉(zhuǎn)換成BCD碼并傳送BCD(BinaryCodetoDecimal,FNC18)

BCD碼轉(zhuǎn)換為二進制數(shù)并傳送BIN(Binary,FNC19)當X0為ON時,源元件D12中的二進制數(shù)轉(zhuǎn)換成BCD碼送到目標元件Y7-Y0。BIN指令常用于將數(shù)字開關(guān)的BCD碼轉(zhuǎn)換成二進制碼輸入PLC。2/3/2023舉例:2/3/2023第四節(jié)其它功能指令介紹算術(shù)及邏輯運算功能指令除法指令DIV(Division,FNC23)字邏輯異或指令WXOR(WordExclusiveOR,FNC28)2/3/2023

循環(huán)與移位功能指令移位寄存器又稱為先入先出FIFO(FirstinFirstout)堆棧,堆棧的長度范圍為2~512個字。用于FIFO堆棧的讀寫,先寫入的數(shù)據(jù)先讀出。

先入先出寫入指令SFWR(ShiftRegisterWrite)先入先出讀出指令SFRD(ShiftRegisterRead)2/3/2023產(chǎn)品進出庫控制電路

數(shù)據(jù)處理功能指令編碼指令ENCO(Encode,FNC42)2/3/2023n表示編碼位數(shù)。n=3時,當源操作數(shù)是位元件,則對8個位元件進行操作;源操作數(shù)是字元件時,則對其低8位進行操作。當源操作數(shù)有多個位是1時,低位被忽略,只對高位操作。電梯中的樓層顯示。假設(shè)一10層樓電梯,電梯從一樓到十樓時,分別把M0-M9置1,則數(shù)字顯示是從1-10。D101存放電梯當前所處的層數(shù)。2/3/2023

高速處理功能指令刷新和濾波時間常數(shù)調(diào)整指令REFF(RefreshandFilterAdjust,FNC51)為防止輸入噪聲影響,PLC輸入端都有RC濾波,濾波時間常數(shù)10ms左右。為提高PLC的輸入響應(yīng)速度,F(xiàn)X2N系列PLC的X0~X17端設(shè)計了電子濾波,濾波時間可用REFF指令加以調(diào)整。當X010為ON時,X0~X17的輸入濾波時間常數(shù)被設(shè)定為1ms(n=1),并立即將X0~X17的狀態(tài)讀入到輸入映像寄存器中;當X010為OFF時,濾波時間轉(zhuǎn)換為10ms。2/3/2023速度檢測指令SPD(SpeedDetect,FNC56)用來檢測給定時間內(nèi)從編碼器輸入的脈沖個數(shù),并計算出速度。[S1]為X0-X5,[S2]可取所有的數(shù)據(jù)類型,用來指定計數(shù)時間,[D]存放指定時間內(nèi)的脈沖數(shù)。轉(zhuǎn)速n用下式表示:式中,n為轉(zhuǎn)速(r/min);t為S2指定的計數(shù)時間(ms);n0為每轉(zhuǎn)脈沖數(shù)。舉例:用旋轉(zhuǎn)編碼器測量電動機的轉(zhuǎn)速,設(shè)編碼器每轉(zhuǎn)輸出360個脈沖。2/3/2023可以用SPD指令測出100ms所得到的脈沖數(shù),再代入轉(zhuǎn)速公式進行計算。設(shè)編碼器輸出的脈沖送入PLC的X0點,D10為電動機的轉(zhuǎn)速。脈寬調(diào)制指令PWM(PulseWidthModulation,F(xiàn)NC58)用于產(chǎn)生指定脈沖寬度和周期的脈沖串。

2/3/2023[S1]表示產(chǎn)生脈沖的寬度t;[S2]表示脈沖的周期T;[D]是脈沖的輸出點,只限于Y0或Y1。D10的值從0~50變化時,Y001輸出的脈沖的占空比從0~1變化。當X11=OFF時,Y1停止輸出脈沖。

方便功能指令利用最簡單的順控程序進行復雜控制。有10種特殊定時器指令STMR(SpecialTimer,FNC65)用來產(chǎn)生延時斷開定時器、單脈沖定時器和閃動定時器。2/3/2023T10的設(shè)定值為10s(m=100)。目的操作數(shù)D中指定起始號為M0的4個連續(xù)編號的編程器件。M0是延時10s斷開器件。M1是X0由ON→OFF后的單脈沖器件,產(chǎn)生的脈寬為10s。M2是X0由OFF→ON后的單脈沖器件。M3為延遲10s接通和延遲10s關(guān)斷的器件。M2和M3是為閃動而設(shè)的。

當X0為OFF時,M0、M1、M3經(jīng)過設(shè)定值的時間后關(guān)斷,T10同時復位。2/3/2023說明:M3的常閉觸點接到STMR指令的輸入電路中,使M1、M2產(chǎn)生閃動輸出。舉例:輸入斷開時,M1產(chǎn)生單脈沖;輸入接通時,M2產(chǎn)生單脈沖;M3為延時接通與延時關(guān)斷器件。2/3/2023交替輸出指令A(yù)LT(Alternate,F(xiàn)NC66)應(yīng)用交替輸出指令A(yù)LT能實現(xiàn)用一個按鈕控制負載的啟動和停止。2/3/2023數(shù)據(jù)排序指令SORT(Sort,FNC69)將數(shù)據(jù)編號,按指定的內(nèi)容重新排列,該指令只能用一次。

SORT指令是以D100-D119組成一個5行4列的列表,然后以n指定的列為參考做從小到大的排列,排列結(jié)果存放在D200-D219中。X10=ON開始數(shù)據(jù)排列,運行完畢后M8029=ON;再運行將X10置OFF一次。2/3/2023舉例:把D1-D10中的內(nèi)容從小到大排列。

外圍設(shè)備I/O功能指令十鍵輸入指令TKY(TenKey,FNC70)是用10個按鍵輸入十進制數(shù)的功能指令。2/3/2023上圖功能為由接在X000~X011端口上的10個按鍵輸入4位十進制數(shù)據(jù),存入數(shù)據(jù)寄存器D0中。當使用DTKY指令時,D0與D1成對使用,最大存入的數(shù)據(jù)為99999999。2/3/2023若按鍵的順序為①、②、③、④時,則D0中存的數(shù)據(jù)為用二進制碼表示的十進制數(shù)2130。若輸入的數(shù)據(jù)大于9999,則高位溢出并丟失。右圖給出了與X000~X011一一對應(yīng)的輔助繼電器M10~M19以及輔助繼電器M20的動作。當X002按下后M12置1并保持至下一鍵X001按下,其它鍵也一樣。M20為鍵輸入脈沖,可用于記錄鍵按下的次數(shù)。當有兩

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論