版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章三菱FX2系列PLC的功能指令本章要求本章介紹FX2系列PLC功能指令及其編程方法。功能指令編號(hào)為FNC00~FNC99,將其中主要指令歸納為八大類來(lái)講述,限于篇幅從5.6節(jié)起的功能指令只作簡(jiǎn)講。對(duì)于FX2系列PLC的功能指令,將以表格形式歸納其基本的格式、類型及每條功能指令的使用要素。對(duì)于具體的控制對(duì)象,選擇合適的功能指令,將使編程更加方便和快捷。要求掌握各類功能指令及運(yùn)用功能指令編程的方法。1/4/20231第5章三菱FX2系列PLC的功能指令本章要求125.3數(shù)據(jù)傳送指令在FX2系列PLC中設(shè)置了8條數(shù)據(jù)傳送指令,2條數(shù)據(jù)比較指令,其功能號(hào)是FNCl0~FNCl9。傳送指令: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ū)間比較)1/4/202325.3數(shù)據(jù)傳送指令在FX2系列PLC中設(shè)置了8條數(shù)據(jù)傳送5.3.1比較指令
11.指令用法比較指令: FNC10
CMP
[S1·]
[S2·]
[D·]其中[S1·]、[S2·]為兩個(gè)比較的源操作數(shù),[D·]為比較結(jié)果標(biāo)志軟組件,指令中給出的是標(biāo)志軟組件的首地址。2.指令說(shuō)明比較指令的概要如表5.10所示。
351/4/202335.3.1比較指令11.指令用法3512/18/2025.3.1比較指令
2比較指令CMP可對(duì)兩個(gè)數(shù)進(jìn)行代數(shù)減法操作,將源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)行比較,結(jié)果送到目標(biāo)操作數(shù)[D·]中,再將比較結(jié)果寫(xiě)入指定的相鄰三個(gè)標(biāo)志軟組件中。指令中所有源數(shù)據(jù)均作為二進(jìn)制數(shù)處理。圖5.23所示為比較指令CMP的梯形圖,對(duì)應(yīng)的指令為:CMP
Kl00
D10
M0。在圖5.23中,如X010接通,則將執(zhí)行比較操作,即將100減去D10中的內(nèi)容,再將比較結(jié)果寫(xiě)入相鄰三個(gè)標(biāo)志軟組件M0~M2中。標(biāo)志位操作規(guī)則是:
1/4/202345.3.1比較指令2比較指令CMP可對(duì)兩個(gè)數(shù)進(jìn)行代數(shù)減5.3.1比較指令
3若K100>(D10),則M0被置1;若K100=(D10),則M1被置1;若K100<(D10),則M2被置1??梢?jiàn)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所示編寫(xiě),如果缺操作數(shù),或操作組件超出此表中指定范圍等都要引起出錯(cuò)。清除比較結(jié)果,可用RST或ZRST復(fù)位指令。
1/4/202355.3.1比較指令3若K100>(D10),則M0被置1.指令用法區(qū)間比較指令:FNC11ZCP[S1·][S2·][S3·][D·][S1·]和[S2·]為區(qū)間起點(diǎn)和終點(diǎn),[S3·]為另一比較軟組件,[D·]為標(biāo)志軟組件,給出的是標(biāo)志軟組件的首地址。2.指令說(shuō)明區(qū)間比較指令概要如表5.11所示。
5.3.2區(qū)間比較指令
11/4/202361.指令用法5.3.2區(qū)間比較指令112/18/202由表5.11可見(jiàn),能夠充當(dāng)標(biāo)志位的軟組件只有輸出繼電器Y、輔助繼電器M和狀態(tài)組件S;能夠充當(dāng)源操作數(shù)的如表中[S1·]、[S2·]和[S3·]所指定的范圍內(nèi)的所有軟組件。區(qū)間比較指令ZCP可將某個(gè)指定的源數(shù)據(jù)[S3·]與一個(gè)區(qū)間的數(shù)據(jù)進(jìn)行代數(shù)比較,源數(shù)據(jù)[S1·]和[S2·]分別為區(qū)間的下限和上限,比較結(jié)果送到目標(biāo)操作數(shù)[D·]中,[D·]由三個(gè)連續(xù)的標(biāo)志位軟組件組成。標(biāo)志位操作規(guī)則是:若源數(shù)據(jù)[S3·]處在上下限之間,則第二個(gè)標(biāo)志位置1;若源數(shù)據(jù)[S3·]小于下限,則第一個(gè)標(biāo)志置1;若源數(shù)據(jù)[S3·]大于上限,則第三個(gè)標(biāo)志置1。ZCP指令執(zhí)行后標(biāo)志位必定有一個(gè)是1,其余兩個(gè)是0。如果[S1·]不比[S2·]小,則把[S1·]和[S2·]看作一樣大。5.3.2區(qū)間比較指令
21/4/20237由表5.11可見(jiàn),能夠充當(dāng)標(biāo)志位的軟組件只有輸出繼電器Y、輔圖5.24所示為區(qū)間比較指令示例梯形圖,對(duì)應(yīng)指令為:ZCPKl00K200C0
M0。如果X010接通,則將執(zhí)行區(qū)間比較操作,即將C0的內(nèi)容與區(qū)間的上下限去比較,比較結(jié)果寫(xiě)入相鄰三個(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ū)間比較指令
31/4/20238圖5.24所示為區(qū)間比較指令示例梯形圖,對(duì)應(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傳送指令1.指令用法數(shù)據(jù)傳送指令: FNC12
MOV
[S·]
[D·][S·]為源數(shù)據(jù),[D·]為目軟組件。功能:將源數(shù)據(jù)傳送到目軟組件中去。2.指令說(shuō)明數(shù)據(jù)傳送指令概要如表5.12。5.3.2區(qū)間比較指令
41/4/20239ZCP指令的32位方式:5.3.2區(qū)間比較指令412/5.3.3傳送指令2圖5.25為MOV的示例梯形圖,對(duì)應(yīng)的指令為:MOVD10D20。如X010接通,將D10的內(nèi)容傳送到D20中去,傳送結(jié)果1/4/2023105.3.3傳送指令2圖5.25為MOV的示例梯形圖,對(duì)D10內(nèi)容保持不變,D20中內(nèi)容被D10內(nèi)容轉(zhuǎn)化為二進(jìn)制后取代??梢詫10中的內(nèi)容通過(guò)多條傳送指令傳送到多個(gè)目標(biāo)單元中去,傳送結(jié)果D10的內(nèi)容還是不變,也就是說(shuō)源存儲(chǔ)器是“取之不盡”的,而目存儲(chǔ)器則是“后入為主”。MOV指令的32位脈沖方式:(D)MOV(P)[S·]
[D·]。5.3.4移位傳送指令1.指令用法移位傳送指令:FNC13
SMOV
[S·]
m1m2[D·]n[S·]為源數(shù)據(jù),m1為被傳送的起始位,m2為傳送位數(shù),[D·]為目軟組件,n為傳送的目起始位。5.3.3傳送指令31/4/202311D10內(nèi)容保持不變,D20中內(nèi)容被D10內(nèi)容轉(zhuǎn)化為二進(jìn)制后取功能:將[S·]第m1位開(kāi)始的m2個(gè)數(shù)移位到[D·]的第n位開(kāi)始的m2個(gè)位置去,ml、m2和n取值均為:1~4。分開(kāi)的BCD碼重新分配組合,一般用于多位BCD撥盤(pán)開(kāi)關(guān)的數(shù)據(jù)輸入。
2.指令說(shuō)明移位傳送指令概要如表5.13。5.3.4移位傳送指令
21/4/202312功能:將[S·]第m1位開(kāi)始的m2個(gè)數(shù)移位到[D·]的第n位功能:將[S·]第m1位開(kāi)始的m2個(gè)數(shù)移位到[D·]的第n位開(kāi)始的m2個(gè)位置去,ml、m2和n取值均為:1~4。分開(kāi)的BCD碼重新分配組合,一般用于多位BCD撥盤(pán)開(kāi)關(guān)的數(shù)據(jù)輸入。
2.指令說(shuō)明圖5.26為SMOV的示例梯形圖,對(duì)應(yīng)指令為:SMOVD10K4
K2
D20
K3。5.3.4移位傳送指令
3移位傳送示意圖如圖5.27。設(shè)D10=BCD碼4321,D20=BCD碼9008。如X010接通,執(zhí)行移位傳送指令。1/4/202313功能:將[S·]第m1位開(kāi)始的m2個(gè)數(shù)移位到[D·]的第n位將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼4321;然后將第4位(m1=K4)開(kāi)始的共2位(m2=K2)BCD碼4和3,分別移到D20的第3位(n=K3)和第2位的BCD碼位置上去,所以移位傳送后D20=9438。移位傳送指令只能對(duì)16位數(shù)據(jù)進(jìn)行操作,所以BCD碼值超過(guò)9999時(shí)將會(huì)出錯(cuò)。SMOV指令脈沖方式:SMOV(P)[S·]m1m2[D·]n。5.3.4移位傳送指令
41/4/202314將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼4321;然后將第4位(m1.指令用法取反傳送指令: FNC14
CML
[S·]
[D·][S·]為源數(shù)據(jù),[D·]為目軟組件。
功能:將[S·]按二進(jìn)制的位取反后送到目[D·]中。2.指令說(shuō)明取反傳送指令概要如表5.14。5.3.5取反傳送指令11/4/2023151.指令用法5.3.5取反傳送指令112/18/202圖5.28為取反傳送指令CML示例梯形圖,對(duì)應(yīng)指令為:CMLD10K1Y001。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·]。1/4/202316圖5.28為取反傳送指令CML示例梯形圖,對(duì)應(yīng)指令為:CML1.指令用法塊傳送指令:FNC15
BMOV
[S·]
[D·]n[S·]為源軟組件,[D·]為目標(biāo)軟組件,n為數(shù)據(jù)塊個(gè)數(shù)。功能:將源中的n個(gè)數(shù)據(jù)組成的數(shù)據(jù)塊傳送到指定的目中去。如果組件號(hào)超出允許組件號(hào)的范圍,數(shù)據(jù)僅傳送到允許范圍內(nèi)。2.指令說(shuō)明塊傳送指令概要如表5.15。5.3.6塊傳送指令
11/4/2023171.指令用法5.3.6塊傳送指令112/18/2022圖5.29(a)為塊傳送指令示例梯形圖,對(duì)應(yīng)指令為:BMOVD0D10
K3。5.3.6塊傳送指令
2在圖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ù)相同就可正確傳送。如源、目軟組件號(hào)超出允許范圍,則只對(duì)符合規(guī)定的數(shù)據(jù)傳送。BMOV指令沒(méi)有32位操作方式,但有脈沖方式:BMOV(P)[S·]
[D·]
n。1/4/202318圖5.29(a)為塊傳送指令示例梯形圖,對(duì)應(yīng)指令為:BMOV1.指令用法多點(diǎn)傳送指令: FNC16
FMOV
[S·]
[D·]n[S·]為源軟組件,[D·]為目軟組件,n為目軟組件個(gè)數(shù)。功能:將一個(gè)源中的數(shù)據(jù)傳送到指定的n個(gè)目中去。指令中給出的是目的首地址。常用于對(duì)某一段數(shù)據(jù)寄存器清零或置相同的初始值。2.指令說(shuō)明多點(diǎn)傳送指令概要如表5.16。
5.3.7多點(diǎn)傳送指令11/4/2023191.指令用法5.3.7多點(diǎn)傳送指令112/18/202圖5.30(a)為多點(diǎn)傳送指令示例梯形圖,對(duì)應(yīng)指令:FMOVD0D10
K3。5.3.7多點(diǎn)傳送指令2在圖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)容取代。如果目軟組件號(hào)超出允許范圍,則只對(duì)符合規(guī)定的數(shù)據(jù)進(jìn)行傳送。FMOV指令沒(méi)有32位操作方式,但有脈沖方式:FMOV(P)[S·][D·]n1/4/202320圖5.30(a)為多點(diǎn)傳送指令示例梯形圖,對(duì)應(yīng)指令:FMOV1.指令用法數(shù)據(jù)交換指令: FNC17
XCH
[D1·]
[D2·][D1·],[D2·]為兩個(gè)目軟組件。功能:將兩個(gè)指定的目軟組件的內(nèi)容交換。
2.指令說(shuō)明數(shù)據(jù)交換指令概要如表5.17。圖5.31為數(shù)據(jù)交換指令示例梯形圖,對(duì)應(yīng)指令為:5.3.8數(shù)據(jù)交換指令
11/4/2023211.指令用法5.3.8數(shù)據(jù)交換指令112/18/202XCHD10D20。在圖5.31中,如X010接通,則將執(zhí)行數(shù)據(jù)交換指令。將D10的內(nèi)容傳送到D20中去,而D20中的內(nèi)容則傳送到D10中去,兩個(gè)軟組件的內(nèi)容互換。
5.3.8數(shù)據(jù)交換指令
2注意:按圖5.31中的梯形圖,數(shù)據(jù)在每個(gè)掃描周期都要交換1次,而經(jīng)過(guò)兩次交換后D10和D20的內(nèi)容將復(fù)原。解決的辦法是使用XCH指令的脈沖方式,只有在驅(qū)動(dòng)條件由OFF→ON時(shí)進(jìn)行一次交換操作。XCH指令的32位脈沖方式為:(D)XCH(P)[D1·]
[D2·]。1/4/202322XCHD10D20。5.3.8數(shù)據(jù)交換指令2注1.指令用法BCD碼變換指令:FNC18
BCD
[S·]
[D·][S·]為被轉(zhuǎn)換的軟組件,[D·]為目標(biāo)軟組件。功能:將指定軟組件的內(nèi)容轉(zhuǎn)換成BCD碼并送到指定的目軟組件中去。再譯成7段碼,就能輸出驅(qū)動(dòng)LED。
2.指令說(shuō)明BCD碼變換指令概要如表5.18。5.3.9BCD變換指令
11/4/2023231.指令用法5.3.9BCD變換指令112/18/20圖5.32為BCD碼變換指令的示例梯形圖,對(duì)應(yīng)指令為:BCDD10K2Y000。在圖5.32中,如X010接通,則將執(zhí)行BCD碼變換指令,即將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼,然后將低八位內(nèi)容送到Y(jié)007~Y000中去。指令執(zhí)行過(guò)程的示意如圖5.33所示。注意,如果超出了5.3.9BCD變換指令
21/4/202324圖5.32為BCD碼變換指令的示例梯形圖,對(duì)應(yīng)指令為:BCDBCD碼變換指令能夠轉(zhuǎn)換的最大數(shù)據(jù)范圍就會(huì)出錯(cuò),16位操作時(shí)為0~9999;32位操作時(shí)為0~99999999。BCD碼變換指令的32位脈沖操作格式為:(D)BCD(P)[S·]
[D·]。5.3.10BIN變換指令
1.指令用法BIN變換指令: FNC19
BIN
[S·]
[D·][S·]為被轉(zhuǎn)換的軟組件,[D·]為目軟組件。功能:將指定軟組件中的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)并送到指定的目軟組件中去。此指令作用正好與BCD變換指令相反,用于將軟組件中的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)
2.指令說(shuō)明BIN變換指令概要如表5.19。5.3.9BCD變換指令
31/4/202325BCD碼變換指令能夠轉(zhuǎn)換的最大數(shù)據(jù)范圍就會(huì)出錯(cuò),16位操作時(shí)圖5.34為BIN變換指令的示例梯形圖,對(duì)應(yīng)指令為:BINK2X000D10。這條指令可將BCD撥盤(pán)的設(shè)定值通過(guò)X007~X000輸入到PLC中去。如X010接通,則將執(zhí)行BIN變換指令,把從X007~X000上輸入的兩位BCD碼,變換成二進(jìn)制數(shù),傳送到D10的低八位中。5.3.10BIN變換指令
21/4/202326圖5.34為BIN變換指令的示例梯形圖,對(duì)應(yīng)指令為:BIN指令執(zhí)行過(guò)程如圖5.35,設(shè)輸入的BCD碼=63,如直接輸入,是二進(jìn)制01100011(十進(jìn)制99),就會(huì)出錯(cuò)。如用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變換指令
31/4/202327指令執(zhí)行過(guò)程如圖5.35,設(shè)輸入的BCD碼=63,如直接輸入10條算邏運(yùn)算指令的功能號(hào)是FNC20~FNC29。5.4.1BIN加法指令1.指令用法二進(jìn)制加法指令:FNC20
ADD
[S1·]
[S2·]
[D·][S1·]、[S2·]為加數(shù)源組件,[D·]為和的目組件。功能:將指定的兩個(gè)源中有符數(shù),進(jìn)行二進(jìn)制加法,然后將和送入指定的目中。
2.指令說(shuō)明二進(jìn)制加法指令概要如表5.20。
5.4算術(shù)和邏輯運(yùn)算指令
11/4/20232810條算邏運(yùn)算指令的功能號(hào)是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的示例梯形圖,對(duì)應(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。指令中給出的源、目是其首地址,如對(duì)加數(shù)1來(lái)說(shuō),低5.4.1BIN加法指令21/4/202329加法指令影響三個(gè)標(biāo)志位:5.4.1BIN加法指令21216位在D10中,高16位在相鄰下一數(shù)據(jù)寄存器D11中,兩者組成一個(gè)32位的加數(shù)1。同理,D21和D20組成了另一個(gè)加數(shù)2;D31和D30組成和數(shù)。為避免重復(fù)使用某軟組件,建議用偶數(shù)組件號(hào)。源、目可用相同的組件號(hào),如:ADDDl0D20D10。ADD指令脈沖方式:ADD(P)Dl0D20D10。5.4.2BIN減法指令
1.指令用法二進(jìn)制減法指令:FNC21SUB[S1·][S2·][D·][S1·]、[S2·]為被減數(shù)和減數(shù)源組件,[D·]為差目組件。功能:將指定兩個(gè)源軟組件中有符數(shù),進(jìn)行二進(jìn)制代數(shù)減法,相減結(jié)果差送入指定的目組件中。
2.指令說(shuō)明二進(jìn)制減法指令概要如表5.21。5.4.1BIN加法指令31/4/20233016位在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減法指令
21/4/202331SUB指令進(jìn)行的是二進(jìn)制有符數(shù)減法代數(shù)運(yùn)算,減法指令影響標(biāo)志圖5.37為減法指令SUB的示例梯形圖,對(duì)應(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乘法指令
1.指令用法二進(jìn)制乘法指令:FNC22
MUL
[S1·]
[S2·]
[D·][S1·]、[S2·]為被乘數(shù)和乘數(shù)的源組件,[D·]為乘積的目5.4.2BIN減法指令
31/4/202332圖5.37為減法指令SUB的示例梯形圖,對(duì)應(yīng)的指令為:SUB組件的首地址。功能:將指定的兩個(gè)源軟組件中的數(shù),進(jìn)行二進(jìn)制有符數(shù)乘法,然后將相乘的積送入指定的目標(biāo)組件中。2.指令說(shuō)明二進(jìn)制乘法指令概要如表5.22。圖5.38為乘法指令示例梯形圖,對(duì)應(yīng)的指令為:5.4.3BIN乘法指令21/4/202333組件的首地址。5.4.3BIN乘法指令212/18/2MULD10D20D30。在圖5.38中,如X010接通,執(zhí)行有符數(shù)乘法運(yùn)算,將D10與D20中的兩內(nèi)容相乘,積送入D31和D30中兩個(gè)目單元中去。MUL指令進(jìn)行的是有符數(shù)乘法,被乘數(shù)和乘數(shù)最高位是符號(hào)位,分為16位和32位操作兩種情況:(1)16位乘法運(yùn)算源都是16位的,但積卻是32位的。積將按照“高對(duì)高,低對(duì)低”的原則存放到目中,即積的低16位存放到指令中給出的低地址目組件中,高16位存放到高一號(hào)地址的目組件中。如果積用位組件(Y、M、S)組合來(lái)存放,則目組件要用K8來(lái)給定,小于K8將得不到32位的積,如用K4則只能得到低16位。5.4.3BIN乘法指令31/4/202334MULD10D20D30。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)組合來(lái)存放,即使用K8來(lái)指定,也只能得到積的低32位,積的高32位將丟失。解決的辦法是先用字元件存放積,然后再傳送到位組件組合。若將浮點(diǎn)數(shù)標(biāo)志位M8023置1,可進(jìn)行浮點(diǎn)數(shù)乘法運(yùn)算5.4.3BIN乘法指令41/4/20233516位乘法允許使用脈沖執(zhí)行方式:5.4.3BIN乘法指令1.指令用法二進(jìn)制除法指令:FNC23DIV[S1·][S2·][D·][S1·]、[S2·]為存放被除數(shù)和除數(shù)源組件,[D·]為商和余數(shù)的目組件首地址。功能:將指定兩個(gè)源組件中的數(shù),進(jìn)行二進(jìn)制有符數(shù)除法,將相除的商和余數(shù)送入從首地址開(kāi)始的相應(yīng)的目標(biāo)組件中。2.指令說(shuō)明二進(jìn)制除法指令概要如表5.23
。5.4.4BIN除法指令
11/4/2023361.指令用法5.4.4BIN除法指令112/18/20圖5.39為除法指令DIV示例梯形圖,對(duì)應(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ì)超過(guò)16位。如商用位組件組合來(lái)存放,能得到相應(yīng)指定的位數(shù)的商,如用K4M0指定能得到16位,但這時(shí)余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位組件組合去。5.4.4BIN除法指令
21/4/202337圖5.39為除法指令DIV示例梯形圖,對(duì)應(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中。都是按照“高對(duì)高,低對(duì)低”的原則存放的。如果商用位組件組合來(lái)存放,能得到相應(yīng)指定位數(shù)的商,如用K8M0指定能得到32位,但這時(shí)余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位組件組合去。除法運(yùn)算中除數(shù)不能為0,否則要出錯(cuò)。若將浮點(diǎn)數(shù)標(biāo)志位M8023置1,則可以進(jìn)行浮點(diǎn)數(shù)除法運(yùn)算。5.4.4BIN除法指令
31/4/20233816位除法脈沖方式:DIV(P)[S1·][S2·]1.指令用法二進(jìn)制加1指令: FNC24
INC
[D·][D·]是要加1的目組件。功能:將指定的目軟組件的內(nèi)容增加1。2.指令說(shuō)明二進(jìn)制加1指令概要如表5.24
。5.4.5BIN加1指令
11/4/2023391.指令用法5.4.5BIN加1指令112/18/20圖5.40為加1指令I(lǐng)NC的示例梯形圖,對(duì)應(yīng)的指令為:INC(P)D10。5.4.5BIN加1指令
2INC指令常使用的是脈沖操作方式。在圖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ù)、變址操作等情況。1/4/202340圖5.40為加1指令I(lǐng)NC的示例梯形圖,對(duì)應(yīng)的指令為:INC1.指令用法二進(jìn)制減1指令: FNC26
DEC
[D·][D·]是要減1的目組件。功能:將指定的目組件的內(nèi)容增減1。
2.指令說(shuō)明二進(jìn)制減1指令概要如表5.25
。5.4.6BIN減1指令
11/4/2023411.指令用法5.4.6BIN減1指令112/18/20圖5.41為減1指令DEC的示例梯形圖,對(duì)應(yīng)的指令為:DEC(P)D10。5.4.5BIN加1指令
2DEC指令經(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ù)、變址操作等情況。1/4/202342圖5.41為減1指令DEC的示例梯形圖,對(duì)應(yīng)的指令為:DEC1.指令用法邏輯“與”指令:FNC26
WAND
[S1·]
[S2·]
[D·][S1·]、[S2·]為兩個(gè)相“與”的源組件,[D·]為放相“與”結(jié)果的目組件。功能:將指定兩源組件中數(shù),進(jìn)行二進(jìn)制按位“與”,然后將相“與”結(jié)果送入指定的目軟組件中。
2.指令說(shuō)明邏輯“與”指令概要如表5.26
。5.4.7邏輯“與”指令
11/4/2023431.指令用法5.4.7邏輯“與”指令112/18/20圖5.42為邏輯“與”指令示例梯形圖,對(duì)應(yīng)的指令為:WANDD10D20D30。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邏輯“與”指令
21/4/202344圖5.42為邏輯“與”指令示例梯形圖,對(duì)應(yīng)的指令為: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·]為兩個(gè)相“或”的源組件,[D·]為放相“或”結(jié)果的目組件。功能:將指定的兩個(gè)源組件中的數(shù),進(jìn)行二進(jìn)制按位“或”,然后將相“或”結(jié)果送入指定的目標(biāo)組件中。2.指令說(shuō)明邏輯“或”指令概要如表5.27。5.4.8邏輯“或”指令
11/4/2023461.指令用法5.4.8邏輯“或”指令112/18/20圖5.44為邏輯“或”指令示例梯形圖,對(duì)應(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邏輯“或”指令
21/4/202347圖5.44為邏輯“或”指令示例梯形圖,對(duì)應(yīng)的指令為:WOR第3至第1位相“或”中,至少有一位是1,所以相“或”結(jié)果都是“有1出1”。邏輯“或”指令的32位脈沖操作格式為:(D)OR(P)[S1·][S2·][D·]。指令中給出的[S1·]、[S2·]和[D·]分別為源和目軟組件的首地址。5.4.7邏輯“或”指令
31/4/202348第3至第1位相“或”中,至少有一位是1,所以相“或”結(jié)果都是1.指令用法邏輯“異或”指令:FNC28
WXOR
[S1·]
[S2·]
[D·][S1·]、[S2·]為兩個(gè)相”異或”的源組件,[D·]為放相“異或”結(jié)果的目標(biāo)組件。功能:將指定的兩個(gè)源軟組件中的數(shù),進(jìn)行二進(jìn)制按位“異或”,然后將相“異或”結(jié)果送入指定的目組件中。2.指令說(shuō)明邏輯“異或”指令概要如表5.28。5.4.9邏輯“異或”指令
11/4/2023491.指令用法5.4.9邏輯“異或”指令112/18/2圖5.46為邏輯“異或”指令示例梯形圖,對(duì)應(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邏輯“異或”指令
21/4/202350圖5.46為邏輯“異或”指令示例梯形圖,對(duì)應(yīng)的指令為:WXO邏輯“異或”指令的32位脈沖操作格式為:(D)XOR(P)[S1·][S2·][D·]。同樣,指令中給出的[S1·]、[S2·]和[D·]分別為源和目組件的首地址。5.4.9邏輯“異或”指令
31/4/202351邏輯“異或”指令的32位脈沖操作格式為:5.4.9邏輯“1.指令用法求補(bǔ)指令:FNC29
NEG
[D·]。
[D·]為存放求補(bǔ)結(jié)果的目組件。功能:將將指定的目組件[D·]中的數(shù),進(jìn)行二進(jìn)制求補(bǔ)運(yùn)算,然后將求補(bǔ)結(jié)果再送入目組件中。2.指令說(shuō)明求補(bǔ)指令概要如表5.29。5.4.10求補(bǔ)指令
11/4/2023521.指令用法5.4.10求補(bǔ)指令112/18/20225圖5.48為求補(bǔ)指令NEG的示例梯形圖,對(duì)應(yīng)的指令為:NEGD10如果X010接通,執(zhí)行求補(bǔ)運(yùn)算,即將D10中的二進(jìn)制數(shù),進(jìn)行“連同符號(hào)位求反加1”,再將求補(bǔ)結(jié)果送入D10中求補(bǔ)示意如圖5.49。設(shè)D10=H000C,求補(bǔ)就要對(duì)它進(jìn)行“連同符號(hào)位求反加1”,最高位的符號(hào)位也得參加“求反加1”,求補(bǔ)結(jié)果為HFFF4再存入D10中。5.4.10求補(bǔ)指令
21/4/202353圖5.48為求補(bǔ)指令NEG的示例梯形圖,對(duì)應(yīng)的指令為:NEG求補(bǔ)同求補(bǔ)碼是不同的,求補(bǔ)碼的規(guī)則是:“符號(hào)位不變,數(shù)值位求反加1”,對(duì)H000C求補(bǔ)碼的結(jié)果將是H7FF4,兩者的結(jié)果不一樣。求補(bǔ)指令是絕對(duì)值不變的變號(hào)運(yùn)算,求補(bǔ)前的H000C的真值是十進(jìn)制+12,而求補(bǔ)后的HFFF4的真值是十進(jìn)制-12。求補(bǔ)指令的32位脈沖操作格式為:(D)NEG(P)[D·],[D·]為目軟組件的首地址。求補(bǔ)指令一般使用其脈沖執(zhí)行方式,否則每個(gè)掃描周期都將執(zhí)行一次求補(bǔ)操作。注意:5.5~5.8中的功能指令,不再做課件,需要時(shí)請(qǐng)查閱教材相關(guān)章節(jié)。5.4.10求補(bǔ)指令
31/4/202354求補(bǔ)同求補(bǔ)碼是不同的,求補(bǔ)碼的規(guī)則是:5.4.10求補(bǔ)指令第5章三菱FX2系列PLC的功能指令本章要求本章介紹FX2系列PLC功能指令及其編程方法。功能指令編號(hào)為FNC00~FNC99,將其中主要指令歸納為八大類來(lái)講述,限于篇幅從5.6節(jié)起的功能指令只作簡(jiǎn)講。對(duì)于FX2系列PLC的功能指令,將以表格形式歸納其基本的格式、類型及每條功能指令的使用要素。對(duì)于具體的控制對(duì)象,選擇合適的功能指令,將使編程更加方便和快捷。要求掌握各類功能指令及運(yùn)用功能指令編程的方法。1/4/202355第5章三菱FX2系列PLC的功能指令本章要求125.3數(shù)據(jù)傳送指令在FX2系列PLC中設(shè)置了8條數(shù)據(jù)傳送指令,2條數(shù)據(jù)比較指令,其功能號(hào)是FNCl0~FNCl9。傳送指令: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ū)間比較)1/4/2023565.3數(shù)據(jù)傳送指令在FX2系列PLC中設(shè)置了8條數(shù)據(jù)傳送5.3.1比較指令
11.指令用法比較指令: FNC10
CMP
[S1·]
[S2·]
[D·]其中[S1·]、[S2·]為兩個(gè)比較的源操作數(shù),[D·]為比較結(jié)果標(biāo)志軟組件,指令中給出的是標(biāo)志軟組件的首地址。2.指令說(shuō)明比較指令的概要如表5.10所示。
351/4/2023575.3.1比較指令11.指令用法3512/18/2025.3.1比較指令
2比較指令CMP可對(duì)兩個(gè)數(shù)進(jìn)行代數(shù)減法操作,將源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)行比較,結(jié)果送到目標(biāo)操作數(shù)[D·]中,再將比較結(jié)果寫(xiě)入指定的相鄰三個(gè)標(biāo)志軟組件中。指令中所有源數(shù)據(jù)均作為二進(jìn)制數(shù)處理。圖5.23所示為比較指令CMP的梯形圖,對(duì)應(yīng)的指令為:CMP
Kl00
D10
M0。在圖5.23中,如X010接通,則將執(zhí)行比較操作,即將100減去D10中的內(nèi)容,再將比較結(jié)果寫(xiě)入相鄰三個(gè)標(biāo)志軟組件M0~M2中。標(biāo)志位操作規(guī)則是:
1/4/2023585.3.1比較指令2比較指令CMP可對(duì)兩個(gè)數(shù)進(jìn)行代數(shù)減5.3.1比較指令
3若K100>(D10),則M0被置1;若K100=(D10),則M1被置1;若K100<(D10),則M2被置1??梢?jiàn)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所示編寫(xiě),如果缺操作數(shù),或操作組件超出此表中指定范圍等都要引起出錯(cuò)。清除比較結(jié)果,可用RST或ZRST復(fù)位指令。
1/4/2023595.3.1比較指令3若K100>(D10),則M0被置1.指令用法區(qū)間比較指令:FNC11ZCP[S1·][S2·][S3·][D·][S1·]和[S2·]為區(qū)間起點(diǎn)和終點(diǎn),[S3·]為另一比較軟組件,[D·]為標(biāo)志軟組件,給出的是標(biāo)志軟組件的首地址。2.指令說(shuō)明區(qū)間比較指令概要如表5.11所示。
5.3.2區(qū)間比較指令
11/4/2023601.指令用法5.3.2區(qū)間比較指令112/18/202由表5.11可見(jiàn),能夠充當(dāng)標(biāo)志位的軟組件只有輸出繼電器Y、輔助繼電器M和狀態(tài)組件S;能夠充當(dāng)源操作數(shù)的如表中[S1·]、[S2·]和[S3·]所指定的范圍內(nèi)的所有軟組件。區(qū)間比較指令ZCP可將某個(gè)指定的源數(shù)據(jù)[S3·]與一個(gè)區(qū)間的數(shù)據(jù)進(jìn)行代數(shù)比較,源數(shù)據(jù)[S1·]和[S2·]分別為區(qū)間的下限和上限,比較結(jié)果送到目標(biāo)操作數(shù)[D·]中,[D·]由三個(gè)連續(xù)的標(biāo)志位軟組件組成。標(biāo)志位操作規(guī)則是:若源數(shù)據(jù)[S3·]處在上下限之間,則第二個(gè)標(biāo)志位置1;若源數(shù)據(jù)[S3·]小于下限,則第一個(gè)標(biāo)志置1;若源數(shù)據(jù)[S3·]大于上限,則第三個(gè)標(biāo)志置1。ZCP指令執(zhí)行后標(biāo)志位必定有一個(gè)是1,其余兩個(gè)是0。如果[S1·]不比[S2·]小,則把[S1·]和[S2·]看作一樣大。5.3.2區(qū)間比較指令
21/4/202361由表5.11可見(jiàn),能夠充當(dāng)標(biāo)志位的軟組件只有輸出繼電器Y、輔圖5.24所示為區(qū)間比較指令示例梯形圖,對(duì)應(yīng)指令為:ZCPKl00K200C0
M0。如果X010接通,則將執(zhí)行區(qū)間比較操作,即將C0的內(nèi)容與區(qū)間的上下限去比較,比較結(jié)果寫(xiě)入相鄰三個(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ū)間比較指令
31/4/202362圖5.24所示為區(qū)間比較指令示例梯形圖,對(duì)應(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傳送指令1.指令用法數(shù)據(jù)傳送指令: FNC12
MOV
[S·]
[D·][S·]為源數(shù)據(jù),[D·]為目軟組件。功能:將源數(shù)據(jù)傳送到目軟組件中去。2.指令說(shuō)明數(shù)據(jù)傳送指令概要如表5.12。5.3.2區(qū)間比較指令
41/4/202363ZCP指令的32位方式:5.3.2區(qū)間比較指令412/5.3.3傳送指令2圖5.25為MOV的示例梯形圖,對(duì)應(yīng)的指令為:MOVD10D20。如X010接通,將D10的內(nèi)容傳送到D20中去,傳送結(jié)果1/4/2023645.3.3傳送指令2圖5.25為MOV的示例梯形圖,對(duì)D10內(nèi)容保持不變,D20中內(nèi)容被D10內(nèi)容轉(zhuǎn)化為二進(jìn)制后取代??梢詫10中的內(nèi)容通過(guò)多條傳送指令傳送到多個(gè)目標(biāo)單元中去,傳送結(jié)果D10的內(nèi)容還是不變,也就是說(shuō)源存儲(chǔ)器是“取之不盡”的,而目存儲(chǔ)器則是“后入為主”。MOV指令的32位脈沖方式:(D)MOV(P)[S·]
[D·]。5.3.4移位傳送指令1.指令用法移位傳送指令:FNC13
SMOV
[S·]
m1m2[D·]n[S·]為源數(shù)據(jù),m1為被傳送的起始位,m2為傳送位數(shù),[D·]為目軟組件,n為傳送的目起始位。5.3.3傳送指令31/4/202365D10內(nèi)容保持不變,D20中內(nèi)容被D10內(nèi)容轉(zhuǎn)化為二進(jìn)制后取功能:將[S·]第m1位開(kāi)始的m2個(gè)數(shù)移位到[D·]的第n位開(kāi)始的m2個(gè)位置去,ml、m2和n取值均為:1~4。分開(kāi)的BCD碼重新分配組合,一般用于多位BCD撥盤(pán)開(kāi)關(guān)的數(shù)據(jù)輸入。
2.指令說(shuō)明移位傳送指令概要如表5.13。5.3.4移位傳送指令
21/4/202366功能:將[S·]第m1位開(kāi)始的m2個(gè)數(shù)移位到[D·]的第n位功能:將[S·]第m1位開(kāi)始的m2個(gè)數(shù)移位到[D·]的第n位開(kāi)始的m2個(gè)位置去,ml、m2和n取值均為:1~4。分開(kāi)的BCD碼重新分配組合,一般用于多位BCD撥盤(pán)開(kāi)關(guān)的數(shù)據(jù)輸入。
2.指令說(shuō)明圖5.26為SMOV的示例梯形圖,對(duì)應(yīng)指令為:SMOVD10K4
K2
D20
K3。5.3.4移位傳送指令
3移位傳送示意圖如圖5.27。設(shè)D10=BCD碼4321,D20=BCD碼9008。如X010接通,執(zhí)行移位傳送指令。1/4/202367功能:將[S·]第m1位開(kāi)始的m2個(gè)數(shù)移位到[D·]的第n位將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼4321;然后將第4位(m1=K4)開(kāi)始的共2位(m2=K2)BCD碼4和3,分別移到D20的第3位(n=K3)和第2位的BCD碼位置上去,所以移位傳送后D20=9438。移位傳送指令只能對(duì)16位數(shù)據(jù)進(jìn)行操作,所以BCD碼值超過(guò)9999時(shí)將會(huì)出錯(cuò)。SMOV指令脈沖方式:SMOV(P)[S·]m1m2[D·]n。5.3.4移位傳送指令
41/4/202368將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼4321;然后將第4位(m1.指令用法取反傳送指令: FNC14
CML
[S·]
[D·][S·]為源數(shù)據(jù),[D·]為目軟組件。
功能:將[S·]按二進(jìn)制的位取反后送到目[D·]中。2.指令說(shuō)明取反傳送指令概要如表5.14。5.3.5取反傳送指令11/4/2023691.指令用法5.3.5取反傳送指令112/18/202圖5.28為取反傳送指令CML示例梯形圖,對(duì)應(yīng)指令為:CMLD10K1Y001。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·]。1/4/202370圖5.28為取反傳送指令CML示例梯形圖,對(duì)應(yīng)指令為:CML1.指令用法塊傳送指令:FNC15
BMOV
[S·]
[D·]n[S·]為源軟組件,[D·]為目標(biāo)軟組件,n為數(shù)據(jù)塊個(gè)數(shù)。功能:將源中的n個(gè)數(shù)據(jù)組成的數(shù)據(jù)塊傳送到指定的目中去。如果組件號(hào)超出允許組件號(hào)的范圍,數(shù)據(jù)僅傳送到允許范圍內(nèi)。2.指令說(shuō)明塊傳送指令概要如表5.15。5.3.6塊傳送指令
11/4/2023711.指令用法5.3.6塊傳送指令112/18/2022圖5.29(a)為塊傳送指令示例梯形圖,對(duì)應(yīng)指令為:BMOVD0D10
K3。5.3.6塊傳送指令
2在圖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ù)相同就可正確傳送。如源、目軟組件號(hào)超出允許范圍,則只對(duì)符合規(guī)定的數(shù)據(jù)傳送。BMOV指令沒(méi)有32位操作方式,但有脈沖方式:BMOV(P)[S·]
[D·]
n。1/4/202372圖5.29(a)為塊傳送指令示例梯形圖,對(duì)應(yīng)指令為:BMOV1.指令用法多點(diǎn)傳送指令: FNC16
FMOV
[S·]
[D·]n[S·]為源軟組件,[D·]為目軟組件,n為目軟組件個(gè)數(shù)。功能:將一個(gè)源中的數(shù)據(jù)傳送到指定的n個(gè)目中去。指令中給出的是目的首地址。常用于對(duì)某一段數(shù)據(jù)寄存器清零或置相同的初始值。2.指令說(shuō)明多點(diǎn)傳送指令概要如表5.16。
5.3.7多點(diǎn)傳送指令11/4/2023731.指令用法5.3.7多點(diǎn)傳送指令112/18/202圖5.30(a)為多點(diǎn)傳送指令示例梯形圖,對(duì)應(yīng)指令:FMOVD0D10
K3。5.3.7多點(diǎn)傳送指令2在圖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)容取代。如果目軟組件號(hào)超出允許范圍,則只對(duì)符合規(guī)定的數(shù)據(jù)進(jìn)行傳送。FMOV指令沒(méi)有32位操作方式,但有脈沖方式:FMOV(P)[S·][D·]n1/4/202374圖5.30(a)為多點(diǎn)傳送指令示例梯形圖,對(duì)應(yīng)指令:FMOV1.指令用法數(shù)據(jù)交換指令: FNC17
XCH
[D1·]
[D2·][D1·],[D2·]為兩個(gè)目軟組件。功能:將兩個(gè)指定的目軟組件的內(nèi)容交換。
2.指令說(shuō)明數(shù)據(jù)交換指令概要如表5.17。圖5.31為數(shù)據(jù)交換指令示例梯形圖,對(duì)應(yīng)指令為:5.3.8數(shù)據(jù)交換指令
11/4/2023751.指令用法5.3.8數(shù)據(jù)交換指令112/18/202XCHD10D20。在圖5.31中,如X010接通,則將執(zhí)行數(shù)據(jù)交換指令。將D10的內(nèi)容傳送到D20中去,而D20中的內(nèi)容則傳送到D10中去,兩個(gè)軟組件的內(nèi)容互換。
5.3.8數(shù)據(jù)交換指令
2注意:按圖5.31中的梯形圖,數(shù)據(jù)在每個(gè)掃描周期都要交換1次,而經(jīng)過(guò)兩次交換后D10和D20的內(nèi)容將復(fù)原。解決的辦法是使用XCH指令的脈沖方式,只有在驅(qū)動(dòng)條件由OFF→ON時(shí)進(jìn)行一次交換操作。XCH指令的32位脈沖方式為:(D)XCH(P)[D1·]
[D2·]。1/4/202376XCHD10D20。5.3.8數(shù)據(jù)交換指令2注1.指令用法BCD碼變換指令:FNC18
BCD
[S·]
[D·][S·]為被轉(zhuǎn)換的軟組件,[D·]為目標(biāo)軟組件。功能:將指定軟組件的內(nèi)容轉(zhuǎn)換成BCD碼并送到指定的目軟組件中去。再譯成7段碼,就能輸出驅(qū)動(dòng)LED。
2.指令說(shuō)明BCD碼變換指令概要如表5.18。5.3.9BCD變換指令
11/4/2023771.指令用法5.3.9BCD變換指令112/18/20圖5.32為BCD碼變換指令的示例梯形圖,對(duì)應(yīng)指令為:BCDD10K2Y000。在圖5.32中,如X010接通,則將執(zhí)行BCD碼變換指令,即將D10中的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼,然后將低八位內(nèi)容送到Y(jié)007~Y000中去。指令執(zhí)行過(guò)程的示意如圖5.33所示。注意,如果超出了5.3.9BCD變換指令
21/4/202378圖5.32為BCD碼變換指令的示例梯形圖,對(duì)應(yīng)指令為:BCDBCD碼變換指令能夠轉(zhuǎn)換的最大數(shù)據(jù)范圍就會(huì)出錯(cuò),16位操作時(shí)為0~9999;32位操作時(shí)為0~99999999。BCD碼變換指令的32位脈沖操作格式為:(D)BCD(P)[S·]
[D·]。5.3.10BIN變換指令
1.指令用法BIN變換指令: FNC19
BIN
[S·]
[D·][S·]為被轉(zhuǎn)換的軟組件,[D·]為目軟組件。功能:將指定軟組件中的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)并送到指定的目軟組件中去。此指令作用正好與BCD變換指令相反,用于將軟組件中的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)
2.指令說(shuō)明BIN變換指令概要如表5.19。5.3.9BCD變換指令
31/4/202379BCD碼變換指令能夠轉(zhuǎn)換的最大數(shù)據(jù)范圍就會(huì)出錯(cuò),16位操作時(shí)圖5.34為BIN變換指令的示例梯形圖,對(duì)應(yīng)指令為:BINK2X000D10。這條指令可將BCD撥盤(pán)的設(shè)定值通過(guò)X007~X000輸入到PLC中去。如X010接通,則將執(zhí)行BIN變換指令,把從X007~X000上輸入的兩位BCD碼,變換成二進(jìn)制數(shù),傳送到D10的低八位中。5.3.10BIN變換指令
21/4/202380圖5.34為BIN變換指令的示例梯形圖,對(duì)應(yīng)指令為:BIN指令執(zhí)行過(guò)程如圖5.35,設(shè)輸入的BCD碼=63,如直接輸入,是二進(jìn)制01100011(十進(jìn)制99),就會(huì)出錯(cuò)。如用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變換指令
31/4/202381指令執(zhí)行過(guò)程如圖5.35,設(shè)輸入的BCD碼=63,如直接輸入10條算邏運(yùn)算指令的功能號(hào)是FNC20~FNC29。5.4.1BIN加法指令1.指令用法二進(jìn)制加法指令:FNC20
ADD
[S1·]
[S2·]
[D·][S1·]、[S2·]為加數(shù)源組件,[D·]為和的目組件。功能:將指定的兩個(gè)源中有符數(shù),進(jìn)行二進(jìn)制加法,然后將和送入指定的目中。
2.指令說(shuō)明二進(jìn)制加法指令概要如表5.20。
5.4算術(shù)和邏輯運(yùn)算指令
11/4/20238210條算邏運(yùn)算指令的功能號(hào)是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的示例梯形圖,對(duì)應(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。指令中給出的源、目是其首地址,如對(duì)加數(shù)1來(lái)說(shuō),低5.4.1BIN加法指令21/4/202383加法指令影響三個(gè)標(biāo)志位:5.4.1BIN加法指令21216位在D10中,高16位在相鄰下一數(shù)據(jù)寄存器D11中,兩者組成一個(gè)32位的加數(shù)1。同理,D21和D20組成了另一個(gè)加數(shù)2;D31和D30組成和數(shù)。為避免重復(fù)使用某軟組件,建議用偶數(shù)組件號(hào)。源、目可用相同的組件號(hào),如:ADDDl0D20D10。ADD指令脈沖方式:ADD(P)Dl0D20D10。5.4.2BIN減法指令
1.指令用法二進(jìn)制減法指令:FNC21SUB[S1·][S2·][D·][S1·]、[S2·]為被減數(shù)和減數(shù)源組件,[D·]為差目組件。功能:將指定兩個(gè)源軟組件中有符數(shù),進(jìn)行二進(jìn)制代數(shù)減法,相減結(jié)果差送入指定的目組件中。
2.指令說(shuō)明二進(jìn)制減法指令概要如表5.21。5.4.1BIN加法指令31/4/20238416位在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減法指令
21/4/202385SUB指令進(jìn)行的是二進(jìn)制有符數(shù)減法代數(shù)運(yùn)算,減法指令影響標(biāo)志圖5.37為減法指令SUB的示例梯形圖,對(duì)應(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乘法指令
1.指令用法二進(jìn)制乘法指令:FNC22
MUL
[S1·]
[S2·]
[D·][S1·]、[S2·]為被乘數(shù)和乘數(shù)的源組件,[D·]為乘積的目5.4.2BIN減法指令
31/4/202386圖5.37為減法指令SUB的示例梯形圖,對(duì)應(yīng)的指令為:SUB組件的首地址。功能:將指定的兩個(gè)源軟組件中的數(shù),進(jìn)行二進(jìn)制有符數(shù)乘法,然后將相乘的積送入指定的目標(biāo)組件中。2.指令說(shuō)明二進(jìn)制乘法指令概要如表5.22。圖5.38為乘法指令示例梯形圖,對(duì)應(yīng)的指令為:5.4.3BIN乘法指令21/4/202387組件的首地址。5.4.3BIN乘法指令212/18/2MULD10D20D30。在圖5.38中,如X010接通,執(zhí)行有符數(shù)乘法運(yùn)算,將D10與D20中的兩內(nèi)容相乘,積送入D31和D30中兩個(gè)目單元中去。MUL指令進(jìn)行的是有符數(shù)乘法,被乘數(shù)和乘數(shù)最高位是符號(hào)位,分為16位和32位操作兩種情況:(1)16位乘法運(yùn)算源都是16位的,但積卻是32位的。積將按照“高對(duì)高,低對(duì)低”的原則存放到目中,即積的低16位存放到指令中給出的低地址目組件中,高16位存放到高一號(hào)地址的目組件中。如果積用位組件(Y、M、S)組合來(lái)存放,則目組件要用K8來(lái)給定,小于K8將得不到32位的積,如用K4則只能得到低16位。5.4.3BIN乘法指令31/4/202388MULD10D20D30。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)組合來(lái)存放,即使用K8來(lái)指定,也只能得到積的低32位,積的高32位將丟失。解決的辦法是先用字元件存放積,然后再傳送到位組件組合。若將浮點(diǎn)數(shù)標(biāo)志位M8023置1,可進(jìn)行浮點(diǎn)數(shù)乘法運(yùn)算5.4.3BIN乘法指令41/4/20238916位乘法允許使用脈沖執(zhí)行方式:5.4.3BIN乘法指令1.指令用法二進(jìn)制除法指令:FNC23DIV[S1·][S2·][D·][S1·]、[S2·]為存放被除數(shù)和除數(shù)源組件,[D·]為商和余數(shù)的目組件首地址。功能:將指定兩個(gè)源組件中的數(shù),進(jìn)行二進(jìn)制有符數(shù)除法,將相除的商和余數(shù)送入從首地址開(kāi)始的相應(yīng)的目標(biāo)組件中。2.指令說(shuō)明二進(jìn)制除法指令概要如表5.23
。5.4.4BIN除法指令
11/4/2023901.指令用法5.4.4BIN除法指令112/18/20圖5.39為除法指令DIV示例梯形圖,對(duì)應(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ì)超過(guò)16位。如商用位組件組合來(lái)存放,能得到相應(yīng)指定的位數(shù)的商,如用K4M0指定能得到16位,但這時(shí)余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位組件組合去。5.4.4BIN除法指令
21/4/202391圖5.39為除法指令DIV示例梯形圖,對(duì)應(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中。都是按照“高對(duì)高,低對(duì)低”的原則存放的。如果商用位組件組合來(lái)存放,能得到相應(yīng)指定位數(shù)的商,如用K8M0指定能得到32位,但這時(shí)余數(shù)將丟失。解決的辦法是先用字元件存放商和余數(shù),然后再傳送到位組件組合去。除法運(yùn)算中除數(shù)不能為0,否則要出錯(cuò)。若將浮點(diǎn)數(shù)標(biāo)志位M8023置1,則可以進(jìn)行浮點(diǎn)數(shù)除法運(yùn)算。5.4.4BIN除法指令
31/4/20239216位除法脈沖方式:DIV(P)[S1·][S2·]1.指令用法二進(jìn)制加1指令: FNC24
INC
[D·][D·]是要加1的目組件。功能:將指定的目軟組件的內(nèi)容增加1。2.指令說(shuō)明二進(jìn)制加1指令概要如表5.24
。5.4.5BIN加1指令
11/4/2023931.指令用法5.4.5BIN加1指令112/18/20圖5.40為加1指令I(lǐng)NC的示例梯形圖,對(duì)應(yīng)的指令為:INC(P)D10。5.4.5BIN加1指令
2INC指令常使用的是脈沖操作方式。在圖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ù)、變址操作等情況。1/4/202394圖5.40為加1指令I(lǐng)NC的示例梯形圖,對(duì)應(yīng)的指令為:INC1.指令用法二進(jìn)制減1指令: FNC26
DEC
[D·][D·]是要減1的目組件。功能:將指定的目組件的內(nèi)容增減1。
2.指令說(shuō)明二進(jìn)制減1指令概要如表5.25
。5.4.6BIN減1指令
11/4/2023951.指令用法5.4.6BIN減1指令112/18/20圖5.41為減1指令DEC的示例梯形圖,對(duì)應(yīng)的指令為:DEC(P)D10。5.4.5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 推進(jìn)綠色綜合醫(yī)院建設(shè)的工作計(jì)劃
- 主管年度工作計(jì)劃的核心工作項(xiàng)
- 戰(zhàn)略投資風(fēng)險(xiǎn)評(píng)估計(jì)劃
- 股票交易撮合協(xié)議三篇
- 生產(chǎn)操作標(biāo)準(zhǔn)化與規(guī)范化計(jì)劃
- 提升工作效率的個(gè)人目標(biāo)設(shè)定計(jì)劃
- 2024行政前臺(tái)接待禮儀培訓(xùn)
- 河北省部分學(xué)校2024-2025學(xué)年高三上學(xué)期11月階段調(diào)研檢測(cè)二 英語(yǔ) 含解析
- 金華十校2024年11月高三模擬考試(一模)數(shù)學(xué)試卷(含標(biāo)準(zhǔn)答案)
- 聽(tīng)力教程1 Unit2英語(yǔ)
- oh卡牌理論-課件
- 電氣施工方案(預(yù)留預(yù)埋)
- 新教科版六年級(jí)上冊(cè)科學(xué)16《觀察水中微小的生物》課件
- Unit 1 Reading and thinking閱讀課教學(xué)設(shè)計(jì)-高中英語(yǔ)人教版(2019)選擇性必修第二冊(cè)
- 合唱的基本知識(shí)課件
- DB32-T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 設(shè)備部管理評(píng)審報(bào)告
- (中職)計(jì)算機(jī)應(yīng)用基礎(chǔ)第4章Word2010的使用課件
- 六年級(jí)數(shù)學(xué)上冊(cè)課件-3.1 倒數(shù)的認(rèn)識(shí) 人教版(共12張PPT)
- 2抽水蓄能電站在電力系統(tǒng)中的作用
- 食源性疾病監(jiān)測(cè)報(bào)表
評(píng)論
0/150
提交評(píng)論