发表于:2012/12/18 8:25:48
#0楼
最近网上有个帖子讨论S7-200的局部变量区(L区)的使用问题。有人说“L区留值没有官方作保”,“官方应该明确指出L的用法”。
遇到问题我喜欢从手册和软件的帮助中找答案,在S7-200的手册中找到下面括号中的一段话,讲得非常清楚:
(CPU)“为11个实体中的每一个保留局部存储器:当从主程序开始时,为1个主程序、8个子程序嵌套级别;当从中断程序开始时,为1个中断和1个子程序嵌套级别。局部存储器有一个局部范围,在该范围内它只能供其相关的程序实体使用,其他程序实体无法访问。”
例如在主程序中调用子程序1、子程序2,在子程序1中调用子程序11,在子程序2中调用子程序21,子程序1、2属于同一嵌套级别,子程序11和子程序21属于同一嵌套级别。
各嵌套级别(即上述11个实体)之间的L区是相互独立;
同一嵌套级别的程序的L区是公用的,后调用的同一级子程序的局部数据会覆盖上一次调用的子程序的局部数据。
[/URL] [/URL]
遇到问题我喜欢从手册和软件的帮助中找答案,在S7-200的手册中找到下面括号中的一段话,讲得非常清楚:
(CPU)“为11个实体中的每一个保留局部存储器:当从主程序开始时,为1个主程序、8个子程序嵌套级别;当从中断程序开始时,为1个中断和1个子程序嵌套级别。局部存储器有一个局部范围,在该范围内它只能供其相关的程序实体使用,其他程序实体无法访问。”
例如在主程序中调用子程序1、子程序2,在子程序1中调用子程序11,在子程序2中调用子程序21,子程序1、2属于同一嵌套级别,子程序11和子程序21属于同一嵌套级别。
各嵌套级别(即上述11个实体)之间的L区是相互独立;
同一嵌套级别的程序的L区是公用的,后调用的同一级子程序的局部数据会覆盖上一次调用的子程序的局部数据。
[/URL] [/URL]
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/