IN---------变量是外部输入的,只能被本程序块读,不能被本程序块写; OUT-------是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写; IN_OUT--- 输入输出变量 本程序块和其他程序都可以读写这个引脚的值。 TEMP -----临时变量,顾名思义是暂时存储数据的变量。这些临时的数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。 STAT-------在PLC运行期间始终被存储。S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。
上面的描述,看明白了没?
你们可以问问自己的同事,有几个人真正理解了的?
如果你玩过高级语言编程应该就很容易理解了,其实很简单一个是值类型,一个是引用类型罢了.
向块传递参数 函数块 (FB) 和函数 (FC) 有三种不同接口类型: ● IN ● IN/OUT ● OUT 函数块和函数通过 IN 和 IN/OUT 接口类型接收参数。块对这些数据进行处理,此后,通 过 IN/OUT 和 OUT 接口类型将返回值传回调用者。 用户程序采用以下两种方法中的某一种传递参数。
传值 用户程序以“传值”(call-by-value) 方式将参数传递给某个函数时,用户程序会将实际参数值复制给块的 IN 接口类型的输入参数。该操作期间,被复制值要求使用额外存储空间。
当用户程序调用该块时,会复制这些值。 传引用 用户程序以“传引用”(call-by-reference) 方式向某个函数传递参数时,用户程序将引用IN/OUT 接口类型的实参地址,不进行值复制操作。该操作过程不需要额外的存储空间。
当用户程序调用该块时,会引用实际参数的地址。