第5章 常用功能指令及其它應(yīng)用-V1_第1頁
第5章 常用功能指令及其它應(yīng)用-V1_第2頁
第5章 常用功能指令及其它應(yīng)用-V1_第3頁
第5章 常用功能指令及其它應(yīng)用-V1_第4頁
第5章 常用功能指令及其它應(yīng)用-V1_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章常用功能指令及其它應(yīng)用要完成一個PLC控制系統(tǒng),除了要充分熟悉PLC的外部特性和輸入輸出功能外,還必須熟悉PLC的一系列復(fù)雜的運算(邏輯運算和數(shù)學(xué)運算等)。PLC的邏輯指令與步進指令只能對一些位元件(X、M、S、Y、T、C)施加邏輯運算。PLC內(nèi)部還有字元件,如寄存器D,定時器之時間暫存器、計數(shù)器C之次數(shù)暫存器,一些位元件X、Y、M、S也可以通過一定的方式變成字元件,對它們進行數(shù)據(jù)處理(數(shù)據(jù)傳送,邏輯運算和數(shù)學(xué)運算等等)必通過PLC功能指令來實現(xiàn)。功能指令實際上就是許多功能不同的子程序。三菱FX2N型PLC功能指令種類繁多,共有128種,298條。按大類來分,有:程序流控制、數(shù)據(jù)傳送與比較,算術(shù)運算與邏輯運算、循環(huán)移位與普通移位、數(shù)據(jù)處理、高速處理、方便指令、外部設(shè)備指令、復(fù)雜運算與控制指令。在此我們只能介紹一些常用的比較典型的功能指令。5-1功能指令的基本格式功能指令的出現(xiàn)大大拓寬了PLC的應(yīng)用范圍,而功能指令都有通用的表達形式。功能指令按功能號FNC00~FNC99編排。每條功能指令都有一個指令助記符。一、功能指令的表達式上圖中功能號為45的指令是一條數(shù)據(jù)處理平均值功能指令。圖中(P)是脈沖執(zhí)行功能,(16)表示只能做16位操作,這條平均值指令是7步指令。[S]是源操作數(shù)。若使用變址功能時,表示為[S.]形式。有時源操作數(shù)不止一個,可用[S1.]、

[S2.]表示。[D]是目標(biāo)操作數(shù)。若使用變址功能時,表示為[D.]。目標(biāo)不止一個時使用[D1.]、[D2.]表示。m與n是表示其它操作數(shù)。常用來表示常數(shù)或者作為源操作數(shù)和目標(biāo)操作數(shù)的補充說明。表示常數(shù)時,十進制K和十六進制H。需注釋的項目較多時可采用m1、m2等方式。

功能指令的功能號和指令助記符占2個或4個程序步(做16位操作是2個程序步,32位操作是4個程序步)。二、數(shù)據(jù)長度和指令類型功能指令可處理16位數(shù)據(jù)和32位數(shù)據(jù)。功能指令中用符號(D)表示處理32位數(shù)據(jù),如(D)MOV、FNC(D)12指令。處理32位數(shù)據(jù)時,用元件號相鄰的兩元件組成元件對。元件對的首地址用奇數(shù)、偶數(shù)均可。建議元件對首地址統(tǒng)一用偶數(shù)編號。1)數(shù)據(jù)長度2)指令類型FXPLC的功能指令有連續(xù)執(zhí)行型和脈沖執(zhí)行型兩種形式。助記符后附的(P)符號表示脈沖執(zhí)行。(P)和(D)可同時使用,如(D)MOV(P)。該脈沖執(zhí)行的指令僅在X1由OFF轉(zhuǎn)為ON時有效。在不需要每個掃描周期都執(zhí)行時,用脈沖執(zhí)行方式可縮短程序處理時間。3)位元件和字元件位元件:只處理ON/OFF狀態(tài)的元件稱為位元件。例如,X、Y、M和S。字元件:處理數(shù)據(jù)的元件稱為字元件。如,T、C和D等。但由由位元件也可構(gòu)成字元件進行數(shù)據(jù)處理。位元件的組合4個位元件為一組組合成單元。KnM0中的n是組數(shù)。16位數(shù)操作時為K1~K4,32位數(shù)操作時為K1~K8。例如K2M0表示由M7~M0組成的8位數(shù)據(jù);K4M10表示由M25到M10組成的16位數(shù)據(jù),M10是最低位。被組合的位元件的首元件號可以是任意的,但習(xí)慣上采用以0結(jié)尾的元件。如X0、X10等。例如,K2Y0用在32位操作時,高16位作0處理,要獲得32位數(shù)據(jù)需用K8Y0。4)變址寄存器V、Z變址寄存器在傳送、比較指令中用來修改操作對象的元件號。其操作方式與普通數(shù)據(jù)寄存器一樣。上圖表示從KnY到V、Z都可作為功能指令的源操作數(shù)。在[D·]中的[·]表示可以加入變址寄存器。對32位指令,V作高16位,Z作低16位。32位指令中用到變址寄存器時只需指定Z,這時Z就代表了V和Z,這時Z就代表了V和Z。在32位指令中,V、Z自動組對使用。在上圖中K10送到V,K20送到Z,所以(V)(Z)的內(nèi)容分別為10、20。當(dāng)(D5V)+(D15Z)→(D40Z),即(D15)+(D35)→(D60)。V和Z變址寄存器的使用將編程簡化。5-2常用功能指令與編程一、程序流程控制指令(FNC0~FNC9)程序流程控制功能指令共有10條。分別是CJ條件跳轉(zhuǎn)、CALL調(diào)用子程序、SRET子程序返回、IRET中斷返回、EI允許中斷、DI禁止中斷、FEND主程序結(jié)束、WPT監(jiān)視定時器刷新、FOR循環(huán)開始、NEXT循環(huán)結(jié)束功能指令。在這里介紹常用的9條1.條件跳轉(zhuǎn)CJ(FNC00)指令該指令的助記符、功能指令號、操作元件、程序步等如下:指令名稱助記符功能指令號操作元件程序步條件跳轉(zhuǎn)CJFNC00指針P0~P63CJ和CJ(P)……3步標(biāo)號P……1步條件跳轉(zhuǎn)、轉(zhuǎn)子程序、中斷和循環(huán)程序的運行原理例5-1分析下列梯形圖說明條件跳轉(zhuǎn)指令的原理。如果在做實驗時,若先按住按鈕X1不松手,再按住按鈕X0不松手,而后松開X1,則Y0繼續(xù)通電,直至松開X0,Y0才斷電。這是什么原因呢?事實上,在X0閉合的若干個掃描周期內(nèi),LDX0與P6之間的程序不在執(zhí)行,只能執(zhí)行LDX0之前與P6之后的程序。2.調(diào)用子程序CALL、子程序返回SRET、主程序結(jié)束FEND指令指令名稱助記符功能指令號操作元件程序步子程序調(diào)用CALLFNC01指令P0~P623步+1步子程序返回SRETFNC02無1步主程序結(jié)束FENDFNC06無1步在計算機程序設(shè)計中,常將一些常用的程序編制成子程序形式,以便被主程序或其它子程序調(diào)用,各種調(diào)用只是同一子程序內(nèi)的某些參數(shù)和子程序的執(zhí)行結(jié)果略有不同,但子程序基本結(jié)構(gòu)不變這三條指令的助記符、功能指令號、操作元件和程序步如下:例5-2分析下列梯形圖說明子程序調(diào)用指令的原理。如果在做實驗時,若先按住按鈕X1不松手,再按住X0不松手,而后松開X1,則Y0不通電,但若此時按住按鈕X2,則Y5通電,接著先斷開X0,而后斷開X2,則Y5繼續(xù)通電。3.中斷返回IRET、允許中斷EI、禁止中斷DI指令這三條指令的助記符、功能指令號、操作元件和程序步如下:指令名稱助記符功能指令號操作元件程序步中斷返回IRETFNC03無1步允許中斷EIFNC04無1步禁止中斷DIFNC05無1步三菱FX系列PLC的外部中斷源有6點,即X0~X5,為輸入中斷源。若是下降沿觸發(fā)中斷,則中斷指針標(biāo)號為I000~I500,若是上升沿觸發(fā)中斷,則中斷指針標(biāo)號為I001~I501。內(nèi)部中斷源為定時器中斷3點,中斷指針標(biāo)號為I610~99(10~99ms)、I710~99(10~99ms)、I810~99(10~99ms)。例如,在I610的場合,就每隔10ms執(zhí)行中斷指針標(biāo)號I610與中斷返回IRET之間的程序,即中斷服務(wù)程序。在梯形圖中,未見到X0和X1,折先按住按鈕X6不松手,則Y4不亮,再按動輸入中斷信號X0(上升沿觸發(fā)),則Y4亮,而后松開X6,但Y4繼續(xù)亮,不過,若再次按動X0(下降沿觸發(fā)),Y4熄滅。當(dāng)先按動X0,再按住X6,則Y4不亮。設(shè)先按住X7不松手,則Y6不亮,再按下輸入中斷信號X1(下降沿觸發(fā))不松手,Y6仍然不亮,直至松開X1,則Y6亮,而后松開X7,但Y6繼續(xù)亮,不過,若再次按下X1且松手后,Y6就熄滅。當(dāng)先按動X1,再按住X7,則Y6不亮。例5-3分析下列梯形圖說明中斷指令的原理。4.循環(huán)FOR(FNC08)、NEXT(FNC09)指令指令名稱助記符功能指令號操作元件程序步循環(huán)開始FORFNC08K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z3步(嵌套5層)循環(huán)結(jié)束NEXTFNC09

1步例5-4分析下列梯形圖說明循環(huán)指令的原理。在做實驗時,如果按動按鈕X0以后,Y0燈亮,M0僅閉合一個周期,這樣在M0所示的一個掃描周期內(nèi),OUTY7指令執(zhí)行了3000次,持續(xù)時間大約有1S,我們可以看到Y(jié)7燈亮1S左右的時間,接下去到了下一個掃描周期,雖然也會循環(huán)32767次,但OUTY7指令一次都不執(zhí)行。二、傳送與比較指令(FNC10~FNC19)傳送與比較指令共有10條,分別是CMP比較,ZCP區(qū)間比較、MOV傳送、SMOV移位傳送、CML取反、BMOV塊傳送、FMOV多點傳送、XCH數(shù)據(jù)交換、BCD交換、BIN功能指令。在這里介紹常用的4種。1.比較CMP(FNC10)指令指令名稱助記符功能號操作數(shù)程序步S1.S2.D.比較指令CMPFNC10K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZY、M、SCMP、CMPP…7步DCMP、PCMPP…13步這是一條三個操作數(shù)(2個源操作數(shù)、一個目標(biāo)操作數(shù))的指令。源操作數(shù)的數(shù)據(jù)作代數(shù)比較(如-2<1),且所有源操作數(shù)的數(shù)據(jù)和目標(biāo)操作數(shù)的數(shù)據(jù)均作二進制數(shù)據(jù)處理。程序中的M0、M1、M2根據(jù)比較的結(jié)果動作。K100>C20的當(dāng)前值時,M0接通;K100=C20的當(dāng)前值時;M1接通;K100<C20的當(dāng)前值時,M2接通。當(dāng)執(zhí)行條件X0為OFF時,比較指令CMP不執(zhí)行,M0、M1、M2的狀態(tài)保持不變。2.傳送MOV(FNC12)和取反傳送CML(FNC14)指令該指令的名稱、助記符、功能編號、操作數(shù)和程序步如下:指令名稱助記符功能號操作數(shù)程序步S·D·傳送指令MOVFNC12K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZKnY、KnM、

KnS、T、C、D、V、ZMOV、MOVP…5步DMOV、DMOVP…9步取反CMLFNC14同上同上CML指令是把[S.]中的數(shù)據(jù)逐位取反送到[D.]中去。

3.數(shù)據(jù)交換XCH(FNC17)指令該指令的名稱、助記符、功能編號、操作數(shù)和程序步如下:指令名稱助記符功能號操作數(shù)程序步D1D2.數(shù)據(jù)交換XCHFNC17KnY、KnM、KnS、T、C、D、V、ZXCH、XCHP…5步DXCH、DXCHP…9步數(shù)據(jù)交換指令XCH是將數(shù)據(jù)在指定的目標(biāo)元件之間交換4.BCD變換(FNC18)指令操作元件與MOV指定相同。BCD和BCDP為5步,DBCD和DBCDP為9步。我們知道,計數(shù)器的數(shù)據(jù)寄存器等存儲元件一般以二進制方式存放數(shù)據(jù),但人們習(xí)慣于十進制編碼,進而產(chǎn)生了BCD碼,即二十進制編碼,用4位二進制數(shù)來表示十進制數(shù)字0~9(1001對應(yīng)9),所謂BCD變換就是將二進制編碼存放的數(shù)自動轉(zhuǎn)換成BCD碼進行存放。例5-5傳送與比較指令舉例進行實驗時,當(dāng)按動X0以后,請觀察PLC輸出發(fā)光管的顯示情況,二進制數(shù)Y3~Y0之間的十進制數(shù)是否為8,Y7~Y4之間是否為9,Y13~Y10是否為3,以進一步理解BCD轉(zhuǎn)換的含義。如果采用CD4511型BCD碼二十進制變換7段數(shù)碼管驅(qū)動數(shù)字集成電路,用Y17~Y14控制低位數(shù)碼管,用Y23~Y20控制中位數(shù)碼管,用Y27~Y24控制高位數(shù)碼管,由于某輸出點Y通電時,對應(yīng)CD4511集成電路的某位相應(yīng)輸入信號反而為邏輯“0”信號,故在PLC梯形圖中輸出之前,必須先進行反相處理,例如,用M100常閉控制Y14等。實驗時,注意在按動X0以后,觀測三位數(shù)碼管是否顯示“398”。梯形圖中最后的CMLPK898K3Y14指令,在X0閉合以后,將K898對應(yīng)的二進制數(shù)逐位取反后再傳送,可使數(shù)顯示為“898”。

三、算術(shù)運算與邏輯運算指令(FNC20-FNC29)算術(shù)運算與邏輯運算指令共有10條。分別是ADD二進制加法、SUB二進制減法、MUL二進制乘法、DIV二進制除法、INC二進制加一、DEC二進制減一、WAND邏輯字與、WOR邏輯字或、WXOR邏輯字異或、NEG求補。1.二進制加法ADD和二進制減法SUB指令指令名稱助記符功能號操作數(shù)程序步S1.S2.D.加法指令A(yù)DDFNC20K、HKnX、KnY、KnM、KnS、T、C、D、V、ZKnY、KnM、KnST、C、D、V、Z16位7步32位13步減法指令SUBFNC21同上同上同上兩指令的運算結(jié)果標(biāo)志為:M8020(零標(biāo)志)、M8021(借位)、M8022(進位)。如果實際運算的結(jié)果為0,則PLC的特殊輔助繼電器M8020通電;若要向高位編程元件借位,則M8021通電;若有進位并向高位編程元件進位,則M8022通電,下面以左圖為例,進一步說明上述指令的用法。2.二進制乘法MUL(FNC22)和二制除法DIV(FNC23)指令

二進制乘法MUL(FNC22)和二進制除法DIV(FNC23)指令的操作數(shù)和程序步與ADD和SUB指令基本相同,所不同的是變址寄存器Z可用于16位運算。四.加1INC(FNC24)和減1DEC(FNC25)指令該指令的名稱、助記符、功能編號、操作數(shù)和程序步如下:指令名稱助記符功能號操作數(shù)程序步D.加1指令I(lǐng)NCFNC24KnY、KnM、KnST、C、D、V、Z16位3步32位5步

減1指令DECFNC254.邏輯字與WAND、字或WOR、字異或WXOR指令指令名稱助記符功能號操作數(shù)程序步S1.S2.D.邏輯字與WANDFNC26K、HKnX、KnY、K

溫馨提示

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

評論

0/150

提交評論