三菱FX系列PLC原理及應(yīng)用 課件 第4章FX3U系列應(yīng)用指令及其應(yīng)用1_第1頁
三菱FX系列PLC原理及應(yīng)用 課件 第4章FX3U系列應(yīng)用指令及其應(yīng)用1_第2頁
三菱FX系列PLC原理及應(yīng)用 課件 第4章FX3U系列應(yīng)用指令及其應(yīng)用1_第3頁
三菱FX系列PLC原理及應(yīng)用 課件 第4章FX3U系列應(yīng)用指令及其應(yīng)用1_第4頁
三菱FX系列PLC原理及應(yīng)用 課件 第4章FX3U系列應(yīng)用指令及其應(yīng)用1_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PLC控制技術(shù)FX3U系列應(yīng)用指令及其應(yīng)用?#?本章內(nèi)容:應(yīng)用指令概述數(shù)據(jù)處理類指令算術(shù)與邏輯運算類、浮點數(shù)類指令程序流程控制類指令外部設(shè)備指令2應(yīng)用指令范圍:從FNC00~FNC295應(yīng)用指令的表示方法1.應(yīng)用指令的表示形式、應(yīng)用與操作意義M8002的常開觸點是執(zhí)行應(yīng)用指令的條件,其后應(yīng)用框的第一個方框表示應(yīng)用指令助記符,第二個方框表示源操作數(shù)(有的應(yīng)用指令會有幾個源操作數(shù),可用Si表示,有的指令可能沒有源操作數(shù)),第三個方框表示目標(biāo)操作數(shù)。源和目標(biāo)操作數(shù)后括號內(nèi)的點,表示可以對指定的軟元件地址變址或?qū)χ付〝?shù)據(jù)變數(shù)據(jù),不帶括號的,表示不可變址或變數(shù)據(jù)。M8002僅接通一個掃描周期后斷開,傳送指令也僅執(zhí)行一次,將源操作數(shù)指定的“十進(jìn)制常數(shù)300”送往目標(biāo)操作數(shù)指定的“數(shù)據(jù)寄存器D100”中。3(應(yīng)用指令概述)應(yīng)用指令都是FNC應(yīng)用指令的助記符2.D指令和P指令應(yīng)用指令有的只能是16位指令,也有的指令即可進(jìn)行16位操作數(shù)操作,也可進(jìn)行32位操作數(shù)操作。若指令允許32位操作數(shù)操作,其指令助記符前要加“D”。當(dāng)X000的上升沿到來時執(zhí)行指令一次,將第一源操作數(shù)S1指定的(D11,D10)中32位數(shù)據(jù)與第二源操作數(shù)S2指定的(D13,D12)中32位數(shù)據(jù)相加,求得的32位之和存入(D15,D14)中。4ADD:16位連續(xù)加法DADD:32位連續(xù)加法ADDP:16位脈沖加法,只執(zhí)行一個掃描周期DADDP:32位脈沖加法,只執(zhí)行一個掃描周期一個指令的四種用法加法指令實例:三菱FX3U系列PLC基本編程-應(yīng)用指令P指令和D指令D指令:同一條應(yīng)用指令有的只能是16位操作,有的指令既可進(jìn)行16位操作,也可進(jìn)行32位操作。若指令允許32位操作數(shù),其指令助記符前要加“D”。三菱FX3U系列PLC基本編程-應(yīng)用指令D11D10+D13D12=D15D14程序步數(shù):一般16位指令為7程序步,32位指令為13程序步。3.操作數(shù)元件的變址或變數(shù)據(jù)的形式、應(yīng)用及操作意義源操作數(shù)S和目標(biāo)操作數(shù)D旁邊帶有“(·)”符號的,表示操作數(shù)指定的軟元件地址可以變址,或指定的操作數(shù)允許變數(shù)據(jù)。16位變址或變數(shù)據(jù)可以選用V0~V7和Z0~Z7中一個變址寄存器實現(xiàn),32位變址或變數(shù)據(jù)可以各用V和Z中一個相同地址元件進(jìn)行組合實現(xiàn)。7(應(yīng)用指令概述)4.應(yīng)用指令的操作數(shù)參數(shù)有參數(shù)要求的應(yīng)用指令8SMOV指令可將源操作數(shù)的16位二進(jìn)制數(shù)據(jù)按四位一組分成4組自動轉(zhuǎn)換成BCD碼,根據(jù)指定的m1組起,將m2組BCD數(shù)據(jù)覆蓋目的操作數(shù)指定的第n組起的m2組數(shù)據(jù)中,構(gòu)成一個新的新目標(biāo)操作數(shù)。數(shù)據(jù)處理類指令比較類指令數(shù)據(jù)傳送類指令循環(huán)與移位類指令數(shù)據(jù)處理其他指令(數(shù)據(jù)處理類指令)比較類指令:整數(shù)比較類指令觸點比較類指令浮點數(shù)比較類指令比較類指令和觸點比較類指令1.整數(shù)比較類指令使源操作數(shù)S1(·)與S2(·)中的常數(shù)或指定軟元件中數(shù)據(jù)進(jìn)行比較。10指令名稱指令代碼位數(shù)助記符操作數(shù)使用范圍程序步S1(·)S2(·)D(·)比較FNC10

(16/32)CMP、CMPPDCMPP、DCMPK、H、KnX、KnY、KnM、KnS、T、C、D、V、Z、、U□\G□Y、M、SD□.bCMP、CMPP…7步DCMP、DCMPP…13步(數(shù)據(jù)處理類指令)K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZY、M、S當(dāng)前值整數(shù)比較類指令:CMP,ZCP【例】使用比較指令將計數(shù)器C0的當(dāng)前值與可變常數(shù)K5Z0進(jìn)行比較,使Y000產(chǎn)生占空比可變、周期為3秒的矩形波脈沖列的程序。C0的當(dāng)前計數(shù)值與K5Z0(=K15)比較M8012每隔0.1S發(fā)脈沖當(dāng)(C0)>K5Z0時,M0=ON,使Y000導(dǎo)通計到設(shè)定值30(即3秒)自動復(fù)位改變Z0中的數(shù)值,可以改變Y000輸出脈沖的占空比。(數(shù)據(jù)處理類指令)(2)區(qū)間比較指令13指令名稱指令代碼位數(shù)助記符操作數(shù)使用范圍程序步S1(·)/S2(·)/S(·)D(·)區(qū)間比較FNC11(16/32)ZCP、ZCPPDZCP、DZCPPK、H、KnX、KnY、KnM、KnST、C、D、V、Z、U□\G□Y、M、SD□.bZCP、ZCPP…9步DZCP、DZCPP…17步(數(shù)據(jù)處理類指令)【例】區(qū)間比較指令應(yīng)用舉例。首先對M0~M2清零,定時器T1定時到設(shè)定值90S便自動復(fù)位,重新開始定時,區(qū)間比較指令將T1的當(dāng)前值與上、下限值比較,若(T1)<K300,M0=ON,Y001導(dǎo)通;若K300≤(T1)≤K600,M1=ON,Y002導(dǎo)通;若(T1)>K600,M2=ON,Y003導(dǎo)通,周而復(fù)始比較。圖(b)是Y001~Y003輸出的開關(guān)波形。14(數(shù)據(jù)處理類指令)產(chǎn)生方波信號

2.觸點比較類指令15FNCNo16位助記符(5步)32位助記符(9步)操作數(shù)使用范圍導(dǎo)通條件非導(dǎo)通條件S1(·)S2(·)224LD=DLD=K、H、KnX、KnY、KnM、KnS、T、CD、V、Z[S1(·)]=[S2(·)][S1(·)]≠[S2(·)]225LD>DLD>[S1(·)]>[S2(·)][S1(·)]≤[S2(·)]226LD<DLD<[S1(·)]<[S2(·)][S1(·)]≥[S2(·)]228LD<>DLD<>[S1(·)]≠[S2(·)][S1(·)]=[S2(·)]229LD<=DLD<=[S1(·)]≤[S2(·)][S1(·)]>[S2(·)]230LD>=DLD>=[S1(·)]≥[S2(·)][S1(·)]<[S2(·)](數(shù)據(jù)處理類指令)【例】與左母線連接的觸點比較指令應(yīng)用舉例。三菱FX3U系列PLC基本編程-應(yīng)用指令(C10)<K50時,Y010導(dǎo)通(C10)≥K50時,Y010導(dǎo)通M8012每隔0.1S發(fā)脈沖梯形圖指令表(數(shù)據(jù)處理類指令)(2)串聯(lián)連接的觸點比較類指令18FNCNo16位助記符(5步)32位助記符(9步)操作數(shù)使用范圍導(dǎo)通條件非導(dǎo)通條件S1(·)S2(·)232AND=DAND=K、H、KnX、KnY、KnM、KnS、T、CD、V、Z[S1(·)]=[S2(·)][S1(·)]≠[S2(·)]233AND>DAND>[S1(·)]>[S2(·)][S1(·)]≤[S2(·)]234AND<DAND<[S1(·)]<[S2(·)][S1(·)]≥[S2(·)]236

AND<>DAND<>[S1(·)]≠[S2(·)][S1(·)]=[S2(·)]237AND<=DAND<=[S1(·)]≤[S2(·)][S1(·)]>[S2(·)]238AND>=DAND>=[S1(·)]≥[S2(·)][S1(·)]<[S2(·)](數(shù)據(jù)處理類指令)【例】串聯(lián)連接的觸點比較類指令應(yīng)用舉例。當(dāng)程序運行后,T0周期性定時10秒,當(dāng)X000=ON,(T0)當(dāng)前值<K50時,Y001導(dǎo)通;(T0)≥K50時,Y001截止,其常閉觸點接通,為Y002導(dǎo)通作好準(zhǔn)備;當(dāng)(T0)當(dāng)前值≥K60時,Y002導(dǎo)通,周而復(fù)始上述過程。19(數(shù)據(jù)處理類指令)(3)并聯(lián)連接的觸點比較類指令20FNCNo16位助記符(5步)32位助記符(9步)操作數(shù)使用范圍導(dǎo)通條件非導(dǎo)通條件S1(·)S2(·)240OR=DOR=K、H、KnX、KnY、KnM、KnS、T、CD、V、Z[S1(·)]=[S2(·)][S1(·)]≠[S2(·)]241OR>DOR>[S1(·)]>[S2(·)][S1(·)]≤[S2(·)]242OR<DOR<[S1(·)]<[S2(·)][S1(·)]≥[S2(·)]244

OR<>DOR<>[S1(·)]≠[S2(·)][S1(·)]=[S2(·)]245OR<=DOR<=[S1(·)]≤[S2(·)][S1(·)]>[S2(·)]246OR>=DOR>=[S1(·)]≥[S2(·)][S1(·)]<[S2(·)](數(shù)據(jù)處理類指令)【例】并聯(lián)連接的觸點比較指令的應(yīng)用編程。當(dāng)程序運行后,T0周期性定時10秒。當(dāng)X001=ON或(T0)當(dāng)前值≤K40時,Y001導(dǎo)通;當(dāng)X002=ON或(T0)≥K70時,Y002導(dǎo)通,周而復(fù)始上述比較過程。21(數(shù)據(jù)處理類指令)3.浮點數(shù)比較指令使用說明及應(yīng)用22(數(shù)據(jù)處理類指令)

例如:A22=1,A21=0,A19~A0=0;E7=1,E6~E1=0,E0=1,則按上式可求出,二進(jìn)制浮點值=

二進(jìn)制浮點數(shù)比較指令會將參與比較的常數(shù)自動轉(zhuǎn)換為32位二進(jìn)制浮點數(shù),因此二進(jìn)制浮點數(shù)比較指令和區(qū)間比較指令前面一定要加“D”。其中,DECMP指令中S1(·)和S2(·)的操作數(shù)是K、H、E、D、R、U□\G□,D(·)的操作數(shù)是Y、M、S、D□.b;DEZCP指令中S1(·)、S2(·)和S(·)的操作數(shù)是K、H、E、D、R、U□\G□,D(·)的操作數(shù)是Y、M、S、D□.b。23數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令有傳送指令、移位傳送指令、取反傳送指令、數(shù)據(jù)塊傳送指令、多點數(shù)據(jù)傳送指令。(1)傳送指令24指令名稱指令代碼位數(shù)助記符操作數(shù)使用范圍程序步S(·)D(·)數(shù)據(jù)傳送FNC12(16/32)MOV、MOVPDMOV、MOVPK、HKnX、KnY、KnM、KnS、T、C、D、V、Z,特殊模塊U□\G□KnX、KnM、KnST、C、D、V、Z殊模塊U□\G□MOV、MOVP…5步DMOV、DMOVP…9步(數(shù)據(jù)處理類指令)當(dāng)X000=ON時,MOV指令每個掃描周期都將源操作數(shù)S(·)指定的D0中數(shù)據(jù)送到目標(biāo)操作數(shù)D(·)指定的軟元件D10。當(dāng)X000斷開,D10中數(shù)據(jù)保持不變。(2)移位傳送指令25按四位一組分成4組自動轉(zhuǎn)換成BCD碼,根據(jù)指定的m1組起,將m2組BCD數(shù)據(jù)覆蓋目的操作數(shù)指定的第n組起的m2組數(shù)據(jù)中,構(gòu)成一個新的新目標(biāo)操作數(shù)。(數(shù)據(jù)處理類指令)【例】傳送指令應(yīng)用于控制三相異步電動機(jī)Y/Δ降壓啟動的程序。啟動按鈕接X000停止按鈕接X001電機(jī)定子電源接觸器KM1接于Y000輸出口電機(jī)定子Y形連接接觸器KM2接于Y001輸出口電機(jī)定子△形連接接觸器KM3接于Y002輸出口(數(shù)據(jù)處理類指令)Y000Y001Y002Y00327(數(shù)據(jù)處理類指令)0011010001010000【例】三位BCD碼數(shù)字撥碼開關(guān)通過移位傳送指令SMOV實現(xiàn)數(shù)據(jù)從高到低的順序組合。28指令執(zhí)行過程是將源操作數(shù)中二進(jìn)制(BIN)碼自動轉(zhuǎn)換為BCD碼,(數(shù)據(jù)處理類指令)數(shù)字開關(guān)經(jīng)X020~X027輸入的2位BCD碼(01100101)BCD自動以二進(jìn)制形式存入D2中的低八位;經(jīng)X000~X003輸入的1位BCD碼(0111)BCD自動以二進(jìn)制形式存入D1中低四位。(3)取反傳送指令CMP29將源操作D0元件中的二進(jìn)制數(shù)按位取反(0→1,1→0)傳送到目標(biāo)操作數(shù)指定的元件中去。(數(shù)據(jù)處理類指令)(4)數(shù)據(jù)塊傳送指令數(shù)據(jù)塊傳送指令也稱為成批數(shù)據(jù)傳送指令。30(數(shù)據(jù)處理類指令)(5)多點傳送指令將源操作數(shù)指定的常數(shù)或某個軟元件中內(nèi)容,向以目標(biāo)操作數(shù)指定的n個軟元件中傳送。31(數(shù)據(jù)處理類指令)2.?dāng)?shù)據(jù)轉(zhuǎn)換類指令(1)數(shù)據(jù)交換指令數(shù)據(jù)交換指令是將被指定的兩個目標(biāo)軟元件中數(shù)據(jù)進(jìn)行交換。數(shù)據(jù)交換指令可在特殊輔助繼電器M8160=ON時,實現(xiàn)元件中數(shù)據(jù)進(jìn)行高、低八位數(shù)據(jù)交換。32(數(shù)據(jù)處理類指令)【例】數(shù)據(jù)交換指令的應(yīng)用程序。當(dāng)程序運行后,(D10)=K200,(D20)=K100,當(dāng)X000=ON,執(zhí)行數(shù)據(jù)交換指令,將兩個目標(biāo)元件數(shù)據(jù)進(jìn)行了交換,使(D10)=K100,(D20)=K200。33(數(shù)據(jù)處理類指令)(2)BCD轉(zhuǎn)換指令BCD轉(zhuǎn)換指令是將源操作數(shù)指定元件中的二進(jìn)制數(shù)轉(zhuǎn)換成二-十進(jìn)制碼送到目標(biāo)操作數(shù)指定的元件中,源元件中二進(jìn)制數(shù)據(jù)不變。【例】BCD轉(zhuǎn)換指令的應(yīng)用編程。圖(a)是程序運行后,MOVP指令將常數(shù)K89送入D1中,X000=OFF時,BCD指令不執(zhí)行,K2Y000狀態(tài)為零;

圖(b)是X000=ON,BCD指令將D1中的二進(jìn)制數(shù)轉(zhuǎn)換為(10001001)BCD,驅(qū)動K2Y000外部連接的兩位BCD數(shù)碼管顯示數(shù)字89,而K2Y000的(10001001)BCD狀態(tài),編程軟件是將其按二進(jìn)制數(shù)換算成十進(jìn)制數(shù)137在程序中顯示的。34(數(shù)據(jù)處理類指令)(3)BIN轉(zhuǎn)換指令BIN指令是BCD指令的逆轉(zhuǎn)換,它將源操作數(shù)指定元件中的BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)送到目標(biāo)操作數(shù)指定的元件中,源元件中BCD數(shù)據(jù)不變。源元件中數(shù)據(jù)范圍:16位操作為0~9999;32位操作為0~99999999?!纠緽IN轉(zhuǎn)換指令的應(yīng)用編程。35(數(shù)據(jù)處理類指令)(4)高低字節(jié)交換指令SWAP對16位或32位二進(jìn)制整數(shù)數(shù)據(jù)進(jìn)行高低八位字節(jié)進(jìn)行交換?!纠扛叩臀蛔止?jié)交換指令的應(yīng)用編程。36(數(shù)據(jù)處理類指令)循環(huán)與移位類指令1.循環(huán)移位類指令循環(huán)移位類指令有不帶進(jìn)位和帶進(jìn)位的循環(huán)左、右移位指令計四條。(1)不帶進(jìn)位的循環(huán)左、右移位指令(ROTATIONRIGHT)和ROL(ROTATIONLEFT)不帶進(jìn)位的循環(huán)左、右移位指令可以是16位或32位數(shù)據(jù)進(jìn)行n位循環(huán)移位。37指令名稱指令代碼位數(shù)助記符操作數(shù)使用范圍程序步D(·)n循環(huán)右移FNC30(16/32)ROR、RORPDROR、DRORPKnY、KnM、KnS、T、C、D、V、Z、R、U□\G□K、H、D、R移位量n≤16(16位)n≤32(32位)ROR、RORP…5步DROR、DRORP…9步循環(huán)左移FNC31(16/32)ROL、ROLPDROL、DROLPROL、ROLP…5步DROL、DROLP…9步(數(shù)據(jù)處理類指令)當(dāng)X000=ON,16位RORP指令執(zhí)行一次移位,將D(·)指定的D0元件中數(shù)據(jù)向右移n=4位,最后第4位循環(huán)移向最高位,且同時存于進(jìn)位標(biāo)志M8022中。38注意:如果使用連續(xù)執(zhí)行的循環(huán)左、右移指令時,指令執(zhí)行條件為ON,每個掃描周期執(zhí)行一次循環(huán)移位操作。(數(shù)據(jù)處理類指令)【例】循環(huán)左、右移指令實現(xiàn)某廣告牌上的L1~L8八個彩燈的程序編程。當(dāng)X000=ON時,燈先以正序(左移)每隔1s依次點亮,當(dāng)Y007亮后,停5S;然后以反序(右移)每隔1s依次點亮,當(dāng)Y000亮后,停5s,重復(fù)上述過程。當(dāng)X001為ON時,停止工作。Y000=ONL1L2L3L4L5L6L7L8L7L6L5L4L3L2L1三菱FX3U系列PLC基本編程-應(yīng)用指令問題:K4Y000能不能改成K2Y000?每秒左移位每秒右移移位三菱FX3U系列PLC基本編程-應(yīng)用指令每隔1S移位(2)帶進(jìn)位的循環(huán)左、右移位指令RCR(ROTATIONRIGHTWITHCARRY)和RCL(ROTATIONLEFTWITHCARRY)41若進(jìn)位標(biāo)志M8022的狀態(tài)為ON,當(dāng)X000=ON時,RCRP指令執(zhí)行一次移位,將M8022的狀態(tài)連同D(·)指定元件中的數(shù)據(jù)向右循環(huán)移4位,最后從低位移出的狀態(tài)存入到M8022中。(數(shù)據(jù)處理類指令)帶進(jìn)位循環(huán)右移當(dāng)M8022=ONCARRY【例】帶進(jìn)位循環(huán)左、右移指令實現(xiàn)某廣告牌上16個彩燈順序亮滅應(yīng)用編程。42(數(shù)據(jù)處理類指令)2.線性移位類指令線性移位類指令有位和字左移和右移四條指令。(1)線性位左、右移位指令線性位移位指令的功能是將S(·)指定的n2個位元件中數(shù)據(jù)從左端或右端移入D(·)所指定的n1個位元件中,首尾端移出的n2個數(shù)據(jù)丟失。注意,n2≤n1≤1024。43指令名稱指令代碼位數(shù)助記符操作數(shù)使用范圍程序步S(·)D(·)n1n2位右移FNC34(16)SFTR、SFTRPX、Y、M、SD□.bY、M、Sn1:K、H、n2:K、H、D、Rn2≤n1≤1024SFTR、SFTRP…9步位左移FNC35(16)SFTL、SFTLPSFTL、SFTLP…9步(數(shù)據(jù)處理類指令)44當(dāng)X010=ON時,SFTRP指令執(zhí)行一次,將S(·)指定的n2=4個位元件中數(shù)據(jù)移到D(·)指定的n1=16個位元件的高四位中,且D(·)元件中數(shù)據(jù)依次向右移四位,低四位M3~M0中數(shù)據(jù)移出(溢出),若程序中n2=1,則每次只右移1位。(數(shù)據(jù)處理類指令)【例】線性位移位指令實現(xiàn)廣告牌上“歡迎光臨”四個字順序亮的應(yīng)用編程。三菱FX3U系列PLC基本編程-應(yīng)用指令0M1011000000M8M1M2M3M4M6M5M710000000M1-M8每隔1秒為ON0廣告牌上“歡迎光臨”四個字先每秒亮一個字(M1~M4)再全亮(M5)再四個字滅1秒(M6)同時亮1秒(M7)三菱FX3U系列PLC基本編程-應(yīng)用指令將M1~M4清零X0=ON,M10=1SFTL移位(2)字左、右移位指令字移位指令與位移位指令的區(qū)別是它是以字?jǐn)?shù)據(jù)為單位進(jìn)行移動。47(數(shù)據(jù)處理類指令)【例】線性字移位指令實現(xiàn)顯示一幅10秒的動畫的程序編程應(yīng)用。顯示一幅10秒的動畫的程序,圖像數(shù)據(jù)預(yù)先存放于D1~D10中。字右移位指令在秒脈沖作用下,將(D0)=0的數(shù)據(jù)推動D30~D21中數(shù)據(jù)依次右移從Y0~Y17輸出,驅(qū)動圖案中的LED,呈現(xiàn)出一幅動畫。動畫顯示完畢間隔10秒重復(fù)上述過程的顯示。48(數(shù)據(jù)處理類指令)3.FIFO寫入、讀出指令FIFO讀寫指令是先進(jìn)先出(FIFO)讀寫指令,包括SFWR和SFRD兩條指令,可用于產(chǎn)品數(shù)據(jù)登記管理。n=10表示D(·)指定從D1開始有10個連續(xù)地址軟元件,且D1不寫入數(shù)據(jù),只作寫入數(shù)據(jù)的統(tǒng)計指針,初始應(yīng)置0。當(dāng)X000=ON,SFWRP指令執(zhí)行一次,將S(·)所指定的D0中數(shù)據(jù)寫入到D(·)指定的D2中,指針D1的內(nèi)容為1。若改變D0的數(shù)據(jù),X000再次為ON,SFWRP指令可再次將D0中新的數(shù)據(jù)寫入D(·)所指定的D3中,D1的內(nèi)容加1。依此類推,當(dāng)D1內(nèi)的數(shù)據(jù)超過n-1時,則上述操作不再執(zhí)行,進(jìn)位標(biāo)志M8022置1,表示寫入已滿。49指令名稱指令代碼代碼助記符

程序步S(·)D(·)n先進(jìn)先出寫入FNC38(16)SFWRSFWRPKnX、KnY、KnM、KnS、T、C、D、V、Z、R、U□\G□KnY、KnM、KnST、C、D、R、U□\G□K、H2≤n≤512SFWR、SFWRP…7步先進(jìn)先出讀出FNC39(16)SFRDSFRDPKnY、KnM、KnS、T、C、D、R、U□\G□KnY、KnM、KnS、T、C、D、R、V、Z、U□\G□SFRD、SFRDP…7步(數(shù)據(jù)處理類指令)數(shù)據(jù)處理類其他指令1.成批復(fù)位指令成批復(fù)位指令也稱為區(qū)間復(fù)位指令50(數(shù)據(jù)處理類指令)位元件區(qū)間復(fù)位32位字元件區(qū)間復(fù)位位元件區(qū)間復(fù)位解碼指令解碼指令DECO(DECODE)又稱譯碼指令,它的功能是將源操作數(shù)S(·)指定的常數(shù)或元件中起始n位的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)Q,使目標(biāo)操作數(shù)D(·)指定的2n位有效范圍中對應(yīng)的Q位置1。51當(dāng)X010=ON時,解碼指令執(zhí)行一次,將S(·)指定的X000起始的3位連續(xù)的位元件中二進(jìn)制數(shù)011轉(zhuǎn)換為十進(jìn)制值Q=21+20=3,對D(·)指定的M10起始的2n位有效目標(biāo)元件范圍內(nèi)的第3位元件(不含目標(biāo)元件位本身)M13置1,其它位均置0。源操作數(shù)和目標(biāo)操作數(shù)指定的均是字元件時,當(dāng)X010=ON時,解碼指令執(zhí)行一次,將S(·)指定的D0中低3位二進(jìn)制數(shù)011轉(zhuǎn)換為十進(jìn)制值Q=21+20=3,對D(·)指定的D1中2n位有效范圍的第3位(不含目標(biāo)元件位本身)b3位置1,有效范圍內(nèi)的其它位均置0。若解碼的源數(shù)據(jù)Q=0時,則b0位為1。52注意:D(·)指定字元件時,n≤4,則可對D(·)指定的字元件的24=16位范圍的某位解碼置1;若n=0,指令不執(zhí)行;n在1~4以外時,出現(xiàn)運算錯誤。執(zhí)行解碼指令后,X010變?yōu)镺FF,D(·)指定元件中解碼置1的位保持不變。(數(shù)據(jù)處理類指令)【例】解碼指令應(yīng)用于花式噴泉控制噴水的控制程序。53(數(shù)據(jù)處理類指令)3.編碼指令編碼指令ENCO(ENCODE)是解碼指令的逆操作,它是將源操作數(shù)S(·)指定的元件內(nèi)2n位中對應(yīng)的最高置1位的位號編成二進(jìn)制碼,存放于目標(biāo)操作數(shù)D(·)指定元件的n位中。54當(dāng)X005=ON時,編碼指令執(zhí)行一次,指令根據(jù)源操作數(shù)S(·)指定的M10為首地址的23=8個連號位元件中,最高置1位是M13,其位號為b3,以二進(jìn)制碼011形式存放到目標(biāo)D(·)指定元件D10的低3位中。(數(shù)據(jù)處理類指令)【例】解碼指令應(yīng)用于花式噴泉控制噴水的控制程序中,使用數(shù)碼管顯示號碼。554.求ON(置1)位總和的指令求置1位總和指令可以對源操作數(shù)S(·)指定的常數(shù)或元件中數(shù)據(jù)為“1”的位求總和。56(數(shù)據(jù)處理類指令)5.ON位判斷指令ON位指令也稱“對源元件指定位的狀態(tài)判別指令”,可用來判斷源操作數(shù)S(·)指定元件的第n位是否為1,若為1則使目標(biāo)操作數(shù)D(·)指定的位元件為ON,否則為OFF。57【例】SUM、BON、MEAN三指令的綜合應(yīng)用編程。SUM:求ON位總和BON:ON位判斷MEAN:求平均值三菱FX3U系列PLC基本編程-應(yīng)用指令判斷D0Z0中第15位是否為1(為1表示負(fù)數(shù))求D0Z0中為1的位之和,送到M10-M13求D0-D2中三個數(shù)平均值7.二進(jìn)制開方指令二進(jìn)制開方指令可將S(·)指定的常數(shù)或數(shù)據(jù)寄存器中二進(jìn)制數(shù)正數(shù)進(jìn)行開方,存入D(·)指定的數(shù)據(jù)寄存器中。若源數(shù)據(jù)為負(fù)數(shù),則錯誤標(biāo)志M8067動作,指令不執(zhí)行。X000=ON,S(·)指定的數(shù)據(jù)寄存器D10中二進(jìn)制數(shù)進(jìn)行開方,將開方結(jié)果舍去小數(shù)取整值存入D12中。開方出現(xiàn)小數(shù)時,借位標(biāo)志M8021為ON;開方結(jié)果為0時,零標(biāo)志M8020為ON。59(數(shù)據(jù)處理類指令)8.?dāng)?shù)據(jù)合計值指令計算數(shù)據(jù)合計值指令是對源操作數(shù)指定的n個連續(xù)16位或32位軟元件中的二進(jìn)制數(shù)據(jù)求合計值,存放于目標(biāo)操作數(shù)指定的軟元件中。60當(dāng)X000=ON,指令執(zhí)行一次,將S(·)指定的D0~D5連續(xù)6個單元中數(shù)據(jù)計算合計值,并以32位二進(jìn)制數(shù)據(jù)的形式存放于D(·)指定的D11和D10中。(數(shù)據(jù)處理類指令)10.?dāng)?shù)據(jù)表的數(shù)據(jù)刪除指令數(shù)據(jù)表的數(shù)據(jù)刪除指令是根據(jù)D(·)+1指定的軟元件中數(shù)據(jù)表,對其指定的第n個元件中“要刪除的數(shù)據(jù)”,進(jìn)行刪除,并將刪除的數(shù)據(jù)保存在S(·)指定軟元件中,數(shù)據(jù)表中n+1個單元開始的數(shù)據(jù)逐個向上移動,D(·)指定的起始軟元件保存的數(shù)據(jù)個數(shù)減1。61當(dāng)X000=ON時,指令根據(jù)n=2,將D(·)指定的起始軟元件D10后的第2個軟單元D12中數(shù)據(jù)“5555”刪除,并保存在S(·)指定軟元件D0中,D(·)指定的第n+1=3個軟元件起始的數(shù)據(jù)表數(shù)據(jù)逐個向上移動,且D(·)指定的起始軟元件D10中保存的數(shù)據(jù)個數(shù)減1變?yōu)?。(數(shù)據(jù)處理類指令)【例】數(shù)據(jù)表的數(shù)據(jù)刪除指令、數(shù)據(jù)表計算合計值指令的編程應(yīng)用。當(dāng)X000=ON,F(xiàn)DELP執(zhí)行一次,同時WSUMP指令執(zhí)行一次。62(數(shù)據(jù)處理類指令)二進(jìn)制整數(shù)算術(shù)運算類指令M8020為零標(biāo)志,M8021為借位標(biāo)志,M8022為進(jìn)位標(biāo)志。63(算術(shù)與邏輯運算類、浮點數(shù)類指令)64加法指令減法指令運算結(jié)果為0,則零標(biāo)志M8020置1;16位指令運算結(jié)果超出32767或32位指令運算結(jié)果超出2147483647,則進(jìn)位標(biāo)志M8022置1;16位指令運算結(jié)果小于-32767或32位指令運算結(jié)果小于-2147483647(),則借位標(biāo)志M8021置1。(算術(shù)與邏輯運算類、浮點數(shù)類指令)乘法指令:乘法指令是將兩個源操作數(shù)指定的常數(shù)或元件中的二進(jìn)制數(shù)相乘,求得的積送到目標(biāo)操作數(shù)指定的元件中去。除法指令:除法指令是將S1(·)指定的常數(shù)或元件中的二進(jìn)制數(shù)作為被除數(shù),S2(·)指定的常數(shù)或元件中的二進(jìn)制數(shù)作除數(shù),求得的商送到目標(biāo)操作數(shù)D(·)指定的元件中,余數(shù)送到D(·)+1指定的元件中。65(算術(shù)與邏輯運算類、浮點數(shù)類指令)【例】使用乘2的方法實現(xiàn)16個燈的左移位循環(huán)。當(dāng)X000為ON,燈正序每1S單個移位循環(huán)66乘2:0000,0000,0000,00010000,0000,0000,00100000,0000,0000,0100……1000,0000,0000,0000加1法指令:加1指令I(lǐng)NC在滿足執(zhí)行條件下,將目標(biāo)操作數(shù)指定的元件中數(shù)據(jù)自動加1。每當(dāng)X000由OFF→ON變化一次,INCP指令就使D(·)指定的元件D10中的二進(jìn)制數(shù)自動加1。若使用連續(xù)執(zhí)行型指令時,在X001=ON不變下,則每個掃描周期都使D(·)指定的元件內(nèi)容自動加1。注意:16位加1指令運算時,當(dāng)+32767加1則會變?yōu)椋?2768;同理,在32位加1指令運算時,當(dāng)+2147483647加1變?yōu)椋?147483647。加1指令的操作對零位、進(jìn)位、借位標(biāo)志沒有影響。減1法指令:減1指令DEC在滿足執(zhí)行條件下,將目標(biāo)操作數(shù)指定的元件中數(shù)據(jù)自動減1。67(算術(shù)與邏輯運算類、浮點數(shù)類指令)【例】算術(shù)運算指令的應(yīng)用編程。三菱FX3U系列PLC基本編程-應(yīng)用指令乘法運算,乘積不超出16位X000-X007輸入數(shù)據(jù)除法運算,舍去余數(shù)對D6開方舍去小數(shù)點后的數(shù),送到D10中邏輯運算指令邏輯字“與”指令,當(dāng)X000=ON時,S1(·)指定的D10和S2(·)指定的D12中數(shù)據(jù)按位進(jìn)行邏輯字與運算,不產(chǎn)生進(jìn)位,結(jié)果存于由D(·)指定的D14元件中。69(算術(shù)與邏輯運算類、浮點數(shù)類指令)浮點數(shù)轉(zhuǎn)換浮點數(shù)轉(zhuǎn)換類指令有二進(jìn)制浮點數(shù)與二進(jìn)制整數(shù)互相轉(zhuǎn)換指令、二進(jìn)制浮點數(shù)與十進(jìn)制整數(shù)互相轉(zhuǎn)換指令、二進(jìn)制浮點數(shù)與字符串互相轉(zhuǎn)換指令六條。BIN整數(shù)轉(zhuǎn)換BIN浮點數(shù)與指令:若M8023=OFF,當(dāng)X000=ON時,將源元件D10中的16位二進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制浮點數(shù),存入目標(biāo)元件(D13,D12)中;若M8023=ON,當(dāng)X000=ON時,將(D11,D10)中的二進(jìn)制浮點數(shù)轉(zhuǎn)換為32位二進(jìn)制整數(shù)(小數(shù)點后的數(shù)舍去)存入(D13,D12)中。70(算術(shù)與邏輯運算類、浮點數(shù)類指令)浮點數(shù)運算類指令二進(jìn)制浮點數(shù)運算類指令有加、減、乘、除、開方、指數(shù)運算、三角函數(shù)運算、反三角函數(shù)運算等。71(算術(shù)與邏輯運算類、浮點數(shù)類指令)【例】浮點數(shù)指數(shù)運算。當(dāng)X000=ON,傳送指令將K48送入D0中,因D0中數(shù)據(jù)≤loge2127=K88,則將D0中數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制浮點數(shù),存入(D11、D10)中,然后進(jìn)行指數(shù)運算,其結(jié)果的二進(jìn)制浮點指數(shù)(7.017e+1。923)存放在D21、D20中程序。72(算術(shù)與邏輯運算類、浮點數(shù)類指令)字符串運算73【例】字符串運算指令的應(yīng)用。用D10中字符替換D4中字符,R0為替換字符的起始位置為1,而R0+1的單元R1作為替換字符串的長度為2。一個字符串占8個位字符用ASC碼表示,如“0”的十進(jìn)制為48。三菱FX3U系列PLC基本編程-應(yīng)用指令MIDW為替換字符串D10DCBAD4000202BAD4條件跳轉(zhuǎn)指令條件跳轉(zhuǎn)指令可用于跳過不需要執(zhí)行的程序段指令,達(dá)到有選擇地執(zhí)行分支程序,達(dá)到縮短程序執(zhí)行周期的目的。跳轉(zhuǎn)到某處執(zhí)行,P0~P127指針指定其入口。75(程序流程控制類指令)條件跳轉(zhuǎn)指令執(zhí)行的意義是:只要滿足跳轉(zhuǎn)條件,PLC在每個掃描周期都執(zhí)行跳轉(zhuǎn)指令,跳轉(zhuǎn)到以指針Pn為入口地址的程序執(zhí)行,若跳轉(zhuǎn)條件不滿足,不執(zhí)行跳轉(zhuǎn)指令,順序往下執(zhí)行程序。76當(dāng)X000置1(常開觸點閉合),執(zhí)行跳轉(zhuǎn)指令,跳至標(biāo)號P8地址處開始執(zhí)行程序,因X000=1,它的常閉觸點此時是斷開的,不執(zhí)行CJP9跳轉(zhuǎn)指令,僅執(zhí)行該指令下面開始的程序,直至END結(jié)束。(程序流程控制類指令)不同程序段的雙線圈沒有影響【例】使用跳轉(zhuǎn)指令實現(xiàn)手動和自動程序。跳轉(zhuǎn)指令可用來選擇執(zhí)行一定的程序段,在工業(yè)控制中經(jīng)常使用。比如,為了提高設(shè)備的可靠性和調(diào)試的需要,許多設(shè)備也要建立自動及手動兩種工作方式。77(程序流程控制類指令)78(程序流程控制類指令)子程序調(diào)用及返回指令子程序調(diào)用指令CALLP即可以安排在主程序中,也可以根據(jù)需要嵌套在子程序中,調(diào)用的子程序必須安排在主程序結(jié)束指令FEND之后,以指針為入口,子程序結(jié)束要安排返回指令SRET。79(程序流程控制類指令)[CJP1]執(zhí)行時從主控區(qū)外跳到主控區(qū)內(nèi),跳轉(zhuǎn)獨立于主控操作,即主控指令[MCN0M0]中M0無論狀態(tài)如何,均作ON處理;[CJP2]在主控區(qū)內(nèi)跳轉(zhuǎn)時,只有當(dāng)M0=ON,跳轉(zhuǎn)指令才能跳轉(zhuǎn);[CJP3]從主控區(qū)內(nèi)跳到主控區(qū)外時,只有當(dāng)M0=ON時,才可以跳轉(zhuǎn)到主控區(qū)外,這時MCRN0可視為無效;

[CJP4]從一個主控區(qū)內(nèi)跳到另一個主控區(qū)內(nèi),當(dāng)主控指令[MCN0M1]中M1=ON時,該區(qū)跳轉(zhuǎn)跳轉(zhuǎn)到下一個主控區(qū)時,本區(qū)MCRN0可被忽略,下一個主控區(qū)指令[MCN0M2]中M2狀態(tài)均看作ON。80(程序流程控制類指令)中斷指令中斷指令有中斷允許、中斷禁止和中斷返回三條指令,均為無操作數(shù)指令。其中,中斷允許、中斷禁止指令是安排在主程序中指定某段程序區(qū)內(nèi)是否允許響應(yīng)中斷請求的指令,中斷返回指令應(yīng)安排在中斷子程序的結(jié)束處。中斷是PLC響應(yīng)各種中斷請求的一種工作方式。主程序在執(zhí)行過程中,當(dāng)在EI與DI(或到FEND)之間(稱為開放中斷響應(yīng)區(qū),簡稱開中斷區(qū))有中斷請求信號時,則響應(yīng)中斷請求轉(zhuǎn)去執(zhí)行中斷指針指定的子程序;若在DI與EI(或到FEND)之間(稱為關(guān)閉中斷響應(yīng)區(qū),簡稱“關(guān)中斷區(qū)),有中斷請求信號,則不響應(yīng)中斷請求指定的中斷子程序。81(程序流程控制類指令)中斷指針又可分為輸入中斷指針六個(響應(yīng)X000~X005發(fā)出的中斷信號,執(zhí)行該類指針對應(yīng)的子程序),定時器中斷指針三個,計數(shù)器中斷指針六個。輸入中斷請求信號從對應(yīng)的輸入端送入,可用于機(jī)外突發(fā)隨機(jī)事件發(fā)出的中斷響應(yīng)。定時器中斷是機(jī)內(nèi)中斷定時指針自動定時,定時時間可在10~99ms之間選取,一旦定時時間到,自動執(zhí)行定時中斷子程序,可用于周期性重復(fù)執(zhí)行的場合。計數(shù)器中斷是利用機(jī)內(nèi)高速計數(shù)器對外部計數(shù)的當(dāng)前值與設(shè)定值進(jìn)行比較,在滿足比較條件時,執(zhí)行計數(shù)中斷指針入口的子程序。82(程序流程控制類指令)【例】定時中斷實現(xiàn)16個LED燈亮滅。I750入口的定時中斷子程序每50ms執(zhí)行一次83M8057=ON,則I750定時中斷子程序禁止執(zhí)行。(程序流程控制類指令)循環(huán)指令FOR與NEXT二條指令為循環(huán)指令,編程時要配對使用??梢灾付扯纬绦蛑貜?fù)循環(huán)執(zhí)行n次,循環(huán)指令的操作數(shù)可以指定常數(shù)、字元件中的數(shù)據(jù)作為循環(huán)次數(shù)。84(程序流程控制類指令)【例】循環(huán)指令FOR與NEXT實現(xiàn)從鍵盤輸入五個十進(jìn)制數(shù)求平均值的應(yīng)用編程。三菱FX3U系列PLC基本編程-應(yīng)用指令調(diào)用子程序循環(huán)5次高速處理類指令比較置位指令DHSCS(SETBYHIGHSPEEDCOUNTER)比較復(fù)位指令DHSCR(RESETBYHIGHSPEEDCOUNTER)區(qū)間比較指令DHSZ(ZONECOMPAREFORHSC)可以用于對高速計數(shù)器的當(dāng)前計數(shù)值與設(shè)定值或設(shè)定區(qū)間數(shù)據(jù)進(jìn)行比較,其比較結(jié)果使指定的位元件進(jìn)行置位、復(fù)位或調(diào)用中斷子程序。86(其他應(yīng)用指令)【例】高速計數(shù)器中斷應(yīng)用梯形圖編程。程序中使用的C255為2相雙計數(shù)輸入,具有接收X003和X004兩個輸入端的A、B脈沖輸入(兩個脈沖相位決定了加或減計數(shù)),并有接收X007信號實現(xiàn)外啟動的控制功能和接收X005信號實現(xiàn)外復(fù)位的功能。當(dāng)程序運行后,進(jìn)入開中斷區(qū),若X010=OFF,M8059=OFF,C255高速計數(shù)器接收脈沖的當(dāng)前計數(shù)值與比較置位指令DHSCS中設(shè)定的十進(jìn)制常數(shù)K500進(jìn)行比較。87(其他應(yīng)用指令)方便類指令88(其他應(yīng)用指令)數(shù)據(jù)檢索指令數(shù)據(jù)檢索指令SER(DATASEARCH)可以進(jìn)行同一數(shù)據(jù)、最大值、最小值檢索。當(dāng)X010=ON時,從D100為起始的n=10個元件D100~D109中,檢索與D0中相同的數(shù)據(jù)(設(shè)K100)、最大值、最小值,并將其檢索結(jié)果的內(nèi)容存入D10~D14的五個連續(xù)地址的元件中。89(其他應(yīng)用指令)示教定時器指令示教定時器指令TTMR(TEACHINGTIMER)可以測定按鈕按下的時間,乘以n指定的倍率存入定時器的設(shè)定值元件中。其中,操作數(shù)D(·)為D、R,操作數(shù)n為K、H、D、R(n=0~2)。90(其他應(yīng)用指令)【例】示教定時器指令TTMR的應(yīng)用。91可通過BIN碼指令將輸入X000~X003的數(shù)據(jù),轉(zhuǎn)換為二進(jìn)制碼送入變址寄存Z0中作為D0Z0的變址。當(dāng)X010閉合執(zhí)行示教定時器指令,閉合時間存入D10中,當(dāng)X010斷開,立即將D10中示教時間傳送到指定的D0Z0中,實現(xiàn)對某個定時器的設(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論