技术论坛

为了加深大家对局部变量存储器的理解,附程序

作者 主题
侠客

经验值: 921
发帖数: 361
精华帖: 0
主题:为了加深大家对局部变量存储器的理解,附程序


只看楼主 楼主 2010-12-02 10:04:23
局部存储器是一种在子程序中临时使用的存储器,从子程序返回后,这些存储器中的数据即丢失。但是,如果将L寄存器设置为IN或OUT,那么再调用子程序时这些L 寄存器可以与调用者进行数据交换。使用L来编程可以使得子程序具有更好的通用性和移植性,或者说带参量的子程序如同一个指令,执行过程是独立的,随处可以使用而不必考虑其执行过程中与其它寄存器发生冲突,觉得好斑竹请加精!呵呵!


main
网络1
LD SM0.0
= L60.0
LD V0.0
= L63.7
LD L60.0
CALL SBR_0:SBR0, L63.7, VW10, VD20, Q0.0, VW30, VD40
网络2
LD SM0.0
= L60.0
LD V0.0
= L63.7
LD L60.0
CALL SBR_1:SBR1, L63.7, VW10, VD20, Q0.1, VW300, VD400

SBR_0
网络1
LD #l:L0.0
AW= #h:LW1, 5
AR= #f:LD3, 10.0
= #n:L7.0
MOVW 50, #b:LW8
MOVR 60.0, #m:LD10

SBR_1
网络1
LD #l:L0.0
AW= #h:LW1, 5
AR= #f:LD3, 10.0
= #n:L7.0
MOVW 500, #b:LW8
MOVR 600.0, #m:LD10
恋”是个很强悍的字,它的上半部取自“变态”的“变”,而下半部取自“变态”的“态”。。。。。。
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=771124&b_id=3&s_id=0&num=20

侠士

经验值: 1423
发帖数: 881
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 1楼 2010-12-02 10:08:42
程序在哪里啊?
我爱PLC
以下网友喜欢您的帖子:

  
侠士

经验值: 1231
发帖数: 716
精华帖: 2
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 2楼 2010-12-02 10:19:26
楼主得把这个主题弄好,否则对不起这个标题!
 
以下网友喜欢您的帖子:

  
侠客

经验值: 921
发帖数: 361
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 楼主 3楼 2010-12-02 10:44:57
在状态表里把v0.0,vw10,vd20分别写入1,5,10.0 监控一下,SBR_0与SBR_1里的L7.0,LW8,LD10的值是不是不一样。
恋”是个很强悍的字,它的上半部取自“变态”的“变”,而下半部取自“变态”的“态”。。。。。。
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 4楼 2010-12-02 12:33:07
楼主,你不把程序导出,要我们手写局部变量表,谈何容易!
难怪说:“程序在哪里?”
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1423
发帖数: 881
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 5楼 2010-12-02 13:10:02
楼主可以把你的程序压缩,这样我们就可以完整的看到你的程序了!不需要搞成语句。
我爱PLC
以下网友喜欢您的帖子:

  
侠客

经验值: 921
发帖数: 361
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 楼主 6楼 2010-12-02 13:55:40
西门子网站是基于IE内核的,我的IE浏览器不好用了,上传附件不了。抱歉。

恋”是个很强悍的字,它的上半部取自“变态”的“变”,而下半部取自“变态”的“态”。。。。。。
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 7楼 2010-12-02 15:26:52
不用上传什么的。
文件>导出>……这里就可以导出成文本文。然后文本文可以在论坛上粘贴。
我们看到文本文后复制全部代码,保存成*.awl文件又可以导入了。
导入之后就跟你的源程序一样了。
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1423
发帖数: 881
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 8楼 2010-12-03 09:12:20
quote:以下是引用芳季在2010-12-02 15:26:52的发言:
不用上传什么的。
文件>导出>……这里就可以导出成文本文。然后文本文可以在论坛上粘贴。
我们看到文本文后复制全部代码,保存成*.awl文件又可以导入了。
导入之后就跟你的源程序一样了。

导不了啊?
我爱PLC
以下网友喜欢您的帖子:

  
侠士

经验值: 1231
发帖数: 716
精华帖: 2
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 9楼 2010-12-03 12:27:21
quote:以下是引用在路上之愚公在2010-12-03 09:12:20的发言:
quote:以下是引用芳季在2010-12-02 15:26:52的发言:
不用上传什么的。
文件>导出>……这里就可以导出成文本文。然后文本文可以在论坛上粘贴。
我们看到文本文后复制全部代码,保存成*.awl文件又可以导入了。
导入之后就跟你的源程序一样了。

导不了啊?

你可以导出*.awl文件,然后用记事本打开就可以粘贴到论坛上,而我们下载的话则再反向操作就可以了!
 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2224
发帖数: 687
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 10楼 2010-12-03 13:22:57
截个图发来呗?
学习中
以下网友喜欢您的帖子:

  
侠客

经验值: 921
发帖数: 361
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 楼主 11楼 2010-12-03 14:54:18
应同志们的强烈要求,现发导出的txt文本文件
ORGANIZATION_BLOCK 主程序:OB1
TITLE=程序注释
VAR
l:BOOL;
h:WORD;
f:INT;
n:DWORD;
v:REAL;
END_VAR
BEGIN
Network 1
LD SM0.0
= L60.0
LD V0.0
= L63.7
LD L60.0
CALL SBR0, L63.7, VW10, VD20, Q0.0, VW30, VD40
Network 2
LD SM0.0
= L60.0
LD V0.0
= L63.7
LD L60.0
CALL SBR1, L63.7, VW10, VD20, Q0.1, VW300, VD400
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCK SBR_0:SBR0
TITLE=子程序注释
VAR_INPUT
l:BOOL;
h:WORD;
f:REAL;
END_VAR
VAR_OUTPUT
n:BOOL;
b:WORD;
m:REAL;
END_VAR
BEGIN
Network 1 // 网络标题
// 网络注释
LD L0.0
AW= LW1, 5
AR= LD3, 10.0
= L7.0
MOVW 50, LW8
MOVR 60.0, LD10
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCK SBR_1:SBR1
TITLE=子程序注释
VAR_INPUT
l:BOOL;
h:WORD;
f:REAL;
END_VAR
VAR_OUTPUT
n:BOOL;
b:WORD;
m:REAL;
END_VAR
BEGIN
Network 1 // 网络标题
// 网络注释
LD L0.0
AW= LW1, 5
AR= LD3, 10.0
= L7.0
MOVW 500, LW8
MOVR 600.0, LD10
Network 2 // 网络标题
// 网络注释
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序注释
BEGIN
Network 1 // 网络标题
// 网络注释
END_INTERRUPT_BLOCK

恋”是个很强悍的字,它的上半部取自“变态”的“变”,而下半部取自“变态”的“态”。。。。。。
以下网友喜欢您的帖子:

  
侠客

经验值: 921
发帖数: 361
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 楼主 12楼 2010-12-07 08:28:12
把v0.0,vw10,vd20分别写入1,5,10.0 监控一下
恋”是个很强悍的字,它的上半部取自“变态”的“变”,而下半部取自“变态”的“态”。。。。。。
以下网友喜欢您的帖子:

  
侠圣

经验值: 2224
发帖数: 687
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 13楼 2010-12-07 10:47:47
看不懂啊,能不能详细点
学习中
以下网友喜欢您的帖子:

  
游民

经验值: 116
发帖数: 63
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 14楼 2010-12-08 16:43:40
真是看不明白。
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1423
发帖数: 881
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 15楼 2011-01-04 10:56:06
quote:以下是引用adeyan在2010-12-03 12:27:21的发言:
quote:以下是引用在路上之愚公在2010-12-03 09:12:20的发言:
quote:以下是引用芳季在2010-12-02 15:26:52的发言:
不用上传什么的。
文件>导出>……这里就可以导出成文本文。然后文本文可以在论坛上粘贴。
我们看到文本文后复制全部代码,保存成*.awl文件又可以导入了。
导入之后就跟你的源程序一样了。

导不了啊?

你可以导出*.awl文件,然后用记事本打开就可以粘贴到论坛上,而我们下载的话则再反向操作就可以了!

我怎么导不进去,反向操作不了啊
我爱PLC
以下网友喜欢您的帖子:

  
侠士

经验值: 1423
发帖数: 881
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 16楼 2011-01-04 10:59:40
我在文本上保存时没找到AWL的格式
我爱PLC
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 17楼 2011-01-04 11:58:45
先保存在TXT格式。然后再用资源管理器前置修改成AWL。
 
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 18楼 2011-01-04 12:33:18
为此。我也转一个贴给大家研究研究。
《关于局部变量存储器的理解 》
http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=3&a_id=643451&s_id=0&num=32#anch
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1423
发帖数: 881
精华帖: 0
回复:为了加深大家对局部变量存储器的理解,附程序


只看楼主 19楼 2011-01-04 15:06:38
quote:以下是引用芳季在2011-01-04 11:58:45的发言:
先保存在TXT格式。然后再用资源管理器前置修改成AWL。

我打开了资源管理器,也找到了保存的TXT格式的那文本,但是没找到修改为AWL的东西。
我爱PLC
以下网友喜欢您的帖子:

  
收起
为了加深大家对局部变量存储器的理解,附程序
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。