第5章-三菱FX2N系列-PLC的功能指令分析課件_第1頁
第5章-三菱FX2N系列-PLC的功能指令分析課件_第2頁
第5章-三菱FX2N系列-PLC的功能指令分析課件_第3頁
第5章-三菱FX2N系列-PLC的功能指令分析課件_第4頁
第5章-三菱FX2N系列-PLC的功能指令分析課件_第5頁
已閱讀5頁,還剩201頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章三菱FX2N系列PLC的功能指令

本章導(dǎo)讀本章主要介紹了FX2N的功能指令及其編程方法,功能指令編號為FNC00~FNC246,將常用功能指令歸類講述,從5.6節(jié)起只作簡講,未介紹的可查閱附錄表B.2。將以表格形式歸納功能指令格式、類型及使用要素。選擇合適的功能指令,將使編程更加方便和快捷。要求掌握各類功能指令及其編程方法,掌握GPPW內(nèi)裝的的模擬仿真、時(shí)序圖等功能,來幫助學(xué)習(xí)功能指令。12/2/20221第5章三菱FX2N系列PLC的功能指令本章導(dǎo)讀5.1功能指令的基本規(guī)則1FX2N系列PLC的功能指令一覽表見附錄表B.2。一條基本邏輯指令只完成一個(gè)特定的操作,而一條功能指令卻能完成一系列的操作,相當(dāng)于執(zhí)行了一個(gè)子程序,所以功能指令功能更強(qiáng)大,編程更精練,它能用于運(yùn)動(dòng)控制、模擬量控制等場合?;局噶詈推涮菪螆D符號之間是互相對應(yīng)的。而功能指令采用梯形圖和助記符相結(jié)合的形式,意在表達(dá)本指令要做什么。有些功能指令在整個(gè)程序中只能使用一次,介紹到此類指令時(shí)會(huì)特別強(qiáng)調(diào)。5.1.1功能指令的表示1.功能指令的梯形圖表示用功能框表示功能指令,即在功能框中用通用的助記12/2/202225.1功能指令的基本規(guī)則1FX2N系列PLC的功能指令5.1.1功能指令的表示2符形式來表示,如圖5.1(a)所示,該指令的含義如圖5.1(b)所示。圖5.1(a)中X000常開接點(diǎn)是功能指令的執(zhí)行條件,其后的方框即為功能指令。由圖可見,功能指令同一般的匯編指令相似,也是由操作碼和操作數(shù)兩大部分組成。

(1)操作碼部分功能框第一段為操作碼部分,表達(dá)了該指令做什么。12/2/202235.1.1功能指令的表示2符形式來表示,如圖5.1(a5.1.1功能指令的表示3一般功能指令都是以指定的功能號來表示,如FNC45。但是,為了便于記憶,每個(gè)功指令都有一個(gè)助記符,對應(yīng)FNC45的助記符是MEAN,表示“求平均值”。這樣就能見名知義,比較直觀。在編程器或FXGP軟件中輸入功能指令時(shí),輸入的是功能號FNC45,顯示的卻是助記符MEAN。不過,在FXGP軟件中也可直接輸入助記符MEAN。注意:本書在介紹各功能指令時(shí),將以圖5.1(a)的形式同時(shí)給出功能號和對應(yīng)的助記符,但并不意味著在FXGP軟件中輸入功能指令時(shí)要兩者一起送,而是按上述介紹,只要送入其中一個(gè)就行了。(2)操作數(shù)部分

12/2/202245.1.1功能指令的表示3一般功能指令都是以指定的功能5.1.1功能指令的表示4功能框的第一段之后都為操作數(shù)部分,表達(dá)了參加指令操作的操作數(shù)在那里。操作數(shù)部分部分組成:源操作數(shù)(源)目標(biāo)操作數(shù)(目)數(shù)據(jù)個(gè)數(shù)源操作數(shù):D0、D1和D2,數(shù)據(jù)個(gè)數(shù)K3指示源有3個(gè);目操作數(shù):D10。當(dāng)X000接通時(shí),MEAN指令的含義如圖5.1(b)所示,即要取出D0~D2的連續(xù)3個(gè)數(shù)據(jù)寄存器中的內(nèi)容作算術(shù)平均后送入D10寄存器中。當(dāng)X000斷開時(shí),此指令不執(zhí)行。操作數(shù)排列次序:源在前,目在后,數(shù)據(jù)個(gè)數(shù)在最后有些功能指令還要求多個(gè)操作數(shù),也有的功能指令不需要操作數(shù)。12/2/202255.1.1功能指令的表示4功能框的第一段之后都為操作5.1.1功能指令的表示52.功能指令的要素描述功能指令的要素描述將按表圖的格式給出。如對圖5.1(a)這條MEAN指令的要素描述如表5.1所示。表中使用符號的說明:①

求平均值指令:指令的名稱②FNC45:指令的功能號12/2/202265.1.1功能指令的表示52.功能指令的要素描述12/5.1.1功能指令的表示6③MEAN 指令的助記符④(P) 指令的執(zhí)行形式,(P)表示可使用脈沖執(zhí)行方式,在執(zhí)行條件滿足時(shí)僅執(zhí)行一個(gè)掃描周期;缺省的為連續(xù)執(zhí)行型。⑤(D) 指令的數(shù)據(jù)長度可為32位,缺省為16位。⑥[S·] 源操作數(shù),簡稱源,指令執(zhí)行后不改變其內(nèi)容的操作數(shù)。當(dāng)源不止一個(gè)時(shí),用[S1·]、[S2·]等來表示。有“·”表示能用變址方式,缺省為無“·”,表示不能使用變址方式。⑦[D·] 目標(biāo)操作數(shù),簡稱目,指令執(zhí)行后將改變其內(nèi)容的操作數(shù)。當(dāng)目不止一個(gè)時(shí),用[D1·]、[D2·]等來表示。有“·”表示能使用變址方式,缺省為無“·”,表12/2/202275.1.1功能指令的表示6③MEAN 指令的助記符示不能使用變址方式。⑧m、n 其它操作數(shù),常用來表示常數(shù)或?qū)υ春湍孔鞒鲅a(bǔ)充說明。表示常數(shù)時(shí),K后跟的為十進(jìn)制數(shù),H后跟的為十六進(jìn)制數(shù)。⑨程序步 指令執(zhí)行所需的步數(shù)。一般來說,功能指令的功能號和助記符占一步,每個(gè)操作數(shù)占2~4步(16位操作數(shù)是2步,32位操作數(shù)是4步)。因此,一般16位指令為7步,32位指令為13步。5.1.2功能指令的數(shù)據(jù)長度

11.字元件與雙字元件(1)字元件1個(gè)字元件是由16位的存儲(chǔ)單元構(gòu)成,最高位(第15位)5.1.1功能指令的表示712/2/20228示不能使用變址方式。5.1.1功能指令的表示712/5.1.2功能指令的數(shù)據(jù)長度2為符號位,第0~14位為數(shù)值位。圖5.2所示為16位數(shù)據(jù)寄存器D0圖示。(2)雙字元件

可以使用兩個(gè)字元件組成雙字元件,以組成32位數(shù)據(jù)操作數(shù)。雙字元件是由相鄰的寄存器組成,在圖5.3中由D11和D10組成。低16位數(shù)據(jù)存放在低位元件D10中,12/2/202295.1.2功能指令的數(shù)據(jù)長度2為符號位,第0~14位5.1.2功能指令的數(shù)據(jù)長度3高16位數(shù)據(jù)存放在高位元件D10中,存放原則是:低對低,高對高。雙字元件中第31位為符號位,第0~30位為數(shù)值位。注意:在指令中使用雙字元件時(shí),一般只用其低位地址表示這個(gè)元件,但高位元件也將同時(shí)被指令使用。建議用偶數(shù)作為雙字元件的地址,此點(diǎn)會(huì)用圖5.6來說明。功能指令中的操作數(shù)是指操作數(shù)本身或操作數(shù)的地址。功能指令能夠處理16位或32位的數(shù)據(jù)。

2.功能指令中的16位數(shù)據(jù)因?yàn)閹缀跛屑拇嫫鞯亩M(jìn)制位數(shù)都是16位,所以功能指令中16位的數(shù)據(jù)都是以缺省形式給出。如圖5.4所示即為一條16位MOV指令:

12/2/2022105.1.2功能指令的數(shù)據(jù)長度3高16位數(shù)據(jù)存放在高位5.1.2功能指令的數(shù)據(jù)長度

4MOV指令的含義是,當(dāng)X000接通時(shí),將十進(jìn)制數(shù)100傳送到16位的數(shù)據(jù)寄存器D10中去。當(dāng)X000斷開時(shí),該指令被跳過不執(zhí)行,源和目的內(nèi)容都不變。3.功能指令中的32位數(shù)據(jù)功能指令也能處理32位數(shù)據(jù),這時(shí)需要在指令前綴符號(D),如圖5.5所示即為一條32位MOV指令:12/2/2022115.1.2功能指令的數(shù)據(jù)長度4MOV指令的含義是,當(dāng)5.1.2功能指令的數(shù)據(jù)長度5凡是能前綴顯式符號(D)的功能指令,就能處理32位數(shù)據(jù)。32位數(shù)據(jù)是由兩個(gè)相鄰寄存器構(gòu)成的,但在指令中寫出的是低位地址,源和目都是這樣表達(dá)的。所以對圖5.5所示32位MOV指令含義應(yīng)該這樣來理解:當(dāng)X000接通時(shí),將由D11和D10組成的32位源數(shù)據(jù)傳送到由D13和D12組成的目標(biāo)地址中去。要避免出現(xiàn)類似圖5.6所示指令的錯(cuò)誤:源由D11和D10組成,而目由D12和D11組成,這里D11是源、目重復(fù)使用,就會(huì)引起出錯(cuò)。所以建議32位數(shù)據(jù)首地址用偶地址。12/2/2022125.1.2功能指令的數(shù)據(jù)長度5凡是能前綴顯式符號(D5.1.2功能指令的數(shù)據(jù)長度6注意:32位計(jì)數(shù)器C200~C255不能作為16位指令操作數(shù)4.功能指令中的位元件位元件:只有ON或OFF兩種狀態(tài),用一個(gè)二進(jìn)制位就能表達(dá)的元件。如X、Y、M、S等。功能指令中也能使用由只含一個(gè)bit的位元件,以及位元件組合。位元件組合成位組合元件的方法:將多個(gè)位元件按四位一組的原則來組合,也就是說用4位BCD碼來表示1位十進(jìn)制數(shù),這樣就能在程序中使用十進(jìn)制數(shù)據(jù)了。組合方法的助記符是:Kn+最低位位元件號

如KnX、KnY、KnM即是位元件組合,其中“K”表示后面跟的是十進(jìn)制數(shù),“n”表示四位一組的組數(shù),12/2/2022135.1.2功能指令的數(shù)據(jù)長度6注意:32位計(jì)數(shù)器C25.1.2功能指令的數(shù)據(jù)長度716位數(shù)據(jù):K1~K4,32位數(shù)據(jù):K1~K8。數(shù)據(jù)中的最高位是符號位。如:K2M0:由M0~M3和M4~M7兩組位元件組成一個(gè)8位數(shù)據(jù),其中M7是最高位,M0是最低位。K4M10:由M10~M25四組位元件組成一個(gè)16位數(shù)據(jù),其中M25是最高位,M10是最低位。注意:①當(dāng)一個(gè)16位數(shù)據(jù)傳送到目元件K1M0~K3M0時(shí),由于目標(biāo)元件不到16位,所以將只傳送16位數(shù)據(jù)中的低位數(shù)據(jù),高位數(shù)據(jù)將不傳送。32位數(shù)據(jù)傳送也一樣。②由于數(shù)據(jù)只能是16位或32位這兩種格式,因此當(dāng)用12/2/2022145.1.2功能指令的數(shù)據(jù)長度716位數(shù)據(jù):K1~K4,5.1.2功能指令的數(shù)據(jù)長度8K1~K3組成字時(shí),其高位不足16位部分均作0處理。如執(zhí)行圖5.7所示指令時(shí),源數(shù)據(jù)只有12位,而目標(biāo)寄存器D20是16位的,傳送結(jié)果D20的高4位自動(dòng)添0,如圖5.8所示。這時(shí)最高位的符號位必然是0,也就是說,只能是正數(shù)(符號位的判別是:正0負(fù)1)。12/2/2022155.1.2功能指令的數(shù)據(jù)長度8K1~K3組成字時(shí),其5.1.2功能指令的數(shù)據(jù)長度9③

由位元件組成組合位元件時(shí),最低位元件號可以任意給定。如X000、X001和Y005均可。但習(xí)慣上采用以0結(jié)尾的位元件,如X000、X010和Y020等。5.1.3功能指令的執(zhí)行方式

功能指令的兩種執(zhí)行方式:連續(xù)執(zhí)行和脈沖執(zhí)行方式。1.功能指令的連續(xù)執(zhí)行方式缺省為連續(xù)執(zhí)行方式,如圖5.9。PLC是以循環(huán)掃描方式工作的,如果執(zhí)行條件X000接通,指令在每個(gè)掃描周期中都要被重復(fù)執(zhí)行一次,這種情況對大多數(shù)指令都是允許的。

212/2/2022165.1.2功能指令的數(shù)據(jù)長度9③由位元件組成組合位5.1.3功能指令的執(zhí)行方式

22.功能指令的脈沖執(zhí)行方式對于某些功能指令,如XCH、INC和DEC等,用連續(xù)執(zhí)行方式在實(shí)用中可能會(huì)帶來問題。如圖5.10所示是一條INC指令,是對目標(biāo)元件(D10、D11)進(jìn)行加1操作的。假設(shè)該指令以連續(xù)方式工作的話,那么只要X000是接通的,則每個(gè)掃描周期都會(huì)對目標(biāo)元件加1,而這在許多實(shí)際的控制中是不允許的。為了解決這類問題,設(shè)置了指令的脈沖執(zhí)行方式,并在指令助記符的后面后綴符號“P”來表示此方式,如圖5.10所示。

12/2/2022175.1.3功能指令的執(zhí)行方式22.功能指令的脈沖執(zhí)行方5.1.3功能指令的執(zhí)行方式

3注意:在圖5.10中INC后加“(P)”,僅表示指令還有脈沖執(zhí)行方式;在INC前加“(D)”,也僅表示指令還有32位操作方式。但在FXGP中輸入時(shí)應(yīng)該這么送:DINCPD10,即加在前后綴的括號不必送的。對于在本書中,以這種方式表達(dá)的所有其它功能指令都要這樣來理解。在脈沖執(zhí)行方式下,指令I(lǐng)NC只在條件X000從斷開變?yōu)榻油〞r(shí)才執(zhí)行一次對目標(biāo)元件的加1操作。即每當(dāng)X000來了一個(gè)上升沿,才會(huì)執(zhí)行加1;而在其它情況下,即使X000始終是接通的,都不會(huì)執(zhí)行加1指令。在不需要每個(gè)掃描周期都執(zhí)行指令時(shí),可以采用脈沖執(zhí)行方式的指令,這樣還能縮短程序的執(zhí)行時(shí)間。

12/2/2022185.1.3功能指令的執(zhí)行方式3注意:在圖5.10中IN5.1.4變址操作1FX2N的16個(gè)變址寄存器V和Z都是16位的(FX0N和FX0S只有兩個(gè)變址寄存器V和Z),即V0~V7、Z0~Z7。除了能作為通用數(shù)據(jù)寄存器之外,主要用于運(yùn)算操作數(shù)地址的修改,在傳送、比較等指令中用來改變操作對象的元件地址,循環(huán)程序中也常使用變址寄存器。變址方法是將V、Z放在各種寄存器的后面,充當(dāng)操作數(shù)地址的偏移量。操作數(shù)的實(shí)際地址就是寄存器的當(dāng)前值和V或Z內(nèi)容的相加后的和。當(dāng)源或目的寄存器用[S?]或[D?]表示時(shí),就能進(jìn)行作變址操作。當(dāng)進(jìn)行32位數(shù)據(jù)操作時(shí),V、Z自動(dòng)組對成32位(V,Z)來使用,這時(shí)Z為低16位,而V充當(dāng)高16位。可以用變址寄存器進(jìn)行變址的軟元件是X、Y、M、S、P、T、C、D、K、H、KnX、KnY、KnM、KnS。12/2/2022195.1.4變址操作1FX2N的16個(gè)變址寄存器V和Z都例5.1如圖5.11所示的梯形圖中,求執(zhí)行加法操作后源和目操作數(shù)的實(shí)際地址。解:第一行指令執(zhí)行10→V,第二行指令執(zhí)行20→Z,所以變址寄存器的值為,V=10,Z=20。第三行指令執(zhí)行(D5V)+(D15Z)→(D40Z),[S1·]為D5V: D(5+10)=D15 源操作數(shù)1的實(shí)際地址[S2·]為D15Z: D(15+20)=D35 源操作數(shù)2的實(shí)際地址[D·]為D40Z: D(40+20)=D60 目操作數(shù)的實(shí)際地5.1.4變址操作2所以,第三行指令實(shí)際執(zhí)行(D15)+(D35)→(D60),即D15的內(nèi)容和D35的內(nèi)容相加,結(jié)果送入D60中去。

12/2/202220例5.1如圖5.11所示的梯形圖中,求執(zhí)行加法操作后源和目5.2程序流向控制指令1FX2N系列PLC的功能指令中程序流向控制指令共有10條,功能號是FNC00~FNC09,程序流向控制指令匯總?cè)绺戒洷鞡.2所示。通常情況下,PLC的控制程序是順序逐條執(zhí)行的,但是在許多場合下卻要求按照控制要求改變程序的流向。這些場合有:條件跳轉(zhuǎn)、轉(zhuǎn)子與返回、中斷調(diào)用與返回、循環(huán)、警戒時(shí)鐘與主程序結(jié)束。5.2.1條件跳轉(zhuǎn)指令1.指令用法說明條件跳轉(zhuǎn)指令為CJ或CJ(P)后跟標(biāo)號,其用法是當(dāng)跳轉(zhuǎn)條件成立時(shí)跳過一段指令,跳轉(zhuǎn)至指令中所標(biāo)明的標(biāo)號處繼續(xù)執(zhí)行,若條件不成立則繼續(xù)順序執(zhí)行。這樣可以減少掃描時(shí)間并使“雙線圈操作”成為可能。3512/2/2022215.2程序流向控制指令1FX2N系列PLC的功能指令5.2程序流向控制指令2條件跳轉(zhuǎn)指令的助記符、功能號、操作數(shù)和程序步等指令概要如表5.2所示。由表5.2可見,能夠充當(dāng)目標(biāo)操作數(shù)的只有標(biāo)號P0~P127。例5.2

梯形圖如圖5.12所示,閱讀此程序,試分析:(1)程序的可能流向;(2)程序中的“雙線圈操作”是否可能。解:(1)分析圖5.12所示程序的流向如下。①若M0接通,則CJP0的跳轉(zhuǎn)條件成立,程序?qū)⑻D(zhuǎn)到標(biāo)號為P0處。因?yàn)镸0常閉是斷開的,所以CJP1的跳轉(zhuǎn)條件不成立,12/2/2022225.2程序流向控制指令2條件跳轉(zhuǎn)指令的助記符、功能號5.2程序流向控制指令3程序順序執(zhí)行。按照M3的狀態(tài)對Y000進(jìn)行處理。②若M0斷開,則CJP0的跳轉(zhuǎn)條件不成立,程序會(huì)按照指令的順序執(zhí)行下去。執(zhí)行到P0標(biāo)號處時(shí),由于M0常閉是接通的,則CJP1的跳轉(zhuǎn)條件成立,因此程序就會(huì)跳轉(zhuǎn)到P1標(biāo)號處。(2)Y000為雙線圈輸出。程序在執(zhí)行過程中,M0常開和M0常閉是一對約束。使線圈Y000驅(qū)動(dòng)邏輯任何時(shí)候只有一個(gè)會(huì)發(fā)生,所以在圖5.12所示梯形圖中Y000為雙線圈輸出是可以的。2.跳轉(zhuǎn)程序中軟元件狀態(tài)與標(biāo)號(1)被跳過程序段中軟元件的狀態(tài)被跳過的程序段中的各種繼電器和狀態(tài)器、定時(shí)器等將保持跳轉(zhuǎn)發(fā)生前的狀態(tài)不變。正在工作的定時(shí)器T192~T199高速計(jì)數(shù)器C235~C255不管有無跳轉(zhuǎn)仍將12/2/2022235.2程序流向控制指令3程序順序執(zhí)行。按照M3的狀態(tài)5.2程序流向控制指令4連續(xù)工作,輸出接點(diǎn)也能動(dòng)作。掉電保持計(jì)數(shù)器、定時(shí)器,其當(dāng)前值被鎖定。程序繼續(xù)執(zhí)行時(shí),它們將繼續(xù)工作。復(fù)位優(yōu)先,即使復(fù)位指令在被跳過程序段中,條件滿足,復(fù)位也將執(zhí)行。(2)標(biāo)號不能重復(fù)使用,但能多次引用。同一標(biāo)號不能重復(fù)使用,但可多次被引用,即可從不同的地方跳轉(zhuǎn)到同一標(biāo)號處,如圖5.13(a)。標(biāo)號也可以出現(xiàn)在跳轉(zhuǎn)指令之前,如圖5.13(b)。12/2/2022245.2程序流向控制指令4連續(xù)工作,輸出接點(diǎn)也能動(dòng)作。當(dāng)M0接通時(shí),程序也允許向回跳轉(zhuǎn)。但是如果M0接通時(shí)間超過100ms,會(huì)引起警戒時(shí)鐘出錯(cuò),但不會(huì)影響程序的執(zhí)行。標(biāo)號共有128個(gè),其中P63相當(dāng)于END,不能作為真正的標(biāo)號使用。這樣,當(dāng)要跳過最后一段程序結(jié)束時(shí),就可以在此段程序前設(shè)置一條CJP63指令。也可以理解為CJP63就是跳轉(zhuǎn)到程序的最開始處。而且標(biāo)號P63不必出現(xiàn)在程序中。

3.無條件跳轉(zhuǎn)與條件跳轉(zhuǎn)的脈沖執(zhí)行方式(1)構(gòu)造無條件跳轉(zhuǎn)指令可用條件跳轉(zhuǎn)指令來構(gòu)造無條件跳轉(zhuǎn)指令,使用某個(gè)始終成立的條件使條件跳轉(zhuǎn)變成無條件跳轉(zhuǎn)。常用的是5.2程序流向控制指令512/2/202225當(dāng)M0接通時(shí),程序也允許向回跳轉(zhuǎn)。但是如果M0接通時(shí)間超過15.2程序流向控制指令6M8000,因?yàn)橹灰狿LC處于RUN狀態(tài),則M8000總是接通的,無條件跳轉(zhuǎn)梯形圖如圖5.14(a),條件跳轉(zhuǎn)指令CJP0的驅(qū)動(dòng)條件始終成立,因此就可以將這條指令看成是無條件跳轉(zhuǎn)。(2)條件跳轉(zhuǎn)指令的脈沖執(zhí)行方式條件跳轉(zhuǎn)指令脈沖執(zhí)行方式如圖5.14(b)。12/2/2022265.2程序流向控制指令6M8000,因?yàn)橹灰狿LC處于5.2程序流向控制指令74.跳轉(zhuǎn)與主控區(qū)之間的相關(guān)問題

①如果跳轉(zhuǎn)的區(qū)域包括整個(gè)主控區(qū)(MC—MCR),則將不受任何限制,可以隨意跳轉(zhuǎn)而不必考慮主控區(qū)問題。②如果跳轉(zhuǎn)從主控區(qū)外跳到主控區(qū)內(nèi)時(shí),這時(shí)主控指令的目標(biāo)接點(diǎn),應(yīng)被當(dāng)作接通來處理。比如說被跳過的主控指令為MCN0M10,則M10仍被看作是接通的。③如果跳轉(zhuǎn)發(fā)生在主控區(qū)內(nèi),當(dāng)主控接點(diǎn)為斷開時(shí),跳轉(zhuǎn)指令因沒有執(zhí)行到而不能跳轉(zhuǎn)。④如果跳轉(zhuǎn)從主控區(qū)內(nèi)跳到主控區(qū)外時(shí),當(dāng)主控接點(diǎn)斷開時(shí),由于沒有執(zhí)行到跳轉(zhuǎn)指令,因此不能跳轉(zhuǎn)。當(dāng)主控接點(diǎn)接通時(shí),可以跳轉(zhuǎn),這時(shí)MCR指令被忽略。⑤如果跳轉(zhuǎn)從一個(gè)主控區(qū)內(nèi)跳到另一個(gè)主控區(qū)內(nèi),而且12/2/2022275.2程序流向控制指令74.跳轉(zhuǎn)與主控區(qū)之間的相關(guān)問題5.2程序流向控制指令8源主控接點(diǎn)是接通的,則跳轉(zhuǎn)可以進(jìn)行,不管目標(biāo)主控接點(diǎn)原狀態(tài)如何,均被看做接通,MCRN0被忽略。5.2.2轉(zhuǎn)子與返回指令子程序也是為一些特定的控制目的編制的相對獨(dú)立的模塊,供主程序調(diào)用。為了區(qū)別于主程序,將主程序排在前邊,子程序排在后邊,并以主程序結(jié)束指令FEND(FNC06)給以分隔。1.指令用法說明(1)子程序調(diào)用指令:CALL或CALL(P)標(biāo)號,標(biāo)號是被調(diào)用子程序的入口地址,以P0~P127(不包括P63)來表示。子程序返回用SRET指令。12/2/2022285.2程序流向控制指令8源主控接點(diǎn)是接通的,則跳轉(zhuǎn)可以5.2.2轉(zhuǎn)子與返回指令2轉(zhuǎn)子與返回指令的指令概要如表5.4所示。子程序調(diào)用和返回的梯形圖如圖5.15(a)。當(dāng)M0接通時(shí),調(diào)用子程序P0,程序?qū)⑻D(zhuǎn)到P0標(biāo)號所指向的那條程序,同時(shí)將調(diào)用指令下一條指令的地址作為斷點(diǎn)保存。此后從P0開始逐條順序執(zhí)行子程序,直至遇到SRET指令時(shí),程12/2/2022295.2.2轉(zhuǎn)子與返回指令2轉(zhuǎn)子與返回指令的指令概要如5.2.2轉(zhuǎn)子與返回指令3序?qū)⒎祷氐街鞒绦虻臄帱c(diǎn)處,繼續(xù)順序執(zhí)行主程序,即執(zhí)行指令LDM1,OUT

Y000。(2)子程序的位置與標(biāo)號使用子程序P0安排在主程序結(jié)束指令FEND之后,標(biāo)號P0和子程序返回指令SRET間的程序構(gòu)成了P0子程序的內(nèi)容12/2/2022305.2.2轉(zhuǎn)子與返回指令3序?qū)⒎祷氐街鞒绦虻臄帱c(diǎn)處,5.2.2轉(zhuǎn)子與返回指令4主程序帶有多個(gè)子程序時(shí),子程序要依次放在主程序結(jié)束指令FEND之后,并以不同的標(biāo)號相區(qū)別。FX1N、FX2N和FX2NC子程序標(biāo)號范圍為P0~P127(FX1S為P0~P63),這些標(biāo)號與條件轉(zhuǎn)移中的標(biāo)號相同,在條件轉(zhuǎn)移中已使用了的標(biāo)號,子程序不能再用。同一標(biāo)號只能用一次,不同的CALL指令可多次調(diào)用同一標(biāo)號。

(3)CALL指令的脈沖執(zhí)行方式脈沖執(zhí)行方式如圖5.15(b),只有在M0上升沿時(shí),程序才會(huì)轉(zhuǎn)子。CJ是跳轉(zhuǎn),CALL也是一種跳轉(zhuǎn),不過CJ跳轉(zhuǎn)是“有去無回”,而CALL的跳轉(zhuǎn)則是“有去有回”的,子程序結(jié)束后將會(huì)回到主程序的斷點(diǎn)處繼續(xù)執(zhí)行原來的程序。為了兩者區(qū)別,把后者稱謂“調(diào)用”,更適當(dāng)。12/2/2022315.2.2轉(zhuǎn)子與返回指令4主程序帶有多個(gè)子程序時(shí),子5.2.2轉(zhuǎn)子與返回指令52.子程序的嵌套子程序嵌套示意如圖5.16(a),梯形圖如圖5.16(b)子程序嵌套:主程序調(diào)用子程序1,在執(zhí)行子程序1時(shí),子程序1又調(diào)用另一個(gè)子程序2,稱為子程序嵌套。12/2/2022325.2.2轉(zhuǎn)子與返回指令52.子程序的嵌套12/1/5.2.2轉(zhuǎn)子與返回指令6子程序嵌套總數(shù)可有5級。注意:在子程序和中斷子程序中使用的定時(shí)器范圍為:T192~T199和T246~T249。在此之外的定時(shí)器,雖然在子程序中或許也能使用,但不能保證其運(yùn)行的正確性,所以請別使用在此之外的定時(shí)器。5.2.3中斷與返回指令中斷是CPU與外設(shè)“打交道”(數(shù)據(jù)傳送)的一種方式,慢速的外設(shè)遠(yuǎn)遠(yuǎn)跟不上高速CPU的節(jié)拍,要“拖累”CPU。為此可采用數(shù)據(jù)傳送的中斷方式,使CPU與外設(shè)并行工作的,平時(shí)CPU在執(zhí)行主程序,當(dāng)外設(shè)需要數(shù)據(jù)傳送服務(wù)時(shí),才去向CPU發(fā)出中斷請求。在允許中斷的情況下,CPU可以響應(yīng)外設(shè)的中斷請求,從主程序中被拉出來,去執(zhí)行一段中斷服務(wù)子程序,比如給了外設(shè)一批數(shù)據(jù)12/2/2022335.2.2轉(zhuǎn)子與返回指令6子程序嵌套總數(shù)可有5級。15.2.3中斷與返回指令2后,就不再管外設(shè),返回主程序。以后都是這樣,每當(dāng)外設(shè)需要數(shù)據(jù)傳送服務(wù)時(shí),又會(huì)向CPU發(fā)中斷請求??梢奀PU只有在執(zhí)行中斷服務(wù)子程序短暫的時(shí)間里才同外設(shè)打交道,所以CPU的工作效率就大大提高了。1.指令用法說明有關(guān)中斷指令概要如表5.5所示。(1)中斷返回指令: FNC03 IRET12/2/2022345.2.3中斷與返回指令2后,就不再管外設(shè),返回主程5.2.3中斷與返回指令3(2)開中斷指令(中斷允許):FNC04 EI(3)關(guān)中斷指令(中斷禁止):FNC05 DI2.3.4節(jié)已經(jīng)介紹了FX2N系列PLC有3類中斷:外部中斷內(nèi)中斷(即內(nèi)部定時(shí)器中斷)高速計(jì)數(shù)器外部計(jì)數(shù)中斷FX2N系列PLC可以多達(dá)15個(gè)中斷源,15個(gè)中斷源可以同時(shí)向CPU發(fā)中斷請求信號,這時(shí)CPU要通過中斷判優(yōu),來決定響應(yīng)那一個(gè)中斷。15個(gè)中斷源的優(yōu)先級由中斷號決定,中斷號小者其優(yōu)先級為高。另外,外中斷的優(yōu)先級整體上高于內(nèi)中斷的優(yōu)先級。這樣,在主程序的執(zhí)行過程中,就可根據(jù)不同中斷服務(wù)子程序中PLC所要完成工作的優(yōu)先級高低決定能否響應(yīng)中斷。對可以響應(yīng)中12/2/2022355.2.3中斷與返回指令3(2)開中斷指令(中斷允許5.2.3中斷與返回指令4斷的程序段用中斷允許指令EI來開中斷,對不允許中斷的程序段用中斷指令DI來關(guān)中斷。程序中允許中斷響應(yīng)的區(qū)間應(yīng)該由EI指令開始,DI指令結(jié)束,如圖5.17所示。在此區(qū)間之外時(shí),即使有中斷請求,CPU也不會(huì)立即響應(yīng)。通常情況下,在執(zhí)行某個(gè)中斷服務(wù)程序時(shí),將禁止其它中斷。中斷返回指令必須用IRET,不能用子程序返回指令SRET。IRET指令除了能從中斷服務(wù)程序返回以外,還要通知CPU本次中斷已經(jīng)結(jié)束。12/2/2022365.2.3中斷與返回指令4斷的程序段用中斷允許指令E5.2.3中斷與返回指令5中斷與子程序區(qū)別:子程序調(diào)用是事先在程序中用CALL給定的,但中斷調(diào)用要求響應(yīng)時(shí)間小于機(jī)器的掃描周期,所以就不能事先在程序中給定,而是由外設(shè)(中斷源)隨機(jī)地通過硬件向CPU發(fā)中斷請求,才把CPU拉到中斷服務(wù)子程序中去的。整個(gè)中斷是一個(gè)軟硬件結(jié)合的過程。2.中斷指針為區(qū)別內(nèi)外中斷及標(biāo)明中斷子程序的入口,規(guī)定了中斷標(biāo)號。中斷標(biāo)號是I開頭的,又稱為I指針。子程序的標(biāo)號是P開頭的,又稱為P指針。I指針分為3種。(1)外中斷指針外中斷指針的格式如圖5.19(a),I00~150,共6點(diǎn)。外中斷是外部信號引起的,對應(yīng)的外部輸入口為X00012/2/2022375.2.3中斷與返回指令5中斷與子程序區(qū)別:子程序調(diào)5.2.3中斷與返回指令6~X005。指針格式中的最后一位是選擇是上升沿請求中斷,還是下降沿請求中斷。(2)內(nèi)中斷指針內(nèi)中斷指針的格式如圖5.19(b)所示,I6□□~I(xiàn)8□□,共3點(diǎn)。內(nèi)中斷為內(nèi)部定時(shí)時(shí)間到信號中斷,由指定編號為6~8的專用定時(shí)器控制。設(shè)定時(shí)間在10~99ms間選取,每隔設(shè)定時(shí)間就會(huì)中斷一次。12/2/2022385.2.3中斷與返回指令6~X005。指針格式中的最5.2.3中斷與返回指令7(3)高速外部計(jì)數(shù)中斷指針高速計(jì)數(shù)器中斷指針的格式如圖5.19(c)所示,共6點(diǎn):I010~I(xiàn)060。這6個(gè)中斷指針分別表示由高速計(jì)數(shù)器(C235~C255)的當(dāng)前值實(shí)現(xiàn)的中斷。例5.3中斷指令的梯形圖如圖5.17和圖5.18所示,試解答:(1)指出I001中斷的含義,并分析此中斷的過程;(2)指出I699中斷的含義,并分析此中斷的過程;(3)指出I020中斷的含義,并分析此中斷的過程。解:(1)I001表示X000為中斷請求信號,且上升沿有效。因此在允許中斷區(qū)間,如果輸入X000從OFF→ON變化時(shí)(上升沿),則程序從主程序轉(zhuǎn)移到標(biāo)號為I001處,開始執(zhí)行中斷服務(wù)程序1,直至遇IRET指令時(shí)返回主程序。(2)I699表示內(nèi)部定時(shí)時(shí)間到中斷,每隔99ms就執(zhí)行I699開始12/2/2022395.2.3中斷與返回指令7(3)高速外部計(jì)數(shù)中斷指針5.2.3中斷與返回指令8的中斷服務(wù)程序一次,直至遇IRET指令時(shí)返回主程序。(3)I020表示高速計(jì)數(shù)器C236計(jì)數(shù)到中斷,從X1輸入計(jì)數(shù)脈沖,每當(dāng)C236當(dāng)前值為10時(shí),產(chǎn)生中斷,執(zhí)行標(biāo)號為I020開始的中斷服務(wù)程序一次,D1就被加1,直至遇IRET指令時(shí)返回主程序。

12/2/2022405.2.3中斷與返回指令8的中斷服務(wù)程序一次,直至遇5.2.3中斷與返回指令93.中斷請求信號的寬度與中斷屏蔽寄存器

(1)中斷請求信號寬度中斷請求信號寬度,即中斷請求信號的持續(xù)時(shí)間必須大于200μs,寬度不足的請求信號可能得不到正確響應(yīng)。(2)中斷屏蔽寄存器M8050~M8058這10個(gè)特殊功能輔助繼電器是同中斷有關(guān)的,其功能如表5.5和表5.6所示??捎贸绦蛟O(shè)置其為ON或OFF,當(dāng)其為ON時(shí),即使已經(jīng)用EI指令開中斷了,也會(huì)屏蔽相關(guān)的中斷,不妨將M8050~M8059稱之為中斷屏蔽寄存器。DI則是中斷屏蔽總開關(guān)。12/2/2022415.2.3中斷與返回指令93.中斷請求信號的寬度與中5.2.3中斷與返回指令1012/2/2022425.2.3中斷與返回指令1012/1/2022425.2.4主程序結(jié)束指令

1主程序結(jié)束指令:FNC06

FEND有關(guān)主程序結(jié)束指令的概要如表5.7。FEND指令表示主程序結(jié)束,此后CPU將進(jìn)行輸入/輸出處理、警戒時(shí)鐘刷新,完成后回到第0步。子程序和中斷服務(wù)程序都必須寫在FEND后,沒有它們時(shí)也可以沒有FEND指令。但是程序的最后必須用END指令結(jié)尾。所以,子程序及中斷服務(wù)程序必須寫在FEND指令與END指令之間。12/2/2022435.2.4主程序結(jié)束指令1主程序結(jié)束指令:FNC5.2.4主程序結(jié)束指令2若FEND指令在CALL或CALL(P)指令執(zhí)行之后,SRET指令執(zhí)行之前出現(xiàn),或?qū)END指令置于FOR-NEXT循環(huán)之中,則被認(rèn)為出錯(cuò)。一個(gè)完整的PLC程序可以沒有子程序,也可以沒有中斷服務(wù)程序,但必定要有主程序。

5.2.5警戒時(shí)鐘指令警戒時(shí)鐘刷新指令:FNC07WDT(P)警戒時(shí)鐘刷新指令概要如表5.8所示。12/2/2022445.2.4主程序結(jié)束指令2若FEND指令在CALL或5.2.5警戒時(shí)鐘指令1WDT指令用于1.3.2介紹過的警戒定時(shí)器刷新,CPU從第0步掃描到END或FEND指令時(shí),將使警戒定時(shí)器復(fù)位。如果掃描時(shí)間,因干擾超過了D8000中設(shè)定的警戒定時(shí)器定時(shí)時(shí)間,警戒定時(shí)器不再被復(fù)位,用戶程序?qū)?huì)停止執(zhí)行,PLC面板上的CPU-E出錯(cuò)指示燈將會(huì)點(diǎn)亮。為此,可將WDT指令插到合適的程序步中來刷新警戒定時(shí)器,以使順序程序得以繼續(xù)執(zhí)行到END。這樣就可以將一個(gè)運(yùn)行時(shí)間大于警戒定時(shí)器定時(shí)值的程序用WDT指令分成幾部分,使每部分的執(zhí)行時(shí)間都小于警戒定時(shí)器定時(shí)值。存儲(chǔ)在D8000中的警戒定時(shí)器定時(shí)時(shí)間由PLC的監(jiān)控程序?qū)懭耄瑫r(shí)也允許用戶改寫其內(nèi)容。若希望掃描周期12/2/2022455.2.5警戒時(shí)鐘指令1WDT指令用于1.3.2介紹5.2.5警戒時(shí)鐘指令2時(shí)間改寫為160ms,可以用功能指令MOV來改寫D8000的內(nèi)容,如圖5.20所示。此外,WDT指令還可用于:(1)當(dāng)程序用CJ指令向后跳轉(zhuǎn)時(shí),即對應(yīng)的P標(biāo)號步序小于CJ指令的步序,為防止出錯(cuò),應(yīng)在P標(biāo)號之后插入WDT指令,如圖5.21。(2)可將WDT指令置于FOR-NEXT循環(huán)之中,以防止死循環(huán)或循環(huán)時(shí)間超時(shí)而停止運(yùn)行。12/2/2022465.2.5警戒時(shí)鐘指令2時(shí)間改寫為160ms,可以用5.2.6循環(huán)指令

11.指令用法說明(1)循環(huán)體起點(diǎn)指令: FNC08

FOR(16)(2)循環(huán)體終點(diǎn)指令: FNC09NEXT

循環(huán)指令概要如表5.9所示。能夠充當(dāng)源操作數(shù)的為如表中[S·]所指定的范圍內(nèi)的所有軟元件。循環(huán)指令可反復(fù)執(zhí)行某段程序,只要將這一段程序放在12/2/2022475.2.6循環(huán)指令11.指令用法說明12/1/2025.2.6循環(huán)指令

2FOR-NEXT間,待執(zhí)行完指定的循環(huán)次數(shù)后,才執(zhí)行NEXT下一條指令。在梯形圖中判斷FOR/NEXT指令配對的原則是:與NEXT指令之前相距最近的FOR指令是一對循環(huán)指令,F(xiàn)OR/NEXT對是唯一的。FOR指令和NEXT指令間包含的程序,稱為循環(huán)體,循環(huán)體內(nèi)的程序就是要反復(fù)循環(huán)執(zhí)行的操作。如果在循環(huán)體內(nèi)又包含了另外一個(gè)完整的循環(huán),則稱為循環(huán)的嵌套。圖5.22中循環(huán)C的循環(huán)體中包含了循環(huán)B的全部,循環(huán)B的循環(huán)體中包含了循環(huán)A的全部,這是三重循環(huán)的嵌套,循環(huán)指令最多允許5層嵌套。嵌套循環(huán)程序的執(zhí)行總是由內(nèi)向外,逐層循環(huán)的。12/2/2022485.2.6循環(huán)指令2FOR-NEXT間,待執(zhí)行完指定5.2.6循環(huán)指令

3循環(huán)次數(shù)由FOR后的數(shù)值指定,表5.9中[S·]區(qū)間內(nèi)的元件都可以。循環(huán)次數(shù)范圍為1~32767,如循環(huán)次數(shù)<1時(shí),被當(dāng)作1處理,F(xiàn)OR--NEXT循環(huán)一次。注意:應(yīng)避免下述會(huì)出錯(cuò)情況。①NEXT指令出現(xiàn)在FOR指令之前。②FOR和NEXT指令必須成對使用,缺一不可。③NEXT指令出現(xiàn)在FEND或END指令之后。12/2/2022495.2.6循環(huán)指令3循環(huán)次數(shù)由FOR后的數(shù)值指定,表5.2.6循環(huán)指令

4注意:應(yīng)避免下述會(huì)出錯(cuò)情況。①NEXT指令出現(xiàn)在FOR指令之前。②FOR和NEXT指令必須成對使用,缺一不可。③NEXT指令出現(xiàn)在FEND或END指令之后。

12/2/2022505.2.6循環(huán)指令412/1/202250在FX2N系列PLC中設(shè)置了8條數(shù)據(jù)傳送指令,2條數(shù)據(jù)比較指令,其功能號是FNC10~FNC19。傳送指令:MOV(傳送) SMOV(BCD碼移位傳送)CML(取反傳送) BMOV(數(shù)據(jù)塊傳送)FMOV(多點(diǎn)傳送) XCH(數(shù)據(jù)交換)BCD(二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼并傳送)BIN(BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)并傳送)比較指令:CMP(比較)ZCP(區(qū)間比較)5.3數(shù)據(jù)傳送指令

12/2/202251在FX2N系列PLC中設(shè)置了8條數(shù)據(jù)傳送指令,2條數(shù)據(jù)比較指5.3.1比較指令1比較指令:

FNC10

CMP

[S1·]

[S2·]

[D·]其中[S1·]、[S2·]為兩個(gè)比較的源操作數(shù),[D·]為比較結(jié)果標(biāo)志軟元件,指令中給出的是標(biāo)志軟元件的首地址。比較指令的概要如表5.10所示。比較指令CMP可對兩個(gè)數(shù)進(jìn)行代數(shù)減法操作,將源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)12/2/2022525.3.1比較指令1比較指令: FNC10CMP5.3.1比較指令2行比較,結(jié)果送到目標(biāo)操作數(shù)[D·]中,再將比較結(jié)果寫入指定的相鄰三個(gè)標(biāo)志軟元件中。指令中所有源數(shù)據(jù)均作為二進(jìn)制數(shù)處理。圖5.23所示為比較指令CMP的梯形圖,對應(yīng)的指令為:CMP

Kl00

D10

M0。在圖5.23中,如X010接通,則將執(zhí)行比較操作,即將100減去D10中的內(nèi)容,再將比較結(jié)果寫入相鄰三個(gè)標(biāo)志軟元件M0~M2中。標(biāo)志位操作規(guī)則是:12/2/2022535.3.1比較指令2行比較,結(jié)果送到目標(biāo)操作數(shù)[D·5.3.1比較指令3若K100>(D10),則M0被置1;若K100=(D10),則M1被置1;若K100<(D10),則M2被置1。可見CMP指令執(zhí)行后,標(biāo)志位中必有一個(gè)被置1,而其余二個(gè)均為0。CMP指令在作32位操作時(shí),使用前綴(D):(D)CMP

[S1·]

[S2·]

[D·]。CMP指令也可有脈沖操作方式,使用后綴(P):(D)CMP(P)[S1·]

[S2·]

[D·],只有在驅(qū)動(dòng)條件由OFF→ON時(shí)進(jìn)行一次比較。注意:指令中的三個(gè)操作數(shù)必須按表5.10所示編寫,如果缺操作數(shù),或操作元件超出此表中指定范圍等都要引起出錯(cuò)。清除比較結(jié)果,可用RST或ZRST復(fù)位指令。12/2/2022545.3.1比較指令3若K100>(D10),則M0被區(qū)間比較指令:FNC11ZCP[S1·][S2·][S3·][D·][S1·]和[S2·]為區(qū)間起點(diǎn)和終點(diǎn),[S3·]為另一比較軟元件,[D·]為標(biāo)志軟元件(首地址)。ZCP指令可將某個(gè)指定的源數(shù)據(jù)[S3·]與一個(gè)區(qū)間的數(shù)據(jù)進(jìn)行代數(shù)比較,[S1·]和[S2·]分別為區(qū)間的下限和上限,比較結(jié)果送到目標(biāo)操作數(shù)[D·]中,[D·]由3個(gè)連續(xù)的標(biāo)志位軟元件組成。5.3.2區(qū)間比較指令112/2/202255區(qū)間比較指令:FNC11ZCP[S1·][S2·]圖5.24所示為區(qū)間比較指令示例梯形圖,對應(yīng)指令為:ZCPKl00K200C0

M0。如果X010接通,則將執(zhí)行區(qū)間比較操作,即將C0的內(nèi)容與區(qū)間的上下限去比較,比較結(jié)果寫入相鄰三個(gè)標(biāo)志位軟元件M0~M2中。標(biāo)志位操作規(guī)則是:若K100>C0,則M0被置1;若K100<C0<K200,則M1被置1;若K200<C0,則M2被置1。5.3.2區(qū)間比較指令212/2/202256圖5.24所示為區(qū)間比較指令示例梯形圖,對應(yīng)指令為:ZCPZCP指令的32位方式:(D)ZCP

[S1·]

[S2·][S3·][D·]。ZCP指令的脈沖方式:(D)ZCP(P)[S1·][S2·][S3·][D·]有關(guān)ZCP指令操作數(shù)等注意事項(xiàng)同CMP指令。5.3.3傳送指令數(shù)據(jù)傳送指令:

FNC12

MOV

[S·]

[D·][S·]為源數(shù)據(jù),[D·]為目軟元件。功能:將源數(shù)據(jù)傳送到目軟元件中去。數(shù)據(jù)傳送指令概要如表5.12。能充當(dāng)源操作數(shù)的為如表中[S?]所指定的范圍內(nèi)的所有軟元件;能夠充當(dāng)目操作數(shù)的軟元件要除去常數(shù)K、H和輸入繼電器位組合。5.3.2區(qū)間比較指令312/2/202257ZCP指令的32位方式:5.3.2區(qū)間比較指令3125.3.3傳送指令2圖5.25為MOV的示例梯形圖,對應(yīng)的指令為:MOVD10D20。如X010接通,將D10的內(nèi)容傳送到D20中去,傳送結(jié)果12/2/2022585.3.3傳送指令2圖5.25為MOV的示例梯形圖,D10內(nèi)容保持不變,D20中內(nèi)容被D10內(nèi)容轉(zhuǎn)化為二進(jìn)制后取代。MOV指令的32位脈沖方式:(D)MOV(P)[S·]

[D·]。5.3.4移位傳送指令移位傳送指令:FNC13

SMOV

[S·]

m1m2[D·]n

[S·]為源數(shù)據(jù),m1為被傳送的起始位,m2為傳送位數(shù)5.3.3傳送指令312/2/202259D10內(nèi)容保持不變,D20中內(nèi)容被D10內(nèi)容轉(zhuǎn)化為二進(jìn)制后取,[D·]為目軟元件,n為傳送的目起始位。功能:將[S·]第m1位開始的m2個(gè)數(shù)移位到[D·]的第n位開始的m2個(gè)位置去,ml、m2和n取值均為:1~4。分開的BCD碼重新分配組合,一般用于多位BCD撥盤開關(guān)的數(shù)據(jù)輸入。圖5.26為SMOV的示例梯形圖,對應(yīng)指令為:SMOVD10K4K2D20K3移位傳送示意圖如圖5.27。設(shè)D10=BCD碼4321,D20=BCD碼9008。如X010接通,執(zhí)行移位傳送指令。5.3.4移位傳送指令212/2/202260,[D·]為目軟元件,n為傳送的目起始位。5.3.4移位將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼4321;然后將第4位(m1=K4)開始的共2位(m2=K2)BCD碼4和3,分別移到D20的第3位(n=K3)和第2位的BCD碼位置上去,所以移位傳送后D20=9438。移位傳送指令只能對16位數(shù)據(jù)進(jìn)行操作,所以BCD碼值超過9999時(shí)將會(huì)出錯(cuò)。SMOV指令脈沖方式:SMOV(P)[S·]m1m2[D·]n。5.3.4移位傳送指令312/2/202261將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼4321;然后將第4位(m取反傳送指令:

FNC14

CML

[S·]

[D·][S·]為源數(shù)據(jù),[D·]為目軟元件。

功能:將[S·]按二進(jìn)制的位取反后送到目[D·]中。取反傳送指令概要如表5.14。圖5.28為取反傳送指令CML示例梯形圖,對應(yīng)指令為:CMLD10K1Y001。5.3.5取反傳送指令112/2/202262取反傳送指令: FNC14CML[S·][D·]5.5.3.5取反傳送指令2在圖5.28中,如X010接通,則將執(zhí)行取反傳送指令。首先將D10中的各個(gè)位取反。然后根據(jù)K1Y001指定,將D10的低4位送到Y(jié)004、Y003、Y002、Y001四位目元件中去,因此Y005以上的輸出繼電器不會(huì)有任何變化。如果被取反的軟元件是K或H型的都將被變換成二進(jìn)制數(shù)后,再取反傳送。CML指令32位脈沖格式:(D)CML(P)[S·]

[D·]。12/2/2022635.3.5取反傳送指令2在圖5.28中,如X010接塊傳送指令:FNC15

BMOV

[S·]

[D·]n[S·]為源軟元件,[D·]為目標(biāo)軟元件,n為數(shù)據(jù)塊個(gè)數(shù)。功能:將源中的n個(gè)數(shù)據(jù)組成的數(shù)據(jù)塊傳送到指定的目中去。如果元件號超出允許元件號的范圍,數(shù)據(jù)僅傳送到允許范圍內(nèi)。塊傳送指令概要如表5.15。5.3.6塊傳送指令112/2/202264塊傳送指令:FNC15BMOV[S·][D·]n5圖5.29(a)為塊傳送指令示例梯形圖,對應(yīng)指令為:BMOVD0D10

K3。在圖5.29(a)中,如X010接通,執(zhí)行塊傳送指令。K3指定數(shù)據(jù)塊個(gè)數(shù)為3,將D0~D2內(nèi)容傳送到D10~D12,如圖5.29(b)。當(dāng)源、目類型相同時(shí),傳送順序自動(dòng)決定。如源、目類型不同,只要位數(shù)相同就可正確傳送。如源、目軟元件號超出允許范圍,則只對符合規(guī)定的數(shù)據(jù)傳送。BMOV指令沒有32位操作方式,但有脈沖方式:BMOV(P)[S·][D·]n。5.3.6塊傳送指令212/2/202265圖5.29(a)為塊傳送指令示例梯形圖,對應(yīng)指令為:BMOV多點(diǎn)傳送指令: FNC16

FMOV

[S·]

[D·]n[S·]為源軟元件,[D·]為目軟元件,n為目軟元件個(gè)數(shù)。功能:將一個(gè)源中的數(shù)據(jù)傳送到指定的n個(gè)目中去。指令中給出的是目的首地址。常用于對某一段數(shù)據(jù)寄存器清零或置相同的初始值。多點(diǎn)傳送指令概要如表5.16。5.3.7多點(diǎn)傳送指令112/2/202266多點(diǎn)傳送指令: FNC16FMOV[S·][D·]圖5.30(a)為多點(diǎn)傳送指令示例梯形圖,對應(yīng)指令:FMOVD0D10

K3。在圖5.30(a)中,如X010接通,按K3指定目元件個(gè)數(shù)為3,則將D0中的內(nèi)容傳送到D10~D12中去,如圖5.30(b)。傳送后D0中的內(nèi)容不變,而D10~D12內(nèi)容被D0內(nèi)容取代。如果目軟元件號超出允許范圍,則只對符合規(guī)定的數(shù)據(jù)進(jìn)行傳送。FMOV指令沒有32位操作方式,但有脈沖方式:FMOV(P)[S·][D·]n5.3.7多點(diǎn)傳送指令212/2/202267圖5.30(a)為多點(diǎn)傳送指令示例梯形圖,對應(yīng)指令:FMOV數(shù)據(jù)交換指令: FNC17

XCH

[D1·]

[D2·][D1·],[D2·]為兩個(gè)目軟元件。功能:將兩個(gè)指定的目軟元件的內(nèi)容交換。

數(shù)據(jù)交換指令概要如表5.17。圖5.31為數(shù)據(jù)交換指令示例梯形圖,對應(yīng)指令為:XCHD10D205.3.8數(shù)據(jù)交換指令112/2/202268數(shù)據(jù)交換指令: FNC17XCH[D1·][D2·]5在圖5.31中,如X010接通,則將執(zhí)行數(shù)據(jù)交換指令。將D10的內(nèi)容傳送到D20中去,而D20中的內(nèi)容則傳送到D10中去,兩個(gè)軟元件的內(nèi)容互換。注意:按圖5.31中的梯形圖,數(shù)據(jù)在每個(gè)掃描周期都要交換1次,而經(jīng)過兩次交換后D10和D20的內(nèi)容將復(fù)原。解決的辦法是使用XCH指令的脈沖方式,只有在驅(qū)動(dòng)條件由OFF→ON時(shí)進(jìn)行一次交換操作。XCH指令的32位脈沖方式為:(D)XCH(P)[D1·]

[D2·]。5.3.8數(shù)據(jù)交換指令212/2/202269在圖5.31中,如X010接通,則將執(zhí)行數(shù)據(jù)交換指令。將D1BCD碼變換指令:FNC18

BCD

[S·]

[D·][S·]為被轉(zhuǎn)換的軟元件,[D·]為目標(biāo)軟元件。功能:將指定軟元件的內(nèi)容轉(zhuǎn)換成BCD碼并送到指定的目軟元件中去。再譯成7段碼,就能輸出驅(qū)動(dòng)LED。BCD碼變換指令概要如表5.18。圖5.32為BCD碼變換指令的示例梯形圖,對應(yīng)指令為:BCDD10K2Y000。5.3.9BCD變換指令112/2/202270BCD碼變換指令:FNC18BCD[S·][D·]5在圖5.32中,如X010接通,則將執(zhí)行BCD碼變換指令,即將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼,然后將低八位內(nèi)容送到Y(jié)007~Y000中去。指令執(zhí)行過程的示意如圖5.33所示。注意,如果超出了BCD碼變換指令能夠轉(zhuǎn)換5.3.9BCD變換指令212/2/202271在圖5.32中,如X010接通,則將執(zhí)行BCD碼變換指令,即的最大數(shù)據(jù)范圍就會(huì)出錯(cuò),16位操作時(shí)為0~9999;32位操作時(shí)為0~99999999。BCD碼變換指令的32位脈沖操作格式為:(D)BCD(P)[S·]

[D·]。5.3.10BIN變換指令

BIN變換指令:

FNC19

BIN

[S·]

[D·][S·]為被轉(zhuǎn)換的軟元件,[D·]為目軟元件。BIN變換指令概要如表5.19。5.3.9BCD變換指令312/2/202272的最大數(shù)據(jù)范圍就會(huì)出錯(cuò),16位操作時(shí)為0~9999;32位操功能:將指定軟元件中的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)并送到指定的目軟元件中去。此指令作用正好與BCD變換指令相反,用于將軟元件中的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)圖5.34為BIN變換指令的示例梯形圖,對應(yīng)指令為:BINK2X000D10。這條指令可將BCD撥盤的設(shè)定值通過X007~X000輸入到PLC中去。如X010接通,則將執(zhí)行BIN變換指令,把從X007~X000上輸入的兩位BCD碼,變換成二進(jìn)制數(shù),傳送到D10的低八位中。指令執(zhí)行過程如圖5.35,設(shè)輸入的BCD碼=63,如直接輸入,是二進(jìn)制01100011(十進(jìn)制99),就會(huì)出錯(cuò)。5.3.10BIN變換指令

212/2/202273功能:將指定軟元件中的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)并送到指定的目軟如用BIN變換指令輸入,將會(huì)先把BCD碼63轉(zhuǎn)化成二進(jìn)制00111111,就不會(huì)出錯(cuò)了。注意:如[S·]中內(nèi)容不是BCD碼就會(huì)出錯(cuò),也不能是常數(shù)K,因?yàn)樵诓僮髑?,程序自?dòng)將其變換成二進(jìn)制數(shù)。BIN變換指令32位脈沖方式:(D)BIN(P)[S·][D·]5.3.10BIN變換指令

312/2/202274如用BIN變換指令輸入,將會(huì)先把BCD碼63轉(zhuǎn)化成二進(jìn)制0010條算邏運(yùn)算指令的功能號是FNC20~FNC29。5.4.1BIN加法指令二進(jìn)制加法指令:FNC20

ADD

[S1·]

[S2·]

[D·][S1·]、[S2·]為加數(shù)源元件,[D·]為和的目元件。功能:將指定的兩個(gè)源中有符數(shù),進(jìn)行二進(jìn)制加法,然后將和送入指定的目中。

二進(jìn)制加法指令概要如表5.20。5.4算術(shù)和邏輯運(yùn)算指令112/2/20227510條算邏運(yùn)算指令的功能號是FNC20~FNC29。5.4加法指令影響三個(gè)標(biāo)志位:①若相加和=0,零標(biāo)志位M8020=1;②若發(fā)生進(jìn)位,則進(jìn)位標(biāo)志位M8022=1;③若發(fā)生借位,則借位標(biāo)志M8021=1。若浮點(diǎn)數(shù)標(biāo)志位M8023置1,則可進(jìn)行浮點(diǎn)加法運(yùn)算。圖5.36為加法指令A(yù)DD的示例梯形圖,對應(yīng)的指令為:ADD

Kl0

D10

D20。在圖5.36中,如X010接通,執(zhí)行加法運(yùn)算,即將10與D10中的內(nèi)容相加,結(jié)果送入D20中,并根據(jù)運(yùn)算的結(jié)果使相應(yīng)的標(biāo)志位置1。ADD指令32位方式:(D)ADD

D10

D20D30。指令中給出的源、目是其首地址,如對加數(shù)1來說,低5.4.1BIN加法指令212/2/202276加法指令影響三個(gè)標(biāo)志位:5.4.1BIN加法指令2116位在D10中,高16位在相鄰下一數(shù)據(jù)寄存器D11中,兩者組成一個(gè)32位的加數(shù)1。同理,D21和D20組成了另一個(gè)加數(shù)2;D31和D30組成和數(shù)。為避免重復(fù)使用某軟元件,建議用偶數(shù)元件號。源、目可用相同的元件號,如:ADDDl0D20D10。ADD指令脈沖方式:ADD(P)Dl0D20D10。5.4.2BIN減法指令

二進(jìn)制減法指令:FNC21SUB[S1·][S2·][D·]

[S1·]、[S2·]為被減數(shù)和減數(shù)源元件,[D·]為差目元件。功能:將指定兩個(gè)源軟元件中有符數(shù),進(jìn)行二進(jìn)制代數(shù)減法,相減結(jié)果差送入指定的目元件中。

二進(jìn)制減法指令概要如表5.21。5.4.1BIN加法指令312/2/20227716位在D10中,高16位在相鄰下一數(shù)據(jù)寄存器D11中,兩者SUB指令進(jìn)行的是二進(jìn)制有符數(shù)減法代數(shù)運(yùn)算,減法指令影響標(biāo)志位:①相減結(jié)果為0,零標(biāo)志位M8020=1;②相減發(fā)生借位,借位標(biāo)志M8021=1;③若相減發(fā)生進(jìn)位,進(jìn)位標(biāo)志M8022=1。若將浮點(diǎn)數(shù)標(biāo)志位M8023置1,則可以進(jìn)行浮點(diǎn)數(shù)減法運(yùn)算。

5.4.2BIN減法指令

212/2/202278SUB指令進(jìn)行的是二進(jìn)制有符數(shù)減法代數(shù)運(yùn)算,減法指令影響標(biāo)志圖5.37為減法指令SUB的示例梯形圖,對應(yīng)的指令為:SUBKl0D10D20。在圖5.37中,如X010接通,執(zhí)行減法運(yùn)算,將10與D10中的內(nèi)容相減,結(jié)果送入D20中,并根據(jù)運(yùn)算的結(jié)果使相應(yīng)的標(biāo)志位置1。SUB指令的32位脈沖操作格式為:(D)SUB(P)[S·][D·],這時(shí),指令中給出的是源、目軟元件的首地址。5.4.3BIN乘法指令二進(jìn)制乘法指令:FNC22

MUL

[S1·]

[S2·]

[D·]

[S1·]、[S2·]為被乘數(shù)和乘數(shù)的源元件,[D·]為乘積的目元件的首地址。5.4.2BIN減法指令

312/2/202279圖5.37為減法指令SUB的示例梯形圖,對應(yīng)的指令為:SUB功能:將指定的兩個(gè)源軟元件中的數(shù),進(jìn)行二進(jìn)制有符數(shù)乘法,然后將相乘的積送入指定的目標(biāo)元件中。二進(jìn)制乘法指令概要如表5.22。圖5.38為乘法指令示例梯形圖,對應(yīng)的指令為:MULD10D20D30。5.4.3BIN乘法指令212/2/202280功能:將指定的兩個(gè)源軟元件中的數(shù),進(jìn)行二進(jìn)制有符數(shù)乘法,然后在圖5.38中,如X010接通,執(zhí)行有符數(shù)乘法運(yùn)算,將D10與D20中的兩內(nèi)容相乘,積送入D31和D30中兩個(gè)目單元中去。MUL指令進(jìn)行的是有符數(shù)乘法,被乘數(shù)和乘數(shù)最高位是符號位,分為16位和32位操作兩種情況:(1)16位乘法運(yùn)算源都是16位的,但積卻是32位的。積將按照“高對高,低對低”的原則存放到目中,即積的低16位存放到指令中給出的低地址目元件中,高16位存放到高一號地址的目元件中。如果積用位元件(Y、M、S)組合來存放,則目元件要用K8來給定,小于K8將得不到32位的積,如用K4則只能得到低16位。5.4.3BIN乘法指令312/2/202281在圖5.38中,如X010接通,5.4.3BIN乘法指令16位乘法允許使用脈沖執(zhí)行方式:MUL(P)[S1·][S2·][D·]。(2)32位乘法運(yùn)算32位的脈沖方式的MUL指令:(D)MUL(P)D10D20D30。指令中的源都是32位的,被乘數(shù)的32位在D11和D10中,乘數(shù)的32位在D21和D20中;但是積卻是64位的,并將存放到D33、D32、D31和D30中。如果積用位元件(Y、M、S)組合來存放,即使用K8來指定,也只能得到積的低32位,積的高32位將丟失。解決的辦法是先用字元件存放積,然后再傳送到位元件組合。若將浮點(diǎn)數(shù)標(biāo)志位M8023置1,可進(jìn)行浮點(diǎn)數(shù)乘法運(yùn)算5.4.3BIN乘法指令412/2/20228216位乘法允許使用脈沖執(zhí)行方式:5.4.3BIN乘法指令二進(jìn)制除法指令:FNC23DIV[S1·][S2·][D·][S1·]、[S2·]為存放被除數(shù)和除數(shù)源元件,[D·]為商和余數(shù)的目元件首地址。功能:將指定兩個(gè)源元件中的數(shù),進(jìn)行二進(jìn)制有符數(shù)除法,將相除的商和余數(shù)送入從首地址開始的相應(yīng)的目標(biāo)元件中。二進(jìn)制除法指令概要如表5.23

。5.4.4BIN除法指令112/2/202283二進(jìn)制除法指令:FNC23DIV[S1·][S2·]圖5.39為除法指令DIV示例梯形圖,對應(yīng)的指令為DIVD10D20D30。在圖5.39中,如X010接通,執(zhí)行除法運(yùn)算,將D10與D20中的兩內(nèi)容相除,商送入D30中,而余數(shù)放入D31中。DIV指令分為16位和32位操作兩種情況。(1)16位除法運(yùn)算16位除法運(yùn)算的源、目都是16位的,雖然商是不會(huì)超過16位。如商用位元件組合來存放,能得到相應(yīng)指定的位數(shù)的商,如用K4M0指定能得到16位,但這時(shí)余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位元件組合去。5.4.4BIN除法指令212/2/202284圖5.39為除法指令DIV示例梯形圖,對應(yīng)的指令為5.4.416位除法脈沖方式:DIV(P)[S1·]

[S2·]

[D·]。(2)32位除法運(yùn)算32位脈沖方式DIV指令:(D)DIV(P)D10D20D30。指令中的源、目都為32位,給出的都只是它們的首地址。被除數(shù)的32位在D11和D10中,除數(shù)的32位在D21和D20中;商的32位在D31和D30中,余數(shù)的32位在D33和D32中。都是按照“高對高,低對低”的原則存放的。如果商用位元件組合來存放,能得到相應(yīng)指定位數(shù)的商,如用K8M0指定能得到32位,但余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位元件組合去。除法運(yùn)算中除數(shù)不能為0,否則要出錯(cuò)。若將浮點(diǎn)數(shù)標(biāo)志位M8023置1,則可進(jìn)行浮點(diǎn)數(shù)除法運(yùn)算。5.4.4BIN除法指令312/2/20228516位除法脈沖方式:DIV(P)[S1·][S2·]二進(jìn)制加1指令: FNC24INC[D·][D·]是要加1的目元件。功能:將指定的目軟元件的內(nèi)容增加1。二進(jìn)制加1指令概要如表5.24

。圖5.40為加1指令I(lǐng)NC的示例梯形圖,對應(yīng)的指令為:INC(P)D10。5.4.5BIN加1指令112/2/202286二進(jìn)制加1指令: FNC24INC[D·]5.4.5INC指令常使用的是脈沖操作方式。在圖5.40中,如X010由OFF→ON時(shí),則將執(zhí)行一次加1運(yùn)算,即將老的D10內(nèi)容加1后作為新的D10內(nèi)容。INC指令不影響標(biāo)志位。比如,用INC指令進(jìn)行16位操作時(shí),當(dāng)正數(shù)32767再加1時(shí),將會(huì)變?yōu)?32768;這種情況下進(jìn)位或借位標(biāo)志都不受影響。INC指令最常用于循環(huán)次數(shù)、變址操作等情況。5.4.5BIN加1指令212/2/202287INC指令常使用的是脈沖操作方式。在圖5.40中,如X010二進(jìn)制減1指令: FNC26

DEC

[D·][D·]是要減1的目元件。功能:將指定的目元件的內(nèi)容增減1。二進(jìn)制減1指令概要如表5.25

。圖5.41為減1指令DEC的示例梯形圖,對應(yīng)的指令為:DEC(P)D10。5.4.6BIN減1指令112/2/202288二進(jìn)制減1指令: FNC26DEC[D·]5.4.6DEC指令經(jīng)常使用的是脈沖操作方式。在圖5.41中,如X010由OFF→ON時(shí),則將執(zhí)行一次減1運(yùn)算,即將老的D10內(nèi)容減1后作為新的D10內(nèi)容。DEC指令不影響標(biāo)志位。比如,用DEC指令進(jìn)行16位操作時(shí),當(dāng)負(fù)數(shù)-32768再減1時(shí),將會(huì)變?yōu)?2767;這種情況下進(jìn)位或借位標(biāo)志都不受影響。DEC指令也常用于循環(huán)次數(shù)、變址操作等情況。5.4.5BIN加1指令212/2/202289DEC指令經(jīng)常使用的是脈沖操作方式。在圖5.41中,如X01邏輯“與”指令:FNC26

WAND

[S1·]

[S2·]

[D·][S1·]、[S2·]為兩個(gè)相“與”的源元件,[D·]為放相“與”結(jié)果的目元件。功能:將指定兩源元件中數(shù),進(jìn)行二進(jìn)制按位“與”,然后將相“與”結(jié)果送入指定的目軟元件中。邏輯“與”指令概要如表5.26

。圖5.42為邏輯“與”指令示例梯形圖,對應(yīng)的指令為:WANDD10D20D30。5.4.7邏輯“與”指令112/2/202290邏輯“與”指令:FNC26WAND[S1·][S2·WAND前面的“W”表示16位字操作,以與“與”基本指令中的數(shù)據(jù)寬度僅一位的AND指令相區(qū)別。如X010接通,則將執(zhí)行邏輯“與”運(yùn)算,即將D10“與”D20中的內(nèi)容,進(jìn)行二進(jìn)制按位“與”,相“與D10=12,D20=10,則送入D30的相“與”結(jié)果為8,相“與”的示意如圖5.43所示?!芭c”運(yùn)算的規(guī)則是:“全1出1,有0出0”。在D10與D20相“與”運(yùn)算中,只有第3位滿足“全1出1”,在第2至第0位相“與”中,至少有一位是0,所以相“與”結(jié)果都是“有0出0”。5.4.7邏輯“與”指令212/2/202291WAND前面的“W”表示16位5.4.7邏輯“與”指令邏輯“與”指令的32位脈沖操作格式為:(D)AND(P)[S1·][S2·][D·]。指令中給出的[S1·]、[S2·]和[D·]分別為源和目軟元件的首地址。5.4.7邏輯“與”指令312/2/202292邏輯“與”指令的32位脈沖操作格式為:5.4.7邏輯“與邏輯“或”指令:FNC27

WOR

[S1·]

[S2·]

[D·][S1·]、[S2·]為兩個(gè)相“或”的源元件,[D·]為放相“或”結(jié)果的目元件。功能:將指定的兩個(gè)源元件中的數(shù),進(jìn)行二進(jìn)制按位“或”,然后將相“或”結(jié)果送入指定的目標(biāo)元件中。邏輯“或”指令概要如表5.27。5.4.8邏輯“或”指令112/2/202293邏輯“或”指令:FNC27WOR[S1·][S2·圖5.44為邏輯“或”指令示例梯形圖,對應(yīng)的指令為:WORD10D20D30。WOR前面的“W”表示16位字操作,以與“或”基本指令中的數(shù)據(jù)寬度僅一位的OR指令相區(qū)別。如X010接通,則將執(zhí)行邏輯“或”運(yùn)算,即將D10“或”D20中的內(nèi)容,進(jìn)行二進(jìn)制按位“或”,相“或”結(jié)果將送入D30中。假設(shè)D10中的數(shù)據(jù)為12,D20中的數(shù)據(jù)為10,則送入D30的相“或”結(jié)果為14,相“或”的示意如圖5.45所示?;蜻\(yùn)算的規(guī)則是:“全0出0,有1出1”。在D10或D20相“或”運(yùn)算中,只有第0位滿足“全0出0”,在5.4.7邏輯“或”指令212/2/202294圖5.44為邏輯“或”指令示例梯形圖,對應(yīng)的指令為:WOR第3至第1位相“或”中,至少有一位是1,所以相“或”結(jié)果都是“有1出1”。邏輯“或”指令的32位脈沖操作格式為:(D)OR(P)[S1·][S2·][D·]。指令中給出的[S1·]、[S2·]和[D·]分別為源和目軟元件的首地址。5.4.7邏輯“或”指令312/2/202295第3至第1位相“或”中,至少有一位是1,所以相“或”結(jié)果都是邏輯“異或”指令:FNC28

WXOR

[S1·]

[S2·]

[D·][S1·]、[S2·]為兩個(gè)相”異或”的源元件,[D·]為放相“異或”結(jié)果的目標(biāo)元件。功能:將指定的兩個(gè)源軟元件中的數(shù),進(jìn)行二進(jìn)制按位“異或”,然后將相“異或”結(jié)果送入指定的目元件中。邏輯“異或”指令概要如表5.28。5.4.9邏輯“異或”指令112/2/202296邏輯“異或”指令:FNC28WXOR[S1·][S2圖5.46為邏輯“異或”指令示例梯形圖,對應(yīng)的指令為:WXORD10D20D30。WORD10D20D30。WXOR前面的“W”表示16位操作。在圖5.46中,如果X010接通,則將執(zhí)行邏輯“異或”運(yùn)算,即將D10“異或”D20中的內(nèi)容,進(jìn)行二進(jìn)制按位“異或”,相“異或”結(jié)果將送入D30中。設(shè)D10=12,D20=10,則送入D30相“異或”結(jié)果為6,相“異或”的示意如圖5.47所示。“異或”運(yùn)算可以理解為不考慮進(jìn)位的按位加,其規(guī)則是:“相同出0,相異出1”。在D10與D20相“異或”運(yùn)算中,第3和第0位滿足“相同出0”,第2和第1位滿足“相異出1”。5.4.9邏輯“異或”指令212/2/202297圖5.46為邏輯“異或”指令示例梯形圖,對應(yīng)的指令為:WXO邏輯“異或”指令的32位脈沖操作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論