|
西门子s7-200主程序同时调用多个子程序的话,子程序中相同的局部变量会不会冲突?如何修改局部变量地址?
答:其实局部变量也可以说是内部变量,就是你在子程序这个程序块中定义的变量,它只在这个子程序块的内部使用时有效,而在其他地方不能调用到这个变量,因此即便2个子程序中都有相同的内部变量名字,他们依然不会冲突!
比如这个图片就是西门子200plc中,我做的一个很简单的子程序,可以看到我建立了3个bool型的变量和1个int型的变量,他们的地址是L0.0--L0.2,LW1。---这里的L区其实就是局部存储器区域的表示符号!---且这个地址是你建立变量符号和类型后,编程软件根据你建立符号的先后顺序自动分配的!
再来看一个图片:
这个图片我在SBR_1也就是子程序1中再次建立了3个变量,可以看到在SBR_1中地址也是L0.0-L0.2,也就充分说明了局部变量只在本程序块内部有效的特点!
文中的图片只是用来说明局部变量的地址关系,所以我建立的全部都是IN类型的变量,实际做程序块的时候,需要根据子程序块的实际情况去分配,比如OUT应该建立在OUT类型中! |
|