CN105930947B - 用于控制在离散生产线中的制造过程的方法和系统 - Google Patents
用于控制在离散生产线中的制造过程的方法和系统 Download PDFInfo
- Publication number
- CN105930947B CN105930947B CN201610108618.9A CN201610108618A CN105930947B CN 105930947 B CN105930947 B CN 105930947B CN 201610108618 A CN201610108618 A CN 201610108618A CN 105930947 B CN105930947 B CN 105930947B
- Authority
- CN
- China
- Prior art keywords
- mes
- entities
- hub
- data model
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013499 data model Methods 0.000 claims abstract description 30
- 230000009471 action Effects 0.000 claims description 39
- 230000008859 change Effects 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000002994 raw material Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41835—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41845—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06313—Resource planning in a project environment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31368—MAP manufacturing automation protocol
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31372—Mes manufacturing execution system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种使用计算机管理的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)进行交互以控制生产线。
Description
技术领域
本发明涉及用于控制在离散生产线中——特别是在使用计算机管理的制造执行系统(MES,manufacturing execution system)的生产设备中——的制造过程的方法和系统。
背景技术
本发明的示例性应用是在机动车装配线中,为清楚起见,在下文中具体参考该示例性应用。
图1示出了机动车装配线的一部分。该装配线包括执行操作的多个站。对于每个站,配置有一个或更多个车间WP1、WP2、WP3,每个车间包括用于生产操作的配置。在运行时,每个车间WP1、WP2、WP3包括由其生产命令所表示的整个车辆或车辆部件比如车架。每个生产命令包括必须对车辆执行的实际操作(操作请求)。每个车间处的操作者终端(未示出)可以示出与车间相关联的生产命令的操作、其状态以及其他相关信息。
装配线所属的生产设备的MES系统由具有特定功能的几个不同的业务部件或业务服务组成(在下文中被称为MES部件),MES部件彼此交互并且协作以控制生产并对生产负责。上述应用中的MES部件的示例可以是:
车辆(或生产线)跟踪VT:读取车辆在生产线上的位置并且触发与当前位置相关的事件的部件;
工具管理TM,控制每个车间处的工具的操作;
质量管理QM,管理质量过程;
团队警报管理TA,向生产线团队通知异常情况;
原料消耗管理MC,管理生产线中所使用的原料;
操作者终端OT;
状态声明SD,用在特殊车间中以声明车辆已经实现的特征如颜色、内部颜色、本体规格等的部件;
日志(LOG):对用于诊断和性能测定的事件进行记录的部件。
可以根据特定情形添加其他MES部件:实际上,将交互扩展至其他部件的可能性是关键需求。
MES部件的操作依赖于在MES实体(逻辑实体(logical entity),简称LE)中组织的数据,MES实体依赖于在数据库尤其是关系数据库中存储的几十个表格,并且MES部件的操作受有时不能由DBMS(数据库管理系统,DataBase Management System)关系完整性实施的关系来约束。对于每种类型的用户动作(gesture)(即对系统状态改变的请求)和在MES部件中发生的现场事件(即正好在状态改变之后的系统响应)可能存在数据读取。在甚至数百个操作者终端请求时频繁读取这些数据可能非常消耗时间和资源,并且如果数据不能被及时读取,则通信和生产本身存在受到威胁的风险。例如,操作可能要求快速执行(几秒),但是由于操作需要等到(另外的几秒)取得相关数据,所以操作可能会变慢,导致所有后续操作的延迟。
此外,动作和事件可能对将现有的MES部件和将会集成到系统中的其他MES部件二者产生影响。
在现有系统中,如图2所示,所有的MES部件相互连接并绑定在一起,并且访问数据库DB以获得必要数据。在这种环境下,通常必须解决两个问题:
-数据读取过程中的性能问题;
-由于MES部件之间大量的互连所引起的在功能设计和源代码方面的复杂性。
关于第一个问题,当新车辆进入站时,操作者通知MES系统并且MES部件为了要从数据库DB中检索的大量信息而查询该系统。要读取的数据经常是相同的;然而,每个MES部件不知道另一个部件可能需要读取同一数据。由于这些原因,不能及时获取信息的风险较高,并且随着部件数量和生产线复杂性的增加或者在部件需要更多信息的情况下,该风险会变得更高。这通常导致需要投资更强大和更昂贵的服务器侧硬件以满足性能约束。
关于第二个问题,每个现场事件或用户动作被认为并且实现为调用所参与的MES部件的独立程序:相关软件程序调用这些部件,获得部件的响应并将它们用于随后的调用等。由于内部子例程引起相同的逻辑和随后的调用,所以每个事件/动作具有复杂的实现方式,经常重复代码。存在高度复杂性的业务逻辑(动作/事件和对MES部件的调用之间的映射)相关性:即,在调用栈可能会非常深和复杂时,这导致运行时诊断上的困难,这是由于触发引起了引起整个执行内部的其他触发的消息。
现有技术结构的另外的问题是缺乏模块性。MES部件被绑定在一起并且在未改变其交互的情况下其不能被组合成符合特定工厂的需要。从客户角度来看,这需要在定制方面或者在获取和运行非必需系统方面的投资。
本发明的目标是克服现有技术的缺点。
发明内容
根据本发明,控制离散生产线的方法包括以下步骤:
-将MES部件之间共享的MES实体数据从在数据库中使用的第一数据模型转换成第二数据模型;
-提供中央缓存,所述中央缓存用于存储转换成第二数据模型的共享数据;
-提供集线器(hub),所述集线器被布置成与所有的MES部件、缓存和数据库进行通信;
-在运行时,使MES部件彼此之间以及与缓存之间通过集线器进行交互以控制生产线。
使用高速缓冲存储器似乎是用于加速从数据库获取数据的过程的简单解决方案。MES系统将有部分杠杆作用,但是除非采用特定数据模型,否则仍有大量问题未解决,特别是关于:
-并发性,即,多个部件同时访问同一数据;
-需要全局重新加载或刷新所存储的实体以使缓存同步,就I/O操作而言需要如此;
-业务逻辑相关性和源代码复杂性:当每个MES部件依赖于大量其他MES部件时,每个改变请求影响大量源代码。
在本发明实施方式中,数据转换包括在缓存中创建MES实体组,使得每个组包括在同一时刻并且在应用的同一点中所使用的MES实体。包括在每个组中的MES实体包括父类实体和子类实体,并且一些父类实体可以以具有所有属性的完整形式被包括所述组中或以不具有属性的虚拟形式被包括在所述组中。
在本发明的实施方式中,MES之间通过集线器的交互包括使MES部件和集线器根据面向事件的协议进行通信,其包括下列步骤:
-由用户或MES部件生成动作消息并将动作消息发送至集线器,所述动作消息表示对MES部件和存储在缓存中的实体的状态改变的请求;
-将动作消息从集线器转发至有关的MES部件;
-从所述有关的MES部件向集线器发送回事件消息,该事件消息表示发生的状态改变;
-使所述事件消息从集线器中反跳至有关的MES部件。
在本发明实施方式中,MES部件与缓存通过集线器的交互包括根据乐观/悲观的读取/更新机制来对缓存进行操作。
还提供了一种具有用于执行该方法的装置的系统。
此外,可以提供一种计算机程序单元,该计算机程序单元包括计算机程序代码,该计算机程序代码在被加载在计算设备的数字处理器中时用于执行根据上述方法的步骤。
另外,可以提供一种存储在计算机可用介质上的计算机程序产品,该计算机程序产品包括用于使计算设备执行上述方法的计算机可读程序代码。
附图说明
现在将参考附图以优选但不排他的实施方式来描述本发明,其中:
图1示意性地示出了机动车装配线的一部分;
图2是根据现有技术的在图1的装配线中的MES部件之间的连接的示图;
图3是如图2中那样连接的MES部件之间的交互的示例的顺序图;
图4是根据本发明的在图1的装配线中的MES部件之间的连接的示图;
图5示出了缓存中的示例性数据模型结构;
图6A至图6I更详细地示出了图5的可缓存实体;
图7A至图7F是对缓存执行的操作的流程图;
图8是集线器模式的操作原理的示意图;
图9A和图9B是在集线器操作中所使用的功能的流程图;
图10是在使用本发明时MES部件之间的交互的示例的顺序图。
具体实施方式
上面已经讨论了图1和图2。
图3是关于车辆进入车间WPi时如图2中那样连接的MES部件之间的交互的顺序图。在所述进入时,部件VT通知工具管理器TM;在从TM响应之后,通知观察那个车间的操作者终端OT。然后,在某些情况下,质量业务部件被用于坚持并处理状态改变并且再次通知操作员。如果出现某种异常(这里涉及TM),质量管理QM干预并使团队警报TA利用在本领域中被称为“暗灯”的合适警报设备通知团队。在这个示例中,一个工具操作已发生故障,并且OT在监视器上示出该故障且TA显示暗灯。要针对每个事件实现管理程序并且由于部件之间的相关性而使程序变得复杂。
图4示出了根据本发明的MES部件的组织结构。本发明准备添加集成的且彼此便利的两个独立部分:所有的MES部件之间共享的高速缓冲存储器(或简称“缓存”)CA;和集线器模式(或简称“集线器”)HB。所有的MES部件通过各自的适配器AD分别连接至集线器HB,而HB进而在运行时对在缓存CA中的所有操作进行管理。在必要时,HB还负责读取/更新数据库DB。还为缓存CA设置适配器AD。
缓存CA的设置涉及将在数据库DB中使用的数据模型(例如,关系模型)转换成能够方便地存储进缓存CA中并且能够从缓存CA中方便地检索的缓存数据模型。该转换考虑到对类似于缓存的关联存储器的访问和更新较快但不如在关系数据库中那么灵活,并且允许对父类LE(可能是虚拟的,即不具有属性)和子类LE进行标识。在根据本发明的模型中,数据访问的最重要的准则是“位置”准则,为此创建了缓存实体(CE,Cache Entity)这些实体是LE组,使得在同一时刻并且在应用的同一点中所使用的所有LE尽可能地被包括在同一CE中。要存储在缓存CA中的LE包括MES部件之间所共享的数据。相反,不聚集特别用于一个MES部件的数据,即使对它们的引用按照它们能被调用的顺序被保存。它们可以留在数据库中或保持在专用/特别用于特定MES部件的缓存中。
集线器HB是以面向事件的方式实现MES服务之间的程序相关性的软件引擎:也就是说,替代具有调用其他程序或子例程的程序,本发明基于对动作和MES部件调用(反跳的事件)的相关性。集线器HB接收(由用户生成的或响应于其他事件而生成的)动作并将它们分派至合适的MES部件。对于每个MES部件,集线器HB具有相同的形状和行为。由于面向事件的操作,它也能被定义为“事件引擎”。
适配器AD是使(由CE和要对CE执行的活动(action)组成的)动作和(由CE和通过CE所获得的状态组成的)现场事件反跳适应于由不同部件使用的协议的部件。适配器AD被设计成(和保持为)仅知道:
-相关触发(动作或反跳);
-响应于所述触发的适当行为;
-现场事件的入站(inbound)预处理器:实际上,MES部件并非向所有事件提供要被处理的事件所需要的所有信息,并且一些事件与业务逻辑并不相关。MES部件(从MES部件到MES运行时间的入站“端口”)负责转发和过滤。
针对应用于机动车生产线的示例性应用,在图5和图6(图6A至图6I)中示意性地图示了缓存CA的数据模型结构。图5中的虚线框表示CE而实线框表示LE。通过使用crow'sfoot表示法来描述不同LE之间的关系。实线连接符号表示标识关系,而虚线连接符号表示非标识关系。
出于可读性考虑,图5仅示出了LE名称,并且在图6A至图6I中示出了LE属性。与某些属性相关联的括号中的符号分别指示:
-O:可选属性;
-IE:转化条目(Inversion Entry),即存在于潜在物理实体中的搜索索引;
-FK:外来关键字。
为从名称不能直接显现任务的LE提供了简短说明。不必探究特别用于示例应用的个别属性的细节,该个别属性的含义是清楚明显的。存在于所有LE中的属性“RowUpdated(经行更新)”和“User(用户)”指示创建或修改LE的时间和修改的作者。
如上所述,CE聚集了在同一时刻并且在应用的同一点上使用的LE。将LE分组成CE基本上是基于:
-数据访问的频率(例如:从低到高);
-使用的阶段,特别是策划(engineering)(或配置)时间或运行时间。数据大小也是分组的准则。
针对策划阶段,设计了下列CE:
-车间组WG,包括下列LE:车间组(父类)、车间设置和车间准备检查(子类);
-完成车间CW,包括下列LE:标准车间(父类)、车间工作操作关系和车间引用关系(子类)。车间工作操作关系描述了在车间中要执行或检查的操作,以及车间引用关系描述了连接至对车间中的操作员有用的内容的某些连接(典型地,指示特定部分的问题的图形规划);而标准车间转而是车间组的子类;
-车间细节WD,包括将数据用于特定操作的车间VGO(视觉引导操作,)LE;这个实体是标准车间的子类;
-完成团队CT,包括团队(父类)和标准车间(子类)LE;
-完成设备CEQ,包括设备(父类)和标准车间(子类)LE。
针对运行时间数据,设计了下列CE:
-车辆位置VL,仅包括车间车辆LE:它是链接该策划和运行时间数据的结点实体;
-完成生产命令CP,包括生产命令(父类)LE和步骤请求(子类)LE;后者是描述生产命令所需的实际操作和质量过程的LE。生产命令也是车间车辆的父类;
-生产命令细节PD,包括下列LE:命令特性、命令原料和有效资格准则(车辆的逻辑真条件表征条件操作和状态声明):所有的这些LE是生产命令的子类;
-站信息SI,包括生产命令达到特征LE和生产命令转变LE,SI提供了在部件SD的任务的执行中所用的数据(图4)。
由于为设计CE所采用的准则,某些LE可能属于不同的CE。此外,属于不同CE的LE可以以具有其属性的完整形式被包括,或者以不具有属性的虚拟形式被包括。仅在有关的图6A至图6I中示出了以虚拟形式存在的LE。
在示例中,该多个附属物涉及标准车间LE和生产命令LE,标准车间LE以完整形式存在于CT、CW和CEQ中并且以虚拟形式存在于WD中,生产命令LE以完整形式存在于CP中并且以虚拟形式存在于PD中。这是因为在很多子例程中经常使用“完整”CE,而仅偶尔使用“细节”CE来集成“完备”CE:还基于使用频率来创建CE免去连续不断地操纵非常大的实体,其中的内容的一部分在长时间内并不使用。对于将LE以完整形式或虚拟形式包括在CE中,使用频率可以是通用准则。
还要理解的是,除了主关键字之外,每个CE还具有被实现在缓存CA中以支持搜索的其他替代关键字。
与常规的缓存不同,在给定的期限内将不对缓存CA进行刷新:而是采用乐观/悲观的读取/更新的构思。
为此,管理在数据缓存中的操作的软件可以被认为是包括下列部件:
-与用户交互并且有助于从缓存CA聚集的数据的门面(facade);
-支持查询最新数据的数据读取器;
-对访问缓存数据进行管理的储存库服务;
-缓存管理器,实现用于管理缓存CA和查询CA的高级逻辑;
-数据缓存,对实际的缓存服务进行封装,该数据缓存可以被委托给第三方或甚至禁止用于测试目的或用在系统退化的情况下。
-还可以提供对数据库进行建模的数据背景。
储存库服务通过不同的工作者线程(即,参与并行操作的主体)来实现数据读取和更新的方法。更具体地,当工作者线程需要读取数据时,它查询储存库服务,该储存库服务乐观地询问缓存管理器以从缓存CA中得到相关实体。如果实体不存在(“丢失”)或无效(根据特定准则,“停滞(stale)”),则从数据库中悲观地读取该实体,即,通过在操作期间锁定该关键字来阻止并发性。当工作者线程——通常是缓存适配器——接收到实体已经改变的信息时,工作者线程调用传递该更新的储存库服务来执行。储存器进而悲观地搜索缓存管理器;
-如果实体存在于缓存中(命中),则在保持锁定的同时更新实体并返回实体;
-在实体丢失或无效的情况下,从其中实体总是具有当前状态的数据库中再次读取该实体,在缓存CA中保存该实体并返回该实体。
在图7A至图7F中示出了乐观/悲观的读取/更新程序。在那里,“实体(entity)”表示CE。所使用的其他术语和符号在现有技术中是常规的。程序的子例程考虑到缓存CA将字符串与对象进行关联,以便浏览缓存按照如下发生:给出关键字,搜索关联的对象;如果该对象是字符串,则搜索关联的对象,等等。实际上,仅定义了一个由替代关键字组成的链路级。比如,参考图5和图6的示例并假设要进行的缓存操作涉及使ID=x(x是字符串)并且车辆识别码VIN=y(VIN是替代关键字并且是字符串)的生产命令X(即CE),定义关联x→X和y→x(字符串→CE,字符串→字符串),以便通过y进行的搜索将返回x并且通过x进行的随后搜索将返回X。
图7A是一般程序。当通常称为“更新(update)”的操作被请求时(步骤101),检查该值实际上是否要被更新(步骤102)。在肯定时,针对有关实体悲观地执行update子例程(Pessimistic Update(keyEntity))(步骤103)并返回被更新的实体(步骤104)。在否定时(步骤102,输出否),乐观地读取实体(步骤105)。然后根据是否在无异常的情况下检索到实体,处理进入步骤104或步骤103。
图7B详细说明了optimistic get子例程(Optimistic Get(keyEntity))。步骤202(通过向其分配由子例程Find(KeyEntity)所返回的关键字值)定义要获取的实体(entity),以及步骤203是与步骤106(图7A)的检查相同的检查。如果这个检查具有肯定的结果,则将进一步检查(步骤204)实体是否有效,并且在肯定时返回该实体(步骤205)。在检查203的结果为否定的情况下,传输异常(步骤206),并且在检查204的输出为否的情况下,发出无效实体异常(步骤207)。
图7C详细描述了在图7B的步骤202处所调用的Find(KeyEntity)子例程。在步骤302、步骤303处,定义了要找到的关键字(key)(通过子例程Get Cache Key(keyEntity))和对象(object)(通过子例程Get(key))。在步骤304中,检查所检索到的对象是否为实体,并且在肯定时,返回该对象(步骤305)。在否定时,检查所检索到的对象是否为字符串(步骤306)。在否定时,发出丢失异常(步骤310)。在肯定时,从该字符串开始读取该对象(通过子例程Get(object))(步骤307)。然后,再次检查所检索到的对象是否为实体,并且在肯定时,返回该对象(步骤308、309),反之,在否定时,发出丢失异常(步骤310)。
图7D详细描述了悲观更新子例程(pessimistic update(key Entity))。第一步是对关键字的锁定(通过子例程Lock(keyEntity))(步骤402)。在步骤403处对锁定进行检查:在肯定的结果的情况下,搜索与该关键字相应的实体(通过子例程Find(key Entity))(步骤404),反之,在否定时,发出锁定异常(步骤405)。如果在无异常的情况下检索到该实体(步骤406的输出为是),则检查是否需要更新(步骤407)。在否定时,返回该实体(步骤408)。在肯定时,定义要被更新的实体(通过子例程Put(entity))(步骤409)并且对该实体是否在无异常的情况下被更新进行检查(步骤410)。在肯定时,处理进入步骤408,而在否定时,处理进入取回步骤411(通过子例程Fetch(keyEntity))。在检查407的结果为否的情况下也到达步骤411。此后,执行类似于步骤409的put步骤412(通过子例程Put(entity))并且到达步骤408。
图7E详细描述了lock子例程。在步骤502处定义要被锁定的关键字(通过子例程Get Cache(Key)(keyEntity)),并且(在步骤503、步骤504处)执行锁定(通过子例程Lock(Key))。
图7F详细描述了put子例程。除了对旧对象执行get(key)子例程以外,步骤602至步骤604和步骤609基本上与图7C中的步骤302至步骤304和步骤306对应。在步骤604的结果为肯定的情况下,将“旧对象(oldObject)”值分配给旧实体(oldEntity)(步骤605)并且针对新实体执行的put子例程(步骤606)。在针对关键字的索引之后,新实体和旧实体被更新(步骤607),新实体被返回(步骤608)。在检查609的结果为肯定的情况下,针对对象执行get子例程(步骤610),并且如果检索到的对象为实体,则处理转到步骤606。如果所检索到的对象不是字符串或不是实体(步骤609或611的结果分别为否定),则发出丢失异常(步骤612)。
当然,为了系统的稳健性,支持直接数据库修改,而另一方面,在工业应用中经常也需要直接数据库修改。在任何情况下,对保存在缓存CA中的逻辑实体给出过期时间,在过期时间结束时,利用存储在数据库中的相应值对逻辑实体进行更新。从而,即使在数据库中直接更新实体,在长(但固定的)时间之后,该实体也总是与其缓存对应物同步,并且该缓存可以被认为是数据库的趋同副本。
要理解的是,缓存CA的适配器对存在于缓存本身中的实体的所有状态改变进行管理。以这种方式,在运行时,生产命令CE与其反映的LE对准。
被缓存的对象的改变通常作为来自所涉及的MES部件的事件而被通知。这意味着必须依据从现场到MES运行时间的基本消息来设计架构,这是执行服务的公共代表(一类集线器软件)。然后MES运行时间反跳可能由其他MES部件所管理的每个消息。反跳的事件在此处也被称为动作并且遵循其他动作的路径,更典型地,从用户流向MES运行时间然后流向不同的部件。
在图8中示出了基于“动作和事件”的上述操作方式。在那里,门面FA是操作员的图形用户界面GUI与系统之间的接口,该接口隐藏MES部件的复杂性和基于CE的数据模型的复杂性。FA在GUI请求时向MES运行时间MRT发送动作,以及MRT对MES部件C1……Cn的适配器AD(图4)执行循环操作并且激活对动作感兴趣的(多个)部件的(多个)适配器。所激活的(多个)部件Ci向MRT发送事件消息,MRT以另一动作的形式将该事件反跳至另一部件。
通常,根据这种观点,在示例性应用中,可以根据下列表I将不同的生产事件连同从内部引起的事件一起分配给不同的适配器。所用的语法是:
动作:<verb to execute>"+"<type>["["binary traits"]"];
事件:<type>["["binary traits"]"]"+"<achieved status>。
“Type”指示CE,而"binary traits"指示CE的类型,CE的类型取决于属性的约束。
表I
表I(后续)
可以通过两个逻辑——在图9A和9B中分别示出的“接受”(用于动作)和“开始”(用于事件)来图形化“动作和事件”操作。
接受程序通过动作开始(步骤701)并对所有MES部件执行循环操作(步骤702、步骤703、步骤706)。对于每个部件(步骤703),循环包括检查部件是否接受该动作(步骤704),并且在肯定时,在部件中处理该动作(步骤705)。如果部件不接受该动作(步骤704的否定输出),则处理转到后续的部件。当所有的部件已经被调用(步骤703的否定输出)时,处理停止。
要注意的是,HB可以以任何合适的方式——例如根据这里所假定的顺序调用、或根据对所有适配器的同时调用或利用介于这样的极端之间的同步水平——来调用适配器。
开始程序对动作中的事件进行转换(步骤802),并且该转换启动了图9A的程序(步骤803)。
在通过仅对接受逻辑进行转化来将适配器集成到依赖于预定逻辑的现成技术中,分开两个逻辑是有用的。
图10是在使用本发明时车辆进入生产线的顺序图。当车辆进入车间WPi时,部件VT启动动作并且向集线器HB中的MES运行时间发送相关消息。HB通知工具管理器TM和观察车间的操作者终端OT(在该情况下,利用车辆位置实体的指示),工具管理器TM利用包括某种类型的步骤请求(SR)实体的事件消息来响应HB。基于这样的响应,HB将该事件反跳至OT。在工具故障的情况下(trait“Tool&PartialNotOK(工具&局部非OK)”),借助于动作和反跳事件的对话在TM与HB之间、HB与QM之间,HB与TA之间进行,其中HB每次均通知OT。不言而喻,每个部件仅看到它自己的数据部分并且该例程可以被拆分成更小和更能理解的部分,从而解决相关性问题。
缓存CA和集线器HB的设置提供了显著的优点。
缓存CA允许及时访问数据并便于其他软件层不会因数据检索而延迟。实际上,在诊断问题时,对数据库的较少调用引起较少的并发性、较少的锁定、较少的死锁、致命的复杂性。此外,缓存CA可以独立于针对数据操纵策略的技术,并且还可以优化特定对象的并发性而不是[有时>10]数据库表的记录。
集线器HB的特点在于易于设计、开发和维护:所以分析员只是必须关注于单个MES部件必须反应的动作和事件反跳以及其必须唤起的现场事件,而不必详细说明所有可能的后果。
此外,每个相关的行为必须仅在一个位置实现。
此外,由于MES部件没有被绑定在一起,所以可以简单地“拔去”不需要的部件的适配器而没有退化或性能问题的风险。而且,在商业上,可以在不再需要不被调用的部件的情况下提供用于特定应用的软件。
还要指出的是,在没有缓存的情况下,由于每个模块将必须从数据库中读取它自己的数据,所以集线器HB导致了不合适的解决方案并且性能问题将变得更糟。另一方面,在没有集线器HB的情况下,缓存将需要针对改变轮询数据库而不是依靠通过HB提供的来自MES部件中的改变的状态事件。因此,利用缓存和集线器HB的结合,可以在需要实体时读取该实体并且可以按时更新所缓存的实体。
除了上面描述的本发明的实施方式之外,本领域技术人员将能够得出各种其他布置和步骤,如果这些其他布置和步骤在该文件中未被明确描述,但其仍然落入所附权利要求的范围内。
Claims (11)
1.一种使用计算机管理的制造执行系统MES来控制制造厂中的离散生产线的方法,其中,所述MES包括彼此交互以控制不同生产阶段的一组MES部件,并且针对所述控制,所述MES部件使用按照第一数据模型存储在数据库中的MES实体的数据;所述方法的特征在于其包括以下步骤:
将所述MES部件之间共享的所述MES实体的数据从所述第一数据模型转换成第二数据模型,其中,所述第二数据模型是指示所述MES实体之间的关系的缓存数据模型;
提供中央缓存,所述中央缓存用于存储转换成所述第二数据模型的共享数据;
提供集线器,所述集线器被布置成与所有的MES部件、所述中央缓存和所述数据库进行通信;
在运行时,使所述MES部件彼此之间以及与所述中央缓存之间通过所述集线器进行交互以控制所述生产线,
其中,将所述MES实体的数据从所述第一数据模型转换成所述第二数据模型包括在所述中央缓存中创建MES实体组,每个MES实体组包括在同一时刻并且在应用的同一点中所使用的MES实体,并且其中,包括在所述组中的所述MES实体包括父类实体和子类实体,并且在所述转换中,所述父类实体以具有所有属性的完整形式被包括在所述组中或以不具有属性的虚拟形式被包括在所述组中。
2.根据权利要求1所述的方法,其中,提供中央缓存的步骤包括:对存储在所述中央缓存本身中的所述MES实体设置过期时间;以及在所述时间结束时,利用在所述数据库中存储的相应值对所述MES实体进行更新。
3.根据权利要求1所述的方法,其中,使所述MES部件彼此之间通过所述集线器进行交互的步骤包括使所述MES部件和所述集线器根据面向事件的协议进行通信,其包括以下步骤:
在MES部件处生成动作消息并将所述动作消息发送至所述集线器,所述动作消息表示对所述MES部件和存储在所述中央缓存中的所述MES实体的状态改变的请求;
将所述动作消息从所述集线器转发至有关的MES部件;
从所述有关的MES部件向所述集线器发送回事件消息,所述事件消息表示发生的状态改变;
使所述事件消息从所述集线器中反跳至其他有关的MES部件。
4.根据权利要求3所述的方法,还包括以下步骤:使每个MES部件配备有适配器,所述适配器被布置成将所述动作消息和被反跳的所述事件消息转化成在所述MES部件内使用的格式,反之亦然。
5.根据权利要求1所述的方法,其中,使所述MES部件与所述中央缓存通过所述集线器进行交互的步骤包括根据乐观/悲观的读取/更新机制来对所述中央缓存进行操作。
6.根据权利要求5所述的方法,还包括以下步骤:使所述中央缓存配备有适配器,所述适配器对存储在所述中央缓存本身中的所述MES实体的所有状态改变进行管理。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法以软件来实现。
8.一种通过制造执行系统MES来控制制造厂中的离散生产线的系统,其中,所述MES包括彼此交互以控制不同生产阶段的一组MES部件,并且针对所述控制,所述MES部件使用按照第一数据模型存储在数据库中的MES实体的数据;所述通过制造执行系统MES来控制制造厂中的离散生产线的系统的特征在于,包括:
中央缓存,所述中央缓存用于存储在所述MES部件之间共享的所述MES实体的数据,其中所述MES实体的数据在被存储在所述中央缓存中之前从所述第一数据模型被转换成第二数据模型,其中,所述第二数据模型是指示所述MES实体之间的关系的缓存数据模型;
中央集线器,所有的MES部件、所述中央缓存和所述数据库连接至所述中央集线器;
其中,所述MES实体的数据从所述第一数据模型至所述第二数据模型的转换包括在所述中央缓存中创建MES实体组,每个MES实体组包括在同一时刻并且在应用的同一点中所使用的MES实体,并且其中,包括在所述组中的所述MES实体包括父类实体和子类实体,并且在从所述第一数据模型至所述第二数据模型的转换中,所述父类实体以具有所有属性的完整形式被包括在所述组中或以不具有属性的虚拟形式被包括在所述组中,以及
其中,所述MES部件被布置成在运行时彼此之间以及与所述中央缓存之间通过集线器进行交互。
9.根据权利要求8所述的系统,其中,针对所述MES部件彼此之间以及与所述中央缓存之间通过所述集线器的交互,所述MES部件包括用于基于以下来实现面向事件的通信协议的装置:
动作消息,所述动作消息表示对所述MES部件和存储在所述中央缓存中的所述MES实体的状态改变的请求,并且所述动作消息从始发MES部件发送至所述集线器并且从所述集线器发送至有关的MES部件;
现场事件消息,所述现场事件消息表示发生的状态改变,并且所述现场事件消息从有关的MES部件送回至所述集线器以及从所述集线器反跳至其他有关的MES部件;
并且所述集线器包括用于在所述中央缓存中实现乐观/悲观读取/更新机制的装置。
10.根据权利要求8或9所述的系统,其中,所述离散生产线是机动车装配线。
11.一种存储介质,其包括用于执行根据权利要求1至6中任一项所述的方法的步骤的计算机程序产品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15156885.4 | 2015-02-27 | ||
EP15156885.4A EP3062182A1 (en) | 2015-02-27 | 2015-02-27 | Method of and system for controlling manufacturing processes in discrete production lines |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105930947A CN105930947A (zh) | 2016-09-07 |
CN105930947B true CN105930947B (zh) | 2022-04-19 |
Family
ID=52705949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610108618.9A Active CN105930947B (zh) | 2015-02-27 | 2016-02-26 | 用于控制在离散生产线中的制造过程的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10185307B2 (zh) |
EP (1) | EP3062182A1 (zh) |
CN (1) | CN105930947B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3352116A1 (en) * | 2017-01-24 | 2018-07-25 | Siemens Aktiengesellschaft | Method for generating software architectures for managing data |
CN106951469A (zh) * | 2017-03-17 | 2017-07-14 | 机械工业仪器仪表综合技术经济研究所 | 一种离散制造的能效数据处理方法及装置 |
CN107590596A (zh) * | 2017-09-07 | 2018-01-16 | 苏州七彩云霞软件有限公司 | 一种零部件安装mes系统及运行方法 |
CN108563202B (zh) * | 2018-04-02 | 2020-11-06 | 广西玉柴机器股份有限公司 | 一种基于mes的信息录入应急系统及其处理方法 |
EP3809216A1 (en) * | 2019-10-15 | 2021-04-21 | ABB Schweiz AG | A production line for manufacturing a part of a vehicle |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050165731A1 (en) * | 2002-08-20 | 2005-07-28 | Tokyo Electron Limited | Method for processing data based on the data context |
CN101183261A (zh) * | 2006-10-20 | 2008-05-21 | 洛克威尔自动控制技术股份有限公司 | 用于离散制造的标准mes接口 |
CN103034920A (zh) * | 2011-10-03 | 2013-04-10 | 西门子公司 | 用于控制制造设施的操作的系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4855906A (en) * | 1987-10-23 | 1989-08-08 | Allen-Bradley Company, Inc. | System for handling unsolicited messages from lower-tier controllers |
US7941542B2 (en) * | 2002-09-06 | 2011-05-10 | Oracle International Corporation | Methods and apparatus for maintaining application execution over an intermittent network connection |
US20060025880A1 (en) * | 2004-07-29 | 2006-02-02 | International Business Machines Corporation | Host control for a variety of tools in semiconductor fabs |
EP2261805B1 (en) * | 2009-06-12 | 2013-07-31 | Siemens Aktiengesellschaft | Method for storing real time values |
-
2015
- 2015-02-27 EP EP15156885.4A patent/EP3062182A1/en not_active Ceased
-
2016
- 2016-02-26 CN CN201610108618.9A patent/CN105930947B/zh active Active
- 2016-02-29 US US15/055,806 patent/US10185307B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050165731A1 (en) * | 2002-08-20 | 2005-07-28 | Tokyo Electron Limited | Method for processing data based on the data context |
CN101183261A (zh) * | 2006-10-20 | 2008-05-21 | 洛克威尔自动控制技术股份有限公司 | 用于离散制造的标准mes接口 |
CN103034920A (zh) * | 2011-10-03 | 2013-04-10 | 西门子公司 | 用于控制制造设施的操作的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US10185307B2 (en) | 2019-01-22 |
US20160252899A1 (en) | 2016-09-01 |
EP3062182A1 (en) | 2016-08-31 |
CN105930947A (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461294B2 (en) | System for importing data into a data repository | |
CN105930947B (zh) | 用于控制在离散生产线中的制造过程的方法和系统 | |
EP2199934B1 (en) | Multithreading and concurrency control for a rule-based transaction engine | |
US8429126B2 (en) | Object graph editing context and methods of use | |
JP5171932B2 (ja) | カスタマのアクティビティを統合、管理、および調整するためのシステムおよび方法 | |
US8219518B2 (en) | Method and apparatus for modelling data exchange in a data flow of an extract, transform, and load (ETL) process | |
JP4571636B2 (ja) | サービス指向ビジネスフレームワークのサービス管理 | |
US8074228B2 (en) | Systems and methods for providing mockup business objects | |
US10248683B2 (en) | Applications of automated discovery of template patterns based on received requests | |
CN110300963A (zh) | 大规模数据储存库中的数据管理系统 | |
US20030105745A1 (en) | Text-file based relational database | |
US7490098B2 (en) | Apparatus, system, and method for processing hierarchical data in disparate data repositories | |
US11474812B1 (en) | Automated data store access source code review | |
US11106665B1 (en) | Automated SQL source code review | |
WO2011116471A1 (en) | Method and system for generating updated test data | |
US10592391B1 (en) | Automated transaction and datasource configuration source code review | |
WO2021037684A1 (en) | System for persisting application program data objects | |
EP3846045B1 (en) | Archiving data in a delta store | |
CN101968747A (zh) | 一种机群应用管理系统及其应用管理方法 | |
US10275237B1 (en) | Automated spring wiring source code review | |
Troelsen et al. | Exploring Entity Framework Core | |
US10599425B1 (en) | Automated data access object source code review | |
Baazizi et al. | Monitoring web services: A database approach | |
Böhm et al. | Processes are data: A programming model for distributed applications | |
CN118193499A (zh) | 用于异构数据库全量迁移的装置、方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |