最近網(wǎng)上有個(gè)帖子討論S7-200的局部變量區(qū)(L區(qū))的使用問(wèn)題。有人說(shuō)“L區(qū)留值沒(méi)有官方作保”,“官方應(yīng)該明確指出L的用法”。
遇到問(wèn)題我喜歡從手冊(cè)和軟件的幫助中找答案,在S7-200的手冊(cè)中找到下面括號(hào)中的一段話,講得非常清楚:
(CPU)“為11個(gè)實(shí)體中的每一個(gè)保留局部存儲(chǔ)器:當(dāng)從主程序開(kāi)始時(shí),為1個(gè)主程序、8個(gè)子程序嵌套級(jí)別;當(dāng)從中斷程序開(kāi)始時(shí),為1個(gè)中斷和1個(gè)子程序嵌套級(jí)別。局部存儲(chǔ)器有一個(gè)局部范圍,在該范圍內(nèi)它只能供其相關(guān)的程序?qū)嶓w使用,其他程序?qū)嶓w無(wú)法訪問(wèn)?!?BR>例如在主程序中調(diào)用子程序1、子程序2,在子程序1中調(diào)用子程序11,在子程序2中調(diào)用子程序21,子程序1、2屬于同一嵌套級(jí)別,子程序11和子程序21屬于同一嵌套級(jí)別。
各嵌套級(jí)別(即上述11個(gè)實(shí)體)之間的L區(qū)是相互獨(dú)立;
同一嵌套級(jí)別的程序的L區(qū)是公用的,后調(diào)用的同一級(jí)子程序的局部數(shù)據(jù)會(huì)覆蓋上一次調(diào)用的子程序的局部數(shù)據(jù)。










