西门子PLC的局部变量怎么使用

  临时变量是临时存储在本地数据区的变量。只有在执行POU时,才使用定义的临时变量,而在执行POU后,不再使用临时变量的值。在主程序或中断程序中,局部变量表只包含TEMP变量。子程序的局部变量表中也有三个变量:输入变量、输出变量和输入输出变量。

  在局部变量表中赋值时,只需要指定声明的局部变量的类型(TEMP、in、IN_OUT或OUT)和数据类型(参见SIMATIC和IEC1131-3数据类型),但不需要指定内存地址。程序编辑器自动为L存储区中的所有局部变量指定存储位置。起始地址为LO,每字节8位,可就地访问。字节、字和双字在本地内存中按字节顺序分配,如LBx、LWx或LDx。

  当局部变量作为参数传递给子例程时,子例程的局部变量表中指定的数据类型必须与调用POU中的数据类型值匹配。比如在主程序OB1中调用子程序SBR0,使用全局符号INPUT1作为子程序的输入参数。在SBR0的局部变量表中,已经定义了一个名为FIRST的局部变量作为输入参数。OB1调用SBRO时,INPUT1的值传入FIRST,INPUT1和FIRST的数据类型必须匹配。

  在程序中使用符号名时,程序编辑器首先检查关于POU的局部变量表,然后检查符号表/全局变量表。如果符号名称在两个地方都没有定义,程序编辑器会将其视为全局符号。程序编辑器指定一条绿色波浪下划线,并用双引号将名称括起来,例如“UndefinedLocalVar”(未定义的局部变量)。如果符号名稍后被赋值,程序编辑器将不会再次自动读取局部变量表并对其进行修改。为了将符号名用作局部变量,您必须手动删除程序代码中的引号,并在符号名前面插入#符号,例如,将其更改为#UndefinedLocalVar。

  每个子程序最多可以调用16个输入/输出参数。如果超过16个,将返回一个错误。选择所需变量类型所在的行,并在名称字段中键入变量名,在数据类型字段中键入数据类型。在局部变量表中无需在变量名前加#号,程序代码中只在局部变量名前加#号。

  局部变量名可以包含数字、字母、下划线(_)或扩展字符(ASCII128~255)。第一个字符必须是字母或扩展字符,关键字不能用作符号名称。

  本地变量表中的变量名下载存储在CPU内存中,使用较长的变量名会占用更多的存储空间。以上是基本内容。不懂的朋友可以先看一个plc视频教程,比较容易理解。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值