什么是全局变量和局部变量?
有很多朋友经常问我一些关于全局变量和局部变量的问题,今天抽点时间给大家简要阐述下关于全局变量和局部变量的一些问题 。
1、全局变量:顾名思义,就是对于整个程序都可以使用的变量,任何地方可以使用的变量,当然前提是你必须要定义变量,它定义在函数或子程序的外部,又可以称之为外部变量 。比如对于西门子来说I、Q、M等变量 。
2、局部变量:从字面理解就是只能在局部使用的变量,也就是说只能在特定的函数或子程序中可以访问的变量,它的作用域就只在此函数的内部 。对于西门子PLC来说,在FC或FB预先定义一些局部变量,比如在接口数据区,在主程序调用时,可以为输入、输出等接口变量提供参数 。所以说,当你再FC1中定义的局部变量,在FC2中未定义的情况下是不能直接调用的 。
下面我们以博途来举例说明下:
比如我们做一个电机延时启动的程序,要求当按下启动按钮后延迟10s电机启动 。
我们以博途STEP7来举例说明:
首先新建一个FB块,如下所示:
![定义全局变量的方法](http://pic.aipaogen.com/230714/04123C260-0.png)
文章插图
在接口区域定义局部变量:
![定义全局变量的方法](http://pic.aipaogen.com/230714/04123C593-1.png)
文章插图
在上图中INPUT OUTPUT、STATIC中建立的变量就是局部变量 。必须要先定义你要使用的变量 。
编写程序:
![定义全局变量的方法](http://pic.aipaogen.com/230714/0412363601-2.png)
文章插图
上图中调用局部变量,变量前带#号 。
然后打开变量表,添加我们要使用的全局变量:如下图所示:
![定义全局变量的方法](http://pic.aipaogen.com/230714/04123C049-3.png)
文章插图
然后双击打开OB1程序,编写程序:
![定义全局变量的方法](http://pic.aipaogen.com/230714/0412362O8-4.png)
文章插图
最后再总结下:局部变量就是只在FB或FC中使用的变量,全局变量就是所有地方都可以使用的变量;如下图所示,在FB中调用全局变量:
![定义全局变量的方法](http://pic.aipaogen.com/230714/0412364D9-5.png)
文章插图
【定义全局变量的方法】希望通过本文的讲解能对你理解全局变量和局部变量有一定的帮助 。