
1.本发明涉及用于对模块化工业工厂的模块的控制逻辑进行逆向工程的方法和系统。
背景技术:2.模块化自动化系统领域中的模块化类型包(mtp)标准创建用于在模块和编排系统之间的互操作性的框架,允许以更加模块化的方式构建和设计工业过程工厂,其目标是简化过程工厂工程化和生命周期管理。这些优势通过被称为pea(工艺设备组装)的预制和经过良好测试的模块来实现,其可以容易地以不同的组合方式放在一起,从而实现不同的配方。
3.模块化工厂逐渐变得越来越成熟,并且社区同意提供各种好处,不仅在开发成本方面,而且在时间和物质努力方面。对于控制系统更换,尤其是在可能不存在控制系统描述的较旧的和第三方的模块中,需要一种方法来对控制系统的行为进行逆向工程,并为更换自动创建必要的工程信息。
技术实现要素:4.因此,需要有利于模块化工业工厂的模块的逆向工程的方法。这需要由独立权利要求的主题来满足。可选特征由从属权利要求来阐述。
5.根据第一方面,提供了一种用于对模块化工业工厂的模块的控制逻辑进行逆向工程的计算机实现的方法。该方法包括:在模块的至少一件设备从第一设备状态转变到第二设备状态的时间段期间获得包括与模块的先前使用相关的运行时间数据的模块相关数据,该运行时间数据包括指示该设备在该时间段期间的多个时间点处的设备状态的标签;并且从模块相关数据推断使设备从第一设备状态转变到第二设备状态的一个或多个设备状态转变条件。
6.因此,本公开提供了一种用于基于诸如mtp和相关操作数据之类的模块相关数据的模块的逆向工程的方法,例如pea。本文公开的方法和系统对于需要控制系统更换的棕地项目和旧的pea而言尤其有用。由于来自pea内部的控制系统的控制逻辑是未知的,因此提供本文公开的方法和系统以便找出实现什么功能性以及pea在过程中如何表现。
7.如本文中所使用的,“推断”涉及使用算法尤其是基于规则的算法来从运行时间数据推导出、推导、确定或标识信息、结论、原因和结果以及逻辑结论,如本文中所述。
[0008]“模块相关数据”可以包括与模块及其服务、状态和设备的静态和/或动态方面相关的数据,包括例如与输入和输出、通信hmi、标签、参数、警报、控制逻辑相关的数据。模块相关数据可以例如包括mtp。
[0009]“运行时间数据”可以包括与模块的先前使用相关的任何先前或历史数据。该数据可以被存储在模块本身或控制系统中。
[0010]“设备”包括模块影响或控制制造过程(例如化学过程)的部件,任何可以包括例如
诸如阀门之类的基于致动器的设备,或者诸如加热器、冷却器等之类的不可致动的设备等等。相应地,设备可以被置于一种或多种“设备状态”,从而可以改变其对制造过程的影响。设备状态可以包括诸如位置、速度等等之类的致动器状态,以及诸如开、关和功率设置之类的其他状态。
[0011]“设备状态转变条件”标示使得或导致设备状态改变的那些情形、刺激或触发器(包括但不限于传感器或致动器的动作加上所有命令),即,其导致模块的控制逻辑指示设备从一个设备状态转变到另一个设备状态。设备状态转变条件的两个示例形式是服务状态入口动作和过程条件(例如,液位》x-》阀门关闭),如本文所述。其他示例包括其他设备状态变化(例如致动器状态变化,诸如阀门关闭-》泵必须停止)和安全开关(例如,气压开关打开(真)-》释放阀门打开,点燃火炬)。
[0012]
例如,服务状态转变可以用作设备状态转变条件。运行时间数据还可以包括指示由模块在多个时间点处执行的至少一个服务的服务状态的标签,并且推断可以包括:将从第一服务状态到第二服务状态的转变标识为使设备从第一设备状态转变到第二设备状态的所述设备状态转变条件。“服务”在本文中意指由模块执行的功能或功能性。从第一服务状态到第二服务状态的转变可以引起一个或多个入口动作,如下文进一步描述的那样。为了发现入口动作,该方法可以包括:标识进入第二服务状态之后的设备状态的改变,例如通过标识运行时间数据中与从第一服务状态转变到第二服务状态之前和之后的时间点相对应的入口,比较被标识的入口中的设备状态,并将设备状态之间的差异标识为要在进入第二服务状态后实现的设备状态转变。
[0013]
附加地或备选地,过程条件可以用作设备状态转变条件。“过程条件”意指所测量的过程值中的特定值(即设定点)、趋势或其他可标识特性,其在被控制逻辑检测到时可导致其指示设备状态转变。再次,在运行时间数据还包括在多个时间点中的每个时间点处测量的一个或多个过程值的情况下,推断可以包括:从一个或多个所测量的过程值中,将过程条件标识为使设备从第一设备状态转变到第二设备状态的所述设备状态转变条件。可以使用基于规则的算法来标识过程条件。例如,为了标识导致设备状态转变的过程条件,该方法可以包括:标识与第一设备状态处于活动的最终时间点相关的运行时间中的入口,检查被标识入口中的以及围绕被标识入口的一个或多个另外入口中的过程值以标识相关过程参数,并基于为被标识入口中的相关过程参数测量的过程值定义过程条件。相关过程参数可以通过标识诸如被标识入口和一个或多个周围入口中的过程值的趋势之类的特性来标识。基于规则的算法可以被用来标识相关参数。例如,一个规则可以规定,在针对一个参数的过程值的趋势偏离其他参数的过程值的趋势的情况下,具有偏离趋势的过程参数被标识为相关的过程参数。另一规则可以规定,在针对一个过程参数的过程值的趋势改变而针对其他过程参数的过程值的趋势保持不变的情况下,具有变化趋势的过程参数被标识为相关过程参数。更一般地,可以通过标识针对该过程参数的过程值中的非线性来标识相关过程参数。更具体地,一个规则可以规定,在针对一个过程参数的过程值增加或减少而针对其他参数的过程值保持不变(例如在预定的可变性阈值内)的情况下,具有变化过程值的过程参数被标识为相关过程参数。另一个规则可以规定,在针对一个参数的过程值停止增加或减少或者达到转折点而针对其他参数的过程值保持不变或继续增加或减少的情况下,过程值停止改变(或达到转折点)的过程参数被标识为相关过程参数。另外的规则可以在过程值中的变
化率之间的偏差的基础上或者在过程值中的变化率的变化的基础上标识相关过程参数。基于规则的算法还可以包括用于在被标识入口中的过程值和被用来标识相关过程参数的规则的基础上定义过程条件的规则。例如,在相关过程参数是在其过程值增加或减少而针对其他参数的过程值保持不变的基础上被标识的情况下,或者在相关过程参数是在其过程值停止增加或减少而针对其他参数的过程值保持不变或继续增加或减少的基础上被标识的情况下,基于规则的算法可以将过程条件定义为pp》=pv或pp《=pv,分别用于增加和减少过程值,或分别停止增加或减少的过程值,其中pp是相关过程参数,并且pv是被标识入口中的过程值。应当了解,另外的规则是可能的,并且这些可以由工程师添加到基于规则的算法中。
[0014]
用于推断过程条件的通用基于规则的算法可以执行以下中的一个或多个步骤:1.算法借助于从连续增加到恒定状态或减少(例如找到非线性)而找到改变其行为的过程值。2.在过程值改变其行为的时间点处或在其附近,检查设备(例如致动器)以确定哪些设备在同一时间或在其附近改变了其设备状态。3.这些设备被标识为最有可能影响过程值的设备。可以过滤(重新评估)那些设备,例如通过查找在同一时间点或在其附近改变其行为的其他过程值。此外,可以标识并比较辨识出相同行为改变的其他此类时间点,以标识哪些设备在所有这些时间点处改变了它们的状态。可以执行其他交叉检查,诸如使用过程值和设备状态之间的相关性或使用其他过程值。
[0015]
可以为每个服务或为服务的组合推断设备状态转变条件。例如,该方法可以包括为由模块执行的多个服务中的每个服务单独地执行推断以便推断每个服务的设备状态转变条件。附加地或备选地,该方法可以包括关于由模块执行的多个服务的组合来执行推断以便推断组合服务设备状态转变条件。
[0016]
过程条件也可能引起服务状态的转变。例如,在运行时间数据还包括在多个时间点的每个处测量的一个或多个过程值的情况下,该方法还可以包括:从一个或多个过程值推断使模块执行的服务从第一服务状态转变到第二服务状态的一个或多个过程条件(作为服务状态转变条件)。可以再次使用基于规则的算法来标识过程条件。例如,为了标识导致服务状态转变的过程条件,该方法还可以包括:标识与第一服务状态处于活动的最终时间点相关的运行时间中的入口,检查被标识入口中的以及围绕被标识入口的一个或多个另外入口中的过程值以标识相关过程参数,并且在为被标识入口中的相关过程参数所测量的过程值的基础上定义服务状态转变条件。可以以与上述相同的方式标识相关过程参数。
[0017]
除了设备状态转变条件之外,可以从运行时间数据推断其他条件,诸如警报条件。例如,在运行时间数据还包括在多个时间点的每个处测量的一个或多个过程值的情况下,该方法还可以包括从一个或多个过程值推断触发警报的一个或多个过程条件。
[0018]
该方法可以包括标识默认设备状态。例如,在运行时间数据还包括指示模块在多个时间点处执行的一个或多个服务中的每个的服务状态的标签,该方法还可以包括:使用标签标识一个或多个服务中的每个处于空闲状态的一个或多个空闲时间点,并将空闲时间点处的设备状态标识为默认设备状态。为方便起见,该方法还可以包括在执行推断时从模块相关数据中排除在空闲时间点处收集的运行时间数据。
[0019]
该方法还可以包括:为模块的一个或多个服务确定服务状态和设备状态之间的映射。确定映射可以包括:确定在由模块执行的所述服务的多个服务状态中的哪个服务状态
中使用多个设备中的哪一个服务,和/或标识在多个服务状态中的每个服务状态中的多个设备中的每个设备的可能设备状态。
[0020]
该方法还可以包括:标识由模块执行的多个服务之间的冲突设备状态并且生成防止冲突服务被并行执行的互锁规则。
[0021]
推断可以被改善以提高准确性。例如,当运行时间数据涉及服务从第一服务状态转变到第二服务状态的另外时间段时,可以提高准确度,该方法可选地还包括:在与该另外时间段相关的运行时间数据的基础上改善对一个或多个服务状态转变条件的推断。附加地或备选地,在运行时间数据涉及模块的设备从第一设备状态转变到第二设备状态的另外时间段的情况下,该方法可以还包括:在与该另外时间段相关的运行时间数据的基础上改善对一个或多个设备状态转变条件的推断。改善可以包括例如通过例如对在与同一转变相关的多个时间段上的过程值取移动平均值。
[0022]
以所描述的方式进行逆向工程的控制逻辑可以以多种方式而被应用。在一个示例中,该方法可以包括:至少部分地从定义模块的配置的配置文件中获得模块相关数据,并且使用模块相关数据来创建用于被配置为实现逆向工程控制逻辑的控制软件的框架。该方法还可以包括:在被用于配置模块化工业工厂的工程工具中表示逆向工程控制逻辑,例如使用因果矩阵。“配置文件”可以是描述模块的描述文件,例如定义模块及其配置(例如过程设备组装或pea)的模块类型包(mtp)。配置文件可以与目标系统无关。配置文件还可以包括取自工程库的一个或多个文件。“工程工具”可以以软件来实现以提供用于配置模块化工厂的工具。可以提供对应的软件包。工程工具的功能性可以经由一个或多个视图或设施访问或者由其提供。工程工具可以具有一种或多种环境。工程工具可以提供能够创建框架(框架程序)的功能性。框架是用于制造定制软件的可重复使用的机器自适应的构建块。如下所述,将模块的逆向工程控制逻辑添加到框架中。这可以经由因果矩阵或在因果矩阵的帮助下来执行。当通过算法将所有逆向工程逻辑添加到框架中时,工程师可以添加与运行时间数据中从未达到的缺失状态相关的进一步逻辑。框架然后可以被用来制造用于更换模块的控制系统的控制软件。
[0023]
根据第二方面,提供了一种计算设备,其包括被配置为执行第一方面的方法的处理器。
[0024]
根据第三方面,提供了一种包括指令的计算机程序产品,所述指令在由计算设备执行时,使得计算设备能够执行第一方面的方法。
[0025]
根据第四方面,提供了一种包括指令的计算机可读介质,所述指令在由计算设备执行时,使得计算设备能够执行第一方面的方法。
[0026]
在本公开的上下文中,术语“模块”、“单元”和“pea”可互换使用。
[0027]
本发明可以包括单独或组合的一个或多个方面、示例或特征,无论该组合或单独是否具体公开。
[0028]
参考下文描述的实施例,本发明的这些和其他方面将变得显而易见并被阐明。
附图说明
[0029]
现在将参考附图仅通过示例的方式给出详细描述,其中:
[0030]
图1图示了模块化工业工厂;
[0031]
图2是图示了用于对模块化工业工厂的模块的控制逻辑进行逆向工程的方法的流程图;和
[0032]
图3图示了可以根据本文所公开的系统和方法使用的计算设备。
具体实施方式
[0033]
图1示出了包括编排层102和模块层104的模块化工业工厂100。编排层102包括操作台106,操作台106包括监控仪表板和监督控制系统108。虽然操作台106和监督控制系统108被示为两个分开的实体,但是应当了解,这些实体可以由集中式控制系统或分布式控制系统来提供。模块层104包括多个模块110,每个模块由下面进一步描述的模块类型包或mtp 112形式的配置文件来描述。每个模块110包括执行针对模块的控制逻辑(自动化逻辑)的控制器(未示出)。每个模块110提供一组被称为服务的封装过程功能,诸如混合、调温或加热,它们可以由监督控制系统108编排。模块110经由编排层102而被集成到工厂100中。编排层102和模块层104中的实体之间的通信经由架构网络114使用opc ua协议(opc统一架构,由opc基金会开发的用于工业自动化的机器对机器通信协议)来发生。每个模块110包括将模块的服务和标签暴露给监督控制系统108的opc ua服务器(未示出)。监督控制系统108包括opc ua客户端(未示出),其连接到模块的opc ua服务器以向模块110传达命令。通过以正确的方式控制服务,编排层102确保模块110一起工作以满足工厂100的要求。
[0034]
模块类型包(mtp)是用于模块化自动化系统的标准,它创建了用于在编排层102和模块层104之间的互操作性的框架,允许以模块化的方式构建和设计工业过程工厂,其目标是简化过程工厂工程和生命周期管理。这些优势通过也可以被称为pea(工艺设备组装)的预制且经过良好测试的模块110来实现,其可以容易地以不同的组合方式放在一起,从而可以实现不同的配方。每个mtp 112提供模块类型描述。mtp 112可以定义例如以下中的一个或多个:(i)与模块的通信;(ii)模块的人机界面(hmi);(iii)模块所使用的标签的定义;(iv)模块所提供的服务参数和服务的定义(例如使用例如状态机的自动化逻辑的定义);(v)模块所使用的警报管理程序;(vi)安全方面。hmi由符号和线条组成,其例如以p&id(管道和仪表图)的形式将设备和工艺流程可视化。如本领域已知的,每个符号、参数等都被标记并且提供了标签列表。从mtp 112中,可以自动生成用于模块110的控制软件,由模块的控制器执行。
[0035]
如上面所提及,有时需要控制系统更换,例如在棕地项目中。由于来自模块110内部的控制系统的控制逻辑可能未知,因此本公开提供了用于对控制逻辑进行逆向工程的方法和系统。
[0036]
逆向工程的预备步骤包括:为要在工程工具中使用模块的mtp 112进行逆向工程的模块110的控制软件创建框架。工程工具从mtp 112获取所有信息,包括p&id以及hmi、服务和服务参数、控制设备和标签,并将其添加到工程工具中。mtp 112的hmi部分被用来在工程工具中创建类似p&id的拓扑。当mtp 112包含符号之间的连接点时,那些被用作hmi中的连接点。如果mtp 112中不存在可选连接点,则可以为p&id而对它们进行重新评估并在此步骤中进行添加。服务被标识,并且服务参数被标识。在工程工具中添加所有服务并添加对应的参数。标识属于该模块的标签并完成与hmi的连接。此外,用于标签参数的默认值从mtp 112中被读取并被添加到标签列表配置中。mtp 112中描述的警报被添加到警报列表。这包
括服务警报以及标签警报。此外,工程工具中还添加了警报关系(先上警报、警报之间的联系、警报之间的因果链)。厂商依赖信息(诸如opc ua节点、序列号、系统警报)可以被忽略,因为在最终配置中不需要它们。
[0037]
由于mtp 112不包括任何关于服务内部的控制系统行为、设备之间的互锁等信息,所以如下所述,通过推断标签、致动状态和服务与状态之间的依赖关系,来自模块110(该模块之前已被使用过)的运行时间数据被用来对这种行为进行逆向工程。由于从mtp 112中描述的服务和标签中已经知道了控制逻辑的结构,因此只需要对内部进行逆向工程。
[0038]
参考图2,现在将描述用于对模块化工业工厂100的模块110的控制逻辑进行逆向工程的方法,其中使用运行时间数据210以逐步的方式执行模块的控制功能的逆向工程。该方法由逆向工程算法来执行,例如作为工程工具的一部分来运行,其可以使用下面描述的计算设备来实现。使用此方法获得的所有信息都被添加到工程工具。该方法采取结构化数据分析方法,以便为服务执行和标签连接创建代码。对于每个服务的每个状态,采取特定的时间点(例如,当服务被启动并执行服务状态“starting”时)。对于这些时间点,针对由模块110的设备所采取的动作,例如阀门打开或泵启动,评估运行时间数据210。被评估的运行时间数据210包括在服务处于该状态时所收集的那部分(即单个入口或一组入口)。基于运行时间数据210的这部分,服务的行为被重构。对于每个服务状态,评估致动器状态和过程值并且确定服务对模块110的影响。此外,还要考虑同时执行哪些服务。因此,设备(例如致动器)状态可以被指派给特定服务和特定服务状态,设备的操作模式可以被发现并且可以对过程值及其对模块110的影响进行逆向工程。设备的操作模式定义了设备由谁控制或由什么控制,例如由自动化系统来控制而没有用户交互,或者直接由用户(例如,工程师打开和关闭阀门)来控制。该信息存在于自动化系统中。只有当设备处于自动模式时,服务才被允许控制设备。在评估运行时间数据时,本文描述的算法可以考虑操作模式。例如,在手动操作模式下发生的设备状态变化可以被算法打折扣。
[0039]
该方法包括从运行时间数据210导出与以下中的一个或多个相关的信息:(i)哪个致动器被使用在哪个服务中以及哪个服务状态中;(ii)哪些致动器被使用于多种服务和服务状态中;(iii)致动器在特定服务和服务状态下的状态;(iv)导致在特定服务和服务状态下的致动的过程条件;(v)服务参数对致动器状态的影响;(vi)导致标签和服务警报的过程条件;(vii)导致服务内的状态改变的过程条件。所导出的信息可以被用来填充工程工具中的因果(cause-and-effect)表,从而描述在服务内执行的控制逻辑及其状态。因果表(在本文中也被称为因果矩阵)可以被用来表示框架内的服务的内部实现。对于一个或多个服务的一个或多个状态(例如针对每个服务的每个状态),可能存在因果表。在该表中,例如示出了如果液位太高则关闭阀门,或者描述了进入服务状态时执行的入口动作等。根据本公开,使用从运行时间数据推断的知识来自动生成这样的表。因果表在被用来描述控制程序之前可以被用户验证或者可以不被用户验证。
[0040]
在步骤201(“查找默认设备状态”)中,该方法包括查找默认致动器状态。默认致动器状态是当模块110的所有服务都处于空闲状态时使用的那些状态。在这样的时间点处,模块110内部不执行任何动作,这意味着所有致动器都处于默认状态。为了查找这些状态,在运行时间数据210中搜索与服务全都处于空闲状态的时间点相关的所有入口。为了找到这些入口,算法检查所有服务及其状态。当找到所有服务都处于空闲状态的时间点时,对应的
入口被算法选择以进行评估。对于以这种方式找到的所有入口,算法比较致动器状态。当发现出现在被选择用于评估的所有入口中的致动器状态时(例如,阀门关闭),那么这被算法标识为是模块110的默认致动器状态。当所有致动器状态被评估并且所有入口被评估时,所有默认致动器状态都已知。
[0041]
下面的表格1提供了在评估默认致动器状态时使用的运行时间数据入口的示例。
[0042]
时间服务1
–
状态服务2
–
状态值1值2值30复位空闲打开关闭关闭1*空闲空闲关闭关闭打开2*空闲空闲关闭关闭打开3*空闲空闲关闭关闭打开4*空闲空闲关闭关闭打开5空闲启动关闭打开关闭6空闲执行打开打开关闭7空闲完成打开关闭关闭8*空闲空闲关闭关闭打开9*空闲空闲关闭关闭打开10*空闲空闲关闭关闭打开
[0043]
运行时间数据210在这里示出在包括时间点0-10的测量时间段内(这些数字是象征性的并且仅为了说明而被提供)。那些标有星号(*)的时间点与所有服务都处于空闲状态的入口相关。这些入口由算法选择,以用于评估默认致动器状态。结果表明,在所有服务都处于空闲状态的所有时间点处,致动器状态为:阀门1-》关闭,阀门2-》关闭,阀门3-》打开。因此,这些被算法标识为模块110的默认致动器状态。
[0044]
在步骤202(“评估服务”)中,服务被评估。为此,属于服务的所有入口可以被算法选择以进行评估,或者为了减少数据集,只有运行时间数据210中与所选服务不处于空闲状态的时间点相关的那些入口可以被选择以进行评估。
[0045]
下面的表格2示出了被用来评估服务的运行时间数据210的另一个示例。
[0046][0047]
正如可以看出的,对应于时间点2-10的入口包含运行时间数据,运行时间数据是在服务未处于空闲状态时测量的,并且因此被算法选择以用于评估。应该注意的是,表格2中包含的时间点同样是象征性的,并且不一定与表格1中给出的时间点相对应。
[0048]
步骤203-205包括评估所选服务的服务状态。
[0049]
在步骤203(“服务状态入口动作”)中,算法标识服务状态入口动作。首先,选择运行时间数据210中属于被评估的服务状态的所有入口。例如,如表格2中所示,评估用于服务的启动状态的第一组入口,然后是用于执行状态的另一组入口。对于每个服务状态,评估用于服务状态的入口动作。每当服务改变其状态时,入口动作可以在进入后续服务状态时被执行。可以通过检查集合中属于正被评估的服务状态的第一入口来发现此类服务状态入口操作。在表格2中所示的示例中,在时间点2处进入服务的启动状态。与时间点2相对应的入口示出了进入启动状态时发生了什么:在这种情况下,阀门2和3打开,阀门1关闭。这些致动器状态与先前服务状态(在本示例中为空闲状态)中的致动器状态进行比较。与先前服务状态不同的致动器状态是在进入服务状态时必须在执行的入口动作中设置的那些状态。因此,该算法推断,在启动状态的示例中,阀门2必须被打开,而其余致动器保持不变。可以在因果矩阵中输入推断的服务状态入口动作以示出服务状态的逆向工程配置。由于入口动作导致致动器状态的改变,它们形成了本文描述的致动器状态转变条件的一个示例。
[0050]
步骤204(“设备状态的过程条件”)包括标识导致致动器状态转变的过程条件,用于基于过程值对服务状态内的致动器状态改变进行逆向工程。当服务处于特定状态时,致动器可能会改变位置、速度等。通常,这是由于某些过程条件变为真而发生的。在这一步中,算法检查这些改变以及对应的工艺条件。例如,表格2示出在时间点5处有一个正在改变的致动器——在这里,阀门3被关闭——而服务处于启动状态中。此外,在时间点4处,某些过程值被测量:液位1为22%,并且压力1为1.5bar。当比较时间点4和5时,可以看到液位是恒定的,而压力是增加的。因此,算法推断关闭阀门3对液位有影响。此外,算法推断液位1已达
到导致阀门3关闭的设定点。这允许算法推断致动器状态转变条件(在这里以过程条件的形式),即液位1》=22%,这导致致动器改变,其中阀门3被关闭。推断的致动器状态转变条件(过程条件)可以再次被输入因果矩阵中。
[0051]
在步骤205(“服务状态转变条件”)中,评估服务状态转变条件。服务状态转变条件是在服务状态处于活动的集合中的最后时间点处所应用的那些条件。因此,用于服务状态的入口集合中的最后一个入口被选择以用于评估。算法确定是否给出了用于服务状态改变的外部命令。如果运行时间数据210在与没有给出服务状态改变的命令的服务状态有关的集合中不包括这样的最终入口(或者,换言之,如果离开该服务状态的每个转变都是由外部命令引起的),则算法标识出没有从当前服务状态到后续服务状态的自动转变。关于执行自动服务状态转变的那些入口,标识后续服务状态。在表格2中所示的示例中,后续服务状态为执行,并且转变发生在时间点7处(在时间点8处,已经达到了执行状态)。这意味着在时间点7处的过程条件导致从启动状态转变到执行状态。为了找到导致服务状态改变的过程条件,算法检查过程值。在表格2中,液位1保持恒定,而压力在服务状态改变之前上升,并且之后保持恒定。因此,算法推断压力是针对该服务状态改变的过程条件。因此,算法推断,当压力1》=2.5bar时,进行从启动转变到执行的服务状态改变。推断的服务状态转变条件可以同样被插入到因果矩阵中。
[0052]
在步骤205之后,确定被评估的服务的所有状态是否已被评估。如果不是,则该方法返回到步骤203以评估该服务的下一个标识状态。否则,该方法继续确定模块110的所有服务是否已被评估。如果不是,则该方法返回到步骤202以评估模块110的下一个标识服务。否则,该方法进行到步骤206。
[0053]
在步骤206(“评估互锁”)中,针对服务的互锁被评估。获取有关控制代码的所有生成信息,并评估不同服务的冲突致动器状态。例如,当服务1在执行状态下需要阀门1为打开并且服务2在执行状态下需要阀门1为关闭时,这两个服务不允许并行运行。因此,该算法会生成一个互锁,该互锁可以被添加到工程工具中。
[0054]
该算法可以进一步评估用于模块110的警报以对模块110的警报逻辑进行逆向工程。这可以以上述方式来执行,例如基于用于服务状态的警报历史数据。该算法因此可以确定导致警报的过程条件并且可以进一步评估服务警报和标签警报之间的连接。推断可以再次被添加到因果矩阵中。然后可以生成用于模块110的警报配置。
[0055]
算法可以评估服务的组合。改变致动器不一定指示改变是从状态内触发的:改变可能是由另一个并行运行的服务触发的。如果该算法标识出在运行时间数据210的一部分中并行运行若干服务,则该算法可以忽略运行时间数据的该部分或将该部分和与一个或多个服务的个体操作有关的运行时间数据210的其他部分进行比较,以标识用于在服务状态的评估中使用的差异。
[0056]
在上述的过程条件和/或服务状态转变条件的评估中,算法可以通过针对特定状态比较若干组运行时间数据210来确定更准确的过程和/或服务状态转变条件,其中过程值分别导致致动器状态或服务状态的改变。例如,在确定过程条件时使用的过程值可以在多个数据集上求平均。可以使用移动平均。
[0057]
另外,该算法可以通过检查服务参数改变并标识服务参数和过程参数之间的相关性来发现服务参数条件。服务可以具有用于进一步指定其行为的参数。例如,这些可以涉及
工厂中的控制器的设定点。例如,服务回火可能有一个参数温度。温度参数由工厂的过程编排层给出,以便向服务指示需要哪个温度。取决于该参数值,过程值的行为可能会有所不同。当温度值增加然后在某个时间点处变得恒定时,这可能指示参数值的影响。如果在一个时间段内参数值为80℃并且温度测量值在达到80℃时被维持恒定,而在另一个时间段内参数值为60℃并且此后温度被维持在60℃,则算法可以标识(再次使用基于规则的方法)温度设定点是由服务参数设置的。然后,该信息被用来生成对应的因果矩阵入口,用于将内部测量值的温度设定点指派给服务的参数温度(直接相关)。本公开还设想:该算法可以在一个或多个中间数学运算的基础上标识参数值和过程值的设定点之间的相关性。
[0058]
使用本文描述的算法,可以发现设计问题。例如,无法找到默认致动器(例如阀门)状态,因为致动器状态在不同的数据集中不同。
[0059]
本公开还提供了用于hmi的逆向工程,如果连接点在mtp 112中缺失,则包括这些连接点。这可以包括hmi符号、连接和/或管道的逆向工程,以及hmi的符号的连接点的逆向工程和基于mtp 112在工程工具中创建hmi。mtp 112描述了符号被放置在hmi上的位置以及这些符号应该如何出现。还有一个选项来描述符号之间的连接,但这不是强制性的。因此,本公开提供了一种算法,该算法被配置为从不包含连接点的给定mtp 112生成用于hmi符号的连接点。该算法可以包括以下步骤中的任何一个或多个。步骤1:获取符号。步骤2:获取符号的尺寸(例如高度、宽度等)并创建周围矩形。步骤3:检查线路(也在mtp 112中描述的测量线、管道)是否与符号的周围矩形重叠。步骤4:如果存在重叠,则在mtp 112中创建连接点和关于连接的附加信息。
[0060]
现在参考图3,图示了可以根据本文所公开的系统和方法使用的示例性计算设备300的高级图示。特别地,计算设备3000可以被用来实现上述工程工具。计算设备300包括至少一个处理器302,其执行存储在存储器304中的指令。指令例如可以是用于实现被描述为由上文讨论的一个或多个组件执行的功能性的指令或者用于实现上文描述的方法中的一个或多个的指令。处理器302可以通过系统总线306访问存储器304。除了存储可执行指令之外,存储器304还可以存储会话输入、指派给会话输入的分数等。
[0061]
计算设备300另外包括可由处理器302通过系统总线306访问的数据存储308。数据存储308可以包括可执行指令、日志数据等。计算设备300还包括输入接口310,其允许外部设备与计算设备300通信。例如,输入接口310可以被用来从外部计算机设备、从用户等接收指令。计算设备300还包括输出接口312,其将与计算设备300与一个或多个外部设备进行接口。例如,计算设备300可以通过输出接口312显示文本、图像等。
[0062]
预期经由输入接口310和输出接口312与计算设备300通信的外部设备可以被包括在提供用户可以与之交互的基本上任何类型的用户界面的环境中。用户界面类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可以接受来自采用诸如键盘、鼠标、遥控器等(一个或多个)输入设备的用户的输入,并在诸如显示器之类的输出设备上提供输出。此外,自然用户界面可以使得用户能够以不受诸如键盘、鼠标、遥控器等输入设备强加的约束的方式来与计算设备300交互。相反,自然用户界面可以依赖于屏幕上和屏幕附近的语音标识、触摸和手写笔标识、手势标识、空中手势、头部和眼睛跟踪、语音和话音、视觉、触摸、手势、机器智能等等。
[0063]
此外,虽然被图示为单个系统,但是应当理解,计算设备300可以是分布式系统。因
此,例如,若干设备可以通过网络连接来通信并且可以共同执行被描述为由计算设备300执行的任务。
[0064]
本文描述的各种功能可以以硬件、软件或其任何组合来实现。如果以软件来实现,则功能可以作为一个或多个指令或代码而被存储在计算机可读介质上或通过其来传输。计算机可读介质包括计算机可读存储介质。计算机可读存储介质可以是计算机可以访问的任何可用存储介质。作为示例而非限制,此类计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储设备或者可以被用来以指令或数据结构的形式携带或存储所期望的程序代码并可由计算机访问的任何其他介质。如本文中所使用的磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光光盘(bd),其中磁盘通常以磁性方式再现数据,而光盘通常用激光光学地再现数据。此外,传播信号不被包括在计算机可读存储介质的范围内。计算机可读介质还包括通信介质,包括促进将计算机程序从一个地方传送到另一个地方的任何介质。例如,连接可以是通信介质。例如,如果软件是使用同轴电缆、光缆、双绞线、数字用户线(dsl)或无线技术(诸如红外线、无线电和微波)从网站、服务器或其他远程源被传输的,那么同轴电缆、光缆、双绞线、dsl或红外线、无线电和微波等无线技术都被包括在通信介质的定义中。上述的组合也应被包括在计算机可读介质的范围内。
[0065]
备选地或附加地,本文描述的功能性可以至少部分地由一个或多个硬件逻辑组件来执行。例如而非限制,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、程序专用标准产品(assp)、系统级芯片系统(soc)、复杂可编程逻辑器件(cpld)等。
[0066]
应当了解,上述电路除了所提及的功能之外还可以具有其他功能,并且这些功能可以由相同的电路来执行。
[0067]
申请人在此单独公开本文描述的每个个体特征以及两个或更多此类特征的任何组合,以使得此类特征或组合能够基于本说明书作为整体根据本领域技术人员的共同的一般知识来实施,而无论这些特征或特征组合是否解决了本文所公开的任何问题,并且不限制权利要求的范围。申请人指出本发明的各方面可以由任何这样的个体特征或特征组合组成。
[0068]
虽然已经示出和描述并指出了应用于其优选实施例的本发明的基本新颖特征,但是应当理解,所描述的设备和方法的形式和细节的各种省略和替换以及改变可以由那些本领域技术人员在不背离本发明的精神的情况下做出。例如,以基本相同的方式执行基本相同的功能以达到相同的结果的那些元件和/或方法步骤的所有组合都在本发明的范围内。此外,应当认识到,结合本发明的任何公开形式或实施例示出和/或描述的结构和/或元件和/或方法步骤可以作为一般设计选择的问题而被并入任何其他公开或描述或建议的形式或实施例中。因此,意图仅由所附权利要求书的范围来限制。此外,在权利要求中,部件加功能条款旨在涵盖在本文中被描述为执行所述功能的结构,并且不仅是结构等效物,而且还是等效结构。因此,尽管钉子和螺钉在结构上可能不是等效的,因为钉子采用圆柱面将木制零件固定在一起,而螺钉采用螺旋面,但是在紧固木制零件的环境中,钉子和螺钉可以是等效结构。
[0069]
虽然已经在附图和前述说明中详细图示和描述了本发明,但是这样的图示和说明
被认为是示例性的而不是限制性的。本发明不局限于所公开的实施例。
[0070]
通过研究附图、公开内容和所附权利要求,本领域技术人员可以理解和实施对所公开的实施例的其他变体。在权利要求中,“包括”一词不排除其他元素或步骤,并且不定冠词“一”或“一个”不排除复数。单个处理器或其他单元可以实现权利要求中记载的若干项目的功能。在相互不同的从属权利要求中叙述某些措施的唯一事实并不指示不能有利地使用这些措施的组合。计算机程序可以被存储/分布在合适的介质上,诸如与其他硬件一起提供或作为其他硬件的一部分而被提供的光存储介质或固态介质,但是也可以以其他形式来分布,诸如经由互联网或其他有线或无线通信系统。权利要求中的任何附图标记不应被解释为限制范围。