北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章550 浏览8927431

如何理解S7-200 Smart的变量表?

在S7-300/400的编程中,变量表是用来监控或修改程序中某个或者某些变量值的工具。那么在S7-200 Smart的编程中,变量表是否也具有相同的功能呢?今天这篇文章,我们和大家谈谈S7-200 Smart的变量表。

cover.png

与S7-300/400的编程不同,在S7-200 Smart中,变量表用来定义属于特定程序组织单元(POU)的局部变量,这些变量只对特定的POU有效。

变量表中定义的变量,相当于该POU的形参。

比如,子程序(Subroutine)SRB_0默认的变量表如下图所示:

sbr_0.png

该子程序仅有一个“EN”的输入参数,调用SBR_0的界面如下:

sbr_0_1.png

很多时候,我们需要子程序有自己的形参。在不同的调用环境下,通过给形参赋予不同的值,就可以实现不同的控制功能。

例如:有两台电机都需要实现起保停控制功能,我们可以把起保停功能写成一个子程序SBR_1。

SBR_1有两个输入参数:I_Start和I_Stop及一个输出参数Q_Motor,通过对输入及输出参数赋不同的值,就可以实现对两台电机的控制。

这里,子程序SBR_1的参数:I_Start、I_Stop和Q_Motor被称为形参,它是通过变量表来定义的。如下图:

sbr_1.png

在SBR_1中定义好变量后,调用SBR_1时会出现下面的功能框图:

sbr_1_1.png

通过对形参I_Start、I_Stop和Q_Motor赋予不同的值就可以实现对不同电机的控制。子程序实现了程序代码的重复使用,有利于提高程序的可移植性及提高编程开发的效率。

变量表中可以定义四种类型的变量,包括:输入参数、输出参数、输入/输出参数及临时变量。

各类型的含义如下面的表格:

variable_table.png

需要说明的是:

  1. 每个程序组织单元(POU)都有64字节(bytes)的局部变量存储区(L memory)。当使用FBD或者LAD进行编程时,可以使用60个字节;变量表中定义的变量都存放在POU的局部变量存储区中;

  2. 变量表中定义的变量属于特定的POU,属于局部变量;在符号表中定义的变量属于全局变量;当变量表中定义的变量与符号表中的变量重名时(例如:都为“Start”),POU优先使用变量表中的变量;

  3. 当在变量表中定义变量时,可以更改符号名、数据类型及注释,但地址是自动分配的(无法更改);可以在变量表地址列中看到变量的地址是以“L”开头,表示这些变量都存放在局部变量存储区中;

  4. PLC的操作系统不会初始化局部变量,需要编程人员在程序中自己编程实现初始化;

  5. 调用在变量表中定义了局部变量(形参)的POU时,实参的数据类型必须与形参定义的相同;

好了,关于S7-200 Smart的变量表就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。

founderchip.png

如何理解S7-200 Smart的变量表

来源:本站|   大小:290 KB|   下载次数:15714次

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论