局域变量IN,OUT,IN-OUT,TEMP,RETURN这些,请问有什么用?

西门子plc 发布于 1年前 分类:S7-300/400

我刚学西门子PLC编程,有很多不解.
1.地址M我看书上说是中间变量,请问这个诸如M1.0这样的地址,引用后能否传送到上位机?掉电后值是否保持?
2.谁能给我详细讲一下FB和FC的区别?各用在什么场合?我的理解是FC没有存储区,只能引用共享数据块的数据,而FB有自己的私有存储区
3.在用梯形图编程上,软件上面有局域变量IN,OUT,IN-OUT,TEMP,RETURN这些,请问有什么用?它们变义的变量能否被上位机读取?

2个回复

  • plc学习
    plc学习

    1、m是中间变量或内存变量,可以传到上位机,掉电后是否保持看对CPU保持属性的组态,缺省情况下MB0至MB15保持
    2、FB需要背景数据块,但背景数据块也谈不上是私有存储区,也可以在别的程序块中读取或写,对于完成一个特定功能,编写该功能的程序固定的要用到一系列地址,而且其中有的地址是需要STAT的情况下,用FB比较合适
    3、这里这些类型是形参,也就是一些接口参数或临时变量,并不具有实际地址,不能被上位机读取,当你在程序中调用使用到这些形参的编写的程序时就会发现有管脚要求填写具体的实参,如DB,M等

  • plc电工爱好者
    plc电工爱好者

    1、M是中间变量,通常在程序中用做中间标志或存储数据用;上位机如WINCC或HMI 如TP170等可以有选择的读取CPU中的地址区,包括M区;M区根据设置情况可以选择掉电保持的范围,不同的CPU默认保持的数据多少有区别,缺省情况下MB0至MB15保持。
    2、功能块FB和功能FC的主要区别是FB有背景数据块,FC不带背景数据块,但是背景数据块在所属FB外可以象其他共享数据块一样使用。FB调用时也可以不带背景数据块,但是需要无条件调用,如:UC   FB1;FB可以做多重背景调用,FC不可以;FB的参数和数据存入背景数据块,FC无此功能。
    3、局域变量IN,OUT,IN-OUT,TEMP,RETURN用来设置FB 或FC调用时的接口参数,它们属于临时变量L区,该区数据是在调用FB/FC时临时分配的,当调用结束后系统又会给其他调用的块分配临时变量区域,所以该L区的地址是无法一直保持的,所以无法将L区和上位机联系起来。