1.1 设备ID命名的标准化
一个人在现实社会中都会有一个唯一的ID(Identity,身份标识号码,也可理解为账号、专属号码、序列号等),这个就是你的身份证号码,它包含了一个人的出生地以及出生年月日等信息。跟这个类似,设备开发或者项目实施过程中也必须按照一定的规则命名设备,一般的原则也是按照区域地点的方式,来表达一个设备或者一个项目实际的位置定位。
图1-1所示为ISA88定义的设备模块分层的架构模型,从这个模型中可以看到整个架构是从公司逐步向下拆分,直至具体的某一个控制模块。这就意味着,不管这个企业设备有多少,设备上的每一个零部件、每一个元器件都能获取唯一的一个ID,就跟我们整个社会为每个人分配的唯一的身份ID一样。
图1-1 ISA88定义的设备模块分层的架构模型
OMAC(The Organization for Machine Automation and Control,机械自动化和控制组织)是一个致力于开放式模块化结构控制的非营利用户组织,由许多大型国际公司自发组成,拥有约500名成员。西门子是OMAC的成员之一。
OMAC的包装工作组集合了来自技术供应商、OEM、系统集成商和终端用户的多方达成一致的讨论,生成了PackML指南,作为一种方法来展示如何将ANSI/ISA-88.00.01的概念扩展到包装机械中。
为了能满足提供一致的标签系统,OMAC将设备从上到下分为企业(Enterprise)→位置(Site)→区域(Area)→工艺单元(Process Cell)→部件(Unit或UN[1])→设备单元(Equipment Module或EM)→控制单元/元器件(Control Module或CM)。
从企业到区域属于公司层面的设备管理系统划分,作为标准化而言,设备名称的定义关注的是工艺单元及以下部分的设备。
除此之外,在标准化中设备的名称还是后续电气和控制工程师工作的基础信息,电气图样中的设备名称和IO符号的名称,都要基于该设备名称来命名。
就如图1-2所示一样,框中的符号都是设备的外部IO,可以看到这些符号中都有设备名称。在标准化程序中,程序框架和设备程序都是固定的,若符号能跟设备名称关联,然后在整个控制系统中定义好不同的元器件的名称,那整个程序后续就可以利用XML文本编辑语言做成一个自动生成程序的工具;另外,若要复制一个这类设备的程序,那复制后的程序也只要修改这个设备名称即可,而其他地方都是完全相同,这样更加便利高效,且出错的概率会大大降低。
图1-2 设备名称信息在程序中的体现
在设备开发或项目实施过程中,我们按照对象的位置和功能来定义其名称,即ID。这里称之为对象,是因为这个名称不单是一个设备或项目命名,而是整个设备或项目中所有相关元素的名称命名。
在设备开发或者项目实施过程中,控制系统都可以在图1-3所示的不同控制系统类型中找到与之匹配的控制体系。有的设备或项目只有一个PLC,有的设备或者项目则由多个PLC组成,所以,对于设备开发或者项目实施的设备名称的命名是以每一个PLC为最高级别的,在此定义为一个控制区或工艺单元,对应的是ISA88中的Process Cell,一个控制区是一个系统(System)中的一部分,比如一个汽车生产线的某个工段的装配线就是一个Process Cell。
图1-3 不同控制系统类型
Process Cell推荐用一个4位数的整数表示。若是一个集成项目,则可以从0001开始按照工艺布局依次定义。若是单体设备,则建议将0000~0999设为正在研发设备的代号,其他正式批量生产的设备代码可以根据实际情况自行定义。若公司生产的设备种类繁多,则可以按照一个大类规划数字段,比如1000~1999为一个大类产品,2000~2999为另一个大类产品等,同时也预留一些备用数据段,用于完全不同种类设备的开发。
以一个PLC作为一个工艺单元为例,那么一个工艺单元中就会由一个或多个部件(Unit)组成,一个Unit里面又可能包括一个或多个设备单元(EM),而一个EM里面也可能包括一个或多个元器件(CM),如图1-4所示,若出现一个0001_01_01_71的ID,则代表着这是一个编号为71的元器件,它属于工艺单元0001中第01个Unit中的第01个EM中的。
图1-4 设备(项目)分层图示
1.工艺单元(Process Cell)
前文提到,Process Cell是一个系统(System)中的一部分,它完成一个或多个系统功能,和其他Process Cell通过数据和实际设备接口,组成一个完整的多功能的系统(项目)。
一个Process Cell有它自己的运行模式,可以独立于其他区域启动和停止。这可以在本地完成,也可以从主机级别完成。
Process Cell可以启停一个区域的设备(本地或从主机),仅检测影响一个Process Cell的错误和故障,仅收集属于一个Process Cell的设备和产品信息。
一个Process Cell将包含一个或多个Unit。
1)若是一个集成项目,项目中会由不同的PLC区域组成,所以Process Cell的名称可以按照0001依次递增的方式命名;
2)若是一个大型流水线,里面的设备按照功能由不同PLC控制,则Process Cell也可以按照0001依次递增的方式命名;
3)大型集成项目中的每一个PLC或者一个单体设备的PLC,还可以按照功能+数字的方式命名,即前两位用该功能的英文简写表示,后两位用数字代表不同的迭代产品。比如一个打包机的Process Cell可以命名为:PK01,其中PK表示打包(Pack),01表示该设备的版本为01。
2.部件(Unit)
Unit可以是指在一个Process Cell中某一类设备单元(EM)的集合,比如一个分拣项目中的输送线;也可以是指一个流水线中的完成一个功能的EM集合,比如包装设备中的机械臂组件,它就是由横移电动机、升降电动机以及一些辅助气缸组成。所以,Unit作为一个独立对象被看待,和其他EM或者其他Unit通过工艺接口,可以实现Process Cell中的一种功能,比如机械臂抓取功能。
一个Unit受控于其所在的Process Cell,即受Process Cell的启停指令控制,也可以根据工艺需求设置独立于其他Unit的启动和停止控制按钮。
当Unit是一个功能整体而非功能集合的时候,Unit仅检测影响一个Unit的错误和故障,仅收集属于一个Unit的设备和产品信息。
一个Unit将包含一个或多个EM。
Unit的ID由两位数据组成,ID号依次由01开始顺序递增。
1)某一部分的设备由一个一个单个EM组成,它们共同完成了一部分功能,比如输送功能,那这些所有的EM组成的一段(Section)应该分配成一个Unit的ID。
2)还有一些设备由于功能的需要,由多个Section组成,比如上面说到的机械臂系统,由行走和升降两部分组成,此时跟机械臂有关联的所有Section应为一个Unit的ID,此时Unit的ID建议由01开始顺序递增的奇数组成。
3.设备单元(EM)
EM是实现基本系统功能的最小机械/软件系统构建块,即这是执行一个完整工艺的最小部分。
EM由机械工程师按照标准化原则设计,在标准化程序中都会有一个与之相匹配的标准功能块(Function Block,FB),因此,软件的构建方式与机械分段的方式相同,就像机械系统的构建方式一样。
EM仅检测影响一个EM的错误和故障,仅收集属于一个EM的设备和产品信息。
一个EM将包含至少一个CM。
EM的ID由两位数据组成,ID号依次由01开始顺序递增;
1)若EM的Unit只是一些相同功能的EM的集合的话,那EM的ID应该是从01开始逐次递增的奇数;
2)若EM的Unit是一个独立功能的设备,因为该功能已经是标准的,所以里面的EM的数量是不会再变化的,那该Unit里面的EM的ID可以是由01开始顺序递增的自然数。
4.控制单元/元器件(CM)
CM是安装在机械对象上的各种传感器和执行器,它们是控制该机械部分所必需的。主要包括电动机(阀门)、光电器件、接近开关等为工艺而设计的电子元器件。CM是设备模型中最底层的单元,也是软件模型中最底层的控制对象。
由于CM种类繁多,且有的CM是需要完成一些基础功能的,所以CM的名称最多由5位数字和英文字母组成,前面2位为数字,表示该种CM的功能代码;后面最多由3位组成元器件名称的简写,用于表示是什么元器件。
比如在物流系统中,有的光电器件只是用于设备的保护功能,但有的光电器件还需要滤波跟踪功能,所以在物流系统中光电器件至少可以有两种功能代码。
表1-1就是常见的一些控制模块的命名示范,可以用于标准化设备开发的借鉴。
表1-1 CM的ID示意简表
每一个行业或公司均应该根据自身特点,建立类似的CM的ID分类表,做到设备所有的机械和元器件都能获得一个唯一的标识;
上述所描述的设备的ID都是指机械以及依附于机械设备上的元器件的命名原则,只有CM部分需要根据行业做总结。而且CM的ID命名由两部分(代码+简称)组成,为的是满足后续的CM种类和功能的更新和增减。