您现在的位置是:首页 > 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,这意味着OB1及OB1调用的所有嵌套的块的局部变量,可使用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 B。OB自己占去20 B或22 B,还剩下最多234 B可分配给FC或FB。如果块中定义的局部数据的数量大于256 B,该块将不能下装到CPU中。在下装过程中将出现错误提示:The block could notbe copied。如果单击错误信息框中的Details按钮,将弹出帮助信息:Incorrectlocal data length。
图5-15 查看块所需字节数
点击排行
