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

S7-300/400PLC临时变量的定义及使用

来源:艾特贸易2017-11-01

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


(1)定义临时变量

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

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

图4-18 临时变量的定义

4-18 临时变量的定义

(2)访问临时变量

在图4-18中,Networkl为一个用符号地址访问临时变量的例子。减运算的结果被存储在临时变量#result中。也可以采用绝对地址来访问临时变量(如T LWO),但这样会使程序的可读性变差,所以最好不要采用绝对地址。

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

局部数据堆栈的查看。

每个程序处理级(例如OB1和它的所有嵌套的块),占用L stack的特定区域,这个区域有容量限制。例如,CPU314可使用L stack中的256B,这意味着OB1OB1调用的所有嵌套的块的局部变量,可使用256B

利用“Reference Data”工具可查看程序所占用的局部数据堆栈的字节数。操作步骤如下。

SIMATIC管理器中选中Block文件夹,先执行菜单命令OptionsReference DataDisplay,然后选择Program Structure选项,即可在参考表内查看局部数据的占用情况,如图4-19~图4-21所示。

图4-19选择参考数据

4-19选择参考数据

图4-20选择程序结构

4-20选择程序结构

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

图4-21 局部数据堆栈的查看

4-21 局部数据堆栈的查看

显示所需字节数。

在块的属性中,可以看到块所需要的局部数据区的字节数,如图4-22和图4-23所示。操作步骤如下。

SIMATIC管理器中,用鼠标右键选中块,然后在菜单中选择命令[ObjectPropertiesl。或在SIMATIC管理器中,用鼠标左键选中块,然后执行菜单命Edit→Object Properties

对于S7-300,操作系统分配给每一个执行级(OB)的局部数据区的最大数量为256 BOB自己占去2022 B,还剩下最多234 B可分配给FCFB。如果块中定义的局部数据的数量大于256 B,该块将不能下载到CPU中。

图4-22选择0B1

4-22选择0B1

图4-23查看字节数

4-23查看字节数