西門子STL語言案例_第1頁
西門子STL語言案例_第2頁
西門子STL語言案例_第3頁
西門子STL語言案例_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、.STL案例1:數(shù)值到位的對應(yīng)1. LAR1 P#SetValue /#SetValue為輸入,WORD型TAR2+AR1A 【AR1,P#1.0】= #Q_Adress.OutPut.Q_Pos1 /Q_Adress為UDT, OutPut為結(jié)構(gòu)體A 【AR1,P#1.1】= #Q_Adress.OutPut.Q_Pos2同理,位到數(shù)值的對應(yīng)也是一樣的處理方法。STL案例2:存儲區(qū)地址指針16位地址指針(應(yīng)用于T/C/DB/DI/FB/FC等的號) -L 11T MW20A I2.1L S5T#10S SE TMW20 /T11/用于定時器L MW20L 1+IT MW22A I2.2 CU

2、 CMW22 /FC12/用于計數(shù)器L 12T LW20 UC FCLW20 /FC12/用于FCOPN DBLW20 /DB12/用于DBSTL案例3:存儲區(qū)地址指針32位地址指針OPN DB1 /打開共享數(shù)據(jù)塊OPN DI3 /打開背景數(shù)據(jù)塊,最多同時打開兩個DB塊 -L 4SLD 3T MD20 /L P#20.0T MD24 /L 320T MD28 /L DBWMD20 /DB1.DBW4L DBWMD24 / DB1.DBW20+IT DIWMD28 / DB3.DBW40轉(zhuǎn)換為指針為P#4.0 將指針P#20.0存儲在MD24中 轉(zhuǎn)換為指針為P#40.0,存在MD28中STL案例

3、4:存儲區(qū)地址指針32位地址指針,與LOOP指令配合操作,某一DB塊中與MW2相等的第一個數(shù)的位置L 0T MW100T MD4OPN DB1L 100NEXT: T MW100L MW2L DBWMD4=I= M10.0A M10.0JC m1L MD4L P#2.0+DT MD4L MW100LOOP NEXTm1: FP M10.0JNC m2 L MD4 L P#2.0 /D+ 1 T MD8STL案例5:寄存器間接尋址32位內(nèi)部區(qū)域指針使用示例OPN DB1LAR1 P#10.0L DBWAR1,P#12.0LAR1 MD20L DBWAR1,P#0.0+ILAR2 P#40.0T

4、DBWAR2,P#0.0STL案例6:寄存器間接尋址32位交叉區(qū)域指針使用示例LAR1 P#M20.0A AR1,P#1.1 /注意格式,M21.1 -= Q1.2L P#I40.0 LAR2L WAR2,P#0.0 /T MW60注意格式STL案例7:Point數(shù)據(jù)類型指針使用示例Point指針占用48位地址空間,主要用于向被調(diào)用的函數(shù)FC/FB傳遞復(fù)合數(shù)據(jù)類型(如ARRAY、STRUCT、UDT等)的實參,在被調(diào)用函數(shù)的FC/FB內(nèi)部可以間接訪問實參的存儲器。輸入首地址,求多個浮點數(shù)的平均值。CALL FC3In_Data:=P#M100.0 /Point型NO :=4 /Int型 OUT

5、_VAL :=MD20內(nèi)部程序如下L 0T #ADD_TEMP /臨時變量清零LAR1 P#In_Data /或L P#In_Data ; LAR1 L 0L WAR1,P#0.0 /DB塊號或0=I /判斷是否是DB塊數(shù)據(jù)JC M1T #BLOCK_NOOPN DB#BLOCK_NOM1: L DAR1,P#2.0 /第一個數(shù)據(jù)的起始地址 LAR1L 0L #NO=IJC ENDNO: T #NO_TEMPL DAR1,P#0.0L #ADD_TEMP+DT #ADD_TEMPL #NO_TEMPLOOP NOL #ADD_TEMPL #NODTR/RT #OUT_VALEND: NOP 0

6、多背景調(diào)用時注意地址偏移STL案例8:Any數(shù)據(jù)類型指針使用示例與Point指針相比,Any類型指針可以表示一段長度的數(shù)據(jù),例如:P#DB1.DBX0.0 BOOL 16,也可以選擇直接賦值,如DB1.DBW0。 輸入Any指針地址,求多個浮點數(shù)的平均值。CALL FC13In_Data:=P#DB1.DBX0.0 REAL 8 OUT_VAL:=MD20內(nèi)部程序如下L 0T #ADD_TEMPL P#In_Data LAR1L BAR1,P#1.0 /若數(shù)據(jù)類型不是REAL,則跳轉(zhuǎn)到END L B#16#8 /代表REAL數(shù)據(jù)類型的代號DJC END L 0L WAR1,P#4.0 /Any指針DB號或0=IJC M1T #BLOCK_NOOPN DB#BLOCK_NOM1: L WAR1,P#2.0 /Any指針數(shù)據(jù)長度 T #Data_LENL DAR1,P#6.0 /Any指針第一個數(shù)據(jù)起始地址 LAR1L # Data_LENNO: T #DATA_NOL DAR1,P#0.0L ADD_TEMP

溫馨提示

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

評論

0/150

提交評論