用于控制在离散生产线中的制造过程的方法和系统的制作方法

文档序号:10570493阅读:302来源:国知局
用于控制在离散生产线中的制造过程的方法和系统的制作方法
【专利摘要】本发明提供了一种使用计算机管理的MES系统来控制制造厂中的离散生产线的方法和系统。MES系统包括彼此交互以控制不同生产阶段的一组MES部件(C1……Cn),并且针对该控制,MES部件(C1……Cn)使用按照第一数据模型存储在数据库(DB)中的MES实体数据。该方法包括下述步骤:?将MES部件之间共享的MES实体数据从所述第一数据模型转换成第二数据模型;?提供中央缓存(CA),该中央缓存(CA)用于存储转换成第二数据模型的共享数据;?提供集线器(HB),该集线器(HB)被布置成与所有的MES部件(C1……Cn)、缓存(CA)和数据库(DB)进行通信;?在运行时,使MES部件(C1……Cn)彼此之间以及与缓存(CA)之间通过集线器(HB)进行交互以控制生产线。
【专利说明】
用于控制在离散生产线中的制造过程的方法和系统
技术领域
[0001] 本发明涉及用于控制在离散生产线中一一特别是在使用计算机管理的制造执行 系统(MESmanufacturing execution system)的生产设备中--的制造过程的方法和系 统。
【背景技术】
[0002] 本发明的示例性应用是在机动车装配线中,为清楚起见,在下文中具体参考该示 例性应用。
[0003] 图1示出了机动车装配线的一部分。该装配线包括执行操作的多个站。对于每个 站,配置有一个或更多个车间1?1、1?2、1?3,每个车间包括用于生产操作的配置。在运行时, 每个车间WP1、WP2、WP3包括由其生产命令所表示的整个车辆或车辆部件比如车架。每个生 产命令包括必须对车辆执行的实际操作(操作请求)。每个车间处的操作者终端(未示出)可 以示出与车间相关联的生产命令的操作、其状态以及其他相关信息。
[0004] 装配线所属的生产设备的MES系统由具有特定功能的几个不同的业务部件或业务 服务组成(在下文中被称为MES部件),MES部件彼此交互并且协作以控制生产并对生产负 责。上述应用中的MES部件的示例可以是:
[0005] 车辆(或生产线)跟踪VT:读取车辆在生产线上的位置并且触发与当前位置相关的 事件的部件;
[0006] 工具管理TM,控制每个车间处的工具的操作;
[0007] 质量管理QM,管理质量过程;
[0008] 团队警报管理TA,向生产线团队通知异常情况;
[0009] 原料消耗管理MC,管理生产线中所使用的原料;
[0010] 操作者终端0T;
[0011] 状态声明SD,用在特殊车间中以声明车辆已经实现的特征如颜色、内部颜色、本体 规格等的部件;
[0012] 日志(LOG):对用于诊断和性能测定的事件进行记录的部件。
[0013] 可以根据特定情形添加其他MES部件:实际上,将交互扩展至其他部件的可能性是 关键需求。
[0014] MES部件的操作依赖于在MES实体(逻辑实体(logical entity),简称LE)中组织的 数据,MES实体依赖于在数据库尤其是关系数据库中存储的几十个表格,并且MES部件的操 作受有时不能由DBMS(数据库管理系统,DataBase Management System)关系完整性实施的 关系来约束。对于每种类型的用户动作(gesture)(即对系统状态改变的请求)和在MES部件 中发生的现场事件(即正好在状态改变之后的系统响应)可能存在数据读取。在甚至数百个 操作者终端请求时频繁读取这些数据可能非常消耗时间和资源,并且如果数据不能被及时 读取,则通信和生产本身存在受到威胁的风险。例如,操作可能要求快速执行(几秒),但是 由于操作需要等到(另外的几秒)取得相关数据,所以操作可能会变慢,导致所有后续操作 的延迟。
[0015] 此外,动作和事件可能对将现有的MES部件和将会集成到系统中的其他MES部件二 者产生影响。
[0016] 在现有系统中,如图2所示,所有的MES部件相互连接并绑定在一起,并且访问数据 库DB以获得必要数据。在这种环境下,通常必须解决两个问题:
[0017]-数据读取过程中的性能问题;
[0018]-由于MES部件之间大量的互连所引起的在功能设计和源代码方面的复杂性。
[0019]关于第一个问题,当新车辆进入站时,操作者通知MES系统并且MES部件为了要从 数据库DB中检索的大量信息而查询该系统。要读取的数据经常是相同的;然而,每个MES部 件不知道另一个部件可能需要读取同一数据。由于这些原因,不能及时获取信息的风险较 高,并且随着部件数量和生产线复杂性的增加或者在部件需要更多信息的情况下,该风险 会变得更高。这通常导致需要投资更强大和更昂贵的服务器侧硬件以满足性能约束。
[0020] 关于第二个问题,每个现场事件或用户动作被认为并且实现为调用所参与的MES 部件的独立程序:相关软件程序调用这些部件,获得部件的响应并将它们用于随后的调用 等。由于内部子例程引起相同的逻辑和随后的调用,所以每个事件/动作具有复杂的实现方 式,经常重复代码。存在高度复杂性的业务逻辑(动作/事件和对MES部件的调用之间的映 射)相关性:即,在调用栈可能会非常深和复杂时,这导致运行时诊断上的困难,这是由于触 发引起了引起整个执行内部的其他触发的消息。
[0021] 现有技术结构的另外的问题是缺乏模块性。MES部件被绑定在一起并且在未改变 其交互的情况下其不能被组合成符合特定工厂的需要。从客户角度来看,这需要在定制方 面或者在获取和运行非必需系统方面的投资。
[0022] 本发明的目标是克服现有技术的缺点。

【发明内容】

[0023] 根据本发明,控制离散生产线的方法包括以下步骤:
[0024]-将MES部件之间共享的MES实体数据从在数据库中使用的第一数据模型转换成第 二数据模型;
[0025] _提供中央缓存,所述中央缓存用于存储转换成第二数据模型的共享数据;
[0026]-提供集线器(hub),所述集线器被布置成与所有的MES部件、缓存和数据库进行通 f目;
[0027]-在运行时,使MES部件彼此之间以及与缓存之间通过集线器进行交互以控制生产 线。
[0028] 使用高速缓冲存储器似乎是用于加速从数据库获取数据的过程的简单解决方案。 MES系统将有部分杠杆作用,但是除非采用特定数据模型,否则仍有大量问题未解决,特别 是关于:
[0029] -并发性,即,多个部件同时访问同一数据;
[0030] -需要全局重新加载或刷新所存储的实体以使缓存同步,就I/O操作而言需要如 此;
[0031] -业务逻辑相关性和源代码复杂性:当每个MES部件依赖于大量其他MES部件时,每 个改变请求影响大量源代码。
[0032]在本发明实施方式中,数据转换包括在缓存中创建MES实体组,使得每个组包括在 同一时刻并且在应用的同一点中所使用的MES实体。包括在每个组中的MES实体包括父类实 体和子类实体,并且一些父类实体可以以具有所有属性的完整形式被包括所述组中或以不 具有属性的虚拟形式被包括在所述组中。
[0033]在本发明的实施方式中,MES之间通过集线器的交互包括使MES部件和集线器根据 面向事件的协议进行通信,其包括下列步骤:
[0034]-由用户或MES部件生成动作消息并将动作消息发送至集线器,所述动作消息表示 对MES部件和存储在缓存中的实体的状态改变的请求;
[0035] -将动作消息从集线器转发至有关的MES部件;
[0036] -从所述有关的MES部件向集线器发送回事件消息,该事件消息表示发生的状态改 变;
[0037] _使所述事件消息从集线器中反跳至有关的MES部件。
[0038]在本发明实施方式中,MES部件与缓存通过集线器的交互包括根据乐观/悲观的读 取/更新机制来对缓存进行操作。
[0039]还提供了一种具有用于执行该方法的装置的系统。
[0040] 此外,可以提供一种计算机程序单元,该计算机程序单元包括计算机程序代码,该 计算机程序代码在被加载在计算设备的数字处理器中时用于执行根据上述方法的步骤。
[0041] 另外,可以提供一种存储在计算机可用介质上的计算机程序产品,该计算机程序 产品包括用于使计算设备执行上述方法的计算机可读程序代码。
【附图说明】
[0042] 现在将参考附图以优选但不排他的实施方式来描述本发明,其中:
[0043] 图1示意性地示出了机动车装配线的一部分;
[0044] 图2是根据现有技术的在图1的装配线中的MES部件之间的连接的示图;
[0045]图3是如图2中那样连接的MES部件之间的交互的示例的顺序图;
[0046] 图4是根据本发明的在图1的装配线中的MES部件之间的连接的示图;
[0047] 图5示出了缓存中的示例性数据模型结构;
[0048]图6A至图61更详细地示出了图5的可缓存实体;
[0049] 图7A至图7F是对缓存执行的操作的流程图;
[0050] 图8是集线器模式的操作原理的示意图;
[0051]图9A和图9B是在集线器操作中所使用的功能的流程图;
[0052]图10是在使用本发明时MES部件之间的交互的示例的顺序图。
【具体实施方式】
[0053] 上面已经讨论了图1和图2。
[0054]图3是关于车辆进入车间WPi时如图2中那样连接的MES部件之间的交互的顺序图。 在所述进入时,部件VT通知工具管理器TM;在从TM响应之后,通知观察那个车间的操作者终 端0T。然后,在某些情况下,质量业务部件被用于坚持并处理状态改变并且再次通知操作 员。如果出现某种异常(这里涉及TM),质量管理QM干预并使团队警报TA利用在本领域中被 称为"暗灯"的合适警报设备通知团队。在这个示例中,一个工具操作已发生故障,并且0T在 监视器上示出该故障且TA显示暗灯。要针对每个事件实现管理程序并且由于部件之间的相 关性而使程序变得复杂。
[0055]图4示出了根据本发明的MES部件的组织结构。本发明准备添加集成的且彼此便利 的两个独立部分:所有的MES部件之间共享的高速缓冲存储器(或简称"缓存")CA;和集线器 模式(或简称"集线器")m。所有的MES部件通过各自的适配器AD分别连接至集线器HB,而HB 进而在运行时对在缓存CA中的所有操作进行管理。在必要时,HB还负责读取/更新数据库 DB。还为缓存CA设置适配器AD。
[0056]缓存CA的设置涉及将在数据库DB中使用的数据模型(例如,关系模型)转换成能够 方便地存储进缓存CA中并且能够从缓存CA中方便地检索的缓存数据模型。该转换考虑到对 类似于缓存的关联存储器的访问和更新较快但不如在关系数据库中那么灵活,并且允许对 父类LE(可能是虚拟的,即不具有属性)和子类LE进行标识。在根据本发明的模型中,数据访 问的最重要的准则是"位置"准则,为此创建了缓存实体(CE,Cache Entity)这些实体是LE 组,使得在同一时刻并且在应用的同一点中所使用的所有LE尽可能地被包括在同一 CE中。 要存储在缓存CA中的LE包括MES部件之间所共享的数据。相反,不聚集特别用于一个MES部 件的数据,即使对它们的引用按照它们能被调用的顺序被保存。它们可以留在数据库中或 保持在专用/特别用于特定MES部件的缓存中。
[0057]集线器HB是以面向事件的方式实现MES服务之间的程序相关性的软件引擎:也就 是说,替代具有调用其他程序或子例程的程序,本发明基于对动作和MES部件调用(反跳的 事件)的相关性。集线器m接收(由用户生成的或响应于其他事件而生成的)动作并将它们 分派至合适的MES部件。对于每个MES部件,集线器HB具有相同的形状和行为。由于面向事件 的操作,它也能被定义为"事件引擎"。
[0058] 适配器AD是使(由CE和要对CE执行的活动(act ion)组成的)动作和(由CE和通过CE 所获得的状态组成的)现场事件反跳适应于由不同部件使用的协议的部件。适配器AD被设 计成(和保持为)仅知道:
[0059]-相关触发(动作或反跳);
[0060] -响应于所述触发的适当行为;
[0061] -现场事件的入站(inbound)预处理器:实际上,MES部件并非向所有事件提供要被 处理的事件所需要的所有信息,并且一些事件与业务逻辑并不相关。MES部件(从MES部件到 MES运行时间的入站"端口")负责转发和过滤。
[0062] 针对应用于机动车生产线的示例性应用,在图5和图6(图6A至图61)中示意性地图 示了缓存CA的数据模型结构。图5中的虚线框表示CE而实线框表示LE。通过使用crow's foot表示法来描述不同LE之间的关系。实线连接符号表示标识关系,而虚线连接符号表示 非标识关系。
[0063]出于可读性考虑,图5仅示出了LE名称,并且在图6A至图61中示出了LE属性。与某 些属性相关联的括号中的符号分别指示:
[0064] -0:可选属性;
[0065] -IE:转化条目(Inversion Entry),即存在于潜在物理实体中的搜索索引;
[0066] -FK:外来关键字。
[0067] 为从名称不能直接显现任务的LE提供了简短说明。不必探究特别用于示例应用的 个别属性的细节,该个别属性的含义是清楚明显的。存在于所有LE中的属性"RowUpdated (经行更新)"和"User(用户)"指示创建或修改LE的时间和修改的作者。
[0068] 如上所述,CE聚集了在同一时刻并且在应用的同一点上使用的LE。将LE分组成CE 基本上是基于:
[0069]-数据访问的频率(例如:从低到高);
[0070]-使用的阶段,特别是策划(engineering)!;或配置)时间或运行时间。数据大小也 是分组的准则。
[0071 ]针对策划阶段,设计了下列CE:
[0072]-车间组WG,包括下列LE:车间组(父类)、车间设置和车间准备检查(子类);
[0073]-完成车间CW,包括下列LE:标准车间(父类)、车间工作操作关系和车间引用关系 (子类)。车间工作操作关系描述了在车间中要执行或检查的操作,以及车间引用关系描述 了连接至对车间中的操作员有用的内容的某些连接(典型地,指示特定部分的问题的图形 规划);而标准车间转而是车间组的子类;
[0074]-车间细节WD,包括将数据用于特定操作的车间VG0(视觉引导操作,)LE;这个实体 是标准车间的子类;
[0075] -完成团队CT,包括团队(父类)和标准车间(子类)LE;
[0076] -完成设备CEQ,包括设备(父类)和标准车间(子类)LE。
[0077]针对运行时间数据,设计了下列CE:
[0078] -车辆位置VL,仅包括车间车辆LE:它是链接该策划和运行时间数据的结点实体;
[0079] -完成生产命令CP,包括生产命令(父类)LE和步骤请求(子类)LE;后者是描述生产 命令所需的实际操作和质量过程的LE。生产命令也是车间车辆的父类;
[0080] -生产命令细节ro,包括下列LE:命令特性、命令原料和有效资格准则(车辆的逻辑 真条件表征条件操作和状态声明):所有的这些LE是生产命令的子类;
[0081] -站信息SI,包括生产命令达到特征LE和生产命令转变LE,SI提供了在部件SD的任 务的执行中所用的数据(图4)。
[0082] 由于为设计CE所采用的准则,某些LE可能属于不同的CE。此外,属于不同CE的LE可 以以具有其属性的完整形式被包括,或者以不具有属性的虚拟形式被包括。仅在有关的图 6A至图61中示出了以虚拟形式存在的LE。
[0083]在示例中,该多个附属物涉及标准车间LE和生产命令LE,标准车间LE以完整形式 存在于CT、CW和CEQ中并且以虚拟形式存在于WD中,生产命令LE以完整形式存在于CP中并且 以虚拟形式存在于PD中。这是因为在很多子例程中经常使用"完整"CE,而仅偶尔使用"细 节" CE来集成"完备" CE:还基于使用频率来创建CE免去连续不断地操纵非常大的实体,其中 的内容的一部分在长时间内并不使用。对于将LE以完整形式或虚拟形式包括在CE中,使用 频率可以是通用准则。
[0084]还要理解的是,除了主关键字之外,每个CE还具有被实现在缓存CA中以支持搜索 的其他替代关键字。
[0085]与常规的缓存不同,在给定的期限内将不对缓存CA进行刷新:而是采用乐观/悲观 的读取/更新的构思。
[0086]为此,管理在数据缓存中的操作的软件可以被认为是包括下列部件:
[0087]-与用户交互并且有助于从缓存CA聚集的数据的门面(facade);
[0088]-支持查询最新数据的数据读取器;
[0089] _对访问缓存数据进行管理的储存库服务;
[0090]-缓存管理器,实现用于管理缓存CA和查询CA的高级逻辑;
[0091] -数据缓存,对实际的缓存服务进行封装,该数据缓存可以被委托给第三方或甚至 禁止用于测试目的或用在系统退化的情况下。
[0092] -还可以提供对数据库进行建模的数据背景。
[0093] 储存库服务通过不同的工作者线程(即,参与并行操作的主体)来实现数据读取和 更新的方法。更具体地,当工作者线程需要读取数据时,它查询储存库服务,该储存库服务 乐观地询问缓存管理器以从缓存CA中得到相关实体。如果实体不存在("丢失")或无效(根 据特定准则,"停滞(stale)"),则从数据库中悲观地读取该实体,即,通过在操作期间锁定 该关键字来阻止并发性。当工作者线程一一通常是缓存适配器一一接收到实体已经改变的 信息时,工作者线程调用传递该更新的储存库服务来执行。储存器进而悲观地搜索缓存管 理器;
[0094] -如果实体存在于缓存中(命中),则在保持锁定的同时更新实体并返回实体;
[0095] _在实体丢失或无效的情况下,从其中实体总是具有当前状态的数据库中再次读 取该实体,在缓存CA中保存该实体并返回该实体。
[0096]在图7A至图7F中示出了乐观/悲观的读取/更新程序。在那里,"实体(entity)"表 示CE。所使用的其他术语和符号在现有技术中是常规的。程序的子例程考虑到缓存CA将字 符串与对象进行关联,以便浏览缓存按照如下发生:给出关键字,搜索关联的对象;如果该 对象是字符串,则搜索关联的对象,等等。实际上,仅定义了一个由替代关键字组成的链路 级。比如,参考图5和图6的示例并假设要进行的缓存操作涉及使ID = x(x是字符串)并且车 辆识别码VIN = y(VIN是替代关键字并且是字符串)的生产命令X(即CE),定义关联x-X和y -x(字符串-CE,字符串-字符串),以便通过y进行的搜索将返回x并且通过x进行的随后 搜索将返回X。
[0097]图7A是一般程序。当通常称为"更新(update)"的操作被请求时(步骤101),检查该 值实际上是否要被更新(步骤102)。在肯定时,针对有关实体悲观地执行update子例程 (Pessimistic Update(keyEntity))(步骤103)并返回被更新的实体(步骤104)。在否定时 (步骤102,输出否),乐观地读取实体(步骤105)。然后根据是否在无异常的情况下检索到实 体,处理进入步骤104或步骤103。
[0098]图7B详细说明了optimistic get子例程(Optimistic Get(keyEntity))。步骤202 (通过向其分配由子例程Find(KeyEntity)所返回的关键字值)定义要获取的实体 (entity),以及步骤203是与步骤106(图7A)的检查相同的检查。如果这个检查具有肯定的 结果,则将进一步检查(步骤204)实体是否有效,并且在肯定时返回该实体(步骤205)。在检 查203的结果为否定的情况下,传输异常(步骤206),并且在检查204的输出为否的情况下, 发出无效实体异常(步骤207)。
[0099]图7C详细描述了在图7B的步骤202处所调用的Find(KeyEntity)子例程。在步骤 302、步骤303处,定义了要找到的关键字(key)(通过子例程Get Cache Key(keyEntity))和 对象(object)(通过子例程Get (key))。在步骤304中,检查所检索到的对象是否为实体,并 且在肯定时,返回该对象(步骤305)。在否定时,检查所检索到的对象是否为字符串(步骤 306)。在否定时,发出丢失异常(步骤310)。在肯定时,从该字符串开始读取该对象(通过子 例程Get( 〇bjeCt))(步骤307)。然后,再次检查所检索到的对象是否为实体,并且在肯定时, 返回该对象(步骤308、309),反之,在否定时,发出丢失异常(步骤310)。
[0100] 图7D详细描述了悲观更新子例程(pessimistic update(key Entity))。第一步是 对关键字的锁定(通过子例程Lock(keyEntity))(步骤402)。在步骤403处对锁定进行检查: 在肯定的结果的情况下,搜索与该关键字相应的实体(通过子例程Find(key Entity))(步 骤404),反之,在否定时,发出锁定异常(步骤405)。如果在无异常的情况下检索到该实体 (步骤406的输出为是),则检查是否需要更新(步骤407)。在否定时,返回该实体(步骤408)。 在肯定时,定义要被更新的实体(通过子例程Put (entity))(步骤409)并且对该实体是否在 无异常的情况下被更新进行检查(步骤410)。在肯定时,处理进入步骤408,而在否定时,处 理进入取回步骤411(通过子例程?6丨〇11(1^7£111:;^7))。在检查407的结果为否的情况下也到 达步骤411。此后,执行类似于步骤409的put步骤412(通过子例程Put (entity))并且到达步 骤408。
[0101] 图7E详细描述了 lock子例程。在步骤502处定义要被锁定的关键字(通过子例程 Get Cache (Key) (keyEntity)),并且(在步骤503、步骤504处)执行锁定(通过子例程Lock (Key))。
[0102]图7F详细描述了put子例程。除了对旧对象执行get(key)子例程以外,步骤602至 步骤604和步骤609基本上与图7C中的步骤302至步骤304和步骤306对应。在步骤604的结果 为肯定的情况下,将"旧对象(oldObject)"值分配给旧实体(〇1(^111:;^7)(步骤605)并且针 对新实体执行的put子例程(步骤606)。在针对关键字的索引之后,新实体和旧实体被更新 (步骤607),新实体被返回(步骤608)。在检查609的结果为肯定的情况下,针对对象执行get 子例程(步骤610),并且如果检索到的对象为实体,则处理转到步骤606。如果所检索到的对 象不是字符串或不是实体(步骤609或611的结果分别为否定),则发出丢失异常(步骤612)。
[0103] 当然,为了系统的稳健性,支持直接数据库修改,而另一方面,在工业应用中经常 也需要直接数据库修改。在任何情况下,对保存在缓存CA中的逻辑实体给出过期时间,在过 期时间结束时,利用存储在数据库中的相应值对逻辑实体进行更新。从而,即使在数据库中 直接更新实体,在长(但固定的)时间之后,该实体也总是与其缓存对应物同步,并且该缓存 可以被认为是数据库的趋同副本。
[0104] 要理解的是,缓存CA的适配器对存在于缓存本身中的实体的所有状态改变进行管 理。以这种方式,在运行时,生产命令CE与其反映的LE对准。
[0105]被缓存的对象的改变通常作为来自所涉及的MES部件的事件而被通知。这意味着 必须依据从现场到MES运行时间的基本消息来设计架构,这是执行服务的公共代表(一类集 线器软件)。然后MES运行时间反跳可能由其他MES部件所管理的每个消息。反跳的事件在此 处也被称为动作并且遵循其他动作的路径,更典型地,从用户流向MES运行时间然后流向不 同的部件。
[0106]在图8中示出了基于"动作和事件"的上述操作方式。在那里,门面FA是操作员的图 形用户界面GUI与系统之间的接口,该接口隐藏MES部件的复杂性和基于CE的数据模型的复 杂性。FA在⑶I请求时向MES运行时间MRT发送动作,以及MRT对MES部件C1……Cn的适配器AD (图4)执行循环操作并且激活对动作感兴趣的(多个)部件的(多个)适配器。所激活的(多 个)部件Ci向MRT发送事件消息,MRT以另一动作的形式将该事件反跳至另一部件。
[0107]通常,根据这种观点,在示例性应用中,可以根据下列表1将不同的生产事件连同 从内部引起的事件一起分配给不同的适配器。所用的语法是:
[0108] 动作:〈verb to execute>//+//<type>[//[^binary traitsU
[0109] 事件:<type>["["binary traits"]"]"+"〈achieved status>〇
[0110] "Type"指示CE,而〃binary traits〃指示CE的类型,CE的类型取决于属性的约束。
[0111]表1
[0114]表1(后续)
[0116] 可以通过两个逻辑一一在图9A和9B中分别示出的"接受"(用于动作)和"开始"(用 于事件)来图形化"动作和事件"操作。
[0117] 接受程序通过动作开始(步骤701)并对所有MES部件执行循环操作(步骤702、步骤 703、步骤706)。对于每个部件(步骤703 ),循环包括检查部件是否接受该动作(步骤704),并 且在肯定时,在部件中处理该动作(步骤705)。如果部件不接受该动作(步骤704的否定输 出),则处理转到后续的部件。当所有的部件已经被调用(步骤703的否定输出)时,处理停 止。
[0118] 要注意的是,HB可以以任何合适的方式一一例如根据这里所假定的顺序调用、或 根据对所有适配器的同时调用或利用介于这样的极端之间的同步水平一一来调用适配器。
[0119] 开始程序对动作中的事件进行转换(步骤802),并且该转换启动了图9A的程序(步 骤803)。
[0120] 在通过仅对接受逻辑进行转化来将适配器集成到依赖于预定逻辑的现成技术中, 分开两个逻辑是有用的。
[0121] 图10是在使用本发明时车辆进入生产线的顺序图。当车辆进入车间WPi时,部件VT 启动动作并且向集线器HB中的MES运行时间发送相关消息。HB通知工具管理器TM和观察车 间的操作者终端0T(在该情况下,利用车辆位置实体的指示),工具管理器TM利用包括某种 类型的步骤请求(SR)实体的事件消息来响应HB。基于这样的响应,HB将该事件反跳至0T。在 工具故障的情况下(trait"Tool&PartialNotOK(工具&局部非0K)"),借助于动作和反跳事 件的对话在TM与HB之间、HB与QM之间,HB与TA之间进行,其中HB每次均通知0T。不言而喻,每 个部件仅看到它自己的数据部分并且该例程可以被拆分成更小和更能理解的部分,从而解 决相关性问题。
[0122] 缓存CA和集线器HB的设置提供了显著的优点。
[0123] 缓存CA允许及时访问数据并便于其他软件层不会因数据检索而延迟。实际上,在 诊断问题时,对数据库的较少调用引起较少的并发性、较少的锁定、较少的死锁、致命的复 杂性。此外,缓存CA可以独立于针对数据操纵策略的技术,并且还可以优化特定对象的并发 性而不是[有时>10]数据库表的记录。
[0124] 集线器HB的特点在于易于设计、开发和维护:所以分析员只是必须关注于单个MES 部件必须反应的动作和事件反跳以及其必须唤起的现场事件,而不必详细说明所有可能的 后果。
[0125] 此外,每个相关的行为必须仅在一个位置实现。
[0126] 此外,由于MES部件没有被绑定在一起,所以可以简单地"拔去"不需要的部件的适 配器而没有退化或性能问题的风险。而且,在商业上,可以在不再需要不被调用的部件的情 况下提供用于特定应用的软件。
[0127] 还要指出的是,在没有缓存的情况下,由于每个模块将必须从数据库中读取它自 己的数据,所以集线器HB导致了不合适的解决方案并且性能问题将变得更糟。另一方面,在 没有集线器m的情况下,缓存将需要针对改变轮询数据库而不是依靠通过m提供的来自 MES部件中的改变的状态事件。因此,利用缓存和集线器HB的结合,可以在需要实体时读取 该实体并且可以按时更新所缓存的实体。
[0128] 除了上面描述的本发明的实施方式之外,本领域技术人员将能够得出各种其他布 置和步骤,如果这些其他布置和步骤在该文件中未被明确描述,但其仍然落入所附权利要 求的范围内。
【主权项】
1. 一种使用计算机管理的制造执行系统MES来控制制造厂中的离散生产线的方法,其 中,所述MES系统包括彼此交互以控制不同生产阶段的一组MES部件(Cl……Cn),并且针对 所述控制,所述MES部件(Cl……Cn)使用按照第一数据模型存储在数据库(DB)中的MES实体 数据;所述方法的特征在于其包括以下步骤: -将所述MES部件之间共享的MES实体数据从所述第一数据模型转换成第二数据模型; -提供中央缓存(CA),所述中央缓存(CA)用于存储转换成所述第二数据模型的共享数 据; -提供集线器(HB),所述集线器(HB)被布置成与所有的MES部件(Cl……Cn)、所述缓存 (CA)和所述数据库(DB)进行通信; -在运行时,使所述MES部件(Cl……Cn)彼此之间以及与所述缓存(CA)之间通过所述集 线器(HB)进行交互以控制所述生产线。2. 根据权利要求1所述的方法,其中,所述转换步骤包括在所述缓存(CA)中创建MES实 体组,每个MES实体组包括在同一时刻并且在应用的同一点中所使用的MES实体。3. 根据权利要求2所述的方法,其中,包括在所述组中的所述MES实体包括父类实体和 子类实体,并且在所述转换步骤中,父类实体以具有所有属性的完整形式被包括在所述组 中或以不具有属性的虚拟形式被包括在所述组中。4. 根据权利要求1所述的方法,其中,提供中央缓存(CA)的步骤包括:对存储在所述缓 存本身中的所述MES实体设置过期时间;以及在所述时间结束时,利用在所述数据库(DB)中 存储的相应值对所述实体进行更新。5. 根据权利要求1所述的方法,其中,使所述MES部件彼此之间通过所述集线器(HB)进 行交互的步骤包括使所述MES部件和所述集线器根据面向事件的协议进行通信,其包括以 下步骤: -在MES部件处生成动作消息并将所述动作消息发送至所述集线器(HB),所述动作消息 表示对所述MES部件和存储在所述缓存(CA)中的所述实体的状态改变的请求; -将所述动作消息从所述集线器(HB)转发至有关的MES部件; -从所述有关的MES部件向所述集线器(HB)发送回事件消息,所述事件消息表示发生的 状态改变; -使所述事件消息从所述集线器中反跳至有关的MES部件。6. 根据权利要求5所述的方法,还包括以下步骤:使每个MES部件配备有适配器(AD)I 述适配器(AD)被布置成将所述动作消息和所述反跳的事件消息转化成在所述部件内使用 的格式,反之亦然。7. 根据权利要求1所述的方法,其中,使所述MES部件与所述缓存(CA)通过所述集线器 (HB)进行交互的步骤包括根据乐观/悲观的读取/更新机制来对所述缓存(CA)进行操作。8. 根据权利要求7所述的方法,还包括以下步骤:使所述缓存(CA)配备有适配器(AD), 所述适配器(AD)对存储在所述缓存本身中的所述实体的所有状态改变进行管理。9. 一种通过MES系统来控制制造厂中的离散生产线的系统,其中,所述MES系统包括彼 此交互以控制不同生产阶段的一组MES部件(Cl……Cn),并且针对所述控制,所述MES部件 (Cl……Cn)使用按照第一数据模型存储在数据库(DB)中的MES实体数据;所述系统的特征 在于,包括: -中央缓存(CA),所述中央缓存(CA)用于存储在所述MES部件之间共享的并且根据第二 数据模型组织的MES实体数据; -中央集线器(HB),所有的MES部件(Cl……Cn)、所述缓存(CA)和所述数据库(DB)连接 至所述中央集线器(HB); 其中,所述MES部件(Cl……Cn)被布置成在运行时彼此之间以及与所述缓存(CA)之间 通过集线器(HB)进行交互。 I〇.根据权利要求9所述的系统,其中,针对所述MES部件(C1……Cn)彼此之间以及与所 述缓存(CA)之间通过所述集线器(HB)的交互,所述MES部件(Cl……Cn)包括用于基于以下 来实现面向事件的通信协议的装置: -动作消息,所述动作消息表示对所述MES部件(Cl......Cn)和存储在所述缓存(CA)中的 所述实体的状态改变的请求,并且所述动作消息从始发部件发送至所述集线器(HB)并且从 所述集线器(HB)发送至有关的MES部件; -现场事件消息,所述现场事件消息表示发生的状态改变,并且所述现场事件消息从有 关的MES部件送回至所述集线器(HB)以及从所述集线器反跳至其他有关的MES部件; 并且所述集线器(HB)包括用于在所述缓存中实现乐观/悲观读取/更新机制的装置。11. 根据权利要求9或10所述的系统,其中,所述离散生产线是机动车装配线。12. 根据权利要求1至8中任一项所述的方法,其特征在于,所述方法以软件来实现。13. -种用于执行根据权利要求1至8中任一项所述的方法的步骤的计算机程序产品。
【文档编号】G05B19/418GK105930947SQ201610108618
【公开日】2016年9月7日
【申请日】2016年2月26日
【发明人】保罗·奥米诺
【申请人】西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1