找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2428|回复: 0
打印 上一主题 下一主题
收起左侧

西门子PLC临时变量L

[复制链接]
跳转到指定楼层
楼主
ID:75926 发表于 2015-4-4 15:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1本地数据堆栈区L是局部变量,L变量仅在调用它的子程序中有效。
不同子程序中的L变量可用同名。如,FC1中有L0.1,FC2中也有L0.1这个变量,而2者间没任何关系、也不会相互冲突。
2不需要做初始化
3 局部变量解释:
L 是局部存储器,作为暂时存储器或给子程序传递参数,L也可以L*.*(如L2.5 是BOOL 量,是第二个字节的第五位),LB,LW,LD来存取,但仅仅在它被创建的块中有效,它也可以在符号表中定义,但只能在各个POU自己的符号表中定义.
4. 全局变量和局部变量在符号寻址编程时,全局变量直接显示符号名,而局部变量在符号前会加上#,采用局部变量编程有很多优势:程序可以功能化移植(减少重复编程量),大程序方便协同作战(把任务分成各个功能块),这是SIEMENS的PLC比较优越性之处。
5  使用时请注意,一定要先赋值,后使用局部变量又称临时本地数据区(L堆栈),位于CPU的工作存储区用于存储程序块(OB、FB、FC)被调用时的临时数据,访问临时数据比访问数据块中的数据更快。
“L是局部变量,只能在局部使用,不能在全局使用。”只是在这个程序块中可以使用的,使用结束后就会自动复位,它不能被其他的程序使用。临时变量的使用原则就是:先赋值,再使用
在S7-300CPU中,每一个优先级的局部数据区的大小是固定的。一般在组织块中调用程序块(FB、FC等),操作系统分配给每一个执行级(组织块OB,一般在OB块执行并调用其它FB、FC)的局部数据区的最大数量为256B(字节),组织块OB自己占去20B或22B,还剩下最多234B可分配给FC或FB。如果块中定义的局部数据的数量大于256字节,该块将不能下载到CPU中。在下载过程中提示错误信息:The?block?could?not?be?copied(该块不能被复制)。如果单击错误信息框中的Detail(详细)按钮,将弹出帮助信息:Incorrect?local?data?length(不正确的局部数据长度)。
在SIMATIC管理器中依次展开你的项目到Blocks(块),右击选中某个块,选择菜单Object?Properties(目标属性)选项。在块的属性对话框中,可以看到块所需要的局部数据字节数(Length长度:Local?Data(局部数据))。
在SIMATIC管理器中选中你的项目的Block(块(文件夹,执行菜单命令Options(选项)/Reference?Data(参考数据)/Display(显示),然后选择Program?Structure(程序结构),即可在参考表中查看局部数据的占用情况。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表