您现在的位置是:首页 > PLC技术 > PLC技术

STEP 7临时变量的定义及使用

来源:艾特贸易2017-08-17

简介(1) 定义临时变量 在使用临时变量之前,必须在块的变量声明表中进行定义,在 TEMP 行中输入变量名和数据类型,临时变量不能赋予初值。 当完成一个 TEMP 行后,按 Enter 键,一个新的

    (1)定义临时变量

    在使用临时变量之前,必须在块的变量声明表中进行定义,在TEMP行中输入变量名和数据类型,临时变量不能赋予初值。

    当完成一个TEMP行后,按Enter键,一个新的TEMP行添加在其后。LStack的绝对地址由系统赋值并在Address栏中显示。在功能FC1的局部变量声明列表中定义了一个临时变量result,如图5-13所示。

   (2)访问临时变量

    在图5-13中,Network 1为一个用符号地址访问临时变量的例子。加运算的结果被存储在临时变量# result中。当然,也可以采用绝对地址来访问临时变量(如T LW0),由于这样会使程序的可读性变差,所以最好不要采用绝对地址。

临时变量的定义和使用

    5-13    临时变量的定义和使用

    在引用局部变量时,如果在块的变量声明表中有这个符号名,STEP 7自动在局部变量名之前加一“#”号。如果要访问与局部变量重名的全局变量(在符号表内声明),则必须使用双引号(如“symbol name”),否则,编辑器会自动在符号前加上“#”号,当作局部变量使用。因为程序编辑器在检查全局符号表之前先检查块的变量声明表。

    ①查看局部数据堆栈的占用情况。每个程序处理级(如OB1和它的所有嵌套的块),占用L stack的特定区域,这个区域有容量限制。例如,CPU 314可使用L Stack中的256 B,这意味着OB1OB1调用的所有嵌套的块的局部变量,可使用256 B

    SIMATIC管理器中选中Block文件夹,执行菜单命令Options(选项)→ReferenceData(参考数据)→Display(显示),然后选择Program Structure单选项,如图5-14所示,即可在参考表内查看局部数据的占用情况。

    程序执行过程中,如果所使用的局部数据超出了最大限额,则CPU进入STOP模式,并将错误信息STOP caused by error when allocating local data记入diagnosticsbuffer(诊断缓冲区)中。

    ②显示所需字节数。在块的属性中,用户可以看到块所需要的局部数据区的字节数,如图5-15所示。在SIMATIC管理器中,用鼠标右键选中块,然后在菜单中选择Object Properties(目标属性)选项。或在SIMATIC管理器中,用鼠标左键选中块,然后执行菜单命令Edit(编辑)→Qbject Properties(目标属性)选项。

查看局部数据堆栈的占用

    5-14    查看局部数据堆栈的占用

    对于S7-300,操作系统分配给每一个执行级(OB)的局部数据区的最大数量为256 BOB自己占去20 B22 B,还剩下最多234 B可分配给FCFB。如果块中定义的局部数据的数量大于256 B,该块将不能下装到CPU中。在下装过程中将出现错误提示:The block could notbe copied。如果单击错误信息框中的Details按钮,将弹出帮助信息:Incorrectlocal data length

查看块所需字节数

    5-15    查看块所需字节数