一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

模块化自动化支持系统的制作方法

2023-02-19 09:32:00 来源:中国专利 TAG:


1.本发明涉及一种用于模块化工厂的模块化自动化支持系统。


背景技术:

2.模块化自动化系统领域中的模块化类型包(mtp)标准为模块和编排系统之间的互操作性创建了一个框架,允许在自动化工程阶段期间以模块化方式构建和设计工业过程工厂,目标是简化自动化工程。这些优势是通过预制的且经过良好测试的模块实现的,称为pea(工艺设备组装),可以很容易地以不同的组合而组合在一起,从而实现不同的配方。
3.现有的系统可以在自动化工程阶段期间为工厂所有者提供支持。然而,这些可能并不总能全面解释实际工厂环境中发生的所有情况。此外,很少有解决方案可用于在控制工程阶段期间(即在工厂运行和生产计划期间)提供支持。


技术实现要素:

4.因此,需要用于模块化工厂的更有效的模块化自动化支持系统。这种需要通过如本文所述和要求保护的模块化自动化支持系统来满足。从属权利要求阐述了可选特征。还提供了相应的方法,包括计算机实现的方法。
5.根据另一方面,提供了一种计算设备,其包括被配置为执行如本文所述的计算机实现的方法的处理器。
6.根据另一方面,提供了一种包括指令的计算机程序产品,所述指令在由计算设备执行时使得计算设备能够执行如本文所述的计算机实现的方法。
7.根据又一方面,提供了一种包括指令的计算机可读介质,所述指令在由计算设备执行时使计算设备能够执行如本文所述的计算机实现的方法。
8.还提供了包括本文所述的任何系统的模块化工厂,以及运行模块化工厂的方法,所述方法包括执行本文所述的任何方法。
9.本发明可以包括单独的或组合的一个或多个方面、示例或特征,无论是否以该组合或单独的方式具体公开。
10.本发明的这些方面和其他方面将从下文描述的实施例中变得明显并且参考下文描述的实施例来阐明。
附图说明
11.现在将参考附图进行详细描述,仅作为示例,其中:
12.图1图示了根据本公开的模块化自动化支持系统;
13.图2说明了一个语义流水线,它通过一系列互连的语义模块表示工业模块化工厂的物理流水线;
14.图3说明了由流水线生成引擎自动生成的语义流水线,用于将特定的产物转化为给定的产品;
15.图4说明了流水线生成引擎对自动生成的语义流水线的优化;
16.图5说明了工厂运行优化;
17.图6说明了流水线排名的学习;
18.图7说明了规则储存库的更新;和
19.图8示出了可以根据本文公开的系统和方法使用的计算设备。
具体实施方式
20.模块化自动化支持系统
21.图1示出了用于模块化工厂的模块化自动化支持系统10。模块化自动化支持系统10包括自动化工程支持系统100(用于向自动化工程师提供支持)和控制工程支持系统150(用于向控制工程师提供支持)中的一个或多个。模块化自动化支持系统10可以在软件、固件、硬件或它们的任何组合中实现,例如使用这里参考图8描述的计算设备。模块化自动化支持系统10可以形成用于规划、配置、管理和/或运行模块化工厂的工程工具或仪表板的一部分或包括它们。
22.自动化工程支持系统
23.自动化工程支持系统100包括以下组件中的一个或多个:(i)包括语义注释模块的模块库102;(ii)流水线生成引擎104;(iii)流水线优化组件106;(iv)模拟组件108。
24.语义数据模型
25.如下文进一步描述的,模块化自动化支持系统10实现语义数据模型,以提供模块、模块流水线或模块化工厂的抽象表示。
26.模块库102包含一个或多个储存在诸如数据库的储存库中的语义模块。语义模块包括表示、描述或定义使用语义数据模型的模块化工厂的模块的实例数据。语义模块也可以被描述为模块表示、模块描述或模块定义。在本公开的上下文中,术语“模块”和“单元”可以互换使用。模块库102可以进一步存储与语义模块相关的异构数据项(例如说明符、注释、值、历史记录)。模块库102因此充当用于收集关于模块的全局和本地领域知识的场所(或知识表示系统)。模块库102可以使用涉及任何集中式或分布式数据存储的数据库来实现。例如,由自动化工程支持系统100、模块本身或模块化工厂的其他元件提供的一个或多个数据存储单元可用于实现数据库。特别地,下面描述的数据存储器808可以用于实现数据库。存储在模块库102中的语义模块可以表示真实的或虚拟的、拥有的(由工厂运营商拥有)或尚未拥有的(例如可购买的)、可用的(当前在工厂中使用的)或潜在可用的模块。因此提供了可被描述为智能单元池的模块池或储存库。通过创建语义模块并将它们储存和注册在模块库102中,可以在以后搜索和发现语义模块并选择要组合成流程流水线的模块。特别地,为了帮助工厂运营商定位合适的模块,模块库102可以提供搜索功能。
27.如本文所用,术语“虚拟模块”是指模块的类型或类别,而术语“真实模块”是指特定类型的模块的实例。一个真实的模块可以用软件、固件、硬件或它们的任何组合来实现。为硬件模块提供控制配置的软件模块可以称为“功能模块”。对于虚拟模块,语义模块可以实现为特定类型模块的模板,例如加热模块、计量模块、混合模块等。模板可以包括保存对特定类型的所有模块有效的固定值的字段。模板还可以包括一个或多个占位符,用于可以为实际模块设置的值,和/或一个或多个稍后可以更改的预设值。对于真实模块,语义模块
可以包括相关模块类型的模板,但补充有表示真实模块的一个或多个值。这样,模板通过模板中的字段来容纳过程知识或工程知识。
28.因此,使用符合语义数据模型的语义描述来描述模块。语义描述可以指定模块的任何一个或多个模块属性。模块属性(也可以称为注释、属性、特性、说明符或特征)可以包括描述模块的任何合适的数据。例如,语义描述可以根据包括以下一项或多项的模块属性来描述模块:输入/输出属性、模块功能;模块组件;模块参数;模块使用;工艺参数;校准参数;由模块输入、处理和输出的数据。语义描述提供了一个适用于语义web堆栈的通用接口(即restfulapi,可通过http访问等)。通过模块之间的语义描述匹配,可以手动或自动生成工艺流水线,如下面更详细描述的。语义描述还可以包括与在至少一个在先模块化工厂中的相应模块的配置相关的在先配置数据,在先配置数据可用于配置模块,以供在另一模块化工厂中使用。先前的配置数据可以涉及加速模块的重用的先前的工程数据。
29.语义描述可以指定模块的输入和输出之间的关系。特别地,语义描述可以指定模块的一个或多个前置条件和一个或多个后置条件。前置条件和后置条件指定可以、应该或必须存在于模块的输入和输出的条件。可以根据输入属性或特征来描述前置条件,而可以根据输出属性或特征来描述后置条件。前置条件和后置条件可以例如指定属性,例如分别输入到模块和从模块输出的材料身份或材料状态。该模块因此可以将至少一个前置条件转换为至少一个后置条件。例如,在材料加工中,前置条件可以是产物,后置条件可以是产品。“产物”是指将与至少一种其他产物反应以形成产物的任何物质、组合物或材料。因此,该模块将产物转化为产品,即转化了材料特性。该模块可以例如通过加热、搅拌、精炼等将一种材料状态转变为另一种材料状态。“状态”在本文中是指单一材料的任何性质、特征或条件,而不仅仅是聚集状态。语义描述可以进一步指定模块将前置条件转换为后置条件的一个或多个条件或约束。附加地或替代地,前置条件和后置条件可以指定模块的输入和输出的形式、结构或连接方式中的一种或多种。
30.对于真实模块,语义描述还可以包括与模块化工厂中真实模块的先前使用相关的收集的使用数据。所收集的使用数据可以包括表征先前模块性能、使用或配置的任何合适的数据。收集的使用数据例如可以包括任何一个或多个先前的工程数据;先前的校准参数;频繁的工厂环境;进行的维护;加工的材料/介质;化学反应的应用目的和限制。所收集的使用数据可用于加快模块的配置,以用于进一步的模块化工厂。例如,真实模块模板中的一个值可以标识最后加工的材料(例如坚果,这对于加工杂货但也希望为坚果过敏人生产杂货的工厂可能很重要)。另一个值可以标识实际模块的非功能性服务(例如,对于烤箱模块,一个值指示“service fanoven已损坏,但top&bottomplateheat baking仍然可能”)。
31.收集的使用数据可以包括性能数据。例如,所收集的使用数据可以包括一个或多个先前测量的关键性能指标(kpi)。可以测量的kpi可以包括例如以下一项或多项:平均故障间隔时间;正常运行时间;服务和设备的使用;可用性时间表;维护周期/间隔。本领域技术人员将知道许多其他示例。如下文进一步描述的,这样的性能数据可用于优化流水线的模块选择。
32.如现在将描述的,语义数据模型提供了用于描述模块、模块流水线和模块化工厂的通用或标准化词汇表或本体(将词汇表与预先存在的知识和规则联系起来)。语义数据模型也可以被描述为概念性的或抽象的数据模型。语义数据模型使用为数据和数据中存在的
关系增加意义的语义信息,以特定的逻辑方式构造数据。
33.如本文所用,“语义数据”是可以表示模块、流水线、工厂或材料的任何属性的抽象数据,特别是用材料标识(例如输入/输出材料)或材料状态(例如原料状态或精制状态、冷却或加热、液体或固体)表示的模块的输入/输出属性。语义数据可以表示不同抽象级别的实体。例如,在最高的数据抽象层次上,语义数据可以表示以下属性:功能;材料;信号;能量;信息;模块规范等。在较低的层次上,语义数据可以表示如下属性:功率;容量;温度例如最佳温度;材料标识符;材料特征;耐用性;热量传递;输入管直径;油箱容量;最大反应器压力;最大容量等。
34.语义数据的实例可以包括通过n维向量或条件向量编码的一个或多个属性。在一个示例中,具有特定超高耐久性的固态钢表示为:
[0035]-第零维:属性类型:“材料”=0
[0036]-第一维:材料:“钢”=76,
[0037]-第二维:聚合状态:“固体”=3,
[0038]-第三维:耐用性:“超高”=10,
[0039]
产生向量[0,76,3,10]。
[0040]
净化工艺模块可能需要钢作为输入。具体来说,它可能需要作为前提条件的液态钢:[0,76,2,-],其中“2”代表聚合态:“液态”,第三维中的
“‑”
表示没有要求耐久属性。因此,可以容易地确定给定钢[0,76,3,10]不匹配模块的前置条件[0,76,2,-]。因此,该工艺流水线将需要一个熔化固体材料的前置熔化模块,以便将固体钢[0,76,3,10]转化为液态钢[0,76,2,10],以匹配净化工艺模块的前置条件,[0,76,2,-]。具体来说,熔化模块应该有前置条件:[0,-,3,-]和后置条件:[0,-,2,-]。在此示例中,仅指定了四个维度,但当然可以指定更多或更少的属性作为条件或限制,例如输入管直径、流入液体的压力等。
[0041]
在包括蛋糕烘焙厂的另一个示例中,可以加工白色和黑色面团(产物)以产生大理石蛋糕(产品)。这里,定量状态下的材料白色面团可以用[0,1,1,1]表示,其中材料为0,面团为1,白色(面团)为1,定量状态为1,定量状态下的材料黑色面团可以用[0,1,2,1]表示,0表示材料,1表示面团,2表示黑色(面团),1表示定量状态。两者分别处理,得到搅拌的白色面团[0,1,1,2]和搅拌的黑色面团[0,1,2,2](其中值为2的最后一个分量代表面团的“搅拌”状态。接下来,将这两者混合并且一起烘烤,就产生了一个即食蛋糕[0,63,-,-,1,10],其中0代表材料,63代表“蛋糕”,两个空白破折号表示没有定义状态和颜色,1代表蛋糕类型:“大理石蛋糕”,10代表“非常热”。
[0042]
类似地,化学或物理过程,包括反应成分、比如温度或压力等副条件,可以完全通过抽象的条件向量来描述。
[0043]
由模块化自动化支持系统10实现的语义数据模型定义了n维向量中各个分量的含义以及分量出现的顺序,以提供在语义数据的不同实例之间的一致性。在一个示例中,第一维可以描述整体环境,例如:材料/功能/信息流/能量流。第二维和随后的维度可以根据它们的抽象层次和统计重要性包括进一步的属性。在一个示例中,可以按以下顺序指定属性:钢、加热、值传播、热传递。
[0044]
语义数据模型可以通过实现链接条件来扩展n维的条件向量,例如通过(内或外)向量积或叉积。在一个示例中,将生热钢加工成精炼热钢,不仅材料成分很重要,而且发生
的热传递也很重要,因为钢要保持高温。在这里,材料和热传递都可以通过条件向量来表示,并且由于它们相互影响,因此还可以通过向量积来表示。
[0045]
基于条件向量中定义的分量顺序,自动化工程支持系统100可以将一个分量优先于其他分量,例如在流水线生成算法中,如下面进一步描述的。
[0046]
此外,语义数据模型可以定义语义工厂模式,其中由n维向量的分量表示的至少一个属性定义了限制或范围,例如[min/max]值或[operatingpoint /-epsilon]值。该限制可以通过其他参数的函数来表示,例如min-max-压力p取决于温度:p_min/max=f(temp)。该限制可以从工厂规范文档中自动获得,例如mtp文件,或者可以由工厂运营商或工厂工程师提供。模式定义可以促进高级模式验证以及模块控制。
[0047]
此外,语义数据模型可以提供指定由模块提供的多个服务的模块语义描述,和/或模块的嵌套(模块内的模块,例如加热模块内的搅拌模块)。
[0048]
模块化自动化支持系统10因此被配置为实现提供以下一项或多项的语义数据模型:可选地递归地对具有一个或多个属性的前置条件和后置条件进行建模,每个属性具有可选的进一步注释;前置条件和后置条件的匹配。可选地使用多索引分量和注释;前置条件和后置条件的前馈/后馈(例如,如果搅拌模块需要在45度的温度下定量的分量作为前置条件,则将其反馈给前一个加热模块,以设置为目标温度)。
[0049]
这样,语义模块能够使用语义数据模型来消耗和产生语义数据,如上所述。语义数据在语义的工厂工艺的环境中可用,并且经过处理/操作,但在此语义工厂工艺环境中仍然可用(可能处于不同的状态(未加工的精炼油))或具有不同的注释(热或冷却)。
[0050]
诸如模块之类的工厂设备的语义描述可以建立在与该工厂设备有关的文档中可用的信息之上。例如,对于一个模块,可以使用标准描述文件,例如定义相关模块的mtp。模块的语义描述可以包括取自文档并被翻译以符合语义数据模型的信息。然而,应当理解,这里公开的语义描述可以基于mtp以外的标准。mtp可以看作是一种类型描述,它指定了模块的构建计划。例如,mtp指定模块i/o(信息技术方面、材料技术方面;每个都有名称和id)、模块拓扑、hmi、状态机(这可能对所有mtp都相同,但具有服务指示实际使用的状态)、服务(仅名称)和配方。但是,模块提供者不一定知道可以使用该模块的应用程序或工厂工艺。因此,mtp没有为工厂运营商感兴趣的所有属性提供描述字段。因此,为了覆盖工艺知识,并提供标准化词汇来描述该工艺知识,模块库102用包括模块的扩展语义描述的包装器来包装或扩展mtp。
[0051]
图2示出了已经组装以形成语义流水线204的多个语义模块202。这里,“语义流水线”可以被理解为描述使用语义数据模型的一个或多个语义模块的流水线的实例数据,并且可以也称为“隐式流水线”、“流水线表示”、“流水线描述”或“流水线定义”。每个语义模块202可以基于模块202的标准描述文件(在一个非限制性示例中,mtp)。模块库102包括语义控制层,其使用包含根据语义数据模型对模块的扩展语义描述的包装器来扩展mtp。底层mtp是隐藏的,不一定可以直接访问。语义描述是机器可读和机器可处理的。图2所示的语义描述扩展了mtp,其中包括以下属性:输入/输出属性、功能、参数和收集的使用数据。然而,应当理解,这种布置并非意在进行限制。语义描述可以通过包括映射到例如资产管理外壳(aas)iec-63278-1acd、iso-15926、iec-62424、blanco-xml、pa-dim来进一步扩展mtp。语义描述可以通过包括一组基本操作来进一步扩展mtp,例如在skampi(vdi richtlinie2776)
中定义的。skampi带有15个基本操作(grundoperationen),其描述服务(例如均质化/“homogenisieren”、加热/“heizen”、计量/“dosieren”等)及其典型的工艺技术属性(例如压力、体积、电流、压力梯度、加热功率、精度、浓度等),用于在工艺要求和fea/pea能力之间的比较和一致性。此外,这些基本操作的参数和设定点可能是相关的,以便链接和检查一个模块中的基本操作相对于另一个模块中的基本操作,例如参数、值、最小值-最大值等。这些可用于描述更复杂的模块服务/功能,例如,作为后续基本操作链。例如,一个高温混合模块可以表示为一系列加热和混合基本操作。
[0052]
在包括油箱的模块的一个示例性语义描述中,mtp包含油箱的输入/输出特征,并根据其液体储存容量来描述油箱的功能,而扩展语义描述涵盖其他方面,例如压力限制、最低/最高温度、其他公差边界等。
[0053]
在包括反应器的模块的另一个示例性语义描述中,mtp允许定义输入和输出,而扩展语义描述定义例如将在反应器中反应的两个输入h2和o2的比率(例如2/3h2和1/3o2),以及可选的所需的/最佳的反应温度和压力(以及潜在的临界值/阈值)。此外,语义描述可以进一步指定将该反应器连接到流水线中可能的其他先前的或后续的单元的管具有0.5米的直径,使得在连接单元具有输入/输出管的情况下需要平移法兰直径只有0.25米。
[0054]
扩展语义描述可以区分连续处理和批处理单元:例如,批处理模块每次执行可能处理100l液体,而连续处理模块每小时处理100l液体,因此必须(连续)提供液体以避免停机。
[0055]
正如将在下面更详细地描述的那样,语义描述能够实现—除了其他可能性—语义模块到模块匹配(流水线生成)、对流水线生成有用的完整性检查、工厂工艺模拟(即提供初始输入并获得模拟的最终输出,以确定工厂是否按预期运行)、基于工厂和模块的优化,以及校准和自动化(例如发现瓶颈,例如,如果将连接到模块2的模块1设置为产生更高的输出,例如模块2达到或超出其公差边界并进入临界状态,则会发生什么)。
[0056]
模块库102帮助工厂运营商掌管/管理他们现有模块的库存(例如12个计量单元和10个反应单元等)。一些模块目前可能在工厂中使用,而另一些则没有。对于正在使用的那些,可能会收集与其使用相关的数据(例如,处理什么材料),或者它们的组件性能(例如,正常运行时间、阀门材料的磨损)、它们的维护关键性能指标(kpi,例如模块生命周期),等等,并不断添加到数据库中。当要建造新工厂或要重新配置现有工厂时,工厂运营商可以查看模块库102,并参考包括收集的使用数据的语义描述来选择用于给定功能的最佳模块。例如,工厂运营商可以简单地选择一个可用模块,该模块处理的材料与所寻找的模块预期处理的材料相同,并且在下一次计划维护之前具有最长的时间。
[0057]
使用模块库102,工厂运营商能够从池中选择和直接重新使用预定义(预配置)的现有模块,从而减少所需的工程工作量。通过这种方式,不仅有利于各个模块的重新使用,也有利于更大的功能块的重新使用,从而简化了模块设计和模块化工厂组装的任务。
[0058]
此外,在池中模块的真实版本尚不可用的情况下,系统100可提供允许工厂运营商通过池中的虚拟模块来确定是否可以为给定的新工厂组装特定流水线的功能。通过提供模块的语义描述,提供了一种机制,用于手动和/或自动为新规划的模块化工厂寻找和推荐可行或最优的模块和流水线组合。这些推荐不仅可以基于通过语义描述确定的模块兼容性,还可以基于特定的优化标准,如下面进一步解释的。
[0059]
因此,特此提供基于模块的工厂工艺虚拟设计。模块库102因此为工厂运营商提供智能的、信息增强的单元池。这为提高工厂运营商使用软件工具的可用性和舒适度、减少工厂内单元设置的出错率和更优化的工厂性能奠定了基础。工厂环境中的所有信息都可以在模块库102中收集/聚合,为工厂环境中的整体信息提供一个访问点和一个统一接口,从而使信息可搜索并揭示优化潜力,同时为进一步基于ai的应用程序和算法提供基础,例如用于流水线生成或优化的操作。
[0060]
应当理解,这里给出的示例仅用于说明的目的,并且多种形式的语义描述是可能的,这取决于所描述的模块。在任何情况下,提供本文公开的扩展语义描述,以涵盖这样的设计知识,包括对工厂运营商有用的任何或所有重要的设计事实,以便使单元在语义上完全可描述。
[0061]
如上所述,自动化工程支持系统100允许工厂运营商从模块库102中选择和组合单元,以形成流水线。使用由模块库102提供的模块的语义描述,工厂运营商能够根据各种模块属性来确定模块的兼容性。例如,如图2所示,工厂运营商根据语义模块202的i/o兼容性来选择语义模块202,以形成语义流水线204(即物理流水线的表示)。
[0062]
流水线生成引擎
[0063]
然而,如上所述,通过语义描述和收集的使用数据,提供了一种机制,用于自动查找和推荐(例如,一致的和最佳的)用于模块化工厂的模块和工艺流水线组合。为此,再次参考图1,自动化工程支持系统100还可以包括模块流水线生成引擎104,其被配置为接收指示模块化工厂所需流水线的至少一个前置条件和至少一个后置条件的输入数据,以及生成一个或多个建议的模块流水线,包括一个或多个能够将至少一个前置条件转换为至少一个后置条件的模块。流水线生成引擎104也可以称为流水线合成引擎。流水线生成引擎104可以被配置为基于在模块库102里的语义描述中包含的模块属性,从模块库102中选择一个或多个语义模块,以包含在模块流水线中。特别地,流水线生成引擎104可以被配置为访问模块库102,其中每个语义模块具有语义注释的前置条件和后置条件(例如产物和产品),并确定连接(即路径)是否可以通过模块组/链借助逐步的或增量的处理从前置条件到后置条件来找到/构建。例如,每个模块将一个(或多个)输入作为前置条件,并将其/它们转换为一个(或多个)输出作为后置条件,而后置条件又是下一个模块的输入,即前置条件,然后将其处理为下一个输出,即后置条件,依此类推。流水线生成引擎104确保模块到模块并因此根据定义确保流水线兼容性,因为它仅允许将模块组合成一行,这些模块根据它们的语义描述是兼容的。生成的建议流水线可以包括并联和/或顺序连接的子流水线。
[0064]
本公开设想了可用于选择模块的各种模块属性。
[0065]
特别地,流水线生成引擎104可以被配置为基于语义模块的输入/输出属性来确定一个或多个语义模块的序列,以形成模块流水线,其中第一模块的输入属性在该序列中匹配至少一个前置条件,并且其中,该序列中最后一个模块的输出属性匹配至少一个后置条件。流水线生成引擎104可以被配置为使用从模块库102中选择的多个语义模块来生成模块流水线,以提供相应模块的模块间兼容性。流水线生成引擎104可以被配置为基于相应的模块属性来确定模块间兼容性。指示模块间兼容性的模块属性可以包括所选语义模块的输入-输出属性。流水线生成引擎104因此可以被配置为基于相应模块的输入-输出兼容性来选择语义模块,以包含在建议的流水线中。在如此确定的模块序列中,因此选择模块,使得
模块的输出属性匹配任何后续模块的输入属性,并且使得模块的输入属性匹配任何先前模块的输出属性。匹配前置条件和后置条件以及对模块间兼容性的确定优选地但不是本质上使用n维条件向量来执行,如上文参考语义数据模型所描述的,可选地使用由模型实现的任何模式或优先级。
[0066]
附加地或替代地,流水线生成引擎104可以被配置为基于池中模块的功能属性来确定一个或多个模块的序列,以形成模块流水线,其功能组合以将至少一个前提条件转换成至少一个后置条件。在这种情况下,指示模块间兼容性的属性可以包括定义模块的功能的属性,并且其中,模块流水线生成引擎被配置为基于在所选模块之间的功能兼容性来生成所建议的流水线。例如,在一个模块于输入端需要最低温度的情况下,流水线生成引擎可以选择加热器模块作为在所建议的流水线中的前一个模块。同样,可以使用描述符合语义数据模型的那些属性的语义数据来比较和匹配定义模块功能的属性。
[0067]
因此,流水线生成引擎104被配置为自动地使用由模块库102提供的模块的语义描述来生成所建议的流水线,以提供给工厂运营商(否则他将不得不手动选择、组合和组成模块)。
[0068]
流水线生成引擎104可以包括以下一项或多项:(1)图形生成和路径查找算法;(2)基于规则的算法。
[0069]
图形生成和路径查找算法(或图形构建算法)被配置为将待连接的起始节点(例如,工厂工艺的产物)连接到末端节点(例如,工厂工艺的产品)。该图形及其节点表示通过表示模块到模块连接的边而连接的模块。该算法可以单独使用或与其他算法结合使用,以便通过限制要匹配的模块集来加速前置/后置条件匹配。通常,该算法可以被配置为使用前置条件和后置条件来执行前向传播和/或反向传播。可以执行前向传播来构建图形(图形数据结构),其边缘和节点适合直接进一步处理,可能是合并为一个的并行子流水线,或者一个拆分为两个或多个并行子流水线的流水线,等等。该算法可以包括用于存储处理过的边缘的存储功能,例如以便于在备选组合物中进行选择。可以支持无向图形。
[0070]
基于规则的算法可以形成专家系统或被配置为实现专家规则的领域知识表示系统的一部分。如上所述,基于规则的算法可以使用与语义数据模型所定义的相同的词汇表/本体。规则可以根据语义数据模型由语义数据或使用语义数据来定义。示例性规则包括需要上述输入-输出兼容性和功能兼容性的规则,如上所述。进一步的规则可以描述工艺知识或工程技术知识(例如化学工艺知识,或管到模块法兰工程技术知识)。进一步的规则可以指定例如某些工厂工艺总是需要精炼模块,这不一定会改变i/o材料,但需要更高质量的产品结果,以及特定的工艺技术规则(例如,分离器模块应该通过蒸馏工艺来分离液体并通过筛分工艺来分离固体)。进一步的规则可以描述最佳实践(例如,前工厂中运行良好的子流水线,前工厂中经过良好校准的模块等)。其他规则可以指示环境相关性,例如,批处理中的分离器模块用筛子转化固体,而连续处理中的分离器模块用蒸馏器转化液体。
[0071]
进一步的规则可以指示允许的和不允许的子流水线组合,例如,一条规则可以规定在蛋糕烘焙流水线中的混合模块之前不使用烘焙模块。
[0072]
进一步的规则可能表明对顺序的或并行的处理的要求。例如,对于使用黑白面团生产大理石蛋糕的蛋糕烘焙流水线,一个规则可能表明在烘焙步骤之前需要分别制备黑白面团(即在并行的子流水线中)。流水线生成引擎104因此可以包括基于规则的、数据驱动的
执行引擎。
[0073]
流水线生成引擎104可以被配置为执行支持模块流水线连接处理的其他数据和知识驱动算法以及优化程序和排名算法,集成和处理kpi、模块特征和所有其他种类的可用的有用数据.
[0074]
图3示出了自动生成的所建议的语义流水线304,其包括一系列语义模块202,从给定的输入,这里是“产物a”和“产物b”,到所需的输出,“产品z”。还示出了由模块库102提供的智能单元池300,可以从中选择语义模块202。如上所述,每个语义模块202可以基于由扩展语义描述以及可选地收集的使用数据包装的相应模块的mtp。
[0075]
在该示例中,给定输入材料产物a和产物b,工厂运营商想要获得输出材料产品z。因此,工厂运营商将输入和输出材料分别输入到流水线生成引擎104中,作为前置条件和后置条件。用于将产物a和b转换为产品z的所建议的流水线304由流水线生成引擎104通过识别语义模块202的选择来生成,语义模块202按照所示的特定顺序将产物a转换为中间材料c,然后转换为中间材料d,与从产物b得到的中间材料e结合,得到中间体f,以此类推,直到得到产品z。所建议的流水线304基于语义表示的关于底层模块做什么的知识,即它们接受什么输入以及它们产生什么输出,或者它们具有什么功能,如本文别处所解释的。本示例中的流水线生成引擎104使用基于规则的、数据驱动的执行引擎,该引擎检查模块的兼容性(例如i/o兼容性),并且在确定下一个模块的输入时运行通过流水线304,直到自动生成整个流水线,以将给定的输入材料处理为请求的输出材料。图3通过使用散列来指示模块的不同i/o属性,进一步说明了在所建议的流水线304中的模块的i/o兼容性。这样,流水线生成引擎104简化了工厂的设计并减少了设计工作。
[0076]
虽然上述示例中的模块根据i/o兼容性而链接在流水线中,但应理解,流水线生成引擎104可配置为基于其他属性(例如功能、参数和其他属性)建议流水线可以在流水线中自动链接在一起,或者使用兼容的i/o处理链。通过利用语义描述,流水线生成引擎104被配置为基于任何类型的模块属性以及相应的前置条件和后置条件来构建流水线。
[0077]
如上所述,一种这样的示例性属性是功能性。因此,流水线生成引擎104可以根据功能序列来生成流水线,以便达到计划流水线的整体功能。在另一个示例中,只有一种材料x将在新生成的工艺流水线内从初始原始状态处理成最终精制状态(而材料的特性作为材料x基本保持不变)。流水线生成引擎104被配置为生成语义模块的流水线,语义模块的功能建立在彼此之上:例如,首先是研磨模块,然后是加热模块,然后是搅拌模块,最后是冷却模块。第一个模块的前置条件是“原材料处于原始状态”,其后置条件是“材料接地”。第二个模块的前置条件是“材料接地”,其后置条件是“材料加热用于搅拌”。除此之外,可能还有一个参数可以被操纵以指定温度。第三个模块用于搅拌,前置条件“材料对于搅拌来说足够热”,参数与第二个模块中的阈值相同,后置条件“材料搅拌,准备冷却”。最后一个模块具有前置条件“材料准备好冷却”和后置条件“材料处于可运输状态”,可能还带有温度参数。在这种情况下,语义描述中的“功能”属性可以由流水线生成引擎104使用,从而基于模块功能的前置条件和后置条件执行匹配和路径查找。
[0078]
由流水线生成引擎104选择用于包含在所建议的流水线中的语义模块,可以对应于真实的和/或虚拟的模块。在所建议的流水线中包括至少一个真实模块的情况下,流水线生成引擎104可以起到防止该真实模块在另一个手动或自动生成的流水线中重用(至少暂
时)的作用。因此,流水线生成引擎104自动考虑共享的运营商活动,同时确保可以找到生成的流水线的全局最优解决方案(如下文更详细解释的)。
[0079]
以这些方式中的任何一种方式,系统100为工厂运营商提供关于如何为给定目的组成新流水线的合适的/可行的流水线建议的自动生成。
[0080]
尽管已经参照模块库102及其语义数据模型描述了流水线生成,但是应当理解,可以使用其他数据源和数据形式来定义模块以及它们的输入/输出和功能。
[0081]
流水线优化组件
[0082]
再次参考图1,自动化工程支持系统100可以包括流水线优化组件106。流水线优化组件106被配置为:接收识别作为模块流水线的一部分被组装到模块化工厂中的所需模块类型的数据,包括一个或多个模块;执行优化算法,以便基于一个或多个预先确定的优化标准,从模块库102中具有所需模块类型的多个模块中选择一个模块,以包含在模块流水线中。模块流水线生成引擎104可以被配置为根据一个或多个预定的标准来生成多个所建议的流水线用于比较。流水线优化组件106可以被配置为根据一个或多个预定的标准来比较或排序(使用例如排序组件)多个流水线(例如由流水线生成引擎104建议的那些)。优化算法可以被配置为执行局部优化以仅优化所述模块流水线,或全局优化以选择所需类型的多个模块来组装成模块化工厂中的相应的模块流水线。预定的优化标准可以包括以下的一项或多项:产品质量;吞吐量;容量;资源/材料效率;能源效率;能源消耗;服务时间;正常运行时间;设备可用性;平均故障间隔时间;服务和设备的利用率;最大限度地减少模块的使用。特别地,在所收集的使用数据包括先前测量的关键性能指标的情况下,这些性能指标可用来确定用于在满足预定标准的同时将前置条件转换为后置条件的模块的最佳的或优选的选择和顺序。
[0083]
无论流水线是手动生成还是自动生成,模块库102可能包括若干特定类型的语义模块,可以从中选择哪一个或哪一个最适合给定目的。例如,这些可更换的模块可能具有不同的特性,例如,一个模块可能更大,即在其可以蒸馏多少液体方面具有更大的容量,或者一个模块在投入使用之前可能剩余的运行时间更少。因此,在规划生产工艺时,会出现使用哪个模块的问题。为此,流水线优化组件106被配置为基于一个或多个预定标准来优化流水线(在多个单元选择可用的情况下)。如上所述,模块库102中的每个语义模块包括描述或表示底层模块的语义描述,由此底层模块富含以结构化方式在语义上映射的真实数据。流水线优化组件106被配置为使用语义描述中包含的模块属性进行优化。
[0084]
本公开设想了可由优化算法使用的各种优化标准。优化标准可以对应于、涉及或基于上述语义描述的内容,可选地包括所收集的使用数据。示例性优化标准包括:正常运行时间、容量、能源效率、能源消耗、维护间隔/周期、服务时间、单元中最近使用的材料或介质或其类型、设备可用性、单元可用性、单元计划(当可重复使用)、单元或其设备的平均故障间隔时间(mtbf)、服务和设备的利用率(例如阀门打开或关闭的频率)、资源/材料效率、模块使用的最小化情况或任何其他合适的kpi。自动化工程支持系统100还可以存储(例如,在同一数据库中)与先前使用的模块组合有关的数据,这些数据指示在质量、吞吐量、效率或模块化工厂的其他kpi方面的结果,以帮助评估模块是否在一个特定的组合中一起成功地发挥了作用。优化组件106使用这些标准来对可使用或最适合待设计或组装的模块化工厂的模块进行智能和自动的选择。例如,识别哪种介质流过模块的数据可用于确定在模块可
用于另一工厂之前是否需要进行大量清洁。收集的使用数据可用于根据相应选择的优化标准为当前规划找到最佳可能的模块。
[0085]
流水线优化组件106被配置为接收如上所述的手动或自动生成的并且包括真实或虚拟模块或其类型的一个或多个表示的流水线。通过执行使用描述模块的不同特征和约束的语义数据的优化算法来相对于所选标准进行优化,从而在流水线中的一组模块上最小化/最大化所选的优化标准或准则。优化算法因此被配置为找到流水线的最佳模块组合。这可能涉及从流水线中完全排除在接收(输入)的流水线中的一个或多个模块,或者用替代的更合适的模块来替换或交换这些模块。基于语义描述,包括例如收集到的使用数据(如kpi),优化算法找到导致产品质量最高、吞吐量最高、能源效率最高等的模块组合。
[0086]
优化算法可以使用机器学习模型来实现,该模型被训练为基于它们的语义描述以及可选地还基于指示模块组合在过去表现如何的数据来选择模块,例如,过去哪些模块经常被选择共存,哪些模块很好地共存在一起。
[0087]
优化结果可以可视化给用户,可选地包括关于如何找到模块的最佳配置的指示。然后用户选择最终配置。
[0088]
如果不止一个标准被优化,结果可能是两个或多个局部最优生成的流水线,这些流水线被建议给工厂运营商,以便决定哪个标准被认为是全局最优的更重要。流水线优化组件106可以再次使用排名功能(即排名组件)来根据选择的或预定的标准对两个或多个流水线进行排名。
[0089]
优化可以是仅针对给定流水线的局部优化,也可以是指示如何在多个流水线之间分配可用模块资源的全局优化。例如,如果一个模块在服务之前剩余的运行时间较少,那么这个运行时间对于计划的批量生产可能仍然足够长,因此,从全局优化的角度来看,最好使用这个模块,以便其他剩下更多运行时间的类似模块仍可用于其他可能的批量生产工艺。或者,情况可能是,一个模块是灵活的,理论上可以用于许多生产工艺,而另一个更专门的可交换模块将执行相同的功能,因此全局优化建议使用更专门的模块来排序为其他可能需要的工艺保存更灵活的模块。
[0090]
由流水线优化组件106选择的模块可以包括真实的和/或虚拟的模块。例如,虚拟流水线a可能比虚拟流水线b更受欢迎,因为它总体上消耗更少的能量,而无需参考优化所需的真实模块数据。然而,为了考虑基于收集的使用数据的特定优化标准,例如确定真实模块是否在真实单元池中实际可用,或者例如是否在真实单元池中可用,或者根据维护,可能会选择实际模块。
[0091]
图4示出了使用流水线优化组件106优化语义模块的语义流水线404的一个示例。如图4所示,由模块库102管理的智能单元池包括虚拟单元池400和真实单元池402。虚拟单元池400包括语义功能模块(sfm)形式的虚拟单元。如上所述,在一个非限制性示例中,sfm可以由定义模块类型的模块类型包(mtp)来表示。每个模块类型仅在虚拟单元池400中出现一次(图4中所示为模块类型sfm1-sfmn)。真实单元池402中的真实单元对应于在虚拟单元池400中找到的类型,并且可以与收集的使用数据相关联。在这个例子中,工厂运营商拥有多个不同类型的真实单元,这里有3个真实的计量单元,2个真实的反应单元。在第一步中,使用某些类型的虚拟单元手动或自动(如上所述)生成隐式流水线404,并且在第二步中,流水线优化组件106执行优化算法,以用从真实单元池402中选择的给定类型的真实单元的表
示来替换这些虚拟单元,以便根据给定的优化标准,优先选择一个真实单元而不是另一个。显示优化结果,以允许工厂运营商查看不同的工厂组成备选方案及其优缺点。在图4所示的示例中,流水线优化组件106从真实模块池402中识别出两个替代的反应单元(模块类型sfm1的,被选为流水线的第一模块)和三个替代的计量单元(模块类型sfm4的,被选择用于流水线的第二个单元),其可用于获得特定产品。在该示例中,流水线优化组件106基于存储在相应的语义单元的语义描述中的收集的使用数据以及预定的优化标准,为流水线404选择反应单元406和计量单元408。例如,在预定标准是最大化模块正常运行时间的情况下,优化算法可以选择单元406和408,因为那些单元具有比其他候选单元更长的mtbf,和/或直到下一次计划维护的时间更长。
[0092]
流水线优化组件106可以附加地或替代地用于优化包括对应于真实模块的语义模块的流水线,例如由工程师输入的那些。在局部优化场景的另一个示例中,其中工程师制定的初始生产计划的流水线包括尺寸太大并因此消耗太多能量的选定蒸馏模块,流水线优化组件106选择替代的、较小的满足计划批次的蒸馏模块。
[0093]
尽管上文参照语义描述的使用描述了流水线优化组件106,包括所收集的使用数据,其在上文中描述为根据语义数据模型,但是应当理解,来自任何适当的其他源并且采用任何适当格式的数据可以用于优化。
[0094]
模拟组件
[0095]
再次参考图1,为了帮助工厂运营商验证对模块/流水线的选择,自动化工程支持系统100可以包括模拟组件108或模拟工具,其被配置为提供模拟功能,以允许模拟对在模块化工厂中包含一个或多个模块的模块流水线的操作(无论流水线是手动还是自动地生成,以及是否自动地优化),例如识别可能的瓶颈和低效率,尝试替代的模块以确定这是否优化了模拟,或者通常模拟“假设”场景。例如,计划可以从用户手动生成的流水线形式的初始流程图开始,以表示模块以及它们如何连接,以定义用户想到的流程种类。该流水线很可能不是最佳的。用户可以利用模拟组件108来模拟不同的假设情景,以便发现次优配置。例如,用户可以模拟如果使用替代的蒸馏模块而不是当前选择的更大或具有更长服务时间的蒸馏模块会发生什么。模拟组件108可以被自动配置为模拟不同的假设情景,即替代的配置/排列并比较结果。情景的数量实际上可以取决于例如计划者想要在模拟中投入的时间。
[0096]
反馈处理组件
[0097]
再次参考图1,自动化工程支持系统100还可以包括反馈处理组件110。反馈处理组件110可以被配置为基于用户反馈来修改自动化工程支持系统100的一个或多个其他组件104-108的操作。用户可以是工厂所有者或工厂运营商、自动化工程师、维护人员、开发团队成员、服务团队成员等。
[0098]
反馈处理组件110可以被配置为接收关于由流水线优化组件106提供的模块或流水线排名的用户反馈,并且使用用户反馈来提供随后生成的流水线的改进排名。如上所述,流水线优化组件106可以被配置为根据预定的优化标准对多个候选模块或流水线进行排名。特别地,反馈处理组件110被配置为将用户反馈连同用户反馈所涉及的生成的流水线作为训练数据提供给机器学习模型,使用该训练数据训练模型,以及使用训练模型来生成改进的排名。在这种情况下,用户反馈可以包括例如对生成的排名的修改或重新排名。
[0099]
图6示出了反馈处理组件110用于训练机器学习模型,以提供由流水线生成组件
104生成的流水线建议的改进排名。在步骤1中,优化组件106根据一个或多个预定标准来生成所产生的流水线建议的排名,在本例中为kpi能源成本(以焦耳为单位)和最小sfm寿命(以天为单位)。图6示出了两个生成的流水线建议502、504,以这种方式获得了其排名。在步骤2中,用户(在该示例中,三个模块化工厂的工厂所有者)提供关于排名的用户反馈506。在该示例中,用户偏爱排名第二的流水线建议504并陈述偏爱的原因(理由以及相关性或关系或相关数据)。在步骤3中,流水线建议502、504连同用户反馈506由反馈处理组件110作为训练数据输入到机器学习模型,以训练模型以生成更好地满足用户偏好的排名。
[0100]
在训练模型的一个特定非限制性示例中,优化组件106根据给定/建议的优化标准、能量成本和最小sfm寿命或服务时间,对一组用于化工厂的两条备选流水线进行排序,类似于上面的例子。然而,优化组件106及其基础算法,包括排序算法,还没有包括专家知识(工厂所有者可能拥有的),特别是对于化工厂的故障安全而言,模块并行性是非常优选的。因此,这些化工厂所有者反馈,上述示例中排名第二的流水线仍然是可取的(因为它包含两个相同类型和功能相同的模块,这使得生产更可靠,更安全(即,两个模块中的一个可能会损坏,但另一个仍然可以工作并且可以保持进程处于活动状态,即使在较低的吞吐率下)。因此,在这个例子中,人类可以理解的理由包括关于附加专家知识的信息,这些信息是关于特定工厂类型(化工厂)的一个重要的尚未提及的kpi,从现在开始考虑并强烈加权这种类型的所有工厂。实施和执行这种更新的排名行为所需的数据和标签,即训练数据,将包括先前获得的对于两个备选流水线建议502和504的初始排名,以及与这两个备选流水线相关的更新排名,但当然,不仅是这个例子,还有很多例子,这样ml组件就可以识别“两个或多个相同类型的并行模块总是优选用于化工厂”的模式。一旦被ml组件识别,它最终成为ml模型的一部分,即更新后的排名算法的一部分。
[0101]
反馈处理组件110可以被配置为使用可解释的ai(x-ai)。在上述具体示例中,与上述机器学习/识别模式相对应的人类可读语句“如果我们正在处理一个化工厂,那么模块并行性是可取的”,可以被提供为x-ai推理支持或可解释的ai理由。反馈处理组件110可以被配置为使用合适的已知x-ai方法来获得这样的解释。一个非限制性示例可以使用本质上可解释的决策树,因为树中的所有分叉都可以追溯到if-else-语句,但是应当理解,本公开设想了其他方法。
[0102]
这样,模型可以基于新接收到的用作训练数据的用户反馈而不断更新。学习以这种方式对模块或流水线进行排序可以简化为模块化工厂生成流水线的过程,减轻自动化工程师的任务,并允许提供透明的和基于证据的排序建议,从而建立对系统100的信任。广义上讲,优化组件106可以被配置为分析工厂中的模块或流水线性能,并基于至少两类信息建议更好的流水线:即,不仅基于包括明确理由的信息(例如陈述,“如果我们正在处理一家化工厂,那么模块并行性是可取的”),而且还涉及从中可以识别和推断模式的异构数据/证据(再次参考上面的示例,对于相同的陈述,这将是关于上述两个替代的流水线建议的数据/标签)。
[0103]
在另一个示例中,反馈处理组件110可以被配置为使用用户反馈,而不是修改排名,而是提供伴随排名的补充信息,例如以“透明建议”的形式。透明的建议可以包括除了关于该排名或类似排名的先前用户反馈之外的排名。更具体地说,透明的建议可以采取诸如“我们将自动生成的流水线排序如下
……
但其他自动化工程师或工厂所有者此时确实使用
了xyz模块
……
并获得了更高等级的流水线。”的形式。参考上面关于图6给出的相同示例,透明的建议旨在揭示并阐明已识别的模式(即语句,“如果我们正在处理一家化工厂,那么模块并行性是可取的”)。因此,在这个非限制性示例中的透明建议,透明建议可以如下所示:
[0104]“我们将根据您(即工厂所有者)的优化标准(这里即:能源成本和最小sfm寿命/服务时间)用排名1和2对自动生成的流水线进行排名。但其他自动化工程师或工厂所有者在这一点上遵循“如果我们正在处理一家化工厂,那么模块并行性是可取的”的模式,因此增强的/改进的基于证据的排名将是:“排名2的流水线是更高级别的流水线'。
[0105]
反馈处理组件110可以被配置为基于用户反馈来调整由流水线生成引擎104使用用来生成建议流水线的算法。如上所述,流水线生成引擎104可以使用基于规则的算法来操作,该算法被配置为实现用于生成流水线的专家规则。反馈处理组件110可以被配置为允许基于用户反馈来调整基于规则的算法。例如,反馈处理组件110可以被配置为促进新规则的添加、现有规则的修改或规则的删除(在规则列表中或在规则储存库112中)。规则储存库112中的规则可以包括形式化的依赖关系以及可以以相同方式编辑的规则。图7示出了基于用户反馈被更新的规则储存库112。在所示示例中,反馈处理组件110接收来自一个用户的反馈,该用户请求将规则y添加到规则储存库112。另一用户请求将规则x修改为规则x”。可以添加或修改的规则示例例如包括:使用类似/相同的标称压力或油箱尺寸或i/o连接/端口;或先计量,然后混合并加热,然后储存和冷却;或者,如果一个反应器模块有两个相同的输入端子/连接部,那么它需要两个相同的计量模块用于两个产物。
[0106]
可以基于请求所述动作的直接的用户反馈来调整基于规则的算法。例如,可以从诸如管理员、开发人员、供应商之类的用户接收用户建议。这样的建议可以由建议用户自己、由其他用户、由储存库112的人工管理员或由反馈处理组件110自动地批准、验证、排名和/或加权。附加地或替代地,对基于规则的算法的调整可以根据用户对生成的流水线所做的修改来推断。这种调整可以由管理员、开发人员、供应商等分析所述修改而手动地推断,或者由反馈处理组件110自动推断。
[0107]
反馈处理组件110可以被配置为仅响应于接收到调整确认来调整基于规则的算法。确认可以是手动和/或自动的。例如,反馈处理组件110可以被配置为提示用户,例如储存库112的管理员,手动地基于他们的专家/领域知识来确认所建议的调整。附加地或替代地,反馈处理组件110可以被配置为通过在处理请求之前等待预定数量的用户提供相同建议或类似建议来自动确认调整。例如,一个新规则可能会在5个或更多用户请求添加时自动添加。类似地,现有规则只能在手动确认调整(例如,基于我们的专家/领域知识,包括确定规则定义中尚未包含的功能)或响应多个独立用户请求相同修改时自动修改。
[0108]
在反馈处理组件110被配置为基于用户建议(例如,新规则或对规则的修改)来调整基于规则的算法的情况下,反馈处理组件110可以进一步被配置为在调整基于规则的算法之前处理一个或多个反建议。“反建议”是指与第一个建议至少部分不一致的第二个建议。例如,反建议可以包括对基于规则的算法的与第一个建议所建议的相反或不同的修改。因此,反馈处理组件110可以进一步被配置为确定在存在对那些调整的一个或多个建议的反建议的情况下要进行哪些调整。该确定可以手动或自动进行。例如,反馈处理组件110可以被配置为响应于接收到对所述调整的建议的一个或多个反建议,手动提示用户,例如储
存库112的管理员,以基于他们的专家/领域知识来确认所建议的调整。为了允许有时间接收反建议,反馈处理组件110可以被配置为将基于用户建议的调整延迟预定时间段。附加地或替代地,反馈处理组件110可以被配置为通过采用加权机制来自动确认调整。例如,加权机制可以被配置为对相同或相似的建议的数量和反建议的数量进行计数,并且仅当相同或相似的建议的数量超过反建议的数量预定值例如5左右时才相应地调整基于规则的算法,以验证/批准调整。一个或多个相似性度量可用于确定或识别建议在何时与其他建议相同或相似。
[0109]
用户以这种方式修改规则允许生成不断改进的流水线建议,其中考虑到影响工厂的限制,例如一般流水线的可行性和实用性、易用性、惯例等。在上述示例的一些变体中,可以在生产期间仅响应于手动确认对基于规则的算法进行调整,或者对被视为关键的规则进行调整。
[0110]
反馈处理组件110可以被配置为促进基于用户反馈的对语义数据模型的修改。特别地,反馈处理组件110可以促进基于用户反馈的对语义数据模型的扩展。用户反馈可以包括将一个或多个元素添加到语义数据模型的建议。反馈处理组件110可以被配置为促进对语义数据模型的修改或扩展,以包括所建议的元素。可以添加如本文所述的语义数据模型的任何元素,包括例如关系(例如在输入和输出之间,或在功能和处理的材料之间)、模块特征、kpi、类别、标签。允许以这种方式修改语义数据模型使其可扩展,使其能够(通过各自的权重和重要性排名)反映更广泛的领域专业知识和对真实、实际工厂环境的理解。
[0111]
可以通过将所建议的元素添加到相同类型的现有元素列表中来扩展模型。例如,可以通过添加用户建议的kpi来扩展语义数据模型的kpi目录。附加地或替代地,可以通过引入新类型的元素来扩展语义数据模型。例如,如果语义数据模型仅涵盖能量值和管连接部,则可以将其扩展为包括过程技术、程序经验值或经验值。这可能是,例如,从一个模块到另一个后续模块的正向压力,或者例如,一个阀门只能逐步打开,即使前一个模块为其提供输入材料,也不能促进直接打开/关闭状态,或者例如,反应器的体积-温度-压力关系正式允许x-y-z值,但在实践中,最好并建议仅将其用于90%的工作负载/利用率。
[0112]
反馈处理组件110可以被配置为允许用户编辑(例如,添加或修改)由这里描述的流水线优化和/或排名算法使用的特征。自动化工程支持系统100可以为此目的维护优化标准或kpi的列表、数据库或目录。反馈处理组件110可以被配置为允许用户编辑这个标准目录。可以基于用户的kpi重要性选择来使用特征权重。在一个非限制性示例中,如果用户想要关注能源效率,他们可以指示排名算法将更高的权重附加到与能源成本相关的所有kpi。在另一个非限制性示例中,例如,用户可以建议添加/包括kpi,以关注“实用性和可管理性”,以便将更高等级例如附加到包含“脚轮上的模块”的流水线。在这里,“便利性”可以是要添加到标准目录的kpi,然后当用户命令排名算法将kpi“方便”置为焦点时,排名算法可以相应地将更高的排名附加到包含“脚轮模块”流水线。在另一个非限制性示例中,用户可以建议kpi来描述几个程序将适用于预期的过程(例如,不同行业部门的不同焦点),但尚未在语义数据模型中描述/定义差异。例如,如在上面提到的示例中,这可以用于将模块并行性表示为流水线的首选特性(基于可靠性-kpi或模块-并行性-kpi)。在进一步的非限制性示例中,用户可以将特定于部门或特定于用例的元素或元素类型添加到语义数据模型。例如,石油和天然气行业用户可能会添加kpi以专注于持续运行或维护,而例如制药行业用户
可以添加kpi以关注精度(例如批处理过程没有变化或异常值),例如能源密集型行业用户可以添加kpi以关注能源成本/能源效率,例如,这样就不会出现峰值电流。
[0113]
在反馈处理组件110全局或亚全局操作的情况下,语义数据模型可以仅响应于建议相同修正的预定最小数量的用户而被修正,例如,新特征或kpi可以仅在建议时被集成由5个或更多独立用户(例如客户、自动化工程师、工厂所有者等),因此可以确保修正很重要,而不是异常值或很少或特殊的愿望。
[0114]
在一个示例中,反馈处理组件110可以以工厂为中心的方式操作,即,针对相应的工厂所有者进行个性化。在其他示例中,反馈处理组件110可以跨多个工厂全局操作,或跨特定域中的工厂(例如,化工厂、采矿作业)的亚全局操作,以更广泛地覆盖最佳实践。
[0115]
总之,反馈处理组件110提供环绕自动化工程支持系统100的其他组件104-108的包装,从而促进可扩展的、学习的、不断改进的自动化流水线生成和优化系统,该系统不断适应实际用例和应用领域,以响应于用户对其输出的评估。
[0116]
应用
[0117]
如本文所述的自动化工程支持系统100可以被提供:
[0118]
o作为提供给多个工厂运营商的中央单元池。中央池包括与工厂运营商先前使用的模块相对应的语义模块的集合,并且包括语义描述以及从委托工厂收集的使用数据。因此,不仅促进了以单元为中心的局部优化,而且促进了全局的、以单元为中心的流水线环境优化。该解决方案可以基于云、可扩展且易于访问。
[0119]
o作为由工厂运营商管理的私有单元池。私有单元池允许工厂运营商管理和掌管与工厂运营商拥有的真实模块相对应的语义模块的集合。参数、kpi和其他收集的使用数据(最佳实践、校准参数组合、维护间隔、mtbf、上次维护完成、上次使用的材料、清洁与否、活动/可用/未使用等)从真实模块收集,并上传到数据库,以允许应用系统的流水线生成引擎和优化组件。根据工厂运营商的愿望/要求,本地实施和基于云的解决方案都是可能的。
[0120]
o作为内部产品以降低工厂运营商的成本,或作为向客户提供以降低其自身成本的提议。
[0121]
本文描述的主题可以在基于模块的生产和资源规划中找到特定的应用。尤其是在小批量的药品批量生产中,模块资源在不同批次之间频繁交换。在计划新批次时,或在重新设计现有批量生产的模块设置时(例如,因为生产负载已发生变化,对现有模块的选择似乎会造成一些瓶颈),本文描述的主题将允许规划师来识别和选择正确的即最适合的模块。
[0122]
本文描述的主题可以在模块维护计划中找到进一步的应用。模块需要不时维护,并具有诸如“服务时间”之类的特性,其表明距离下一次计划的检查服务还剩有多少运行时间。在这里,优化和假设模拟可以帮助确定模块的最佳维护计划。例如,在已知的生产计划的帮助下,指定在不久的将来如何使用不同的模块,一个示例优化场景是比计划更早地对一个模块进行维护,因为那时它没有被使用,结果证明最终得到更好的利用和处理输出。
[0123]
因此,由本文所述的自动化工程支持系统100提供的好处包括—除其他外—(1)模块的重用和通过可搜索的模块池相应地减少工程工作量;(2)简化或自动生成可行的流水线,这些流水线(i)通过语义检查和控制而直接兼容,并且(ii)能够针对诸如正常运行时间、维护间隔、可用性等各种标准进行优化。
[0124]
控制工程支持系统
[0125]
虽然自动化工程支持系统100专注于支持自动化工程师(在自动化工程或调试阶段),但控制工程支持系统150专注于支持控制工程师(即,在操作阶段期间的运营商或生产计划员)。返回参考图1,控制工程支持系统150包括以下一项或多项:执行和控制引擎152;工厂优化组件154;质量控制组件156;认证组件158。
[0126]
执行和控制引擎
[0127]
控制和执行引擎152提供自动化语义流水线执行功能,以便系统可以调整、控制和/或执行自身。执行和控制引擎152被配置为使用与自动化工程支持系统100相同的语义数据模型进行操作,因此可以使用如本文所述的语义流水线和语义数据进行操作。执行和控制引擎152还可以访问来自在模块化工厂内委托流水线中的真实模块(例如功能模块)实例的数据。为此,控制和执行引擎152可以被配置为从基于工厂的监控基础设施(包括例如传感器和其他报告设备)接收数据,因此可以实时监控工厂流水线执行,并将数据馈送到基于软件的控制和执行引擎152。控制和执行引擎152可以被配置为将其从监控基础设施接收的数据翻译或解释成符合语义数据模型的数据。控制和执行引擎152被配置为运行可能已经或可能没有以上述方式生成并且随后被委托的流水线。控制和执行引擎152可以执行制造执行系统(mes)的一些或所有功能,因此可以配置为实时执行功能,包括例如调度和资源分配、生产订单的调度和执行、收集生产数据和生产分析,以监督、执行和/或控制从产物到产品的转化。控制和执行引擎152可以被配置为跟踪和记录过程,以记录捕获的数据、过程和过程的结果。控制和执行152使用符合语义数据模型的数据来执行这些功能。
[0128]
再次参考上述涉及提纯过程模块的示例,该模块具有需要液态钢作为输入的“purify”服务,该前置条件可以在语义数据模型下通过四维条件向量[0,76,2,-]描述所需的输入属性予以表示。这里,第0-3维的属性分别代表属性的类型(0=材料)、材料(76=钢)、聚合状态(2=液体)和耐久性(-=无条件适用)。控制和执行引擎152被配置为响应于由向量[0,76,2,-]描述的输入材料在模块的输入管处存在或被检测到,立即启动模块服务“purify”。在另一个非限制性的示例中,其中第一模块需要来自第二和第三(可能不同或并行的)模块(例如如图5所示)的两个(可能不同的)输入,控制和执行引擎152可以命令第一个模块仅在第二个和第三个模块都提供与第一个模块的输入前置条件相对应的输出之后(但尽快)执行。
[0129]
n维条件向量中的其他说明符可用于表示由模块公开的服务,从而提供这些服务的语义描述。n维条件向量的说明符可用于区分诸如“模块运行”、“服务运行”、“状态模型运行”和“xce运行”等服务。这些说明符可以进一步区分“模块运行”对应(或不对应)“服务运行”或因此对应(不对应)“状态模型运行”的情况。描述模块服务的信息可以在需要时从状态模型(包括例如因果矩阵)中收集。还可以使用进一步的说明符来区分服务的并行执行和顺序执行。例如,提供使n个服务并行运行的功能的模块可能具有说明符“支持的服务级别的并行性”,并且可并行化的服务可以获得相应的标志或注释,其指示它们可以与哪些其他服务并行运行。一些模块可能允许服务的并行执行,而另一些则不允许。例如,packml每个单元只允许一项服务或一个有限状态机/自动机。更进一步的说明符可用于表示服务之间的相互依赖性。这些说明符可以建立在xce矩阵上,也可以使用其他形式描述技术。例如,在katharina gohr等人的atp版本1-2/2014的“technik-kommunikation leicht gemacht:cause-and-effect-diagramm als”中描述了xce。这在顺序性或并行性
或并发性的情况下可能很有用。
[0130]
控制和执行引擎152可以被配置为响应于从人工操作员接收到的启动命令或批准(例如通过点击“运行”按钮502,如图5所示)运行流水线,或者它可以被配置为自执行,从相应的输入可用、维护间隔满足或根据自动检查的其他优化标准开始。例如,这也可以安排或准时生产例如药品或易腐产品,其中最终的例如在反应模块中的反应过程应该尽可能晚,但要及时物流。
[0131]
控制和执行引擎152因此有助于控制工程、操作和生产计划。控制和执行引擎152因此提供支持或替代人工操作员和生产计划员的自主或半自主的工厂流水线操作。它减少了对生产调度功能的需求,并允许在更高的自动化级别上实现更简单的生产调度功能。它减轻或消除了对mes和调度操作的需求。
[0132]
工厂运营优化组件
[0133]
工厂操作优化组件154被配置为使用从模块化工厂(例如,从传感器504,如图5所示)收集的数据或其他kpi来执行实时、多因素、工厂特定的优化,以进一步优化其执行。收集到的数据和kpi再次符合语义数据模型。可以优化的kpi包括例如成本、能源/资源和维护时间。在根据能源成本优化工厂操作的一个示例中,工厂操作优化组件154知道将通过特定流水线y生产一定量的产品x,流水线y需要例如20分钟来生产产品,并且交货日期是明天,工厂操作优化组件154可以指示控制和执行引擎152等到夜间,此时能源成本较低。当使用多个因素时,可以接收用户指定的相对重要性的指示,并将其用于优化。例如,工厂所有者可以通过提供kpi/因素的加权列表来指定相对的重要性,工厂操作优化组件154被配置为相应地计算流水线备选方案的总成本以及它们的计划执行的总成本。对于语义数据模型,流水线的成本可以计算为:
[0134]
并且k=1

n涵盖相应流水线中的所有sfm,j=1

m涵盖所有类型的成本(例如,能源、下次维护到期日或二氧化碳排放),并且i涵盖所有流水线替代方案,这样c乘以v描述了sfm的成本c相对于材料的加工量或体积v,由相应的成本kpi重要性μ加权,由此工厂所有者可以相对于彼此具体权衡和排名kpi的重要性和强度。此外,可以选择惩罚因子pi》1(默认情况下pi=1)来惩罚流水线,例如基于本体中的知识,以便例如解释某些地区对环境不友好或法律禁止的程序。最佳流水线被认为是所有可能可行的流水线替代方案中总成本最低的一个(相对于给定的kpi权重)。一些参数可能是时间的函数,而另一些可能是常数。例如,全天不同的电价可能意味着能源成本可能是函数c=f(t),这可能类似于白天价格高而夜间价格较低的升高的正弦函数。因此,成本(pipei)也可能取决于时间,总体最小值不仅取决于所选流水线,还取决于相应的执行时间。
[0135]
优化可以是全局性的、特定于行业或领域的(例如,仅适用于石油和天然气工厂,但不适用于制药厂)或特定于工厂。
[0136]
质量控制组件
[0137]
质量控制组件156用作自动化语义质量控制系统,其可以自动评估或监控从流水线获得的语义结果及其质量,例如以保证中间产品或最终产品的质量落在预定的容差内或满足一定的门槛。例如,质量控制组件156可以被配置为检查产品x的ph值在某个容差内是
否正确。ph值由符合语义数据模型的n维条件向量中的说明符表示。在一个非限制性示例中,可以使用条件向量[0,32,2,-,1.87( /-0.5)]在语义上表示酸性液体材料,其中第0-4维中的属性分别表示类型属性(0=材料)、材料(32=硫酸)、聚合状态(2=液体)、耐久性(-=无条件适用)和ph值(ph值=1.85,公差为 /-0.5,表示从1.35到2.35)。
[0138]
认证组件
[0139]
认证组件158用作可以创建自动化质量控制的证书或协议的自动化语义质量控制认证系统。图5示出了由认证组件158产生的语义质量控制证书。假设这是正确的,质量控制证书可以直接从模块/sfm的设置中导出。换句话说,如果sfm设置和校准正确,即它们的i/o前置/后置条件是正确的,例如关于ph值、耐久性、温度、压力等,那么最终结果产品将是准确已知的,因为流水线执行和控制组件152将准确地执行已被指定为具有相应模块的流水线的内容。
[0140]
控制工程支持系统150因此使用语义数据模型和基于证据的反应性算法来提供自动化和控制工程支持的高透明度,并且可以用于补充自动化工程支持系统,使得自动化工程师和控制工程师得到支持。当然,应当理解,这两个系统也可以独立存在。
[0141]
现在参考图8,示出了可以根据本文公开的系统和方法使用的示例性计算设备800的高级示图。特别地,计算设备800可以用于实现上述模块化自动化支持系统10。计算设备800包括至少一个处理器802,其执行存储在存储器804中的指令。指令例如可以是用于实现描述为由上述一个或多个组件执行的功能的指令,或用于实现上述方法中的一个或多个的指令。处理器802可以通过系统总线806访问存储器804。除了存储可执行指令之外,存储器804还可以存储会话输入、分配给会话输入的分数等。
[0142]
计算设备800另外包括可由处理器802通过系统总线806访问的数据存储部808。数据存储部808可包括可执行指令、日志数据等。数据存储部808可用于实现上述的模块库102及其数据库。
[0143]
计算设备800还包括允许外部设备与计算设备800通信的输入接口810。例如,输入接口810可用于接收来自外部计算机设备、来自用户等的指令。计算设备800还包括将计算设备800与一个或多个外部设备接口的输出接口812。例如,计算设备800可以通过输出接口812显示文本、图像等。设想通过输入接口810和输出接口812与计算设备800通信的外部设备可以包括在基本上提供用户可以与之交互的任何类型的用户界面的环境中。用户界面类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可以接受来自使用诸如键盘、鼠标、遥控器等输入设备的用户的输入,并在诸如显示器的输出设备上提供输出。此外,自然用户界面可以使用户能够以不受诸如键盘、鼠标、遥控器等输入设备施加的约束的方式与计算设备800交互。相反,自然用户界面可以依赖于语音识别、触摸和触控笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和语言、视觉、触摸、手势、机器智能等等。
[0144]
此外,虽然被示为单个系统,但应理解,计算设备800可以是分布式系统。因此,例如,若干设备可以通过网络连接进行通信,并且可以共同执行描述为由计算设备800执行的任务。
[0145]
本文描述的各种功能可以用硬件、软件或其任何组合来实现。如果以软件实现,则这些功能可以作为一个或多个指令或代码在计算机可读介质上存储或传输。计算机可读介
质包括计算机可读存储介质。计算机可读存储介质可以是计算机可以访问的任何可用存储介质。作为示例而非限制,此类计算机可读存储介质可包括ram、rom、eeprom、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备,或任何其他可用于以指令或数据结构的形式携带或存储所需的程序代码,并且可以由计算机访问。如本文所用,磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光光盘(bd),其中磁盘通常以磁性方式再现数据,而光盘通常用激光光学地再现数据。此外,传播的信号不包括在计算机可读存储介质的范围内。计算机可读介质还包括通信介质,其包括促进计算机程序从一个地方到另一个地方的传输的任何介质。例如,连接部可以是通信介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或诸如红外线、无线电和微波等无线技术从网站、服务器或其他远程源传输软件,则同轴电缆、光纤电缆、双绞线、dsl或诸如红外线、无线电和微波等无线技术都包含在通信介质的定义中。上述的组合也应包括在计算机可读介质的范围内。
[0146]
替代地或附加地,本文中描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的示例性硬件逻辑组件类型包括现场可编程门阵列(fpga)、程序特定集成电路(asic)、程序特定标准产品(assp)、系统上-芯片系统(soc)、复杂可编程逻辑器件(cpld)等。
[0147]
尽管以上描述是在mtp标准的环境中提供的,但是应当理解,本公开不限于在定义单元中使用mtp,并且可以使用其他标准化模块描述。
[0148]
申请人在此单独公开本文所述的每个单独的特征以及两个或多个这样的特征的任何组合,以使这些特征或组合能够基于本说明书作为一个整体根据本领域技术人员的一般通用知识来实施,无论这些特征或特征的组合是否解决了本文公开的任何问题,并且不限于权利要求的范围。申请人指出,本发明的各方面可以由任何这样的单独特征或特征组合组成。
[0149]
尽管在附图和前面的描述中已经详细说明和描述了本发明,但是这样的说明和描述被认为是示例性的而不是限制性的。本发明不限于所公开的实施例。通过研究附图、公开内容和所附权利要求,本领域技术人员可以理解和实现对所公开实施例的其他改型。
[0150]
在权利要求中,“包括”一词不排除其他元件或步骤,不定冠词“一个”不排除多个。单个处理器或其他单元可以实现权利要求中列举的若干项的功能。在相互不同的从属权利要求中列举了某些措施这一事实并不表明不能有利地使用这些措施的组合。计算机程序可以存储/分发在合适的介质上,例如与其他硬件一起提供或作为其一部分提供的光学存储介质或固态介质,但也可以以其他形式例如通过互联网或其他有线或无线通信系统分发。
[0151]
权利要求中的任何参考符号不应被解释为限制范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献