「PLC高手必会」PLC标签和地址命名规则及5个技巧
图片来源:CEChina
作者 | Frank Lamb
“
了解标签模板、常见的工厂自动化标签缩写、过程控制标签缩写以及5个标签和地址命名技巧。
”
过去, 可编程逻辑控制器(PLC) 地址是基于寄存器的。数据保存在诸如MW210、B3:6/2、N7:50 或DB5.dbx50.2 之类地址的寄存器中。它们不是很直观,对吧?
可以为这些地址分配一个“符号”或快捷方式,使它们更易于编程或查找,但是这些符号名称通常受到长度的限制。符号也没有保存在PLC 中;而是保存在编程计算机和软件中。
描述也可以分配给地址,但是它们也仅保存在软件中。它们提供了有关地址及其功用的其它信息,但仍不可搜索。
随着基于标签的PLC 系统的出现,地址变得更具描述性,并且基于寄存器的地址也被隐藏起来,变成不可见了。根据PLC 的品牌或平台的不同,标签名称具有不同的规则。它们的长度可以是40 个或更多的字符,并可以使用字母数字字符。有些平台允许使用空格,而有些平台则需要使用下划线。
▎ 工厂自动化和过程控制标签命名对于一致性、易于理解和故障排除至关重要。图片来源:Automation Primer
可以下载的标签
标签实际上已下载到PLC 中。它们也可以在标签数据库中按字母或数字顺序组织,这使命名约定很重要。由于可以使用如此多的字符,标签名可以非常具有描述性,并且包含大量信息。同时,带有太多缩写的长标签名可能很难阅读。
诸如AutoMode、AutoCycle、Faul t或CycleStop 之类的常用功能或术语在行业中很常见,不需要很多额外信息。系统或机器可能分为区域或站,并标签为Zone2,Cell15 或Station003,这些标签可能需要更多文档或说明。
用户自定义数据类型(UDT)由于允许使用“点”连接,因此使标签变得更加复杂,例如“VFDrive2100.ActualSpeed”。嵌套UDT 允许使用上述标签。
标签模板
大型公司、机器制造商和系统集成商,通常会准备一个用于编程的模板,该模板给出了如何命名标签。在模板程序中已经创建了许多常用标签,而其它标签名则可通过电子表格自动生成。各个公司使用的规则会有所不同,但目的是相同的:使程序更具可读性,更易于排除故障。
标签命名规则主要分为两个部分:工厂自动化和过程控制标签。在汽车以及其它制造业中,设备通常由其功能和位置来命名。通常情况下,它们还包括该设备在电气图纸中所处页面和行的参考数字。例如“PalletPushCyl_ ExtPX_4120”。该标签由组件(托盘推杆油缸)、设备及其位置(扩展接近开关)以及电气图纸中的位置组成。
工厂自动化标签缩写
工厂自动化设备通常用以下缩写表示:
• 光电传感器:PE,PEC,PER
• 接近式开关/ 霍尔传感器:PX,PRX
• 限位开关:LS
• 主控制继电器:MCR
• 按钮:PB,hPB(HMI)
• 开关:SW
• 电磁阀:SV
• 控制继电器:CR,K
• 电机启动器:MS
第二个规则来自于过程控制行业,例如石油或化学加工。他们的技术人员利用过程和仪表图(P&ID)。ISA 支持这些编码准则,但是各个公司可能有所不同。
这些图纸将装置编号分配给诸如水箱或滑轨之类的组件,并将回路编号赋予不同的控制组件,例如仪表和传感器。
由于设备名称是受控的,因此过程工业中的标签名称仅包含P&ID 号,而不是工厂自动化中使用的更具描述性的方法。这些名称与离散制造业中使用的标签名称完全不同。
例如,流量变送器可能被命名为20-FT-1982-A,其中区域代号为20,FT 是传感器的类型,1982 是回路号,A 表示另外至少还有一个冗余设备。由于在许多平台上,标签都不能以数字开头,因此字符的顺序可能会更改,或者在单元号之前可能会附加字母。例如,上面设备的标签可能是FT_20_1982A或d20_FT_1982A。这类标签可能不像离散制造中业使用的标签那样具有描述性,但可以增加“装置20 中1982 回路的流量变送器A”的说明。
过程控制标签缩写
过程控制设备可能使用下列标签名称:
• 流量变送器:FT
• 阀门:HV,FV
• 限位开关:LSL(低),LSH(高)
• 回路控制:FIC,PIC
• 按钮/ 开关:HS,HIS
• 光电眼,接近开关:ZS
• 电机启动器:M
• 压力变送器:PT,PIT。
创建标签名时,首先需要记住的是,要把技术人员或维护人员当做客户一样对待。帮助别人找到并理解代码,是程序员的首要职责。
5个标签和地址命名建议
设备或装置标签名称的命名规则很重要,有助于理解并加快故障排除速度。在决定标签名称模板或规则时,需要考虑以下5个建议:
1. 使名称尽可能描述标签的功能。使用技术人员容易理解的标准化术语和缩写。如有必要,添加说明。
2. 标签按字母和数字顺序显示,对相同功能或区域,使用相同的字母/ 数字开头的标签,对于组织顺序很重要。
3. 如有必要,请使用下划线或大写字母来使标签更具可读性。
4. 如果软件平台允许使用本地标签,请在将其复制到复用程序之前,为特定程序集或程序分配所有标签。这样可以节省很多时间。
5. 使用电子表格创建标签。这比手动在数据库中键入标签要容易得多。标签可以更容易地添加和复制数据。PLC 平台允许轻松导出/ 导入标签。这也可以确保程序员所使用的标签与电气和机械设计师所使用的相同。
关键概念:
■ 标签命名规则可能因PLC 的品牌而异。
■ 工厂自动化、过程控制标签名称缩写。
■ 在设计决策时,5个标签命名技巧会有所帮助。
思考一下:
哪些标签命名的最佳实践可以使您的编程工作更加顺利?
三菱ST语言教学(1)——基本指令与标签
IF 条件判断
if单词翻译过来是“如果”,在程序中用于判断是否满足某种条件,当满足其中一个条件时在这个条件下面进行一些操作,在所有条件都不满足时不操作,举个例子:
假设现在有3个按钮控制电机正反转。按下按钮1(X1)电机正转(Y1),按下按钮2(X2)电机反转(Y2),按下X3停止。 使用梯形图编程如下:
梯形图编程
可以看到的是,由于输入为按钮,是一个脉冲信号,所以需要线圈并上输入形成自锁保持电机启动。同样的功能我们用ST来编程:
ST编程
当按下按钮X1的期间,位软元件Y1的值为true(理解为on,高电平,导通),Y2的值为false(理解为off,低电平,断开),X2与X3同理。三个按钮都没有动作时,输出Y1,Y2也不会有任何操作。
这里的:=是ST语言的赋值符号,它即可以给开关量赋值,也可以给数字量赋值;即可以赋值常数,也可以赋值变量,类似于梯形图里面的mov指令。一定要记住每个赋值语句后面和结束指令后面要加分号结束符“;”,程序里所有的符号要用英文的符号。
程序写成这样已经可以初步实现功能,可以看到在ST语言下,软元件赋值后如果没有其他的赋值操作,直接就是保持的,类似于梯形图的SET/RST指令。
IF语句的常用格式如下:
IF不仅可以判断开关量,同时可以判断数字量,或者是一个公式,例如:
IF判断数字量
标签(变量)
上面的程序我们都是用PLC自带的软元件(X,Y,M,D等)进行编程的,而想要发挥ST语言真正的实力还需要学会使用标签进行编程。
从使用范围标签分为局部标签和全局标签,局部标签只能在相应的一个程序段内使用,不同的程序段可以建立同名标签不会互相影响;而全局标签可以在工程下所有程序段内使用。
在三菱的结构化工程中,每建立一个程序段就会生成相应的局部标签,建立标签需要声明标签的数据类型,可以是bit(位),word(字),float(浮点),string(字符串),time(时间)等基本数据类型,也可以是FB(功能块),struct(结构体),本文只介绍基本数据类型,其他的以后再讲。
上面电机正反转控制的例子我们可以修改如下:
声明标签
声明标签
标签栏共有3项,“类”包含VAR,VAR_CONSTANT,VAR_RETAIN,其中VAR为中间变量,可以在任意时刻进行判断和赋值;VAR_CONSTANT为常数变量,设定常数后不能被程序赋值;VAR_RETAIN为保持变量,相比VAR多个掉电数据保持功能。“标签名”可以任意写,三菱还支持写中文,但要注意不要写一些PLC保留字,比如bit,int,word等相关的,这里建议尽量写英文,这样程序看起来整齐而且通用,可以复制到其他品牌PLC也能直接运行,还有中文的变量在编程时不能双击选中,也很麻烦。
程序编辑如下:
标签编程
标签所表示的含义是编程人员定义的,想要控制实际的设备还需要将标签与设备对应的软元件相连接:
程序与设备相连
这里要注意赋值的方向,:=后面的值传递给前面的标签。
从这个程序来看好像标签没有起到任何便利的作用,反而多此一举,那是因为程序太简单还体现不出标签的便捷,下面我们讲其他的基本指令。
CASE 条件判断
与IF相比,CASE判断更清晰,它常用于判断数字量 ,我们举个例子来说明他的格式,仍然采用标签的方式:
声明标签
CASE判断
其含义为:
当标签Number=0时,输出开关量OutputBool为true,输出整形量OutputInt=1;
当Number=1时,输出开关量OutputBool为true,输出整形量OutputInt=2;
当Number=2到11任意一个数时,输出开关量OutputBool为true,输出整形量OutputInt=3;
当Number=15或者20时,输出开关量OutputBool为true,输出整形量OutputInt=4;
当Number不等于以上任何值时,输出开关量OutputBool为false,输出整形量OutputInt=0;
这段程序基本体现了case语句的所有格式,可以看到相比IF,条件要清晰很多。
CASE指令除了用于条件判断,也用于顺序流程控制 的编程,再举个例子:
假设一个机构有3个气缸,3个气缸按照一个固定顺序依次进行伸出动作,完成后统一缩回。 我们可以使用case来构建整个流程:
声明标签
每个气缸有4个变量,分别为气缸伸出,伸出反馈,气缸缩回,缩回反馈。
流程控制
iStep的每一个值相当于一个步骤,每完成一个步骤,通过气缸到位信号 将步骤iStep置为下一个步骤,这样整个程序可以按照我们想要顺序执行。xBegin相当于一个开始按钮,触发整个流程。
从这个程序我们可以看出,case下面可以添加if,实际上不仅如此,所有基本指令的下面都可以多层套嵌,可以实现更为复杂的逻辑。
FOR循环
FOR循环为有限次的循环,循环根据设定的增量讲一个数字变量进行递增,直到变量等于设定值。举例说明:
FOR循环
这里建立了两个字变量“ii”“iCount”,这里ii作为循环的依据变量,设定的增量为by后面的数字2,由0数到100,意思为ii初始值为0,每次+2,直到ii的值=100本次扫描周期内 停止。要明确的是循环是在一个PLC扫描周期内完成的,所以如果FOR语句上面没有条件进行限制,每个扫描周期都要进行这个循环任务,例如上图的程序如果直接执行,那么每个扫描周期要进行50次循环,占用PLC的资源还是很大的,所以一般我们要用上升沿或者判断条件限制FOR循环在需要的时候执行。例如:
增加限制条件
这里对FOR循环做了条件限制,每循环一次iCount的值增加1,每个周期for循环50次,20个周期后iCount的值=1000,不再满足iCount<1000的条件了, 循环停止。
WHILE循环
WHILE循环为条件循环,只要满足设定的条件就一直循环,直到条件不满足才停止,循环也是在一个PLC扫描周期内完成的。这里要特别注意如果条件一直满足,PLC会陷入死循环,造成PLC报错,所以如果不是迫不得已,尽量不要使用while循环,举例说明其用法:
WHILE循环
这个程序的意思为,在一个扫描周期内,当变量iCount<1000时,始终执行iCount自身+1的操作,直到不满足iCount<1000的条件才停止,上面这个程序分析可知循环1000次后循环停止,程序是没问题的,但是如果由于马虎+号写成了-号,如果不考虑变量自身的容量问题,循环没有停止的时候,变为死循环,那这个程序一运行就会报错。
其他的基本符号
ST语言逻辑运算和数学运算都很方便,例如:
“与或非”和“加减乘除”都很简单,复杂的运算可以直接调用现成的公式(指令)。下一篇讲解指令和功能块的调用。
相关问答
三菱plc全局标签名有什么用?
将某个软元件配上标签,在编程的时候,会显示出这个标签,起到提示作用。因为在工控领域有很多各种各样的限位开关连到PLC上,为了很好的区分它们,同时时程序更...
倍福plc硬件id怎样读?
倍福PLC的硬件ID可以通过以下步骤进行读取:首先,进入倍福PLC编程软件,选择“工程管理”窗口,然后右键点击需要获取硬件ID的PLC,选择“属性”选项,然后在弹...
plc与组态王怎样进行连接设置?
PLC(可编程逻辑控制器)与组态王(一种用于编程和监控PLC的软件)可以通过以下步骤进行连接设置:1.安装组态王软件:首先,在计算机上安装组态王软件。确保选...
plc是什么标签?
PLC是可编程逻辑控制器的英文缩写。它是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺...
三菱plc标签的使用说明?
三菱PLC标签是一种可编程逻辑控制器系统中用来命名、标识IO(输入输出)点、数据等元素的字符串标识。标签的使用可以帮助用户在程序设计、调试、维护等过程中对...
三菱plc标签定义后不知如何使用?
回答如下:使用三菱PLC标签定义后,您可以在程序中使用这些标签来引用不同的数据和程序块。下面是一些使用PLC标签的示例:1.输入和输出标签:您可以使用输入和...
欧姆龙plc标签与实际地址的关糸?
标签是可以任意命名的,而且可以绑定任意一个你想要绑定的实际物理地址标签是可以任意命名的,而且可以绑定任意一个你想要绑定的实际物理地址
plc怎么用st语言?
三菱plc使用st语言的方法:在Q系列创建项目,使用标签方式编程,如果不使用该方式,你将不能使用ST语言。之后,你可以使用ST语言来编辑程序。在GXWorks2中,...
我用s7-1200,威纶触摸屏mt8101ie,导入标签时提示:plc不存在验证标签失败,哪位能告知怎么做吗?谢谢?
请问你那款mt8101ie跟西门子1200连接问题解决了没?我用了维纶v5.04这个版本的连接不上标签也导不进去,就电脑可以把编译好的画面下载到触摸屏,但是触摸屏就是...
三菱plc程序如何有标签改为无标题?
1.可以通过修改程序中的标签来实现将有标签的程序改为无标题的程序。2.在三菱PLC编程软件中,程序的标签是用来标识程序的名称和作用的。如果要将有标签的程...