PLC变量表的使用,变量的声明、选用、显示、定义、更改、保持性
本篇我们以西门子S7-1200为例来介绍PLC变量表的使用。在S7-1200 CPU的编程理念中,特别强调符号寻址的使用,在开始编写程序之前,用户应当为输入、输出、中间变量定义相应的符号名,也就是标签。具体步骤如下:
PLC变量表
一、在PLC变量表中声明变量,在项目视图的项目树中,打开PLC1下的PLC变量文件夹,双击打开PLC变量表,在PLC变量表中单击第一行的名称列,输入变量符号名,例如输入start,按回车键确认。
打开变量表
在数据类型列中,选择数据类型为布尔型,在地址列中,输入地址I0.0,在注释列中根据需要输入注释,如电动机启动按钮,这样我们就完成了对start变量的声明。按照同样的方法声明stop变量和motor变量。
声明变量
二、在程序编辑器中选用和显示变量,在项目树中打开PLC1下的程序块文件夹,双击Main主程序,打开程序编辑器,在程序段1中拖放触点和线圈指令,编写电动机起保停控制程序。单击常开触点,在出现的输入框中点击旁边的方框,就会出现已定义PLC变量的下拉列表,从中选择start,按照同样的方法对所有指令完成操作。
选用变量
选中工具栏中启动或禁用绝对操作数按钮,在旁边的下拉列表中选中符号选项,则程序中只显示变量符号。 如果选择绝对选项,则程序中只显示变量地址。如果选择符号和绝对选项,则程序中同时显示变量符号和地址。
显示变量
三、在程序编辑器中定义和更改PLC变量,选中常开触点start。单击鼠标右键,选择重命名变量,在弹出的对话框中,将名称列的start改为M_start,单击更改按钮,完成输入,选中常闭触点stop,单击鼠标右键,在弹出的菜单中选择重新连接变量,将地址列的I0.1改为I0.2,单击更改按钮,完成输入。
重命名变量
在程序段2中插入常开触点,输入操作数tag1,按回车键确认。单击鼠标右键,在弹出的菜单中选择定义变量,在部分列中选择Global Memory,在地址列中输入M0.0数据类型选择为布尔型,单击定义按钮,完成输入。单击编辑栏中的PLC变量,回到PLC变量表。可以看到在程序编辑器中,对PLC变量的定义和更改已自动添加到PLC变量表中。
定义变量
四、设置PLC变量的保持性。在PLC变量表中可以为M存储器指定保持性存储区的宽度,在工具栏中单击保持性按钮,打开保持性存储器对话框。 在文本栏中输入10,表示从MB0开始的十个字节为保持性存储区,单击确定按钮。编址在该存储区中的所有变量被标识为有保持性,在PLC变量表的保持性列表中设置的复选标记,可以识别变量的保持性设置,如tag1变量的保持性。
变量保持性设置
本篇我们介绍了西门子S7-1200 PLC变量表的使用,学习了变量的声明、选用、显示、定义、更改、保持性设置等,想要学习更多PLC知识,欢迎持续关注本号文章!如需视频教程或PDF文档等学习资料可在本文留言,我会免费赠送给你,我们共同学习提高!
PLC编程中变量太多怎么办?使用结构体变量,瞬间建立上万个变量
前文 三菱FX2n系列PLC结构化编程实例,电机综合控制功能块 向大家介绍了不一样的三菱FX系列PLC的编程,相信大家对下图并不陌生吧。
图一
如图一所示,这就是最后向大家介绍的结构化编程的最终例子,也就是三个电机的控制。大家看,我并没有把功能块的输入输出全部填满,为什么呢?太多了,太麻烦了。这还是三个电机,要是十个,一百个电机呢?那就要几百个变量了(注:在三菱PLC中,称之为标签,其实就是变量的意思),即使你不使用变量,直接使用物理地址,那也是很麻烦的。其实,大家肯定会碰到这种情况,比如几百个阀门的控制,几十个风机的控制,上百个气缸,电磁阀的控制,比如通讯读取写入几十个变频器或是伺服的参数等等。他们有个共同点,就是单个被控对象的变量很多,但又相似,被控对象总量又多。这时候,如果按传统方法那是很累的,因此,PLC就引入了高级功能,结构体变量。
结构体变量,是从计算机高级语言引入到PLC中的概念,它和布尔型,整型,浮点型等一样,在PLC中也是一种变量类型。在计算机高级语言中,结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合。在PLC中,它是一系列不同数据类型的集合。
举个例子,比如我们要描述一个人,那么他就具有姓名,年龄,籍贯,履历等等要素构成。同样,对于一个电机也有正转,反转,停止,电流,转速等要素。如果定义一个电机为结构体变量,那么,正转,反转,停止,电流,转速等要素就构成了电机这个结构体变量。通俗的讲,结构体变量就是一系列变量的集合,用来表述一个更高级的变量。
下面小编我就举例来说明
1 新建结构体变量
图二
如 图二所示,找到结构体,然后右击,选择新建数据
图三
如 图三所示,我们选择结构体,数据名就是我们要定义的结构体变量的名字,我们就叫它MOTOR。至此,我们就建立好了一个结构体变量,但它还是空的,还没有描述它的元素。
2 为结构体变量添加元素
组成结构体的变量可以是PLC所支持的所有变量类型。
图四
如 图四所示,我们给结构体变量MOTOT添加元素,包括正转,反转,复位,速度,电流等等。注意看数据类型,包括了布尔型和浮点型,这个可以根据需求和被控对象以及工艺要求,自己添加。
至此,我们就完全建立好了结构体变量,接下来,就是在程序用调用了。
3 调用结构体变量
调用结构体变量,首先要定义结构体变量,和我们定义普通的布尔型,整型等等变量是一样的。不过结构体变量的变量类型就是我们定义的结构体变量的名字。
图五
如图五所示,这就是定义好的结构体变量,一共定义了三个变量,注意看它的数据类型,是MOTOR型,就是我们定义的结构体变量。这个怎么选呢,我们点击红色圆圈部分
图六
如图六所示,看黄色荧光笔部分,就是选择变量类型的。基本数据类型就是常规的布尔型,浮点型,而选结构体,就是定义为结构体型变量。
在程序中使用,直接用点来引用就可以了,也就是结构体变量名.结构体元素, 比如我们要引用其中的正转 Belt_Left.Frd, Belt_Righe.Frd, Fan_Heat.Frd ,需要注意的是,要使用英文输入法。
图七
如图七所示,就是我们在程序中的使用了,我们可以看到 三菱的结构化编程中,各功能块可以自由移动 ,类似CFC,这点做的不错,得表扬一下小日本。要知道,西门子博途中即使1500也不支持这种自由移动的CFC。而这种CFC指令在处理过程控制和运动控制中使用是非常方便的,比呆板的FBD好用多了。
总结:结构体变量是PLC的高级应用技术,掌握起来可能比较难,不要说初学者,就是一些老司机理解起来也比较费劲,没关系,实践是最好的老师,大家在平常的工程项目中要用于实践,多摸索,不要故步自封,多学多练,自然就会掌握。结构化变量是实现结构化编程的利器,特别是石化,钢铁,暖通等过程控制行业,控制对象往往非常多,而控制要素又差不多,使用结构体变量是非常方便的。
相关问答
plc中char是什么指令?
plc中char是定义字符型变量。char用于C或C++中定义字符型变量,只占一个字节,取值范围为-128~+127(-2^7~2^7-1)。C语言中如int、long、short等不指定s...
plc接口变量什么意思?
PLC中的变量指的是内置的输入输出继电器、辅助继电器、状态、计数器、数据寄存器等各种软元件。PLC变量适用于整个PLC。PLC程序中多数指令都通过变量来操作...
plc中如何生成一个变量?
加上一个定量,自动生成变量加上一个定量,自动生成变量
plc如何生成一个变量?
PLC通过声明变量的数据类型,并分配一个内存地址来生成一个变量。1.首先,PLC需要知道变量所使用的数据类型,例如:整数,浮点数,布尔值等。同时,PLC中支持多...
三菱plc定时器怎么输入变量?
以计时指令为例:1、我们以X0输入端作为计时开始信号,当PLC内部接收到计时信号时,位软元件X1接通,在左母线处直接输入“ldx0”即可在梯形图中输入。2、...
PLC的各种变量怎样使用?
1、变量分局部变量和全局变量2、局部变量只能在所在子程序中使用,全局变量可以在此工程任何程序中使用,且可以直接与上位机通讯。3、如果在局部变量和全局变...
plc变量名的命名规则一般如下?
PLC变量命名一般是根据外围信号然后用拼音首字母和数字来命名,最好是去向一个设备的用一个字母开头。PLC变量命名一般是根据外围信号然后用拼音首字母和数字...
西门子plc程序控制指令?
关于这个问题,以下是一些常见的西门子PLC程序控制指令:1.LD:加载指令,将一个变量或者寄存器的值加载到一个寄存器中。2.AND:逻辑与指令,将两个逻辑值进...
plc里面m指令怎么用?
PLC(可编程逻辑控制器)的M指令是用来控制内部的继电器状态的。在使用M指令前,首先需要了解继电器的状态和作用,将需要控制的继电器连接到PLC的输入/输出端口...
plc主程序怎么编写?
编写PLC主程序的方法可能因PLC品牌和型号的不同而有所差异。以下是通常编写PLC主程序的一般步骤:1.确定系统需求:了解系统的功能需求和操作流程。2.绘制流...