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