一种采用灵活的现场知识管理和分析的基于知识的可编程逻辑控制器的制作方法

文档序号:12747379阅读:143来源:国知局
一种采用灵活的现场知识管理和分析的基于知识的可编程逻辑控制器的制作方法与工艺

本发明一般涉及包括知识管理和分析在内的现场功能的可编程逻辑控制器的使用。所公开的技术可以应用于例如使用可编程控制器的各种自动化生产环境。



背景技术:

可编程逻辑控制器(PLC)是被配置成执行不断地收集关于输入设备的状态的数据以控制输出设备的状态的软件的专用计算机控制系统。PLC通常包括三个主要组件:处理器(其可以包括多个处理器核心和易失性存储器)、包含应用程序的易失性存储器,以及用于连接到自动化系统中的其他设备的一个或多个输入/输出(I/O)端口。

PLC被用在各种工业环境中来控制自动化系统。自动化系统通常在其日常操作中产生大量的数据。该数据可以包括例如传感器数据、致动器和控制程序参数,以及与服务活动相关联的信息。然而,传统的自动化系统并且特别是PLC不能够充分地处理该数据。例如,在大部分系统中,由于硬件和软件限制,仅能够分析和存储一小部分的自动化系统数据。大量无关数据可以被产生,而重要的数据点却被丢失。可以在更高的自动化层对不重要的数据应用压缩,然而重要的数据在行经自动化层时就会丢失。此外,即使在试图避免数据丢失的情况下,也可能有对其余的计算基础设施提出的显著需求。例如,PLC数据处理可以导致对网络带宽以及存储容量的高需求。此外,当数据通过自动化系统层时,数据的上下文可能会丢失。这会对自动化系统造成一些不希望有的二次影响。例如,如果在更高的自动化层、基于低质量/保真度的数据执行数据分析,那么重要的数据可能会丢失而致使自动化系统低效或次优运行。

如今,诸如传感器数据或来自自动化系统的报警之类的数据在SCADA级、MES级和/或以上被存储、处理和分析。采用这种方法的问题在于:在许多真实世界的场景中,完整的PLC数据集由于有限的通信带宽而不能够被发送到远程系统用于分析。这对于高分辨率的数据(例如,具有高采样频率的传感器)以及具有测量中的极端并且快速变化的信号(例如,电流和电压)尤其是一个问题。在实践中,这意味着在车间(shop floor)中发生的事件未被检测到。一个来自汽车行业的示例是由两个连续的机器/生产模块之间的过程同步中的问题引起的所谓的微间断——短缺的产品停止2秒以下。另一个示例是能够指示传感器问题但如今不能在SCADA级上检测到的在部件定位过程中发生的快速振荡。

传统的PLC没有为应对这些挑战所需的数据配置(provisioning)、准备和分析提供足够的支持。PLC上的数据分析被限制为已经随PLC一起提供给客户并且独立于受控过程的PLC硬件的特定报警。此外,客户能够使用他们的工程工具(例如,TIA)或者使用用于定义简单标准报警的报警框架或者为更复杂的事件编程专用的功能块来配置过程相关的报警。数据配置是使用预定义和工程数据块来完成的。然而,这样的数据块、功能块或报警的部署需要停止和更新PLC以及许多连接设备(诸如,HMI、SCADA系统等)。

数据模型和分析程序的规范应当更加灵活。传统的方法会导致高的工程(开发和编程)工作量,并且还大大地降低了机器的OEE(更新所需的停机时间)。添加新的传感器并将信号提供给SCADA级需要复杂的重新设计。这同样适用于添加新的监控规则或报警。



技术实现要素:

本发明的实施例通过提供与包括知识管理和分析在内的现场功能的PLC相关的方法、系统和装置解决和克服了以上不足和缺点中的一个或多个。

根据本发明的一个方面,在多个扫描周期内操作智能可编程逻辑控制器的方法包括智能可编程逻辑控制器执行控制程序以及一个或多个用于分析由智能可编程逻辑控制器接收与传输的数据的推理算法。智能可编程逻辑控制器经由包括在该智能可编程逻辑控制器中的部署接口从外源接收一个或多个用户指定的陈述性知识模型。所述用户指定的陈述性知识模型可以包含例如使用网络(Web)本体语言(OWL)表达的本体。在一些实施例中,用户指定的陈述性知识模型包含使用预测模型标记语言(PMML)标准表达的预测模型和/或使用规则交换格式(RIF)标准表达的一个或多个规则。智能可编程逻辑控制器在控制程序的运行时期间基于用户指定的陈述性知识模型动态地修改推理算法。本发明的附加特征和优点将从以下参考附图进行的图示实施例的详细描述中变得显而易见。

在前述方法的一些实施例中,一个或多个推理算法基于一个或多个供应商指定的知识模型进行配置。例如,在一个实施例中,一个或多个供应商指定的知识模型包含与智能可编程逻辑控制器的一种或多种能力相关的信息、在智能可编程逻辑控制器可用的诊断知识以及由智能可编程逻辑控制器使用的数据布局信息。

以上关于前述方法所描述的各种执行步骤可以在智能可编程逻辑控制器的硬件处理资源上以各种方式进行分布。例如,在一些实施例中,所述方法进一步包括智能可编程逻辑控制器使用包括在该智能可编程逻辑控制器中的处理器的第一核心执行控制程序。推理算法然后可以使用包括在智能可编程逻辑控制器中的处理器的第二核心进行动态修改。

在一些实施例中,在前述方法中所使用的用户指定的陈述性知识模型包含在控制程序中可用的一个或多个软测量(soft-sensor)的指示。例如,在一个实施例中,推理算法的修改导致新的推理算法,其执行其中在每个扫描周期期间确定与软测量对应的更新的软测量值并将其存储在智能可编程逻辑控制器上的过程。

根据本发明的其他实施例,用于在多个扫描周期内操作智能可编程逻辑控制器的制品包含保持用于执行前述方法(其具有或不具有以上讨论的各种附加特征)的计算机可执行指令的非暂时性的、有形的计算机可读介质。

根据本发明的其他实施例,智能可编程逻辑控制器包含一个或多个被配置成根据一个扫描周期执行的处理器、包含过程图像区的易失性计算机可读存储介质、非易失性计算机可读存储介质,以及根据扫描周期由一个或多个处理器执行的多个控制器组件。所述控制器组件包括数据连接器组件、数据分析组件和语境化组件。所述数据连接器组件包括被配置成经由包括在智能可编程逻辑控制器中的部署接口从外源接收一个或多个用户指定的陈述性知识模型的部署接口。在一些实施例中,所述部署接口包括网络服务器(例如,MiniWeb)接口。所述数据分析组件具有被配置成执行一个或多个用于分析经由数据连接器组件接收和传输的数据的推理算法的自动推理器模块。所述语境化组件包含被配置成在控制程序运行时期间基于一个或多个用户指定的陈述性知识模型动态地修改一个或多个推理算法的知识管理器。

前述可以配置有各种处理资源。例如,在一些实施例中,一个或多个处理器包含被配置成执行控制程序的第一处理器核心和被配置成与所述控制程序的执行并行地修改一个或多个推理算法的第二处理器核心。在一些实施例中,一个或多个处理器执行多个线程,其包含被配置成执行控制程序的第一线程,以及被配置成修改一个或多个推理算法的一个或多个第二线程。

本发明的附加特征和优点将从以下参考附图进行的图示实施例的详细描述中变得显而易见。

附图说明

本发明的前述和其他方面会在结合附图阅读时从以下详细描述中得到最好的理解。为了说明本发明的目的,在附图中示出目前优选的实施例,然而,要被理解的是,本发明并不局限于所公开的特定手段。包括在附图中的是以下图:

图1提供了根据本发明的一些实施例的集成到自动化系统中的智能PLC的系统视图;

图2提供了包括在采用支持基于知识的控制器体系结构的组件的智能PLC中的系统组件的图示说明;

图3提供了可以在不同实施例中使用的各种硬件组件的图示说明;

图4提供了根据一些实施例的包含在知识模型中的知识类型的图示说明;

图5提供了可以在一些实施例中利用的具有软件模块的执行示例;

图6提供了说明如何在一些实施例中能够指定规则的代码片段的示例;以及

图7提供了可以在一些实施例中使用的文档的示例。

具体实施方式

本文描述了一般涉及包括知识管理和分析在内的现场功能的PLC的系统、方法和装置。更具体地,本公开描述了用于将自定义知识“注入”到自动化系统中的基于PLC的基础设施。它支持数据模型和分析在自动化系统控制器上的灵活部署。在自动化系统运行时期间,它使用关于数据和分析的陈述性知识表示来动态地配置具有域/自定义和设备特定算法的通用数据配置和分析组件。从而,PLC作为中央数据管理平台提供连接的HMI、SCADA和MES系统的自动配置所需的所有知识。因此,与将分析功能描述为命令式编程程序步骤的传统技术不同,本文所公开的技术提供了陈述性、基于知识的编程范式。这种范式转换使得PLC上的数据模型和分析能够动态更新,同时给过程自动化系统数据提供了一组丰富的分析功能。

在包括被配置成在控制应用程序中提供各种各样的增强功能的各种组件的PLC的背景下,描述了本发明的各种实施例。该PLC(在本文中被称为“智能PLC”)在标题为“Intelligent Programmable Logic Controller”的美国申请号14/467,125中被更详细地描述,该美国申请整个通过引用结合到本文中。简单地说,智能PLC提供了可以以各种组合存在并且使用本发明的不同实施例的若干技术特征。智能PLC提供了在控制层设备上的高效数据存储。更具体地,控制层的功能可以通过对时间序列数据的高效存储机制(即“历史学家”功能)得到延伸,该机制允许高分辨率时间戳数据的短/中期归档。采用高保真度的数据,就不会有事件丢失。高效的压缩算法(例如,摆动门的变化)可以用来降低存储和通信需求。在一些实施例中,智能PLC还可以提供智能设备上数据生成方法。数据过滤的方法可以被直接应用在生成数据的地方,以确保如果它提供附加的信息内容,则仅存储附加的数据。这些方法还可以积极地分析输入数据并且例如通过调整采样率或通过只是在已检测到某些事件时存储数据来根据当前需求配置数据采集。智能PLC还可以实现丰富和语义语境化,并且执行控制层语义分析。此外,在一些实施例中,智能PLC还提供跨自动化系统的分布式分析。

图1提供了根据本发明的一些实施例的集成到自动化系统100中的智能PLC的系统视图。该示例从概念上将工业环境划分成生产层105、控制层110和IT层115。在传统系统中,大部分数据处理功能在IT层155来执行。使用智能PLC 110E和110F,图1中所示的系统100把这些数据处理功能中的许多向下推到控制层110。例如,在一些实施例中,历史学家能力(诸如,对时间序列数据的高效数据压缩)和数据的智能过滤可以直接在智能PLC 110E和110F上实现。这允许控制层115以更小的存储/通信工作量利用高保真度的数据,以使得如果有的话,则有很少的事件未被检测到。在一些实施例中,智能PLC 110E和110F还提供丰富的语境化功能。通过将控制级知识添加到数据,在IT层115重新发现业务分析115C上的知识可能没有必要。此外,在一些实施例中,智能PLC 110E和110F直接在其各自的设备上提供数据分析功能,从而提高机器和过程效率。

继续参考图1,在生产层105,一个或多个生产单元(例如,单元105A)运行。每个生产单元都在控制层110通过一个或多个现场设备(例如,现场设备110A)发送和接收数据。在控制层110,每个现场设备都可以被连接到智能PLC(例如,智能PLC 110E)。从生产单元接收到的数据(直接通过现场设备或者经由智能PLC)被传送到IT层115。IT层115包括执行各种后处理和存储任务的系统。图1的示例包括监控与数据采集(SCADA)服务器(或网关)组件115A。该组件115A允许操作者在控制层110和生产层105远程监控和控制设备。此外,SCADA服务器组件115A从较低层105、110收集数据并处理信息,以使其可用于统一的工厂知识仓库115B。所述统一的工厂知识仓库115B进一步提供从较低层105、110所接收的数据的处理和存储。各种功能都可以通过统一的工厂知识仓库115B来提供。例如,在一些实施例中,统一的工厂知识仓库115B包括基于由较低层105、110产生的数据生成分析的功能。

每个智能PLC 110E和110F包括三个基本部分:处理器(其可以包括多个处理器核心),非暂时性、非易失性存储器系统,以及提供输入/输出功能的数据连接器。非易失性存储器系统可以采取包括例如可移除存储卡或闪存驱动器的多种形式。可以在智能PLC 110E和110F内执行的应用程序参考图2在下面更详细地进行描述。智能PLC 110E的数据连接器被(有线或无线)连接到现场设备110A和110B。类似地,智能PLC 110F的数据连接器被连接到现场设备110C和110D。本领域已知的任何现场设备都可以与本文所述的智能PLC一起使用。可以和智能PLC一起使用的示例现场设备包括,但不限于压力开关、传感器、按钮、流量开关和液位开关(level switch)。要注意的是,智能PLC 110E和110F可以被一点一点渐进地集成到生产环境中。例如,在图1中,生产单元105B和105C通过其各自的现场设备被连接到智能PLC 110E和110F,然而生产单元105A和105D通过其各自的现场设备110G、110H、110I、110J直接与统一的工厂知识仓库115B通信。

智能PLC 110E和110F可以使用与最先进的系统相比附加的语境维度(例如,控制知识、环境条件和服务发生率)来丰富数据。这允许以更高的可信度和质量从数据分析做出见解。在一些实施例中,系统100使用语义数据表示语言和标准用于自动化系统中的数据语境化。这允许业务分析以及SCADA级历史学家(例如,OSI PI资产框架)以最小的工作量被配置用于与来自其他系统/设备/源的数据集成。此外,系统100可以在控制层110提供基于模型的语义分析。因此,分析算法能够在设备运行时和引导期间被更新,使得分析能够通过提供对模型(而不是功能块中的编译逻辑)的明确访问而得到提高。在一些实施例中,系统100在控制层110中引入了分布式数据共享系统,并且与外部大数据基础设施集成。因此,应用程序能够独立于存储位置访问所有需要的数据。

除了典型的传感器输入和被传送到IT层115或生产层105的控制输出以外,智能PLC 110E和110F可以存储、利用和历史化(historize)本地控制层的参数和变量,这在传统自动化系统中被隐藏在控制层110里面。

图2提供了根据本发明的一些实施例的包括在利用基于知识的控制器体系结构的智能PLC中的系统组件200的图示说明。过程图像组件225是在控制器的CPU易失性系统存储器中的存储区域,该CPU易失性系统存储器在每个处理/扫描周期基于与生产设备(例如,连接I/O的输入和输出)相关联的数据进行更新。在每个处理步骤中,控制应用程序230读取过程图像组件225,执行部署的应用逻辑,并且将结果写回到过程图像组件225中。

继续参考图2,每个周期的过程图像被历史学家组件220读取并且永久地存储在非易失性物理存储介质上。在一些实施例中,该历史学家组件220被配置成部署数据压缩算法以减少数据量。它从而能够给应用程序提供对过去的过程图像的访问。数据可以被针对固定的时间窗口存储或者存储为可以用来实现动态缓存启发式的在线算法。智能数据生成算法作为历史学家组件220的一部分可以不断地分析过程图像和语境以调整连接I/O的数据生成参数(例如,采样率)。例如,对于快速变化的传感器信号而言,可以选择高的采样率,而对于缓慢变化的传感器信号而言,较低的采样率就足够了。

数据管理器250是可以被包括在一些实施例中以在历史学家组件220提供附加数据管理功能的模块。例如,数据管理器250可以用来管理系统200的输入和输出。该输入和输出可以包括,例如,来自传感器、致动器的数据以及控制变量和控制参数。传统上在控制器中,这一角色由过程图像单独实现。此外,在一些实施例中,数据管理器250还可以包括数据库,用以存储用于各种输入和输出的历史数据。

数据分析组件205包含一组处理(从历史学家查询到的)当前或过去的过程图像的数据分析算法。各种数据分析算法可以被包括在数据分析组件205中。例如,在一些实施例中,这些算法包括集群、分类、基于逻辑的推理和统计分析算法中的一个或多个。此外,算法可以经由在运行时期间能够部署在设备上的模型来指定。数据分析组件205还可以包括各种分析模型以及专用算法来解释这些模型。由数据分析组件205产生的结果可以被存储在历史学家组件220中,写回到过程图像组件225和/或经由数据连接器组件210提供给外部组件。因此,智能PLC可以被看作用于给自动化系统中的其他设备提供分布式分析的设备。

自动推理器245是作为数据分析组件205的一部分被包括的模块。自动推理器245包括至少一个能够由陈述性知识模型(例如,RDF/OWL标准中的本体、使用PMML标准表达的预测模型、经由RIF标准表达的规则)动态配置的推理模型(用C、C++、Java等实现的)。基于该配置,经由历史学家220可访问的输入和输出数据(例如,来自数据管理器250的数据)可以连续地进行分析。每个推理模型包括一个或多个推理算法。可以通过自动推理器245实现的自动推理算法的示例包括,但不限于:采用经典逻辑和微积分的演绎推理、模糊逻辑、规则引擎和逻辑编程、模型检测、贝叶斯推理和包括机器学习方法的归纳推理方法。

因为自动推理器245能够被动态地配置,所以它可以用来提供静态系统上不可用的附加功能。例如,改进的监控和报警功能的学习成为可能。新的知识能够基于历史数据来检测。例如,能够学习允许检测制造过程中的质量问题的规则或规则参数。这些规则能够被动态地部署在规则引擎中,并且被自动地用在下一个控制周期中。此外,在一些实施例中,一个或多个软测量可以被添加到控制器200。每个软测量提供对通常不会在控制器200的外部可访问的控制层变量的访问。因此,通过动态地激活特定的软测量,数据能够例如经由数据连接器210可获得。软测量上的附加信息可以在标题为“Using Soft-Sensors in a Programmable Logic Controller”的国际申请号PCT/US14/63105中发现,该国际申请整个通过引用结合到本文中。

语境化组件215用语境信息注释输入数据以便于其以后的说明。如本文所用的语境信息可以包括描述数据含义的任何信息。例如,自动化系统中的数据的语境可以包括关于产生数据的设备(例如,传感器)的信息、关于自动化系统的结构(例如,工厂的拓扑)的信息、关于系统的工作模式(例如,停机时间事件)的信息、关于数据生成时自动化软件及其状态的信息,和/或关于数据生成时被生产的产品/批次的信息。语境化组件215被配置成给任何其他组件提供数据以用于更具体的处理需求。由语境化组件215产生的语境信息可以不受资产结构限制,但也可以包括控制知识、特定产品信息、过程信息、事件信息和像天气信息这样的外部事件的潜在其他方面。一些语境信息可以来自工程工具(例如,西门子全集成自动化工具)。此外,在一些实施例中,语境化组件215提供语义语境化。语境可以由标准建模语言(例如,网络本体语言、资源描述框架)表示,其中语言构建的含义被正式定义。具有这些语义建模标准的数据的语境化使得业务分析应用程序能够自动理解和解释从自动化系统提供的数据而没有手动配置工作量。

知识管理器240是语境化组件215的一部分。知识管理器240管理经由部署接口235(下面描述)接收的陈述性知识模型。该管理可以包括,例如存储模型以及为访问和操作所述模型提供API。用于陈述性知识模型的示例表示语言包括,但不限于RDF/OWL标准中的本体、使用PMML(预测模型标记语言)标准表达的预测模型、经由RIF(规则交换格式)表达的规则等。

使用本文所述的数据分析组件205和语境化组件215的功能,分析和优化的范围可以被扩展至覆盖生产过程本身并且不限于智能PLC本身或直接控制设备的区域。例如,智能PLC上分析的焦点可以不仅是确保智能PLC及其连接的传感器和致动器的运行(例如,硬件特定报警规则),还要(例如,基于应用程序域和基础设施的知识)在更大的范围内确保优化受控的生产过程。

由系统200的组件捕获或生成的任何数据都可以经由数据连接器组件210提供给外部组件。在一些实施例中,数据连接器组件210经由push方法(即主动发送给外部组件)输送数据。在其他实施例中,在数据被外部组件查询的情况下可以使用pull方法。此外,在一些实施例中可以结合push和pull方法,以使得智能PLC被配置成处理两种形式的数据传送。

部署接口235是作为数据连接器组件210的一部分被包括的模块。部署接口235提供对系统200的知识和数据管理功能的访问以读取和写入命令性或陈述性知识以及数据。部署接口235可以利用通信协议和标准(诸如,例如OPC、HTTP、REST、STEP7、TCP/IP等)。经由部署接口235传送的知识可以使用如由知识管理器240所使用的陈述性知识表示语言/标准来表达。

图3提供了可以在不同实施例中使用的各种硬件组件的图示说明。简单地说,过程数据345包括由包含在物理生产过程350中的一个或多个设备写入到控制器305的数据。控制程序340读取并解释该数据以允许其为包含在物理生产过程350中的设备提供进一步的指令。

控制器305包含一个或多个处理器310和存储介质315。处理器310可以包括一个或多个处理器,每个处理器包含一个或多个核心。存储介质可以被知识管理器用来存储所有相关的知识模型,以及被数据管理器(参见图2)用来存储所有的输入和输出数据。该数据可以包括,例如当前数据(例如,当前控制周期的数据)以及历史数据(例如,来自先前控制周期的数据)。

存储介质315中存储了两种类型的推理模型。预定义推理模型320由控制系统供应商预定义,而客户推理模型325能够由用户动态地改变。推理模型320、325将至少一个推理算法(以程序性或陈述性方式指定)集成到控制器305中,其进而处理知识模型330、335和输入数据。为了实现这样的算法在控制器305上的部署,可以对推理算法进行调整,以在有限资源(例如,存储空间、处理能力、数据可用性、通信带宽、编程语言)上运行。关于推理算法的实现方式的附加细节在上面关于图2中的自动推理器245被呈现。

示例存储介质315存储两种类型的知识模型。预定义知识模型330由控制系统供应商预定义,而客户推理模型335能够由用户动态改变。通常,知识模型330、335经由共享的签名项语法连接,以及经由不同模型的元件之间的关系上的断言(诸如,专门化/一般化,经由关系的连通性等)语义连接。在预定义知识模型330中表示的知识可以包括,例如设备的能力、诊断知识和数据布局。自定义知识模型335可以在这些上构建以表达例如关于参数的特定过程的信息、所需的功能或特定过程的分析功能。

为了自定义客户推理模型325和/或自定义知识模型335,所以使用外部服务器355。使用安装在控制器中的部署接口(未在图3中示出)实现服务器355和控制器305之间的连接。客户利用诸如但不限于期望的规则、参数和/或属性值之类的信息在服务器355上创建客户配置360。根据特定实施例,客户例如可以通过修改现有配置文件中的一个或多个值但要回答一组问题或选择呈现在图形用户接口中的项,或者通过以结构化语言格式创建指定配置信息的文本文件来创建客户配置360。客户配置360然后被传送到控制器350上的部署接口。一旦接收到,控制器305就使用客户配置360来动态地修改控制器305上的适当的数据项。

过程数据345、知识模型330,335和推理模型320,325被加载到处理器310中,其中所述推理模型320、325被配置有知识模型330、335并且基于过程数据345来执行。在一些实施例中,各种模型在与控制程序一样的处理器资源上执行,而在其他实施例中,则使用不同的处理器资源。例如,在一个实施例中,控制程序在处理器310的一个核心上执行,而推理算法在处理器310的其他核心上执行。

使用该系统300,分析方法能够使用处理器310的一个或多个独立线程中解释的陈述性模型在生命系统中被部署/上传/编辑,而剩余的功能(例如,控制程序340)仍然有效。因此,各种模型320、325、330和335能够在控制器305的运行时操作期间被动态扩展。这可以被用来实现客户特定的知识,诸如,例如过程相关的报警。

图4提供了根据一些实施例的包含在示例知识模型中的特定语境知识(CSK)400的图示说明。该知识包括特定于特定控制器并且用于描述自动化系统和生产装置的拓扑以及产品的结构/谱系的资产和产品本体的子集405。此外,关于控制程序及其内部依赖性的知识经由CSK 400的KR控制程序425部分可能在PLC上是可用的。规则420和分析程序410的陈述性描述将用于分析数据的算法形式化。所有的知识经由知识管理器对于自动推理器(参见图2)可访问。自动推理器基于来自PLC的历史学家组件(参见图2)的具体数据评估模型。

图5提供了根据一些实施例的如其可以在基于知识的PLC(S7-1500 PLC)上实现的软件环境500的执行示例。本示例中的过程图像525包括用于为SIMATIC S7过程图像设备管理过程图像的软件,以及嵌入式历史学家功能。此外,包括在软件环境500中的IEC 61131-3组件520提供了对与用于可编程逻辑控制器的开放式国际标准IEC 61131的第三部分IEC 61131-3相关的功能的支持。如本领域所理解的,IEC 61131-3描述了PLC编程语言,以及用于创建PLC工程的概念和指导方针。例如,IEC 61131-3提供了关于编程语言(诸如,梯形图(LD)、指令表(IL)、功能框图(FBD)、结构化文本(ST)和顺序功能图(SFC))的使用的标准。为了实现此概念,已对传统固件添加了三个组件:部署接口505、自动推理器510和知识管理器515。

该示例中的部署接口505允许规则和本体文件经由PLC的现有MiniWeb服务器中的接口来上传和改变。交换格式能够为CLIPS语法(如图5所示)或诸如W3C标准规则交换格式(RIF)的标准。所述规则可以被存储在例如专用文件“rules.clp”中,该专用文件每当调用规则引擎的run()方法时被解释。由于陈述性规范,规则能够在智能PLC的运行时期间(即run()方法的两次调用之间)被改变。图6提供了说明如何在一些实施例中能够指定规则的示例代码片段600。

自动推理器510实现了智能PLC内的处理逻辑的陈述性规范。其适用于识别作为事件语境应被添加到所生成的传感器数据的有关情况。为了检测有关情况以及为了生成事件,正向链规则引擎(产生式规则系统)处理所有的输入事实(例如,传感器值),并且将它们与规则的条件(左手边)相匹配以确定哪些规则必须被应用。该处理例如可以使用传统算法(诸如,Rete算法)来执行。在图5的示例中,自动推理器510使用C语言集成生产系统(CLIPS)、包括基于Rete算法的产生式规则引擎的传统专家系统开发工具来实现。使用CLIPS,自动推理器允许规则使用本体类和直接使用对象模式的实例来指定。

知识管理器515管理在软件环境500中使用的陈述性知识模型。因此,例如,知识管理器515提供API用于存储与单个知识模式相关联的本体文件,以及用于查询/更新文件(例如,含有什么传感器?)。根据W3C OWL/RDF或OPC-UA标准,可以在文档中指定每个知识模型。图7提供了可以在一些实施例中使用的文档700的示例。因此,每个知识模型提供可用于定义规则或用于查询过程图像525的词汇。

本文所述的各种系统、方法和装置提供优于传统技术的若干优点。例如,所公开的技术可以用来减少生产线的维护停机时间,因为知识能够在操作期间进行更新。此外,所公开的技术使得易于将专家知识“注入”到控制器中(例如,诊断规则的添加)。这允许最终用户/领域专家很容易地使监控/报警功能适应于他们的需求。利用本公开技术,改变控制器上的数据分析和数据准备程序的工作量也会更小(例如,不需要编程聚合、翻译等)。此外,因为所有的知识都被陈述性地指定,所以其可直接由数据分析算法访问并且能够用于解释结果或完善算法。例如,附加知识的学习变得更容易和更灵活。此外,学习算法能够利用知识。进而,这由于更好的数据可用性(更高的数据保真度以及在控制器的外部不可用的附加控制特定知识)而改进了分析结果(例如,更好的预测、更少的误报/漏报)和分析深度。

如由控制层设备所使用的本文所述处理器可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其他处理器。更一般地,如本文所使用的处理器是用于执行存储在计算机可读介质上的机器可读指令、用于执行任务的设备,并且可以包含硬件和固件的任何一个或其组合。处理器还可以包含存储可执行以用于执行任务的机器可读指令的存储器。处理器通过操作、分析、修改、转换或传送信息以供可执行程序或信息设备使用和/或通过将信息路由到输出设备来对信息进行操作。处理器可以使用或包含例如计算机、控制器或微处理器的能力,并且使用可执行指令来调节以执行未由通用计算机执行的特殊目的的功能。处理器可以与实现其间的交互和/或通信的任何其他处理器(电和/或按照包含可执行组件)耦合。用户接口处理器或发生器是包含用于产生显示图像或其部分的电子电路或软件或二者的组合的已知元件。用户接口包含一个或多个使用户能够与处理器或其他设备交互的显示图像。

本文所述各种设备(包括但不限于,控制层设备及相关的计算基础设施)可以包括用于保持根据本发明的实施例编程的指令以及用于包含数据结构、表格、记录或本文描述的其他数据的至少一个计算机可读介质或存储器。如本文所使用的术语“计算机可读介质”指的是参与给一个或多个处理器提供指令用于执行的任何介质。计算机可读介质可以采用多种形式,其包括,但不限于非暂时性、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘。易失性介质的非限制性示例包括动态存储器。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括组成系统总线的电线。传输介质还可以采取声波或光波(诸如在无线电波和红外数据通信过程中产生的那些)的形式。

如本文所使用的可执行应用程序包含用于调节处理器以例如响应于用户命令或输入实现预定功能(诸如,操作系统、语境数据采集系统或其他信息处理系统的那些)的代码或机器可读指令。可执行程序是用于执行一个或多个特定过程的一段代码或机器可读指令、子程序或其他不同部分的代码或部分可执行应用程序。这些过程可以包括接收输入数据和/或参数,对接收到的输入数据执行操作和/或响应于接收到的输入参数执行功能,以及提供由此产生的输出数据和/或参数。

如本文所使用的图形用户接口(GUI)包含一个或多个显示图像,其由显示处理器产生并且使用户能够与处理器或其他设备以及相关联的数据采集和处理功能交互。GUI还包括可执行程序或可执行应用程序。所述可执行程序或可执行应用程序调节显示处理器以产生表示GUI显示图像的信号。这些信号被提供给显示图像以供用户观看的显示设备。在可执行程序或可执行应用程序的控制下,处理器响应于从输入设备接收到的信号操作GUI显示图像。以这种方式,用户可以使用输入设备与显示图像交互,这使得用户能够与处理器或其他设备交互。

本文的功能和过程步骤可以响应于用户命令来自动、完全或部分地执行。自动执行的活动(包括步骤)在没有用户直接启动活动的情况下响应于一个或多个可执行指令或设备操作来执行。

附图的系统和过程不是排他的。根据本发明的原理可以派生其他系统、过程和菜单来实现相同的目的。尽管本发明已经参考特定实施例被描述,但是将理解的是,本文所述和所示出的实施例和变型仅用于说明的目的。在不脱离本发明的范围的情况下,本领域技术人员可以实现对当前设计的修改。如本文所述,各种系统、子系统、代理、管理器和过程能够使用硬件组件、软件组件和/或其组合来实现。没有要求本文的元件应该在35 U.S.C.112第六款的规定下来解释,除非该元件是使用短语“用于……的装置”明确叙述的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1