三菱FX2系列PLC的功能指令課件_第1頁
三菱FX2系列PLC的功能指令課件_第2頁
三菱FX2系列PLC的功能指令課件_第3頁
三菱FX2系列PLC的功能指令課件_第4頁
三菱FX2系列PLC的功能指令課件_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第5章三菱FX2系列PLC的功能指令本章要求本章介紹FX2系列PLC功能指令及其編程方法。功能指令編號為FNC00~FNC99,將其中主要指令歸納為八大類來講述,限于篇幅從5.6節(jié)起的功能指令只作簡講。對于FX2系列PLC的功能指令,將以表格形式歸納其基本的格式、類型及每條功能指令的使用要素。對于具體的控制對象,選擇合適的功能指令,將使編程更加方便和快捷。要求掌握各類功能指令及運用功能指令編程的方法。1/4/20231第5章三菱FX2系列PLC的功能指令本章要求125.3數(shù)據傳送指令在FX2系列PLC中設置了8條數(shù)據傳送指令,2條數(shù)據比較指令,其功能號是FNCl0~FNCl9。傳送指令:MOV(傳送) SMOV(BCD碼移位傳送)CML(取反傳送) BMOV(數(shù)據塊傳送)FMOV(多點傳送) XCH(數(shù)據交換)BCD(二進制數(shù)轉換成BCD碼并傳送)BIN(BCD碼轉換為二進制數(shù)并傳送)比較指令:CMP(比較)ZCP(區(qū)間比較)1/4/202325.3數(shù)據傳送指令在FX2系列PLC中設置了8條數(shù)據傳送5.3.1比較指令

11.指令用法比較指令: FNC10

CMP

[S1·]

[S2·]

[D·]其中[S1·]、[S2·]為兩個比較的源操作數(shù),[D·]為比較結果標志軟組件,指令中給出的是標志軟組件的首地址。2.指令說明比較指令的概要如表5.10所示。

351/4/202335.3.1比較指令11.指令用法3512/18/2025.3.1比較指令

2比較指令CMP可對兩個數(shù)進行代數(shù)減法操作,將源操作數(shù)[S1·]和[S2·]的數(shù)據進行比較,結果送到目標操作數(shù)[D·]中,再將比較結果寫入指定的相鄰三個標志軟組件中。指令中所有源數(shù)據均作為二進制數(shù)處理。圖5.23所示為比較指令CMP的梯形圖,對應的指令為:CMP

Kl00

D10

M0。在圖5.23中,如X010接通,則將執(zhí)行比較操作,即將100減去D10中的內容,再將比較結果寫入相鄰三個標志軟組件M0~M2中。標志位操作規(guī)則是:

1/4/202345.3.1比較指令2比較指令CMP可對兩個數(shù)進行代數(shù)減5.3.1比較指令

3若K100>(D10),則M0被置1;若K100=(D10),則M1被置1;若K100<(D10),則M2被置1。可見CMP指令執(zhí)行后,標志位中必有一個被置1,而其余二個均為0。CMP指令在作32位操作時,使用前綴(D):(D)CMP

[S1·]

[S2·]

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

[S2·]

[D·],只有在驅動條件由OFF→ON時進行一次比較。注意:指令中的三個操作數(shù)必須按表5.10所示編寫,如果缺操作數(shù),或操作組件超出此表中指定范圍等都要引起出錯。清除比較結果,可用RST或ZRST復位指令。

1/4/202355.3.1比較指令3若K100>(D10),則M0被置1.指令用法區(qū)間比較指令:FNC11ZCP[S1·][S2·][S3·][D·][S1·]和[S2·]為區(qū)間起點和終點,[S3·]為另一比較軟組件,[D·]為標志軟組件,給出的是標志軟組件的首地址。2.指令說明區(qū)間比較指令概要如表5.11所示。

5.3.2區(qū)間比較指令

11/4/202361.指令用法5.3.2區(qū)間比較指令112/18/202由表5.11可見,能夠充當標志位的軟組件只有輸出繼電器Y、輔助繼電器M和狀態(tài)組件S;能夠充當源操作數(shù)的如表中[S1·]、[S2·]和[S3·]所指定的范圍內的所有軟組件。區(qū)間比較指令ZCP可將某個指定的源數(shù)據[S3·]與一個區(qū)間的數(shù)據進行代數(shù)比較,源數(shù)據[S1·]和[S2·]分別為區(qū)間的下限和上限,比較結果送到目標操作數(shù)[D·]中,[D·]由三個連續(xù)的標志位軟組件組成。標志位操作規(guī)則是:若源數(shù)據[S3·]處在上下限之間,則第二個標志位置1;若源數(shù)據[S3·]小于下限,則第一個標志置1;若源數(shù)據[S3·]大于上限,則第三個標志置1。ZCP指令執(zhí)行后標志位必定有一個是1,其余兩個是0。如果[S1·]不比[S2·]小,則把[S1·]和[S2·]看作一樣大。5.3.2區(qū)間比較指令

21/4/20237由表5.11可見,能夠充當標志位的軟組件只有輸出繼電器Y、輔圖5.24所示為區(qū)間比較指令示例梯形圖,對應指令為:ZCPKl00K200C0

M0。如果X010接通,則將執(zhí)行區(qū)間比較操作,即將C0的內容與區(qū)間的上下限去比較,比較結果寫入相鄰三個標志位軟組件M0~M2中。標志位操作規(guī)則是:若K100>C0,則M0被置1;若K100<C0<K200,則M1被置1;若K200<C0,則M2被置1。5.3.2區(qū)間比較指令

31/4/20238圖5.24所示為區(qū)間比較指令示例梯形圖,對應指令為:ZCPZCP指令的32位方式:(D)ZCP

[S1·]

[S2·][S3·][D·]。ZCP指令的脈沖方式:(D)ZCP(P)[S1·][S2·][S3·][D·]有關ZCP指令操作數(shù)等注意事項同CMP指令。5.3.3傳送指令1.指令用法數(shù)據傳送指令: FNC12

MOV

[S·]

[D·][S·]為源數(shù)據,[D·]為目軟組件。功能:將源數(shù)據傳送到目軟組件中去。2.指令說明數(shù)據傳送指令概要如表5.12。5.3.2區(qū)間比較指令

41/4/20239ZCP指令的32位方式:5.3.2區(qū)間比較指令412/5.3.3傳送指令2圖5.25為MOV的示例梯形圖,對應的指令為:MOVD10D20。如X010接通,將D10的內容傳送到D20中去,傳送結果1/4/2023105.3.3傳送指令2圖5.25為MOV的示例梯形圖,對D10內容保持不變,D20中內容被D10內容轉化為二進制后取代??梢詫10中的內容通過多條傳送指令傳送到多個目標單元中去,傳送結果D10的內容還是不變,也就是說源存儲器是“取之不盡”的,而目存儲器則是“后入為主”。MOV指令的32位脈沖方式:(D)MOV(P)[S·]

[D·]。5.3.4移位傳送指令1.指令用法移位傳送指令:FNC13

SMOV

[S·]

m1m2[D·]n[S·]為源數(shù)據,m1為被傳送的起始位,m2為傳送位數(shù),[D·]為目軟組件,n為傳送的目起始位。5.3.3傳送指令31/4/202311D10內容保持不變,D20中內容被D10內容轉化為二進制后取功能:將[S·]第m1位開始的m2個數(shù)移位到[D·]的第n位開始的m2個位置去,ml、m2和n取值均為:1~4。分開的BCD碼重新分配組合,一般用于多位BCD撥盤開關的數(shù)據輸入。

2.指令說明移位傳送指令概要如表5.13。5.3.4移位傳送指令

21/4/202312功能:將[S·]第m1位開始的m2個數(shù)移位到[D·]的第n位功能:將[S·]第m1位開始的m2個數(shù)移位到[D·]的第n位開始的m2個位置去,ml、m2和n取值均為:1~4。分開的BCD碼重新分配組合,一般用于多位BCD撥盤開關的數(shù)據輸入。

2.指令說明圖5.26為SMOV的示例梯形圖,對應指令為:SMOVD10K4

K2

D20

K3。5.3.4移位傳送指令

3移位傳送示意圖如圖5.27。設D10=BCD碼4321,D20=BCD碼9008。如X010接通,執(zhí)行移位傳送指令。1/4/202313功能:將[S·]第m1位開始的m2個數(shù)移位到[D·]的第n位將D10中的二進制數(shù)轉換成BCD碼4321;然后將第4位(m1=K4)開始的共2位(m2=K2)BCD碼4和3,分別移到D20的第3位(n=K3)和第2位的BCD碼位置上去,所以移位傳送后D20=9438。移位傳送指令只能對16位數(shù)據進行操作,所以BCD碼值超過9999時將會出錯。SMOV指令脈沖方式:SMOV(P)[S·]m1m2[D·]n。5.3.4移位傳送指令

41/4/202314將D10中的二進制數(shù)轉換成BCD碼4321;然后將第4位(m1.指令用法取反傳送指令: FNC14

CML

[S·]

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

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

[D·]。1/4/202316圖5.28為取反傳送指令CML示例梯形圖,對應指令為:CML1.指令用法塊傳送指令:FNC15

BMOV

[S·]

[D·]n[S·]為源軟組件,[D·]為目標軟組件,n為數(shù)據塊個數(shù)。功能:將源中的n個數(shù)據組成的數(shù)據塊傳送到指定的目中去。如果組件號超出允許組件號的范圍,數(shù)據僅傳送到允許范圍內。2.指令說明塊傳送指令概要如表5.15。5.3.6塊傳送指令

11/4/2023171.指令用法5.3.6塊傳送指令112/18/2022圖5.29(a)為塊傳送指令示例梯形圖,對應指令為:BMOVD0D10

K3。5.3.6塊傳送指令

2在圖5.29(a)中,如X010接通,執(zhí)行塊傳送指令。K3指定數(shù)據塊個數(shù)為3,將D0~D2內容傳送到D10~D12,如圖5.29(b)。當源、目類型相同時,傳送順序自動決定。如源、目類型不同,只要位數(shù)相同就可正確傳送。如源、目軟組件號超出允許范圍,則只對符合規(guī)定的數(shù)據傳送。BMOV指令沒有32位操作方式,但有脈沖方式:BMOV(P)[S·]

[D·]

n。1/4/202318圖5.29(a)為塊傳送指令示例梯形圖,對應指令為:BMOV1.指令用法多點傳送指令: FNC16

FMOV

[S·]

[D·]n[S·]為源軟組件,[D·]為目軟組件,n為目軟組件個數(shù)。功能:將一個源中的數(shù)據傳送到指定的n個目中去。指令中給出的是目的首地址。常用于對某一段數(shù)據寄存器清零或置相同的初始值。2.指令說明多點傳送指令概要如表5.16。

5.3.7多點傳送指令11/4/2023191.指令用法5.3.7多點傳送指令112/18/202圖5.30(a)為多點傳送指令示例梯形圖,對應指令:FMOVD0D10

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

XCH

[D1·]

[D2·][D1·],[D2·]為兩個目軟組件。功能:將兩個指定的目軟組件的內容交換。

2.指令說明數(shù)據交換指令概要如表5.17。圖5.31為數(shù)據交換指令示例梯形圖,對應指令為:5.3.8數(shù)據交換指令

11/4/2023211.指令用法5.3.8數(shù)據交換指令112/18/202XCHD10D20。在圖5.31中,如X010接通,則將執(zhí)行數(shù)據交換指令。將D10的內容傳送到D20中去,而D20中的內容則傳送到D10中去,兩個軟組件的內容互換。

5.3.8數(shù)據交換指令

2注意:按圖5.31中的梯形圖,數(shù)據在每個掃描周期都要交換1次,而經過兩次交換后D10和D20的內容將復原。解決的辦法是使用XCH指令的脈沖方式,只有在驅動條件由OFF→ON時進行一次交換操作。XCH指令的32位脈沖方式為:(D)XCH(P)[D1·]

[D2·]。1/4/202322XCHD10D20。5.3.8數(shù)據交換指令2注1.指令用法BCD碼變換指令:FNC18

BCD

[S·]

[D·][S·]為被轉換的軟組件,[D·]為目標軟組件。功能:將指定軟組件的內容轉換成BCD碼并送到指定的目軟組件中去。再譯成7段碼,就能輸出驅動LED。

2.指令說明BCD碼變換指令概要如表5.18。5.3.9BCD變換指令

11/4/2023231.指令用法5.3.9BCD變換指令112/18/20圖5.32為BCD碼變換指令的示例梯形圖,對應指令為:BCDD10K2Y000。在圖5.32中,如X010接通,則將執(zhí)行BCD碼變換指令,即將D10中的二進制數(shù)轉換成BCD碼,然后將低八位內容送到Y007~Y000中去。指令執(zhí)行過程的示意如圖5.33所示。注意,如果超出了5.3.9BCD變換指令

21/4/202324圖5.32為BCD碼變換指令的示例梯形圖,對應指令為:BCDBCD碼變換指令能夠轉換的最大數(shù)據范圍就會出錯,16位操作時為0~9999;32位操作時為0~99999999。BCD碼變換指令的32位脈沖操作格式為:(D)BCD(P)[S·]

[D·]。5.3.10BIN變換指令

1.指令用法BIN變換指令: FNC19

BIN

[S·]

[D·][S·]為被轉換的軟組件,[D·]為目軟組件。功能:將指定軟組件中的BCD碼轉換成二進制數(shù)并送到指定的目軟組件中去。此指令作用正好與BCD變換指令相反,用于將軟組件中的BCD碼轉換成二進制數(shù)

2.指令說明BIN變換指令概要如表5.19。5.3.9BCD變換指令

31/4/202325BCD碼變換指令能夠轉換的最大數(shù)據范圍就會出錯,16位操作時圖5.34為BIN變換指令的示例梯形圖,對應指令為:BINK2X000D10。這條指令可將BCD撥盤的設定值通過X007~X000輸入到PLC中去。如X010接通,則將執(zhí)行BIN變換指令,把從X007~X000上輸入的兩位BCD碼,變換成二進制數(shù),傳送到D10的低八位中。5.3.10BIN變換指令

21/4/202326圖5.34為BIN變換指令的示例梯形圖,對應指令為:BIN指令執(zhí)行過程如圖5.35,設輸入的BCD碼=63,如直接輸入,是二進制01100011(十進制99),就會出錯。如用BIN變換指令輸入,將會先把BCD碼63轉化成二進制00111111,不會出錯了。注意:如[S·]中內容不是BCD碼就會出錯,也不能是常數(shù)K,因為在操作前,程序自動將其變換成二進制數(shù)。BIN變換指令32位脈沖方式:(D)BIN(P)[S·]

[D·]5.3.10BIN變換指令

31/4/202327指令執(zhí)行過程如圖5.35,設輸入的BCD碼=63,如直接輸入10條算邏運算指令的功能號是FNC20~FNC29。5.4.1BIN加法指令1.指令用法二進制加法指令:FNC20

ADD

[S1·]

[S2·]

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

2.指令說明二進制加法指令概要如表5.20。

5.4算術和邏輯運算指令

11/4/20232810條算邏運算指令的功能號是FNC20~FNC29。5.4加法指令影響三個標志位:①若相加和=0,零標志位M8020=1;②若發(fā)生進位,則進位標志位M8022=1;③若發(fā)生借位,則借位標志M8021=1。若浮點數(shù)標志位M8023置1,則可進行浮點加法運算。圖5.36為加法指令ADD的示例梯形圖,對應的指令為:ADD

Kl0

D10

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

D10

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

1.指令用法二進制減法指令:FNC21SUB[S1·][S2·][D·][S1·]、[S2·]為被減數(shù)和減數(shù)源組件,[D·]為差目組件。功能:將指定兩個源軟組件中有符數(shù),進行二進制代數(shù)減法,相減結果差送入指定的目組件中。

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

5.4.2BIN減法指令

21/4/202331SUB指令進行的是二進制有符數(shù)減法代數(shù)運算,減法指令影響標志圖5.37為減法指令SUB的示例梯形圖,對應的指令為:SUBKl0D10D20。在圖5.37中,如X010接通,執(zhí)行減法運算,將10與D10中的內容相減,結果送入D20中,并根據運算的結果使相應的標志位置1。SUB指令的32位脈沖操作格式為:(D)SUB(P)[S·]

[D·],這時,指令中給出的是源、目軟組件的首地址。

5.4.3BIN乘法指令

1.指令用法二進制乘法指令:FNC22

MUL

[S1·]

[S2·]

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

31/4/202332圖5.37為減法指令SUB的示例梯形圖,對應的指令為:SUB組件的首地址。功能:將指定的兩個源軟組件中的數(shù),進行二進制有符數(shù)乘法,然后將相乘的積送入指定的目標組件中。2.指令說明二進制乘法指令概要如表5.22。圖5.38為乘法指令示例梯形圖,對應的指令為:5.4.3BIN乘法指令21/4/202333組件的首地址。5.4.3BIN乘法指令212/18/2MULD10D20D30。在圖5.38中,如X010接通,執(zhí)行有符數(shù)乘法運算,將D10與D20中的兩內容相乘,積送入D31和D30中兩個目單元中去。MUL指令進行的是有符數(shù)乘法,被乘數(shù)和乘數(shù)最高位是符號位,分為16位和32位操作兩種情況:(1)16位乘法運算源都是16位的,但積卻是32位的。積將按照“高對高,低對低”的原則存放到目中,即積的低16位存放到指令中給出的低地址目組件中,高16位存放到高一號地址的目組件中。如果積用位組件(Y、M、S)組合來存放,則目組件要用K8來給定,小于K8將得不到32位的積,如用K4則只能得到低16位。5.4.3BIN乘法指令31/4/202334MULD10D20D30。5.4.3BIN乘法指令16位乘法允許使用脈沖執(zhí)行方式:MUL(P)[S1·][S2·][D·]。(2)32位乘法運算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位將丟失。解決的辦法是先用字元件存放積,然后再傳送到位組件組合。若將浮點數(shù)標志位M8023置1,可進行浮點數(shù)乘法運算5.4.3BIN乘法指令41/4/20233516位乘法允許使用脈沖執(zhí)行方式:5.4.3BIN乘法指令1.指令用法二進制除法指令:FNC23DIV[S1·][S2·][D·][S1·]、[S2·]為存放被除數(shù)和除數(shù)源組件,[D·]為商和余數(shù)的目組件首地址。功能:將指定兩個源組件中的數(shù),進行二進制有符數(shù)除法,將相除的商和余數(shù)送入從首地址開始的相應的目標組件中。2.指令說明二進制除法指令概要如表5.23

。5.4.4BIN除法指令

11/4/2023361.指令用法5.4.4BIN除法指令112/18/20圖5.39為除法指令DIV示例梯形圖,對應的指令為DIVD10D20D30。在圖5.39中,如X010接通,執(zhí)行除法運算,將D10與D20中的兩內容相除,商送入D30中,而余數(shù)放入D31中。DIV指令分為16位和32位操作兩種情況。(1)16位除法運算16位除法運算的源、目都是16位的,雖然商是不會超過16位。如商用位組件組合來存放,能得到相應指定的位數(shù)的商,如用K4M0指定能得到16位,但這時余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位組件組合去。5.4.4BIN除法指令

21/4/202337圖5.39為除法指令DIV示例梯形圖,對應的指令為5.4.416位除法脈沖方式:DIV(P)[S1·]

[S2·]

[D·]。(2)32位除法運算32位脈沖方式DIV指令:(D)DIV(P)D10D20D30。指令中的源、目都是32位的,給出的都只是它們的首地址。被除數(shù)的32位在D11和D10中,除數(shù)的32位在D21和D20中;商的32位在D31和D30中,余數(shù)的32位在D33和D32中。都是按照“高對高,低對低”的原則存放的。如果商用位組件組合來存放,能得到相應指定位數(shù)的商,如用K8M0指定能得到32位,但這時余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位組件組合去。除法運算中除數(shù)不能為0,否則要出錯。若將浮點數(shù)標志位M8023置1,則可以進行浮點數(shù)除法運算。5.4.4BIN除法指令

31/4/20233816位除法脈沖方式:DIV(P)[S1·][S2·]1.指令用法二進制加1指令: FNC24

INC

[D·][D·]是要加1的目組件。功能:將指定的目軟組件的內容增加1。2.指令說明二進制加1指令概要如表5.24

。5.4.5BIN加1指令

11/4/2023391.指令用法5.4.5BIN加1指令112/18/20圖5.40為加1指令INC的示例梯形圖,對應的指令為:INC(P)D10。5.4.5BIN加1指令

2INC指令常使用的是脈沖操作方式。在圖5.40中,如X010由OFF→ON時,則將執(zhí)行一次加1運算,即將老的D10內容加1后作為新的D10內容。INC指令不影響標志位。比如,用INC指令進行16位操作時,當正數(shù)32767再加1時,將會變?yōu)?32768;這種情況下進位或借位標志都不受影響。INC指令最常用于循環(huán)次數(shù)、變址操作等情況。1/4/202340圖5.40為加1指令INC的示例梯形圖,對應的指令為:INC1.指令用法二進制減1指令: FNC26

DEC

[D·][D·]是要減1的目組件。功能:將指定的目組件的內容增減1。

2.指令說明二進制減1指令概要如表5.25

。5.4.6BIN減1指令

11/4/2023411.指令用法5.4.6BIN減1指令112/18/20圖5.41為減1指令DEC的示例梯形圖,對應的指令為:DEC(P)D10。5.4.5BIN加1指令

2DEC指令經常使用的是脈沖操作方式。在圖5.41中,如X010由OFF→ON時,則將執(zhí)行一次減1運算,即將老的D10內容減1后作為新的D10內容。DEC指令不影響標志位。比如,用DEC指令進行16位操作時,當負數(shù)-32768再減1時,將會變?yōu)?2767;這種情況下進位或借位標志都不受影響。DEC指令也常用于循環(huán)次數(shù)、變址操作等情況。1/4/202342圖5.41為減1指令DEC的示例梯形圖,對應的指令為:DEC1.指令用法邏輯“與”指令:FNC26

WAND

[S1·]

[S2·]

[D·][S1·]、[S2·]為兩個相“與”的源組件,[D·]為放相“與”結果的目組件。功能:將指定兩源組件中數(shù),進行二進制按位“與”,然后將相“與”結果送入指定的目軟組件中。

2.指令說明邏輯“與”指令概要如表5.26

。5.4.7邏輯“與”指令

11/4/2023431.指令用法5.4.7邏輯“與”指令112/18/20圖5.42為邏輯“與”指令示例梯形圖,對應的指令為:WANDD10D20D30。WAND前面的“W”表示16位操作,以與“與”基本指令中的數(shù)據寬度僅一位的AND指令相區(qū)別。如X010接通,則將執(zhí)行邏輯“與”運算,即將D10“與”D20中的內容,進行二進制按位“與”,相“與D10=12,D20=10,則送入D30的相“與”結果為8,相“與”的示意如圖5.43所示?!芭c”運算的規(guī)則是:“全1出1,有0出0”。在D10與D20相“與”運算中,只有第3位滿足“全1出1”,在第2至第0位相“與”中,至少有一位是0,所以相“與”結果都是“有0出0”。5.4.7邏輯“與”指令

21/4/202344圖5.42為邏輯“與”指令示例梯形圖,對應的指令為:WAND邏輯“與”指令的32位脈沖操作格式為:(D)AND(P)[S1·][S2·][D·]。指令中給出的[S1·]、[S2·]和[D·]分別為源和目軟組件的首地址。

5.4.7邏輯“與”指令

31/4/202345邏輯“與”指令的32位脈沖操作格式為:5.4.7邏輯“與1.指令用法邏輯“或”指令:FNC27

WOR

[S1·]

[S2·]

[D·][S1·]、[S2·]為兩個相“或”的源組件,[D·]為放相“或”結果的目組件。功能:將指定的兩個源組件中的數(shù),進行二進制按位“或”,然后將相“或”結果送入指定的目標組件中。2.指令說明邏輯“或”指令概要如表5.27。5.4.8邏輯“或”指令

11/4/2023461.指令用法5.4.8邏輯“或”指令112/18/20圖5.44為邏輯“或”指令示例梯形圖,對應的指令為:WORD10D20D30。WOR前面的“W”表示16位操作,以與“或”基本指令中的數(shù)據寬度僅一位的OR指令相區(qū)別。如X010接通,則將執(zhí)行邏輯“或”運算,即將D10“或”D20中的內容,進行二進制按位“或”,相“或”結果將送入D30中。假設D10中的數(shù)據為12,D20中的數(shù)據為10,則送入D30的相“或”結果為14,相“或”的示意如圖5.45所示?;蜻\算的規(guī)則是:“全0出0,有1出1”。在D10或D20相“或”運算中,只有第0位滿足“全0出0”,在5.4.7邏輯“或”指令

21/4/202347圖5.44為邏輯“或”指令示例梯形圖,對應的指令為:WOR第3至第1位相“或”中,至少有一位是1,所以相“或”結果都是“有1出1”。邏輯“或”指令的32位脈沖操作格式為:(D)OR(P)[S1·][S2·][D·]。指令中給出的[S1·]、[S2·]和[D·]分別為源和目軟組件的首地址。5.4.7邏輯“或”指令

31/4/202348第3至第1位相“或”中,至少有一位是1,所以相“或”結果都是1.指令用法邏輯“異或”指令:FNC28

WXOR

[S1·]

[S2·]

[D·][S1·]、[S2·]為兩個相”異或”的源組件,[D·]為放相“異或”結果的目標組件。功能:將指定的兩個源軟組件中的數(shù),進行二進制按位“異或”,然后將相“異或”結果送入指定的目組件中。2.指令說明邏輯“異或”指令概要如表5.28。5.4.9邏輯“異或”指令

11/4/2023491.指令用法5.4.9邏輯“異或”指令112/18/2圖5.46為邏輯“異或”指令示例梯形圖,對應的指令為:WXORD10D20D30。WORD10D20D30。WXOR前面的“W”表示16位操作。在圖5.46中,如果X010接通,則將執(zhí)行邏輯“異或”運算,即將D10“異或”D20中的內容,進行二進制按位“異或”,相“異或”結果將送入D30中。設D10=12,D20=10,則送入D30相“異或”結果為6,相“異或”的示意如圖5.47所示?!爱惢颉边\算可以理解為不考慮進位的按位加,其規(guī)則是:“相同出0,相異出1”。在D10與D20相“異或”運算中,第3和第0位滿足“相同出0”,第2和第1位滿足“相異出1”。5.4.9邏輯“異或”指令

21/4/202350圖5.46為邏輯“異或”指令示例梯形圖,對應的指令為:WXO邏輯“異或”指令的32位脈沖操作格式為:(D)XOR(P)[S1·][S2·][D·]。同樣,指令中給出的[S1·]、[S2·]和[D·]分別為源和目組件的首地址。5.4.9邏輯“異或”指令

31/4/202351邏輯“異或”指令的32位脈沖操作格式為:5.4.9邏輯“1.指令用法求補指令:FNC29

NEG

[D·]。

[D·]為存放求補結果的目組件。功能:將將指定的目組件[D·]中的數(shù),進行二進制求補運算,然后將求補結果再送入目組件中。2.指令說明求補指令概要如表5.29。5.4.10求補指令

11/4/2023521.指令用法5.4.10求補指令112/18/20225圖5.48為求補指令NEG的示例梯形圖,對應的指令為:NEGD10如果X010接通,執(zhí)行求補運算,即將D10中的二進制數(shù),進行“連同符號位求反加1”,再將求補結果送入D10中求補示意如圖5.49。設D10=H000C,求補就要對它進行“連同符號位求反加1”,最高位的符號位也得參加“求反加1”,求補結果為HFFF4再存入D10中。5.4.10求補指令

21/4/202353圖5.48為求補指令NEG的示例梯形圖,對應的指令為:NEG求補同求補碼是不同的,求補碼的規(guī)則是:“符號位不變,數(shù)值位求反加1”,對H000C求補碼的結果將是H7FF4,兩者的結果不一樣。求補指令是絕對值不變的變號運算,求補前的H000C的真值是十進制+12,而求補后的HFFF4的真值是十進制-12。求補指令的32位脈沖操作格式為:(D)NEG(P)[D·],[D·]為目軟組件的首地址。求補指令一般使用其脈沖執(zhí)行方式,否則每個掃描周期都將執(zhí)行一次求補操作。注意:5.5~5.8中的功能指令,不再做課件,需要時請查閱教材相關章節(jié)。5.4.10求補指令

31/4/202354求補同求補碼是不同的,求補碼的規(guī)則是:5.4.10求補指令第5章三菱FX2系列PLC的功能指令本章要求本章介紹FX2系列PLC功能指令及其編程方法。功能指令編號為FNC00~FNC99,將其中主要指令歸納為八大類來講述,限于篇幅從5.6節(jié)起的功能指令只作簡講。對于FX2系列PLC的功能指令,將以表格形式歸納其基本的格式、類型及每條功能指令的使用要素。對于具體的控制對象,選擇合適的功能指令,將使編程更加方便和快捷。要求掌握各類功能指令及運用功能指令編程的方法。1/4/202355第5章三菱FX2系列PLC的功能指令本章要求125.3數(shù)據傳送指令在FX2系列PLC中設置了8條數(shù)據傳送指令,2條數(shù)據比較指令,其功能號是FNCl0~FNCl9。傳送指令:MOV(傳送) SMOV(BCD碼移位傳送)CML(取反傳送) BMOV(數(shù)據塊傳送)FMOV(多點傳送) XCH(數(shù)據交換)BCD(二進制數(shù)轉換成BCD碼并傳送)BIN(BCD碼轉換為二進制數(shù)并傳送)比較指令:CMP(比較)ZCP(區(qū)間比較)1/4/2023565.3數(shù)據傳送指令在FX2系列PLC中設置了8條數(shù)據傳送5.3.1比較指令

11.指令用法比較指令: FNC10

CMP

[S1·]

[S2·]

[D·]其中[S1·]、[S2·]為兩個比較的源操作數(shù),[D·]為比較結果標志軟組件,指令中給出的是標志軟組件的首地址。2.指令說明比較指令的概要如表5.10所示。

351/4/2023575.3.1比較指令11.指令用法3512/18/2025.3.1比較指令

2比較指令CMP可對兩個數(shù)進行代數(shù)減法操作,將源操作數(shù)[S1·]和[S2·]的數(shù)據進行比較,結果送到目標操作數(shù)[D·]中,再將比較結果寫入指定的相鄰三個標志軟組件中。指令中所有源數(shù)據均作為二進制數(shù)處理。圖5.23所示為比較指令CMP的梯形圖,對應的指令為:CMP

Kl00

D10

M0。在圖5.23中,如X010接通,則將執(zhí)行比較操作,即將100減去D10中的內容,再將比較結果寫入相鄰三個標志軟組件M0~M2中。標志位操作規(guī)則是:

1/4/2023585.3.1比較指令2比較指令CMP可對兩個數(shù)進行代數(shù)減5.3.1比較指令

3若K100>(D10),則M0被置1;若K100=(D10),則M1被置1;若K100<(D10),則M2被置1。可見CMP指令執(zhí)行后,標志位中必有一個被置1,而其余二個均為0。CMP指令在作32位操作時,使用前綴(D):(D)CMP

[S1·]

[S2·]

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

[S2·]

[D·],只有在驅動條件由OFF→ON時進行一次比較。注意:指令中的三個操作數(shù)必須按表5.10所示編寫,如果缺操作數(shù),或操作組件超出此表中指定范圍等都要引起出錯。清除比較結果,可用RST或ZRST復位指令。

1/4/2023595.3.1比較指令3若K100>(D10),則M0被置1.指令用法區(qū)間比較指令:FNC11ZCP[S1·][S2·][S3·][D·][S1·]和[S2·]為區(qū)間起點和終點,[S3·]為另一比較軟組件,[D·]為標志軟組件,給出的是標志軟組件的首地址。2.指令說明區(qū)間比較指令概要如表5.11所示。

5.3.2區(qū)間比較指令

11/4/2023601.指令用法5.3.2區(qū)間比較指令112/18/202由表5.11可見,能夠充當標志位的軟組件只有輸出繼電器Y、輔助繼電器M和狀態(tài)組件S;能夠充當源操作數(shù)的如表中[S1·]、[S2·]和[S3·]所指定的范圍內的所有軟組件。區(qū)間比較指令ZCP可將某個指定的源數(shù)據[S3·]與一個區(qū)間的數(shù)據進行代數(shù)比較,源數(shù)據[S1·]和[S2·]分別為區(qū)間的下限和上限,比較結果送到目標操作數(shù)[D·]中,[D·]由三個連續(xù)的標志位軟組件組成。標志位操作規(guī)則是:若源數(shù)據[S3·]處在上下限之間,則第二個標志位置1;若源數(shù)據[S3·]小于下限,則第一個標志置1;若源數(shù)據[S3·]大于上限,則第三個標志置1。ZCP指令執(zhí)行后標志位必定有一個是1,其余兩個是0。如果[S1·]不比[S2·]小,則把[S1·]和[S2·]看作一樣大。5.3.2區(qū)間比較指令

21/4/202361由表5.11可見,能夠充當標志位的軟組件只有輸出繼電器Y、輔圖5.24所示為區(qū)間比較指令示例梯形圖,對應指令為:ZCPKl00K200C0

M0。如果X010接通,則將執(zhí)行區(qū)間比較操作,即將C0的內容與區(qū)間的上下限去比較,比較結果寫入相鄰三個標志位軟組件M0~M2中。標志位操作規(guī)則是:若K100>C0,則M0被置1;若K100<C0<K200,則M1被置1;若K200<C0,則M2被置1。5.3.2區(qū)間比較指令

31/4/202362圖5.24所示為區(qū)間比較指令示例梯形圖,對應指令為:ZCPZCP指令的32位方式:(D)ZCP

[S1·]

[S2·][S3·][D·]。ZCP指令的脈沖方式:(D)ZCP(P)[S1·][S2·][S3·][D·]有關ZCP指令操作數(shù)等注意事項同CMP指令。5.3.3傳送指令1.指令用法數(shù)據傳送指令: FNC12

MOV

[S·]

[D·][S·]為源數(shù)據,[D·]為目軟組件。功能:將源數(shù)據傳送到目軟組件中去。2.指令說明數(shù)據傳送指令概要如表5.12。5.3.2區(qū)間比較指令

41/4/202363ZCP指令的32位方式:5.3.2區(qū)間比較指令412/5.3.3傳送指令2圖5.25為MOV的示例梯形圖,對應的指令為:MOVD10D20。如X010接通,將D10的內容傳送到D20中去,傳送結果1/4/2023645.3.3傳送指令2圖5.25為MOV的示例梯形圖,對D10內容保持不變,D20中內容被D10內容轉化為二進制后取代??梢詫10中的內容通過多條傳送指令傳送到多個目標單元中去,傳送結果D10的內容還是不變,也就是說源存儲器是“取之不盡”的,而目存儲器則是“后入為主”。MOV指令的32位脈沖方式:(D)MOV(P)[S·]

[D·]。5.3.4移位傳送指令1.指令用法移位傳送指令:FNC13

SMOV

[S·]

m1m2[D·]n[S·]為源數(shù)據,m1為被傳送的起始位,m2為傳送位數(shù),[D·]為目軟組件,n為傳送的目起始位。5.3.3傳送指令31/4/202365D10內容保持不變,D20中內容被D10內容轉化為二進制后取功能:將[S·]第m1位開始的m2個數(shù)移位到[D·]的第n位開始的m2個位置去,ml、m2和n取值均為:1~4。分開的BCD碼重新分配組合,一般用于多位BCD撥盤開關的數(shù)據輸入。

2.指令說明移位傳送指令概要如表5.13。5.3.4移位傳送指令

21/4/202366功能:將[S·]第m1位開始的m2個數(shù)移位到[D·]的第n位功能:將[S·]第m1位開始的m2個數(shù)移位到[D·]的第n位開始的m2個位置去,ml、m2和n取值均為:1~4。分開的BCD碼重新分配組合,一般用于多位BCD撥盤開關的數(shù)據輸入。

2.指令說明圖5.26為SMOV的示例梯形圖,對應指令為:SMOVD10K4

K2

D20

K3。5.3.4移位傳送指令

3移位傳送示意圖如圖5.27。設D10=BCD碼4321,D20=BCD碼9008。如X010接通,執(zhí)行移位傳送指令。1/4/202367功能:將[S·]第m1位開始的m2個數(shù)移位到[D·]的第n位將D10中的二進制數(shù)轉換成BCD碼4321;然后將第4位(m1=K4)開始的共2位(m2=K2)BCD碼4和3,分別移到D20的第3位(n=K3)和第2位的BCD碼位置上去,所以移位傳送后D20=9438。移位傳送指令只能對16位數(shù)據進行操作,所以BCD碼值超過9999時將會出錯。SMOV指令脈沖方式:SMOV(P)[S·]m1m2[D·]n。5.3.4移位傳送指令

41/4/202368將D10中的二進制數(shù)轉換成BCD碼4321;然后將第4位(m1.指令用法取反傳送指令: FNC14

CML

[S·]

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

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

[D·]。1/4/202370圖5.28為取反傳送指令CML示例梯形圖,對應指令為:CML1.指令用法塊傳送指令:FNC15

BMOV

[S·]

[D·]n[S·]為源軟組件,[D·]為目標軟組件,n為數(shù)據塊個數(shù)。功能:將源中的n個數(shù)據組成的數(shù)據塊傳送到指定的目中去。如果組件號超出允許組件號的范圍,數(shù)據僅傳送到允許范圍內。2.指令說明塊傳送指令概要如表5.15。5.3.6塊傳送指令

11/4/2023711.指令用法5.3.6塊傳送指令112/18/2022圖5.29(a)為塊傳送指令示例梯形圖,對應指令為:BMOVD0D10

K3。5.3.6塊傳送指令

2在圖5.29(a)中,如X010接通,執(zhí)行塊傳送指令。K3指定數(shù)據塊個數(shù)為3,將D0~D2內容傳送到D10~D12,如圖5.29(b)。當源、目類型相同時,傳送順序自動決定。如源、目類型不同,只要位數(shù)相同就可正確傳送。如源、目軟組件號超出允許范圍,則只對符合規(guī)定的數(shù)據傳送。BMOV指令沒有32位操作方式,但有脈沖方式:BMOV(P)[S·]

[D·]

n。1/4/202372圖5.29(a)為塊傳送指令示例梯形圖,對應指令為:BMOV1.指令用法多點傳送指令: FNC16

FMOV

[S·]

[D·]n[S·]為源軟組件,[D·]為目軟組件,n為目軟組件個數(shù)。功能:將一個源中的數(shù)據傳送到指定的n個目中去。指令中給出的是目的首地址。常用于對某一段數(shù)據寄存器清零或置相同的初始值。2.指令說明多點傳送指令概要如表5.16。

5.3.7多點傳送指令11/4/2023731.指令用法5.3.7多點傳送指令112/18/202圖5.30(a)為多點傳送指令示例梯形圖,對應指令:FMOVD0D10

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

XCH

[D1·]

[D2·][D1·],[D2·]為兩個目軟組件。功能:將兩個指定的目軟組件的內容交換。

2.指令說明數(shù)據交換指令概要如表5.17。圖5.31為數(shù)據交換指令示例梯形圖,對應指令為:5.3.8數(shù)據交換指令

11/4/2023751.指令用法5.3.8數(shù)據交換指令112/18/202XCHD10D20。在圖5.31中,如X010接通,則將執(zhí)行數(shù)據交換指令。將D10的內容傳送到D20中去,而D20中的內容則傳送到D10中去,兩個軟組件的內容互換。

5.3.8數(shù)據交換指令

2注意:按圖5.31中的梯形圖,數(shù)據在每個掃描周期都要交換1次,而經過兩次交換后D10和D20的內容將復原。解決的辦法是使用XCH指令的脈沖方式,只有在驅動條件由OFF→ON時進行一次交換操作。XCH指令的32位脈沖方式為:(D)XCH(P)[D1·]

[D2·]。1/4/202376XCHD10D20。5.3.8數(shù)據交換指令2注1.指令用法BCD碼變換指令:FNC18

BCD

[S·]

[D·][S·]為被轉換的軟組件,[D·]為目標軟組件。功能:將指定軟組件的內容轉換成BCD碼并送到指定的目軟組件中去。再譯成7段碼,就能輸出驅動LED。

2.指令說明BCD碼變換指令概要如表5.18。5.3.9BCD變換指令

11/4/2023771.指令用法5.3.9BCD變換指令112/18/20圖5.32為BCD碼變換指令的示例梯形圖,對應指令為:BCDD10K2Y000。在圖5.32中,如X010接通,則將執(zhí)行BCD碼變換指令,即將D10中的二進制數(shù)轉換成BCD碼,然后將低八位內容送到Y007~Y000中去。指令執(zhí)行過程的示意如圖5.33所示。注意,如果超出了5.3.9BCD變換指令

21/4/202378圖5.32為BCD碼變換指令的示例梯形圖,對應指令為:BCDBCD碼變換指令能夠轉換的最大數(shù)據范圍就會出錯,16位操作時為0~9999;32位操作時為0~99999999。BCD碼變換指令的32位脈沖操作格式為:(D)BCD(P)[S·]

[D·]。5.3.10BIN變換指令

1.指令用法BIN變換指令: FNC19

BIN

[S·]

[D·][S·]為被轉換的軟組件,[D·]為目軟組件。功能:將指定軟組件中的BCD碼轉換成二進制數(shù)并送到指定的目軟組件中去。此指令作用正好與BCD變換指令相反,用于將軟組件中的BCD碼轉換成二進制數(shù)

2.指令說明BIN變換指令概要如表5.19。5.3.9BCD變換指令

31/4/202379BCD碼變換指令能夠轉換的最大數(shù)據范圍就會出錯,16位操作時圖5.34為BIN變換指令的示例梯形圖,對應指令為:BINK2X000D10。這條指令可將BCD撥盤的設定值通過X007~X000輸入到PLC中去。如X010接通,則將執(zhí)行BIN變換指令,把從X007~X000上輸入的兩位BCD碼,變換成二進制數(shù),傳送到D10的低八位中。5.3.10BIN變換指令

21/4/202380圖5.34為BIN變換指令的示例梯形圖,對應指令為:BIN指令執(zhí)行過程如圖5.35,設輸入的BCD碼=63,如直接輸入,是二進制01100011(十進制99),就會出錯。如用BIN變換指令輸入,將會先把BCD碼63轉化成二進制00111111,不會出錯了。注意:如[S·]中內容不是BCD碼就會出錯,也不能是常數(shù)K,因為在操作前,程序自動將其變換成二進制數(shù)。BIN變換指令32位脈沖方式:(D)BIN(P)[S·]

[D·]5.3.10BIN變換指令

31/4/202381指令執(zhí)行過程如圖5.35,設輸入的BCD碼=63,如直接輸入10條算邏運算指令的功能號是FNC20~FNC29。5.4.1BIN加法指令1.指令用法二進制加法指令:FNC20

ADD

[S1·]

[S2·]

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

2.指令說明二進制加法指令概要如表5.20。

5.4算術和邏輯運算指令

11/4/20238210條算邏運算指令的功能號是FNC20~FNC29。5.4加法指令影響三個標志位:①若相加和=0,零標志位M8020=1;②若發(fā)生進位,則進位標志位M8022=1;③若發(fā)生借位,則借位標志M8021=1。若浮點數(shù)標志位M8023置1,則可進行浮點加法運算。圖5.36為加法指令ADD的示例梯形圖,對應的指令為:ADD

Kl0

D10

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

D10

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

1.指令用法二進制減法指令:FNC21SUB[S1·][S2·][D·][S1·]、[S2·]為被減數(shù)和減數(shù)源組件,[D·]為差目組件。功能:將指定兩個源軟組件中有符數(shù),進行二進制代數(shù)減法,相減結果差送入指定的目組件中。

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

5.4.2BIN減法指令

21/4/202385SUB指令進行的是二進制有符數(shù)減法代數(shù)運算,減法指令影響標志圖5.37為減法指令SUB的示例梯形圖,對應的指令為:SUBKl0D10D20。在圖5.37中,如X010接通,執(zhí)行減法運算,將10與D10中的內容相減,結果送入D20中,并根據運算的結果使相應的標志位置1。SUB指令的32位脈沖操作格式為:(D)SUB(P)[S·]

[D·],這時,指令中給出的是源、目軟組件的首地址。

5.4.3BIN乘法指令

1.指令用法二進制乘法指令:FNC22

MUL

[S1·]

[S2·]

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

31/4/202386圖5.37為減法指令SUB的示例梯形圖,對應的指令為:SUB組件的首地址。功能:將指定的兩個源軟組件中的數(shù),進行二進制有符數(shù)乘法,然后將相乘的積送入指定的目標組件中。2.指令說明二進制乘法指令概要如表5.22。圖5.38為乘法指令示例梯形圖,對應的指令為:5.4.3BIN乘法指令21/4/202387組件的首地址。5.4.3BIN乘法指令212/18/2MULD10D20D30。在圖5.38中,如X010接通,執(zhí)行有符數(shù)乘法運算,將D10與D20中的兩內容相乘,積送入D31和D30中兩個目單元中去。MUL指令進行的是有符數(shù)乘法,被乘數(shù)和乘數(shù)最高位是符號位,分為16位和32位操作兩種情況:(1)16位乘法運算源都是16位的,但積卻是32位的。積將按照“高對高,低對低”的原則存放到目中,即積的低16位存放到指令中給出的低地址目組件中,高16位存放到高一號地址的目組件中。如果積用位組件(Y、M、S)組合來存放,則目組件要用K8來給定,小于K8將得不到32位的積,如用K4則只能得到低16位。5.4.3BIN乘法指令31/4/202388MULD10D20D30。5.4.3BIN乘法指令16位乘法允許使用脈沖執(zhí)行方式:MUL(P)[S1·][S2·][D·]。(2)32位乘法運算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位將丟失。解決的辦法是先用字元件存放積,然后再傳送到位組件組合。若將浮點數(shù)標志位M8023置1,可進行浮點數(shù)乘法運算5.4.3BIN乘法指令41/4/20238916位乘法允許使用脈沖執(zhí)行方式:5.4.3BIN乘法指令1.指令用法二進制除法指令:FNC23DIV[S1·][S2·][D·][S1·]、[S2·]為存放被除數(shù)和除數(shù)源組件,[D·]為商和余數(shù)的目組件首地址。功能:將指定兩個源組件中的數(shù),進行二進制有符數(shù)除法,將相除的商和余數(shù)送入從首地址開始的相應的目標組件中。2.指令說明二進制除法指令概要如表5.23

。5.4.4BIN除法指令

11/4/2023901.指令用法5.4.4BIN除法指令112/18/20圖5.39為除法指令DIV示例梯形圖,對應的指令為DIVD10D20D30。在圖5.39中,如X010接通,執(zhí)行除法運算,將D10與D20中的兩內容相除,商送入D30中,而余數(shù)放入D31中。DIV指令分為16位和32位操作兩種情況。(1)16位除法運算16位除法運算的源、目都是16位的,雖然商是不會超過16位。如商用位組件組合來存放,能得到相應指定的位數(shù)的商,如用K4M0指定能得到16位,但這時余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位組件組合去。5.4.4BIN除法指令

21/4/202391圖5.39為除法指令DIV示例梯形圖,對應的指令為5.4.416位除法脈沖方式:DIV(P)[S1·]

[S2·]

[D·]。(2)32位除法運算32位脈沖方式DIV指令:(D)DIV(P)D10D20D30。指令中的源、目都是32位的,給出的都只是它們的首地址。被除數(shù)的32位在D11和D10中,除數(shù)的32位在D21和D20中;商的32位在D31和D30中,余數(shù)的32位在D33和D32中。都是按照“高對高,低對低”的原則存放的。如果商用位組件組合來存放,能得到相應指定位數(shù)的商,如用K8M0指定能得到32位,但這時余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位組件組合去。除法運算中除數(shù)不能為0,否則要出錯。若將浮點數(shù)標志位M8023置1,則可以進行浮點數(shù)除法運算。5.4.4BIN除法指令

31/4/20239216位除法脈沖方式:DIV(P)[S1·][S2·]1.指令用法二進制加1指令: FNC24

INC

[D·][D·]是要加1的目組件。功能:將指定的目軟組件的內容增加1。2.指令說明二進制加1指令概要如表5.24

。5.4.5BIN加1指令

11/4/2023931.指令用法5.4.5BIN加1指令112/18/20圖5.40為加1指令INC的示例梯形圖,對應的指令為:INC(P)D10。5.4.5BIN加1指令

2INC指令常使用的是脈沖操作方式。在圖5.40中,如X010由OFF→ON時,則將執(zhí)行一次加1運算,即將老的D10內容加1后作為新的D10內容。INC指令不影響標志位。比如,用INC指令進行16位操作時,當正數(shù)32767再加1時,將會變?yōu)?32768;這種情況下進位或借位標志都不受影響。INC指令最常用于循環(huán)次數(shù)、變址操作等情況。1/4/202394圖5.40為加1指令INC的示例梯形圖,對應的指令為:INC1.指令用法二進制減1指令: FNC26

DEC

[D·][D·]是要減1的目組件。功能:將指定的目組件的內容增減1。

2.指令說明二進制減1指令概要如表5.25

。5.4.6BIN減1指令

11/4/2023951.指令用法5.4.6BIN減1指令112/18/20圖5.41為減1指令DEC的示例梯形圖,對應的指令為:DEC(P)D10。5.4.5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論