西门子PLC基础知识:变量的定义
什么是变量?为什么要定义变量?如何定义变量?本章围绕着这三个问题展开讲解;
主要内容
1、什么是变量?
2、为什么要定义变量?
3、如何定义变量?
01
什么是变量?
上图是百度百科的解释,通俗来讲变量就是一个盒子,一个用来存数据的盒子,并且可以随时改变里面值。
常量
还有一种与之相对的量叫常量,顾名思义是一种只能读不能写的量,即一开始定义了就不能改变。
(在PLC中找不到定义常量的方法,就用C语言编一个举例)
见下表,名叫“值1”的就是一个变量,该变量起始值是2,数据类型是INT;
也可以用程序随时修改变量的值:
M10.0得电,“值1”就变成3,M10.1得电,“值1”就变成4.
02
为什么要使用变量?
转载上面那位老哥的文章来说明一下。
转载
说到学习编程啊,首先要学习的,肯定就是变量了,因为变量是一切代码的基础。
一、变量是什么?
变量变量,说白了就是会变的量,有些同学不理解什么是变量,为什么要声明变量,声明变量有什么用。下面我就打一些比方来说明什么是变量。
首先,要理解,编程是什么。编程,就是我们告诉计算机,你要帮我做什么。在这个过程中,有人、编程语言 、计算机三个角色,因为计算机是看不懂人类的语言的,而我们也无法直接地告诉计算机要做什么,所以我们要通过我们的“助理”,PHP美女帮我们做这件事。
比如说,我要告诉计算机,你帮我输出“兄弟连威武”这几个字,那么,我们就通过PHP的“echo”函数,告诉计算机,你要输出这个东西。
前面说了这么多废话,其实就是为了说明为什么要使用变量。
学过计算机基础的同学(没学过的自己买书学一下)应该都知道,计算机在工作过程中所产生的所有数据,都是在“内存”中存储和读取的。大家可以把“内存”想象成一个工厂的仓库,数据呢就是这个工厂工作过程中要使用的“零件”。在一段程序中,有很多很多的数据(零件),它们分别存放在内存(仓库)中的不同地方,比如生产一辆自行车,我们需要用到”车轮“、”车把“、“踏脚”、”链条“、”车架“等等各种零件,而这些零件分别存放在仓库(内存)的不同位置,我们的自行车厂请了个美女助理,她叫”PHP“,PHP美女呢,是个可爱的萝莉。她很聪明,但是有时候她也很笨。
我们想让她分别去不同的仓库取出这些零件,我们就得告诉她,这些零件分别存放在几号库,几号柜,比如”库01柜03“存放的是车轮。而在计算机编程里,这个编号就是传说中的”变量“,只不过编程里不提倡用中文,所以呢用编程的表示方法就是”$k01g03=wheel(车轮)“,中间的”=“叫作赋值运算符,它的作用就是把”$k01g03“这个标签”帖“到”wheel(车轮上)“。
所以总结性地说:
作为程序寻找内存中所存放的数据时的一个标签,它的作用是告诉程序,你应该去内存中的哪个地方寻找接下来要用到的数据。
那么这些内存中的数据,也可以理解成仓库里的零件,是谁放进去的,什么时候放进去的呢?这个过程,就是在程序执行到声明变量的语句或者变量赋值的时候实现的。比如:
$a = 1;
$b = 2;
在这两句代码执行的时候,首先会在内存(仓库)中产生两个”零件“,分别是1和2,然后在“零件入库表”中登记,1这个零件是存放在$a这个仓库里,而2呢就是放在$b这个仓库里,那么在接下来的程序中要用到这两个零件的时候,程序就会在内存中相应的位置调这两个零件出来用,比如下面的这段代码:
$a + $b;
这个时候呢,程序就会在仓库(内存)中编号为$1的地方调用相应的零件(数据),而这个零件(数据)就是1,同理,$2调出来的是2,那么在执行$a + $b的时候,就会进行1+2的运算。变量的作用,就是可以让我们在程序中任意地方很方便地调用我们想要用到的数据,就像上面的1和2,在后面的代码中,我们只要简单地调用$1和$2即可,不需要重复地写1或者2.
在上面的公式中,“+”号是一个运算符,大家可以把它想像成一个工厂里的“机器”,它的作用就是进行加法运算,关于运算符的详细用法,将会在后面的文章中详细讲解。
大家也许会觉得奇怪,1和2这么简单的数据,有存在内存(仓库)里的必要吗?没错,对于这种简单的数据,看起来像是没必要的。但是,如果我们要在程序中重复使用23094387249这样的复杂数据时,我们就很有必要把它存进“仓库”里,给它编上编号,这样我们就可以通过一个简单的”编号“(变量名)对它进行反复的调用。
其实变量真正的工作原理比这个复杂很多,工作模式也没有这么简单。上面说的这些,只是为了方便那些对变量的概念没有理解的同学理一理思路,知道变量是做什么的,为什么要用变量。其实在初学编程时,能跟上老师的节奏,理解这些概念并知道怎么使用、为什么要这么用就可以了,想要真正研究底层的原理,是要一定功夫的。建议没有编程功底的同学不要太深入研究这个,只要知道怎么用变量就可以了。
03
如何定义变量?
上图就是一个变量,可以看到有名称、数据类型和起始值,定义一个变量有这三种就行;
定义变量有以下几种途径,变量表、数据块、FB、FC块内部。
变量表:
变量表一般是存输入/输出信号或辅助继电器;
数据块:
数据块一般是存数据的,可以看到数据块里面的变量是不用填地址直接填名称的。
FB、FC块内部:
关于FB、FC块后面在详细说明,这两个块内部也是可以定义变量的。
添加变量
第一步:分屏
第二步:点击数据块(或变量表)
这样就把数据块添加到分屏中
第三步:往拖拽变量
我一般使用拖拽来添加变量。也可以直接添加变量。