plc标签编程和变量编程 PLC变量表的使用,变量的声明,选用,显示,定义,更改,保持性

小编 91 0

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使用标签编程方法?

回答如下:三菱PLC使用标签编程方法主要包括以下几个步骤:1.在PLC编程软件中创建一个标签表。标签表用于定义和管理所有的标签。2.在标签表中创建所需的标...

西门子plc变量怎么导出标签?

在西门子plc编程软件中,可以通过选择菜单栏上的“导出”选项,然后选择“标记表”来导出标签。导出的标签表可以保存为Excel或TXT格式,方便用户进行查看和编辑...

西门子plc编程时定义变量的数据类型时DI和DW有什么区别?实数R和DW又有什么关系呢?另外请解释?

DI是一个位DW是一个字一个DW=16个DI关于静态变量,请看下面详细介绍:例如,你的FB功能完成一个数值的累加,那么你可以设定一个STAT变量用于保存结果此时,每...

西门子PLC变量是什么意思,能不能用通俗的语言解释什么是变量,它有什么作用,设置后在PLC有什么动作?

建议你去看一下这个问题的问答《如何理解PLC编程中变量的概念,变量的由来和意义,以及如何使用?》--这个问题和你的问题差不多,应该对你有帮助!建议你去看一下...

西门子PLC编程软件,变量声明中的数据类型IN、OUT、IN_OUT、TEMP是怎么用法啊。有什么不一样?

in输入参数out输出参数in_out输入输出都行TEMP临时数据in输入参数out输出参数in_out输入输出都行TEMP临时数据

plc如何定义变量类型?

PLC的变量需要自己定义的,PLC变量的数据类型主要如下:一.BOOL布尔型变量可被赋予“TRUE”真或“FALSE”假。这个值为逻辑量,占用1位存储空间可以看作是普...

组态王变量如何与PLC变量对应?

通过设置辅助继电器M,即可实现和组态王对应,假设,我们现在组态王需要做一个点,变量名为“启动”,那么,我们定义变量属性时,就可以选择M继电器,同时,在S7...通...

西门子数据块与变量表区别?

西门子数据块和变量表都是PLC编程中常用的概念,它们之间的区别如下:1.数据块是一组关联的数据,可以包括多个变量,通常按照功能、数据类型、使用对象等方面进...

plc如何设置地址变量?

PLC的地址是PLC的重要属性,通过地址设定了其所对应回路在程序中的逻辑关系。在elecworks中,有手动及自动两种编址方式。手动编址方式:在电气项目中,一般在...

三菱plc定时器怎么输入变量?

以计时指令为例:1、我们以X0输入端作为计时开始信号,当PLC内部接收到计时信号时,位软元件X1接通,在左母线处直接输入“ldx0”即可在梯形图中输入。2、...