西门子step7程序编辑器变量声明区

作者:老电工时间:2015-11-26 22:52:25

西门子step7程序编辑器变量声明区

1、打开FC块后,在视窗的上方的小窗口中有个名为“Interface”的节点;

2、在“Interface”的节点下面,有“IN”、“OUT”、“IN_OUT”、“TEMP”等子节点。定义变量就对应写如入相应的子节点里。

如果还找不到,是不是隐藏起来了,用鼠标移动到菜单栏下面一点,鼠标的箭头符号变成一个类似"+"时,按住左键往下拉。

附, 有关STEP7局部变量的问题?

我是西门子的初学者,想请教一个问题:在STEP7功能或功能块中,所谓的接口是局部变量吗?为什么在IN 和 OUT 以及IN_OUT中只能定义名称、数据类型等,而不能定义地址? RETURN 和STAT具体又是指什么啊?在这几个地方定义变量如何应用,有什么区别?希望能给以详细的说明,先谢过了。
 
问题补充:
STAT静态变量的使用问题

答案:
STAT静态变量,只有功能块FB有,也是FB和FC的一个最大的区别。静态变量在其对应FB块执行完后数据会保存,而临时变量TEMP在对应FB块执行完后数据就清除。特别提示一点:如上升沿和下降沿等必须采用静态变量,所以当你不确定以后是否会用到上升沿或下降沿,或不确定是否会因调用某些系统功能块等而需要用到多重背景的时候,建议使用FB.因为多重背景也只能在静态变量中定义。


我认为有些是不准确的:

“……他就是在FB中的变量,和IN  OUT  in-out不同的是上面三个和OB都有关系,但是stat就只是纯和fb有关,你想,你编写一个FB程序的时候,里面有用到之前OB中没有的变量比如说m0.0,而且之个M0.0又只在这个FB种起作用,对OB没有任何影响,那么,这个就是STAT,静态变量,保留在相关的背景数据块中……”

1:IN  OUT  in-out 只是块的输入输出引脚,没有和OB有关系或没关系的说法,OB可以调用FB,FB也可以调用FB

2:STAT变量在FB块中声明,存在于FB对应的背景DB中,据我目前所知通过指定DB地址在程序中是可以使用该STAT变量的。如果FB有多个数据背景,那么在该FB中声明的STAT变量就存在多个数据块中,名字一样,参数不同而已。适用于那种控制过程一样,仅仅是参数不同的对象(如很多教材中讲到的汽油机和柴油机)。但如果一个FB有很多不同参数(如SFB4 TON 系统功能,在程序中可能有几十上百次的调用),那就要有很多背景数据和他们对应,就会很麻烦。

为解决此问题,就引入了多重背景的概念,多重背景其实也很简单,在调用这个块的时候,对着块点右键选择“更改为多实例调用”,按语法规定输入名字(名字取得好会让程序阅读性很强,如调用SFB4 TON,给电机一启动延时用,则你可以取名为Motor1_OnDelayTimer),确定后你会发现,在你现在的FB块的STAT中多了一个以你刚刚输入的为名字的变量还带加号,点开加号,你会发现里面就是被你调用的块的背景数据,书上关于多重背景废话了一堆,其实如上你就完成了多重背景的应用。

3:M0.0是M标志位,怎么会是STAT变量呢?STAT一定存在于FB块的背景数据块(DB)中。

4:不同的OB功能也不一样,但至少OB1是少不了的,没有在组织块OB中调用的程序是不会执行的。只要PLC正常运行,OB1就在按周期循环执行,被其调用的FB块也在按周期循环执行,一个静态变量的值不同,可能使程序运行的结果不同,但绝对不会影响程序本身的执行,除非你这个静态变量是用来做诸如调用SFC46 STP等的操作。

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 西门子plc