版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第四章 功能指令說明及應用4.1功能指令一覽表分類指令助記符功能頁碼程序流程CJ條件跳轉CALL子程序調用SRET子程序返回FEND主程序結束FOR循環(huán)范圍開始NEXT循環(huán)范圍結束傳送與比較CMP比較ZCP區(qū)域比較MOV傳送CML反向傳送BCDBCD轉換BINBIN轉換四則邏輯運算ADDBIN加法SUBBIN減法MULBIN乘法DIVBIN除法INCBIN加1DECBIN減1WAND邏輯字與WOR邏輯字或WXOR邏輯字異或NEG求補碼SQRBIN開方循環(huán)與移位ROR循環(huán)右移ROL循環(huán)左移RCR帶進位循環(huán)右移RCL帶進位循環(huán)左移基本功能指令一覽表(續(xù))分類指令助記符功能頁碼浮點數運算ECMP2進制浮點數比較EZCP2進制浮點數區(qū)域比較EBCD2進制浮點數轉10進制浮點數EBIN10進制浮點數轉2進制浮點數EADD2進制浮點數加法ESUB2進制浮點數減法EMUL2進制浮點數乘法EDIV2進制浮點數除法ESQR2進制浮點數開方INT2進制浮點數轉BIN整數FLTBIN整數轉2進制浮點數接點比較LD=(S1)=(S2)LD>(S1)>(S2)LD<(S1)<(S2)LD<>(S1)<>(S2)LD≦(S1)≦(S2)LD≧(S1)≧(S2)AND=(S1)=(S2)AND>(S1)>(S2)AND<(S1)<(S2)AND<>(S1)<>(S2)AND≦(S1)≦(S2)AND≧(S1)≧(S2)OR=(S1)=(S2)OR>(S1)>(S2)OR<(S1)<(S2)OR<>(S1)<>(S2)OR≦(S1)≦(S2)OR≧(S1)≧(S2)4.2程序流程4.2.1條件跳轉[CJ]CJP16位指令CJ(連續(xù)執(zhí)行型)3步CJP(脈沖執(zhí)行型)適用軟元件指針(P)可以指定下列編號·P0~P127·指針編號可作變址修改功能和動作作為執(zhí)行序列的一部分的指令,有CJ、CJP指令,可以縮短運算周期。在上圖示例中,如果X000“ON”,則從0步跳到23步(標記P0的后一步)。X000“OFF”時,不進行跳轉,順序執(zhí)行。當X000“ON”時,進行跳轉,跳轉中的線圈動作如下:Y、M、S保持以前動作;T在跳轉前若沒有觸發(fā),跳轉后即使觸發(fā),定時器也不動作。若被觸發(fā),時鐘繼續(xù)運行,但觸點不動作,當X000“OFF”時,觸點立即動作;C在跳轉前若沒有觸發(fā),跳轉后即使觸發(fā),計數器不動作。若被觸發(fā),計數中斷,當X000“OFF”時繼續(xù)計數;功能指令跳轉后不動作;定時器及計數器的復位指令在跳轉外時,計時線圈及跳轉的計數線圈復位(接點復位及當前值的清除)有效;對END步跳轉,需標明標號(P0~P127都可以),線圈動作如上。主控制指令和跳轉指令的關系及動作如下,CJP0·從MC外向MC內跳轉時,與MC的動作無關,即使M100MCN0M100處于“OFF”狀態(tài)下,P0以下M100視為“ON”;P0CJP1P1·從MC內向MC內跳轉時,M100處于“OFF”時,不能跳轉;CJP3MCRN0·從MC內向MC外跳轉時,M100處于“OFF”時,不能跳轉,P3當M0“ON”時,可跳轉,但MCR無效4.2.2子程序調用[CALL]CALLP16位指令CALL(連續(xù)執(zhí)行型)3步CALLP(脈沖執(zhí)行型)4.2.3子程序返回[SRET]SRETP單獨指令SRET1步不需要觸點驅動的指令適用軟元件子程序調用的指針(P)可以指定下列編號·P0~P127;·指針編號可作變址修改;·嵌套最多可為5層;·對子程序返回無適用軟元件。功能和動作若X001“ON”,則執(zhí)行調用指令跳轉到標記P11步,執(zhí)行完通過執(zhí)行SRET指令返回原來的步,再往下執(zhí)行;在FEND指令后對標記(子程序)編程;CJ指令的標記和子程序的標記不能重復編號;在子程序內最多可以允許有四層嵌套,如上例,還可增加2層,整體而言可做5層;指針編號可作變址修改,如P0Z(0+12=12),如果變址得出的編號沒有,嵌入式PLC停止工作。4.2.4主程序結束[FEND]FEND單獨指令FEND1步不需要觸點驅動的指令功能和動作當程序使用多個FEND指令時,子程序請在最后的FEND指令與END指令之間編寫。4.2.5循環(huán)范圍開始[FOR]FOR16位指令FOR(連續(xù)執(zhí)行型)3步適用軟元件·字軟元件K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z,·可作變址修改。4.2.6循環(huán)范圍結束[NEXT]NEXT單一指令NEXT1步不需要觸點驅動的指令。功能和動作只在FOR~NEXT指令之間的處理(利用源數據指定的次數),執(zhí)行完后,才處理NEXT指令以后的程序。上圖是通電時對保持用輔助繼電器復位的程序;從4步至25步之間的程序執(zhí)行了16次,執(zhí)行完后Z的值為512;FOR~NEXT嵌套最多5層;循環(huán)次數多時掃描周期會延長,請務必注意;NEXT指令在FOR指令之前,或無NEXT指令,或在FEND、END指令以后有NEXT指令,或FOR指令與NEXT指令個數不相等,都會出錯;若不想執(zhí)行FOR~NEXT之間的程序時,利用CJ指令,使之跳轉。如在上圖所例,在25步前插入LDIM0CJP50則Z的值為32,即只執(zhí)行了一次。4.3傳送與比較4.3.1比較指令[CMP]CMPDP16位指令CMP(連續(xù)執(zhí)行型)32位指令DCMP(連續(xù)執(zhí)行型)7步CMPP(脈沖執(zhí)行型)13步DCMPP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z·位軟元件(D·)Y、M、S功能和動作上圖示例是D0的內容與常數100進行比較,大小比較是按代數形式進行的(-8<0);所有數據都以2進制值處理;當D0>100,M0“ON”,當D0=100,M1“ON”,當D0<100,M2“ON”;目標地址指定M0,則M1、M2被自動占用;當X001“OFF”時,M0、M1、M2仍保持以前狀態(tài)。如當D0的內容為50,則50<100,M2“ON”,M0、M1都“OFF”,X001“OFF”時,M2仍“ON”。指令不執(zhí)行時,想要清除比較結果,可使用復位指令。4.3.2區(qū)域比較[ZCP]ZCPDP16位指令ZCP(連續(xù)執(zhí)行型)32位指令DZCP(連續(xù)執(zhí)行型)7步ZCPP(脈沖執(zhí)行型)13步DZCPP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·、S·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z·位軟元件(D·)Y、M、S功能和動作如上例,D3的內容與D1、D2的內容進行比較;D1的內容應小于等于D2 的內容,若D1=100,D2=80,比較時D2的內容為100;按代數形式進行比較(-8<0);當D1>D3,則M3“ON”;當D1≦D3≦D2,則M4“ON”,當D2<D3,則M5“ON”。4.3.3傳送指令[MOV]MOVDP16位指令MOV(連續(xù)執(zhí)行型)32位指令DMOV(連續(xù)執(zhí)行型)7步MOVP(脈沖執(zhí)行型)13步DMOVP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)K、H、KnY、KnM、KnS、T、C、D、V,Z·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作使數據原樣傳送的指令。將源(S·)的內容向目標(D·)傳送,X003“OFF”時,目標(D·)的內容不變化;常數K100被自動轉換成BIN碼。《定時、計數器的當前值讀出示例》將T0當前值傳送給D20。《定時、計數器設定值的間接指定示例》T20定時時間為5秒。《位軟元件的傳送》上圖示例可用下面的MOV指令來實現,《32位數據的傳送》運算結果是32位的應用指令(MUL等)、32位數值、32位軟元件或32位計數器等32位數據的傳送,必須使用DMOV指令。上例將(D11、D10)的內容傳送給(D21、D20),(C235的當前值)傳送給(D31、D30)。4.3.4反向傳送[CML]CMLDP16位指令CML(連續(xù)執(zhí)行型)32位指令DCML(連續(xù)執(zhí)行型)5步CMLP(脈沖執(zhí)行型)13步DCMLP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作將數據反向傳送的指令將D0的內容每位取反(0取反為1,1取反為0)后,傳送到目標地址,常數K被自動轉換成2進制。如:D101010101010101010符號位(0=正數,1=負數)01010101Y17Y16Y15Y14Y13Y12Y11Y10Y7Y6Y5Y4Y3Y2Y1Y0無變化反向數據被傳送上例可用CML指令來實現。4.3.5BCD轉換[BCD]BCDDP16位指令BCD(連續(xù)執(zhí)行型)32位指令DBCD(連續(xù)執(zhí)行型)5步BCDP(脈沖執(zhí)行型)9步DBCDP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)KnY、KnM、KnS、T、C、D、V,Z·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作將源(BIN)轉換為目標(BCD)的指令。使用BCD、BCDP指令,轉換結果不能超出0~9999,使用DBCD、DBCDP指令,轉換結果不能超出0~99999999;將PLC內的2進制數變?yōu)槠叨物@示等的BCD碼向外部輸出時使用。4.3.6BIN轉換[BIN]BINDP16位指令BIN(連續(xù)執(zhí)行型)32位指令DBIN(連續(xù)執(zhí)行型)5步BINP(脈沖執(zhí)行型)9步DBINP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)KnX、KnY、KnM、KnS、T、C、D、V,Z·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作將源(BCD)轉換為目標(BIN)的指令。使用BIN、BINP指令,源數據(S·)不能超出0~9999,使用DIND、DBINP指令,源數據(S·)不能超出0~99999999;常數K能自動轉成2進制。4.4四則邏輯運算4.4.1BIN加法運算[ADD]ADDDP16位指令ADD(連續(xù)執(zhí)行型)32位指令DADD(連續(xù)執(zhí)行型)7步ADDP(脈沖執(zhí)行型)13步DADDP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z標志位零M8020借位M8021進位M8022功能和動作兩個源數據進行加法后傳送到目標處,各數據的最高位是符號位(正數為0,負數為1),數據以代數形式進行加法運算(8+(-8)=0)。運算結果為0時,0標志位M8020動作;運算結果超出32767(16位運算)或2147483647(32位運算)時,進位標志位M8022動作;運算結果小于-32768(16位運算)或-2147483648(32位運算)時,借位標志位M8021動作;進行32位運算時,字軟元件的低16位側的軟元件被指定,緊接著上述軟元件編號后的軟元件作為高位,為了防止編號重復,建議將軟元件指定為偶數編號。對于脈沖型指令,每出現一次OFF到ON的變化,操作數做一次運算??梢詫⒃矗⊿·)和目標(D·)指定為相同的軟元件編號。這種情況下,如使用連續(xù)執(zhí)行型指令(ADD、DADD),則每個掃描周期加一次,請務必注意。4.4.2BIN減法運算[SUB]SUBDP16位指令SUB(連續(xù)執(zhí)行型)32位指令DSUB(連續(xù)執(zhí)行型)7步SUBP(脈沖執(zhí)行型)13步DSUBP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z標志位零M8020借位M8021進位M8022功能和動作(S1·)指定的內容和(S2·)指定的內容相減,結果存入(D·)指定的軟元件中。(8-(-8)=16)。各種標志位的動作,32位運算軟元件的指定方法,連續(xù)型和脈沖型的差異等都跟ADD指令相同。4.4.3BIN乘法運算[MUL]MULDP16位指令MUL(連續(xù)執(zhí)行型)32位指令DMUL(連續(xù)執(zhí)行型)7步MULP(脈沖執(zhí)行型)13步DMULP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z(V,Z僅限16位計算)·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作《16位運算》BINBINBIN(D0)×(D2)(D5,D4)16位16位32位各源指定的軟元件內容的乘積,以32位數據形式存入目標地址指定的軟元件(低位)和緊接其后的軟元件(高位)中,如(D0)=125,(D2)=8,則(D5,D4)=1000;結果的最高位是符號位,0為正,1為負;(D·)是位元件時,可以進行K1∽K8的位指定。指定為K4時,只能求得乘積運算的低16位?!?2位運算》BINBINBIN(D1,D0)×(D3,D2)(D7,D6,D5,D4)32位32位64位在32位運算中,目標地址使用位軟元件,只能得到低32位的結果,最好先向字元件傳送一次后再進行運算;即使使用字元件,也不能一下子監(jiān)視64位數據的運算結果,此種情況下建議進行浮點數運算;不能指定Z作為(D·)。4.4.4BIN除法運算[DIV]DIVDP16位指令DIV(連續(xù)執(zhí)行型)32位指令DDIV(連續(xù)執(zhí)行型)7步DIVP(脈沖執(zhí)行型)13步DDIVP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z(V,Z僅限16位計算)·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作《16位運算》被除數除數商余數BINBINBINBIN(D0)÷(D2)(D4)···(D5)16位16位16位16位《32位運算》被除數除數商余數BINBINBINBIN(D1,D0)÷(D3,D2)(D5,D4)···(D7,D6)32位32位32位32位32位運算不能指定Z作為(D·);除數為0時,如果被除數為正數,商為32767(16位)或2147483647(32位);如果被除數為0,商為0;如果被除數為負數,商為-32768(16位)或-2147483648(32位);商和余數的最高位為符號位,0為正,1為負,當被除數或除數中的一方為負數時,商為負,當被除數為負時,余數則為負。4.4.5BIN增1[INC]INCDP16位指令INC(連續(xù)執(zhí)行型) 32位指令DINC(連續(xù)執(zhí)行型)3步INCP(脈沖執(zhí)行型) 5步DINCP(脈沖執(zhí)行型)適用軟元件·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作(D0)+1(D0)X000每置“ON”一次,D0的內容增1,在連續(xù)執(zhí)行指令中,每個掃描周期執(zhí)行加1運算,所以務必引起注意;16位運算時,如果32767加1變?yōu)?32768,標志位不動作,32位運算時,如果2147483647加1變?yōu)?2147483648,標志位不動作;4.4.6BIN減1[DEC]DECDP16位指令DEC(連續(xù)執(zhí)行型)32位指令DDEC(連續(xù)執(zhí)行型)3步DECP(脈沖執(zhí)行型)5步DDECP(脈沖執(zhí)行型)適用軟元件·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作(D0)—1(D0)X001每置“ON”一次,D0的內容減1,在連續(xù)執(zhí)行指令中,每個掃描周期執(zhí)行減1運算,所以務必引起注意;–32768或-2147483648減1變?yōu)?2767或2147483647,標志位不動作4.4.7邏輯與[WAND]WANDDP16位指令WAND(連續(xù)執(zhí)行型)32位指令DWAND(連續(xù)執(zhí)行型)7步WANDP(脈沖執(zhí)行型)13步DWANDP(脈沖執(zhí)行型)功能和動作《邏輯與》(D0)∧(D2)(D4)對各位進行邏輯與運算。1∧1=10∧1=01∧0=00∧0=04.4.8邏輯或[WOR]WORDP16位指令WOR(連續(xù)執(zhí)行型)32位指令DWOR(連續(xù)執(zhí)行型)7步WORP(脈沖執(zhí)行型)13步DWORP(脈沖執(zhí)行型)功能和動作《邏輯或》(D0)∨(D2)(D4)對各位進行邏輯或運算。1∨1=10∨1=11∨0=10∨0=04.4.9邏輯異或[WXOR]16位指令WXOR(連續(xù)執(zhí)行型)32位指令DWXOR(連續(xù)執(zhí)行型)7步WXORP(脈沖執(zhí)行型)13步DWXORP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作《邏輯異或》(D0)((D2)(D4)對各位進行邏輯異或運算;1(1=00(1=11(0=10(0=0如果將這個指令與CML組合使用,將進行異或非運算。4.4.10求補[NEG]NEGDP16位指令NEG(連續(xù)執(zhí)行型)32位指令DNEG(連續(xù)執(zhí)行型)3步NEGP(脈沖執(zhí)行型)5步DNEGP(脈沖執(zhí)行型)適用軟元件·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z功能和動作(D10)+1(D10)將(D·)指定的軟元件內容中各位先取反(0變1,1變0),然后再加1,將其結果存入原先的軟元件中;使用連續(xù)執(zhí)行指令則在每一個掃描周期執(zhí)行一次,務必引起注意。4.4.11BIN開方運算[SQR]SQRDP16位指令SQR(連續(xù)執(zhí)行型)32位指令DSQR(連續(xù)執(zhí)行型)5步SQRP(脈沖執(zhí)行型)9步DSQRP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)K、H、D·字軟元件(D·)D功能和動作進行開方運算的指令;僅在(S·)≧0時有效,如果(S·)<0,結果為0;運算結果舍去小數取整數;無標志位。4.5循環(huán)與移位4.5.1循環(huán)右移[ROR]RORDP16位指令ROR(連續(xù)執(zhí)行型)32位指令DROR(連續(xù)執(zhí)行型)5步RORP(脈沖執(zhí)行型)9步DRORP(脈沖執(zhí)行型)適用軟元件·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z·字軟元件(n)K、H回轉量:n≦16(16位指令)n≦32(32位指令)標志位進位M8022功能和動作使16位或32位數據的各位右移位的指令?!堆h(huán)右移》D0 循環(huán)右移高位低位1111111100000000※執(zhí) M8022行一次后高位低位0011111111000000※ M80220※X000從“OFF”變?yōu)椤癘N”每變化一次,右移2位,最終位(※)被存入進位標志中。4.5.2循環(huán)左移[ROL]ROLDP16位指令ROL(連續(xù)執(zhí)行型)32位指令DROL(連續(xù)執(zhí)行型)5步ROLP(脈沖執(zhí)行型)9步DROLP(脈沖執(zhí)行型)適用軟元件·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z·字軟元件(n)K、H回轉量:n≦16(16位指令)n≦32(32位指令)標志位進位M8022功能和動作使16位或32位數據的各位左移位的指令。《循環(huán)左移》循環(huán)左移高位低位1111111100000000※M8022執(zhí)行一次后高位低位1111110000000011※M8022※X001從“OFF”變?yōu)椤癘N”每變化一次,左移2位,最終位(※)被存入進位標志中。連續(xù)執(zhí)行指令每一個掃描周期進行一次移位,務必引起注意;32位指令的情況也一樣;在位指定軟元件時,只有K4(16位)和K8(32位指令)是有效的(例如K4Y0,K8M0)。4.5.3帶進位循環(huán)右移[RCR]RCRDP16位指令RCR(連續(xù)執(zhí)行型)32位指令DRCR(連續(xù)執(zhí)行型)5步RCRP(脈沖執(zhí)行型)9步DRCRP(脈沖執(zhí)行型)適用軟元件·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z·字軟元件(n)K、H回轉量:n≦16(16位指令)n≦32(32位指令)功能和動作使16位或32位數據的各位帶進位右移位的指令?!稁нM位循環(huán)右移》D0帶進位循環(huán)右移高位低位1111111100000000※M8022執(zhí) 行例M8022=1一次后高位低位0111111111000000M8022 0※X000從“OFF”變?yōu)椤癘N”每變化一次,右移2位,最終位(※)移入進位標志中。4.5.4帶進位循環(huán)左移[RCL]RCLDP16位指令RCL(連續(xù)執(zhí)行型)32位指令DRCL(連續(xù)執(zhí)行型)5步RCLP(脈沖執(zhí)行型)9步DRCLP(脈沖執(zhí)行型)適用軟元件·字軟元件(D·)KnY、KnM、KnS、T、C、D、V,Z·字軟元件(n)K、H回轉量:n≦16(16位指令)n≦32(32位指令)功能和動作使16位或32位數據的各位帶進位左移位的指令。 《帶進位循環(huán)左移》帶進位循環(huán)左移高位低位1111111100000000※ M8022執(zhí)例M8022=0行一次后高位低位11111100000000011M8022※X001從“OFF”變?yōu)椤癘N”每變化一次,左移2位,最終位(※)移入進位標志中。因為帶進位循環(huán)移位中有進位標志,如果在執(zhí)行前將驅動M8022,可以將其送入目標地址中;連續(xù)執(zhí)行指令每一個掃描周期進行一次移位,務必引起注意;32位指令的情況也一樣;在位指定軟元件時,只有K4(16位)和K8(32位指令)是有效的(例如K4Y0,K8M0)。4.6浮點數運算4.6.1二進制浮點數比較[DECMP]DECMPP16位指令無32位指令DECMP(連續(xù)執(zhí)行型)13步DECMPP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·)K、H、D·位軟元件(D·)Y、M、S(D·占有連續(xù)的3點)功能和動作浮點數比較兩個二進制浮點數的值,根據比較結果,對應輸出3個位元件的ON/OFF狀態(tài),大于時第一個軟元件閉合,等于時第二個閉合,小于時第三個閉合,如上圖示例所示,但是當X0為OFF時,指令不執(zhí)行。源操作數為常數K,H時,自動轉換為浮點數處理。正常范圍的比較:①、比較數據范圍:±1*1037;②、比較數據可分辨范圍:246*10-34;同時符合①②項條件的兩數據,可以正確比較。非正常范圍數據的處理辦法:兩數相差的絕對值小于246*10-34時,超出比較的最小范圍,因此有:1000*10-34=1200*10-34;0*100=246*10-34。4.6.2二進制浮點數區(qū)域比較[DEZCP]DEZCPP16位指令無32位指令DZCP(連續(xù)執(zhí)行型)17步DZCPP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·、S2·、S1·)K、H、D(S1·≤S2·)·位軟元件(D·)Y、M、S(D·占有連續(xù)的3點)功能和動作將32位的源操作數S與下限S1和上限S2進行范圍比較,對應輸出3個位元件的ON/OFF狀態(tài),如上例源操作數S小于區(qū)間時輸出M0,在區(qū)間內時輸出M1,大于區(qū)間時輸出M2。源操作數為常數K,H時,自動轉換為浮點數處理。必須設置S1·≤S2·當S1·>S2·時,則將S1·和S2·當作相同進行比較。各個操作數的范圍為1*10-37到1*1037。4.6.3二進制浮點數轉十進制浮點數[DEBCD]DEBCDP16位指令無32位指令DEBCD(連續(xù)執(zhí)行型)9步DEBCDP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)D·位軟元件功能和動作該指令把二進制浮點數的源操作數轉換為十進制浮點數的目標操作數。浮點數的運算在嵌入式PLC內部是以二進制浮點數為基礎執(zhí)行的。二進制浮點數數據格式:尾數部分23位,指數部分8位,符號位1位。二進制浮點數所表示的范圍:最小絕對值1*10-37,最大絕對值1*1037。十進制浮點數數據格式:尾數部分為低16位,指數部分為高16位。十進制浮點數所表示的范圍:尾數的輸入范圍任意,但是不能超過二進制浮點數所能表示的范圍,即最小絕對值1*10-37,最大絕對值1*1037,指數=-37~+37。4.6.4十進制浮點數轉二進制浮點數[DEBIN]DEBINP16位指令無32位指令DEBIN(連續(xù)執(zhí)行型)9步DEBINP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)D·位軟元件功能和動作該指令把十進制浮點數的源操作數轉換為二進制浮點數的目標操作數。二進制浮點數和十進制浮點數的表示范圍見DEBCD指令的說明。注意指數的輸入范圍為-37~+37,尾數的輸入范圍任意,但是不能超過二進制浮點數所能表示的范圍:最小絕對值1*10-37,最大絕對值1*1037。4.6.5二進制浮點數加法[DEADD]DEADDP16位指令無32位指令DEADD(連續(xù)執(zhí)行型)13步DEADDP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·S2·)K、H、D(D·)D·位軟元件功能和動作兩個二進制浮點數源數據相加后,存入目的地址中。源操作數為常數K,H時,自動轉換為浮點數處理。源數據和目的地址可以為指定的同一元件號。正確運算的數據范圍:最小絕對值1*10-37,最大絕對值1*1037。不論是源操作數還是目的操作數和中間結果都不能超過此范圍,否則導致運算結果不正確。4.6.6二進制浮點數減法[DESUB]DESUBP16位指令無32位指令DESUB(連續(xù)執(zhí)行型)13步DESUBP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·S2·)K、H、D(D·)D·位軟元件功能和動作兩個二進制浮點數源數據相減后,存入目的地址中。源操作數為常數K,H時,自動轉換為浮點數處理。源數據和目的地址可以為指定的同一元件號。正確運算的數據范圍:最小絕對值1*10-37,最大絕對值1*1037。不論是源操作數還是目的操作數和中間結果都不能超過此范圍,否則導致運算結果不正確。4.6.7二進制浮點數乘法[DEMUL]DEMULP16位指令無32位指令DEMUL(連續(xù)執(zhí)行型)13步DEMULP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·S2·)K、H、D(D·)D·位軟元件功能和動作兩個二進制浮點數源操作數的乘積作為二進制浮點數存入目的地址中。將常數K、H作為源操作數時,自動轉換為二進制浮點數處理。正確運算的數據范圍:最小絕對值1*10-37,最大絕對值1*1037。不論是源操作數還是目的操作數和中間結果都不能超過此范圍,否則導致運算結果不正確。因此也不存在零的二進制浮點數。4.6.8二進制浮點數除法[DEDIV]DEDIVP16位指令無32位指令DEDIV(連續(xù)執(zhí)行型)13步DEDIVP(脈沖執(zhí)行型)適用軟元件·字軟元件(S1·S2·)K、H、D(D·)D·位軟元件功能和動作兩個二進制浮點數源操作數相除的結果作為二進制浮點數存入目的地址中。將常數K、H作為源操作數時,自動轉換為二進制浮點數處理。正確運算的數據范圍:最小絕對值1*10-37,最大絕對值1*1037。不論是源操作數還是目的操作數和中間結果都不能超過此范圍,否則導致運算結果不正確。因此也不存在零的二進制浮點數,當除數S2為0時,則運算結果錯誤。4.6.9二進制浮點數開方[DESQR]DESQRP16位指令無32位指令DESQR(連續(xù)執(zhí)行型)9步DESQRP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)K、H、D(D·)D·位軟元件功能和動作將二進制浮點數源操作數開平方的結果作為二進制浮點數存入目的地址中。將常數K、H作為源操作數時,自動轉換為二進制浮點數處理。正確運算的數據范圍:最小絕對值3.16*10-30,最大絕對值1*1037。當不在此范圍內的二進制浮點數運算結果不正確。4.6.10二進制浮點數轉BIN整數變換[INT]INTDP16位指令INT(連續(xù)執(zhí)行型)32位指令DINT(連續(xù)執(zhí)行型)5程序步INTP(脈沖執(zhí)行型)9步DINTP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·D·)D·位軟元件功能和動作將二進制浮點數源操作數取整后的結果作為BIN整數存入目的地址中,舍去小數點后面的值。正確運算的數據范圍:16位指令對在位于-32768到32767間的任意浮點數,能正確取整;32位指令對在位于-2147483648到2147483647間的任意浮點數,能正確取整。該指令是指令FLT的逆變換。4.6.11BIN整數轉二進制浮點數[FLT]FLTDP16位指令FLT(連續(xù)執(zhí)行型)32位指令DFLT(連續(xù)執(zhí)行型)FLTP(脈沖執(zhí)行型)9步DFLTP(脈沖執(zhí)行型)適用軟元件·字軟元件(S·)D·字軟元件(D·)D功能和動作(D0)(D5,D4)BIN整數2進制浮點數(D2)(D7,D6)BIN整數2進制浮點數BIN整數轉2進制浮點數的指令,常數K、H在各浮點運算中被自動轉換,因此在FLT指令中不能使用;FLT指令的逆變換指令是INT指令。4.7觸點比較指令4.7.1接點比較指令[LD※]LD※D※表示:=、>、<、<>、≦、≧。16位指令LD※(連續(xù)執(zhí)行型)32位指令LDD※(連續(xù)執(zhí)行型)5步9步適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z指令形式與功能對源數據進行BIN比較,對應其結果執(zhí)行后段的運算16指令32位指令導通條件非導通條件LD=LDD=(S1·)=(S2·)(S1·)≠(S2·)LD>LDD>(S1·)>(S2·)(S1·)≦(S2·)LD<LDD<(S1·)<(S2·)(S1·)≧(S2·)LD<>LDD<>(S1·)≠(S2·)(S1·)=(S2·)LD≦LDD≦(S1·)≦(S2·)(S1·)>(S2·)LD≧LDD≧(S1·)≧(S2·)(S1·)<(S2·)當計數器C0的當前值為100時,驅動。當D0的內容大于-100,且X000處于“ON”時,驅動Y1。當計數器C200的內容大于12345678,或者M1處于“ON”時,驅動M0。注意事項當源數據的最高位(16位指令:b15,32位指令:b31)為1時,將該數值作為負數進行比較;32計數器(C200-C255)的比較,必須以32位指令來進行。4.7.2接點比較指令[AND※]AND※D※表示:=、>、<、<>、≦、≧。16位指令AND※(連續(xù)執(zhí)行型)32位指令ANDD※(連續(xù)執(zhí)行型)5步9步適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z指令形式與功能對源數據進行BIN比較,對應其結果執(zhí)行后段的運算。16指令32位指令導通條件非導通條件AND=ANDD=(S1·)=(S2·)(S1·)≠(S2·)AND>ANDD>(S1·)>(S2·)(S1·)≦(S2·)AND<ANDD<(S1·)<(S2·)(S1·)≧(S2·)AND<>ANDD<>(S1·)≠(S2·)(S1·)=(S2·)AND≦ANDD≦(S1·)≦(S2·)(S1·)>(S2·)AND≧ANDD≧(S1·)≧(S2·)(S1·)<(S2·)當X000處于“ON”時,且計數器C10的當前值等于100時,驅動Y3。當X001處于“ON”時,且D0的內容不等于10時,置位Y4。當X002處于“ON”,且(D3,D2)的內容大于13579時,或者M100處于“ON”時,驅動Y5。注意事項當源數據的最高位(16位指令:b15,32位指令:b31)為1時,將該數值作為負數進行比較;32計數器(C200-C255)的比較,必須以32位指令來進行。4.7.3接點比較指令[OR※]OR※D※表示:=、>、<、<>、≦、≧。16位指令OR※(連續(xù)執(zhí)行型)32位指令ORD※(連續(xù)執(zhí)行型)5步9步適用軟元件·字軟元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z指令形式與功能對源數據進行BIN比較,對應其結果執(zhí)行后段的運算。16指令32位指令導通條件非導通條件OR=ORD=(S1·)=(S2·)(S1·)≠(S2·)OR>ORD>(S1·)>(S2·)(S1·)≦(S2·)OR<ORD<(S1·)<(S2·)(S1·)≧(S2·)OR<>ORD<>(S1·)≠(S2·)(S1·)=(S2·)OR≦ORD≦(S1·)≦(S2·)(S1·)>(S2·)OR≧ORD≧(S1·)≧(S2·)(S1·)<(S2·)當X001處于“ON”,或計數器C10的當前值等于100時,驅動Y1當X002和M10處于“ON”時,或者(D11,D10)的內容大于等于10000時,驅動Y2。注意事項當源數據的最高位(16位指令:b15,32位指令:b31)為1時,將該數值作為負數進行比較;32計數器(C200-C255)的比較,必須以32位指令來進行。4.8功能指令的基本規(guī)則本節(jié)敘述可編程控制器功能指令的表示方法與基本規(guī)則。在使用功能指令編程時,需要大致了解指令中有關軟元件的使用及其執(zhí)行形式。4.8.1.功能指令的表示與執(zhí)行形式1、指令與操作數①、功能指令用助記符表示。②、有些功能指令僅有指令段(助記符),但更多的有操作數。③、指令中的操作數符號表示方法及解釋。S:表示數據源。內容不隨指令執(zhí)行而變化的操作數稱為源。SS2·S1·S2·S1·S·D:表示目標操作數。內容隨指令執(zhí)行而改變的操作數被稱作目標。DD·可作變址修飾時,加上“·”D·D2·D2·D1·n·m·n·mn·m·n·m·n1·n2·m2n1·n2·m2·m1·2、可用作操作數的軟元件①、X,Y,M,S等位元件。②、位元件組合。以KnX,KnY,KnM,KnS等形式表示,作為數值處理。③、數據寄存器D、定時器T的當前值寄存器、計數器C的當前值寄存器。數據寄存器D為16位,在處理32位數據時使用一對數據寄存器的組合。例如,將數據寄存器D0指定為32位指令的操作數時,處理(D1,D0)32位數據(D1為高16位,D0為低16位)。T、C的當前值寄存器也可作為一般寄存器處理。C200—C255為32位計數器,處理32位的數據,不能作16位指令的操作數。3、指令的形態(tài)與執(zhí)行形式根據功能指令處理數值的大小,分為《16位指令》和《32位指令》。根據功能指令的執(zhí)行形式,分為《連續(xù)執(zhí)行型》與《脈沖執(zhí)行型》。功能指令可將這些形式組合使用或單獨使用。 ①、16位指令和32位指令在數值處理的功能指令中,根據數值數據的位長分為16位與32位。16位指令:通過MOV將D10的內容傳送到D12中的指令。32位指令:通過DMOV將(D21,D20)的內容傳送到(D23,D22)中。32位計數器(C200—C255)的一個軟元件為32位,不可用作16位指令的操作數。②、脈沖執(zhí)行形式和連續(xù)執(zhí)行形式脈沖執(zhí)行型如圖所示,在X000從OFF→ON變化時,指令執(zhí)行一次。指令在不執(zhí)行時的處理時間快,建議盡量采用脈沖執(zhí)行型指令。符號P表示脈沖執(zhí)行型命令。連續(xù)執(zhí)行型圖為連續(xù)執(zhí)行型指令,X001接通時,每個掃描周期都執(zhí)行。1NC、DEC等指令根據程序要求的內容而采取不同的執(zhí)行型式。如果采用連續(xù)執(zhí)行型指令,則每個掃描周期,其操作數的內容都發(fā)生變化。這種指令采用連續(xù)形式指令時,必須注意。在功能指令解說時,使用下圖符號以示區(qū)別。DINCP←使用連續(xù)執(zhí)行命令時,每一掃描周期“源”的內容都發(fā)生變化。DIN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年學風建設規(guī)章制度范例(二篇)
- 2024年小學教師的工作計劃樣本(三篇)
- 2024年工勞動合同例文(五篇)
- 2024年工作總結個人參考(二篇)
- 2024年小學生新學期學習計劃樣本(三篇)
- 2024年土地使用權轉讓合同例文(二篇)
- 2024年小學一年級數學教學計劃范例(三篇)
- 2024年年度工作總結參考樣本(三篇)
- 2024年幼兒園上學期教學工作計劃模版(二篇)
- 【《淺談中學生感恩意識缺失的原因(論文)》3000字】
- 基礎教育改革專題課件
- 市場開發(fā)培訓課件
- 2022年醫(yī)學專題-導尿PPT詳解
- DBJ52∕T 093-2019磷石膏建筑材料應用統一技術規(guī)范
- 蘇教版2022~2023學年四年級數學(上)期中質量檢測試卷【含答案】
- 初中歷史人教九年級上冊(統編2023年更新) 資本主義制度的初步確立 教學設計(正式版)
- DB11-T1884-2021供熱與燃氣管道工程施工安全技術規(guī)程
- 高中有機化學綜合練習題(附答案)
- 涂料涂飾施工質量驗收評定表
- 建設工程質量管理手冊
- DB32-T 3904-2020電動自行車停放充電場所消防技術規(guī)范doc-(高清現行)
評論
0/150
提交評論