西门子PLC中的局部变量与全局变量分别是什么 |
时间: 2022-05-11 11:58 浏览: |
西门子PLC中的局部变量与全局变量分别是什么当利用STEP7 MicroWIN编程软件对S7-200 PLC进行编程时,在SIMATIC符号表或IEC的全局变量表中定义的变量称为全局变量。同时在程序中的每个POU(Program Organization-al Unit,程序组织单元)均有自己的由64字节L存储器组成的变量,称为局部变量,它们用来定义有范围限制的变量,局部变量只在它被创建POU中有效。与之相反,全局符号在各POU中均有效,只能在符号表/全局变量表中定义。全局符号与局部变量名称相同时,在定义局部变量的POU中,该局部变量的定义优先,该全局定义只能在其他POU中使用。在SIMATIC符号表或IEC的全局变量表中定义的变量为全局变量。程序中的每个程序组织单元(POUProgram Organizational Unit)均有自己的由64字节L存储器组成的局部变量表。它们用来定义有范围限制的变量,局部变量只在它被创建POU中有效。与之相反,全局符号在各POU中均有效,只能在符号表/全局变量表中定义。全局符号与局部变量名称相同时,在定义局部变量的POU中,该局部变量的定义优先,该全局定义只能在其他POU中使用。 在程序中使用符号名时,程序编辑器首先检查有关POU的局部变量表,然后检查符号表/全局变量表。如果某符号名在两处都没有定义,程序编辑器则将其视为全局符号,程序编辑器指定一条绿色波浪状下画线,并将名称括在双引号中,例如“Undefined Local Var”(未定义的局部变量)。如果后来对该符号名赋了值,程序编辑器不会自动再次读取局部变量表并修改它。为了将该符号名作为局部变量使用,必须手工删除程序代码中的引号,并在符号名前插入#号,例如改为#Undefined Local Var。 各子程序最多可调用16个输入/输出参数,如果超出16个,将返回错误。 选择希望的变量类型所在的行,并在名称域中键入变量名称,在数据类型域中键人数据类型。不需在局部变量表中的变量名称前加#号,#号只在程序代码中的局部变量名之前使用。 局部变量表中的变量名被下载和存储在CPU存借器中,使用较长的变量名将占用较多的存储空间。 局部变量适用于以下两种情况: 1)在子程序中只使用局部变量,不用绝对地址或全局符号,无需作任何改动,就可以将子程序移植到别的项目去。 2)如果使用临时( TEMP)变量,同一存储器可在不同的程序中重复使用。 3)局部变量还用来在子程序和调用它的程序之间传递输入参数和输出参数。天津会一自动化科技有限公司专业从事于自动化系统集成以及高低压配电柜的研发、设计和装配一站式服务;本公司生产的PLC控制柜、电控柜、变频柜等控制柜获得多个专利和荣誉称号。 |
上一篇:PLC的电磁干扰来源 下一篇:没有了 |