西門子PLC臨時變量L
西門子PLC臨時變量L
1本地數(shù)據(jù)堆棧區(qū)L是局部變量,L變量僅在調(diào)用它的子程序中有效,。
不同子程序中的L變量可用同名,。如,F(xiàn)C1中有L0.1,FC2中也有L0.1這個變量,,而2者間沒任何關(guān)系,、也不會相互沖突。
2不需要做初始化
3 局部變量解釋:
L 是局部存儲器,,作為暫時存儲器或給子程序傳遞參數(shù),,L也可以L*.*(如L2.5 是BOOL 量,是第二個字節(jié)的第五位),,LB,,LW,LD來存取,,但僅僅在它被創(chuàng)建的塊中有效,,它也可以在符號表中定義,但只能在各個POU自己的符號表中定義.
4. 全局變量和局部變量在符號尋址編程時,,全局變量直接顯示符號名,,而局部變量在符號前會加上#,采用局部變量編程有很多優(yōu)勢:程序可以功能化移植(減少重復編程量),,大程序方便協(xié)同作戰(zhàn)(把任務分成各個功能塊),這是SIEMENS的PLC比較*性之處,。
5 使用時請注意,一定要先賦值,,后使用局部變量又稱臨時本地數(shù)據(jù)區(qū)(L堆棧),,位于CPU的工作存儲區(qū)用于存儲程序塊(OB、FB,、FC)被調(diào)用時的臨時數(shù)據(jù),,訪問臨時數(shù)據(jù)比訪問數(shù)據(jù)塊中的數(shù)據(jù)更快。
“L是局部變量,只能在局部使用,不能在全局使用,。”只是在這個程序塊中可以使用的,,使用結(jié)束后就會自動復位,它不能被其他的程序使用,。臨時變量的使用原則就是:先賦值,,再使用
在S7-300CPU中,每一個優(yōu)先級的局部數(shù)據(jù)區(qū)的大小是固定的,。一般在組織塊中調(diào)用程序塊(FB,、FC等),操作系統(tǒng)分配給每一個執(zhí)行級(組織塊OB,,一般在OB塊執(zhí)行并調(diào)用其它FB,、FC)的局部數(shù)據(jù)區(qū)的i大數(shù)量為256B(字節(jié)),,組織塊OB自己占去20B或22B,還剩下z多234B可分配給FC或FB,。如果塊中定義的局部數(shù)據(jù)的數(shù)量大于256字節(jié),,該塊將不能下載到CPU中。在下載過程中提示錯誤信息:The?block?could?not?be?copied(該塊不能被復制),。如果單擊錯誤信息框中的Detail(詳細)按鈕,,將彈出幫助信息:Incorrect?local?data?length(不正確的局部數(shù)據(jù)長度)。
在SIMATIC管理器中依次展開你的項目到Blocks(塊),,右擊選中某個塊,,選擇菜單Object?Properties(目標屬性)選項。在塊的屬性對話框中,,可以看到塊所需要的局部數(shù)據(jù)字節(jié)數(shù)(Length長度:Local?Data(局部數(shù)據(jù))),。
在SIMATIC管理器中選中你的項目的Block(塊(文件夾,執(zhí)行菜單命令Options(選項)/Reference?Data(參考數(shù)據(jù))/Display(顯示),,然后選擇Program?Structure(程序結(jié)構(gòu)),,即可在參考表中查看局部數(shù)據(jù)的占用情況。