語句表指令介紹_第1頁
語句表指令介紹_第2頁
語句表指令介紹_第3頁
語句表指令介紹_第4頁
語句表指令介紹_第5頁
已閱讀5頁,還剩138頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

指令介紹1.位操作指令2.比較指令3.格式轉(zhuǎn)換指令4.計(jì)數(shù)器5.塊操作6.邏輯控制7.算術(shù)指令8.裝載與傳送指令9.程序控制指令10.移位指令11.定時(shí)器12.字邏輯操作指令13.累加器相關(guān)指令11.位操作指令A(yù)

AN

O

ON

X

XN

與非

或非

對(duì)于簡(jiǎn)單的指令,如(#),(P)等,如果在LAD中看不清楚,可以轉(zhuǎn)換成語句表,了解整個(gè)執(zhí)行流程。

取反

輸出

中間值

復(fù)位

置位

RS/SR觸發(fā)器

正負(fù)邊沿檢測(cè)

保存RLO到BR中

NOTRLO取反

SETRLO置位

CLRRLO復(fù)位

FN負(fù)邊沿檢測(cè)

FP正邊沿檢測(cè)

2基本置位復(fù)位RS/SR觸發(fā)器轉(zhuǎn)換成語句表以后為R指令和S指令組合3(P)檢測(cè)前面M1.2的狀態(tài),其數(shù)值放置在M1.4內(nèi),與下一次M1.2相比。(N)檢測(cè)前面M1.2的狀態(tài),其數(shù)值放置在M1.3內(nèi),與下一次M1.2相比。=輸出,賦值指令4NEG檢測(cè)M1.6的狀態(tài)。因?yàn)镼4.4的狀態(tài)只是保持一個(gè)周期,所以使用一個(gè)自鎖,觀察狀態(tài)。5系統(tǒng)把某一變量恒定置位或者復(fù)位的方法。還有:A“FALSE”R“FALSE”AN“TRUE”S“TRUE”6使用同一個(gè)信號(hào)分別設(shè)置本地與遠(yuǎn)程操作。緊停信號(hào)串聯(lián),因?yàn)橹灰粋€(gè)出現(xiàn)故障,則系統(tǒng)斷電。7根據(jù)某一時(shí)鐘脈沖,再作出其它一些時(shí)鐘脈沖。本例子中,根據(jù)M6.1-1秒鐘的時(shí)鐘脈沖,作出一個(gè)3秒鐘的時(shí)鐘脈沖來。其中#IF.H1_Imp3Sec為一直小于3的計(jì)數(shù)變量,其在每次M6.1為1時(shí)加1,加到3時(shí),把M6.7置位輸出,否則,復(fù)位M6.7,這樣M6.7每3秒變化一次,也就是一個(gè)3秒鐘的時(shí)鐘周期。8

XXN的組合邏輯關(guān)系圖,

X/X組合在狀態(tài)不同時(shí)輸出為1;

X/XN組合在狀態(tài)相同時(shí)輸出為1;停止時(shí)有燈按照一定的頻率閃爍,程序如上圖。9SETRLO置位

CLRRLO復(fù)位

()前后的操作,先看括號(hào)前的指令,再接合括號(hào)內(nèi)指令。得出輸出。把括號(hào)前的A看成是串連邏輯,括號(hào)與括號(hào)之間為串連關(guān)系。

O前后為并聯(lián)邏輯,也就是說只要前后有一個(gè)為1,結(jié)果為1;10?以下程序段對(duì)應(yīng)與什么樣的梯形圖

A"STAT-a1".ROB_CTRL.Pr_AtomOn

AN"STAT-a1".ROB_FLT.Flt_Seq_Program_5AN"STAT-a1".ROB_FLT.Flt_General_2 ON"EPS-CTRL_1".AT.ROB2_ENOA"GHOST_RUN"A"GHOST-W-COL"ON"PARA-STA".a1_ENABLE="CR-ATa1"11

A(A(OM1000.0ONM100.5)A(ONM1000.1OM1000.2)AM1000.3OM1000.6)AM1000.7=M100.412132.比較指令==ACCU2等于ACCU1

<>ACCU2不等于ACCU1

>ACCU2大于ACCU1

<ACCU2小于ACCU1

>=ACCU2大于等于ACCU1

<=ACCU2小于等于ACCU1如果滿足條件,則RLO賦值,

根據(jù)不同的參數(shù)類型有不同指令:

整型數(shù)==I,<>I,>I,<I,>=I,<=I

雙整型數(shù)==D,<>D,>D,<D,>=D,<=D

浮點(diǎn)數(shù)==R,<>R,>R,<R,>=R,<=R

14ACCU1ACCU2L***//執(zhí)行完此句時(shí),把L的數(shù)值***裝入累加器1,累加器1內(nèi)數(shù)值◎◎裝入累加器2;ACCU1***L###//執(zhí)行完此句時(shí),把L的數(shù)值###裝入累加器1,累加器1內(nèi)***數(shù)值裝入累加器2;ACCU1ACCU2ACCU2###◎◎

$$***◎◎15整數(shù)MW20>MW22,

RLO置位,M2.0輸出。

梯形圖指令始終是先輸入的與后輸入的比較。如果大于,則>I指令輸出1。16雙整型數(shù)MD20>MD24,

RLO置位,M2.0輸出。

梯形圖指令17比較實(shí)數(shù)18應(yīng)用193.格式轉(zhuǎn)換指令BTI/BTDBCD到整型數(shù)/雙整型數(shù)

ITB/DTB整型數(shù)/雙整型數(shù)到BCD

ITD整型數(shù)到雙整型數(shù)

DTR雙整型數(shù)到實(shí)數(shù)

INVI整型按位取反(16位)

INVD雙整型按位取反(32位)

NEGI整型按位取反加1,得到負(fù)數(shù)

NEGD雙整型按位取反加1,得到負(fù)數(shù)

NEGR實(shí)數(shù)得到負(fù)數(shù)

CAD交換累加器1低位內(nèi)容,0-7<->8-15對(duì)換

CAW交換累加器1內(nèi)容,ABCD換成DCBA。

RND、RND+、RND-、TRNUC圓整、截尾。

20BCD碼BCD碼的形式將重量信號(hào)傳輸給大屏幕進(jìn)行顯示BCD碼(二到十進(jìn)制編碼)把十進(jìn)制數(shù)的每一位分別寫成二進(jìn)制形式的編碼,稱為二進(jìn)制編碼的十進(jìn)制數(shù),或BCD(BinaryCodedDecimal)編碼。BCD碼編碼方法很多,通常采用8421編碼,這種編碼方法最自然簡(jiǎn)單。其方法使用四位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),從左到右每一位對(duì)應(yīng)的權(quán)分別是23、22、21、20,即8、4、2、1。例如十進(jìn)制數(shù)975的8421碼可以這樣得出975(D)=100101110101(BCD)用四位二進(jìn)制表示一位十進(jìn)制會(huì)多出6種狀態(tài),這些多余狀態(tài)碼稱為BCD碼中的非法碼。BCD碼與二進(jìn)制之間的轉(zhuǎn)換不是直接進(jìn)行的,當(dāng)需要將BCD碼轉(zhuǎn)換成二進(jìn)制碼時(shí),要先將BCD碼轉(zhuǎn)換成十進(jìn)制碼,然后再轉(zhuǎn)換成二進(jìn)制碼;當(dāng)需要將二進(jìn)制轉(zhuǎn)換成BCD碼時(shí),要先將二進(jìn)制轉(zhuǎn)換成十進(jìn)制碼,然后再轉(zhuǎn)換成BCD碼。21

BCD與整數(shù)之間的轉(zhuǎn)換,負(fù)數(shù)的BCD格式與常規(guī)不同。22BCD與雙整型轉(zhuǎn)換雙整型轉(zhuǎn)換與BCD23INVI:整型各位取反NEGI:整型各位取反加1

即得到負(fù)數(shù)24

得到負(fù)數(shù)

CAD、CAW指令25圓整到

最近整數(shù)MD10="100.5"=>RND=>MD20="+100"MD10="-100.6"=>RND=>MD20="-101"MD10="100.6"=>RND=>MD20="+101"MD10="-100.5"=>RND=>MD20="-100"26截去小數(shù)點(diǎn)后數(shù)向上圓整MD10="100.5"=>RND+=>MD20="+101"MD10="-100.5"=>RND+=>MD20="-100"274.計(jì)數(shù)器指令如果S引腳輸入1,則計(jì)數(shù)器值為PV內(nèi)數(shù)值;如果R引腳輸入1,則計(jì)數(shù)器計(jì)數(shù)器值清零;如果CU引腳從0->1,則計(jì)數(shù)值加一,到999為止且保持不變;如果CU引腳從1->0,則計(jì)數(shù)值減一,到零為止且保持不變;2829把數(shù)值12賦給c3。加減計(jì)數(shù)30OPN打開數(shù)據(jù)塊

CDB交換數(shù)據(jù)塊內(nèi)容

LDBLG裝載共享數(shù)據(jù)塊長度

LDBNO裝載共享數(shù)據(jù)塊編號(hào)

LDILG裝載背景數(shù)據(jù)塊長度

LDINO裝載背景數(shù)據(jù)塊編號(hào)5.塊操作指令31打開數(shù)據(jù)塊方式CDB交換數(shù)據(jù)塊內(nèi)容,例如把背景數(shù)據(jù)塊里面的內(nèi)容與共享數(shù)據(jù)塊交換,可以訪問共享數(shù)據(jù)塊,進(jìn)行操作處理。訪問背景數(shù)據(jù)塊時(shí),可以使用DI,也可以使用DB打開數(shù)據(jù)塊。32把共享數(shù)據(jù)塊的內(nèi)容送到背景數(shù)據(jù)塊內(nèi)首先打開共享數(shù)據(jù)塊DBMS;然后從中讀出DBD1176(此處訪問共享數(shù)據(jù)塊,所有使用DBD***);最后,傳送到DID相應(yīng)地址中去(此處訪問背景數(shù)據(jù)塊,所有使用DID***,且不要指定數(shù)據(jù)塊號(hào),因?yàn)樵谡{(diào)用FB時(shí)已經(jīng)指定了數(shù)據(jù)塊);應(yīng)用33LDBLG判斷數(shù)據(jù)塊大小是否合適OPNDB10

//OpendatablockDB10asshareddatablock.LDBLG

//Loadlengthofshareddatablock(lengthofDB10).LMD10

//Valueforcomparisonifdatablockislongenough.<DJCERRO

//JumptoERROjumplabeliflengthislessthanvalue

inMD10.34LDBLG裝載共享數(shù)據(jù)塊長度

LDBNO裝載共享數(shù)據(jù)塊編號(hào)

LDILG裝載背景數(shù)據(jù)塊長度

LDINO裝載背景數(shù)據(jù)塊編號(hào)35DB_CC_STAT為DB4,保存控制臺(tái)激活的信號(hào);同時(shí)把此信號(hào)存放到輸出里。3637CDB解決了在一個(gè)功能塊內(nèi)調(diào)用兩個(gè)共享數(shù)據(jù)塊的問題;否則使用OPNDB1,×××再使用OPNDB2,×××容易出問題。38狀態(tài)·····BRCC1CC0OSOVORSTARLOFC首次檢測(cè)位

*邏輯操作結(jié)果*

狀態(tài)位

或位

溢出位

溢出狀態(tài)保持位

條件碼0

條件碼1

二進(jìn)制結(jié)果位狀態(tài)字表示CPU執(zhí)行指令時(shí)所具有的狀態(tài),用戶程序可以訪問和檢測(cè)狀態(tài)字,并可以根據(jù)狀態(tài)字中的某些位決定程序的走向和進(jìn)程。

396.邏輯控制指令40無條件跳轉(zhuǎn)指令JL:跳轉(zhuǎn)表格JU:無條件跳轉(zhuǎn)41根據(jù)JL后面指令和JL指向標(biāo)簽欄之間的跳轉(zhuǎn)個(gè)數(shù)決定如何跳轉(zhuǎn)。42根據(jù)RLO條件跳轉(zhuǎn)指令43BR很多時(shí)候用于輸出ENO。A I1.0 A I1.2 JCB JOVR //JumpifRLO=1tojumplabelJOVR.CopythecontentsoftheRLObitintotheBRbit.L IW8 //Programscancontinueshereifjumpisnotexecuted.T MW22 JOVR: A I2.1 //ProgramscanresumeshereafterjumptojumplabelJOVR.44根據(jù)狀態(tài)位BR/OV/OS跳轉(zhuǎn)注意此處JO與JOS的區(qū)別,JO只是判斷前面的一個(gè)計(jì)算是否溢出,而JOS則判斷前面所有計(jì)算是否有過溢出。4546根據(jù)運(yùn)算結(jié)果跳轉(zhuǎn)4748如何單步運(yùn)行1,打開online功能塊;(語句表格式)2,設(shè)置運(yùn)行模式為test模式;3,插入斷點(diǎn),單步運(yùn)行。49

可以觀察PLC的寄存器數(shù)值,查看各個(gè)工作區(qū)域變化值。5051525354JUO使用:除以0;

使用非法指令;

浮點(diǎn)數(shù)比較,與無窮大或無窮小比較。55LOOP跳轉(zhuǎn)567.算術(shù)指令(16位整型)+I

ACCU1+ACCU2-I

ACCU2

-ACCU1*I

ACCU1*ACCU2/IACCU2/ACCU1+整型常數(shù)(16,32位)(32位雙整型)+D

ACCU1+ACCU2-D

ACCU2

-ACCU1*D

ACCU1*ACCU2/D

ACCU2/ACCU1MOD取余數(shù)57加法運(yùn)算各種結(jié)果下的狀態(tài)位指示。58L20+200TMW192+I(xiàn)與+的用法59乘法運(yùn)算各種結(jié)果下的狀態(tài)位指示。

60如果運(yùn)算結(jié)果超出變量范圍,如上例里面結(jié)果超出16位的MW184,賦值后出現(xiàn)錯(cuò)誤結(jié)果,因此在乘法運(yùn)算時(shí)尤其注意應(yīng)該考慮結(jié)果會(huì)溢出的情況。此時(shí)可以讀出狀態(tài)字,1011指示結(jié)果超出32767,應(yīng)該賦值給32位整型。61除法運(yùn)算各種結(jié)果下的狀態(tài)位指示。62除法:ACCU2-L/ACCU1-L,然后結(jié)果放到ACCU1-L,而余數(shù)放到ACCU1-H,影響的狀態(tài)位如上頁所示;

所以在上圖中,當(dāng)結(jié)果放置到MW192時(shí),看不到余數(shù),而放到MD196時(shí),可以看到高位的余數(shù)數(shù)值。63ACCU2/ACCU1,余數(shù)放到ACCU1;

L2000

L30

MOD

TMW194

64+R

ACCU1+ACCU2-R

ACCU2

-ACCU1*R

ACCU1*ACCU2/R

ACCU2/ACCU1ABS絕對(duì)值SQR平方SQRT平方根EXP指數(shù)值LN

對(duì)數(shù)值下列角度算術(shù)運(yùn)算:SIN

COS

TAN

ASIN

ACOS

ATAN

65開平方必須是浮點(diǎn)數(shù)格式才可以。666768以e為底數(shù)的指數(shù)值,判斷OV位是否為1,程序是否有溢出、無窮大等。69應(yīng)該只是接受弧度數(shù)的計(jì)算值,也就是說,先把45度轉(zhuǎn)換成。7071符號(hào)S指數(shù)e=E+bias,bias=-127底數(shù)m=2-1~2-23

數(shù)值=(1+m)*2(e-bias)72實(shí)數(shù):100.25,轉(zhuǎn)換為16進(jìn)制為:42C88000,轉(zhuǎn)換為2進(jìn)制為:指數(shù):27+22+20=133底數(shù):2-1+2-4+2-8=0.566406251.56640625*2(133-127)=100.2573L裝載LSTW裝載狀態(tài)字到ACCU1LAR1AR2裝載地址寄存器2的數(shù)值到地址寄存器1中LAR1<D>裝載32位整型數(shù)到(32-bitPointer)地址寄存器1中LAR1裝載ACCU1數(shù)值到地址寄存器AR1中LAR2<D>裝載32位整型數(shù)到(32-bitPointer)地址寄存器2中LAR2裝載ACCU1數(shù)值到地址寄存器2中T傳送TSTW傳送ACCU1到狀態(tài)字TAR1AR2傳送地址寄存器1到地址寄存器2TAR1<D>傳送地址寄存器1到目標(biāo)地址(32-bitPointer)TAR2<D>傳送地址寄存器2到目標(biāo)地址(32-bitPointer)TAR1傳送地址寄存器1到ACCU1TAR2傳送地址寄存器2到ACCU1CAR交換地址寄存器1和地址寄存器28.裝載與傳送指令7475裝載共享數(shù)據(jù)塊的內(nèi)容,放入背景數(shù)據(jù)塊響應(yīng)的單元里面去。76讀取背景數(shù)據(jù)塊的數(shù)值。77FC303LP##SRC_ANY_PTR//SourceDateBlockloadLAR1LD[AR1,P#0.0]//dataTypeandrepeatingfactorTLD0//inANYPointerfileLD[AR1,P#4.0]//DBnumberandidentificationkeyTLD4//inANYPointerfileLW[AR1,P#8.0]//DWnumberTLW8//toANYPointerfileLP##DEST_ANY_PTR//pointerforSourceloadLAR1//andtoARRegisterfileLD[AR1,P#0.0]//dataTypeandrepeatingfactorTLD10//inANYPointerfileLD[AR1,P#4.0]//DBnumberandidentificationkeyTLD14//inANYPointerfileLW[AR1,P#8.0]//DWnumberTLW18//toANYPointerfile789.程序控制指令BE

塊結(jié)束BEC

塊條件結(jié)束BEU

塊無條件結(jié)束CALL

塊調(diào)用CC

塊條件調(diào)用UC

塊無條件調(diào)用CALL

多重背景調(diào)用79塊條件結(jié)束:如果條件不滿足,則直接返回調(diào)用塊。80一般調(diào)用中,一個(gè)FB占用一個(gè)DB,而采用多重背景調(diào)用,則可以多個(gè)FB占用一個(gè)DB,帶來的損失是多添加一個(gè)控制用FB。81上面為普通調(diào)用,下面為多重背景調(diào)用。82通過DP/DPCOUPLER傳輸?shù)臄?shù)據(jù)。直接在兩個(gè)PLC內(nèi)組態(tài)相應(yīng)的數(shù)據(jù)傳輸區(qū)域,然后訪問時(shí)直接讀取或者寫入而不必做其它的組態(tài)。通過DP/DPCOUPLER傳輸?shù)臄?shù)據(jù)。直接在兩個(gè)PLC內(nèi)組態(tài)相應(yīng)的數(shù)據(jù)傳輸區(qū)域,然后訪問時(shí)直接讀取或者寫入而不必做其它的組態(tài)。83DP/DPCOUPLER內(nèi)組態(tài)與數(shù)據(jù)輸入輸出區(qū)域。84在控制用FB內(nèi),把希望控制的器件數(shù)據(jù)類型設(shè)置為FB<N>,此處為FB22,然后就可以在本程序中使用了。85?UC

塊無條件調(diào)用,但是在調(diào)用FB時(shí)不能使用背景數(shù)據(jù)塊。?

所以程序內(nèi)盡量使用CALL指令。86多重背景調(diào)用監(jiān)視8788步驟1,在線打開;2,設(shè)置testoperation;3,單擊需要監(jiān)視得塊右鍵;8910.移位指令90移位無符號(hào)數(shù)9192有符號(hào)數(shù)移位93負(fù)數(shù)移位時(shí)高位添1,正數(shù)直接移位。94移位指令一覽表95循環(huán)移位9697左移254位,每移位32位相當(dāng)于沒有移動(dòng),所以和左移30位類似,又因?yàn)槭茄h(huán)移位,所以相

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論