找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6516|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

【S7-300】局部數(shù)據(jù)堆棧使用指南【精】

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:26188 發(fā)表于 2015-5-27 23:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式


局部數(shù)據(jù)堆棧L堆棧保存有:
1、塊的本地?cái)?shù)據(jù)的臨時(shí)變量
2、組織塊的啟動(dòng)信息
3、關(guān)于傳送參數(shù)的信息
4、梯形圖程序中邏輯的中間結(jié)果
      當(dāng)對(duì)組織塊編程時(shí),可以聲名臨時(shí)變量(TEMP)只在塊執(zhí)行期間可用,然后它將被覆蓋。在首次訪問(wèn)本地?cái)?shù)據(jù)堆棧之前,必須對(duì)本地?cái)?shù)據(jù)初始化。除此之外,每個(gè)組織塊還需要20個(gè)字節(jié)的本地?cái)?shù)據(jù)來(lái)存儲(chǔ)它們的啟動(dòng)信息。
      CPU只能為當(dāng)前執(zhí)行的塊的臨時(shí)變量(本地?cái)?shù)據(jù))提供有限的存儲(chǔ)空間。該存儲(chǔ)器區(qū)本地?cái)?shù)據(jù)堆棧的大小取決于CPU。本地?cái)?shù)據(jù)堆棧被各優(yōu)先級(jí)均分(默認(rèn))。也就是說(shuō)每個(gè)優(yōu)先級(jí)都有它自己的本地?cái)?shù)據(jù)區(qū),從而保證了較高的優(yōu)先級(jí)和它們的OB自身的本地?cái)?shù)據(jù)有可用的空間。
      下圖用一個(gè)實(shí)例給出了優(yōu)先級(jí)的本地?cái)?shù)據(jù)分配,其中在L堆棧中,OB1被OB10中斷,而后者又被OB81中斷。





注意事項(xiàng):
    1、當(dāng)使用臨時(shí)變量時(shí),請(qǐng)牢記它們僅在相關(guān)塊內(nèi)有效或僅可作為在該塊中調(diào)用的其它塊的以前本地?cái)?shù)據(jù)使用。尤其,當(dāng)在關(guān)閉并重新打開(kāi)塊時(shí),不能確保臨時(shí)變量具有與完成上一次塊調(diào)用時(shí)相同的數(shù)值。當(dāng)調(diào)用塊時(shí),臨時(shí)變量被定義為未定值,且當(dāng)在塊中初次使用臨時(shí)變量時(shí),必須重新初始化。
    2、OB和它相關(guān)的塊中所有的臨時(shí)變量(TEMP)都保存在L堆棧中。如果使用了過(guò)多的嵌套的層,在執(zhí)行塊時(shí),L堆?赡軙(huì)溢出。
    3、如果超出一個(gè)L堆棧的允許大小,CPU將切換到STOP模式。
    4、測(cè)試程序中的L堆棧(臨時(shí)變量)。
    5、同步錯(cuò)誤OB的本地?cái)?shù)據(jù)需求也必須加以考慮。

分配本地?cái)?shù)據(jù)給優(yōu)先級(jí)
    本地?cái)?shù)據(jù)堆棧中,并不是每個(gè)優(yōu)先級(jí)都需要同樣大小的存儲(chǔ)空間。在STEP 7中,通過(guò)分配參數(shù),可以為S7-400 CPU和CPU 318的各個(gè)優(yōu)先級(jí)分配不同大小的本地?cái)?shù)據(jù)區(qū)。任何不需要的優(yōu)先級(jí)都可以將其取消。這樣S7-400 CPU和CPU 318中其它優(yōu)先級(jí)的存儲(chǔ)器區(qū)便增大了。在程序執(zhí)行期間,取消激活的OB將被忽略,以節(jié)省循環(huán)時(shí)間。
    而對(duì)于其它的S7-300 CPU,每個(gè)優(yōu)先級(jí)被分配了固定大小的本地?cái)?shù)據(jù)(256個(gè)字節(jié)),不能對(duì)其修改。






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表