西门子PLC的局部变量的类型和赋值

发布时间:2023-12-19
temp(临时变量)为暂时保存在局部数据区中的变量。只有在执行该pou时,定义的临时变量才被使用,pou执行完后,不再使用临时变量的数值。在主程序或中断程序中,局部变量表只包含temp变量。子程序的局部变量表中还有三种变量:in(输入变量)、out(输出变量)、in_out(输入/输出变量)。 在局部变量表中赋值时,只需指定声明局部变量的类型(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存储器中,使用较长的变量名将占用较多的存储空间。
上一个:海信电视插u盘没反应后无法读取(海信电视插u盘没反应可以使用充电器线转换吗)
下一个:PU屋面外墙保温材料技术及其优势有哪些?

烹茶精,正是工夫茶最突出的特点
普洱茶的水味指的是什么?尾水同茶叶内含物质有关系吗?
小米play截屏快捷键(小米play截屏方法)
智能家居控制系统
oppo手机开发者模式怎么关闭(手机开发者模式怎么关闭)
电脑关机自动重启怎么解决(电脑关机自动重新启动是怎么回事)
.中国域名注册要怎么做?
AC0603FR-0744R2L,国巨车规电阻0603 44.2Ω ±1% 1/10W
三星CL05A475KP5NRNC电容
win10屏幕截图后保存在哪(win10截图之后保存在哪)