




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程:可編程控制器單位:電氣工程及自動(dòng)化學(xué)院制作:包建華第一節(jié)功能指令概述一、功能指令的表示方法與執(zhí)行形式
FX2N系列PLC的功能指令由功能編號(hào)FNC00~FNC246指定,各指令有表示其內(nèi)容的助記符符號(hào)。功能指令多數(shù)情況下將功能編號(hào)與操作數(shù)組合在一起使用。功能指令的操作數(shù)分為源操作數(shù)S、目的操作數(shù)D和輔助操作數(shù)m、n。源操作數(shù)、目的操作數(shù)和輔助操作數(shù)多于1個(gè)時(shí)分別用S1、S2…,D1、D2…以及m1、m2,n1、n2…表示。位元件:X、Y、M、S。Kn加位元件的組合,也可處理數(shù)字?jǐn)?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í)使用一對(duì)數(shù)據(jù)寄存器的組合。定時(shí)器T和計(jì)數(shù)器C的當(dāng)前值寄存器可作為一般寄存器處理,但是,C200~C255的1點(diǎn)是32位計(jì)數(shù)器,可直接處理32位數(shù),不能作為16位指令的操作數(shù)使用。2/3/2023功能指令有脈沖執(zhí)行型和連續(xù)執(zhí)行型。脈沖執(zhí)行型功能指令采用助記符后加P表示,其指令只在驅(qū)動(dòng)條件從OFF→ON變化時(shí)執(zhí)行一次,其他時(shí)刻不執(zhí)行;助記符后無P的指令為連續(xù)執(zhí)行型,連續(xù)執(zhí)行型功能指令在各掃描周期都執(zhí)行,操作數(shù)的內(nèi)容每個(gè)掃描周期都變化。
四、變址寄存器V、Z
變址寄存器用來修改操作對(duì)象元件號(hào)。將V、Z組合可進(jìn)行32位運(yùn)算,此時(shí)V為高位,Z為低位。利用V、Z可使某些編程得到簡化。2/3/2023上圖實(shí)現(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)指令可以縮短掃描周期。一個(gè)指針只能出現(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í)中斷和高速計(jì)數(shù)器中斷輸入中斷用來接收特定的輸入地址號(hào)的輸入信號(hào),輸入中斷指針I(yè)□0△。最高位□與X0~X5的元件號(hào)相對(duì)應(yīng),最低位△為0時(shí)表示下降沿中斷,為1時(shí)表上升沿中斷。定時(shí)器中斷指針為I6□□~I(xiàn)8□□,低兩位是以ms為單位定時(shí)時(shí)間(10~99ms)。M8056~M8058為ON時(shí),將分別禁止定時(shí)中斷0~2。計(jì)數(shù)器中斷指針為I0□0(□=1~6)。計(jì)數(shù)器中斷與HSCS(高速計(jì)數(shù)器比較置位)指令配合使用,根據(jù)高速計(jì)數(shù)器的計(jì)數(shù)當(dāng)前值與計(jì)數(shù)設(shè)定值的關(guān)系來確定是否執(zhí)行相應(yīng)的中斷服務(wù)程序。
2/3/2023PLC通常處于禁止中斷狀態(tài),指令EI和DI之間的程序段為允許中斷區(qū)間。中斷程序應(yīng)放在FEND指令之后,IRET指令只能在中斷程序中使用。
特殊輔助繼電器M805△為ON時(shí)(△=0~8),禁止執(zhí)行相應(yīng)的中斷I△□□(□□是與中斷有關(guān)的數(shù)字)。M8059為ON時(shí),關(guān)閉所有的計(jì)數(shù)器中斷。如果有多個(gè)中斷信號(hào)依次發(fā)出,則優(yōu)先級(jí)按發(fā)生的先后為序,發(fā)生越早的優(yōu)先級(jí)越高。若同時(shí)發(fā)生多個(gè)中斷信號(hào),中斷指針號(hào)小的優(yōu)先級(jí)高。如中斷信號(hào)在禁止中斷區(qū)間出現(xiàn),該中斷信號(hào)被儲(chǔ)存,并在EI指令之后響應(yīng)中斷。2/3/2023四、主程序結(jié)束指令主程序結(jié)束指令FEND(FirstEnd,F(xiàn)NC06):表示主程序的結(jié)束和子程序的開始。注意事項(xiàng):1、執(zhí)行到FEND指令時(shí)PLC進(jìn)行輸入輸出處理、監(jiān)控定時(shí)器刷新,完成后返回第0步。2、子程序(包括中斷子程序)應(yīng)放在FEND指令之后。3、CALL指令調(diào)用的子程序必須用SRET指令結(jié)束;中斷子程序必須以IRET指令結(jié)束。4、若FEND指令在CALL指令執(zhí)行之后和SRET指令執(zhí)行之前出現(xiàn),則程序出錯(cuò)。5、另一個(gè)類似的錯(cuò)誤是FEND指令出現(xiàn)在FOR-NEXT循環(huán)中。6、使用多條FEND指令時(shí),中斷程序應(yīng)放在最后的FEND指令和END指令之間。
2/3/2023主程序結(jié)束指令的功能舉例:當(dāng)X010為OFF時(shí),不執(zhí)行跳轉(zhuǎn)指令,僅執(zhí)行主程序;當(dāng)X010為ON時(shí),執(zhí)行跳轉(zhuǎn)指令,跳到指針標(biāo)號(hào)P20處,執(zhí)行第二個(gè)主程序。在第二個(gè)主程序中,若X011為OFF,僅執(zhí)行第二個(gè)主程序,若X011為ON,調(diào)用指針標(biāo)號(hào)為P21的子程序。結(jié)束后,通過SRET指令返回原斷點(diǎn),繼續(xù)執(zhí)行第二個(gè)主程序。
2/3/2023五、監(jiān)控定時(shí)器指令WDT(WatchDogTimer,FNC07)WDT指令是在控制程序中刷新(復(fù)位)警戒定時(shí)器的指令。如果執(zhí)行程序的掃描周期(從0步到END或FEND之間)超過200ms,警戒定時(shí)器邏輯線圈被接通,PLC停止運(yùn)行。WDT指令插到合適程序步中修改警戒定時(shí)器的設(shè)定值2/3/2023六、循環(huán)開始(FOR)和結(jié)束(NEXT)指令FOR指令表示循環(huán)區(qū)的起點(diǎn),NEXT表示循環(huán)區(qū)終點(diǎn),F(xiàn)OR與NEXT之間的程序被反復(fù)執(zhí)行,執(zhí)行完后,執(zhí)行NEXT后面的指令。執(zhí)行次數(shù)n(n=1~32767)由FOR指令的源操作數(shù)設(shè)定。FOR與NEXT循環(huán)可以嵌套5層。FOR與NEXT指令必須成對(duì)使用。左圖中,外層循環(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)多點(diǎn)傳送FMOV(FillMove,FNC16)數(shù)據(jù)交換XCH(Exchange,FNC17)
傳送指令MOV將源數(shù)據(jù)傳送到指定目的。移位傳送指令SMOV是進(jìn)行數(shù)據(jù)分配與合成的指令,將4位BCD十進(jìn)制源數(shù)據(jù)S中指定位數(shù)的數(shù)據(jù)傳送到4位十進(jìn)制目的操作數(shù)D中指定的位置。取反傳送指令CML將源元件中的數(shù)據(jù)逐位取反(1→0,0→1),并傳送到指定目的。CML用于反邏輯輸出非常方便。2/3/2023MOV指令:X1為ON時(shí),源操作數(shù)中的常數(shù)100被傳送到目的操作數(shù)D10中,并自動(dòng)轉(zhuǎn)換為二進(jìn)制數(shù)。SMOV指令:X0為ON時(shí),將D1中轉(zhuǎn)換后的BCD碼右起第4位(m1=4)開始的2位(m2=2)移到目的操作數(shù)D2的右起第3位(n=3)和第2位,然后D2中的BCD碼自動(dòng)轉(zhuǎn)換為二進(jìn)制碼,D2中的BCD碼的第1位和第4位不受移位傳送指令的影響。(見P.102圖5-12舉例)CML指令:將D0的低4位取反后傳送到Y(jié)003~Y000中。2/3/2023BMOV指令:源元件與目標(biāo)元件的類型相同時(shí)的數(shù)據(jù)塊傳送。FMOV指令:X2為ON時(shí)將常數(shù)0送到D5~D14這10個(gè)(n=10)數(shù)據(jù)寄存器中。XCH指令:數(shù)據(jù)在指定的目的元件D10和D11之間交換,交換指令一般采用脈沖執(zhí)行方式。
2/3/2023數(shù)據(jù)變換指令:二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼并傳送BCD(BinaryCodetoDecimal,FNC18)
BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)并傳送BIN(Binary,FNC19)當(dāng)X0為ON時(shí),源元件D12中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼送到目標(biāo)元件Y7-Y0。BIN指令常用于將數(shù)字開關(guān)的BCD碼轉(zhuǎn)換成二進(jìn)制碼輸入PLC。2/3/2023舉例:2/3/2023第四節(jié)其它功能指令介紹算術(shù)及邏輯運(yùn)算功能指令除法指令DIV(Division,FNC23)字邏輯異或指令WXOR(WordExclusiveOR,FNC28)2/3/2023
循環(huán)與移位功能指令移位寄存器又稱為先入先出FIFO(FirstinFirstout)堆棧,堆棧的長度范圍為2~512個(gè)字。用于FIFO堆棧的讀寫,先寫入的數(shù)據(jù)先讀出。
先入先出寫入指令SFWR(ShiftRegisterWrite)先入先出讀出指令SFRD(ShiftRegisterRead)2/3/2023產(chǎn)品進(jìn)出庫控制電路
數(shù)據(jù)處理功能指令編碼指令ENCO(Encode,FNC42)2/3/2023n表示編碼位數(shù)。n=3時(shí),當(dāng)源操作數(shù)是位元件,則對(duì)8個(gè)位元件進(jìn)行操作;源操作數(shù)是字元件時(shí),則對(duì)其低8位進(jìn)行操作。當(dāng)源操作數(shù)有多個(gè)位是1時(shí),低位被忽略,只對(duì)高位操作。電梯中的樓層顯示。假設(shè)一10層樓電梯,電梯從一樓到十樓時(shí),分別把M0-M9置1,則數(shù)字顯示是從1-10。D101存放電梯當(dāng)前所處的層數(shù)。2/3/2023
高速處理功能指令刷新和濾波時(shí)間常數(shù)調(diào)整指令REFF(RefreshandFilterAdjust,FNC51)為防止輸入噪聲影響,PLC輸入端都有RC濾波,濾波時(shí)間常數(shù)10ms左右。為提高PLC的輸入響應(yīng)速度,F(xiàn)X2N系列PLC的X0~X17端設(shè)計(jì)了電子濾波,濾波時(shí)間可用REFF指令加以調(diào)整。當(dāng)X010為ON時(shí),X0~X17的輸入濾波時(shí)間常數(shù)被設(shè)定為1ms(n=1),并立即將X0~X17的狀態(tài)讀入到輸入映像寄存器中;當(dāng)X010為OFF時(shí),濾波時(shí)間轉(zhuǎn)換為10ms。2/3/2023速度檢測(cè)指令SPD(SpeedDetect,FNC56)用來檢測(cè)給定時(shí)間內(nèi)從編碼器輸入的脈沖個(gè)數(shù),并計(jì)算出速度。[S1]為X0-X5,[S2]可取所有的數(shù)據(jù)類型,用來指定計(jì)數(shù)時(shí)間,[D]存放指定時(shí)間內(nèi)的脈沖數(shù)。轉(zhuǎn)速n用下式表示:式中,n為轉(zhuǎn)速(r/min);t為S2指定的計(jì)數(shù)時(shí)間(ms);n0為每轉(zhuǎn)脈沖數(shù)。舉例:用旋轉(zhuǎn)編碼器測(cè)量電動(dòng)機(jī)的轉(zhuǎn)速,設(shè)編碼器每轉(zhuǎn)輸出360個(gè)脈沖。2/3/2023可以用SPD指令測(cè)出100ms所得到的脈沖數(shù),再代入轉(zhuǎn)速公式進(jìn)行計(jì)算。設(shè)編碼器輸出的脈沖送入PLC的X0點(diǎn),D10為電動(dòng)機(jī)的轉(zhuǎn)速。脈寬調(diào)制指令PWM(PulseWidthModulation,F(xiàn)NC58)用于產(chǎn)生指定脈沖寬度和周期的脈沖串。
2/3/2023[S1]表示產(chǎn)生脈沖的寬度t;[S2]表示脈沖的周期T;[D]是脈沖的輸出點(diǎn),只限于Y0或Y1。D10的值從0~50變化時(shí),Y001輸出的脈沖的占空比從0~1變化。當(dāng)X11=OFF時(shí),Y1停止輸出脈沖。
方便功能指令利用最簡單的順控程序進(jìn)行復(fù)雜控制。有10種特殊定時(shí)器指令STMR(SpecialTimer,FNC65)用來產(chǎn)生延時(shí)斷開定時(shí)器、單脈沖定時(shí)器和閃動(dòng)定時(shí)器。2/3/2023T10的設(shè)定值為10s(m=100)。目的操作數(shù)D中指定起始號(hào)為M0的4個(gè)連續(xù)編號(hào)的編程器件。M0是延時(shí)10s斷開器件。M1是X0由ON→OFF后的單脈沖器件,產(chǎn)生的脈寬為10s。M2是X0由OFF→ON后的單脈沖器件。M3為延遲10s接通和延遲10s關(guān)斷的器件。M2和M3是為閃動(dòng)而設(shè)的。
當(dāng)X0為OFF時(shí),M0、M1、M3經(jīng)過設(shè)定值的時(shí)間后關(guān)斷,T10同時(shí)復(fù)位。2/3/2023說明:M3的常閉觸點(diǎn)接到STMR指令的輸入電路中,使M1、M2產(chǎn)生閃動(dòng)輸出。舉例:輸入斷開時(shí),M1產(chǎn)生單脈沖;輸入接通時(shí),M2產(chǎn)生單脈沖;M3為延時(shí)接通與延時(shí)關(guān)斷器件。2/3/2023交替輸出指令A(yù)LT(Alternate,F(xiàn)NC66)應(yīng)用交替輸出指令A(yù)LT能實(shí)現(xiàn)用一個(gè)按鈕控制負(fù)載的啟動(dòng)和停止。2/3/2023數(shù)據(jù)排序指令SORT(Sort,FNC69)將數(shù)據(jù)編號(hào),按指定的內(nèi)容重新排列,該指令只能用一次。
SORT指令是以D100-D119組成一個(gè)5行4列的列表,然后以n指定的列為參考做從小到大的排列,排列結(jié)果存放在D200-D219中。X10=ON開始數(shù)據(jù)排列,運(yùn)行完畢后M8029=ON;再運(yùn)行將X10置OFF一次。2/3/2023舉例:把D1-D10中的內(nèi)容從小到大排列。
外圍設(shè)備I/O功能指令十鍵輸入指令TKY(TenKey,FNC70)是用10個(gè)按鍵輸入十進(jìn)制數(shù)的功能指令。2/3/2023上圖功能為由接在X000~X011端口上的10個(gè)按鍵輸入4位十進(jìn)制數(shù)據(jù),存入數(shù)據(jù)寄存器D0中。當(dāng)使用DTKY指令時(shí),D0與D1成對(duì)使用,最大存入的數(shù)據(jù)為99999999。2/3/2023若按鍵的順序?yàn)棰?、②、③、④時(shí),則D0中存的數(shù)據(jù)為用二進(jìn)制碼表示的十進(jìn)制數(shù)2130。若輸入的數(shù)據(jù)大于9999,則高位溢出并丟失。右圖給出了與X000~X011一一對(duì)應(yīng)的輔助繼電器M10~M19以及輔助繼電器M20的動(dòng)作。當(dāng)X002按下后M12置1并保持至下一鍵X001按下,其它鍵也一樣。M20為鍵輸入脈沖,可用于記錄鍵按下的次數(shù)。當(dāng)有兩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋整修合同協(xié)議書范本
- 工傷解除勞動(dòng)合同協(xié)議書
- 運(yùn)輸車輛維修合同協(xié)議書
- 發(fā)廊員工合同協(xié)議書
- 砌體合同協(xié)議書
- 雇傭工合同協(xié)議書
- 紡織品樣品制作流程詳解試題及答案
- 貼瓷磚安全合同協(xié)議書
- 飛鳥學(xué)堂測(cè)試題及答案
- 崗位合同協(xié)議書
- 作業(yè)許可檢查表
- 城市雕塑藝術(shù)工程工程量計(jì)價(jià)清單定額2022年版
- 績溪事業(yè)單位招聘考試《行測(cè)》歷年真題匯總及答案解析精選V
- 湘美版美術(shù)三年級(jí)下冊(cè) 《漁家樂-蟳埔情》課件(共20張PPT)
- 農(nóng)產(chǎn)品集中交易市場(chǎng)等級(jí)技術(shù)規(guī)范-編制說明
- 張京16分鐘中英文對(duì)照翻譯稿
- 武漢綠地中心項(xiàng)目技術(shù)管理策劃書(48頁)
- 油田相關(guān)業(yè)務(wù)的稅制及稅率
- 北師大版物理八年級(jí)下冊(cè)課課練:專題訓(xùn)練 透鏡的相關(guān)作圖(含答案)
- 《國際經(jīng)濟(jì)法》案例思考題
- 投擲:原地投擲壘球
評(píng)論
0/150
提交評(píng)論