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)勢:程序可以功能化移植(減少重復(fù)編程量),大程序方便協(xié)同作戰(zhàn)(把任務(wù)分成各個功能塊),這是SIEMENS的PLC比較*性之處。
5 使用時請注意,一定要先賦值,后使用局部變量又稱臨時本地數(shù)據(jù)區(qū)(L堆棧),位于CPU的工作存儲區(qū)用于存儲程序塊(OB、FB、FC)被調(diào)用時的臨時數(shù)據(jù),訪問臨時數(shù)據(jù)比訪問數(shù)據(jù)塊中的數(shù)據(jù)更快。
“L是局部變量,只能在局部使用,不能在全局使用。"只是在這個程序塊中可以使用的,使用結(jié)束后就會自動復(fù)位,它不能被其他的程序使用。臨時變量的使用原則就是:先賦值,再使用
在S7-300CPU中,每一個優(yōu)先級的局部數(shù)據(jù)區(qū)的大小是固定的。一般在組織塊中調(diào)用程序塊(FB、FC等),操作系統(tǒng)分配給每一個執(zhí)行級(組織塊OB,一般在OB塊執(zhí)行并調(diào)用其它FB、FC)的局部數(shù)據(jù)區(qū)的zui大數(shù)量為256B(字節(jié)),組織塊OB自己占去20B或22B,還剩下zui多234B可分配給FC或FB。如果塊中定義的局部數(shù)據(jù)的數(shù)量大于256字節(jié),該塊將不能下載到CPU中。在下載過程中提示錯誤信息:The?block?could?not?be?copied(該塊不能被復(fù)制)。如果單擊錯誤信息框中的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ù)的占用情況。
聯(lián)系我們
上海翰粵自動化系統(tǒng)有限公司 公司地址:上海市松江區(qū)思賢路2399弄137號 技術(shù)支持:化工儀器網(wǎng)掃一掃 更多精彩
微信二維碼
網(wǎng)站二維碼