西門子s7-300手冊集和400的尋址官方教程_第1頁
西門子s7-300手冊集和400的尋址官方教程_第2頁
西門子s7-300手冊集和400的尋址官方教程_第3頁
西門子s7-300手冊集和400的尋址官方教程_第4頁
西門子s7-300手冊集和400的尋址官方教程_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、S7-300 和 S7-400 尋址Addressing for S7-300 and S7-400Single - FAQEdition (2010 年-9 月)本文對 S7-300, S7-400 PLC 編程過程中,所涉及的尋址方式方法,做了簡單介紹及簡單示例。STEP7, 編程,尋址,間接尋址,S7-300, S7-400Key WordsSTEP7, Programming, Addressing, Indirection addressing, S7-300,S7-400IA&DT Service & Support22摘 要目錄S7-300 和 S7-400 尋址1S7-300/

2、400 系統(tǒng)145區(qū)域2 S7-300/400 PLC尋址方式2.1 直接尋址55566912絕對地址:符號尋址:間接尋址2.2.1器間接尋址寄存器間接尋址FB/FC的指針參數(shù)傳遞IA&DT Service & Support221 S7-300/400 系統(tǒng)區(qū)域S7 CPU 的系統(tǒng)取數(shù)據(jù)。區(qū)域分為下表中列出的地址區(qū)域。在程序中可以根據(jù)相應(yīng)的地址直接讀IA&DT Service & Support22地址區(qū)域可以的地址S7 符號(IEC)描述過程映像輸入表輸入(位)I循環(huán)掃描周期開始時,CPU 從輸入模板讀輸入值并到該區(qū)域輸入(字節(jié))IB輸入(字)IW輸入(雙字)ID過程映像輸出表輸出(位)Q

3、在循環(huán)掃描周期中,程序計算輸出值并到該區(qū)域。循環(huán)掃描周期結(jié)束時,CPU 將計算結(jié)果寫入相應(yīng)的輸出模板輸出(字節(jié))QB輸出(字)QW輸出(雙字)QD位器器(位)M該區(qū)域用于程序的中間計算結(jié)果器(字節(jié))MB器(字)MW器(雙字)MD定時器定時器 (T)T該區(qū)域提供定時器的計數(shù)器計數(shù)器 (C)C該區(qū)域提供計數(shù)器的數(shù)據(jù)塊數(shù)據(jù)塊,用OPN DB打開DB數(shù)據(jù)塊中包含了程序的信息??梢远x為所有邏輯塊共享 (shared DBs) 或指定給一個特定的 FB 或 SFB 做背景數(shù)據(jù)塊(instance DB)。數(shù)據(jù)位DBX數(shù)據(jù)字節(jié)DBB數(shù)據(jù)字DBW數(shù)據(jù)雙字DBD數(shù)據(jù)塊,用OPN DI打開DI數(shù)據(jù)位DIX數(shù)據(jù)字

4、節(jié)DIB數(shù)據(jù)字DIW2S7-300/400 PLC 尋址方式2.1 直接尋址在 STEP7 程序中可以使用輸入輸出信號(I/O),位區(qū)(M),計數(shù)器(C),計時器(T),數(shù)據(jù)塊(DB)以及功能塊(FB)等地址。你可以直接這些絕對地址,但是如果給絕對地址以符號(助記符)程序?qū)⒏鬃x懂(例如 Motor_A_On, 或者根據(jù)你的公司或者工程中的代碼使用別的標(biāo)識符),而一個你的用戶程序中的地址也就可以用一個符號來2.1.1 絕對地址:。絕對地址由一個地址標(biāo)識符和器位置組成。例如 I 0.0,Q 1.7,PIW 256,PQW 512,MD 20,T 15,C 16,DB1.DBB 10,L1 0.0

5、等。2.1.2 符號尋址:如果給絕對地址分配符號可使程序易讀而簡化故障查找。STEP7 能自動翻譯符號名為要求的絕對地址。如果你準(zhǔn)備用符號名數(shù)組,結(jié)構(gòu),數(shù)據(jù)塊,局部變量,邏輯塊及用戶自定義數(shù)據(jù)類型,那么你必須在此之前先分配符號名給絕對地址。例如, 你可以分配符號名Motor_On給地址 Q 4.0,然后在程序語句中使用符名Motor_On作為地址。IA&DT Service & Support22數(shù)據(jù)雙字DID局部數(shù)據(jù)局部數(shù)據(jù)位L該區(qū)域包含塊執(zhí)行時該塊的臨時數(shù)據(jù)。L 堆棧還提供用于傳遞塊參數(shù)及梯形邏輯網(wǎng)絡(luò)中間結(jié)果的器局部數(shù)據(jù)字節(jié)LB局部數(shù)據(jù)字LW局部數(shù)據(jù)雙字LD外設(shè)地址 (I/O)外設(shè)輸入字節(jié)

6、PIB主站及分布式從站(DP)外設(shè)輸入輸出區(qū)域允許直接存取輸入外設(shè)輸入字PIW外設(shè)輸入雙字外設(shè)地址 (I/O)外設(shè)輸出字節(jié)PQB輸出外設(shè)輸出字PQW外設(shè)輸出雙字PQD如需在程序中顯示 DB 里所定義的符號,可以給該 DB 塊定義一個符號。不能在符號表給 DB塊中某地址單獨(dú)定義符號。2.2 間接尋址間接尋址分為器間接尋址和寄存器間接尋址,間接尋址的指針分為 16 位指針和 32 位指針,而 32 位指針又分為區(qū)域?qū)ぶ放c交叉區(qū)域?qū)ぶ贰?.2.1器間接尋址16 位指針:16 位地址指針用于定時器、計數(shù)器、程序塊(DB、FC、FB)的尋址,16 位指針被看作一個無符號整數(shù)(065535),它表示定時器

7、(T)、計數(shù)器(C)、數(shù)據(jù)塊(DB、DI)或程序塊(FB、FC)的號,16 位指針的格式如下:圖 1尋址格式表示為: 區(qū)域標(biāo)識符 16 位地址指針 例如使一個計數(shù)器向上計數(shù)表示為:CUC MW 上述指令中,C為區(qū)域標(biāo)識符,而MW20為一個 16 位指針。16 位指針器間接尋址舉例:/用于定時器L T A L SD/1MW0 I0.0 S5T#10STMW0/將 1 傳送到 MW0/如果 I0.0 = True/T1 開始計時上述指令可等同于:IA&DT Service & Support22A LSDI0.0 S5T#10ST1/用于打開 DB 塊L TOPN20LW20 DBLW20/打開

8、DB20/程序調(diào)用L TUC2LW20 FCLW20/調(diào)用 FC2L TUC41DBW30 FBDBW30/調(diào)用 FB4132 位指針:32 位地址指針用于 I、Q、M、L、數(shù)據(jù)塊等器中位、字節(jié)、字及雙字的尋址,32 位的地址指針可以使用一個雙字表示,第 0 位第 2 位作為尋址操作的位地址,第 3位第 18 位作為尋址操作的字節(jié)地址,第 19 位第 31 位沒有定義,32 位指針的格式如下:圖 2器 32 指針僅用于區(qū)域?qū)ぶ?。IA&DT Service & Support22器標(biāo)識符 32 位地址指針 尋址格式表示為: 地址例如寫入一個 M 的雙字表示為:TMD LD0 MD為區(qū)域標(biāo)識符及寬

9、度,而 LD0 為一個 32 位指針。32 位區(qū)域指針可用常數(shù)表示, 表示為 P# 字節(jié).位 。如常數(shù)P#10.3為指向第 10 個字節(jié)第 3 位的指針常數(shù)。若把一個 32 位整型轉(zhuǎn)換為字節(jié)指針常數(shù),從上述指針格式可以看出,應(yīng)要把該數(shù)(或是乘 8)即可。3 位如:L 3LD0L#100/Accu0 裝入 32 位整形 100SLDT/3 位/LD0 得到 P#100.0 指針常數(shù)32 位器間接尋址舉例:/DB 塊間接尋址舉例OPN OPN L SLDTDB DI 43MD13/打開 DB1。/打開 DB3,最多可以同時打開兩個 DB 塊。/裝載 4 到累加器 1 中。/累加器 1 中數(shù)值3 位

10、。20/將邏輯操作結(jié)果傳送到 MD20 中,MD20/包含地址指針為 P#4.0。/將地址指針 P#20.0 裝載到 MD24 中。L T L T L L+ILP#20.0MD 320 MD DBWDBW24/320 轉(zhuǎn)換指針為 P#40.0 并裝載到 MD28 中。28MD 20MD 24/裝載 DB1.DBW4。/裝載 DB1.DBW20。/相加/裝載 DB3.DBW40。DIWMD 28IA&DT Service & Support22-IT JZ/相減。/將運(yùn)算結(jié)果傳送到 DB3.DBW2 中。DIW2m1/M L TTOPN L NEXT: LL=I JC LL+D T LLOOPm

11、1: JCN LL/D+ Tm2:器連續(xù)區(qū)域操作0MW MD DB100TMW DBW/初始化 MW100 和 MD4。10041/打開 DB1。/循環(huán)操作的次數(shù),100 次。/將循環(huán) 100 次裝載到 MW100 中,固定格式。MW 2MD 4100/進(jìn)行比較的數(shù)值于 MW2。/與 DB 塊中的值進(jìn)行比較,開始地址為 DBW0。/如果數(shù)值相等跳到 m1。m1 MDP#2.04/將地址指針加 2(每個相鄰的字地址相差 2)。MD MW NEXT FPm2MD P#2.04100/次數(shù)減 1,跳回 next,如果 MW100 等于 0,跳/出循環(huán)操作 LOOP 指令,LOOP 指令固定格式。M1

12、0.0/如果數(shù)值相當(dāng),MD4 指針的數(shù)據(jù),將轉(zhuǎn)換為數(shù)組/的位置(地址值/P#2.0)+1)值于 MD8 中。4L#1 MDNOP802.2.2 寄存器間接尋址通過 CPU 的地址寄存器 AR1 和 AR2 尋址方式稱為寄存器間接尋址,分為和交叉區(qū)域?qū)ぶ?。使用寄存器間接尋址方式的程序語句包含以下部分:區(qū)域間接尋址IA&DT Service & Support22指令,地址標(biāo)識符,地址寄存器標(biāo)識符,偏移量AR1,AR2 均為 32 位寄存器,寄存器間接尋址只使用 32 位指針。與 ARx 相關(guān)的指令有:LAR1, LAR2, TAR1, TAR2, +AR1, +AR2, LAR1 AR2, CA

13、R 等。以上指令使用請參考手冊:開始 - (所有)程序 - SIMATIC -STEP 7 Sement List for S7-300 and S7-400?;螯c(diǎn)擊該手冊中文版ation - English -區(qū)域寄存器間接尋址指針格式與器間接尋址的 32 位指針相同,第 0 位第 2 位作為尋址操作的位地址,第 3位第 18 位作為尋址操作的字節(jié)地址,第 19 位第 31 位沒有定義,32 位指針的格式如下:圖 3間接尋址表示為:器標(biāo)識符 ARx, 地址偏移量 如:LMWAR1, P#2.0MW為被寬度,AR1為地址寄存器 1,P#2.0 為地址偏移量。的器及區(qū)域寄存尋址舉例:/DB 塊寄

14、存器尋址OPNDBLAR1 P#10.01/打開 DB1。/將指針 P#10.0 裝載到地址寄存器 1 中。IA&DT Service & Support22L LAR1 L+ILAR2 TDBW MDDBWAR1, P#12.0 20AR1, P#0.0/將 DBW22 裝載到累加器 1 中。/將于 MD20 中的指針裝載到地址寄存器 1 中。/將 DBW 裝載到累加器 1 中,地址于 MD20 中。P#40.0DBWAR2, P#0.0/將指針 P#40.0 裝載到地址寄存器 2 中。/運(yùn)算結(jié)果傳送到 DBW40 中。/DI、DO 區(qū)寄存器尋址L LAR1 A=P#8.7/裝載指向第 8

15、字節(jié)第 7 位的指針值到累加器 1/累加器 1 中的指針裝載到 AR1/查詢 I8.7 的信號狀態(tài)/給輸出位 Q10.0 賦值IQAR1, P#0.0AR1, P#1.1交叉區(qū)域寄存器間接尋址包含有器區(qū)域信息的指針,稱為交叉區(qū)域指針。同樣,交叉區(qū)域指針為 32 位,寄存器間接尋址要使用地址寄存器 AR1 或 AR2。32 位交叉區(qū)域指針,018 位格式與 32 位區(qū)域指針相同,1923 位,2730 位未定義,31 位為交叉區(qū)域指針標(biāo)識位。2426 位是000001010011100101110111區(qū)域地址標(biāo)識,8 中組合表示 8 種表示沒有地址區(qū),例如 P#12.0; 表示輸入地址區(qū) I,

16、例如 P#I12.0;表示輸出地址區(qū) Q,例如 P#Q12.0;表示標(biāo)志位地址區(qū) M,例如 P#M12.0;器區(qū)域:表示數(shù)據(jù)塊(DB)中的數(shù)據(jù),例如 P#DB1.DBX12.0表示數(shù)據(jù)塊(DI)中的數(shù)據(jù),例如 P#DI1.DIX12.0 表示區(qū)域地址區(qū) L,例如 P#L12.0;表示調(diào)用程序塊的區(qū)域地址區(qū) V,例如 P#V12.0;交叉區(qū)域指針格式如下:IA&DT Service & Support22圖 4交叉區(qū)域指針常數(shù)表達(dá)為:P#器 字節(jié) . 位例如: P#Q10.5P#DB1.DBX32.0/指向 Q 區(qū)第 10 字節(jié)第 5 位的指針常/指向 DB1 區(qū)域的第 32 字節(jié)第 0 位的指

17、針常數(shù)交叉區(qū)域?qū)ぶ繁硎緸椋簩挾?ARx, 偏移量 例如: LW為W AR2, P#1.0 寬度,AR2 為地址寄存器 2,P#1.0 為偏移量。交叉區(qū)域間接尋址舉例:/M LLAR1L T區(qū)P#M20.01234W AR1, P#2.0/I LLAR2L T區(qū)P#I0.0W AR2, P#0.0 MW02.2.3 FB/FC 的指針參數(shù)傳遞IA&DT Service & Support22在使用 FB/FC 形參傳遞指針參數(shù)時,16 位、32 位指針是可用的,但 PO類型也是常見的類型,因?yàn)楦奖?。ER 與 ANY 指針16 指針用于參數(shù)傳遞例如:/編寫一個 FC,作用是啟動條件滿足后延時 3

18、 秒輸出閉合信號/定義 FC 的形參如下:圖 5/程序如下:L T A L SD A=#Poer16LW#Start0/將 16 位指針裝入 LW0/Start 參數(shù) = True 時/計時 3 秒S5T#3S T LW 0T LW 0#Motor/計時器計時到/輸出 Motor = True*32 指針用于參數(shù)傳遞/編寫一個 FC,作用是將輸入 DB 塊指定的區(qū)域 (實(shí)數(shù)) 求出平均值/定義形參如下:圖 6/程序如下:LT#DB_NoLW0/裝載 DB 塊號至 LW0/并打開該 DB 塊OPN DB LW 0IA&DT Service & Support22LT#Data_1stLD2/裝載

19、第一個要計算的實(shí)數(shù)的 32 指針至 LD0LT0LD8/將和初始為 0L NEXT:L L+RT L L+DT#LenT/長度/實(shí)數(shù)的個數(shù)裝載至 LW6, 并且進(jìn)入一個 LOOP 循環(huán)LW6DBD LD 2/LD2 指針位置的實(shí)數(shù)LD8/與和相加/結(jié)果存到和中/裝入指針LDLD P#4.082/指針加 4 個字節(jié)/結(jié)果仍存入 LD2,此時 LD2 指針指向下一個實(shí)數(shù)LD2LLW6/循環(huán)計數(shù)/LOOP 循環(huán)的結(jié)束LOOP NEXTLITD#Len/將實(shí)數(shù)個數(shù)由轉(zhuǎn)成 REALDTRT LTAK/R TLD12LD8/和除以實(shí)數(shù)格式的實(shí)數(shù)個數(shù)#Average_out/得到平均值,通過 Average

20、_out 輸出POER 數(shù)據(jù)類型及參數(shù)傳遞IA&DT Service & Support22POER 是一種用于傳遞指針的形參數(shù)據(jù)類型,長度為 6 個字節(jié)。用于向被調(diào)用的函數(shù) FC及函數(shù)塊 FB 傳遞復(fù)合數(shù)據(jù)類型(如 ARRAY、STRUCT 及 DT 等)的實(shí)參。在被調(diào)用的函數(shù) FC 及函數(shù)塊 FB格式如下:可以間接實(shí)參的器。圖 7POER 參數(shù)中,數(shù)據(jù)區(qū)含義如下:表 1ER 指針是一個 DB 塊地址,DB 塊號區(qū)域應(yīng)當(dāng)是所若數(shù)據(jù)區(qū)為 B#16#84,那么表示該 PO指向的 DB 塊號(類型)并且不為零。(請參考 ANY 數(shù)據(jù)類型舉例)ANY 數(shù)據(jù)類型及參數(shù)傳遞ANY 是一種用于傳遞指針的形

21、參數(shù)據(jù)類型,可視為 POER 類型的擴(kuò)展,較 POER 類型為復(fù)雜,長度為 10 個字節(jié),增加的 4 字節(jié),最高字節(jié) (Byte 0) 固定為 B#16#10,第二字節(jié) (Byte 1) 為 ANY 指針?biāo)赶騾^(qū)域的數(shù)據(jù)類型,而接下來的 2 字節(jié) (BYTE 3, 4) 組合為一個,為 ANY 指針?biāo)付▍^(qū)域的長度,稱為重復(fù)系數(shù) (Repetition factor) 。其余 6 字節(jié)作用與 POER 類型相同。IA&DT Service & Support2216 進(jìn)制代碼數(shù)據(jù)區(qū)簡單描述B#16#81I輸入?yún)^(qū)B#16#82Q輸出區(qū)B#16#83M標(biāo)志位B#16#84DB數(shù)據(jù)塊B#16#85D

22、I背景數(shù)據(jù)塊B#16#86L區(qū)域數(shù)據(jù)區(qū)B#16#87V上一級賦值的區(qū)域數(shù)據(jù)格式如下圖 8其中數(shù)據(jù)類型含義為:IA&DT Service & Support22數(shù)據(jù)類型代碼十六進(jìn)制代碼數(shù)據(jù)類型簡單描述B#16#00NIL空B#16#01BOOL位B#16#02BYTE8 位字節(jié)B#16#03CHAR8 位字符B#16#04WORD16 位字B#16#0516 位整形B#16#06DWORD32字B#16#07D32整形B#16#08REAL32 位浮點(diǎn)B#16#09DATEEC 日期B#16#0ATIME_OF_DAY(TOD)24 小時時間B#16#0BTIMEEC 時間B#16#0CS5TI

23、MESIMATIC 時間B#16#0EDATE_AND_TIME(DT)時鐘B#16#13STRING字符串表 2編程舉例:/冒泡排序程序,算法原理請參考相關(guān)資料/此例程僅提供存于 DB 塊中的類型數(shù)據(jù)排序/結(jié)果為數(shù)據(jù)由小到大排列,保存DB 塊中/FC3 塊,形參定義如下:圖 9/輸入?yún)?shù) Data(Any 類型);輸出參數(shù) Error(類型)/若輸出參數(shù) Error 不為 0, 則說明排序未進(jìn)行,/Error = 1, Data(ANY 類型)輸入指針無效/Error = 2, Data(ANY 類型)輸入指針地址非 DB 地址/Error = 3, Data(ANY 類型)輸入指針指定區(qū)域

24、類型非類型SETSAVELT0#Error/將輸入 ANY 指針Data_In到 LB0LB9LP#DataIA&DT Service & Support22B#16#17BLOCK_FBFB 號B#16#18BLOCK_FCFC 號B#16#19BLOCK_DBDB 號B#16#1ABLOCK_SDBSDB 號B#16#1CCOUNTER計數(shù)器B#16#1DTIMER定時器LAR1L T L T LTD AR1,P#0.0LD0D AR1,P#4.0LD4W AR1,P#8.0LW8/ANY 指針 BYTE0 是 B#16#10LLB0LB#16#10=IJCN ERR1/輸入數(shù)據(jù)區(qū)是否為

25、DB 塊LLB6LB#16#84=IJCN ERR2/類型為LLB1LB#16#5=IJCN ERR3/打開輸入 DB 塊OPN DB LW 4/數(shù)據(jù)起始地址去掉數(shù)據(jù)區(qū)標(biāo)識部分L L ADTLD6DW#16#LD10/計算最后一個單元指針保存至 LD10IA&DT Service & Support22L L*I T L-DLW22LDL#214SLD 3LLD+D10TLD10/外循環(huán)計數(shù) LW20,循環(huán)次數(shù)為(數(shù)據(jù)個數(shù)-1)次L L-ILW12NXT2: TLW20LLD10LAR1LLW20/嵌套循環(huán)計數(shù) LW18,循環(huán)次數(shù)為(LW20)次 NXT1: TLW18TAR1LP#2.0-D LAR1/后一單元數(shù)據(jù)小于前一單元數(shù)據(jù)? LDBW AR1,P#2.0LDBW AR1,P#0.0IJCN L1/否,交換 2 單元數(shù)據(jù)LDBW AR1,P#2.0IA&DT Service & Supp

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論