电工学习网

 找回密码
 立即注册
查看: 2283|回复: 0
打印 上一主题 下一主题

西门子S7-200调用多个含有相同局部变量的子程序起冲突怎么办?

[复制链接]
跳转到指定楼层
楼主
发表于 2020-5-19 13:52:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
西门子s7-200主程序同时调用多个子程序的话,子程序中相同的局部变量会不会冲突?如何修改局部变量地址?
答:其实局部变量也可以说是内部变量,就是你在子程序这个程序块中定义的变量,它只在这个子程序块的内部使用时有效,而在其他地方不能调用到这个变量,因此即便2个子程序中都有相同的内部变量名字,他们依然不会冲突!
西门子S7-200调用多个含有相同局部变量的子程序起冲突怎么办?
比如这个图片就是西门子200plc中,我做的一个很简单的子程序,可以看到我建立了3个bool型的变量和1个int型的变量,他们的地址是L0.0--L0.2,LW1。---这里的L区其实就是局部存储器区域的表示符号!---且这个地址是你建立变量符号和类型后,编程软件根据你建立符号的先后顺序自动分配的!
再来看一个图片:
西门子S7-200调用多个含有相同局部变量的子程序起冲突怎么办?
这个图片我在SBR_1也就是子程序1中再次建立了3个变量,可以看到在SBR_1中地址也是L0.0-L0.2,也就充分说明了局部变量只在本程序块内部有效的特点!
文中的图片只是用来说明局部变量的地址关系,所以我建立的全部都是IN类型的变量,实际做程序块的时候,需要根据子程序块的实际情况去分配,比如OUT应该建立在OUT类型中!

回复

使用道具 举报

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

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-27 19:15

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

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