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

工业自动化智能对象父/子数据收集传播的制作方法

2023-02-26 17:29:44 来源:中国专利 TAG:


1.本公开内容总体上涉及工业自动化智能对象父/子数据收集传播。


背景技术:

2.本文中公开的主题总体上涉及工业自动化系统,并且例如涉及工业编程开发平台。


技术实现要素:

3.下面展现了简化的概述,以便提供对本文中描述的一些方面的基本理解。该概述不是广泛的综述,也不旨在标识关键/重要元素或者描绘本文中描述的各个方面的范围。其唯一的目的是以简化的形式展现一些构思,作为稍后展现的更详细描述的序言。
4.在一个或更多个实施方式中,提供了用于开发工业应用的系统,该系统包括:存储器,其存储可执行组件和表示相应工业资产的自动化对象的库,自动化对象具有与工业资产相关联的相应编程属性;用户接口组件,其被配置成呈现集成开发环境(ide)接口以及经由与ide接口的交互来接收设计输入,设计输入定义工业自动化项目的各方面;以及项目生成组件,项目生成组件被配置成基于设计输入来生成系统项目数据,其中,系统项目数据定义系统项目,包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少一项,系统项目数据还包括从存储在库中的自动化对象中选择的自动化对象的实例,并且自动化对象的实例包括作为编程属性中的一个或更多个的数据记录配置参数,数据记录配置参数响应于对数据收集系统的部署来配置数据收集系统以收集由自动化对象的实例表示的工业资产所生成的数据。
5.此外,一个或更多个实施方式提供了用于开发工业应用的方法,包括:由包括处理器的系统在客户端设备上呈现集成开发环境(ide)接口;由系统经由与ide接口的交互来接收设计输入,设计输入定义工业控制和监视项目的各方面;以及由系统基于设计输入生成系统项目数据,系统项目数据包括从自动化对象的库中选择的自动化对象的至少一个实例,自动化对象表示相应的工业资产并且具有与工业资产有关的相应编程属性,其中,生成包括生成可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少一项,以及自动化对象的实例包括作为编程属性中的一个或更多个的数据记录配置参数,数据记录配置参数响应于对数据历史系统的部署来配置数据历史系统以收集由自动化对象的实例表示的工业资产所生成的数据。
6.此外,根据一个或更多个实施方式,提供了非暂态计算机可读介质,其上存储有指令,指令响应于执行而使系统执行操作,所述操作包括:在客户端设备上呈现集成开发环境(ide)接口;经由与ide接口的交互从客户端设备接收设计输入,设计输入定义工业自动化项目的各控制设计方面;以及基于设计输入生成系统项目数据,其中,生成包括生成可执行工业控制程序、工业可视化应用或者工业设备配置数据中的至少一项,系统项目数据包括从自动化对象的库中选择的自动化对象的实例,自动化对象表示相应的工业资产并且具有
与工业资产有关的相应编程属性;以及自动化对象的实例包括作为编程属性中的一个或更多个的数据历史配置设置,数据历史配置设置响应于对数据历史系统的部署来配置数据历史系统以收集由自动化对象的实例表示的工业资产所生成的数据。
7.为了实现前述目的和相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示可以实践的各种方式,所有这些方式都旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖特征可以根据以下详细描述变得明显。
附图说明
8.图1是示例工业控制环境的框图。
9.图2是示例集成开发环境(ide)系统的框图。
10.图3是示出工业ide系统的通用架构的图。
11.图4是示出可以由工业ide系统结合构建、部署和执行系统项目来利用的若干示例自动化对象属性的图。
12.图5是示出工业ide系统和与针对正在使用工业ide系统设计的自动化系统创建系统项目相关联的示例数据流的图。
13.图6是示出将自动化对象合并到项目模型中的示例系统项目的图。
14.图7是示出对系统项目进行调试的图。
15.图8是示出基于云的ide服务被用于开发工业应用并将工业应用部署至工厂环境的示例架构的图。
16.图9是已经被集成到系统项目的项目数据模型中的示例自动化对象的图示。
17.图10是示出ide系统的项目测试组件使用与自动化对象绑定的测试脚本来测试示例系统项目的图。
18.图11是示出向ide系统提交自动化对象编辑的图。
19.图12是示出根据向存储在库中的自动化对象的主版本提交的编辑来修改自动化对象的实例的图。
20.图13是示出将系统项目的副本从工业ide系统下载到本地客户端设备的图。
21.图14是示出将自动化对象编辑传播到系统项目的本地存储副本的图。
22.图15是自动化对象之间的两层关系层次的图形表示。
23.图16是三个封装的自动化对象的示例图形表示。
24.图17是用于使用工业ide系统在工业系统项目内创建和封装自动化对象的层次的示例方法的流程图。
25.图18a是用于在自动化系统项目内配置由自动化系统生成的数据的记录以由系统项目监视和控制的示例方法的第一部分的流程图。
26.图18b是用于在自动化系统项目内配置由自动化系统生成的数据的记录以由系统项目监视和控制的示例方法的第二部分的流程图。
27.图19是用于使用自动化对象在自动化系统项目内定义工业设备配置的示例方法的流程图。
28.图20是示例计算环境。
29.图21是示例网络环境。
具体实施方式
30.现在参照附图描述本公开内容,在附图中相似的附图标记始终用于指代相似的元素。在以下描述中,出于说明的目的,阐述了许多具体细节以提供对本公开内容的透彻理解。然而显然,可以在没有这些具体细节的情况下实践本公开内容。在其他实例中,以框图形式示出了公知的结构和设备以便于对其进行描述。
31.如本技术中所使用的,术语“组件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关的实体或者与具有一个或更多个特定功能的操作装置相关的实体或者作为该操作装置的一部分的实体,其中这样的实体可以是硬件、硬件与软件的组合、软件或者执行中的软件。例如,组件可以是但不限于是在处理器上运行的进程、处理器、硬盘驱动器、包括固定的(例如,用螺钉或螺栓固定的)或可移除的固定固态存储驱动器的(光学存储介质或磁存储介质的)多个存储驱动器;对象;可执行文件;执行的线程;计算机可执行程序和/或计算机。作为说明,服务器和在服务器上运行的应用都可以是组件。一个或更多个组件可以驻留在执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,本文中描述的组件可以从存储有各种数据结构的各种计算机可读存储介质执行。这些组件可以例如根据具有一个或更多个数据包的信号(例如,来自与本地系统、分布式系统中的另一组件进行交互和/或通过诸如因特网的网络经由信号与其他系统进行交互的一个组件的数据)经由本地和/或远程进程进行通信。作为另一示例,组件可以是具有由被电气或电子电路系统操作的机械部件提供的特定功能的装置,该电气或电子电路系统通过处理器执行的软件或固件应用来操作,其中,处理器可以在该装置的内部或外部并且执行软件或固件应用的至少一部分。作为另一示例,组件可以是通过电子组件而不是机械部件来提供特定功能的装置,电子组件可以包括处理器以执行至少部分地提供电子组件的功能的软件或固件。作为又一示例,接口可以包括输入/输出(i/o)组件以及相关联的处理器、应用或应用编程接口(api)组件。虽然前述示例针对组件的方面,但是所例示的方面或特征也应用于系统、平台、接口、层、控制器、终端等。
32.如本文中所使用的,术语“推断(infer)”和“推断(inference)”通常涉及根据经由事件和/或数据捕获的观察结果的集合来推理或推断系统、环境和/或用户的状态的过程。例如,推断可以被应用于识别特定的情境(context)或动作,或者可以生成状态的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑来计算感兴趣的状态的概率分布。推断也可以涉及用于根据事件和/或数据的集合来编制(compose)更高级别事件的技术。这样的推断致使根据观察到的事件和/或存储的事件数据的集合构造新的事件或动作,而不管事件是否在时间接近度上紧密相关,以及事件和数据是否来自一个或若干个事件和数据源。
33.另外,术语“或”旨在意指包含性的“或”而不是排他性的“或”。也就是说,除非另有说明,或者根据上下文清楚得知,否则短语“x使用a或b”旨在意指任何自然的包含性排列。也就是说,以下实例中的任何一个都满足短语“x使用a或b”:x使用a;x使用b;或者x使用a和b二者。另外,在本技术和所附权利要求中使用的冠词“一(a)”和“一个(an)”通常应当被解释为意指“一个或更多个”,除非另有说明或根据上下文而清楚该冠词针对单数形式。
34.此外,如本文中所使用的术语“集合”排除空集,例如其中没有元素的集合。因此,本公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个
或更多个控制器;数据资源的集合包括一个或更多个数据资源;等。同样,如本文所用的术语“组”是指一个或更多个实体的集合,例如,一组节点是指一个或更多个节点。
35.将根据可以包括多个设备、组件、模块等的系统来展现各个方面或特征。应当理解并且意识到,各种系统可以包括附加的设备、组件、模块等,并且/或者可以不包括结合附图讨论的所有设备、组件、模块等。也可以使用这些方法的组合。
36.图1是示例工业控制环境100的框图。在该示例中,在整个工业工厂环境中部署多个工业控制器118以监视和控制相应的工业系统或者与产品制造、加工、运动控制、批处理、材料处理或其他这样的工业功能有关的过程。工业控制器118通常执行相应的控制程序以便于对构成受控工业资产或系统的工业设备120(例如,工业机器)进行监视和控制。一个或更多个工业控制器118还可以包括在个人计算机或其他硬件平台上或者在云平台上执行的软控制器。一些混合设备还可以将控制器功能与其他功能(例如,可视化)组合。由工业控制器118执行的控制程序可以包括能够处理从工业设备120读取的输入信号并且控制由工业控制器118生成的输出信号的基本上任何类型的代码,所述任何类型的代码包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本。
37.工业设备120可以包括向工业控制器118提供与受控的工业系统有关的数据的输入设备以及对由工业控制器118生成的用于控制工业系统的方面的控制信号做出响应的输出设备二者。示例输入设备可以包括遥测设备(例如,温度传感器、流量计、水平传感器、压力传感器等)、手动操作者控制设备(例如,按钮、选择器开关等)、安全监视设备(例如,安全垫、安全拉绳、光幕等)以及其他这样的设备。输出设备可以包括马达驱动器、气动致动器、信令设备、机器人控制输入、阀、泵等。
38.工业控制器118可以通过硬连线连接或联网连接与工业设备120通信地接口连接。例如,工业控制器118可以配备有与工业设备120进行通信以实现对这些设备的控制的本机硬连线输入和输出。本地控制器i/o可以包括向现场设备发送离散电压信号以及从现场设备接收离散电压信号的数字i/o或者向设备发送模拟电压或电流信号以及从设备接收模拟电压或电流信号的模拟i/o。控制器i/o可以通过背板与控制器的处理器进行通信,以使得数字信号和模拟信号可以被读入控制程序并由控制程序控制。工业控制器118还可以使用例如通信模块或集成联网端口通过网络与工业设备120通信。示例性网络可以包括因特网、内联网、以太网、设备网(devicenet)、控制网(controlnet)、数据高速公路和数据高速公路加(dh/dh )、远程i/o、现场总线、modbus、过程现场总线(profibus)、无线网络、串行协议等。工业控制器118还可以存储可以被其相关联的控制程序参考并且用于控制决策的持久数据值,所述持久数据值包括但不限于表示受控机器或过程的操作状态(例如,罐水平、位置、警报等)的测量值或计算值,或者在自动化系统的操作期间收集的被捕获的时间序列数据(例如,多个时间点的状态信息、诊断发生等)。类似地,一些智能设备——包括但不限于马达驱动器、仪器或状态监视模块——可以存储用于控制操作状态和/或使操作状态可视化的数据值。这样的设备还可以将时间序列数据或事件捕获在日志上以供稍后检索和查看。
39.工业自动化系统通常包括一个或更多个人机接口(hmi)114,所述一个或更多个人机接口(hmi)114使得工厂人员能够查看与自动化系统相关联的遥测数据和状态数据并且能够对系统操作的一些方面进行控制。hmi 114可以通过工厂网络116与工业控制器118中
的一个或更多个进行通信,并且与工业控制器交换数据以便于在一个或更多个预先开发的操作者接口屏幕上对与受控工业过程有关的信息进行可视化。hmi 114还可以被配置成使得操作者能够将数据提交至工业控制器118的指定数据标签或存储器地址,从而提供供操作者向受控系统发出命令(例如,循环启动命令、设备致动命令等)、修改设定点值等的手段。hmi 114可以生成一个或更多个显示屏幕,操作者通过所述显示屏幕与工业控制器118进行交互,并且从而与受控过程和/或系统进行交互。示例显示屏幕可以使用显示计量值或计算值的过程的图形表示来可视化工业系统或其相关联的设备的当前状态,采用基于状态的颜色或位置动画,呈现警报通知,或者采用其他这样的技术以向操作者展现相关数据。以这种方式展现的数据由hmi114从工业控制器118读取,并且根据由hmi开发者选择的显示格式在显示屏幕中的一个或更多个上展现所述数据。hmi可以包括具有用户安装的或预先安装的操作系统以及用户安装的或预先安装的图形应用软件的固定位置设备或移动设备。
40.一些工业环境还可以包括与受控工业系统的特定方面有关的其他系统或设备。这些系统或设备可以包括例如聚合并存储从工业控制器118或其他数据源收集的生产信息的数据历史记录装置(data historian)110、包含构成受控工业系统的各种工业设备的电子文档的设备文档存储库、库存跟踪系统、工作订单管理系统、机器或过程图及文档的储存库、供应商产品文档存储库、供应商知识库、内部知识库、工作调度应用或者其他这样的系统,它们中的一些或全部可以驻留在工业环境的办公网络108上。
41.较高级别系统126可以执行与工厂现场的工业自动化系统的控制不太直接有关并且替代地针对长期规划、高级监督控制、分析、报告的功能或其他这样的高级功能。这些系统126可以驻留在相对于工厂设施的外部位置处的办公网络108上,或者驻留在可以访问办公网络和/或工厂网络的云平台上。较高级别系统126可以包括但不限于云存储和分析系统、大数据分析系统、制造执行系统、数据湖(data lake)、报告系统等。在一些场景中,在企业的这些较高级别处运行的应用可以被配置成分析控制系统操作数据,并且该分析的结果可以被反馈至控制系统处的操作者或者直接反馈至控制系统中的控制器118或设备120。
42.构成工业环境的各种控制、监视和分析设备必须使用特定于每个设备的相应配置应用来编程或配置。例如,工业控制器118通常使用(例如,在客户端设备124上执行的)控制编程开发应用例如梯形逻辑编辑器来配置和编程。使用这样的开发平台,设计者可以编写用于执行期望的工业顺序或过程的控制程序(例如,梯形逻辑、结构化文本、功能框图等)并且将得到的程序文件下载至控制器118。单独地,开发者使用(例如,在客户端设备122上执行的)hmi开发平台为hmi 114设计可视化屏幕和相关联的导航结构并且将得到的可视化文件下载至hmi 114。一些工业设备120——例如马达驱动器、遥测设备、安全输入设备等——也可能需要使用特定于正被配置的设备的(例如,在客户端设备128上执行的)单独的设备配置工具来进行配置。这样的设备配置工具可以用于设置设备参数或操作模式(例如,高/低限制、输出信号格式、比例因子、能耗模式等)。
43.使用单独的配置工具对工业自动化系统的不同方面进行编程和配置的需要导致了碎片化的设计方法,由此在不同的开发环境上对自动化系统的不同但相关或交叠的方面进行单独地设计、配置和编程。例如,运动控制系统可能需要使用控制逻辑编程平台对工业控制器进行编程并且对控制回路进行调节,使用另一配置平台对马达驱动器进行配置,以及使用可视化开发平台对相关联的hmi进行编程。相关的外围系统——例如视觉系统、安全
系统等——可能也需要使用单独的编程或开发应用进行配置。
44.这种分离的开发方法也可能需要相当多的测试和调试努力以确保单独配置的系统方面的适当集成。在这点上,由于未能适当地协调不同的编程努力,因此不同的系统方面之间的预期数据接口或协调动作可能需要大量调试。
45.为了解决这些或其他问题中的至少一些,本文中描述的一个或更多个实施方式提供了用于使用通用设计环境和数据模型来设计、编程和配置工业自动化系统的多个方面的集成开发环境(ide)。工业ide的实施方式可以用于以通用的方式配置和管理自动化系统设备,从而促进控制系统的控制、可视化和其他方面的集成多学科编程。
46.通常,工业ide支持跨越整个自动化生命周期的特征,包括设计(例如,设备选择及尺寸确定、控制器编程、可视化开发、设备配置、测试等);安装、配置和调试;操作、改进和管理;以及故障排除、扩展和升级。
47.工业ide的实施方式可以包括特定于工业纵向市场(vertical)及这些纵向市场内的通用工业应用的模块化代码和可视化的库。这些代码和可视化模块可以简化开发并缩短开发周期,同时还支持跨工业企业的一致性和重复使用。
48.为了支持增强开发能力,使用ide系统的实施方式进行的项目创建可以建立在基于对象的模型上而不是基于标签的架构上,或者除了基于标签的架构之外还可以建立在基于对象的模型上。为此,ide系统可以支持使用用作该基于对象的开发结构的构建块的自动化对象。为了确保项目内及项目之间的一致性,以及确保给定的工业项目被动态地更新以反映对工业资产的属性(例如,控制代码、可视化定义、测试脚本、分析代码等)的改变,ide系统的实施方式可以使用自动化对象继承特征以将针对自动化对象定义所作的改变传播至在整个控制项目中使用的自动化对象的所有实例。另外,ide系统使得用户能够定义表示不同工业资产或企业级别的自动化对象之间的层次链接,并且能够将这些链接对象封装成单个对象,该单个对象可以移动至系统项目的其他方面或者跨多个项目或项目部分复制。在一些实施方式中,数据记录配置也可以被原生地嵌入智能对象内。在链接自动化对象的情况下,可以通过定义的对象层次传播数据记录配置使得父对象控制子对象的数据记录行为。
49.图2是根据本公开内容的一个或更多个实施方式的示例集成开发环境(ide)系统202的框图。本公开内容中说明的系统、装置或过程的各方面可以构成包含在机器内的机器可执行组件,例如包含在与一个或更多个机器相关联的一个或更多个计算机可读介质(或介质)中的机器可执行组件。这样的组件在由一个或更多个机器例如计算机、计算设备、自动化设备、虚拟机等执行时可以使机器执行所描述的操作。
50.ide系统202可以包括:包括ide编辑器224的用户接口组件204、项目生成组件206、项目部署组件208、项目测试组件210、协作管理组件212、一个或更多个处理器218以及存储器220。在各种实施方式中,用户接口组件204、项目生成组件206、项目部署组件208、项目测试组件210、协作管理组件212、一个或更多个处理器218以及存储器220中的一个或更多个可以彼此电耦接和/或通信耦接以执行ide系统202的功能中的一个或更多个。在一些实施方式中,组件204、206、208、210和212可以包括存储在存储器220上并由处理器218执行的软件指令。ide系统202还可以与图2中未描绘的其他硬件和/或软件组件交互。例如,处理器218可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示监视器、触摸屏或其他这
样的接口设备交互。
51.用户接口组件204可以被配置成接收用户输入并以任何合适的格式(例如,视觉、音频、触觉等)将输出呈现给用户。在一些实施方式中,用户接口组件204可以被配置成与在客户端设备(例如,膝上型计算机、平板计算机、智能电话等)上执行的ide客户端通信地交互,该客户端设备(例如,经由硬连线连接或无线连接)通信地连接至ide系统202。然后,用户接口组件204可以经由ide客户端接收用户输入数据以及呈现输出数据。在其他实施方式中,用户接口组件204可以被配置成生成合适的接口屏幕(例如,程序开发屏幕)并且将其提供给客户端设备,以及经由这些接口屏幕来交换数据。可以经由用户接口组件204的各种实施方式接收的输入数据可以包括但不限于编程代码、工业设计说明或目标、工程图、ar/vr输入、dsl定义、视频或图像数据、项目测试脚本或者其他这样的输入。由用户接口组件204的各种实施方式呈现的输出数据可以包括程序代码、编程反馈(例如,错误和突出显示、编码建议等)、编程和可视化开发屏幕、项目测试结果等。
52.项目生成组件206可以被配置成基于经由用户接口组件204接收的设计输入以及由ide系统202保存的工业知识、预定义代码模块和可视化以及自动化对象222来创建包括一个或更多个项目文件的系统项目。项目部署组件208可以被配置成将由项目生成组件206创建的系统项目委派给适当的工业设备(例如,控制器、hmi终端、马达驱动器、ar/vr系统等)以供执行。为此,项目部署组件208可以识别应向其发送系统项目的相应部分以供执行的适当目标设备,将这些相应部分转换成目标设备可理解的格式,并且将所转换的项目组件部署至其对应设备。
53.项目测试组件210可以被配置成执行与自动化对象222或系统项目的其他元素相关联的测试脚本以验证项目的各个方面的正确执行。协作管理组件212可以被配置成跟踪已经被下载到本地客户端设备的系统项目的实例,使得可以响应于提交给基于云的ide系统的修改而按需更新项目的这些本地版本。
54.一个或更多个处理器218可以执行本文中参考所公开的系统和/或方法描述的功能中的一个或更多个。存储器220可以是存储用于执行本文参照所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
55.图3是示出根据一个或更多个实施方式的工业ide系统202的通用架构的图。工业ide系统202可以实现不仅跨设计而且跨调试、操作和维护的服务和工作流的通用集合。在设计方面,ide系统202不仅可以支持工业控制器编程和hmi开发,而且可以支持系统部件的尺寸确定和选择、设备/系统配置、ar/vr可视化以及其他特征。ide系统202还可以包括简化所得到的项目的调试并使所得到的项目的调试自动化并且在运行时间期间协助已部署系统的后续管理的工具。
56.在云平台上实现的ide系统202的实施方式还有助于协作项目开发,由此多个开发者304向公共自动化系统项目302贡献设计和编程输入。ide系统支持的协作工具可以管理来自多个贡献者的设计贡献并且执行聚合系统项目302的版本控制以确保项目一致性。
57.基于来自一个或更多个开发者304的设计和编程输入,ide系统202生成包括一个或更多个项目文件的系统项目302。系统项目302对以下中的一个或更多个进行编码:控制程序;hmi、ar和/或vr可视化;设备或子系统配置数据(例如,驱动参数、视觉系统配置、遥测设备参数、安全区域定义等)或者正被设计的工业自动化系统的其他这样的方面。ide系统
202可以识别应当在其上执行系统项目302的相应方面的适当目标设备306(例如,工业控制器、hmi终端、变频驱动器、安全设备等),将系统项目302转换成可以在相应目标设备上执行的可执行文件,并且将可执行文件部署至其对应的目标设备306以供执行,从而将系统项目302委派至工厂现场以实现自动化项目。
58.为了支持增强的开发能力,ide系统202的一些实施方式可以构建在基于对象的数据模型上而不是基于标签的架构上,或者除了基于标签的架构之外还可以构建在基于对象的数据模型上。自动化对象222用作该基于对象的开发架构的构建块。图4是示出可以由ide系统202结合构建、部署和执行系统项目302来利用的若干示例自动化对象属性的图。自动化对象222可以在设计期间被创建和扩充、可以被集成到较大数据模型中并且在运行时间期间消耗。这些自动化对象222提供了跨ide系统202的通用数据结构并且可以被存储在对象库(例如,存储器220的一部分)中以供重复使用。对象库可以存储表示真实世界工业资产402的各种分类的预定义自动化对象222,所述工业资产402包括但不限于泵、罐、阀、马达、马达驱动器(例如,变频驱动器)、工业机器人、致动器(例如,气动或液压致动器)或其他这样的资产。自动化对象222可以表示工业企业的基本上任何级别的元素,包括单独的设备、由许多工业设备和部件(其中的一些可以与它们自己的自动化对象222相关联)组成的机器以及整个生产线或过程控制系统。
59.针对给定类型的工业资产的自动化对象222可以对诸如2d或3d可视化、警报、控制编码(例如,逻辑或其他类型的控制程序)、分析、启动程序、测试协议和脚本、验证报告、模拟、图表、安全协议以及与由对象222表示的工业资产402相关联的其他这样的属性的方面进行编码。还可以用对相关联资产的位置进行标识的位置信息来对自动化对象222进行地理标记。在系统项目302的运行时间期间,对应于给定真实世界资产402的自动化对象222也可以记录针对资产的状态或操作历史数据。通常,自动化对象222用作其对应工业资产402的编程表示,并且可以作为控制代码、2d或3d可视化、针对工业资产的知识库或维护指导系统或其他这样的方面的元素被合并到系统项目302中。此外,如将在下面更详细地讨论的,自动化对象222可以支持继承,使得针对上面讨论的自动化对象222的属性中的任何一个的改变被自动传播至在整个系统项目302中使用的自动化对象的实例。
60.图5是示出与针对正在使用根据一个或更多个实施方式的ide系统202来设计的自动化系统创建系统项目302相关联的示例数据流的图。执行ide客户端应用514的客户端设备504(例如,膝上型计算机、平板计算机、台式计算机、移动设备、可佩戴ar/vr器具等)可以访问ide系统的项目开发工具并利用这些工具来针对正被开发的自动化系统创建综合系统项目302。通过与系统的用户接口组件204的交互,开发者可以以各种支持的格式向ide系统202提交设计输入512,包括特定于工业的控制程序(例如,控制逻辑、结构化文本、顺序功能图等)和hmi屏幕配置输入。基于该设计输入512和存储在工业知识库中的信息(预定义代码模块508和可视化510、护栏(guardrail)模板506、基于物理学的规则516等),用户接口组件204呈现设计反馈518,该设计反馈518被设计成协助开发者结合开发系统项目302对工业自动化系统进行配置、控制和可视化。
61.除了控制程序和可视化定义以外,ide系统202的一些实施方式可以被配置成接收数字工程制图(例如,计算机辅助设计(cad)文件)作为设计输入512。在这样的实施方式中,项目生成组件206可以基于对现有设计制图的分析例如通过自动生成控制和/或可视化代
码来生成系统项目302的一些部分。可以作为设计输入512提交的制图可以包括但不限于p&id制图、机械制图、流程图或其他这样的文档。例如,p&id制图可以被导入到ide系统202中,并且项目生成组件206可以识别通过制图传达的元素(例如,罐、泵等)以及它们之间的关系。项目生成组件206可以将在制图中识别的元素与对应于这些元素(例如,罐、泵等)的适当的自动化对象222相关联或映射,并且将这些自动化对象222添加至系统项目302。特定于设备和特定于资产的自动化对象222包括要与在制图中识别的元素相关联的合适的代码和可视化。通常,ide系统202可以检查一个或更多个不同类型的(机械的、电的、管道等的)制图以确定设备、机器和/或资产之间的关系(包括识别跨不同制图的公共元素),并且将这些元素与适当的自动化对象222、代码模块508和/或可视化510智能地关联。ide系统202可以结合生成用于系统项目302的代码或项目数据、根据需要利用基于物理学的规则516以及预定义代码模块508和可视化510。
62.ide系统202还可以确定预定义可视化内容是否可用于在制图中发现的对象中的任何一个并且基于这些预定义可视化生成针对所发现的对象的适当hmi屏幕或ar/vr内容。为此,ide系统202可以存储可以由项目生成组件206按需访问的特定于工业、特定于资产的和/或特定于应用的可视化510。这些可视化510可以根据工业或工业纵向市场(例如,汽车、食品和药品、石油和天然气、药物等)、工业资产的类型(例如,机器或工业设备的类型)、工业应用的类型(例如,批处理、流量控制、幅面张力控制(web tension control)、金属板冲压、水处理等)或其他这样的类别而分类。预定义可视化510可以包括各种格式的可视化,包括但不限于hmi屏幕或窗口、聚合来自多个预先指定的源的数据的混搭(mashup)、ar叠加、表示相关联的工业资产的3d虚拟化的vr对象或其他这样的可视化格式。ide系统202可以基于对象类型与可视化内容之间的预定义关联来选择针对给定对象的合适的可视化。
63.在另一示例中,由用户应用于工程制图的标记可以通过项目生成组件206的一些实施方式理解以传达特定的设计意图或参数。例如,红色笔的标记可以被理解为指示安全区域,通过虚线连接的两个圆可以被解释为齿轮关系,以及粗线可以指示凸轮关系。以这种方式,设计者可以以ide系统202可以理解并利用的方式在现有的制图上草拟设计目标以生成代码和可视化。在另一示例中,项目生成组件206可以基于对用户的cad制图的分析来学习用作用于启动机器的必要前提条件的许可和互锁(例如,阀及其相关联的状态)。项目生成组件206可以基于对这些制图和标记的分析来生成任何合适的代码(梯形逻辑、功能块等)、设备配置和可视化以供合并到系统项目302中。在一些实施方式中,用户接口组件204可以包括用于在ide平台本身内开发工程制图的设计工具,并且项目生成组件206可以在用户为新项目创建制图时作为后台进程生成该代码。在一些实施方式中,项目生成组件206还可以将状态机制图转换成对应的编程序列,从而至少产生可以由开发者根据需要用附加的编程细节来增强的骨架代码。
64.此外,或者另外,ide系统202的一些实施方式可以支持基于目标的自动化编程。例如,用户接口组件204可以允许用户指定正被设计的自动化系统的生产目标(例如,指定正被设计的装瓶工厂必须能够在正常操作期间每秒生产至少5000个瓶子)和应用于该设计项目的任何其他相关设计约束(例如,预算限制、可用现场空间、可用控制柜空间等)。基于该信息,项目生成组件206将生成系统项目302的一些部分以满足指定的设计目标和约束。可以以这种方式生成的系统项目302的一些部分可以包括但不限于设备和装备选择(例如,将
需要多少泵、控制器、站、传送机、驱动器或其他资产以满足所指定的目标的定义)、相关联的设备配置(例如,调节参数、网络设置、驱动器参数等)、控制编码或者适于使正被设计的自动化系统可视化的hmi屏幕。
65.项目生成组件206的一些实施方式还可以基于已经为正被开发的项目订购的零件的知识来生成系统项目302的项目代码的至少一些。这可以涉及:访问由装备供应商维护的客户的账户信息以识别已经为项目购买的设备。基于该信息,项目生成组件206可以添加与所购买的资产相对应的适当的自动化对象222及相关联的代码模块508,由此提供项目开发的起点。
66.项目生成组件206的一些实施方式还可以监视针对共同编程的功能(例如,泵送应用、批处理、托盘包装(palletizing)操作等)的特定于客户的设计方法,并基于对设计者的目标的推断和为了实现该目标而学习的方法来生成针对用户可能希望合并到当前设计项目中的设计模块(例如,代码模块508、可视化510等)的推荐。为此,项目生成组件206的一些实施方式可以被配置成随着时间来监视设计输入512,并且基于该监视,获知某些设计动作(例如,向设计项目添加某些代码模块或代码段、选择某些可视化等)与正在设计的工业资产的类型、工业顺序或工业过程之间的相关性。项目生成组件206可以记录这些获知的相关性并且在后续项目开发环节期间基于这些相关性生成推荐。例如,如果项目生成组件206基于对设计输入512的分析确定:设计者当前正在以重复可预测的方式开发涉及一种在过去已经被编程和/或可视化的工业装备的控制项目,则项目生成组件206可以基于该装备在过去是如何被配置和/或编程的来指示用户接口组件204呈现设计者可能希望合并到系统项目302中的推荐的开发步骤或者代码模块508。
67.在一些实施方式中,ide系统202还可以存储和实现护栏模板506,护栏模板506定义旨在确保项目符合内部或外部设计标准的设计护栏。基于由一个或更多个选择的护栏模板506定义的设计参数,用户接口组件204可以提供动态推荐或其他类型的反馈作为设计反馈518的子集,所述动态推荐或其他类型的反馈被设计成以确保系统项目302符合内部或外部要求或标准(例如,诸如tuv认证的认证、内部设计标准、特定于工业或特定于纵向市场的设计标准等)的方式来指导开发者。该反馈518可以采取基于文本的推荐(例如,重写控制代码的指示部分以符合所定义的编程标准的推荐)、语法突出显示、错误突出显示、代码段的自动完成的形式或其他这样的格式。以这种方式,ide系统202可以根据正被开发的工业系统的类型和任何适用的内部设计标准来定制设计反馈518,设计反馈518包括编程推荐、预定义代码模块508或可视化510的推荐、错误突出显示和语法突出显示等。
68.护栏模板506还可以被设计成保持与适用于控制程序或项目开发的其他方面的全局最佳实践相符合。例如,如果开发者的控制程序被认为太复杂(如由一个或更多个护栏模板506指定的标准所定义),则用户接口组件204可以生成并呈现警报。由于不同的纵向市场(例如,汽车、药物、石油和天然气、食品和药品、船舶等)必须遵守不同的标准和认证,因此ide系统202可以维护针对不同的内部和外部标准和认证的护栏模板506的库,包括定制的特定于用户的护栏模板506。这些护栏模板506可以根据工业纵向市场、工业应用的类型、工厂设施(在定制的内部护栏模板506的情况下)或其他这样的类别而分类。在开发期间,项目生成组件206可以基于诸如与项目相关的工业纵向市场、正被编程的工业应用的类型(例如,流量控制、幅面张力控制、特定批处理等)的方面或其他这样的方面的确定来选择并应
用被确定为与当前正被开发的项目相关的护栏模板506的子集。项目生成组件206可以利用护栏模板506来实现基于规则的编程,由此基于编码的工业专业知识和最佳实践(例如,识别正被开发的代码的低效率并且推荐适当的校正)来呈现诸如动态智能自动校正、输入提示(type-ahead)或编码建议的编程反馈(设计反馈518的子集)。
69.用户还可以针对由外部供应商(例如oem)提供的代码来运行其自己的内部护栏模板506以确保该代码符合内部编程标准。在这样的场景中,供应商提供的代码可以被提交至ide系统202,并且项目生成组件206可以鉴于由一个或更多个定制护栏模板506指定的内部编码标准来对该代码进行分析。基于该分析的结果,用户接口组件204可以(例如,使用突出显示、覆盖文本等)指示供应商提供的代码中不符合护栏模板506所阐述的编程标准的部分,并且显示用于修改代码的建议以便使代码符合标准。作为推荐这些修改的替选方案或者除了推荐这些修改之外,项目生成组件206的一些实施方式可以被配置成根据推荐来自动修改代码以使代码符合标准。
70.在提出编码建议作为设计反馈518的一部分时,项目生成组件206可以调用所选择的存储在代码模块数据库中的代码模块508或者所选择的存储在(例如,在存储器220上的)自动化对象库502中的自动化对象222。代码模块508包括用于控制常见工业任务或应用(例如,托盘包装、流量控制、幅面张力控制、拾取和放置应用、传送机控制等)的标准化编码段。类似地,表示相应工业资产的自动化对象222可以具有与其相关联的用于监视和控制其相应资产的标准化控制代码。在一些实施方式中,代码模块508和/或自动化对象222可以根据工业纵向市场(例如,汽车、食品和药品、石油和天然气、纺织品、船舶、药物等)、工业应用、或代码模块508或自动化对象222适用的机器或设备的类型中的一个或更多个而分类。
71.在一些实施方式中,项目生成组件206可以基于由程序员提供的程序输入(作为设计输入512的子集)来推断程序员的当前编程任务或设计目标,并且基于该任务或目标确定是否可以将预定义代码模块508或自动化对象222之一适当地添加至正被开发的控制程序以实现所推断的任务或目标。例如,项目生成组件206可以基于对设计输入512的分析推断出程序员当前正在开发用于将材料从第一罐转移至另一罐的控制代码,并且作为响应,推荐包括包含用于控制实现材料转移所需的阀、泵或其他资产的标准化或频繁利用的代码的预定义代码模块508。类似地,项目生成组件206可以推荐包括表示罐之一或转移材料所涉及的其他工业资产之一(例如,阀、泵等)的自动化对象222,其中,所推荐的自动化对象222包括用于控制其相关联资产的相关联控制代码以及可以用于在hmi应用或另一可视化应用上可视化资产的可视化对象。
72.定制的护栏模板506还可以被定义为捕获在项目设计中应当考虑的客户站点的细微差别。例如,护栏模板506可以记录正被设计的自动化系统将被安装在停电很常见的区域中的事实,并且将在生成设计反馈518时考虑这一因素,例如通过推荐实现备用不间断电源并建议应该如何将这些电源合并以及推荐考虑这些断电的相关联的编程或控制策略。
73.ide系统202还可以例如基于下述来使用护栏模板506来指导用户针对给定设计目标选择装备或设备:工业纵向市场、控制应用的类型(例如金属板冲压、模铸、托盘包装、传送机控制、幅面张力控制、批处理等)、项目的预算约束、安装站点的物理约束(例如可用楼层、墙或柜空间;安装空间的尺寸等)、该站点已经存在的装备等。这些参数和约束中的一些或全部可以被提供作为设计输入512,并且用户接口组件204可以将装备推荐作为设计反馈
518的子集呈现。结合该装备推荐,项目生成组件206还可以推荐包括表示所推荐的装备的对应自动化对象222以供包括在系统项目302中。
74.在一些实施方式中,项目生成组件206还可以确定是否可以将一些或全部现有装备重新调整以用于正被设计的新控制系统。例如,如果要将新的装瓶线添加至生产区域,由于一些装瓶线已经存在,因此可能存在利用现有装备的机会。关于哪些设备和装备可以被重复使用的决定将影响新控制系统的设计。因此,提供至ide系统202的设计输入512中的一些设计输入可以包括安装站点内或安装站点附近的客户现有系统的细节。在一些实施方式中,项目生成组件206可以将人工智能(ai)或传统的分析方法应用于该信息以确定是否可以重新调整或利用在设计输入512中指定的现有装备。基于该分析的结果,项目生成组件206可以基于这些决定生成可能需要购买的任何新装备的列表作为设计反馈518。
75.在一些实施方式中,ide系统202可以基于对正被设计的自动化系统将安装于的物理环境的理解来提供设计推荐。为此,关于物理环境的信息可以以工厂环境的2d或3d图像或视频的形式提交给ide系统202(作为设计输入512的一部分)。在一些实施方式中,该环境信息还可以从工厂的现有数字孪生(digital twin)获得,或者通过对由可佩戴ar器具获得的扫描环境数据的分析来获得。项目生成组件206可以对该图像、视频或数字孪生数据进行分析以识别安装区域内的物理元素(例如,墙、梁、安全围栏、现有机器和设备等)以及这些元素之间的物理关系。这可以包括查明机器之间的距离、管道铺设的长度、线束或线缆桥架的位置和距离等。基于该分析的结果,项目生成组件206可以将情境添加至生成的示意图作为系统项目302的一部分,生成关于设备或机器的最佳位置的推荐(例如,推荐电力线缆与数据线缆之间的最小间隔),或者对系统项目302进行其他改进。这些设计数据中的至少一些可以根据基于物理学的规则516来生成,基于物理学的规则516可以由项目生成组件206参考以确定这样的物理设计规范:例如距离危险装备的最小安全距离(这也可以在确定安全设备相对于该装备的合适的安装位置时作为因素考虑,在给定由基于物理学的规则516定义的预期的人或车辆反应时间的情况下)、能够承受预期负荷的材料选择、针对指定流量控制应用的管道配置和调节、适于预期电负荷的布线规格、信号布线与电磁场(emf)源之间的确保对数据信号的可忽略的电干扰的最小距离或者依赖于物理规则的其他这样的设计特征。
76.在示例用例中,由提交至ide系统202的物理环境信息指定的机器与设备的相对位置可以由项目生成组件206使用以生成工业安全系统的设计数据。例如,项目生成组件206可以分析安全装备与危险机器之间的距离测量结果,并且基于这些测量结果来确定安全设备和相关联的安全控制器的合适的放置和配置,确保机器将在足够的安全反应时间内关闭以防止伤害(例如,在人穿过光幕的情况下)。
77.在一些实施方式中,项目生成组件206还可以分析现有机器的照片数据或视频数据以确定诸如齿轮或凸轮的内联机械特性并且将该信息作为因素纳入到一个或更多个护栏模板506或设计推荐中。
78.如上所述,由ide系统202针对正被设计的给定自动化系统生成的系统项目302可以在使用自动化对象222作为构建块的基于对象的架构上构建。图6是示出将自动化对象222合并到项目模型中的示例系统项目302的图。在该示例中,表示类似工业设备、系统或自动化系统的资产(例如,过程、罐、阀、泵等)的各种自动化对象222已经作为较大项目数据模
型602的元素合并到系统项目302中。项目数据模型602还定义这些自动化对象222之间的层次关系。根据示例关系,表示批处理的过程自动化对象可以被定义为表示执行该过程的设备和装备例如罐、泵和阀的多个子对象的父对象。每个自动化对象222具有与其相关联的特定于其对应工业资产的对象特性或属性(例如,以上结合图4讨论的那些),包括用于控制资产(或用于协调资产与其他工业资产的动作)的可执行控制程序以及可以用于在运行时间期间呈现关于资产的相关信息的可视化。
79.每个自动化对象222的属性中的至少一些是由ide系统202基于与由对象表示的资产有关的编码工业专业知识而定义的默认属性。这些默认属性可以包括例如用于监视和控制由自动化对象222表示的资产的工业标准或推荐的控制代码、可以用于可视化关于资产的操作或统计数据的2d或3d图形对象、与资产相关联的报警条件、被设计成对资产的行为产生可执行洞察的分析或报告脚本、或者其他这样的属性。开发者可以根据需要(经由设计输入512)修改或添加其他属性以针对系统项目302正被开发用于的特定资产和/或工业应用来定制自动化对象222。这可以包括例如相关联的定制的控制代码、hmi屏幕、ar演示、或与所选择的自动化对象222相关联的帮助文件。以这种方式,可以在设计期间根据需要来创建和扩充自动化对象222以供目标控制设备在运行时间期间消耗或执行。
80.一旦已经完成了对系统项目302的开发和测试,则ide系统202支持的调试工具可以简化在现场调试项目的过程。在用于给定自动化系统的系统项目302已经完成的情况下,系统项目302可以被部署至一个或更多个目标控制设备以供执行。图7是示出对系统项目302进行调试的图。项目部署组件208可以将完成的系统项目302编译或以其他方式转换成可以在自动化系统的相应目标工业设备(例如,工业控制器118、hmi终端114或其他类型的可视化系统、马达驱动器710、遥测设备、视觉系统、安全继电器等)上存储和执行的一个或更多个可执行文件或配置文件。
81.常规的控制程序开发平台要求开发者在开发之前指定将运行控制程序的工业控制器的类型(例如,控制器的型号),从而将控制程序绑定至指定的控制器。然后在程序开发期间强加特定于控制器的护栏,所述特定于控制器的护栏限制了在给定所选择的控制器的能力的情况下开发程序的方式。相比之下,ide系统202的一些实施方式可以根据特定控制器类型抽象项目开发,从而使得设计者能够以对系统项目302的各个控制方面将在何处运行以及如何运行不可知的方式将系统项目302开发为自动化系统的逻辑表示。一旦项目开发完成并且系统项目302准备好调试,用户就可以(经由用户接口组件204)指定要执行系统项目302的相应方面的目标设备。作为响应,项目部署组件208的分配引擎将系统项目302的方面转换成被格式化以供在其相应目标设备上存储和执行的相应可执行文件。
82.例如,除了其他项目方面以外,系统项目302还可以包括控制代码、可视化屏幕定义和马达驱动器参数定义。在完成项目开发之后,用户可以识别哪些目标设备——包括工业控制器118、hmi终端114和马达驱动器710——将执行或接收系统项目302的这些相应方面。然后,项目部署组件208可以将由系统项目302定义的控制器代码转换成被格式化以供在指定的工业控制器118上执行的控制程序文件702并且(例如,经由工厂网络116)将该控制程序文件702发送至控制器118。类似地,项目部署组件208可以将可视化定义和马达驱动器参数定义分别转换成可视化应用704和设备配置文件708,并且将这些文件部署至它们相应的目标设备以供执行和/或设备配置。
83.通常,项目部署组件208执行使得系统项目302的方面能够在指定设备上执行所必需的任何转换。无论系统项目302的各个元素如何分布,都将维护在系统项目302中定义的任何固有关系、握手或数据共享。以这种方式,ide系统202的实施方式可以将项目与该项目将如何运行以及在哪里运行分离。这还使得相同的系统项目302能够在具有不同控制装备集合的不同工厂设施处进行调试。也就是说,ide系统202的一些实施方式可以根据现场找到的特定设备将项目代码分配至不同的目标设备。ide系统202还可以使得项目文件的一些部分能够作为仿真器进行调试或在基于云的控制器上进行调试。
84.作为让用户指定系统项目302要被部署至的目标控制设备的替选方案,ide系统202的一些实施方式可以主动地连接至工厂网络116并发现可用的设备,查明工厂现场存在的控制硬件架构,推断针对系统项目302的相应可执行方面的适当目标设备,并且将系统项目302部署至这些所选择的目标设备。作为该调试过程的一部分,ide系统202还可以连接至远程知识库(例如,基于web的知识库或基于云的知识库)以确定哪些已发现的设备是过时的或需要固件升级以正确地执行系统项目302。以这种方式,ide系统202可以用作设备供应商与客户的工厂生态系统之间经由云中的可信连接的链接。
85.可以使用智能传播将系统项目302的副本传播至具有不同装备配置的多个工厂设施,从而即使现场装备没有完美地匹配所定义的目标(例如,如果在不同地点处发现不同的泵类型),项目部署组件208也智能地将项目组件与正确的工业资产或控制设备相关联。对于未与预期资产完美匹配的目标设备,项目部署组件208可以计算在非最优目标装备上运行系统项目302的估计影响并且生成用于减少与最优项目执行的预期偏差的警告或推荐。
86.如上所述,ide系统202的一些实施方式可以在云平台上实施。图8是示出基于云的ide服务802被用于开发工业应用并将工业应用部署至工厂环境的示例架构的图。在该示例中,工业环境包括一个或更多个工业控制器118、hmi终端114、马达驱动器710、运行更高级别应用(例如,erp、mes等)的服务器801以及其他这样的工业资产。这些工业资产连接至工厂网络116(例如,通用工业协议网络、以太网/ip网络等),这有助于工厂现场的工业设备之间的数据交换。工厂网络116可以是有线或无线网络。在示出的示例中,高级服务器810驻留在(例如,通过路由器808或其他网络基础设施设备)连接至工厂网络116的单独的办公网络108上。
87.在该示例中,ide系统202驻留在云平台806上并且作为可由经授权的远程客户端设备504访问的基于云的ide服务802的集合来执行。云平台806可以是使得共享的计算服务(例如ide服务802)能够被能够连接云的设备访问和利用的任何基础设施。云平台806可以是可以由具有因特网连接和利用ide服务802的适当授权的设备504经由因特网访问的公共云。在一些场景中,云平台806可以由云提供商提供为平台即服务(paas),并且ide服务802可以作为基于云的服务驻留在云平台806上并且在云平台806上执行。在一些这样的配置中,ide服务802的所有者可以将对云平台806和相关联的ide服务802的访问作为订阅服务提供给客户。可替选地,云平台806可以是由工业企业(工厂设施的所有者)内部操作的私有云。示例私有云平台可以包括托管ide服务802并且驻留在由防火墙保护的公司网络上的服务器的集合。
88.ide系统202的基于云的实现方式可以促进被授权访问ide服务802的多个远程开发者的协作开发。当系统项目302准备好部署时,可以经由办公网络108或工厂网络116与云
平台806之间的安全连接将项目302委派至工厂设施。如上面所讨论的,工业ide服务802可以将系统项目302转换成一个或更多个适当的可执行文件——控制程序文件702、可视化应用704、设备配置文件708、系统配置文件812——并将这些文件部署至工厂设施中的适当设备以促进自动化项目的实现方式。
89.如上所述,通过工业ide系统202的实施方式生成的系统项目302可以合并多个自动化对象222。图9是已经被集成到系统项目302的项目数据模型602中的示例自动化对象222的图示。如以上结合图4和图6所讨论的,系统项目302可以合并用作工业资产、过程或其它工业实体的编程表示的自动化对象222的实例。可以由给定自动化对象222表示的资产可以包括设备级资产(例如,马达驱动器、阀、泵等)以及机器级资产(冲压机、罐、加工站等)。自动化对象222可以表示由设备或装备供应商提供的现成的工业设备或机器,或者可以包括表示由oem或另一类型的机器制造商提供的定制机器的定制自动化对象222。
90.项目数据模型602可以定义作为系统项目302的一部分集成的多个自动化对象222之间的层次关系。这些层次关系可以表示所表示的资产之间的物理和/或功能关系。根据示例关系,表示批处理过程的过程自动化对象222可以被定义为表示执行该过程的设备和装备(例如罐、泵和阀)的多个子自动化对象222的父对象。在另一示例中,表示机器或生产线的自动化对象222可以被定义为父对象,在父对象之下定义表示该机器或生产线内的工作站或子机器的多个子自动化对象222。这些子自动化对象222自身可以具有表示组成这些工作站或子机器的设备级资产的多个子自动化对象222。
91.每个工业对象222可以提供与用作针对从其对应工业资产接收的输入数据和向其对应工业资产发送的输出数据(例如,从资产接收以由系统项目302处理的数字和模拟数据值,以及由系统项目302生成并发送至资产的数字和模拟值)的容器的数据标签的功能类似的功能。另外,每个工业对象222包括与被表示的工业资产有关的多个编程属性,其示例在上面结合图4讨论。这些属性可以包括例如可以作为系统项目302的一部分执行以监视和控制所表示的资产的控制逻辑。该相关联的控制逻辑可以被预先开发,以经由所定义的与资产的物理输入和输出(即,资产的数字和模拟i/o)对应的输入和输出标签与其相关联的工业资产交换输入和输出数据。在系统项目302的执行期间,对象的控制逻辑可以对从资产接收的输入进行处理并基于该处理的结果生成针对所述资产的输出。
92.另外,与由项目数据模型602定义为彼此具有层次关系的相应不同自动化对象222相关联的控制逻辑可以基于这些定义的关系来进行交互或协作。例如,基于所定义的表示罐的第一自动化对象222(被定义为父对象)和表示与罐相关联的阀的第二自动化对象222(被定义为第一对象的子对象)之间的层次关系,系统项目302可以将分别与第一自动化对象222和第二自动化对象222相关联的两组控制逻辑链接,使得与这两个自动化对象222相关联的控制逻辑执行机器的协调监视和控制。以这种方式链接两组控制逻辑可以包括例如根据由模型602定义的层次关系将子对象222的数据标签和父对象222的对应数据标签链接。
93.工业对象222还可以包括相关联的hmi对象,可视化系统(例如,hmi应用、2d或3d增强现实或虚拟现实系统等)可以使用这些hmi对象来呈现资产的动画图形表示。这些hmi对象可以包括被设计成呈现关于资产的信息的一个或更多个hmi接口屏幕(例如,呈现关于资产的统计或操作数据的报告屏幕、呈现资产的动画图形表示的屏幕等)、可以被导入工业可
视化应用的表示资产的各个图形对象或者其他这样的对象。
94.自动化对象222还可以包括被设计成分析由资产生成的数据以产生对资产的性能或运行状况的洞察的分析脚本。可以通过自动化对象的分析脚本执行的示例分析可以包括但不限于评估资产的当前运行状况及所预测的未来运行状况(例如,确定资产的预测故障时间)、确定资产何时需要维护或者其他这样的度量。与自动化对象的控制逻辑一样,分析脚本可以被设计成与由工业资产生成的已知数据项(例如,特定于资产的数据标签)接口,使得与这些数据项相关联的数据可以由脚本处理。
95.自动化对象222还可以定义与工业资产相关联的警报信息。该警报信息可以包括对触发警报的条件的定义(例如,当表示资产的操作度量的指定数据项落在正常行为的定义范围之外时、当指定数字标签的状态满足警报条件时等)以及响应于警报触发而呈现的警报消息。该警报信息可以由可视化系统(例如,hmi应用、增强现实或虚拟现实系统等)引用,该可视化系统可以基于由自动化对象222定义的警报定义来呈现关于工业资产的警报消息。
96.自动化对象222的一些实施方式还可以将测试属性定义为ide系统202所支持的全局测试框架的一部分。这些测试属性可以包括被设计成测试和调试自动化对象222以及引用对象222的系统项目302的相关联方面的特定于对象的测试脚本。对象的测试属性还可以包括特定于对象的测试场景定义,其定义可以有利地针对自动化对象222以及引用对象222的相关联项目元素运行的一个或更多个测试场景。测试场景定义可以基于与由自动化对象222表示的工业资产或过程相关的工业专业知识来预先设计。与自动化对象222相关联的测试属性可以缓解编写测试脚本以测试和调试系统项目302的需要。
97.图10是示出ide系统的项目测试组件210使用与自动化对象222绑定的测试脚本1002来测试示例系统项目302的图。自动化对象222可以设置有预先绑定的特定于由自动化对象222表示的工业资产的类型的测试脚本1002和/或对测试场景1004的定义。在如上所述的系统项目302的开发期间或之后,ide系统的项目测试组件210可以根据情况执行与一个或更多个所选择的自动化对象222相关联的测试脚本1002,以验证系统项目302的正确响应,从而验证项目。为此,测试脚本1002可以定义要提供给自动化对象222的模拟的测试输入1012和/或其中使用了对象222的相关联项目代码,以及自动化对象222及其相关联项目代码对所模拟的输入1012的预期响应。
98.根据示例测试程序,项目测试组件210可以针对系统项目302执行与相应的一个或更多个自动化对象222相关联的一个或更多个测试脚本1002。测试脚本1002的执行可以涉及例如根据由测试脚本1002定义的序列将模拟的测试输入1012馈送至系统项目302的控制代码或其他元素、根据所定义的序列设置由系统项目302定义的数字或模拟程序变量的值、根据所定义的序列启动系统项目302的控制例程、测试由系统项目302定义的动画对象或其他可视化元素、验证控制例程之间的数据链接、验证程序元素与制图元素之间的关系、确认设备配置设置或参数值适合于由系统项目302执行的给定工业应用、或者根据由测试脚本1002定义的测试程序以其他方式与系统项目302交互。在测试期间,项目测试组件210可以监视测试结果1006或监视系统项目302对由测试脚本1002定义的测试交互的响应,并且确定这些测试结果1006是否与由测试脚本1002定义的预期结果相匹配。以这种方式,可以在部署之前验证系统项目302的正确操作,而无需开发定制测试脚本来调试系统项目代码。
99.在一些测试场景中,测试脚本1002可以定义测试序列,所述测试序列以整体的方式作为整体应用于系统项目302而不是应用于特定的控制程序或例程。例如,项目测试组件210可以执行测试脚本1002,测试脚本1002跨设计平台例如控制代码、可视化应用、电子制图、面板布局定义、布线调度表、管道图等对链接或关系进行验证,这些链接或关系否则可能不被测试。
100.如果测试结果1006指示系统项目302的一个或更多个方面的不正确操作,则项目测试组件210可以生成并呈现指示对系统项目302的可能修改的一个或更多个设计推荐1008,所述可能修改将校正项目的操作。这些设计推荐1008可以包括例如控制代码修改或替换、数据标签地址的推荐校正、对hmi图形对象引用的推荐校正、对机械制图或电气制图的推荐校正以与控制代码一致(例如,将缺失的输出设备添加至与控制编程所引用的输出设备相对应的电气制图)、对工业设备的配置参数的推荐修改或者其他这样的校正。
101.一些自动化对象222的测试属性可以定义应当对对象222及其对应的控制代码和项目元素运行以确保对对象222和相关代码的全面测试的多个测试场景1004。这些场景1004基于与由自动化对象及其相关项目元素表示的工业资产或过程相关的预先学习的工业专业知识。在一些实现方式中,每个定义的测试场景1004可以具有其自身相关联的测试脚本1002,或者可以定义应用测试脚本1002的特定方式(例如,验证系统项目的控制代码的哪些例程、出于验证目的应当交叉引用哪些其他项目元素等)。在系统项目302的测试期间,项目测试组件210可以根据每个定义的测试场景1004按顺序执行一个或更多个测试脚本1002,以便跨所有平台(控制编程、可视化配置、制图、设备配置等)全面地验证系统项目302的正确操作。
102.在一些实施方式中,项目测试组件210还可以被配置成基于对系统项目302的分析来生成验证清单,并且经由用户接口组件204输出该验证清单。该验证清单可以提供关于应当结合调试正在针对其开发系统项目302的自动化系统来执行的现场测试和检查的指令。这些现场测试和检查可以包括应当对自动化系统硬件以及不能仅经由测试系统项目302来执行的电连接执行的测试。示例验证清单可以包括其连通性应当被验证的i/o点的列表、可视地检查安装在面板上的装备的指令、应当被执行以验证正确的机器操作的手动操作面板交互的序列或者其他这样的信息。
103.返回至图9,自动化对象222还可以将历史配置包括为属性,该历史配置定义由对应工业资产生成的、要在数据历史记录装置中存档的数据。该历史配置可以由数据历史系统或应用引用,所述应用执行系统项目302的一部分以便对数据历史系统进行配置,从而收集和存档通过该配置定义的数据项。与自动化对象222的其他属性一样,历史配置属性可以基于被编码到对象222中的相关工业专业知识来指定由对应工业资产生成的可用数据的子集,已知所述子集与资产的性能或运行状况的评估相关。
104.自动化对象222的一些实施方式还可以定义与相关联的工业资产相关联的安全特征或协议。这些安全特征可以包括但不限于:对被允许执行与工业资产有关的某些动作的用户角色的定义、要应用于由资产生成的数据的加密协议、要对资产实施的网络安全协议或其他这样的安全特征。由自动化对象222的这些实施方式定义的安全信息可以被系统项目302用于(例如,根据用户角色)调节对工业资产的指定功能的访问、配置网络设备以支持指定的网络安全协议或者配置其他安全相关设备。
105.ide系统202的实施方式可以支持开发架构,由此将对存储在自动化对象库502中的自动化对象222作出的改变传播至在系统项目302中使用的该自动化对象222的实例。图11是示出向ide系统202提交自动化对象编辑1102的图。如上所述,自动化对象222被保存(maintain)在自动化对象库502(其可以是存储器220的一部分)中。经由与用户接口组件204和相关联的ide编辑器224的交互,开发者可以将所选择的来自库502的自动化对象222添加至系统项目302作为这些自动化对象222的实例。在图11中描绘的示例中,对象222a是开发者已经选择并添加至系统项目302的自动化对象222的实例。在一些场景中,项目生成组件206还可以基于与正在针对其开发项目302的自动化系统相关的推断(例如,基于被提交给系统202的设计目标或工程制图)来自动选择自动化对象222并将其添加至项目302。
106.ide编辑器224可以允许用户修改所选择的存储在库502中的自动化对象222的属性。为此,用户接口组件204可以生成用户界面并且(例如,经由ide客户端514)将用户界面传送至客户端设备504,客户端设备504使得用户能够浏览可用的自动化对象222以及提交对所选择的对象222的编辑1102。可以针对定义的自动化对象222中的任何一个以这种方式修改以上结合图9描述的任何属性。例如,设计者可能希望修改与具有存储在库502中的定义的自动化对象222的特定工业资产(例如,泵、罐、冲压机等)相关联的控制代码。因此,用户可以提交针对相关联的自动化对象222的更新控制代码的编辑1102。这样的编辑可以用于更新针对相关联的工业资产的操作序列或控制行为。
107.类似地,用户可以提交编辑1102以更新所选择的自动化对象222的可视化属性,例如,以替换或编辑对应资产的图形表示。还可以提交编辑1102以将警报添加至与对象222相关联的警报定义列表或从与对象222相关联的警报定义列表移除警报,或者编辑现有的警报定义。还可以通过提交适当的编辑1102来修改与自动化对象222相关联的安全特征、测试脚本和分析代码。
108.这些编辑1102针对在自动化对象库502中保存的自动化对象定义。在接收到针对所选择的自动化对象222的(经由用户接口组件204提交的)对象编辑1102时,项目生成组件206根据所接收的编辑1102来更新目标自动化对象222以产生经更新的自动化对象222。该经更新的自动化对象222取代库502中的自动化对象222的先前版本。
109.如果在接收到编辑1102之前经过编辑1102的自动化对象222的实例已经被添加至现有的系统项目302,则项目生成组件206还可以更新在项目302内找到的自动化对象222的所有实例。图12是示出根据向存储在库502中的自动化对象222的主版本提交的编辑1102来修改自动化对象的实例222a的图。在已经如上所述修改了库502中的自动化对象222的情况下,项目生成组件206识别在使用对象222的任何系统项目302中使用的自动化对象的所有实例222a并将修改传播至这些实例。这可以包括更新控制代码、可视化、分析代码、安全特征或反映由编辑1102定义的修改的其他属性。以这种方式,自动化对象的所有实例222a自动继承对存储在库502中的自动化对象222的主版本所作的修改。
110.图12描绘了系统项目302被存储在ide系统202自身上(例如,在如图8中所描绘的ide系统202被实现为云服务的情况下,则被存储在基于云的存储装置上)的示例场景。然而,在一些实施方式中,ide系统202还可以将自动化对象编辑传播至已经被部署到本地客户端设备的系统项目以供本地编辑。图13是示出将系统项目302的副本从ide系统202下载到本地客户端设备504的图。在该示例中,客户端设备504执行允许客户端设备504访问ide
系统的项目开发工具和环境的ide客户端514。ide客户端514可以由ide系统202提供给客户端设备504,或者可以是安装在客户端设备504上并且被配置成与ide系统202接口的客户端应用。用户可以与ide客户端514交互,以将系统项目302的版本3021从基于云的ide系统202复制到客户端设备的本地存储装置以供本地查看和开发。在已经复制了本地版本3021之后,将系统项目302的主副本保存在ide系统202上。
111.一旦被复制到客户端设备504,开发者可以使用ide客户端514所支持的项目开发工具来查看和编辑本地版本3021。这些开发工具中的至少一些可以与上面描述的ide系统202所支持的开发工具类似(参见例如图5)。例如,ide客户端514的一些实施方式可以支持设计护栏的使用,以确保对项目的本地版本3021作出的本地编辑——例如,控制程序变更、hmi修改、改变设备配置参数、修改自动化对象等——符合内部或外部设计标准。如先前示例中一样,ide客户端514的各种实施方式可以使得用户能够向项目的本地版本3021提交编辑,作为控制编程(例如,梯形逻辑、dls编程、顺序功能图、结构化文本、功能框图等)、对可视化应用例如hmi的设计更改(例如,图形对象的添加、移除或重新定位)、工业设备配置参数值或其他这样的设计输入中的一个或更多个。
112.在示例场景中,开发者可以选择修改现有的系统项目302以使项目302适合于在自动化系统上部署,所述自动化系统具有偏离典型安装的特性并且需要对系统项目302进行修改。例如,系统项目302可以被设计成对被构建成执行特定工业功能并且被安装在工业企业的多个位置或设施处的一种标准化自动化系统进行编程和配置。该自动化系统的新安装可以以多种方式偏离系统的标准安装,包括但不限于用由替选供应商提供的设备来代替自动化系统中的一个或更多个设备,增加或省略工作站、适应安装位置的物理限制的安装修改、偏离标准要求的特殊控制要求(例如,产品设计的差异,适应用于制造产品的材料或部件的差异的控制修改)或者其他这样的偏离。为了适应这些改变,开发者可以下载系统项目302的本地版本3021并且在本地版本3021上实现必要的修改。
113.图14是示出将自动化对象编辑传播至系统项目302的本地存储副本的图。在该示例场景中,客户端设备504b处的用户已经下载了如上结合图13描述的系统项目302的本地版本3021。包含自动化对象222的主版本的自动化对象库502仍然被存储在与ide系统202相关联的云平台上。这样,任何授权的开发者都可以访问自动化库502,以不仅将所选择的自动化对象222添加至系统项目302,而且作为项目开发的一部分来修改所选择的自动化对象222,或者反映对由对象222表示的对应工业资产的修改。在图14所示的示例中,客户端设备504a处的开发者提交针对所选择的存储在库502中的自动化对象222的一组编辑1102(例如,更新对象的控制代码、可视化表示、测试脚本等)。响应于接收到这些编辑1102,项目生成组件206(图14中未示出)根据编辑1102更新所选择的存储在库502中的自动化对象222的主版本。
114.此外,在已经对所选择的自动化对象222实现编辑的情况下,项目生成组件206还识别已经结合了所选择的自动化对象222的实例的任何系统项目302的所有本地存储版本和远程存储版本。这包括识别被存储在与ide系统202相关联的云存储装置上的任何系统项目302,以及已被下载到本地客户端设备(例如,客户端设备504b)以供本地开发的系统项目302的任何版本3021。在这点上,协作管理组件210可以跟踪已经被下载到本地客户端设备的系统项目302的所有实例,使得可以响应于提交给基于云的ide系统202的修改而按需更
新项目302的这些本地版本。
115.响应于对象编辑1102的提交以及对编辑1102所针对的自动化对象222的主版本的对应修改,项目生成组件206还向其上存储有使用自动化对象222的系统项目302的本地版本3021的所有ide客户端514b分发自动化对象更新1402。更新1402反映开发者使用客户端设备504a所提交的自动化对象编辑1102,并且在由本地ide客户端514b执行时,更新1402根据编辑1102更新自动化对象222的所有实例。以这种方式,对对象库502中的自动化对象222的更新被自动广播至系统项目302中当前使用的对象222的所有实例。
116.在一些实施方式中,可以向客户端设备504b处的本地开发者提供允许将更新1402合并到其系统项目302的本地版本3021中或者拒绝实施更新1402的选项。因此,在更新自动化对象222的本地版本之前,用户接口组件204可以在用户的客户端设备504b上呈现关于对象编辑1102的信息,并且还可以呈现开发者批准在本地实现编辑的提示。关于编辑1102的信息可以包括例如受这些编辑影响的自动化对象222的身份以及将通过编辑实现的针对对象222的每个修改的概要(例如,将修改哪些对象属性以及将如何改变这些属性的指示)。基于对这些编辑的回顾,本地开发者可以选择在其本地版本3021上实现更新1402,或者可替选地,本地开发者可以选择拒绝编辑并阻止在项目302的本地版本3021上实现更新1402。
117.如上所述,项目数据模型602可以定义包括在系统项目302中的多个自动化对象222之间的层次关系(参见例如,图6)。图15是自动化对象222之间的简单的两层关系层次的图形表示。图15中描绘的表示可以由用户接口组件204生成并且在ide系统202的开发界面内呈现。自动化对象222之间的层次关系中的至少一些可以由用户在项目开发期间定义。例如,由用户提交的设计输入512的一部分可以指定要包括在系统项目302中的自动化对象222以及定义对象222之间的功能或层次关系的自动化对象222之间的链接。在图15中描绘的示例中,表示罐(罐100)的第一自动化对象222a已经链接至分别表示罐入口电磁阀和罐出口电磁阀的两个其他自动化对象222b和222c。阀自动化对象222b和222c用作父罐对象222a的子对象,从而反映类似物理资产的功能关系。
118.每个自动化对象222具有表示为对象的图形表示上的标记节点1502的多个相关联的输入和输出。对象222可用的输入和输出取决于由对象222表示的工业资产、设备、过程或实体的类型。用户可以将对象222之间的关系定义为对象222的所选择的输入与输出之间的数据链接。例如,表示对应阀的关闭状态的入口阀对象222b的输出可以被链接至罐自动化对象222a上的输入以供读取入口阀的关闭状态。该链接使入口阀的关闭状态被提供至罐对象222a并由其处理。入口阀对象222b的打开状态输出可以类似地链接至罐对象222a上的适当输入。可以在罐对象222a与出口阀对象222c之间定义类似的数据链接。对象的输入与输出之间的链接可以由表示链接的输入和输出的节点1502之间的连接线1504表示。
119.通过以这种方式选择性地链接自动化对象222的输入与输出,可以为系统项目302中的任意数目的自动化对象222定义层次父子关系,并且这些关系可以被记录在如图6中所示的项目数据模型602中。尽管图15仅描绘了仅包括三个自动化对象222的两层层次,但是表示各种工业资产、设备、过程、生产线、工厂或其他工业实体的任意数目的自动化对象222可以被链接以形成具有多于两个级别的对象层次。这些定义的层次可以反映对应的工业实体与资产之间的功能或层次关系。例如,表示工厂的对象222可以具有多个表示生产线的子对象222,生产线本身可以具有表示构成相应线的机器和工业设备的子对象222。
120.如果在运行时间期间查看系统项目302,使得使用来自运行的自动化系统的实时数据来将项目视图制成动画,则用户接口组件204可以呈现对象222、相关联的链接以及对象222之间的数据流。在图15中描绘的示例中,在每个对象节点1502旁边呈现数值,其中该值表示由该节点1502当前正在生成或消耗的值。
121.以这种方式创建自动化对象222之间的层次关系是ide系统202支持的项目开发的模式,ide系统202用于定义得到的系统项目302的功能方面。例如,如上所述,将两个或更多个各自具有用于监视和控制其对应工业资产的相关联的控制逻辑的自动化对象222链接可以使与相应对象222相关联的控制逻辑被链接,使得由一个自动化对象222的逻辑生成的数据值根据用户定义的链接而被另一链接的自动化对象222的逻辑消耗。得到的聚合控制逻辑可以用于监视和控制由链接的自动化对象表示的聚合系统(例如,图15中描绘的罐和阀的系统)。
122.自动化对象222之间的父子关系还可以确定那些对象222之间的对象配置的继承。例如,如上所述,一些自动化对象222可以包括为相关联的工业资产定义数据记录特征的历史配置属性。这些数据记录属性中的至少一些可以由用户在系统项目302的设计期间设置;例如,通过提交自动化对象222的数据记录配置参数作为设计输入512的一部分(参见图5)。数据记录配置参数——以及自动化对象222的其他属性——可以通过调用允许用户查看和编辑对象的可修改属性的对象编辑窗口来设置。该窗口可以通过选择与每个对象表示相关联的对象属性按钮1506来调用。在其他场景中,与给定自动化对象222相关联的数据记录属性可以基于由对象222表示的工业资产的公共数据收集要求的预编码知识来预定义为对象默认配置的一部分。
123.在运行时间期间,与自动化对象222相关联的数据记录配置参数可以被执行系统项目302的一部分的应用或数据历史系统引用。在一些实施方式中,项目部署组件208可以将与每个自动化对象实例相关联的数据记录配置或历史转换成合适的数据历史配置文件,然后可以将该配置文件发送至适当的数据收集系统,以便于根据基于对象的历史配置参数配置这些系统。对象的数据记录配置指示数据历史系统关于要收集和存档与对象的对应工业资产相关联的哪些数据项,并且还可以指定其他数据记录属性,包括但不限于要收集数据项的频率、要存储记录数据的位置、记录数据的组织或模式等。对象的历史配置还可以指定要收集指定数据项的条件;例如,基于周期性时间序列或响应于定义的触发条件。以这种方式,原生地嵌入在自动化对象222内的数据历史属性可以促进使用数据历史的配置来收集和存档由受控工业系统生成的数据。
124.如果如以上所讨论的具有数据历史属性的自动化对象222作为对象层次的一部分被链接至其他自动化对象,则与对象222相关联的数据记录属性可以沿层次向上或向下传播至其他链接的自动化对象222。跨对象层次传播数据记录配置信息的方式可以取决于对象222之间定义的父子关系。例如,在图15中描绘的示例中,其中罐对象222a用作具有表示罐的入口阀和出口阀的两个子对象222b和222a的父对象,与罐对象222a相关联的数据历史配置不仅可以定义罐本身的数据记录属性,而且还可以控制如何以及何时针对由子对象222b和222c表示的两个阀记录数据。
125.通常,表示特定资产(例如,罐、冲压机等)的父自动化对象222可以用哪些子资产(例如,阀、马达驱动器等)通常与父资产相关联的特定于资产的知识以及从这些子资产中
可获得的数据的知识进行预编码。基于该知识以及针对父对象222定义的(用户定义的或预定义的)数据记录属性,父对象222可以识别应收集和存档由子资产生成的数据的条件以及应收集子资产的数据的频率、应存档数据的位置或其他这样的数据记录特征。基于该信息,父对象222可以相应地配置子对象的数据记录属性,从而产生针对被监视和控制的自动化系统的聚合数据记录配置。
126.在一些实施方式中,所选择的自动化对象222的用户定义的数据历史属性可以作为自动化对象编辑1102(参见图11)提交给在自动化对象库502中保存的自动化对象222的主版本。在一些场景中,系统202可以将历史配置编辑传播至如上面结合图12所描述的经修改的自动化对象222的其他实例。可替选地,用户可以指定编辑仅应用于自动化对象222的随后创建的实例,使得自动化对象的现有实例维持其现有配置,而在提交编辑之后创建的实例将反映新的数据记录配置。
127.ide系统202的一些实施方式可以允许用户将多个自动化对象222的层次封装到单个封装对象中,该单个封装对象可以在整个系统项目302中移动或复制。图16是三个封装的自动化对象1602a至1602c的示例图形表示。封装对象1602a是罐100的图15中描绘的对象层次的封装版本,而封装对象1602b和1602c表示两个其他罐(罐200和罐500)的对象层次。封装对象1602用作具有任意数目的层次级别的对象层次的可重复使用单元表示。每个封装对象1602可以具有允许封装对象链接至其他自动化对象222或封装对象1602的相关联的输入和输出(图16中未示出)。与给定封装对象1602相关联的输入和输出可以取决于由封装对象1602表示的层次内的各个自动化对象222以及这些对象222之间定义的关系。
128.一旦被创建,封装对象1602就可以根据需要在整个系统项目302或项目之间移动或复制。当封装对象1602被复制时,由封装对象1602表示的整个自动化对象层次在封装对象1602的新实例的位置处被复制。封装对象1602的新实例包括以下实例:包括在原始封装对象1602中的所有自动化对象222、与那些对象222相关联的对象属性以及在原始封装对象1602中定义的对象222之间的数据链接。如果在被监视和控制的自动化系统的运行时间期间正在查看系统项目302,则用户可以选择并展开封装对象1602以查看由封装对象1602表示的链接自动化对象222的层次、以及那些对象222之间的数据流。在图15和图16中描绘的示例中,将图16中描绘的封装对象1602a展开使系统202显示图15中所示的自动化对象层次以及链接对象222之间的实时数据流。层次表示然后可以根据需要选择性地折叠回封装表示。
129.通过允许链接自动化对象222的多级集合被封装到如上所述的可重复使用封装对象1602中,系统202允许根据需要跨系统项目302或在项目302之间缩放所选择的对象层次。这种封装方法不限于对象层次的封装。更确切地,在一些实施方式中,封装对象1602可以表示自动化对象、控制代码例程(例如,代码模块508或定制例程)或ide系统202支持的其他程序元素的任何组合。
130.如上面结合图7和图8所示的,系统项目302可以包括作为项目定义的一部分的设备配置信息,该设备配置信息可以由项目部署组件208转换成设备配置文件708,然后可以将设备配置文件708部署至其对应的工业设备以促进根据系统项目定义配置那些设备。ide系统202的一些实施方式可以允许将该设备配置信息定义为与要配置的工业设备相对应的自动化对象222的属性。可以将给定自动化对象222的设备配置信息作为针对该对象222的
自动化对象编辑1102(参见图11)的一部分提交给系统202。在示例场景中,自动化对象222的设备参数可以通过调用可以经由对象222上的编辑按钮1506访问的对象编辑窗口来进行编辑。在该编辑窗口上呈现并且可用于编辑的特定设备参数取决于由自动化对象表示的工业设备的类型。一旦用户已经根据需要设置了设备配置参数,则编辑后的设备配置就变成自动化对象222的嵌入属性,该嵌入属性保持绑定至对象222。当由项目部署组件208部署系统项目302时(参见图7和8),嵌入在项目302中包括的自动化对象222中的任何设备配置信息被转换成由对象222表示的工业设备的对应设备配置文件708,并且得到的设备配置文件708被部署至设备。
131.可以以这种方式配置的工业设备可以包括但不限于马达驱动器、工业控制器、遥测设备、工业机器人、hmi终端或其他类型的可视化设备、安全继电器、数据历史记录装置、网络基础设施设备(例如、路由器、集线器、交换机等)或其他工业设备。基本上任何类型的设备配置参数可以与自动化对象222相关联以供部署至相关联的工业设备,包括但不限于网络或通信设置(例如,网络地址)、操作模式设置、操作上限或下限、操作参数(例如,变频驱动器或另一类型的工业设备的参数)、比例因子、安全性设置、电力设置、安全设置或其他这样的设备配置设置。
132.图17至图19示出了根据本技术的一个或更多个实施方式的各种方法学。尽管出于简化说明的目的,本文中示出的方法学被示出和描述为一系列动作,但是应当理解和意识到,本发明不受动作的顺序的限制,因为根据本发明,一些动作可以以与本文示出和描述的顺序不同的顺序发生和/或与其他动作同时发生。例如,本领域技术人员将理解并意识到,方法学可以替选地表示为诸如状态图中的一系列相互关联的状态或事件。此外,并非所有示出的动作都是实现根据本发明的方法学所必须的。此外,当不同的实体制定方法的不同部分时,交互图可以表示根据本公开内容的方法学或方法。此外,所公开的示例方法中的两个或更多个可以彼此结合地实现以实现本文中描述的一个或更多个特征或优点。
133.图17示出了用于使用工业ide系统在工业系统项目内创建和封装自动化对象的层次的示例方法1700。首先,在1702处,经由与工业ide系统的交互接收设计输入。设计输入可以以以下中的一个或更多个的形式提交:工业控制器程序(例如,梯形逻辑、顺序功能图、脚本控制代码例如工业dsl等)、hmi屏幕开发输入、工业设备或装备选择、工程制图输入等。在一些实施方式中,设计输入还可以包括完整的工程制图(例如,p&id制图、电气制图、机械制图等),可以由工业ide对所述完整的工程制图进行解析和分析以识别正被设计的工业自动化系统中的组件(例如,工业设备、机器、装备、导管、管道等)以及这些组件之间的功能及物理关系。
134.设计输入还包括从自动化对象的库中选择自动化对象以供包括在系统项目中。自动化对象是工业自动化系统项目的构建块并且表示各种类型的真实世界工业资产或过程,所述真实世界工业资产或过程包括但不限于泵、罐、阀、马达、马达驱动器(例如,变频驱动器)、工业机器人、致动器(例如,气动或液压致动器)或其他这样的资产。自动化对象根据其所表示的资产或过程而与各种属性或特性(例如,控制代码、可视化对象或接口、测试脚本、安全特征或协议等)相关联。
135.在1704处,接收定义在步骤1702处添加至项目的所选择的自动化对象之间的层次关系的其它设计输入,从而产生自动化对象的层次。在一些实施方式中,层次关系可以经由
与在ide系统的开发工作空间中呈现的自动化对象的图形表示的交互来定义。例如,与自动化对象相关联的输入和输出可以选择性地彼此链接以指定来自第一自动化对象的所选择的输出数据将由第二自动化对象的所选择的数据输入消耗。这些链接可以定义所选择的自动化对象之间的父子关系,从而产生反映由对象表示的物理工业资产之间的物理和/或功能关系的对象层次。层次关系可以链接自动化对象的功能或属性;例如,通过合并与链接对象相关联的控制代码以产生能够监视和控制包括表示的工业资产的自动化系统的控制程序。
136.在1706处,做出关于是否接收到封装在步骤1704处定义的自动化对象的层次的指令的确定。如果接收到这样的指令(在步骤1706处为“是”),则该方法进行到步骤1708,在步骤1708中,创建表示自动化对象的层次的单个封装对象。封装对象包括可以链接至其他自动化对象或封装对象的数据输入和输出。封装对象的输入和输出取决于由封装对象表示的各个自动化对象以及它们之间定义的关系。该封装对象跨系统项目可扩展,使得封装对象可以跨项目或跨多个项目移动或复制。当封装对象被复制时,封装对象的新实例包括针对原始封装对象定义的自动化对象层次的功能、以及构成层次的自动化对象的任何用户定义的属性。
137.图18a示出了示例方法1800a的第一部分,示例方法1800a用于在自动化系统项目内配置要由系统项目监视和控制的自动化系统的数据记录属性。首先,在1802处,经由与工业ide系统的交互来接收设计输入(类似于方法1700的步骤1702)。在1804处,接收定义在步骤1802处添加至项目的所选择的自动化对象之间的层次关系的其他设计输入,从而产生自动化对象的层次(类似于方法1700的步骤1704)。
138.在1806处,接收其它设计输入,其将工业资产的数据记录配置设置设置为自动化对象中的表示工业资产的第一自动化对象的属性。这些数据记录配置设置可以包括但不限于要收集和存档与对象的对应工业资产相关联的数据项的身份、要收集数据项的频率、记录的数据的存储位置、记录的数据的组织或模式等。在1808处,在步骤1806处接收的数据记录配置设置与第一自动化对象相关联,使得数据记录配置变成对象的嵌入属性。
139.在1810处,基于在步骤1804处定义的对象层次,做出关于第一自动化对象是否与层次中的第二自动化对象具有父子关系的确定。如果定义了这样的关系(在步骤1810处为“是”),则方法进行到步骤1812,在步骤1812中,基于定义的第一自动化对象与第二自动化对象之间的关系以及第一自动化对象的数据记录配置来设置第二自动化对象的数据记录配置。在示例场景中,基于对象关系和第一对象的数据记录配置,第一对象可以识别应收集和存档由第二对象的对应资产生成的数据的条件、以及应收集该数据的频率、应存档数据的位置、或其他这样的数据记录特征。基于该信息,第一对象可以相应地配置第二对象的数据记录属性,从而为被监视和控制的自动化系统产生聚合数据记录配置。
140.然后该方法进行到图18b中所示的第二部分1800b。在1814处,做出关于是否接收到部署系统项目的指令的确定。如果接收到这样的指令(在步骤1814处为“是”),则该方法进行到步骤1816,在步骤1816中,系统项目被编译成可以在自动化系统的工业设备上部署和执行的一个或更多个可执行文件。可执行文件包括根据在第一自动化对象和第二自动化对象中定义的数据记录配置来配置一个或更多个数据历史的历史配置文件。
141.图19示出了用于使用自动化对象在自动化系统项目内定义工业设备配置的示例
方法1900。首先,在1902处,经由与工业ide系统的交互接收工业自动化系统项目的设计输入(类似于方法1700的步骤1702)。在1904处,接收定义所选择的自动化对象之间的层次关系的其他设计输入以产生自动化对象的层次(类似于方法1700的步骤1704)。
142.在1906处,接收其它设计输入,其将工业设备的设备配置参数设置为表示工业设备的自动化对象的属性。可以以这种方式设置的示例设备配置参数可以包括但不限于网络或通信设置(例如,网络地址)、操作模式设置、操作上限或下限、操作参数(例如,变频驱动器或另一类型的工业设备的参数)、比例因子、安全设置、电力设置或其他这样的设备配置设置。在一些实施方式中,可以通过与自动化对象的图形表示交互以调用允许用户输入配置参数的值的设备配置窗口来设置设备配置参数。在该配置窗口上呈现并且可用于编辑的设备参数取决于由自动化对象表示的工业设备的类型。在1908处,在步骤1906处接收的设备配置参数与自动化对象相关联,使得参数变成对象的嵌入属性。
143.在1910处,做出关于是否接收到部署系统项目的指令的确定。如果接收到这样的指令(在步骤1910处为“是”),则该方法进行到步骤1912,在步骤1912中,系统项目被编译成可以在自动化系统的工业设备上部署和执行的一个或更多个可执行文件。可执行文件包括根据在自动化对象中定义的设备配置参数来配置与自动化对象相对应的工业设备的设备配置文件。
144.本文中描述的实施方式、系统和部件以及可以执行本说明书中阐述的各个方面的控制系统和自动化环境可以包括能够跨网络进行交互的计算机或网络组件,例如服务器、客户端、可编程逻辑控制器(plc)、自动化控制器、通信模块、移动计算机、用于移动车辆的车载计算机、无线部件、控制部件等。计算机和服务器包括一个或更多个处理器——采用电信号执行逻辑运算的电子集成电路,所述一个或更多个处理器被配置成执行存储在诸如随机存取存储器(ram)、只读存储器(rom)、硬盘驱动器以及可移动存储器设备的介质中的指令,所述可移动存储器设备可以包括存储棒、存储卡、闪存驱动器、外部硬盘驱动器等。
145.类似地,本文中使用的术语plc或自动化控制器可以包括可以跨多个部件、系统和/或网络共享的功能。作为示例,一个或更多个plc或自动化控制器可以跨网络与各种网络设备通信并协作。这可以包括经由网络进行通信的基本上任何类型的控制器、通信模块、计算机、输入/输出(i/o)设备、传感器、致动器和人机接口(hmi),所述网络包括控制网络、自动化网络和/或公共网络。plc或自动化控制器还可以与各种其他设备通信并对其进行控制,所述各种其他设备例如是包括模拟模块、数字模块、编程/智能i/o模块的标准或安全额定i/o模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
146.网络可以包括诸如因特网的公共网络、内联网和诸如控制和信息协议(cip)网络的自动化网络,所述控制和信息协议(cip)网络包括devicenet、controlnet、安全网络和以太网/ip。其他网络包括以太网、dh/dh 、远程i/o、现场总线、modbus、profibus、can、无线网络、串行协议等。另外,网络设备可以包括各种可能性(硬件和/或软件组件)。这些包括诸如具有虚拟局域网(vlan)能力的交换机、lan、wan、代理、网关、路由器、防火墙、虚拟专用网(vpn)设备、服务器、客户端、计算机、配置工具、监视工具和/或其他设备的部件。
147.为了提供所公开的主题的各个方面的上下文,图20和图21以及以下讨论旨在提供对其中可以实现所公开的主题的各个方面的合适环境的简要、概括描述。尽管以上已经在可以在一个或更多个计算机上运行的计算机可执行指令的总体背景下描述了各个实施方
式,但是本领域的技术人员将认识到,各个实施方式也可以结合其他程序模块来实现和/或被实现为硬件与软件的结合。
148.通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域的技术人员将理解,本发明的方法可以用其他计算机系统配置来实践,所述其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(iot)设备、分布式计算系统、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其中每一个都可以可操作地耦接至一个或更多个相关联的设备。
149.本文中所示出的实施方式也可以在分布式计算环境中实践,在分布式计算环境中某些任务由通过通信网络进行链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备二者中。
150.计算设备通常包括各种介质,其可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地使用。计算机可读存储介质或机器可读存储介质可以是可以由计算机访问的任何可用存储介质并且包括易失性介质和非易失性介质、可移动介质和不可移动介质。作为示例而非限制,计算机可读存储介质或机器可读存储介质可以结合用于存储诸如计算机可读或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现。
151.计算机可读存储介质可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存或其他存储器技术、光盘只读存储器(cd-rom)、数字多功能盘(dvd)、蓝光盘(bd)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、固态驱动器或其他固态存储设备、或者可以用于存储期望信息的其他有形和/或非暂态介质。在这点上,在本文中应将如应用于存储装置、存储器或计算机可读介质的术语“有形”或“非暂态”理解为作为修饰语仅排除传播暂态信号本身并且不放弃对不是仅传播暂态信号本身的所有标准存储装置、存储器或计算机可读介质的权利。
152.计算机可读存储介质可以由一个或更多个本地计算设备或远程计算设备例如经由访问请求、查询或其他数据检索协议来访问,以针对由介质存储的信息进行各种操作。
153.通信介质通常以数据信号例如经调制数据信号例如载波或其他传输机制来体现计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,并且包括任何信息传递或传输介质。术语“调制数据信号”或信号指以在一个或更多个信号中对信息进行编码的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非限制,通信介质包括有线介质例如有线网络或直接连线连接和无线介质例如声学、rf、红外和其他无线介质。
154.再次参照图20,用于实现本文中描述的各个方面的各个实施方式的示例环境2000包括计算机2002,计算机2002包括处理单元2004、系统存储器2006和系统总线2008。系统总线2008将包括但不限于系统存储器2006的系统部件耦接至处理单元2004。处理单元2004可以是各种可商购的处理器中的任何一种。也可以采用双微处理器和其他多处理器架构作为处理单元2004。
155.系统总线2008可以是若干类型的总线结构中的任一种,所述总线结构还可以使用各种可商购的总线架构中的任一种来互连至存储器总线(带有存储器控制器或不带有存储器控制器)、外围总线和局部总线。系统存储器2006包括rom 2010和ram 2012。基本输入/输
出系统(bios)可以被存储在诸如rom、可擦除可编程只读存储器(eprom)、eeprom的非易失性存储器中,其中该bios包含有助于例如在启动期间在计算机2002内的元素之间传输信息的基本例程。ram 2012还可以包括诸如用于缓存数据的静态ram的高速ram。
156.计算机2002还包括内部硬盘驱动器(hdd)2014(例如,eide、sata)、一个或更多个外部存储设备2016(例如,磁软盘驱动器(fdd)2016、存储棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器2020(例如,其可以从cd-rom盘、dvd、bd等读取或向其写入)。虽然内部hdd 2014被示为位于计算机2002内,但是内部hdd 2014还可以被配置成在合适的机箱(未示出)中外部使用。另外,虽然在环境2000中未示出,但是除了hdd 2014以外还可以使用固态驱动器(ssd),或者用固态驱动器(ssd)代替hdd 2014。hdd 2014、外部存储设备2016和光盘驱动器2020可以分别通过hdd接口2024、外部存储接口2026和光学驱动器接口2028连接至系统总线2008。用于外部驱动器实现方式的接口2024可以包括通用串行总线(usb)和电气与电子工程师协会(ieee)1394接口技术中的至少一个或二者。其他外部驱动器连接技术在本文描述的实施方式的考虑内。
157.驱动器及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机2002,驱动器和存储介质以合适的数字格式适应任何数据的存储。尽管以上对计算机可读存储介质的描述涉及相应类型的存储设备,但本领域的技术人员应当理解,也可以在示例操作环境中使用计算机可读的其他类型的存储介质,无论所述存储介质是当前存在的还是将来开发的,并且此外,任何这样的存储介质可以包含用于执行本文中所描述的方法的计算机可执行指令。
158.多个程序模块可以被存储在驱动器和ram 2012中,所述多个程序模块包括操作系统2030、一个或更多个应用程序2032、其他程序模块2034以及程序数据2036。操作系统、应用、模块和/或数据中的全部或部分也可以被缓存在ram 2012中。本文中描述的系统和方法可以利用各种可商购的操作系统或操作系统的组合来实现。
159.计算机2002可以可选地包括仿真技术。例如,管理程序(未示出)或其他中介可以仿真用于操作系统2030的硬件环境,并且仿真的硬件可以可选地不同于图20中所示的硬件。在这样的实施方式中,操作系统2030可以包括在计算机2002处托管的多个虚拟机(vm)中的一个vm。此外,操作系统2030可以为应用程序2032提供运行时环境,例如java运行时环境或.net框架。运行时环境是使得应用程序2032能够在包括该运行时环境的任何操作系统上运行的一致执行环境。类似地,操作系统2030可以支持容器,并且应用程序2032可以是容器的形式,所述容器是包括例如代码、运行时间、系统工具、系统库和应用的设置的轻量级、独立的、可执行的软件包。
160.此外,计算机2002可以用安全模块例如可信处理模块(tpm)来启用。例如,使用tpm,启动部件对时间上的下一启动部件进行哈希处理,并且在加载下一启动部件之前等待结果与安全值的匹配。该过程可以发生在例如在应用执行级或操作系统(os)内核级应用的计算机2002的代码执行栈中的任何层,从而使得能够在任何代码执行级实现安全性。
161.用户可以通过一个或更多个有线/无线输入设备例如键盘2038、触摸屏2040和诸如鼠标2042的定点设备将命令和信息输入至计算机2002。其他输入设备(未示出)可以包括麦克风、红外(ir)遥控器、射频(rf)遥控器、或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实头戴式耳机、游戏垫、触摸笔、图像输入设备(例如,摄像机)、姿势传感器输入设
备、视觉移动传感器输入设备、情绪或面部检测设备、生物测定输入设备(例如,指纹或虹膜扫描仪)等。这些输入设备和其他输入设备通常通过可以耦接至系统总线2008的输入设备接口2044连接至处理单元2004,但也可以通过其他接口例如并行端口、ieee 1394串行端口、游戏端口、usb端口、ir接口、接口等进行连接。
162.监视器2044或其他类型的显示设备也可以经由诸如视频适配器2046的接口连接至系统总线2008。除了监视器2044以外,计算机通常包括其他外围输出设备(未示出),例如扬声器、打印机等。
163.计算机2002可以使用经由至诸如远程计算机2048的一个或更多个远程计算机的有线和/或无线通信的逻辑连接在联网环境中进行操作。远程计算机2048可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐装置、对等设备或其他通用网络节点,并且通常包括相对于计算机2002所描述的许多或所有元件,尽管为了简明起见仅示出了存储器/存储设备2050。所描绘的逻辑连接包括至局域网(lan)2052和/或更大的网络例如广域网(wan)2054的有线/无线连接。这样的lan和wan联网环境在办公室和公司中是常见的,并且促进了诸如内联网的企业范围的计算机网络,所有这些都可以连接至全球通信网络例如因特网。
164.当在lan联网环境中使用时,计算机2002可以通过有线和/或无线通信网络接口或适配器2056连接至局域网2052。适配器2056可以促进至lan 2052的有线或无线通信,lan 2052还可以包括布置在其上的无线接入点(ap),以用于在无线模式下与适配器2056进行通信。
165.当在wan联网环境中使用时,计算机2002可以包括调制解调器2058,或者可以经由用于通过wan 2054建立通信的其他手段例如通过因特网来连接至wan 2054上的通信服务器。可以是内部或外部的有线设备或无线设备的调制解调器2058可以经由输入设备接口2042连接至系统总线2008。在联网环境中,相对于计算机2002或其部分描述的程序模块可以被存储在远程存储器/存储设备2050中。将理解,所示的网络连接是示例并且可以使用在计算机之间建立通信链路的其他手段。
166.当在lan或wan联网环境中使用时,除了如上所述的外部存储设备2016之外或者代替如上所述的外部存储设备2016,计算机2002还可以访问云存储系统或其他基于网络的存储系统。通常,可以例如分别通过适配器2056或调制解调器2058经由lan 2052或wan 2054来建立计算机2002和云存储系统之间的连接。在将计算机2002连接至相关联的云存储系统时,外部存储接口2026可以在适配器2056和/或调制解调器2058的帮助下,如管理其他类型的外部存储一样管理由云存储系统提供的存储。例如,外部存储接口2026可以被配置成提供对云存储源的访问,就好像这些源被物理地连接至计算机2002一样。
167.计算机2002能够进行操作以与可操作地布置在无线通信中的任何无线设备或实体进行通信,所述无线设备或实体例如打印机、扫描仪、台式计算机和/或便携式计算机、便携式数据助理、通信卫星、与以无线方式可检测的标签相关联的任何装备或位置(例如,亭、报摊、商店货架等)以及电话。这可以包括无线保真(wi-fi)和无线技术。因此,通信可以是如常规网络的预定义结构或者仅仅是至少两个设备之间的自组织通信。
168.图21是所公开的主题可以与之交互的样本计算环境2100的示意性框图。样本计算
环境2100包括一个或更多个客户端2102。客户端2102可以是硬件和/或软件(例如,线程、进程、计算设备)。样本计算环境2100还包括一个或更多个服务器2104。服务器2104也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器2104可以容纳线程以通过采用例如本文中所述的一个或更多个实施方式来执行变换。客户端2102与服务器2104之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据包的形式。样本计算环境2100包括可以用于促进客户端2102与服务器2104之间的通信的通信框架2106。客户端2102可操作地连接至可用于存储客户端2102的本地信息的一个或更多个客户端数据存储器2108。类似地,服务器2104可操作地连接至可用于存储服务器2104的本地信息的一个或更多个服务器数据存储器2110。
169.以上所描述的内容包括本发明的示例。当然,不可能为了描述所公开的主题而描述部件或方法学的每个可设想到的组合,但是本领域普通技术人员可以认识到,本发明的许多另外的组合和置换是可能的。因此,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的改变、修改和变型。
170.尤其是关于由上面描述的部件、设备、电路、系统等执行的各种功能,除非另外指出,否则用于描述这样的部件的术语(包括对“手段”的引用)旨在对应于执行所描述的部件的指定功能的任何部件(例如,功能上等效的任何部件),即使在结构上不等效于所公开的结构,该部件执行本文示出的所公开主题的示例性方面中的功能。在这点上,还将认识到,所公开的主题包括系统以及具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质。
171.另外,虽然可能仅针对若干实现方式中的一个实现方式公开了所公开的主题的特定特征,但是这样的特征可以与其他实现方式的一个或更多个其他特征组合,这对于任何给定应用或特定应用来说可能是期望的且有利的。此外,就在说明书或权利要求书中使用术语“包括(includes)”和“包括(including)”及其变型来说,这些术语旨在以类似于术语“包括(comprising)”的方式是包括性的。
172.在本技术中,词语“示例性”用于表示用作示例、实例或说明。本文描述为“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利。更确切地,词语“示例性”的使用旨在以具体方式展现构思。
173.可以使用标准编程和/或工程技术将本文中描述的各个方面或特征实现为方法、装置或制造物品。如本文所使用的术语“制造物品”旨在涵盖可从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条
……
)、光盘(例如,压缩盘(cd)、数字多功能盘(dvd)
……
)、智能卡和闪存设备(例如,卡、棒、钥匙驱动器
……
)。
再多了解一些

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

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

相关文献