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