機床電氣控制與PLC三菱第2版 課件 杜晉 第7章 FX系列PLC的功能指令與應(yīng)用_第1頁
機床電氣控制與PLC三菱第2版 課件 杜晉 第7章 FX系列PLC的功能指令與應(yīng)用_第2頁
機床電氣控制與PLC三菱第2版 課件 杜晉 第7章 FX系列PLC的功能指令與應(yīng)用_第3頁
機床電氣控制與PLC三菱第2版 課件 杜晉 第7章 FX系列PLC的功能指令與應(yīng)用_第4頁
機床電氣控制與PLC三菱第2版 課件 杜晉 第7章 FX系列PLC的功能指令與應(yīng)用_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

機床電氣控制與PLC

7.1PLC功能指令的概述7.2FX系列PLC常用功能指令介紹7.3PLC常用功能指令的應(yīng)用第7章FX系列PLC的功能指令與應(yīng)用本章教學(xué)重點:(1)功能指令的基本格式;(2)部分功能指令的梯形圖、功能及其使用注意事項。第7章FX系列PLC的功能指令與應(yīng)用本章能力要求:通過本章的學(xué)習(xí),讀者應(yīng)掌握FX系列PLC的常用功能指令及運用它們編程的使用方法?;具壿嬛噶詈筒竭M指令主要用于邏輯處理的指令。作為工業(yè)控制用的計算機,僅僅進行邏輯處理是不夠的,現(xiàn)代工業(yè)控制在很多場合需要進行數(shù)據(jù)處理,因此本章將介紹功能指令,也稱為應(yīng)用指令。功能指令的出現(xiàn)大大拓寬了PLC的應(yīng)用范圍,也給用戶編制程序帶來了極大方便。第7章FX系列PLC的功能指令與應(yīng)用7.1.1功能指令的表示格式功能指令表示格式與基本指令不同。一般功能指令都用編號FNC00~FNC□□□表示,并給出對應(yīng)的助記符(大多用英文名稱或縮寫表示)。例如FNC45的助記符是MEAN(平均),若使用簡易編程器時鍵入FNC45,若采用智能編程器或在計算機上編程時也可鍵入助記符MEAN。有的功能指令只有助記符,而大多數(shù)功能指令有操作數(shù)(通常1~4個組成)。操作數(shù)說明如下:[S]表示源操作數(shù),[D]表示目標(biāo)操作數(shù),如果使用變址功能,則可表示為[S.]和[D.]。當(dāng)源或目標(biāo)不止一個時,用[S1.]、[S2.]、[D1.]、[D2.]表示。用n和m表示其它操作數(shù),它們常用來表示常數(shù)K和H,或作為源和目標(biāo)操作數(shù)的補充說明,當(dāng)這樣的操作數(shù)多時可用n1、n2和m1、m2等來表示。如圖7-1所示為一個計算平均值指令,它有三個操作數(shù),其中源操作數(shù)為D0、D1、D2,目標(biāo)操作數(shù)為D4Z0(Z0為變址寄存器),K3表示有3個數(shù),當(dāng)X0接通時,執(zhí)行的操作為將數(shù)據(jù)寄存器D0、D1和D2中的數(shù)據(jù)相加再除以3,結(jié)果存儲在D4Z0中,如果Z0的內(nèi)容為20,則運算結(jié)果送入D24中。圖7-1功能指令表示格式功能指令的指令段通常占1個程序步,16位操作數(shù)占2步,32位操作數(shù)占4步。7.1.2功能指令的執(zhí)行方式與數(shù)據(jù)長度1.執(zhí)行方式功能指令的執(zhí)行方式有連續(xù)執(zhí)行和脈沖執(zhí)行兩種類型。如圖7-2所示,指令助記符MOV后面有“P”表示脈沖執(zhí)行,即該指令僅在X1接通(由OFF到ON)時執(zhí)行(將D10中的數(shù)據(jù)送到D12中)一次;如果沒有“P”則表示連續(xù)執(zhí)行,即該在X1接通(ON)的每一個掃描周期指令都要被執(zhí)行。圖7-2功能指令的執(zhí)行方式與數(shù)據(jù)長度的表示2.?dāng)?shù)據(jù)長度功能指令可處理16位數(shù)據(jù)或32位數(shù)據(jù)。處理32位數(shù)據(jù)的指令是在助記符前加“D”標(biāo)志,無此標(biāo)志即為處理16位數(shù)據(jù)的指令。如圖7-2所示,若MOV指令前面帶“D”,則當(dāng)X1接通時,該指令將D11、D10中的數(shù)據(jù)傳送到D13、D12中。在使用32位數(shù)據(jù)時,為了避免出錯,建議使用首編號為偶數(shù)的操作數(shù)。7.1.3功能指令的數(shù)據(jù)格式FX2N系列可編程控制器提供的數(shù)據(jù)表示方法分為位元件、字元件、位元件組合等。1.位元件與字元件只處理ON/OFF狀態(tài)的軟元件稱為位元件,如X、Y、M和S等;而處理數(shù)值的軟元件則稱為字元件,一個字元件由16位二進制數(shù)組成,如T、C和D等。2.位元件的組合位元件可以通過組合使用,4個位元件為一個單元,通用表示方法是由Kn加起始的軟元件號組成,n為單元數(shù)。例如K2M0表示M0~M3和M4~M7組成兩個位元件組(K2表示2個單元),它是一個8位數(shù)據(jù),M7為最高位,M0為最低位。同樣K4M10表示由M10~M25四組位元件組成一個16位數(shù)據(jù),其中M25為最高位,M10為最高位。使用時要注意:如果將16位數(shù)據(jù)傳送到不足16位的位元件組合()時,只傳送低位數(shù)據(jù),多出的高位數(shù)據(jù)不傳送,32位數(shù)據(jù)傳送也一樣。在作16位數(shù)操作時,參與操作的位元件不足16位時,高位的不足部分均作0處理,這意味著只能處理正數(shù)(符號位為0),在作32位數(shù)處理時也一樣。被組合的元件首位元件可以任意選擇,但為避免混亂,建議采用編號以0結(jié)尾的元件,如S10,X0,X20等。7.2FX系列PLC常用功能指令介紹FX2N系列PLC有豐富的功能指令,共有程序流向控制、傳送與比較、算術(shù)與邏輯運算、循環(huán)與移位等功能指令。本節(jié)主要介紹一些常用的功能指令。7.2.1程序流程控制類指令(FNC00~FNC09)程序流向控程類指令共10條,見表7-1。表7-1程序流向控程類指令下面僅介紹CJ、CALL、SRET、IRET、EI、DI、FEND、FOR和NEXT指令。1.條件跳轉(zhuǎn)指令條件跳轉(zhuǎn)指令CJ(P)的編號為FNC00,操作數(shù)為指針標(biāo)號P0~P127,其中P63為END所在步序,不需標(biāo)記。指針標(biāo)號允許用變址寄存器修改。CJ和CJP都占3個程序步,指針標(biāo)號占1步。使用跳轉(zhuǎn)指令時應(yīng)注意:1)CJP指令表示為脈沖執(zhí)行方式。2)在一個程序中一個標(biāo)號只能出現(xiàn)一次,否則將出錯。3)在跳轉(zhuǎn)執(zhí)行期間,即使被跳過程序的驅(qū)動條件改變,但其線圈(或結(jié)果)仍保持跳轉(zhuǎn)前的狀態(tài),因為跳轉(zhuǎn)期間根本沒有執(zhí)行這段程序。4)如果在跳轉(zhuǎn)開始時定時器和計數(shù)器已在工作,則在跳轉(zhuǎn)執(zhí)行期間它們將停止工作,到跳轉(zhuǎn)條件不滿足后又繼續(xù)工作。但對于正在工作的定時器T192~T199和高速計數(shù)器C235~C255不管有無跳轉(zhuǎn)仍連續(xù)工作。5)若累積定時器和計數(shù)器的復(fù)位(RST)指令在跳轉(zhuǎn)區(qū)外,即使它們的線圈被跳轉(zhuǎn),但對它們的復(fù)位仍然有效。圖7-3跳轉(zhuǎn)指令的使用2.子程序調(diào)用與子程序返回指令子程序調(diào)用指令CALL的編號為FNC01。操作數(shù)為P0~P127,此指令占用3個程序步。子程序返回指令SRET的編號為FNC02。無操作數(shù),占用1個程序步。子程序是為一些特定的控制目的編制的相對獨立的程序。為了區(qū)別于主程序,規(guī)定在程序編排時,將主程序排在前面,子程序排在后面,以主程序結(jié)束指令FEND隔開。如圖7-4所示,如果X0接通,則轉(zhuǎn)到標(biāo)號P10處去執(zhí)行子程序。圖7-4子程序調(diào)用與返回指令的使用使用子程序調(diào)用與返回指令時應(yīng)注意:1)轉(zhuǎn)移標(biāo)號不能重復(fù),也不可與跳轉(zhuǎn)指令的標(biāo)號重復(fù);2)子程序可以嵌套調(diào)用,最多可5級嵌套。3.與中斷有關(guān)的指令與中斷有關(guān)的三條功能指令是:中斷返回指令I(lǐng)RET,編號為FNCO3;允許中斷指令EI,編號為FNCO4;禁止中斷指令DI,編號為FNC05。它們均無操作數(shù),占用1個程序步。FX系列PLC可設(shè)置9個中斷點,中斷信號從X0~X5輸入,有的定時器也可以作中斷源。中斷子程序的標(biāo)號為I□□□。PLC通常處于禁止中斷狀態(tài),由EI和DI指令組成允許中斷范圍。在執(zhí)行到該區(qū)間,如有中斷源產(chǎn)生中斷,CPU將暫停主程序執(zhí)行轉(zhuǎn)而執(zhí)行中斷服務(wù)程序。當(dāng)遇到IRET時返回斷點繼續(xù)執(zhí)行主程序。當(dāng)有關(guān)的特殊輔助繼電器置1時,相應(yīng)的中斷子程序不能執(zhí)行。即M8050~M8058為1時,相應(yīng)的中斷子程序I0□□~I8□□不能執(zhí)行。如圖7-5所示,允許中斷范圍中若X0為ON,則轉(zhuǎn)入I000為標(biāo)號的中斷服務(wù)程序,但X0可否引起中斷還受M8050控制,當(dāng)X20有效時則M8050控制X0無法中斷。圖7-5中斷指令的使用使用中斷相關(guān)指令時應(yīng)注意:1)中斷的優(yōu)先級排隊如下,如果多個中斷依次發(fā)生,則以發(fā)生先后為序,即發(fā)生越早級別越高,如果多個中斷源同時發(fā)出信號,則中斷指針號越小優(yōu)先級越高;2)當(dāng)M8050~M8058為ON時,禁止執(zhí)行相應(yīng)I0□□~I8□□的中斷,M8059為ON時則禁止所有計數(shù)器中斷;3)無需中斷禁止時,可只用EI指令,不必用DI指令;4)執(zhí)行一個中斷服務(wù)程序時,如果在中斷服務(wù)程序中有EI和DI,可實現(xiàn)二級中斷嵌套,否則禁止其它中斷。4.主程序結(jié)束指令主程序結(jié)束指令FEND的編號為FNC06,無操作數(shù),占用1個程序步。FEND表示主程序結(jié)束,當(dāng)執(zhí)行到FEND時,PLC進行輸入/輸出處理,監(jiān)視定時器刷新,完成后返回起始步。使用FEND指令時應(yīng)注意子程序和中斷服務(wù)程序必須寫在FEND和END之間,否則出錯。5.循環(huán)指令循環(huán)指令共有兩條:循環(huán)開始指令FOR,編號為FNC08,占3個程序步;循環(huán)結(jié)束指令NEXT,編號為FNC09,占用1個程序步,無操作數(shù)。在程序運行時,位于FOR~NEXT間的程序反復(fù)執(zhí)行n次(由操作數(shù)決定)后再繼續(xù)執(zhí)行后續(xù)程序。循環(huán)的次數(shù)n=1~32767。如果n=-32767~0之間,則當(dāng)作n=1處理。如圖7-6所示為一個二重嵌套循環(huán),外層執(zhí)行5次。如果D0Z0中的數(shù)為6,則外層A每執(zhí)行一次則內(nèi)層B將執(zhí)行6次。圖7-6循環(huán)指令的使用使用循環(huán)指令時應(yīng)注意:1)FOR和NEXT必須成對使用;2)FX2N系列PLC可循環(huán)嵌套5層;3)在循環(huán)中可利用CJ指令在循環(huán)沒結(jié)束時跳出循環(huán)體;4)FOR應(yīng)放在NEXT之前,NEXT應(yīng)在FEND和END之前,否則均會出錯。7.2.2比較與傳送類指令(FNC10~FNC19)比較與傳送類指令共10條,見表7-2。表7-2比較與傳送類指令下面僅介紹CMP、ZCP、MOV、XCH、BCD和BIN指令。1.比較指令比較指令包括CMP(比較)和ZCP(區(qū)間比較)兩條。(1)比較指令CMP(D)CMP(P)指令的編號為FNC10,指令格式是:(D)CMP(P)[S1.][S2.][D.]。其中[S1.]、[S2.]為兩個比較的源操作數(shù);[D.]為比較結(jié)果的標(biāo)志軟元件,指令中給出的標(biāo)志軟元件的首地址。指令執(zhí)行時將源操作數(shù)[S1.]和源操作數(shù)[S2.]的數(shù)據(jù)進行比較,比較結(jié)果用目標(biāo)操作數(shù)[D.]的狀態(tài)來表示。如圖7-7所示,當(dāng)X1為接通時,把常數(shù)100與C20的當(dāng)前值進行比較,比較的結(jié)果送入M0~M2中。X1為OFF時不執(zhí)行,M0~M2的狀態(tài)仍保持X1斷開之前的狀態(tài)。圖7-7比較指令的使用(2)區(qū)間比較指令ZCP(D)ZCP(P)指令的編號為FNC11,指令格式是:(D)ZCP(P)[S1.][S2.][S.][D.]。其中[S1.]和[S2.]為區(qū)間起點和終點;[S.]為另一比較軟元件;[D.]為標(biāo)志軟元件,指令中給出的標(biāo)志軟元件的首地址。指令執(zhí)行時源操作數(shù)[S.]與[S1.]和[S2.]的內(nèi)容進行比較,并將比較結(jié)果送到目標(biāo)操作數(shù)[D.]中。。圖7-8區(qū)間比較指令的使用使用比較指令CMP/ZCP時應(yīng)注意:1)[S1.]、[S2.]可取任意數(shù)據(jù)格式,目標(biāo)操作數(shù)[D.]可取Y、M和S;2)使用ZCP時,[S2.]的數(shù)值不能小于[S1.]。2.傳送類指令傳送指令(D)MOV(P)指令的編號為FNC12,指令格式是:(D)MOV(P)[S.][D.]。其中,[S.]為源數(shù)據(jù);[D.]為目標(biāo)軟元件。該指令的功能是將源操作數(shù)[S.]的內(nèi)容傳送到目標(biāo)操作數(shù)[D.]中去。如圖7-9所示,當(dāng)X0為ON時,則將[S.]中的數(shù)據(jù)K100傳送到目標(biāo)操作數(shù)[D.]即D10中。在指令執(zhí)行時,常數(shù)K100會自動轉(zhuǎn)換成二進制數(shù)。當(dāng)X0為OFF時,則指令不執(zhí)行,數(shù)據(jù)保持不變。圖7-9傳送指令的使用使用應(yīng)用MOV指令時應(yīng)注意:1)源操作數(shù)可取所有數(shù)據(jù)類型,目標(biāo)操作數(shù)可以是KnY、KnM、KnS、T、C、D、V、Z。2)16位運算時占5個程序步,32位運算時則占9個程序步。3.?dāng)?shù)據(jù)交換指令數(shù)據(jù)交換指令(D)XCH(P)的編號為FNC17,指令格式是:(D)XCH(P)[D1.][D2.]。其中,[D1.]、[D2.]為兩個目標(biāo)軟元件。圖7-10數(shù)據(jù)交換指令的使用使用數(shù)據(jù)交換指令應(yīng)該注意:1)操作數(shù)的元件可取KnY、KnM、KnS、T、C、D、V和Z。2)交換指令一般采用脈沖執(zhí)行方式,否則在每一次掃描周期都要交換一次。3)16位運算時占5個程序步,32位運算時占9個程序步。4.?dāng)?shù)據(jù)變換指令(1)BCD變換指令(D)BCD(P)指令的編號為FNC18。指令格式是:(D)BCD(P)[S.][D.]。其中,[S.]為源數(shù)據(jù);[D.]為目標(biāo)軟元件。該指令是將源操作數(shù)中的二進制數(shù)轉(zhuǎn)換成BCD碼送到目標(biāo)操作數(shù)中,如圖7-11所示。注意,如果超出了BCD碼變換指令能夠轉(zhuǎn)換的最大數(shù)據(jù)范圍就會出錯。16位操作時范圍為0~9999;32位操作時范圍為0~99999999。(2)BIN變換指令(D)BIN(P)指令的編號為FNC19。指令格式是:(D)BIN(P)[S.][D.]。其中,[S.]為源數(shù)據(jù);[D.]為目標(biāo)軟元件。該指令是將源元件中的BCD數(shù)據(jù)轉(zhuǎn)換成二進制數(shù)據(jù)送到目標(biāo)元件中,如圖7-11所示。常數(shù)K不能作為本指令的操作元件,因為在任何處理之前它們都會被轉(zhuǎn)換成二進制數(shù)。使用BCD/BIN指令時應(yīng)注意:1)源操作數(shù)可取KnK、KnY、KnM、KnS、T、C、D、V和Z,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z;2)16位運算占5個程序步,32位運算占9個程序步。7.2.3算術(shù)和邏輯運算類指令(FNC20~FNC29)算術(shù)和邏輯運算類指令包括算術(shù)運算指令和邏輯運算指令,共10條,見表7-3。表7-3算術(shù)和邏輯運算類指令下面僅介紹ADD、SUB、MUL、DIV、WAND、WOR、WXOR和NEG指令。1.算術(shù)運算指令(1)加法指令A(yù)DD(D)ADD(P)指令的編號為FNC20。指令格式是:(D)ADD(P)[S1.][S2.][D.]。其中,[S1.]、[S2.]為兩個作為加數(shù)的源軟元件;[D.]為存放相加和的目標(biāo)軟元件。圖7-12加法指令的使用該指令是將指定的源元件中的二進制數(shù)相加結(jié)果送到指定的目標(biāo)元件中去。如圖7-12所示,當(dāng)X0為ON時,該指令將數(shù)據(jù)寄存器D10和D12中的數(shù)據(jù)相加,結(jié)果存放在數(shù)據(jù)寄存器D14中。(2)減法指令SUB(D)SUB(P)指令的編號為FNC21。指令格式是:(D)SUB(P)[S1.][S2.][D.]。其中,[S1.]、[S2.]分別為作為被減數(shù)和減數(shù)的源軟元件;[D.]為存放相減差的目標(biāo)軟元件。該指令是將[S1.]指定元件中的內(nèi)容以二進制形式減去[S2.]指定元件的內(nèi)容,其結(jié)果存入由[D.]指定的元件中。如圖7-13所示,當(dāng)X0為ON時,該指令將數(shù)據(jù)寄存器D10中的數(shù)據(jù)減去D12中的數(shù)據(jù),結(jié)果存放在數(shù)據(jù)寄存器D14中。圖7-13減法指令的使用使用加法和減法指令時應(yīng)該注意:1)操作數(shù)可取所有數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z。2)16位運算占7個程序步,32位運算占13個程序步。3)數(shù)據(jù)為有符號二進制數(shù),最高位為符號位(0為正,1為負(fù))。4)加法指令有三個標(biāo)志:零標(biāo)志(M8020)、借位標(biāo)志(M8021)和進位標(biāo)志(M8022)。(3)乘法指令MUL(D)MUL(P)指令的編號為FNC22。指令格式是:(D)MUL(P)[S1.][S2.][D.]。其中,[S1.]、[S2.]分別為作為被乘數(shù)和乘數(shù)的源軟元件;[D.]為存放相乘積的目標(biāo)軟元件。該指令是將[S1.]指定元件中的內(nèi)容乘以[S2.]指定元件中的內(nèi)容,其結(jié)果存入由[D.]指定的元件中,數(shù)據(jù)均為有符號數(shù)。如圖7-14所示,當(dāng)X0為ON時,將二進制16位數(shù)[S1.]、[S2.]相乘,結(jié)果送[D.]中。圖7-14乘法指令的使用D為32位,即數(shù)據(jù)寄存器D0中的數(shù)據(jù)和D2中的數(shù)據(jù)相乘,結(jié)果存放在數(shù)據(jù)寄存器D5,D4中(16位乘法);當(dāng)X1為ON時,數(shù)據(jù)寄存器D1,D0中的數(shù)據(jù)和D3,D2中的數(shù)據(jù)相乘,結(jié)果存放在數(shù)據(jù)寄存器D7,D6,D5,D4中(32位乘法)。(4)除法指令DIV(D)DIV(P)指令的編號為為FNC23。指令格式是:(D)DIV(P)[S1.][S2.][D.]。其中,[S1.]、[S2.]分別為作為被除數(shù)和除數(shù)的源軟元件;[D.]為存放商和余數(shù)的目標(biāo)軟元件。其功能是將[S1.]指定為被除數(shù),[S2.]指定為除數(shù),將除得的結(jié)果送到[D.]指定的目標(biāo)元件中,余數(shù)送到[D.]的下一個元件中。如圖7-15所示,當(dāng)X0為ON時,數(shù)據(jù)寄存器D0中的數(shù)據(jù)除以D2中的數(shù)據(jù),商存放在數(shù)據(jù)寄存器D4中,余數(shù)存放在圖7-15除法指令的使用數(shù)據(jù)寄存器D5中(16位除法);當(dāng)X1為ON時,數(shù)據(jù)寄存器D1,D0中的數(shù)據(jù)除以D3,D2中的數(shù)據(jù),商存放在數(shù)據(jù)寄存器D5,D4中,余數(shù)存放在數(shù)據(jù)寄存器D7,D6中(32位除法)。使用乘法和除法指令時應(yīng)注意:1)源操作數(shù)可取所有數(shù)據(jù)類型,目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z。

2)16位運算占7程序步,32位運算為13程序步。3)32位乘法運算中,如用位元件作目標(biāo),則只能得到乘積的低32位,高32位將丟失,這種情況下應(yīng)先將數(shù)據(jù)移入字元件再運算;除法運算中將位元件指定為[D.],則無法得到余數(shù),除數(shù)為0時發(fā)生運算錯誤。 4)積、商和余數(shù)的最高位為符號位。2.邏輯輯運算類指令(1)邏輯與指令WAND(D)WAND(P)指令的編號為FNC26。指令格式是:(D)WAND(P)[S1.][S2.][D.]。其中,[S1.]、[S2.]為兩個相“與”的源軟元件;[D.]為存放相“與”結(jié)果的目標(biāo)軟元件。其功能是將兩個源操作數(shù)按位進行與操作,結(jié)果送指定元件。

(2)邏輯或指令WOR(D)WOR(P)指令的編號為FNC27。指令格式是:(D)WOR(P)[S1.][S2.][D.]。其中,[S1.]、[S2.]為兩個相“或”的源軟元件;[D.]為存放相“或”結(jié)果的目標(biāo)軟元件。該指令是對兩個源操作數(shù)按位進行或運算,結(jié)果送指定元件。(3)邏輯異或指令WXOR(D)WXOR(P)指令的編號為FNC28。指令格式是:(D)WXOR(P)[S1.][S2.][D.]。(4)求補指令NEG(D)NEG(P)指令的編號為FNC29。指令格式是:(D)NEG(P)[D.]。其中,[D.]為存放求補結(jié)果的目標(biāo)軟元件。其功能是將[D.]指定的元件內(nèi)容的各位先取反再加1,將其結(jié)果再存入原來的元件中。WAND、WOR、WXOR和NEG指令的使用如圖7-16所示。當(dāng)X0有效時,數(shù)據(jù)寄存器D10中的數(shù)據(jù)和數(shù)據(jù)寄存器D12中的數(shù)據(jù)相與,結(jié)果存放到數(shù)據(jù)寄存器D14中去。圖7-16邏輯運算指令的使用使用邏輯運算指令時應(yīng)該注意:1)WAND、WOR和WXOR指令的[S1.]和[S2.]均可取所有的數(shù)據(jù)類型,而目標(biāo)操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z。2)NEG指令只有目標(biāo)操作數(shù),其可取KnY、KnM、KnS、T、C、D、V和Z。3)WAND、WOR、WXOR指令16位運算占7個程序步,32位為13個程序步,而NEG分別占3步和5步。7.2.4循環(huán)與移位類指令(FNC30~FNC39)循環(huán)與移位類指令是使字?jǐn)?shù)據(jù)和位元件組合的字?jǐn)?shù)據(jù)向指定方向循環(huán)、移位的指令,共10條,見表7-4。表7-4循環(huán)與移位類指令下面僅介紹ROR、ROL、RCR和RCL指令。1.循環(huán)移位指令右、左循環(huán)移位指令(D)ROR(P)和(D)ROL(P)編號分別為FNC30和FNC31。指令格式分別是:(D)ROR(P)[D.]n(D)ROL(P)[D.]n其中,

[D.]為要移位的目標(biāo)軟元件;n為每次移動的位數(shù)。執(zhí)行這兩條指令時,各位數(shù)據(jù)向右(或向左)循環(huán)移動n位,最后一次移出來的那一位同時存入進位標(biāo)志M8022中,如圖7-17所示。圖7-17右、左循環(huán)移位指令的使用2.帶進位的循環(huán)移位指令帶進位的循環(huán)右、左移位指令(D)RCR(P)和(D)RCL(P)編號分別為FNC32和FNC33。指令格式分別是:(D)RCR(P)[D.]n(D)RCL(P)[D.]n其中,

[D.]為要移位的目標(biāo)軟元件;n為每次移動的位數(shù)。執(zhí)行這兩條指令時,各位數(shù)據(jù)連同進位(M8022)向右(或向左)循環(huán)移動n位,如圖7-18所示。圖7-18帶進位右、左循環(huán)移位指令的使用使用ROR/ROL/RCR/RCL指令時應(yīng)該注意:1)目標(biāo)操作數(shù)可取KnY,KnM,KnS,T,C,D,V和Z,目標(biāo)元件中指定位元件的組合只有在K4(16位)和K8(32位指令)時有效。2)16位指令占5個程序步,32位指令占9個程序步。3)用連續(xù)指令執(zhí)行時,循環(huán)移位操作每個周期執(zhí)行一次。7.2.5數(shù)據(jù)處理指令(FNC40~FNC49)數(shù)據(jù)處理指令是可以進行復(fù)雜的數(shù)據(jù)處理和實現(xiàn)特殊用途的指令,共10條,見表7-5。表7-5數(shù)據(jù)處理指令下面僅介紹ZRST、DECO和ENCO指令。1.區(qū)間復(fù)位指令區(qū)間復(fù)位指令ZRST(P)的編號為FNC40。指令格式是:ZRST(P)[D1.][D2.]。其中,[D1.]為目標(biāo)軟元件首地址;[D2.]為目標(biāo)軟元件結(jié)束地址。該指令是將指定范圍內(nèi)的同類元件成批復(fù)位。如圖7-19所示,當(dāng)M8002由OFF→ON時,位元件M500~M599成批復(fù)位,字元件C235~C255也成批復(fù)位。圖7-19區(qū)間復(fù)位指令的使用使用區(qū)間復(fù)位指令時應(yīng)注意:1)[D1.]和[D2.]可取Y、M、S、T、C、D,且應(yīng)為同類元件,同時[D1.]的元件號應(yīng)小于[D2.]指定的元件號,若[D1.]的元件號大于[D2.]元件號,則只有[D1.]指定元件被復(fù)位。2)ZRST指令只有16位處理,占5個程序步,但[D1.][D2.]也可以指定32位計數(shù)器。2.譯碼和編碼指令(1)譯碼指令DECODECO(P)指令的編號為FNC41。指令格式是:DECO(P)[S.][D.]n。其中,[S.]為源軟元件;[D.]為目標(biāo)軟元件首地址;n為源軟元件位數(shù)。如圖7-20所示,n=3則表示[S.]源操作數(shù)為3位,即為X0、X1、X2。其狀態(tài)為二進制數(shù),當(dāng)值為011時相當(dāng)于十進制3,則由目標(biāo)操作數(shù)M7~M0組成的8位二進制數(shù)的第三位M3被置1,其余各位為0。圖7-20譯碼指令的使用使用譯碼指令時應(yīng)注意:1)位源操作數(shù)可取X、T、M和S,位目標(biāo)操作數(shù)可取Y、M和S,字源操作數(shù)可取K,H,T,C,D,V和Z,字目標(biāo)操作數(shù)可取T,C和D。2)若[D.]指定的目標(biāo)元件是字元件T、C、D,則n≤4;若是位元件Y、M、S,則n=1~8。譯碼指令為16位指令,占7個程序步。(2)編碼指令ENCO

圖7-21編碼指令的使用ENCO(P)指令的編號為FNC42。指令格式是:ENCO(P)[S.][D.]n。其中,[S.]為源軟元件首地址;[D.]為目標(biāo)軟元件;n指充當(dāng)編碼的源軟元件位數(shù)為2n。使用編碼指令時應(yīng)注意:1)源操作數(shù)是字元件時,可以是T、C、D、V和Z;源操作數(shù)是位元件,可以是X、Y、M和S。目標(biāo)元件可取T、C、D、V和Z。編碼指令為16位指令,占7個程序步。2)操作數(shù)為字元件時應(yīng)使用n≤4,為位元件時則n=1~8,n=0時不作處理。3)若指定源操作數(shù)中有多個1,則只有最高位的1有效。7.2.6外部設(shè)備I/O指令(FNC70~FNC79)外部設(shè)備I/O指令是可編程控制器的輸入輸出與外部設(shè)備進行數(shù)據(jù)交換的指令。這些指令可以通過簡單的處理,進行較復(fù)雜的控制,因此具有方便指令的特點,見表7-6。表7-6外部設(shè)備I/O指令下面僅介紹SEGD指令。七段譯碼指令SEGD的編號為FNC73,指令格式是:SEGD[S.][D.]。其中,[S.]為源軟元件;[D.]為目標(biāo)軟元件。七段譯碼指令SEGD(P)如圖7-22所示,將[S.]指定元件的低4位所確定的十六進制數(shù)(0~F)經(jīng)譯碼后存于[D.]指定的元件中,以驅(qū)動七段顯示器,[D.]的高8位保持不變。如果要顯示0,則應(yīng)在D0中放入數(shù)據(jù)為3FH。圖7-22七段譯碼指令的使用7.2.7觸點比較指令(FNC224~FNC246)1.LD觸點比較指令該類指令的助記符、代碼、功能見表7-7。表7-7LD觸點比較指令如圖7-23所示為LD=指令的使用,當(dāng)計數(shù)器C10的當(dāng)前值為200時驅(qū)動Y10。其它LD觸點比較指令不在此一一說明。圖7-23LD=指令的使用2.AND觸點比較指令該類指令的的助記符、代碼、功能見表7-8。表7-8AND觸點比較指令如圖7-24所示為AND=指令的使用,當(dāng)X0為ON且計數(shù)器C10的當(dāng)前值為200時,驅(qū)動Y10。圖7-24AND=指令的使用3.OR觸點比較指令該類指令的的助記符、代碼、功能見表7-9。表7-9OR觸點比較指令OR=指令的使用如圖7-25所示,當(dāng)X1處于ON或計數(shù)器的當(dāng)前值為200時,驅(qū)動Y10。OR=指令的使用如圖7-25所示,當(dāng)X1處于ON或計數(shù)器的當(dāng)前值為200時,驅(qū)動Y10。圖7-25OR=指令的使用觸點比較指令源操作數(shù)可取任意數(shù)據(jù)格式。16位運算占5個程序步,32位運算占9個程序步。7.3.1應(yīng)用實例:運輸帶的點動與連續(xù)運行的混合控制1.設(shè)計任務(wù)某運輸帶的工作過程示意圖,如圖7-26所示。其控制要求如下:圖7-26運輸帶的工作過程示意圖該系統(tǒng)具有自動工作方式和手動點動工作方式,具體由自動工作與手動點動工作轉(zhuǎn)換開關(guān)S1選擇。當(dāng)S1=1時為手動點動工作,系統(tǒng)可通過3個點動按鈕對電磁閥和電動機進行控制,以便對設(shè)備進行調(diào)整、檢修和事故處理。在自動工作方式時:起動時,為了避免在后端輸送帶上造成物料堆積,要求以逆物料流動方向按一定時間間隔順序起動,其起動順序為:按起動按鈕SB1,第二條輸送帶的接觸器KM2吸合起動M2電動機,延時3s后,第一條輸送帶的接觸器KM1吸合起動M1電動機,延時3s后,卸料斗的電磁閥YV1吸合。停止時,卸料斗的電磁閥YV1尚未吸合時,接觸器KM1、KM2可立即斷電使輸送帶停止;當(dāng)卸料斗的電磁閥YV1吸合時,為了使輸送帶上不殘留物料,要求順物料流動方向按一定時間間隔順序停止。其停止順序為:按SB2停止按鈕,卸料斗的電磁閥YV1斷開,延時6s后,第一條輸送帶的接觸器KM1斷開,此后再延時6s,第二條輸送帶的接觸器KM2斷開。故障停止:在正常運轉(zhuǎn)中,當(dāng)?shù)诙l輸送帶電動機發(fā)生故障時(熱繼電器FR2觸點斷開),卸料斗、第一條和第二條輸送帶同時停止。當(dāng)?shù)谝粭l輸送帶電動機發(fā)生故障時(熱繼電器FR1觸點斷開),卸料斗、第一條輸送帶同時停止,經(jīng)6s延時后,第二條輸送帶再停止。2.設(shè)計步驟(1)確定輸入/輸出(I/O)分配表,見表7-10。表7-10運輸帶I/O分配表(2)根據(jù)工藝要求畫出手

溫馨提示

  • 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

提交評論