在S7-300/400的编程中,变量表是用来监控或修改程序中某个或者某些变量值的工具。那么在S7-200 Smart的编程中,变量表是否也具有相同的功能呢?今天这篇文章,我们和大家谈谈S7-200 Smart的变量表。
与S7-300/400的编程不同,在S7-200 Smart中,变量表用来定义属于特定程序组织单元(POU)的局部变量,这些变量只对特定的POU有效。
变量表中定义的变量,相当于该POU的形参。
比如,子程序(Subroutine)SRB_0默认的变量表如下图所示:
该子程序仅有一个“EN”的输入参数,调用SBR_0的界面如下:
很多时候,我们需要子程序有自己的形参。在不同的调用环境下,通过给形参赋予不同的值,就可以实现不同的控制功能。
例如:有两台电机都需要实现起保停控制功能,我们可以把起保停功能写成一个子程序SBR_1。
SBR_1有两个输入参数:I_Start和I_Stop及一个输出参数Q_Motor,通过对输入及输出参数赋不同的值,就可以实现对两台电机的控制。
这里,子程序SBR_1的参数:I_Start、I_Stop和Q_Motor被称为形参,它是通过变量表来定义的。如下图:
在SBR_1中定义好变量后,调用SBR_1时会出现下面的功能框图:
通过对形参I_Start、I_Stop和Q_Motor赋予不同的值就可以实现对不同电机的控制。子程序实现了程序代码的重复使用,有利于提高程序的可移植性及提高编程开发的效率。
变量表中可以定义四种类型的变量,包括:输入参数、输出参数、输入/输出参数及临时变量。
各类型的含义如下面的表格:
需要说明的是:
每个程序组织单元(POU)都有64字节(bytes)的局部变量存储区(L memory)。当使用FBD或者LAD进行编程时,可以使用60个字节;变量表中定义的变量都存放在POU的局部变量存储区中;
变量表中定义的变量属于特定的POU,属于局部变量;在符号表中定义的变量属于全局变量;当变量表中定义的变量与符号表中的变量重名时(例如:都为“Start”),POU优先使用变量表中的变量;
当在变量表中定义变量时,可以更改符号名、数据类型及注释,但地址是自动分配的(无法更改);可以在变量表地址列中看到变量的地址是以“L”开头,表示这些变量都存放在局部变量存储区中;
PLC的操作系统不会初始化局部变量,需要编程人员在程序中自己编程实现初始化;
调用在变量表中定义了局部变量(形参)的POU时,实参的数据类型必须与形参定义的相同;
好了,关于S7-200 Smart的变量表就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。
来源:本站| 大小:290 KB| 下载次数:15714次
发表评论