版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章PLC功能指令系統(tǒng)功能指令的表示形式及含義功能指令的分類(lèi)與操作數(shù)說(shuō)明功能指令說(shuō)明第一節(jié)功能指令的表示形式及含義一、功能指令的表示形式:PLC采用計(jì)算機(jī)通用的助記符形式來(lái)表示功能指令,通常用英文名稱(chēng)或其縮寫(xiě)作為助記符。功能指令按功能號(hào)FNC00~XXX(99,246)編排。每條功能指令都有一個(gè)助記符和功能號(hào),還需指定操作數(shù)。功能指令格式:助記符(或功能號(hào))+操作數(shù)。操作數(shù):第一節(jié)功能指令的表示形式及含義[S]:源操作數(shù),[S.]表示變址功能的源操作數(shù),[S1.]、[S2.]表示源操作數(shù)不止一個(gè)。[D]:目的操作數(shù),[D.]表示變址功能的目的操作數(shù),[D1.]、[D2.]表示目的操作數(shù)不止一個(gè)。m,n:表示其它操作數(shù),
常用來(lái)表示常數(shù)(可用十進(jìn)制K或十六進(jìn)制H)
或作為源操作數(shù)和目標(biāo)操作數(shù)的補(bǔ)充說(shuō)明。需要注釋項(xiàng)目不止一個(gè)時(shí),采用m1,m2程序步的計(jì)算:功能指令的功能號(hào)和助記符占一個(gè)程序步,
操作數(shù)占2或4程序步,16位指令是2步,32位指令是4步。所以,一般地16位指令為7個(gè)程序步,32位指令為13個(gè)程序步.第一節(jié)功能指令的表示形式及含義例:指令格式舉例。當(dāng)X0為ON時(shí),(D10+D11+D12)/3--D20第一節(jié)功能指令的表示形式及含義二、數(shù)據(jù)長(zhǎng)度及指令的執(zhí)行形式1、16位和32位指令中的符號(hào)(D)表示處理32位數(shù)據(jù);處理32位數(shù)據(jù)時(shí),使用元件號(hào)相鄰的兩個(gè)元件組成元件對(duì),建議首元件號(hào)使用偶數(shù),如D10;32位計(jì)數(shù)器不能用作16位指令的操作數(shù)。2、連續(xù)執(zhí)行/脈沖執(zhí)行連續(xù)執(zhí)行方式:當(dāng)X0為ON時(shí),指令在每個(gè)掃描周期會(huì)被重復(fù)執(zhí)行。脈沖執(zhí)行方式(助記符后加(P)符號(hào)):只有當(dāng)X10由OFF變?yōu)镺N時(shí),指令才會(huì)被執(zhí)行。符號(hào)(D)和(P)可同時(shí)使用,如(D)MOV(P)第二節(jié)功能指令的分類(lèi)與操作數(shù)說(shuō)明3、位元件位元件:只處理ON/OFF狀態(tài)的元件,如X,Y,M,S。字元件:處理數(shù)據(jù)的元件,如T,C,D。位元件組合起來(lái)可處理數(shù)字?jǐn)?shù)據(jù)。每4位為一組合成單元,用Kn+首位元件號(hào)表示。n表示組數(shù)(單元數(shù))。16位操作數(shù)時(shí)為K1~K4,32位操作數(shù)時(shí)為K1~K8。首元件號(hào)為最低位。如:K4M0表示由M0~15組成的16位數(shù)據(jù),K2X0表示由X0~X7組成的8位數(shù)據(jù)。功能指令通則4、變址寄存器V,Z變址寄存器用于在傳送、比較指令中修改操作對(duì)象的元件號(hào),其操作方式與普通寄存器一樣。操作數(shù)[S.]、[D.]表示可以加入變址寄存器。對(duì)32位指令,V,Z自動(dòng)組對(duì),V作高16位,Z作低16位,在指令中只需指定Z。執(zhí)行:M10為ON時(shí),(V)=10;M11為ON時(shí),(Z)=20;M12為ON時(shí)執(zhí)行ADD指令,(D5V)+(D15Z)=(D40Z),即(D15)+(D35)=(D60)。V,Z內(nèi)容不變。標(biāo)志位
功能指令在操作過(guò)程中,其運(yùn)算結(jié)果要影響某些特殊繼電器或寄存器,稱(chēng)為標(biāo)志(位)。標(biāo)志(位)分:
一般標(biāo)志(位);運(yùn)算標(biāo)志(位);功能標(biāo)志(位)。一般標(biāo)志(位)在功能指令操作中,其結(jié)果會(huì)影響一些標(biāo)志位:M8020:零標(biāo)志,如果運(yùn)算結(jié)果為0則動(dòng)作;M8021:借位標(biāo)志,如果減運(yùn)算時(shí)被減數(shù)不夠時(shí)動(dòng)作;M8022:進(jìn)位標(biāo)志,如果運(yùn)算結(jié)果發(fā)生進(jìn)位時(shí)動(dòng)作;M8029:指令執(zhí)行結(jié)束標(biāo)志。運(yùn)算標(biāo)志(位)如果功能指令的結(jié)構(gòu)、可用軟件及其編號(hào)范圍等方面有錯(cuò)誤時(shí),或在運(yùn)算過(guò)程中出現(xiàn)錯(cuò)誤,一些標(biāo)志位會(huì)動(dòng)作,并記錄出錯(cuò)信息:M8067:運(yùn)算出錯(cuò)標(biāo)志;M8068:運(yùn)算錯(cuò)誤代碼編號(hào)存儲(chǔ);M8069:錯(cuò)誤發(fā)生的序號(hào)記錄存儲(chǔ)。PLC由STOP-RUN時(shí)標(biāo)志是瞬間清除,如果出現(xiàn)運(yùn)算錯(cuò)誤,則M8068保持動(dòng)作,D8068中存儲(chǔ)發(fā)生錯(cuò)誤的步序號(hào)。功能標(biāo)志(位)部分功能指令中,同時(shí)使用由該功能指令確定的固有特殊輔助繼電器,可進(jìn)行功能擴(kuò)展。如:M8161:為8位處理模式,適用于FNC76(ASC)、FNC80(RS)、FNC82(ASCI)、FNC83(HEX)、FNC84(CCD)指令。功能指令簡(jiǎn)介功能指令
1、程序流程控制指令FNC00~092、傳送與比較指令FNC10~193、算術(shù)運(yùn)算和邏輯運(yùn)算指令FNC20~294、循環(huán)移位和移位指令FNC30~395、數(shù)據(jù)處理指令FNC40~496、高速處理指令FN50~597、方便指令FNC60~698、外部I/O設(shè)備指令FNC70~799、FX外圍設(shè)備指令FNC80~8910、浮點(diǎn)數(shù)指令11、定位指令12、時(shí)鐘指令13、外圍指令14、觸點(diǎn)指令功能指令簡(jiǎn)介功能指令簡(jiǎn)介1、程序流程控制指令FNC00~09(1)條件跳轉(zhuǎn)指令CJ(FNC00)(2)主程序結(jié)束FEND(FNC06)(3)子程序調(diào)用CALL(FNC01)
子程序返回SRET(FNC02)(4)中斷返回IRET(FNC03)、允許中斷EI(FNC04)、禁止中斷DI(FNC05)(5)監(jiān)視定時(shí)器刷新WDT(FNC07)(6)循環(huán)開(kāi)始FOR(FNC08)、循環(huán)結(jié)束NEXT(FNC09)(1)條件跳轉(zhuǎn)指令CJ使用說(shuō)明:X10為ON,程序跳到標(biāo)號(hào)P8處,否則,順序執(zhí)行。NOTE(1)一個(gè)標(biāo)號(hào)只能出現(xiàn)一次,否則出錯(cuò)。(2)兩條跳轉(zhuǎn)指令可以使用共同的標(biāo)號(hào),(3)M8000為執(zhí)行條件,則為無(wú)條件跳轉(zhuǎn)。功能指令簡(jiǎn)介編程時(shí),標(biāo)號(hào)占一行,對(duì)有意向END步跳轉(zhuǎn)的指令,程序中不要對(duì)標(biāo)號(hào)編程。如圖6-17示。跳轉(zhuǎn)指令和主控指令在使用時(shí)關(guān)系:a.對(duì)跳過(guò)整個(gè)主控區(qū)(MC-MCR)的跳轉(zhuǎn)不受任何限制;b.從主控區(qū)外跳轉(zhuǎn)到主控區(qū)內(nèi)時(shí),跳轉(zhuǎn)獨(dú)立于主控操作,CJP1執(zhí)行時(shí),不論M0狀態(tài)如何,作ON狀態(tài)處理;c.在主控區(qū)內(nèi)部跳轉(zhuǎn)時(shí),M0為OFF,跳轉(zhuǎn)不可能執(zhí)行。M0為ON時(shí),按跳轉(zhuǎn)指令執(zhí)行;d.從主控區(qū)內(nèi)跳轉(zhuǎn)到主控區(qū)外時(shí),M0為OFF,跳轉(zhuǎn)不執(zhí)行,M0為ON,跳轉(zhuǎn)條件滿(mǎn)足可跳轉(zhuǎn);e.從一個(gè)主控區(qū)跳到另一個(gè)主控區(qū)內(nèi),M1為ON,可跳轉(zhuǎn),執(zhí)行跳轉(zhuǎn)時(shí),不論M2狀態(tài)如何,均看作為ON。(2)主程序結(jié)束FENDNOTE:程序執(zhí)行FEND時(shí),PLC進(jìn)行輸入處理、輸出處理、監(jiān)視定時(shí)刷新,完成后返回第0步。FEND為主程序的結(jié)束指令,功能同END;(3)子程序調(diào)用CALL與子程序返回SRET動(dòng)作(1)當(dāng)X10為ON,CALLP20指令使程序執(zhí)行P20子程序,在子程序中執(zhí)行到SRET指令后程序返回到CALL指令的下一條指令(104步)處執(zhí)為。(2)X10為OFF,則程序順序執(zhí)行。NOTE子程序應(yīng)寫(xiě)在主程序后,即子程序的標(biāo)號(hào)應(yīng)寫(xiě)在指令FEND之后,且子程序必須以SRET結(jié)束。NOTE:在子程序中可再次使用CALL指令,形成子程序嵌套,共可有5級(jí)嵌套。應(yīng)用子程序調(diào)用指令,可優(yōu)化程序結(jié)構(gòu),提高編程效果。CALL(調(diào)用子程序)指令中,子程序、中斷子程序應(yīng)寫(xiě)在FEND指令之后,且在結(jié)束端用SRET和IRET為返回指令。FEND指令在CALL或CALL(P)-SRET指令執(zhí)行之后出現(xiàn),則程序出錯(cuò)。同樣,F(xiàn)END指令在FOR-NEXT循環(huán)中也出錯(cuò)。子程序及中斷子程序必須寫(xiě)在FEND與END間,若使用多個(gè)FEND指令,則在最后的FEND與END間編寫(xiě)子程序或中斷子程序。SRETIRET(4)中斷返回IRET、允許中斷EI、禁止中斷DI
NOTE(1)FX系列有9(+6)個(gè)中斷點(diǎn),外部輸入中斷,中斷信號(hào)從X0~X5輸入;內(nèi)部定時(shí)器中斷(計(jì)數(shù)器中斷);(2)中斷服務(wù)程序的標(biāo)號(hào)為I×××;(3)指令EI~DI之間的程序段為允許中斷區(qū)間,而DI~EI之間為禁止中斷區(qū)間。M8050~M8059為中斷禁止特殊輔助繼電器?!?”為允許中斷,“1”禁止中斷。(4)當(dāng)程序執(zhí)行到允許中斷區(qū)間且出現(xiàn)中斷請(qǐng)求信號(hào)時(shí),PLC跳到相應(yīng)標(biāo)號(hào)處執(zhí)行中斷服務(wù)程序,遇到中斷返回指令I(lǐng)RET后返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行主程序。動(dòng)作:當(dāng)程序執(zhí)行到允許中斷區(qū)間時(shí),X0或X1為ON,則去執(zhí)行相應(yīng)的中斷程序(1)或(2)。中斷程序應(yīng)寫(xiě)在主程序之后,并以IRET結(jié)束。NOTE:(1)有關(guān)的特殊輔助繼電器(M805*)置1時(shí),相應(yīng)的中斷程序(I*
××)不能執(zhí)行。(2)執(zhí)行一個(gè)中斷程序時(shí),其它中斷自動(dòng)被禁止。但如果在該中斷程序編入EI和DI指令時(shí),則響應(yīng)其它中斷,最多可實(shí)現(xiàn)2級(jí)中斷嵌套。(3)如果中斷信號(hào)產(chǎn)生于禁止中斷區(qū)間,該中斷信號(hào)被存儲(chǔ),并在EI指令之后被執(zhí)行。(4)多個(gè)中斷信號(hào)同時(shí)出現(xiàn),中斷指針號(hào)低的優(yōu)先權(quán)高。(5)監(jiān)視定時(shí)器刷新WDTNOTE
:用于監(jiān)視PLC的工作情況,在每一個(gè)掃描周期自動(dòng)對(duì)WDT復(fù)位,監(jiān)控定時(shí)器定時(shí)時(shí)間缺省值為200ms,通過(guò)修改D8000來(lái)設(shè)定它的定時(shí)時(shí)間。如果程序出錯(cuò)則當(dāng)WDT定時(shí)時(shí)間到時(shí),監(jiān)控定時(shí)器不再被復(fù)位,定時(shí)時(shí)間到時(shí),PLC將停止運(yùn)行,其CPU-E發(fā)光二極管亮,對(duì)系統(tǒng)重新啟動(dòng)。WDT的用法:若掃描周期大于它的定時(shí)時(shí)間,可將WDT指令插入到合適的程序步中刷新監(jiān)控定時(shí)器。若FOR-NEXT循環(huán)程序的執(zhí)行時(shí)間可能超過(guò)監(jiān)控定時(shí)器的定時(shí)時(shí)間,可將WDT指令插入循環(huán)程序中。條件跳步指令CJ若在它對(duì)應(yīng)的標(biāo)號(hào)后(即程序往回跳),可能因連續(xù)反復(fù)跳步使它們間的程序被反復(fù)執(zhí)行,總執(zhí)行時(shí)間可能超過(guò)WDT的定時(shí)時(shí)間,可在CJ指令和對(duì)應(yīng)的標(biāo)號(hào)間插入WDT指令。(6)循環(huán)開(kāi)始FOR、循環(huán)結(jié)束NEXTNOTE:FOR~NEXT之間的程序重復(fù)執(zhí)行n次(由操作數(shù)指定)后,再執(zhí)行NEXT指令后的程序。循環(huán)次數(shù)n的范圍為1~32767。若n為負(fù)數(shù),作1處理。循環(huán)指令的使用圖示,為一個(gè)二重嵌套循環(huán),外層執(zhí)行5次。如果D0Z0中的數(shù)為6,則外層A每執(zhí)行一次,內(nèi)層B將執(zhí)行6次。
2、傳送與比較指令FNC10~19(1)比較CMP(FNC10)(2)區(qū)間比較ZCP(FNC11)(3)傳送指令MOV(FNC12)(4)移位傳送指令SMOV(FNC13)(5)取反傳送CML(FNC14)(6)塊傳送BMOV(FNC15)(7)多點(diǎn)傳送FMOV(FNC16)(8)交換XCH(FNC17)(9)BCD交換(FNC18)、
BIN交換(FNC19)(1)比較CMPNOTE:(1)該指令有二個(gè)源操作數(shù)[S1.]、[S2.],一個(gè)目的操作數(shù)[D.];(2)指令將[S1.]和[S2.]進(jìn)行比較,結(jié)果送到
[D.]中。
(3)比較結(jié)果清除,需用RST和ZRST指令。動(dòng)作:(1)當(dāng)X10為ON時(shí),比較K100和C20當(dāng)前值的大小,分三種情況分別使M0、M1、M2中的一個(gè)為ON,另兩個(gè)則為OFF;(2)當(dāng)X10為OFF,則CMP不執(zhí)行,M0、M1、M2的狀態(tài)保持不變。(2)區(qū)間比較ZCPNOTE:該指令是將一個(gè)操作數(shù)[S.]與兩個(gè)操作數(shù)[S1.]、[S2.]形成的區(qū)間比較,且[S1.]<[S2.]。比較指令和區(qū)間比較指令,數(shù)據(jù)均為二進(jìn)制數(shù),且?guī)Х?hào)位比較。X0為ON,C30的當(dāng)前值與K100和K120比較。(3)傳送指令MOVNOTE:(1)將源操作數(shù)[S.]傳送到目標(biāo)元件[D.],即[S.]→[D.]
,源操作數(shù)不變。(2)指令執(zhí)行時(shí),K100十進(jìn)制常數(shù)自動(dòng)轉(zhuǎn)換成二進(jìn)制數(shù)。若[S]源操作數(shù)是一個(gè)變數(shù),要用脈沖型傳送指令MOV(P)。對(duì)于32位數(shù)據(jù)的傳送,需用(D)MOV指令。否則出錯(cuò)。X0為ON,則(D1,D0)→(D11,D10);X1為ON,(C235)32位→D21,D20。將K200→D12讀出C0的當(dāng)前值→D20。用MOV指令,將輸入端X0~X3的狀態(tài)送到輸出端Y0~Y3,(4)移位傳送指令SMOV指令功能:將數(shù)據(jù)進(jìn)行分配或合成。指令說(shuō)明:將源操作數(shù)轉(zhuǎn)換為4位BCD碼,再傳送。NOTE:BCD碼值超過(guò)9999時(shí)出錯(cuò)。源數(shù)據(jù)BCD碼右起從第4位(m1=4)開(kāi)始的2位(m2=2)移送到目標(biāo)D2’的第3位(n=3)和第2位。而D2’的第4位和第1位兩位BCD碼不變。源數(shù)據(jù)BCD碼右起從第1位(m1=1)開(kāi)始的1位(m2=1)移送到目標(biāo)D2’的第3位(n=3)。而D2’的第4位、第2位和第1位三位BCD碼不變。(5)取反傳送CML將源操作數(shù)中的數(shù)據(jù)(自動(dòng)轉(zhuǎn)換為二進(jìn)制)遂位取反后傳送??勺鳛镻LC的反相輸入或反相輸出指令。(6)塊傳送BMOVNOTE(1)將源操作數(shù)開(kāi)始的n個(gè)數(shù)據(jù)組成的數(shù)據(jù)塊傳送到指定目標(biāo)。指令操作順序依次為[S.]、[D.]和n。如果元件號(hào)超出允許范圍,數(shù)據(jù)僅傳送到允許范圍內(nèi)。(2)傳送順序是自動(dòng)決定的,如果操作數(shù)的類(lèi)型相同,傳送順序既可從高元件號(hào)開(kāi)始,也可從低元件號(hào)開(kāi)始。避免源操作數(shù)被該指令傳送的其他數(shù)據(jù)沖掉。(3)若用到需要指定位數(shù)的位元件,則源、目標(biāo)所指定的位數(shù)必須相同。
(4)在指令格式中操作數(shù)只寫(xiě)指定元件的最低位。在指令格式中操作數(shù)只寫(xiě)指定元件的最低位。指定位數(shù)的位元件,則源、目標(biāo)所指定的位數(shù)必須相同。傳送順序是自動(dòng)決定的,如果操作數(shù)的類(lèi)型相同,傳送順序既可從高元件號(hào)開(kāi)始,也可從低元件號(hào)開(kāi)始。避免源操作數(shù)被該指令傳送的其他數(shù)據(jù)沖掉。若M8024為ON,則BMOV指令的數(shù)據(jù)從[D]→[S],若M8024為OFF,BMOV指令的數(shù)據(jù)從[S]→[D],X1(7)多點(diǎn)傳送FMOV源操作數(shù)傳送到指定目標(biāo)開(kāi)始的n個(gè)目標(biāo)元件中,如:若元件號(hào)超出元件號(hào)范圍,數(shù)據(jù)僅傳送到允許范圍的元件中。(8)交換XCH數(shù)據(jù)在兩個(gè)指定目標(biāo)元件之間交換,交換指令一般采用脈沖執(zhí)行方式,否則在每一個(gè)掃描周期都要交換一次。當(dāng)特殊繼電器M8160為ON,若[D1]與[D2]為同一地址號(hào)時(shí),其低8位與高8位進(jìn)行交換。(9)BCD交換、BIN交換BCD是將源元件中的二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼送到目標(biāo)元件中,對(duì)于16位或32位二進(jìn)制操作數(shù),若變換結(jié)果超出0~9999或0~99999999的范圍就會(huì)出錯(cuò)。BCD指令常用于將PLC中的二進(jìn)制數(shù)變換成BCD碼輸出以驅(qū)動(dòng)LED顯示器。BIN是將源元件中的BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)送到目標(biāo)元件中,常數(shù)K不能作為本指令的操作元件。如果源操作數(shù)不是BCD碼就會(huì)出錯(cuò)。BIN指令常用于將BCD數(shù)字開(kāi)關(guān)(拔碼開(kāi)關(guān))的設(shè)定值輸入到PLC中。X0為ON時(shí),D12中的二進(jìn)制數(shù)→BCD碼送到輸出口Y7~Y0。X0為ON,源操作數(shù)K2X0中BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)送到目標(biāo)操作單元D13中。如果數(shù)據(jù)源不是BCD碼,則M8067為“1”,指示運(yùn)算錯(cuò)誤,且運(yùn)算錯(cuò)誤鎖存特殊輔助繼電器M8068不工作。例2:四路七段顯示控制程序(P136)例3:多諧振蕩電路。例4:彩燈交替控制程序K85=B01010101K170=B10101010例5定時(shí)報(bào)時(shí)器控制程序M8011~M8014分別為10ms、100ms、1s、1min時(shí)鐘脈沖例6密碼鎖控制程序設(shè)計(jì)X0~X3代表第1個(gè)十六進(jìn)制數(shù);X4~X7代表第2個(gè)十六進(jìn)制數(shù);X10~X13代表第3個(gè)十六進(jìn)制數(shù);3、算術(shù)運(yùn)算和邏輯運(yùn)算指令FNC20~29(1)加法ADD(FNC20)、減法SUB(FNC21)(2)乘法MUL(FNC22)、除法DIV(FNC23)(3)加1INC(FNC24)、減1DEC(FNC25)(4)與WAND(FNC26)、或WOR(FNC27)、異或WXOR(FNC28)(5)求補(bǔ)NEG(FNC29)(1)加法ADD、減法SUB將指定的源元件中的兩個(gè)二進(jìn)制數(shù)相加,結(jié)果送到指定的目標(biāo)元件。數(shù)據(jù)為帶符號(hào)數(shù),二進(jìn)制的最高位作為符號(hào)位(0為正,1為負(fù))。如果運(yùn)算結(jié)果為0,則零標(biāo)志M8020置1,如果運(yùn)算結(jié)果超過(guò)32767(16位運(yùn)算),則進(jìn)位標(biāo)志M8022置1。如果運(yùn)算結(jié)果為負(fù),則借位標(biāo)志M8021置1。在32位運(yùn)算中,被指定的字元件是低16位元件,下一個(gè)元件為高16位元件。如果加法指令之前置1浮點(diǎn)操作標(biāo)志M8023,則可進(jìn)行浮點(diǎn)值的加法??蛇M(jìn)行浮點(diǎn)值的加法。加法指令之前,浮點(diǎn)操作標(biāo)志M8023置1。(2)乘法MUL、除法DIVMUL是將兩個(gè)源元件中的數(shù)據(jù)的乘積送到指定目標(biāo)。如為16位乘法,則乘積為32位,如為32位乘法,則乘積為64位。最高位是符號(hào)位。目標(biāo)元件用位元件指定,只能得到乘積范圍內(nèi)的乘積。DIV是進(jìn)行16位和32位除法,得到商和余數(shù)。若指定位元件為目標(biāo)元件,則不能得到余數(shù)。對(duì)于16位乘、除法,V不能用于[D.],對(duì)于32位運(yùn)算,V,Z不能用于[D.]。(3)加1(INC)、減1(DEC)操作數(shù)只有一個(gè),且不影響進(jìn)位和借位標(biāo)志。INC、DEC不影響標(biāo)志位。Z由復(fù)位輸入X10清零每次X11由OFF變?yōu)镺N時(shí),計(jì)數(shù)器C0~C9的當(dāng)前值依次被轉(zhuǎn)換為BCD碼并輸出到Y(jié)0~Y17(4)與WAND、或WOR、異或WXOR(5)求補(bǔ)NEGNEG指令將[D.]指定的數(shù)每一位取反后再加1,結(jié)果存于同一元件;求補(bǔ)指令實(shí)際上是絕對(duì)值不變的變號(hào)操作。NOTE:FX系列的負(fù)數(shù)用補(bǔ)碼的形式表示,最高位為符號(hào)位,正數(shù)該位為0,負(fù)數(shù)為1,將負(fù)數(shù)求補(bǔ)后得到其絕對(duì)值。四則運(yùn)算指令應(yīng)用例例1四則運(yùn)算式的實(shí)現(xiàn)例2使用乘除運(yùn)算實(shí)現(xiàn)移位控制例3彩燈亮、滅循環(huán)控制4、循環(huán)移位和移位指令FNC30~39
(1)右循環(huán)移位ROR(FNC30)、左循環(huán)移位ROL(FNC31)(2)帶進(jìn)位循環(huán)右移RCR(FNC32)、帶進(jìn)位循環(huán)左移RCL(FNC33)(3)位右移SFTR(FNC34)、位左移SFTL(FNC35)(4)字右移WSFR(FNC36)、字左移WSFL(FNC37)(5)先入先出(FIFO)寫(xiě)入SFWR(FNC38)、先入先出(FIFO)讀出SFRD(FNC39)(1)右循環(huán)移位ROR、左循環(huán)移位ROLROR指令將目標(biāo)操作數(shù)[D.]的數(shù)據(jù)循環(huán)右移n位,結(jié)果存入目標(biāo)操作數(shù)[D.]中。ROL指令將目標(biāo)操作數(shù)[D.]的數(shù)據(jù)循環(huán)左移n位,結(jié)果存入目標(biāo)操作數(shù)[D.]中。X0為ON,[D]內(nèi)的數(shù)據(jù)右移n位,最后一次從最低位移出的狀態(tài)存于進(jìn)位標(biāo)志M8022中。當(dāng)X0為ON,[D]內(nèi)的數(shù)據(jù)向左移n位,最后一次從最高位移出的狀態(tài)也存于進(jìn)位標(biāo)志M8022中。(2)帶進(jìn)位循環(huán)右移RCR、帶進(jìn)位循環(huán)左移RCL使數(shù)據(jù)連同進(jìn)位標(biāo)志一起循環(huán)移位n位。X0為ON,[D0]中的數(shù)據(jù)帶進(jìn)位一起向右移4位,X0為ON,[D0]中的數(shù)據(jù)帶進(jìn)位一起向左移4位,(3)位右移SFTR、位左移SFTL
使目標(biāo)位元件中的狀態(tài)向右/左移位,由n1指定位元件的長(zhǎng)度,n2指定移位的位數(shù),
n2≤n1≤1024(4)字右移WSFR、字左移WSFL使字元件中的數(shù)據(jù)移位,由n1指定字元件的長(zhǎng)度,n2指定移位的字?jǐn)?shù),n2≤n1≤512。若源操作數(shù)和目標(biāo)操作數(shù)指定位元件時(shí),其位數(shù)應(yīng)相同。(5)先入先出(FIFO)寫(xiě)入SFWR、讀出SFRD
n指定數(shù)據(jù)的長(zhǎng)度。當(dāng)X10首次由OFF變?yōu)镺N,SFWR將源元件D0中的數(shù)據(jù)寫(xiě)入D2,而D1作為指針變?yōu)?(D1要先清0);當(dāng)X10再次由OFF變?yōu)镺N時(shí),D0中的數(shù)據(jù)寫(xiě)入D3,D1中的數(shù)據(jù)加1變?yōu)?。依次類(lèi)推,將D0中的數(shù)據(jù)依次寫(xiě)入寄存器。SFWR數(shù)據(jù)是從最右邊的寄存器開(kāi)始依次寫(xiě)入,寫(xiě)入的次數(shù)放在D1中,D1稱(chēng)為指針。當(dāng)D1的內(nèi)容達(dá)到n-1后,操作不再執(zhí)行,進(jìn)位標(biāo)M8022置1。當(dāng)X10首次由OFF變?yōu)镺N,SFRD將源元件D2中的數(shù)據(jù)讀出到D20,而D1作為指針減1,D10到D3的數(shù)據(jù)右移一字。若連續(xù)指令SFRD,則每個(gè)掃描周期數(shù)據(jù)右移一字,而數(shù)據(jù)總是從D2讀出。當(dāng)指針D1為0時(shí),操作不執(zhí)行,零標(biāo)志M8020置1。先入先出(FIFO)控制常用于按產(chǎn)品入庫(kù)并順序從庫(kù)中取出產(chǎn)品。例1步進(jìn)電動(dòng)機(jī)的控制例2:產(chǎn)品入庫(kù)出庫(kù)(FIFO)控制5、數(shù)據(jù)處理指令FNC40~49(1)區(qū)間復(fù)位ZRST(2)解碼DECO、編碼ENCO(3)統(tǒng)計(jì)置1位數(shù)SUM(4)置1位判別BON(5)平均值MEAN(6)報(bào)警器置位ANS(7)報(bào)警器復(fù)位ANR(8)平方根SQR(1)區(qū)間復(fù)位ZRST[D1.]、[D2.]指定為同一類(lèi)元件,執(zhí)行指令使區(qū)間[D1.]~[D2.]的元件復(fù)位。[D1.]<[D2.],若[D1.]>[D2.],只有[D1.]指定的元件被復(fù)位。[D1.]、[D2.]也可同時(shí)指定32位計(jì)數(shù)器。(2)解碼DECO、編碼ENCO源操作數(shù)X2X1X0(n=3)=01
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年宿州市埇橋區(qū)事業(yè)單位人才回引筆試真題
- 芒果合作合同范本
- 2023年鄂爾多斯市烏審旗事業(yè)單位引進(jìn)和緊缺專(zhuān)業(yè)人才考試真題
- 2023年阜陽(yáng)市臨泉華源醫(yī)院導(dǎo)診人員招聘筆試真題
- 加盟企業(yè)合同范本
- 出售配方合同范本
- 《環(huán)境監(jiān)測(cè)》課程教案
- 清吧股東合同范本
- 兩層門(mén)面房租賃合同范本
- 工傷糾紛合同范本
- 2024年度2024行政復(fù)議法培訓(xùn)
- 車(chē)輛托運(yùn)合同
- 2023土的分散性判別試驗(yàn)規(guī)程
- 牧原招聘測(cè)評(píng)試題
- 29.4常見(jiàn)腫瘤標(biāo)志物講解
- 大學(xué)生職業(yè)生涯規(guī)劃環(huán)境設(shè)計(jì) (模板)
- 鑄牢中華民族共同體意識(shí)主題班會(huì)教案
- 社會(huì)體育指導(dǎo)員協(xié)會(huì)總結(jié)
- 《過(guò)秦論》復(fù)習(xí)及訓(xùn)練
- HGT 4095-2023 化工用在線(xiàn)氣相色譜儀 (正式版)
- 液氣胸的護(hù)理查房
評(píng)論
0/150
提交評(píng)論