邏輯運算關系表_第1頁
邏輯運算關系表_第2頁
邏輯運算關系表_第3頁
邏輯運算關系表_第4頁
邏輯運算關系表_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

課題九功能指令及應用,電氣自動化設備安裝與維修專業2014,教學目的及要求:通過教學,使學生明確功能指令及使用要素,學會應用功能指令的方法,掌握應用常用功能指令設計程序的思想和技能。教學方式:理論講解、例題講解。演示操作:利用FX2N-64MRPLC實際操作功能指令的運行。重點難點:掌握功能指令的應用場合及使用方法。問題的提出:邏輯指令應用在邏輯控制的系統中、步進順控指令應用在順序邏輯控制的系統中。數據的傳送、運算、變換及程序控制等功能則要使用功能指令。,9.1功能指令及使用要素9.1.1功能指令的表示方法FX系列可編程序控制器采用計算機通用的助記符形式來表示功能指令。一般用指令的英文名稱或例如圖9.1中的指令助記符MEAN用來表示取平均值的指令。縮寫作為助記符,,圖9.1功能指令,FNC,HELP,功能指令的功能號和指令助記符占一個程序步,16位操作與32位操作的每一個操作數分別占2個和4個程序步。圖9.1同時給出了功能指令MEAN的指令語句表和步序號。,寫入功能指令時,先按鍵再輸人功能指令的功能號,如MEAN的功能號為FNC45。使用簡易編程器上的鍵的幫助功能,可以顯示出功能指令助記符和功能號的一覽表。,9.1.2數據長度與指令類型1數據長度圖9.1中助記符MOV之前的“(D)”表示處理32位(32bit)數據,這時相鄰的兩元件組成元件對,該指令將D11、D10中的數據傳送到D13、D12。處理32位數據時,為了避免出現錯誤,建議使用首地址為偶數的操作數沒有“(D)”時表示處理16位數據。2脈沖執行與連續執行圖9.1中MOV后面的“(P)”表示脈沖執行,即僅在X1由OFF(“0”狀態)ON(“1”狀態)時執行一次。如果沒有“(P)”,在XI為ON的每一掃描周期指令都要被執行,稱為連續執行。某些指令(如INC(加1)、DEC(減l)和XCH(數據交慎)指令)一般應使用脈沖執行。如果不需要每個周期都執行指令,使用脈沖方式可縮短處理時間。符號“(P)”和“(D)”可同時使用。MOV的功能指令編號為12,輸人功能指令(D)MOV(P)時按以下順序按鍵:MOV的功能指令編號為12,輸人功能指令(D)MOV(P)時按以下順序按鍵:,9.1.3位元件1位元件和字元件只有ONOFF狀態的元件稱為位(bit)元件。例如X、Y、M和S。處理數據的元件稱為字元件。例如定時器和計數器的當前值T,C和數局寄存器D等,一個數由l6位二進制數組成,位元件也可以組成字元件來進行數據處理。2位元件的組合每相鄰的4bit位元件組合成一個單元,它由Kn加首位元件號來表示,其中的n為組數,16位操作數時n=14,32位操作數時n=l8。例如K2M0表示由M0M7組成的兩個位元件組,M0為數據的最低位(首位);K4S10表示由S10S25組成的16位數據,S10為最低位。當16位數據傳送到n=13的位元件組時,只傳送低位的相應數據;當32位數據傳送到n=17的位元件組時,也是一樣的。被組合的位元件的首位元件號可以是任意的,但是為了避免混亂,建議采用以0結尾的元件,如X0、X10、X20等。圖7.2變址寄存器的使用作16位數操作時,參與操作的位元件由K1K4指定。若僅由KlK3指定,高位的不足部分均作0處理,這意味著只能處理正數(最高位為符號位,正數的符號位為0),在32位數處理時也有類似的情況。,9.1.4變址寄存器V、Z在傳送、比較指令中,變址寄存器V,Z用來修改操作對象的元件號,循環程序中常使用變址寄存器。Stsd和D表示有變址功能。對32位指令,V為高I6位、Z為低16位。32位指令中使用變址指令只需指定Z,這時Z就能代表V和Z。在32位指令中,V、Z自動組對使用。圖9.2中的各觸點接通時,常數10送到V0,常數20送到Z1,ADD指令完成運算(D5V0)(D15Z1)(D40Zl),即(D15)(D35)(D60)。,圖9.2變址寄存器的使用,9.2功能指令及應用9.2.1程序流向控制指令程序流向控制指令(FNC00FNC09)分別是CJ(條件跳轉)、CALL(子程序調用)、SRET(子程序返回)、IRET(中斷返回)、EI、DI(中斷允許與中斷禁止)、FEND(主程序結束)、WDT(監控定時器刷斬)和FOR、NEXT(循環開始和循環結束)。1條件跳轉指令(1)條件跳轉指令CJ(ConditionalJump)的功能指令編號為FNC00,操作數為P0P127,P63是END所在步序,不需要標記。該指令占3個程序步,標號占一個程CJ和CJ(P)指令用干跳過順序程序中的某一部分,以減少掃描時間。,CJ指令的使用,(2)兩條跳轉指令可以使用相同的標號,標號可以出現在相應跳轉指令之前,但是如果反復跳轉的時間超過監控定時器的設定時間,會引起監控定時器出錯。一個標號只能出現次,如出現兩次或兩次以上則會出錯。如果用M8000的常開觸點驅動CJ指令,相當于無條件跳轉指令,因為運行時特殊輔助繼電器M8000總是為ON。設Y,M,S被OUTSET,RST指令驅動,跳步期間即使驅動Y,M,S的電路狀態改變,它們仍保持跳步前的狀態。如圖9.4中的X0為ON時,Y11的狀態不會隨X10發生變化,因為跳步期間根本沒有執行這一段程序。如在跳步之前定時器和計數器的線圈開路,跳步期間即使X12和X13變為ON,T0和C1也不會工作。如果在跳步開始時定時器和計數器正在工作,在跳步期間它們將停止定時和計數,在CJ指令被復位即X10變為OFF,跳步條件變為不滿足)后繼續工作。但是正在工作的T63和高速計數器不管有無跳步仍連續工作。,雙重跳轉指令,(3)如果從主令控制區的外部跳人其內部,下管它的主控觸點是否接通,都把它當成接通來執行主令控制區內的程序。如果跳步指令在主令控制區內,主控觸點沒有接通時不執行跳步。,跳步指令與主控指令,(4)跳步指令可以在很多場合使用。同一編程元件的線圈可以在跳步條件相反的兩個跳步程序中分別出現次,在這種情況下允許雙線圈輸出。若積算定時器和計數器的RST指令在跳步區外,即使定時器和計數器的線圈被跳轉,對它們的復位仍然有效。,2子程序調用與子程序返回指令子程序調用指令CALL(SubRoutineCall)的功能指令編號為FNC01,操作數為P0P127(不包恬P63),占用3個程序步,允許用變址寄存器修改。子程序可以嵌套調用,最多嵌套5級。予程序返回指令SRET(SubRoutineReturn)的功能指令編號為FNC02,無操作數。,3與中斷有關的指令中斷返回指令IRET(InterruptionReturn)的功能指令編號為FNC03;允許中斷指令EI(InterruplionEnable)的功能指令編號為FNC04;禁止中斷指令DI(InterruptionDisable)的功能指令編號為FNC05。以上3條指令均無操作數,分別占用一個程序步。FX2N系列有6個與X0X5對應的中斷輸入點,中斷指針為I口0口最低位為0時表示下降沿中斷,反之為上升沿中斷。最高位與X0X5元件號相對應。FX2N系列有3點定時器中斷,對應的中斷指針為I6口口I8口口,低兩位是以ms為單位的定時時間,定時器中斷用于高速處理或每隔一定的時間執行的程序。FX2N系列的6點計數器的中斷指針為I0口0(口l6),它們利用高速計數器的當前值產生中斷,與HSCS(高速計數器比較置位)指令配合使用。可編程序控制器通常處于禁止中斷的狀態,指令EI和DI之間的程序段為允許中斷的區間,當程序執行到該區間時,如果中斷源產生中斷,CPU將停止執行當前的程序,轉去執行相應的中斷子程序,執行到中斷子程序中的IRET指令時,返回原斷點,繼續執行原來的程序。特殊輔助繼電器M805ON時,禁止執行相應的中斷I口口。M8059ON時,關閉所有的計數器中斷。如果有多個中斷信號依次發出,則優先級按發生的先后為序,發生越早的優先級越高。若同時發生多個中斷信號,則中斷指針號小的優先。執行一個中斷子程序時,其他中斷被禁止。在中斷子程序中編入EI和DI,可實現雙重中斷。加果中斷信號在禁止中斷區間出現,該中斷信號被儲存,并在EI指令之后響應該中斷。不需要關中斷時,只使用EI指令,可以不使用DI指令。,4程序結束指令主程序結束指令FEND(FirstEnd)的功能指令編號為FNC06,無操作數,占用一個程序步。FEND表示主程序結束,執行到FEND指令時可編程控制器進行輸人輸出處理、監控定時器刷新,完成后返回第0步。子程序(包括中斷子程序)應放在FEND指令之后。CALL指令調用的子程序必須用SRET指令結束,中斷子程序必須以IRET指令結束。若FEND指令在CALL指令執行之后和RSET指令執行之前出現,則程序出錯。另一個類似的錯娛是FEND指令出現在FORNEXT循環之中。使用多條FEND指令時,中斷程序應放在最后的FEND指令和END指令之間。,5監控定時器指令監控定時器指令WDT(WatchDogtimer)的功能指令編號為FNC07,無操作數,占用一個程序步。監控定時器又稱看門狗,在執行FEND和END指令時,監控定時器被刷新(復位),可編程控制器正常工作時掃摘周期(從0步到FEND或END指令的執行時間)小于它的定時時間。如果強烈的外部干擾使可編程控制器偏離正常的程序執行路線,監控定時器不再被復位,定時時間到時,可編程控制器將停止運行,它上面的CPU-E發光二極管亮。監控定時器定時時間的缺省值為200ms,可通過修改D8000來設定它的定時時間。如果掃描周期大于它的定時時間,可將WDT指令插人到合適的程序步中刷新監控定時器。如果FORNEXT循環程序的執行時間可能超過監控定時器的定時時間,可將WDT指令插人到循環程序中。條件跳步指令CJ若在它對應的標號之后(即程序往回跳),可能因連續反復跳步使它們之間的程序被反復執行,總的執行時間可能超過監控定時器的定時時間,為了避免出現這樣的情況,可在CJ指令和對應的標號之間插人WDT指令。,6循環指令FOR指令用來表示循環區的起點,功能指令編號為FNC08,16位指令占用3個程序步,它的源操作數用來表示循環次數N,可以取任意的數據格式。循環次數N=132767如N在327670之間,當作N=l處理,循環可嵌套5層。NEXT是循環區終點指令,功能指令編號為FNC09,占用1個程序步,無操作數。圖7.10循環程序FOR與NEXT之間的程序被反復執行,執行次數由FOR指令的源操作數設定。執行完后,執行NEXT后面的指令。,循環程序,9.2.2傳送和比較指令比較與傳送指令的編號為FNC10FNC19。比較指令包括CMP(比較)和ZCP(區間比較)兩條指令,傳送指令包括MOV(傳送)、SMOV(BCD碼移位傳送)、CLM(取反傳送)、BMOV(數據塊傳送)、FMOV(多點傳送)、XCH(數據交換)、BCD(二進制數轉換成BCD碼并傳送)和BIN(BCD碼轉換為二進制數并傳送)指令,1比較指令.比較指令包拾CMP(比較)和ZCP區間比較),比較結果用目標元件的狀態來表示。待比較的源操作數S1和S2可取任意的數據格式,目標操作數D可取Y,M和S,占用3點。a比較指令比較指令CMP(Compare)的功能指令編號為FNC10,16位運算占7個程序步,32位運算占13個程序步。比較指令比較源操作數S1和S2,比較的結果送到目標操作數D中去。圖9.11中的比較指令將十進制常數100與計數器C10的當前值比較,比較結果送到M0M2。X1為OFF則不進行比較,M0M2的狀態保侍不變。X1為ON時進行比較,如果比較結果為S1S2,M0ON;若S1S2,M2ON。如指定的元件種類或無件號超出允許范圍時將會出錯。b區間比較區間比較指令的助記符為ZCP(ZoneCompare),功能指令編號為FNC11。16位運算占9個程序步,32位運算占17個程序步。圖9.12中的X2為ON時,執行ZCP指令,將T3的當前值與常數100和150相比較,比較結果送到M3M5,源數據S1不能大于S2。,2傳送指令FNC12FNC16傳送指令包括MOV(傳迭)、SMOV(BCD碼移位傳送)、CML(取反傳送)、BMOV(數據塊傳送)和FMOV(多點傳送)以及XCH(數據交換)指令。MOV和CML指令的源操作數可取所有的數據類型,SMOV指令可取除K,H以外的其他類型的操作數。它們的目標操作數可取KnY,KnM,KnS,T,C,D,V和Z。a傳送指令傳送指令MOV(Move)的功能指令編號為FNC12,16位運算占5個程廳步,32位運算占9個程序步。傳送指令將源數據傳送到指定目標b移位傳送移位傳送指令SMOV(ShiftMove)的功能指令編號為FNC13,只有16位運算,占11個程序步。源數據(二進制數)被轉換成4位BCD碼然后將它移位傳送。圖7.13中的X0為ON時,將DI中右起第4位(ml=4)開始的2位m2=2)BCD碼移到目標操作數(D2)的右起第3位(n3)和第2位(見圖7.14),然后D2中的BCD碼自動轉換為二進制碼,D2中的第1位和第4位不受移位傳送值令的影響。,傳送指令與移位傳送指令,c取反傳送指令取反傳送指令的助記符為CML(Complement),功能指令編號為FNC14,16位運算占5個程序步,32位運算占9個程序步。取反傳送指令將源元件寧的數據逐位取反(10,01)并傳送到指定目標。若源數據為常數K,該數據會自動轉換為二進制數,CML用于可編程控制器反邏輯輸出時非常方便。,取反傳送,d塊傳送指令,塊傳送,塊傳送指令BMOV(BlockMove)的功能指令編號為FNC15,16位操作占7個程序步,塊傳送指令的源操作數可取KnX、KnY、KnM、KnS、T、C、D和文件寄存器,目標操作數可取KnY、KnM、KnS、T、C和D。塊傳送將源操作數指定的元件開始的n個數據組成的數據塊傳送到指定的目標。如果元件號超出允許的范圍,數據僅僅傳送到允許的范圍。傳送順序是自動決定的,以防止源數據塊與目標數據塊重疊時源數據在傳送過程中被改寫。,e多點傳送指令多點傳送指令FMOV(FillMove)的功能指令編號為FNC16,16位操作占7個程序步,32位操作占13個程序步。它的源操作數可取所有的數據類型,目標操作數可取KnY、KnM、KnS、T、C和D,n=512。多點傳送指令將源元件中的數據傳送到指定目標開始的n個元件中,傳送后n個元件中的數據完全相同。如果元件號超出允許的范圍,數據僅僅送到允許的范圍中。,多點數據傳送與數據交換,f數據交換指令數據交換指令XCH(Exchange)的功能指令編號為FNC17,16位運算占5個程序步,32位運算占9個程序步。它的兩個目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。執行數據交換指令時,數據在指定的目標元件之間交換,交換指令一般采用脈沖執行方式,否則在每一個掃描周期都要交換一次。,3數據交換指令數據變換指令包括BCD(二進制數轉換成BCD碼并傳送)和BIN(BCD碼轉換為二進制數并傳送)指令。它們的源操作數可取KnX、KnY、KnM、KnS、T、C、D、V和Z,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z,16位運算占5個程序步,32位運算占9個程序步。aBCD變換指令BCD變換指令的指令助記符為BCD(BinaryCodetoDecimal),功能指令編號為FNC18,該指令將源元件中的二進制數轉換為BCD碼并送到目標元件中。如果BCD指令執行的結果超過09999的范圍,將會出錯。如果(D)BCD指令執行的結果超過099999999的范圍,也會出錯。可編程控制器內部的算術運算用二進制數進行,可以用BCD指令將可編程控制器中的二進制數變換為BCD數后輸出到7段顯示器。bBIN變換指令BIN變換指令的指令助記符為BIN(Binary),功能指令編號為FNC19,該指令將源元件中的BCD碼轉換為二進制數井送到目標元件中。可以用BIN指令將BCD數字開關提供的設定值輸入可編程控制器。如果源元件中的數據下是BCD數,將會出錯。常數K不能作為本指令的操作元件,因為在任何處理之前它們都會被轉換成二進制數。BCD碼的范圍與BCD指令中的相同。,BCD變換與BIN變換,BCD變換與BIN變換,9.2.3循環移位指令循環移位與移位指令的功能指令編號為FNC30FNC39。ROR,ROL分別是右、左循環移位指令,RCR,RCL分別是帶進位的右、左循環移位指令。SFTR、SFTL分別是移位寄存器右、左移位指令。WSFR,WSFL分別是字右移、字左移指令,SFWR,SFRD分別是先人先出(FIFO)寫人和移位讀出指令。1循環移位指令右、左循環移位指令的指令助記符分別為ROR(RotaionRight)和ROL(RotationLeft),功能指令編號分別為FNC30和FNC31。它們只有目標操作數,可取KnY、KnM、KnS、T、C、D、V和Z。l6位指令占5個程序步,32位指令占9個程序步。16位指令和32位指令中n應分別小于16和32。,右循環,左循環,執行這兩條指今時,各位的數據向右(或向左)循環移動n位,最后一次移出來的那一位同時存入進位標志M8022中(上圖)。若在目標元件中指定位元件組的組數,只有K4(16位指令)和K8(32位指令)有效,如K4Y10和K8M0。,2帶進位的循環移位指令帶進位的右、左循環移位指令的助記符分別為RCR(RotationRightwithCarry)和RCL(RotationLeftwithCarry),它們的功能指令編號分別為FNC32和FNC33。它們的目標操作數、程序步數和n的取值范圍與循環移位指令相同。,帶進位的右循環,帶進位的左循環,執行這兩條指令時,各位的數據與進位位M8022一起向右(或向左)循環移動n位(上圖)。在循環中進位標志被送到目標操作數中。若在目標元件中指定位元件組的組數,只有K4(16位指令)和K8(32指令)有效。,4字右移和字左移指令字右移WSFR(WordShiftRight)、字左移WSFL(WordShiftLeft)的功能指令編號分別為FNC36和FNC37。它們的源操作數可取KnX、KnY、KnM、KnS、T、C和D,目標操作數可取KnY、KnM、KnS、T、C和D。字移動指令只有16位運算,占9個程序步。字右移和字左移指令以字為單位,將nl個字右移或左移n2個(n2n1512)。,5FIFO(先入先出)寫入與讀出指令aFIFO(FirstInFirstOut)寫入指令FIFO寫人指令SFWR(ShiftRegisterWrite)的功能指令編號為FNC38,源操作數可取所有的數據類型,目標操柞數可取KnY、KnM、KnS、T、C和D。只有16位運算,占7個程序步。bFIFO(FirstInFirstOut)讀出指令FIFO讀出指令SFRD(ShiftRegisterRead)的功能指令編號為FNC39,源操作數可取KnY、KnM、KnS、T、C和D,目標操柞數可取KnY、KnM、KnS、T、C、D、V和Z。只有16位運算,占7個程序步。,9.2.4四則邏輯運算指令算術運算與字邏輯運算指令的功能指令編號為FNC20FNC29,算術運算包括ADD,SUB,MUL,DIV(二進制加、減、乘、除)指令,INC,DEC(加l、減1)指令;WAND,WOR,WXOR,NEG分別是字編程元件的邏輯與、或、異或和取補指令。,1算術運算算術運算包括ADD,SUB,MUL,DJV(二迸制加、減、乘、除)指令,源操作數可取所有的數據類型,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z(32位乘除指令中V和Z不能用作D)。16位運算占個程序步,32位運算占13個程序步。a加法指令加法指令ADD(Addition)的功能指令編號為FNC20。加法指令將源元件中的二進制數相加,結果送到指定的目標元件。每個數據的最高位為符號位(0為正,1為負)。加減運算為代數運算。圖9.29中的X0為ON時,執行(D10)(D12)(D14)。,b減法指令減法指令SUB(Subtraction)的功能指令編號為FNC21,減法指令將S1指定的元件中的數減去S2指定的元件中的數,結果送到D指定的目標元件。每個標志的功能、32位運算元件的指定方法、連續執行和脈沖執行的區別等均與加法指今中的相同。圖9.29中的X1為ON時,執行(D1、D0)一22(D1、D0)。用脈沖執行的加減指令來加1減1與脈沖執行的INC(加1)、DEC(減1)指令的執行結果相似,其不同之處在于INC指令和DEC指令不影響零標志、借位標志和進位標志。,c乘法指令乘法指令MUL(Multiplication)的功能指令編號為FNC22,每個數據的最高位為符號位(0為正,1為負)。目標位元件(如KnM)可用K1K8來指定位數。如果用K4來指定位數,只能得到乘積的低16位。32位乘法運算指令(D)MUL如用位元件作目標,則只能得到乘積的低32位,高32位丟失。在這種情況下,應先將數據移入字元件再進行運算、用字元件時,不能監控64位數據的內容,在這種情況下,建議采用浮點運算。d除法指令除法指令DIV(Divsion)的功能指令編號為FNC23,用S1指定被除數,S2指定除數,商送到D指定的目標元件,余數送到D的下一個元件。圖9.32中的X3為ON時執行(D7、D6)(D9、D8),商送到(D3、D2),余數送到(D5、D4)。若除數為0則出錯,不執行該指令。若位元件被指定為目標元件,不能獲得余數,商和余數的最高位為符號位。,二進制乘除運算,2加1和減1指令加1和減1指令的助記符分別為INC(Increment)和DEC(Decrment),功能指令編號分別為FNC24和FNC25。它們的操作數均可取KnY、KnM、KnS、T、C、D、V和Z。16位運算占3個程序步,32位運算占5個程序步。,二進制加1、減1運算,3字邏輯運算指令字邏輯運算指令包括WAND(字邏輯與)、WOR(字邏輯或)、WXOR(字邏輯異或)和NEG(求補)指令,它們的功能指令編號分別為FNC26FNNC29。WAND、WOR和WXOR指令的S1和S1均可以取所有的數據類型,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z。16位運算占7個程序步,32位運算占13個程序步。邏輯運算關系表,字邏輯運算,9.2.5數據處理指令數據處理指令的功能指令編號為FNC40FNC49,包括區間復位指令ZRST、解碼指令DECO、編碼指令ENCO、求置ON位總數指令SUM,ON位判別指令BON、平均值指令MEAN、報警器置位指令ANS、報警器復位指令ANR、平方根指令SQR、二進制整數二迸制浮點數轉換指令FLT和高低字節交換指令SWAP。1區間復位指令區間復位指令ZRST(ZoneReset)將D1、D2指定的元件號范圍內的同類元件成批復位,它的功能指令編號為FNC40,目標操作數可取T、C和D(字元件)或Y、M、S(位元件)。該指令只有16位運算,占5個程序步。D1和D2指定的應為同一類元件,D1的元件號應小干D2的元件號。如D1的元件號大干D2的元件號,則只有D1指定的元件被復位。雖然ZRST指令是16位處理指令,D1、D2也可以指定32位計致器。,區間復位,2解碼與編碼指令a解碼指令解碼指令DECO(Decode)的功能指令編號為FNC41。位源操作數可取X、T、M和S,位目標操作數可取Y、M和S。字源操作數可取K、H、T、C、D、V和Z,字目標操作數可取T、C和D,n=18。只有I6位運算,占7個程序步。,下圖中的X2X0組成的3位(n=3)二進制數為011,相當于十進制數3(21+20=3),由目標操作數M7M0組成的8位二進制數的第3位(M0為第0位)M3被置1,其余各位為0。如源數據全零,則M0置l。若指定的目標元件是字元件T、C、D,應使n4,目標元件的每一位都受控,若D指定的目標元件是位元件Y、M、S,應使n8。n=0時,不作處理。,解碼指令,利用解碼指令,可以用數據寄存器中的數值來控制位元件的ON/OFF。,b編碼指令編碼指令ENCO(Encode)的功能指令編號為FNC42,只有16位運算,占7個程序步。當S指定的源操作數是字元件T、C、D、V和Z時,應使n4,當S指定的源操作數是位元件X、Y、M和S時,應使n18,目標元件可取T、C、D、V和Z。若指定源中為1的位不只一個,只有最高位的1有效。若指定源中的所有位均為0,則出錯。下圖中的n=3,編碼指令將源元件M7M0中為“1”的M3的位數3編碼為二進制數011,井送到目標元件D10的低3位。,編碼指令,解碼/編碼指令在n=0時不作處理。若在DECO指令中D指定的元件和ENCO指令中S指定的元件是位元件,而且n=8時,點數為28=256。當執行條件OFF時,指令不執行,編碼輸出保持不變。,3求置ON位總數與ON位判別指令a求置ON位總數指令位元件的值為“l”時稱為ON,求置ON位總數指令SUM的功能指令編號為FNC43。它的源操作數可取所有的數據類型,目標操作數可取KnY、KnM、KnS、T、C、D、V和Z,16位運算占5個程序步,32位運算占9個程序步。圖9.39中的X0為ON時,統計源操作數D0中為ON的位的個數,并將它送入目標操作數D2。若D0的各位均為“0”,則零標志M8020置1。如使用32位指令,目標操作數的高位字為0。bON位判別指令ON位判別指令BON(BitONCheck)的功能指令編號為FNC44。它的源操作數可取所有的數據類型,目標操作數可取Y、M和S。16位運算占7個程序步,n015,32位

溫馨提示

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

評論

0/150

提交評論