西門子S7-300_400高級編程培訓教材_內部教材4、間接尋址及地址寄存器指令_第1頁
西門子S7-300_400高級編程培訓教材_內部教材4、間接尋址及地址寄存器指令_第2頁
西門子S7-300_400高級編程培訓教材_內部教材4、間接尋址及地址寄存器指令_第3頁
西門子S7-300_400高級編程培訓教材_內部教材4、間接尋址及地址寄存器指令_第4頁
西門子S7-300_400高級編程培訓教材_內部教材4、間接尋址及地址寄存器指令_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Date:2022-5-5File:PRO2_04E.1SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives間接尋址及地址寄存器指令間接尋址及地址寄存器指令L W AR1, P#200.0-12910#Ini_Value#Par_Pointer#Counter?Date:2022-5-5File:PRO2_04E.2SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation

2、 and Drives STEP 7 中可能的尋址方式中可能的尋址方式 尋址方式尋址方式直接尋址直接尋址間接尋址間接尋址絕對尋址絕對尋址符號尋址符號尋址存儲器間接尋址存儲器間接尋址寄存器間接尋址寄存器間接尋址示例:示例:A I 4.0A Mot_onOPN DBMW10A IMD30A IAR1,P#0.0A AR1,P#0.0L IW10L #NumSP TruntimeL IWNumberL IDAR1,P#5.0T WAR1,P#0.016位指針位指針(DB, T, C)32位指針位指針內部區(qū)域內部區(qū)域32位指針位指針內部區(qū)域內部區(qū)域32位指針位指針交叉區(qū)域交叉區(qū)域Date:2022-5

3、-5File:PRO2_04E.3SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives變量直接尋址變量直接尋址存儲單元位置存儲單元位置 (示例)(示例)I37.4地址地址附加訪問寬度附加訪問寬度字節(jié),字,雙字字節(jié),字,雙字含義含義輸入輸入Q27.7字節(jié),字,雙字字節(jié),字,雙字輸出輸出PIB655字節(jié),字,雙字字節(jié),字,雙字外設輸入外設輸入PQB653字節(jié),字,雙字字節(jié),字,雙字外設輸出外設輸出M55.0字節(jié),字,雙字字節(jié),字,雙字位(位(Bit)存儲器存儲器T114-定

4、時器定時器C13-計數(shù)器計數(shù)器DBX2001.6字節(jié)(字節(jié)(DBB), 字(字(DBW),雙字(雙字(DBD)通過通過DB寄存器尋址的數(shù)據寄存器尋址的數(shù)據DIX406.1字節(jié)(字節(jié)(DIB), 字(字(DIW),雙字(雙字(DID)通過通過DI寄存器尋址的數(shù)據寄存器尋址的數(shù)據L88.5字節(jié)(字節(jié)(LB), 字(字(LW),雙字雙字 (LD)本地數(shù)據堆棧本地數(shù)據堆棧Date:2022-5-5File:PRO2_04E.4SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives

5、DB中地址標識符直接尋址中地址標識符直接尋址打開的數(shù)據塊打開的數(shù)據塊在數(shù)據塊中裝載和傳遞在數(shù)據塊中裝載和傳遞OPN DB 19OPN ValuesOPN DI 20組合指令組合指令(包含包含OPN D DB.)L DBB 1裝載數(shù)據字節(jié)裝載數(shù)據字節(jié)1L DBW 2裝載數(shù)據字裝載數(shù)據字2(字節(jié)字節(jié)2/3)L 5裝載數(shù)字裝載數(shù)字5T DBW 4傳遞到字傳遞到字4L A裝載裝載ASCII字符字符AL DIB28裝載數(shù)據字節(jié)裝載數(shù)據字節(jié)28=I比較比較A DBX 0.0從從0字節(jié)的第字節(jié)的第0位開始掃描位開始掃描L DB19.DBW4從從DB 19中中裝載數(shù)據字裝載數(shù)據字4 L “Values”.Nu

6、mber_1符號訪問變量符號訪問變量 Number_1. DB19具有變量名具有變量名“Values”A DB10.DBX4.7從從DB 10 的第的第4個字節(jié)的第個字節(jié)的第7位開始掃描位開始掃描Date:2022-5-5File:PRO2_04E.5SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives用于用于DB寄存器的指令:寄存器的指令:lCDB:交換交換DB寄存器內容寄存器內容l將將DB寄存器內容裝載到寄存器內容裝載到ACCU1中中 L DBNO (將打開的DB號

7、裝載到ACCU1中)L DINO (將打開的DI號裝載到ACCU1中)l裝載數(shù)據塊長度裝載數(shù)據塊長度L DBLG (將打開的DB的長度/字節(jié)裝載到ACCU1中)L DILG (將打開的DI的長度/字節(jié)裝載到ACCU1中)在程序中分析數(shù)據塊在程序中分析數(shù)據塊DB相關信息相關信息 指令執(zhí)行前:指令執(zhí)行前:指令執(zhí)行后:指令執(zhí)行后:CDB1232424123DB寄存器寄存器DI寄存器寄存器Date:2022-5-5File:PRO2_04E.6SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation a

8、nd Drivesl字格式的字格式的16位指針位指針(用于對用于對DB、T、C進行尋址進行尋址)L 11T MW 60OPN DBMW 60 OPN DB 11l雙字格式的雙字格式的32位指針位指針(用于對用于對I、Q、M.進行尋址進行尋址) L P#24.0 T MD 50 L I W MD50 L IW 24 存儲 訪問 地址 區(qū)域寬度存儲器間接尋址存儲器間接尋址Date:2022-5-5File:PRO2_04E.7SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Driv

9、es用于存儲器間接尋址的指針結構用于存儲器間接尋址的指針結構l16位指針的結構:位指針的結構:為0 . 65 535 之間的無符號整數(shù)0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 015 14 13 12 11 10 9 8 7 6 5 4 3 2 1 02021527146l32位指針的結構位指針的結構(內部區(qū)域):內部區(qū)域):B B B B B B B B B B B B B X X X15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 00 0 0 0 0 0 0 0 0 0 0 0 0 B B B31 30 29 28 27 26 25 24 23 2

10、2 21 20 19 18 17 162022位地址字節(jié)地址(無符號整數(shù))20215未定義l裝載裝載32位指針常量位指針常量(內部區(qū)域內部區(qū)域):):L P#25.3 (P = 指針,字節(jié)地址= 25,位地址:3)Date:2022-5-5File:PRO2_04E.8SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives存儲器間接尋址的特性存儲器間接尋址的特性用于存儲用于存儲16位和位和32位指針的地址區(qū)域:位指針的地址區(qū)域:l位(Bit)存儲區(qū)(絕對尋址或符號尋址)

11、例如: OPN DBMW30,OPN DI“Motor_1” 等。A IMD30,T QDSpeed_1,等)l本地數(shù)據堆棧(絕對尋址或符號尋址,例如: OPN DBLW10,OPN DI#DB_NO等。 A ILD10,T QD#Par_Pointer,等。)l全局(共享) 數(shù)據塊(只能進行絕對尋址,DB必須預先打開,例如: OPN DBDBW0 (覆蓋掉DB寄存器內容!),OPN DIDBW22等。 A IDBD10,T QDDBD22,等。)l背景數(shù)據塊(只能進行絕對尋址,DI必須預先打開,例如: OPN DBDIW20,OPN DIDIW0 (覆蓋掉DI寄存器內容!),等。 A IDI

12、D10, T QDDID22等。)向向FB和和FC傳遞指針的特點傳遞指針的特點l在參數(shù)里傳遞的指針不能直接用于存儲器間接尋址。l用于存儲器間接尋址而傳遞的指針,在訪問之前必須拷貝到臨時變量里去Date:2022-5-5File:PRO2_04E.9SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives間接尋址示例間接尋址示例FC30:間接尋址示例間接尋址示例Network(段)段) 1:使用間接尋址方式打開:使用間接尋址方式打開DB L#dbnumber/ 將將DB號拷貝

13、到號拷貝到MW100TMW100/ OPNDBMW 100/ 打開打開DBNetwork (段)段) 2:循環(huán)刪除循環(huán)刪除LP#18.0/ 將終端地址(將終端地址(DBW18)作為指針作為指針TMD40/ 傳送到傳送到MD 40;L10/ 將循環(huán)計數(shù)器值設置為將循環(huán)計數(shù)器值設置為10next: TMB50/ 傳到傳到MB 50中;中;L0/ 裝載初始值裝載初始值TDBWMD 40/ 傳到傳到DB50中;中;LMD40/ 裝載指針裝載指針LP#2.0/ 并減去并減去2個字節(jié)個字節(jié)-D/ 然后再傳回然后再傳回TMD40/ 到到MD 40;LMB50/ 裝載循環(huán)計數(shù)器裝載循環(huán)計數(shù)器LOOP next

14、/ 減去減去2個字節(jié),條件滿足則跳轉;個字節(jié),條件滿足則跳轉;Date:2022-5-5File:PRO2_04E.10SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives練習練習4.1:用間接尋址的方法進行循環(huán)編程:用間接尋址的方法進行循環(huán)編程-Meas_Value1Meas_Value2Meas_Value9Meas_Value10Meas_Value11#Ini_Value1.02.09.010.011.0 . . .等等。等等。DB4104323640DB中指向

15、地址的指針中指向地址的指針 #Par_Pointer#Counter字節(jié)地址字節(jié)地址Date:2022-5-5File:PRO2_04E.11SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives內部區(qū)域,寄存器間接尋址內部區(qū)域,寄存器間接尋址LAR1 P#10.0 / 設置AR1 AR1: 00000000 0000 0000 0000 0000 0101 0000 + 200L M W AR1, P#200.0存儲區(qū)域 訪問 地址 偏移擴展指令: L MW 210 寬

16、度寄存器 常量lAR 1或或AR2中的內部區(qū)域指針:中的內部區(qū)域指針:B B B B B B B B B B B B B X X X15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 00 0 0 0 0 0 0 0 0 0 0 0 0 B B B31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 162022位地址字節(jié)地址(無符號整數(shù))20215未定義l指令語法規(guī)則:指令語法規(guī)則:Date:2022-5-5File:PRO2_04E.12SIMATIC S7Siemens AG 2001. All rights reserved.SI

17、TRAIN Training for Automation and Drives交叉交叉區(qū)域,寄存器間接尋址區(qū)域,寄存器間接尋址LAR1 P#I10.0 /設置AR1 AR1: 10000001 0000 0000 0000 0000 0101 0000L W AR1, P#200.0 + 200 訪問 地址 偏移擴展指令: L IW 210 寬度寄存器 常量lAR 1或或AR 2中的交叉區(qū)域指針:中的交叉區(qū)域指針: B B B B B B B B B B B B B X X X15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 01 0 0 0 0 R R R 0 0 0

18、 0 0 B B B31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16位地址字節(jié)地址(無符號整數(shù))地址標識符l指令語法規(guī)則:指令語法規(guī)則:Bit 31=0: 內部區(qū)域Bit 31=1: 交叉區(qū)域l地址標識符:地址標識符:000I/O001輸入(PII)010輸出(PIQ)011位(Bit)存儲器 100DB寄存器中的數(shù)據101DB寄存器2中的數(shù)據(DI) 110自有本地數(shù)據111調用塊的LD(本地數(shù)據)Date:2022-5-5File:PRO2_04E.13SIMATIC S7Siemens AG 2001. All rights reserved

19、.SITRAIN Training for Automation and Drives用于裝載地址寄存器的指令用于裝載地址寄存器的指令裝載地址寄存器裝載地址寄存器lLARn (n =1 or 2): 將ACCU1中的內容裝載到ARnlLARn 將中的內容裝載到ARnlLARn P# 將中的地址裝載到ARn:l處理器寄存器: AR1,AR2 (比如: LAR1 AR2 及LAR2 AR1)l32位變量:MD,LD, DBD,DID (比如: L DBD5等)l32位符號變量: 32位全局變量(比如: LAR1 “索引”,等) (全局和局域的) 以及OB,F(xiàn)B及FC的TEMP(臨時)變量 (比如:

20、 LAR1 #Address,等)P# l指向布爾型絕對地址 En.m,An.m,Mn.m,Ln.m,DBXn.m,DIXn.m 指針: (比如: LAR1 P#M5.3, LAR2 P#I3.6,等)l指向本地、符號地址OB: TEMP(臨時)變量 (比如: LAR1 P#Par_Pointer, 等)FB: IN-,OUT-, INOUT-,STAT- 及TEMP- FC:TEMP(臨時)變量(LAR1 P#Loop,等) Date:2022-5-5File:PRO2_04E.14SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN

21、Training for Automation and Drives其它用于地址寄存器的指令其它用于地址寄存器的指令傳送出地址寄存器內容傳送出地址寄存器內容lTARn (n =1 or 2): 從Arn傳送到ACCU1lTARn 從Arn傳送到:l處理器寄存器: AR2 (比如:TAR1 AR2 )l32位絕對地址變量: MDn, LDn, DBDn, DIDn (如TAR2 MD5等)l32位符號變量: 32位全局變量(比如TAR1 “Index”,等) (全局和局域的) 及OB,F(xiàn)B及FC的TEMP(臨時)變量 (比如TAR1 #Address等)地址寄存器內容交換地址寄存器內容交換(Sw

22、ap)指令指令lTAR將地址寄存器AR1和AR2的內容相互交換地址寄存器加指令地址寄存器加指令l+ARn將ACCU1-L內容加到ARnl+ARn P#n.m將內部區(qū)域指針P#n.m加到AR1或AR2中去Date:2022-5-5File:PRO2_04E.15SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives寄存器間接尋址的特性寄存器間接尋址的特性 在在STL/LAD/FBD編輯器內使用編輯器內使用AR1l當訪問FC中的參數(shù)時,如果參數(shù)為復雜數(shù)據類型(ARRAY、ST

23、RUCT、DATE_AND_TIME) ,則AR1寄存器寄存器和DB寄存器寄存器內容將會被覆蓋掉。 l當訪問FB中的INOUT參數(shù)時,如果該INOUT參數(shù)是復雜數(shù)據類型(ARRAY、STRUCT、DATE_AND_TIME),則AR1寄存器寄存器和DB寄存器寄存器內容將會被覆蓋掉。 在裝載地址寄存器和對目標變量進行寄存器間接尋址的時候,不允許在裝載地址寄存器和對目標變量進行寄存器間接尋址的時候,不允許 訪問局部參數(shù)訪問局部參數(shù)在在STL/LAD/FBD編輯器內使用編輯器內使用AR2 l在對FB內部所有參數(shù)和靜態(tài)變量進行尋址的時候,AR2寄存器寄存器和DI寄存器寄存器均用作基址寄存器。如果用戶在

24、FB內部將 AR2或DI覆蓋了,之后就可以訪問該FB專用參數(shù)或靜態(tài)變量。也就是說,未恢復兩個寄存器時不可訪問。l在FC內,對AR2寄存器和DI寄存器沒有限制 Date:2022-5-5File:PRO2_04E.16SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives#ACCU1DB中指向地址的指針中指向地址的指針#AR1#ACCU2-Number1Number2Number9Number10Number111291011 . . .等等。等等。DB4204323640

25、字節(jié)地址字節(jié)地址練習練習4.2:用寄存器間接尋址進行循環(huán)編程:用寄存器間接尋址進行循環(huán)編程Date:2022-5-5File:PRO2_04E.17SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and DrivesPOINTER類型和類型和ANY類型數(shù)據的塊參數(shù)類型數(shù)據的塊參數(shù)地址聲明名稱類型0.0 輸入參數(shù) DB_NumWORD2.0 輸入參數(shù) Area_Pointer DWORD6.0 輸入參數(shù) LengthWORD. . .L #DB_NumT #I_DB_NumOPNDBI_

26、DB_Num.L#Area_PointerLAR1L#Length.FC.分別傳送實際地址的各個信息分別傳送實際地址的各個信息 (STEP 5里的方式):里的方式): DB號號 起始地址起始地址 區(qū)域長度,等。區(qū)域長度,等。缺點:缺點: 程序員必須進行拆分程序員必須進行拆分 在調用期間,不能使用實際地址的符號名在調用期間,不能使用實際地址的符號名 一個地址一個地址(區(qū)域)需要好幾個參數(shù)(區(qū)域)需要好幾個參數(shù) 無一致性檢查糾正無一致性檢查糾正地址聲明.名稱類型0.0輸入Measure_1POINTER. . .8.0輸入Measure_2ANY. . . L P#Measure_1LAR1LWA

27、R1,P#0.0T#I_DB_NumOPNDBI_DB_NumLDAR1,P#2.0LAR1.FC.使用使用POINTER或或ANY類型參數(shù)傳遞類型參數(shù)傳遞 (STEP 7方式):方式): 調用時,程序員可以使用實際地址的符號名調用時,程序員可以使用實際地址的符號名 由由LAD/FBD/STL編輯器拆分成單個信息編輯器拆分成單個信息 一個地址只需要一個參數(shù)一個地址只需要一個參數(shù) 進行一致性檢查糾正進行一致性檢查糾正Date:2022-5-5File:PRO2_04E.18SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Trainin

28、g for Automation and DrivesPOINTER類型的結構和參數(shù)賦值類型的結構和參數(shù)賦值Byte nByte n+2Byte n+4Byte n+1Byte n+3Byte n+5DB號(號(INT)1 O O O _ O R R R _ O O O O _ O B B B (32位交叉區(qū)域指針位交叉區(qū)域指針)B B B B _ B B B B _ B B B B _ B X X X POINTER類類型參數(shù)賦值型參數(shù)賦值l指針顯示指針顯示P#DBn.DBX x.y其中:n= DB號, x= 字節(jié)數(shù), y= 位數(shù) P#DIn .DIXx.y(比如 P#DB5.DBX3.4,

29、P#DI2.DIX10.0,等)P#Zx.y其中: Z=區(qū)域,比如:P,I,Q,M及L(比如P#I5.3,P#M10.0,等)l地址聲明:地址聲明:MD30 (這種情況下,DB號區(qū)域標識符及位地址自動輸入 #Motor_on 到POINTER參數(shù)中)lMotor_1.speed 數(shù)據類型結構:數(shù)據類型結構:POINTERDate:2022-5-5File:PRO2_04E.19SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and DrivesANY數(shù)據類型的結構數(shù)據類型的結構lANY

30、數(shù)據類型指針數(shù)據類型指針Byte nByte n+2Byte n+4DB號號1 O O O _ O R R R _ O O O O _ O B B B B B B B _ B B B B _ B B B B _ B X X X16#10Data type復制系數(shù)復制系數(shù)Byte n+6Byte n+8數(shù)據類型數(shù)據類型標識符標識符VOID00BOOL01BYTE02CHAR03WORD04INT05DWORD06DINT07REAL08DATE09TOD0ATIME0BS5TIME0CDT0ESTRING13參數(shù)類型參數(shù)類型標識符標識符BLOCK_FB17BLOCK_FC18BLOCK_DB19

31、BLOCK_SDB1ACOUNTER1CTIMER1DlANY參數(shù)類型指針參數(shù)類型指針Byte nByte n+2Byte n+416#0000定時器,計數(shù)器或塊的號定時器,計數(shù)器或塊的號16#10參數(shù)類型參數(shù)類型16#0001Byte n+6Byte n+816#0000Date:2022-5-5File:PRO2_04E.20SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and Drives ANY數(shù)據類型的參數(shù)賦值數(shù)據類型的參數(shù)賦值指針顯示:指針顯示:lP#數(shù)據塊數(shù)據塊.位地址

32、位地址 類型號類型號P#DB10.DBX12.0 REAL 20指向DB10中的一個區(qū)域:從 Byte 12開始的20個REAL類型的地址 (ARRAY1.20 OF REAL)P#I 10.0 BOOL 8指向IB10里的一個8位區(qū)域地址聲明:地址聲明:l絕對地址:絕對地址:DB5.DBD10數(shù)據類型:DWORD,復制系數(shù):1 DB號:5,指針:P#DB5.DBX10.0IW32類型:WORD,WF: 1,DB 號:0,指針: P#I 32.0T35類型: TIMER,編號:35l符號地址:符號地址:#Motor_1.speed使用基本數(shù)據類型,編譯器建立正確“Pump”.Start的數(shù)據類

33、型,復制系數(shù)1以及指針注意事項注意事項符號(ARRAY、STRUCT、STRING、UDT)賦值時,數(shù)據類型標識符02(BYTE)以及區(qū)域字節(jié)長度只能由編譯器來建立,并輸入到ANY指針。Date:2022-5-5File:PRO2_04E.21SIMATIC S7Siemens AG 2001. All rights reserved.SITRAIN Training for Automation and DrivesANY類型間接參數(shù)分配類型間接參數(shù)分配使用臨時變量對使用臨時變量對ANY數(shù)據類型進行實際參數(shù)賦值數(shù)據類型進行實際參數(shù)賦值l在調用塊中聲明在調用塊中聲明ANY數(shù)據類型臨時變量數(shù)據類型臨時變量例如: temp aux_pointer ANY l用指針信息對用指針信息對ANY臨時變量進行賦值臨時變量進行賦值例如:LAR1P#aux_pointer/ 裝載輔助指針地址L B#16#10/ 裝載標識符10TLB AR1,P#0.0

溫馨提示

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

評論

0/150

提交評論