您现在的位置是:首页 > PLC技术 > PLC技术
S7-300/400PLC临时变量的定义及使用
来源:艾特贸易2017-11-01
简介(1) 定义临时变量 在使用临时变量之前,必须在块的变量声明表中进行定义,在 TEMP 行中输入变量名和数据类型,临时变量不能赋予初值。 当完成一个临时变量行后,按 Enter 键,一个新
(1)定义临时变量
在使用临时变量之前,必须在块的变量声明表中进行定义,在TEMP行中输入变量名和数据类型,临时变量不能赋予初值。
当完成一个临时变量行后,按Enter键,一个新的TEMP行添加在其后。L stack的绝对地址由系统赋值并在Address栏中显示。如图4-18所示,在功能FC1的局部变量声明列表内定义了一个临时变量result。
图4-18 临时变量的定义
(2)访问临时变量
在图4-18中,Networkl为一个用符号地址访问临时变量的例子。减运算的结果被存储在临时变量#result中。也可以采用绝对地址来访问临时变量(如T LWO),但这样会使程序的可读性变差,所以最好不要采用绝对地址。
在引用局部变量时,如果在块的变量声明表中有这个符号名,STEP 7自动在局部变量名之前加一“#”号。如果要访问与局部变量重名的全局变量(在符号表内声明),则必须使用双引号(如“symbol name”),否则,编辑器会自动在符号前加上“#”号,当做局部变量使用。因为编辑器在检查全局符号表之前先检查块的变量声明表。
①局部数据堆栈的查看。
每个程序处理级(例如OB1和它的所有嵌套的块),占用L stack的特定区域,这个区域有容量限制。例如,CPU314可使用L stack中的256B,这意味着OB1及OB1调用的所有嵌套的块的局部变量,可使用256B。
利用“Reference Data”工具可查看程序所占用的局部数据堆栈的字节数。操作步骤如下。
在SIMATIC管理器中选中Block文件夹,先执行菜单命令Options→Reference Data→Display,然后选择Program Structure选项,即可在参考表内查看局部数据的占用情况,如图4-19~图4-21所示。
图4-19选择参考数据
图4-20选择程序结构
程序执行过程中,如果所使用的局部数据超出了最大限额,则CPU进入STOP模式,并将错误信息“STOPcaused by error when allocating local data’’记入diagnosticsbuffer(诊断缓冲区)中。
图4-21 局部数据堆栈的查看
②显示所需字节数。
在块的属性中,可以看到块所需要的局部数据区的字节数,如图4-22和图4-23所示。操作步骤如下。
在SIMATIC管理器中,用鼠标右键选中块,然后在菜单中选择命令[ObjectPropertiesl。或在SIMATIC管理器中,用鼠标左键选中块,然后执行菜单命Edit→Object Properties。
对于S7-300,操作系统分配给每一个执行级(OB)的局部数据区的最大数量为256 B。OB自己占去20或22 B,还剩下最多234 B可分配给FC或FB。如果块中定义的局部数据的数量大于256 B,该块将不能下载到CPU中。
图4-22选择0B1
图4-23查看字节数
点击排行
