首页> 中国专利> 工业自动化环境中以多种配置进行的应用的多种部署

工业自动化环境中以多种配置进行的应用的多种部署

摘要

提供了一种系统和方法以实施工业自动化环境中的应用的设计装置。设计装置被配置成保持与应用项目有关的多个配置设置。在部署时,当构建用于安装到目标设备的应用时,可以选择和使用特定的配置。可以使用相同的应用项目来通过选择不同的配置将应用部署到多个系统。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-01

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G05B19/418 变更前: 变更后: 申请日:20120629

    专利权人的姓名或者名称、地址的变更

  • 2016-04-13

    授权

    授权

  • 2013-05-29

    实质审查的生效 IPC(主分类):G05B19/418 申请日:20120629

    实质审查的生效

  • 2013-04-24

    公开

    公开

说明书

技术领域

本主题公开内容涉及一种设计装置,该设计装置可以保持与应用项目 相关联的分立的多组应用配置设置,并且根据多个配置,基于应用项目将 应用部署到工业自动化环境中的多个目标。

背景技术

在诸如工厂、加工厂、材料处理工厂或存在自动化的任何其他合适场 地的自动化环境中,使用了各种设备。该各种设备可以包括例如各种制造 机器,如批处理机、材料处理机、加工机、焊接机、包装机、修整机、输 送机等。可以通过耦合至多个传感器、I/O模块、驱动器等的多个控制器 来监测和控制自动化环境中的设备。

此外,与工业机器和/或控制器相关联的有人机接口(HMI)设备。 HMI设备可以包括物理型接口,该物理型接口包括多个物理按键、开关、 旋钮显示装置、指示器等。然而,传统的HMI正逐渐被例如显示在显示 屏上的图形用户接口(GUI)所取代。在一些情况下,显示屏可以是能够 处理用户输入同时显示输出的触摸屏。例如,机器可以包括嵌入到机器中 的终端(如触摸屏),所述终端能够执行被配置成生成HMI GUI、接收用 户输入、处理用户输入等的应用。在另一个示例中,终端可以是独立的设 备,例如与机器远离或分开的通用计算设备(例如个人计算机)。然而, 这样的独立机器可以执行类似的应用和/或提供作为嵌入的相应部件的机 器功能的类似控制。此外,终端可以具有便携性,例如可以根据需要被携 带并连接到多个机器的移动操作者接口设备,如平板电脑。应理解,当在 下文中使用术语“终端”时,术语“终端”包括所描述的设备和配置的所 有实例,因此包括个人计算设备、HMI、位于机器处的终端、位于机器处 的HMI、测试系统、独立终端、独立HMI等。

为了提供丰富的HMI应用,终端可以与如下控制器通信:该控制器 管理与应用相关联的机器。通过与控制器通信,HMI应用可以取得显示 在GUI上的控制器变量(如,机器状况、机器输入、机器输出等),并且 可以将通过GUI接收的命令转发到控制器。该命令可以进行操作以改变 控制器变量、执行处理、更改运行时间进程、用操作者提供的动作覆盖 (override)自动的动作。

为了使得能够实现这样的通信,应用可以在设计时配置有连接信息, 该连接信息用于在应用部署到终端上时将控制器定位并与控制器相连。配 置信息(例如像连接信息,但还可以包括安全信息)通常与应用以及尤其 是用于构建应用并将应用部署到终端的应用项目固定地相关联。由于这种 紧密耦合,HMI应用在创建时就与特定机器耦合。

例如,机器构建方(例如,原始设备制造商(OEM))可以创建具有 一种配置的HMI应用,并将(具有应用的)机器交付给客户,在客户处, 根据客户的系统修改该配置。当例如出现问题并且机器或应用需要进行维 护或更新时,会发生该过程的数次重复。该应用在返回到制造商时被重新 配置成原始设置,用于继续开发和测试。当更新的应用返回给客户时,应 用被再次重新配置。这样频繁的重新配置会导致错误或失误。

在另一个示例中,相同的应用可以部署到放置在工厂(例如,冗余的 生产线)中的类似的机器。常规地,应用被复制,并且针对特定的机器配 置相应的复制品。处理多个项目复制品和配置会导致误处理和其他配置错 误。类似地,期望保持测试系统、试制生产系统和/或主生产系统的用户 还保持复制的应用项目和配置。这样的部署可以是各种手段。一方面,应 用可以直接下载到机器、HMI、控制器等中的任何一个。另一方面,通过 用户从一个机器、HMI、控制器等移动到另一个机器、HMI、控制器等, 以及经由诸如FTP文件传输的手段或经由可拆卸存储卡(例如USB存储 棒、SD存储卡等)单独地下载/安装应用,可以创建电子文件,该电子文 件包含目标设备(例如,多个机器)的配置应用和配置设置。

通常,用于在工业自动化环境中管理HMI应用、控制器应用和/或其 他软件应用的多种配置的机构涉及用于根据不同的配置部署应用时创建 多个副本以及更改副本的设置的手动处理。另一种途径是采用使得配置能 够被导出、更改以及重新导入的自动化工具。在又一个传统途径中,可以 利用应用程序接口(API)以反复改变配置。然而,在上述技术中,终端 用户客户会背负管理应用项目的耗时且易出错的任务。

此外,在另一个途径中,设计者会需要将应用的第一版本加载到测试 /试制系统中而将应用的第二版本加载到包括正由测试/试制系统模拟/模 仿的生产系统的一个或更多个机器中。

在另一种途经中,机器的制造商/提供商(例如,OEM)可以将相同 的机器版本提供给多个终端用户/制造商。OEM会期望保持包括用于他们 的每个客户的配置设置的单个项目。因此,发展出如下需求:必须根据他 们的各个客户需求开发和管理多个应用。因此,单个应用可以具有多个修 订级别,例如客户A接收GUI可视化的修订版1,而客户B接收GUI可 视化的修订版2。因此,每次部署应用,要部署合适的内容,例如特定于 具体客户的内容。

传统HMI应用设置管理方案的上述缺点仅意在提供传统系统和技术 的一些问题的概述,并不意图为穷举的。当查看下面的描述时,传统系统 和技术的其他问题以及文中描述的各种非限制性实施例的相应益处将会 变得更加明显。

发明内容

此处提供了简化的发明内容,以帮助能够基本或大致理解下面的更详 细的描述和附图中的示例性的非限制性实施例的各个方面。然而,本发明 内容部分不意在作为详尽或穷举性概述。反而,本发明内容部分的唯一目 的在于以简化的形式呈现与一些示例性的非限制性实施例有关的一些构 思,以作为下面的各种实施例的更详细描述的前序。

在各个非限制性实施例中,描述了一种被配置成有利于开发工业自动 化环境中的应用的设计装置。设计装置被配置成保持与应用项目关联的多 个配置设置。在部署时,当构建用于安装到目标设备的应用时,可以选择 和使用特定的配置。可以使用相同的应用项目以通过选择不同的配置将应 用部署到多个不相干的系统。

下面,更详细地描述这些和其他实施例。

附图说明

参照附图进一步描述各种非限制性实施例,在附图中:

图1是示出了用于基于对应于目标的配置将应用从应用项目部署到 目标的示例性的非限制性实施例的流程图;

图2是示出了被配置成使用本主题公开内容的一个或更多个方面的 示例性的非限制性工业自动化环境的框图;

图3是示出了实施在计算系统上的、被配置成有利于以各个配置将应 用部署到多个目标的示例性的非限制性设计装置的框图;

图4示出了用于开发应用的示例性的非限制性实施例的流程图;

图5示出了根据用户输入来修改(开发)应用项目的示例性的非限制 性动作的框图;

图6是示出了用于创建与部署目标相关联的配置的示例性的非限制 性实施例的流程图;

图7是示出了用于基于部署目标的分析来生成配置的示例性的非限 制性实施例的流程图;

图8是示出了被配置成管理和生成用于将应用项目部署到目标的配 置的示例性的非限制性设计装置的框图;

图9示出了用于根据配置将应用部署到目标的示例性的非限制性实 施例的流程图;

图10示出了被配置成将配置后的应用下载到目标的示例性的非限制 性设计装置的框图;

图11是根据本主题公开内容的一个或更多个方面的示例性的非限制 性部署场景的框图;

图12是根据本主题公开内容的一个或更多个方面的示例性的非限制 性部署场景的框图;

图13是根据本主题公开内容的一个或更多个方面的示例性的非限制 性部署场景的框图;

图14是根据本主题公开内容的一个或更多个方面的示例性的非限制 性部署场景的框图;

图15是根据本主题公开内容的一个或更多个方面的示例性的非限制 性部署场景的框图;

图16-23是根据一个或更多个方面的设计装置的用户接口的示例性的 非限制性图示;

图24是根据一个或更多个方面的用于部署配置的示例性的非限制性 实施例的框图;

图25示出了根据一个或更多个方面的、用于根据配置将配置部署到 目标的示例性的非限制性实施例的流程图;

图26示出了根据一个或更多个方面的、用于查询设备的示例性的非 限制性实施例的流程图;

图27是表示可以实施文中所描述的各种实施例的示例性的非限制性 网络化环境的框图;以及

图28是表示可以实施文中所描述的各种实施例的一个或更多个方面 的示例性的非限制性计算系统或操作环境的框图。

具体实施方式

总体概述

如背景中所讨论的,用于工业自动化产品的传统应用开发环境通常将 系统设置和其他配置保持在应用项目中,使得应用项目与单组设置相关 联。因此,为了将应用项目部署到多个类似的机器和/或不同的环境(例 如生产环境、测试环境、OEM环境、终端用户客户环境等)中,在进行 部署之前进行手动更改设置。对设置的手动处理和/或频繁更改可能导致 错误,这可能会具有很多影响。例如,控制器的IP地址错误可以导致终 端上的HMI应用从与期望的控制器不同的控制器拉取数据。这会导致未 被注意的不期望的操作状况、很难诊断出来的故障机器输出、在控制器处 的来自多个终端的冲突用户输入、正被发送到错误机器的命令输入等等。

在各种非限制性实施例中,提出了一种用于工业自动化环境中的应用 (例如,HMI应用、控制器应用、终端应用等)的设计装置,该设计装 置使得能够开发应用以及配置信息。通过该设计装置,可以开发控制应用 (例如,用于控制器的控制应用)和/或可视化应用(例如,用于终端的 HMI应用)。应用的设计被保存在由设计装置管理的应用项目中。

如上所述,通常地,利用应用项目来保持用于特定部署目标(例如, 特定控制器或特定终端)的配置。因此,针对给定的应用项目存在一组配 置。为了将应用项目部署到不同于原始目标的目标,对配置进行更改。文 中所描述的设计装置以与应用项目分开的方式保持配置。因此,通过保持 多组配置,设计装置使得能够将应用从单个应用项目部署到分别与不同的 配置相关联的多个目标。

在一个实施例中,本文描述了一种装置,该装置包括:计算机可读存 储介质,所述计算机可读存储介质被配置成保存与应用相关联的应用项目 以及对应于该应用项目的多组配置信息;以及处理器,所述处理器耦合至 计算机可读存储介质并被配置成执行存储在计算机可读存储介质上的计 算机可执行模块。在示例中,计算机可执行模块可以包括:设计者模块, 该设计者模块被配置成显示并激活多个开发工具,所述开发工具能够用于 生成包含在应用项目内的、指定应用的内容;以及部署模块,所述部署模 块被配置成基于应用项目和在所述多组配置信息中的分别与目标相关联 的一组配置信息来将应用安装到目标上。在另一个示例中,计算机可读介 质包括多个数据存储区,其中所述多个数据存储区可以包括:开发库存储 区,所述开发库存储区被配置成保存可供合并到应用项目中并由应用使用 的多个开发库;应用项目存储区,所述应用项目存储区被配置成保存多个 应用项目;应用配置存储区,所述应用配置存储区被配置成存储多组配置 信息;以及目标信息存储区,所述目标信息存储区被配置成保存与应用能 够部署到的设备有关的信息。

根据另外的实施例,存储在计算机可读存储介质上的计算机可执行模 块可以包括配置模块,该配置模块被配置成:生成多组配置信息;将所述 多组配置信息存储到计算机可读存储介质;以及修改所述多组配置信息中 的一组或更多组配置信息。根据示例,配置模块可以包括自主配置模块, 所述自主配置模块被配置成评估与目标有关的目标信息以及自主地生成 与目标相关联的该组配置信息。此外,自主配置模块可以包括:目标分析 模块,所述目标分析模块被配置成基于目标信息来识别目标的特征;网络 分析模块,所述网络分析模块被配置成基于包括在目标信息中的网络信息 来确定目标的网络设置;安全分析模块,所述安全分析模块被配置成识别 与目标相关联的安全策略;应用分析模块,所述应用分析模块被配置成基 于应用项目来识别应用的特征;以及配置生成模块,所述配置生成模块被 配置成基于由目标分析模块、网络分析模块、安全分析模块或应用分析模 块中的至少一个提供的信息来生成与目标相关联的该组配置信息。另外, 存储在计算机可读存储介质上的计算机可执行模块可以包括环境评估模 块,所述环境评估模块被配置成:获得关于所述目标所位于的系统环境的 环境信息;查询所述目标以获得设备信息;以及将环境信息和设备信息编 译到目标信息中。

根据另外的示例,部署模块可以包括目标识别模块,所述目标识别模 块被配置成确定为应用部署而选择的目标以及基于所述选择的目标的确 定来从所述多组配置信息中提取该组配置信息。此外,部署模块可以包括 构建模块,所述构建模块被配置成编译所述应用项目以生成应用以及配置 根据该组配置信息对所编译的应用。另外,部署模块可以包括下载模块, 所述下载模块被配置成将应用下载到目标。

在又一个示例中,应用可以是能够部署到控制器的控制应用或能够部 署到终端的可视化应用中的至少一个,其中,控制器和终端包括在工业自 动化环境中。根据另一个示例,终端可以嵌入在工业自动化环境中的工业 装置中。

根据另外的实施例,描述了一种方法,该方法包括:识别由应用项目 文件指定的应用要被安装到的第一实体;提取多个配置信息中的第一配置 信息,其中第一配置信息对应于第一实体;以及基于应用项目文件和第一 配置信息将应用部署到第一实体,其中第一实体是工业自动化环境内的控 制器或人机接口(HMI)终端中的至少一个。在示例中,该方法还可以包 括:识别由应用项目文件指定的应用要被安装到的第二实体;从所述多个 配置信息中提取第二配置信息,其中第二配置信息对应于第二实体;以及 基于应用项目文件和第二配置信息将应用安装到第二实体,其中第一配置 信息不同于第二配置信息,并且安装在第一实体和第二实体上的应用是从 相同的应用项目文件导出的。

在另一个示例中,将应用安装到第二实体还包括将应用部署到包含第 二实体的开发系统,而将应用部署到第一实体还包括将应用部署到包含第 一实体的生产系统。根据一个不同的示例,将应用安装到第二实体还包括 将应用部署到包含第二实体的原始设备制造商系统,而将应用部署到第一 实体还包括将应用部署到包含第一实体的客户系统。

根据另外的示例,该方法可以包括:接收与工业自动化环境的第一实 体有关的配置输入;基于所述配置输入生成第一配置信息;以及将第一配 置信息包括到所述多个配置信息中。在另一个实施例中,该方法包括:接 收与第一实体相关联的目标信息;评估目标信息以识别第一实体的特征; 基于第一实体的特征生成第一配置信息;以及将第一配置信息包括到所述 多个配置信息中。此外,该方法可以包括基于应用项目文件和第一配置信 息将应用部署到第三实体。

在另外的实施例中,这里描述了一种系统,该系统包括:控制器,所 述控制器通信耦合至工业装置,并且所述控制器被配置成执行以下操作中 的至少一个:监视工业装置的操作或指引工业装置的操作;终端,所述终 端通信耦合至控制器,并且所述终端被配置成执行可视化应用,所述可视 化应用被配置成视觉上显示工业机器的状态,其中所述状态是从控制器接 收的;以及设计装置。在示例中,所述设计装置可以包括处理器,所述处 理器耦合至计算机可读存储介质并被配置成执行保存在计算机可读存储 介质上的计算机可执行模块。计算机可执行模块可以包括:配置模块,所 述配置模块被配置成管理多个配置信息,其中来自所述多个配置信息的各 个配置信息分别与来自包括控制器的一组控制器的各个控制器以及来自 包括终端的一组终端的各个终端相关联;以及部署模块,所述部署模块被 配置成基于所述多个配置信息中的第一配置信息将可视化应用安装到终 端,其中所述第一配置信息指定参数以使得终端能够与控制器通信。在又 一个示例中,该系统可以包括:第二控制器,所述第二控制器通信耦合至 第二工业装置并且所述第二控制器被配置成执行以下操作中的至少一个: 监视第二工业装置的操作或指引第二工业装置的操作;以及第二终端,所 述第二终端通信耦合至第二控制器并且所述第二终端被配置成执行可视 化应用,所述可视化应用被配置成视觉上显示第二工业装置的状态,其中, 所述状态是从第二控制器接收的,其中,所述部署模块还被配置成基于所 述多个配置信息中的与第二终端相应地关联的第二配置信息来将可视化 应用安装到第二终端,以便在执行所述可视化应用时使得第二终端能够与 第二控制器通信。

此处,已经在上面呈现了设计装置和相关联的方法的一些实施例的概 述。作为下面的内容的引导,更详细地描述了设计装置和相关联的机构的 示例性的非限制性实施例和特征的概述。然后,描述能够使用设计装置的 一些非限制性部署场景,接着描述一些非限制性的示例性用户接口。最后, 给出了一些非限制性实施例和示例,以进行额外的说明,接着给出了能够 实施这样的实施例和/或特征的代表性网络和计算环境。

以多种配置进行的应用的多种部署

如上所述,在各种实施例中,工业自动化环境中的设计装置使得应用 (如控制器应用或可视化应用)能够从单独的应用项目部署到对应于或需 要不相干的配置设置的多个目标。然而,该设计装置不限于根据多个不相 干的配置进行应用的部署。例如,该设计装置可以用于开发所述多个不相 干的配置、设计应用、构建应用等。此外,如文中所述,设计装置可以利 用推理性的技术来获得合适的配置,从而使设计者从手动配置过程中解脱 出来。

关于如上所述的设计装置的一个或更多个非限制性方面,图1示出了 图示用于基于对应于目标的配置将应用从应用项目部署到目标的示例性 的非限制性实施例的流程图。图1中描绘的实施例可以由下面根据一个或 更多个实施例描述的设计装置来使用。如图1所示,在100处,识别应用 项目文件中指定的应用要被安装到的目标。如文中所述,目标可以是控制 器(例如,作为控制应用的目标)、或诸如嵌入式终端或其它计算设备的 可视化设备(例如,作为可视化应用的目标)。在110处,基于所识别的 目标提取用于该应用的配置。例如,该配置可以是配置集合中的一个配置, 其中配置集合中的各个配置分别与不相干的目标设备相关联。在120处, 基于应用项目文件并根据所提取的配置将应用部署到目标。

图2描绘了图示被配置成使用本主题公开内容的一个或更多个方面 的示例性的非限制性工业自动化环境的框图。具体地,图2示出了被配置 成使用上面关于图1描述的实施例的工业自动化环境200。工业自动化环 境200可以包括设计装置210,在一个示例中,设计装置210可以为配置 有应用设计软件的计算设备。如图2所示,在工业自动化环境200中还包 括终端集合220和控制器集合230。根据示例,终端集合220可以包括一 个或更多个终端,如图2中示出的终端222。类似地,控制器集合230可 以包括一个或更多个控制器,如控制器232。在示例中,终端222可以是 嵌入在工业装置上的显示屏或触摸屏。在另一个示例中,终端222可以是 远离工业装置但通过网络或其他通信介质与工业装置耦合的独立计算设 备(如移动设备、智能电话、PDA、膝上型计算机、台式计算机、平板 PC等)。控制器232可以基本上为工业自动化中通常使用的任何合适的工 业控制器,包括但不限于:可编程逻辑控制器、运动控制器、监控和数据 采集系统、分布式控制系统、过程自动化控制器等。

根据一个方面,设计装置210可以管理多个应用项目212,其中各个 应用项目对应于控制器集合230中的控制器(例如,控制器232)的应用 和/或终端集合220中的终端(例如,终端222)的应用。此外,设计装置 210可以保存分别对应于一个或更多个应用项目212的配置集合214。在 示例中,设计装置210被配置成基于多个应用项目212中的应用项目来部 署应用。在部署期间,设计装置210可以根据项目来构建(例如,编译、 链接等)应用以及将所构建的应用下载到目标(例如,终端222、控制器 232或任何其他的终端和/或控制器)。在构建应用期间,设计装置210可 以根据配置集合214中的一个或更多个配置来配置应用。配置可以包括对 应于目标的方面的各种参数和/或设置。如此,尽管所构建的应用是根据 多个设备所共用的普通或一般应用项目构建的,但是该构建的应用可以专 用于特定的目标。例如,如图2所示,设计装置210可以生成配置后的应 用224,配置后的应用224被下载到终端集合220中的一个或更多个终端。 此外,设计装置210可以根据一个或更多个应用项目212来构建和配置配 置后的应用234,并将配置后的应用234下载到控制器集合232中的一个 或更多个控制器。

为了进一步说明设计装置210的一个方面,在示例中,终端集合220 可以包括第一终端和第二终端。第一终端和第二终端可以分别耦合到执行 相似任务的第一工业机器和第二工业机器。因此,第一终端和第二终端可 以执行相似的可视化应用。然而,与不相干但相同的工业机器相关联的第 一终端和第二终端可以与不相干的信息源(例如,机械部件、控制器、企 业服务器等)通信,并且可以包括不同的授权操作者集合(例如,不同的 安全策略)等。此外,第一终端和第二终端可以包括不同的硬件部件(例 如,不同分辨率的显示器、不同亮度设置装置等)。如此,尽管在应用项 目中指定的大部分可视化应用可以在第一终端和第二终端之间重复使用 而无需进行更改,但是其他部分是特定于第一终端和/或第二终端的。为 了消除针对第一终端和第二终端保持各自的应用项目,设计装置210可以 针对部署到第一终端和第二终端的应用保持单个应用项目文件以及分别 与第一和第二终端相关联的各自的配置设置。因此,为了将应用部署到第 一终端和第二终端两者,设计装置210可以根据相同的应用项目构建应用 两次,一次使用与第一终端相关联的配置设置,另一次使用与第二终端相 对应的配置设置。

在另外的示例性的非限制性实施例中,如图2所示,可以通过设计装 置210生成一个或更多个配置后的应用244并将配置后的应用244存储到 便携式存储器设备240上。因此,不是设备(例如,终端222、控制器232 等)通信耦合至设计装置210,而是设备(例如,控制器250、终端260) 可以进行远程操作并且可以在该设备处将一个或更多个配置后的应用 244本地上传。在另外的示例性的非限制性实施例中,与远程设备(例如, 控制器250、终端260)有关的任何配置数据(例如配置246)还可以被 存储在便携式存储器设备240上。当重新连接便携式存储器设备240与设 计装置210时,可以从便携式存储器设备240下载配置246以更新/修改 现有的配置集合214。

图3描绘了示出实施在计算系统上的、被配置成便于利用上面关于图 1和图2所描述的各个配置将应用部署到多个目标的示例性的非限制性设 计装置210的框图。设计装置210,如图3所示,可以包括输入/输出模块 300(也称为用户接口模块)。输入/输出模块300可以通过例如各种输入 设备(如鼠标、键盘、触摸屏、书写板、麦克风、视频摄像机等)从用户 接收用户输入302。此外,输入/输出模块300可以生成用户输出304并将 用户输出304提供给输出设备,例如显示屏。

在非限制性实施例中,用户输入302可以提供关于哪个设备(如终端 222、控制器232等)要接收配置后的应用(例如,配置后的应用224和 234)的指示。根据在用户输入302中识别的设备的配置执行配置后的应 用的生成。

如图3中进一步示出的,输入/输出模块300被配置成处理用户输入 302并根据所表达的输入类型或设计装置210的模式(例如状态)将用户 输入302委派(例如,转发)到各子系统。例如,设计装置210可以存在 于例如设计和开发应用的开发模式下。因此,输入/输出模块300可以将 用户输入302转发到设计者模块310并获得用户输出304以作为开发输入 /输出312。在另一个示例中,用户输入302可以涉及配置设置和/或设计 装置210可以处于配置管理模式下。根据该示例,输入/输出模块300可 以将输入转发到配置模块320并接收来自配置模块320的输出(例如在图 3中示出为配置输入/输出322)。在又一个示例中,在设计装置210中包 括部署模块330,从而当用户输入302与部署有关和/或设计装置210存在 于部署状态或模式下时,与输入/输出模块300交换部署输入/输出332。

如图3中进一步示出的,设计装置210可以包括数据存储装置340, 数据存储装置340可以包括一个或更多个存储单元,例如开发库存储区 342、应用项目存储区344、应用配置存储区346、以及目标信息存储区 348。尽管被示出为不同的存储单元,但应当理解各个存储区342-348可 以是更大的数据存储区(例如,数据库系统)的独立分区。

根据实施例,设计者模块310可以协调设计装置210的开发活动,如 此,可以与开发库存储区342和/或应用项目存储区344进行交互。如下 文更详细描述的,设计者模块310可以提供多个开发工具,这些开发工具 有利于创建控制应用的控制器逻辑以及创建HMI应用的可视化屏幕。通 过设计者模块310设计的控制器逻辑和/或可视化屏幕可以链接到由开发 库存储区342存储的一个或更多个库所提供的资源。所设计的逻辑和/或 屏幕以及到库的链接可以被保持为由应用项目存储区344存储的应用项 目。

根据示例,配置模块320有利于生成应用设置、更改应用设置以及将 应用设置存储到例如应用配置存储区346中。例如,配置模块320通过配 置输入/输出322可以提供向导和/或接口工具,该向导和/或接口工具可以 用于管理配置,可以在部署时使用所述配置以生成特定于所选目标的配置 后的应用。在另一个示例中,配置模块320可以利用存储在目标信息存储 区348中的目标信息来自主地生成特定目标的配置和/或基于目标的评估 来生成目标信息。部署模块330有利于部署通过设计者模块310创建的应 用项目中指定的应用。如下面进一步描述的,部署模块330可以构建应用、 合并来自应用配置存储区346的一个或更多个配置的设置、以及将所构建 和配置的应用下载到目标。

图3还示出了比较模块325,可以使用比较模块325以便于比较两个 或更多个配置之间的差异,由此使得操作者能够容易地确定第一配置如何 不同于第二配置。比较模块325可以直接与数据存储装置340交互,使得 操作者能够(例如从应用配置存储区346中)选择各个配置,以识别相应 的差异。替选地,比较模块325可以结合任何其他模块(例如,设计者模 块310、配置模块320或部署模块330)进行操作,这是由于每个模块用 作应用/配置部署进程的一部分。例如,当例如使用配置模块320改变配 置时,在初始配置与中间/最终阶段的配置生成之间的相应变化可以呈现 给操作者。可以结合输入/输出模块300以及比较输入/输出326将输入/ 输出提供给用户,由此使得用户能够看到各个配置之间的差异。

图3中还示出了继承模块327,继承模块327可以用于控制针对多个 配置存储的参数/设置/数据的数目。例如,如果针对(例如,在控制器集 合230中的)10个控制器生成配置,其中每个配置包括10个属性设置, 必须与10个控制器配置相符地存储总共100个属性设置(例如存储到数 据存储装置340、应用配置存储区346等)。然而,可能存在对于每个配 置而言共有的许多属性设置,并且只有总共可用属性设置的子集(例如, 10个中只有2个可用)被配置成对于每个控制器配置是唯一的。在这种 场景下,只有唯一的属性设置必须被存储,而剩余的属性设置具有公共值。 因此,在10个控制器配置的示例中,在10个属性设置中,其中的2个属 性设置对于每个配置是唯一的,仅有总共28个属性设置必须被存储(8 个公共的+20个唯一的)。继承模块327可以被配置成控制如何存储属性 设置/以及控制要存储多少属性设置。为了便于使属性设置可视化,可以 使用继承输出/输入328以通过输入/输出模块300向操作者呈现属性设置 (例如,唯一的或公共的)。

图4示出了用于开发应用的示例性的非限制性实施例的流程图。在 400处,可以接收与应用的开发有关的输入。根据示例,与开发有关的输 入基本上可以包括通过用户接口接收的与设计装置(例如,设计装置210) 的开发方面相关联的任何信息,例如但不限于:控制器逻辑、屏幕设计、 要合并到屏幕上的视觉元素的标示、控制器逻辑的不相干部分之间的连 接、屏幕的不相干视觉元素之间的连接、屏幕之间的连接、要链接到应用 的库的说明、全局变量的定义等。在410处,可以根据输入来修改与应用 相关联的应用项目。

图5示出了根据用户输入来修改(开发)应用项目的示例性的非限制 性动作的框图。图5可以包括设计装置210,在示例中,所述设计装置210 被配置成实施上面关于图4描述的实施例。如图5所示,设计装置210 的设计者模块310可以与例如上面结合图3描述的输入/输出模块300交 换开发输入/输出312。在一个方面,开发输入/输出312可以包括与上述 开发有关的输入。

如图5所示,设计者模块310可以包括项目管理模块500,项目管理 模块500被配置成从应用项目存储区344取得应用项目以及将应用项目存 储到应用项目存储区344。此外,项目管理模块500还被配置成修改或更 新由应用项目存储区344保存的应用项目。类似地,设置有库管理模块 502,库管理模块502被配置成从开发库存储区342取得库、将库保存到 开发库存储区342或修改由开发库存储区342存储的库。如文中描述的开 发库可以包括(例如动态地或静态地)可链接模块,该可链接模块包括一 般功能以及可重复使用和/或有益于各种应用的资源。例如,库可以是能 够由设计装置210上开发的任何应用利用的逻辑束或逻辑包、可视化对 象、图形等,由此消除针对各个应用项目重新开发或重复导入这样的资源。

如图5所示,设计者模块310还包括一组开发工具504,该组开发工 具504可以包括图5中示出的多个开发工具,如开发工具1至开发工具N, 其中N是大于或等于1的整数。各个开发工具可以对应用项目执行操作, 例如捕捉写入的程序代码,将可视化对象置于屏幕上、链接可视化对象、 链接代码部分等。可以通过从用户(例如,应用开发人员)获得的开发输 入/输出312来激活(例如,选择和执行)该组开发工具504中的各个开 发工具。

图6描绘了示出用于创建与部署目标相关联的配置的示例性的非限 制性实施例的流程图。在600处,接收与应用的配置有关的输入。所述与 配置有关的输入可以关于部署目标而进行。这样的输入可以提供包括特定 配置设置的值或多个设置的整体配置的值。在610处,基于输入修改或生 成配置信息。在620处,与应用的应用项目相关联地保存配置信息。

根据示例,应用的配置信息可以包括多个设置或参数并且与特定的部 署目标(例如控制器、终端等)相关联。对于要部署到终端的可视化或 HMI应用,所述多个设置可以包括连接设置(例如,针对终端的网络配 置、参考设备(控制器)的网络位置、到企业系统的网关信息等)、数据 库设置(例如,数据库名称、数据库凭证等)、安全设置(例如,访问列 表、权限、安全策略等)、屏幕设置(例如,屏幕之间的连接、屏幕的排 序、屏幕的内容、在屏幕上包括的图形对象等),库链接(例如,哪个库 链接到已部署的应用的说明)、硬件设置(例如亮度、分辨率等)等。对 于要部署到控制器的控制应用,所述多个设置可以包括但不限于:库链接、 传感器的网络位置、驱动器、指示器和/或其他I/O设备、用于控制器的 网络设置、程序设置、机器输入/输出、设备在背板上的位置等。

图7描绘了示出用于基于部署目标的分析来生成配置的示例性的非 限制性实施例的流程图。在700处,接收与应用的部署目标相关联的目标 信息。在710处,评估目标信息以识别部署目标的特征。例如,目标信息 可以包括部署目标的硬件规格(包括能力)、部署目标的网络位置、部署 目标的网络或通信能力、与部署目标相关联的安全策略等等。基于所识别 的特征,在720处,可以生成和/或修改对应于部署目标的配置信息。在 730处,与应用的应用项目相关联地保存在720处生成或修改的配置信息。

图8描绘了示出被配置成管理和生成用于将应用项目部署到目标的 配置的示例性的非限制性设计装置的框图。图8示出了设计装置210,在 示例中,设计装置210被配置成实施上面关于图6和图7描述的实施例。 如图5所示,设计装置210的配置模块320可以与例如上面结合图3描述 的输入/输出模块300交换配置输入/输出322。在一个方面,配置输入/输 出322可以包括上面参照图6描述的与配置有关的输入。

如图8所示,配置模块320可以包括配置引擎800,配置引擎800被 配置成与应用配置存储区346对接,以存储新的和经修改的配置802并取 得现有配置804。新的和经修改的配置802可以包括由配置引擎800基于 配置输入/输出322建立的配置设置。此外,配置引擎800可以取得现有 配置804,以根据配置输入/输出322对其进行修改。如之前所述,在示例 性的非限制性实施例中,继承模块327可以用于识别在第一配置实例与第 二配置实例之间哪些参数/设置/数据被修改。当属性改变时,继承模块327 可以识别从公共值更改的属性并存储公共值和已更改的值。因此,继续关 于具有10个属性设置的10个控制器的示例,其中在所有10个控制器配 置之中,8个属性设置是公共的,2个属性对于每个配置实例是唯一的。 在一个方面,对配置进行编辑,例如,改变配置的唯一属性之一,可以存 储改变后的值。另一方面,可能会发生唯一设置被应用到(例如,通过继 承模块327)被确定为公共的属性的情况。在10个配置中的每个配置中 的属性设置的所有实例现在会被继承模块327标记为是唯一的。因此,由 于在所有配置中属性不再是公共的,所以不是存储(例如,存储在数据存 储装置340、应用配置存储区346等中)之前的28个参数(8个公共的+20 唯一的),现在是存储37个属性设置。如图8中进一步示出的,配置320 可以从应用项目存储区344获得应用项目806,以有利于所生成的配置与 应用项目之间的关联性。例如,新的和修改后的配置802可以与应用项目 806相关联地存储在应用配置存储区346中。

配置模块320可以包括自主配置模块820,自主配置模块820被配置 成基于与目标相关联的环境和设备信息生成配置。具体地,自主配置模块 810可以从目标信息存储区348获得目标信息808,其中目标信息808与 诸如目标设备840的部署目标相关联。在自主配置模块810中,设置有目 标分析模块812,以基于目标信息808来评估与部署目标相关联的方面(例 如,硬件)。设置有网络分析模块814,网络分析模块814被配置成识别 与部署目标以及同部署目标通信的设备相关联的网络特征(例如位置、地 址、网络拓扑等)。另外,设置有安全分析模块816以根据目标信息808 确定与部署目标或同部署目标通信的设备相关联的安全策略。此外,自主 配置模块810包括应用分析模块818,应用分析模块818被配置成评估与 应用项目806相关联的应用的要求。例如,应用分析模块818可以基于应 用项目806来识别期望驻留应用项目806中指定的应用的环境的特征。最 后,自主配置模块810包括配置生成模块820,配置生成模块820被配置 成生成配置信息,该配置信息可以存储在应用配置存储区346中。在示例 中,配置生成模块820可以利用来自目标分析模块812、网络分析模块814、 安全分析模块816、以及应用分析模块818的分析结果来生成配置信息。

另一方面,设计装置210可以包括如图8所示的环境评估模块830, 环境评估模块830被配置成将环境和设备信息834编译到由目标信息存储 区348保存的目标信息中。在示例中,环境评估模块830可以接收环境输 入832,环境输入832可以包括网络拓扑、系统设计、机器部署、自动化 系统部署信息等等。此外,环境评估模块830可以与目标设备840通信。 例如,环境评估模块830可以发送设备查询842并从目标设备840获得设 备信息844。

图9示出了用于根据配置将应用部署到目标的示例性的非限制性实 施例的流程图。在900处,确定对应于应用的部署目标的所选配置。在 910处,基于所选配置从应用项目构建应用。例如,当构建时,应用可以 包括根据所选配置建立的设置(例如,网络设置、连接设置、安全设置、 链接器设置等)。在920处,可以将应用下载到部署目标。

图10示出了被配置成将配置后的应用下载到目标的示例性的非限制 性设计装置的框图。图10示出了设计装置210,在示例中,设计装置210 被配置成实施上面关于图10描述的实施例。如图10所示,设计装置210 的部署模块330可以与例如上面结合图3描述的输入/输出模块300交换 部署输入/输出322。

根据示例,部署输入/输出332可以包括要部署的应用项目的选择和/ 或用于应用的配置(或目标)的选择。部署模块330包括部署引擎1000, 该部署引擎1000被配置成控制部署进程,并且与数据存储装置340对接。 此外,部署引擎1000可以处理部署输入/输出332的输入并生成部署输入 /输出332的输出。基于部署输入/输出332,部署引擎1000可以向应用项 目存储区344发出项目选择1002,并获得所选项目1008。在示例中,所 选项目1008可以是与要部署到目标设备的应用相关联的应用项目。此外, 基于部署输入/输出332,部署引擎1000可以向应用配置存储区346发出 配置选择1002并获得选择配置1004。在示例中,所选配置1004可以包 括从所选项目1008获得的应用所部署到的一个或更多个目标设备的配置 设置。

根据另一个示例,可以由部署模块330的目标识别模块1010生成配 置选择1002,该目标识别模块1010被配置成基于例如来自输入/输出模块 300的部署输入来确定目标设备。例如,目标识别模块1010可以识别包 括在部署输入中的目标标签或名称,并基于所识别的目标标签或名称进行 查询(例如,发送配置选择1002)。

当获得所选项目1008和所选配置1004时,构建模块1020可以根据 所选配置1004来编译(例如构建、构造等)来自所选项目1008的应用和 该应用的配置后的设置。最后,如图10所示,部署模块330包括下载模 块1030,该下载模块1030被配置成将配置后的应用1032发送给目标设 备。

应用设计装置的上述实施例提供了通用架构以及各种技术,通过该通 用架构以及各种技术可以在工业自动化中将应用高效地部署到多个目标 (例如控制器、终端等),而无需重复地和冗余地使用应用项目副本。下 面描述的是若干示例性部署场景,部署场景示出了由上述应用设计装置提 供的提高。

示例性部署场景

根据下载到终端(例如HMI设备)的可视化应用来描述以下部署场 景,其中终端可以包括嵌入到工业机器或独立计算设备中的、通信耦合到 工业机器或管理工业机器的控制器的触摸屏。然而,应理解,文中描述的 部署场景可以扩展至控制应用到控制器的部署。

图11描绘了根据本主题公开内容的一个或更多个方面的示例性的非 限制性部署场景的框图。如图11所示,具有部署模块330的设计装置210 可以接收配置1100、应用项目1102以及目标信息1104。部署模块330可 以根据这些输入来构建应用。根据图11中描绘的示例性场景,单个终端 1106通信耦合至分别控制来自工业装置集合1110的一个或更多个机器的 控制器集合1108。因此,目标信息1104表示单个目标,例如终端1106, 并且配置1100包括与终端1106相关联的设置,例如连接信息,以使得终 端1106能够连接到控制器集合1108并与控制器集合1108通信。

转到图12,所示出的是另一种部署场景,其包括到两个或更多个终 端(例如,终端1206和终端1208)的部署,所述终端与相同控制器集合 1210和/或相同工业装置集合1212通信。此场景适于如下环境:在该环境 中,第一终端嵌入在工业装置中,而意在提供类似于第一终端的功能的第 二终端是位于工业自动化环境中的监控位置处的通用计算设备。

根据该场景,部署模块330可以使用应用项目1202以构建由目标信 息1204指定的两个终端1206和终端1208的应用。然而,配置1200可以 包括分别与终端1206和1208相关联的独立且不同的配置设置。因此,部 署模块330基于独立配置来构建相应的应用程序,以及将相应的应用程序 下载到终端1206和终端1208。

图13示出了涉及多个终端分别与不相干的控制器集合和/或工业装置 集合进行通信的部署场景。该场景例如可以适用于包括多个冗余但相同的 生产线的工业自动化环境。如图13所示,部署模块330可以接收指定终 端1306和终端1308的目标信息1304。终端1306可以参考分别控制第一 工业装置集合1312的第一控制器集合1310。终端1308可以参考分别控 制第二工业装置集合1316的第二控制器集合1314。

此外,部署模块330可以接收应用项目1302和配置集合1300,配置 集合1300至少包括对应于终端1306的配置以及对应于终端1308的配置。 通过配置集合1300和应用1302,部署模块330可以编译用于终端1306 和终端1308的各应用,其中每个应用适合于各终端位于的特定通信和硬 件环境。

图14示出了适合如下情况的部署场景:其中应用项目在部署到生产 系统之前被部署到用于测试、验证和/或校验(例如,FDA校验等)的开 发系统中。如图14所示,部署模块330可以接收应用项目1400,应用项 目1400可以根据开发配置1404进行构建并且被下载到(例如部署到)开 发环境1408。部署模块330还可以使用相同的应用项目1400来基于生产 配置1402构建被下载到生产环境1406的应用。

图15描绘了可以使用设计装置的上述实施例的又一部署场景。该场 景适合于如下情况:在终端用户客户与OEM之间交换应用项目(例如, 应用项目1502)以进行更新、调试等。制造商可以具有与终端用户客户 所使用的最终设置不同的用于测试的环境。因此,从应用项目1502构建 的应用被不同地配置。如图15所示,应用项目1502可以作为客户设计装 置1500和制造商设计装置1510的源。客户设计装置1500可以获得客户 配置1504、构建针对客户环境1508而构建和配置的应用1506。类似地, 制造商设计装置1510可以获得制造配置1512、构建针对制造环境1516 而构建和配置的应用1514。在这一方面,可以在终端用户客户与OEM之 间容易地交换应用项目1502,而无需在使用项目之前进行手动重新配置。

应理解,可以与文中所呈现的各种实施例一起使用的各种配置(例如 终端、控制器等)是无数的。例如,尽管图11-15呈现了终端、控制器等 的特定组合,但是各种配置可以扩展到多个场景,包括终端、控制器等的 单个或多个实例。例如,在配置的非限制性列表中,特定配置可以包括通 信耦合至单个控制器的单个终端、或通信耦合至单个控制器的多个终端、 或通信耦合至多个控制器的单个终端、或通信耦合至多个控制器的多个控 制器等。因此,尽管在图11-15中仅呈现了小部分示例性配置,但是文中 呈现的各种实施例可以根据需要基于通信耦合的设备(例如终端、控制器 等)的数目进行扩展。

示例用户接口

图16-23是根据一个或更多个方面的、设计装置的用户接口的示例性 的非限制性图示。首先转到图16,所示出的是处于开发模式的典型设计 装置的用户接口。如图16所示,设计装置的用户接口可以是多文档接口 并且包括传统的窗口特征,例如具有窗口控制(例如,最小化、最大化、 关闭)的标题栏、标题以及图标。此外,用户接口可以包括菜单栏,通过 该菜单栏开发人员可以访问设计装置的功能。此外,用户接口可以包括一 个或多个工具栏,该工具栏包括要显示到工具栏上的、设计装置的频繁使 用的功能和/或由开发人员定制的功能。

在开发模式中,如图16所示,资源管理器侧栏使得能够管理应用项 目的各个方面。例如,通过资源管理器侧栏,可以访问项目设置、运行时 间安全、全局设置等。此外,资源管理器侧栏可以显示例如针对应用项目 创建的可视化应用的各种屏幕,以使得在开发情形下能够在应用的部分之 间高效导航。

用户接口还可以包括主窗口部分或编辑器部分,该主窗口部分或编辑 器部分显示正在开发、编辑或创建的应用项目的组件的细节。例如,如图 16所示,在主窗口部分显示了可视化应用的屏幕。

图17描绘了根据本主题公开内容的一个或更多个方面的配置向导的 示例性用户接口。如图17所示,可以通过用户接口编辑或创建多种配置。 例如,在顶部,下拉菜单使得能够选择现有的配置以进行编辑。此外,设 置有用于添加新的配置或删除当前所选配置的按钮。

图17中示出的配置向导的选项卡(tab)包括应用设置,例如目标终 端的规格,其可以用网络地址或者其他手段表示,或者可以通过支持设计 装置的操作系统的内置文件管理机构进行浏览和选择。除了指定目标位置 之外,可以通过下拉菜单选择目标类型。如图17所示,在一个示例中, 可以显示所选类型的视觉描述以及显示所选类型的分辨率特征。在示例 中,当所选目标类型具有不同于在开发应用期间假定的期望尺寸的显示尺 寸时,用户接口可以显示警告。为了解决该警告,可以使几个选项(例如, 不缩放、以固定高宽比缩放、拉伸以适应屏幕等)可用。此外,用户接口 使得能够选择系统颜色(例如应用的不同部分的颜色)和语言,如图所示。

图18示出了配置向导的参考选项卡。类似于图17,用户接口包括选 择现有配置以进行修改、创建新的配置或删除配置的机构。参考表使得能 够配置例如到控制器的连接或参考。如图18所示,所参考的控制器可以 显示在可滚动窗格中。参考控制器可以描绘为控制器卡,该控制器卡指示 快捷方式(例如,识别控制器的任意名称)、参考控制器在工业自动化环 境内的位置、与参考控制器上的控制应用相关联的项目文件的位置、以及 关于控制器的一些细节。

图19示出了配置向导的终端选项卡。该终端选项卡包括终端本身的 配置设置。例如,如图19所示,这样的配置设置可以包括网络设置(例 如IP地址、网关信息等)、显示设置(如亮度、对比度...)、屏幕保护程 序配置等等。

转到图20-23,示出了设计装置的示例性多步骤的部署向导。从图20 开始,图20描绘了部署向导的第一步,用户接口包括关于针对应用要包 括和部署配置哪些部分的可选选项。图21示出了包括目标识别的部署的 第二步。图22示出了连接配置(例如,要由部署的应用参考的控制器集 合)的选择。最后,图23示出了应用到目标的部署的执行和完成。

提供了图16至图23中示出的用户接口,以突出和描述文中所述的设 计装置的实施例和特征,并且该用户接口不意在将所附权利要求限制于文 中示出的描述。应理解,可以设计替选的用户接口以实现本文所描述的功 能,以及这样的替选用户接口意在属于所附权利要求的范围内。

尽管之前所描述的实施例(例如图1-15)涉及将应用项目(例如应用 项目212)部署到特定设备(例如终端222、终端集合220、控制器232、 控制器集合230、控制器250或终端260),其中应用项目212包括特定配 置(例如构成配置集合214的任一配置),还可以向特定设备提供多个配 置,其中在设备处执行从所述多个配置中选择所需配置。图24示出了在 设备处接收从其选择所需配置的多个配置的示例性的非限制性实施例。在 之前的非限制示例性实施例中,用户可以通过设计装置(例如设计装置 210)来配置将哪个应用项目(例如应用项目212)提供到特定设备以及 要与其相关联的配置(例如配置214中的任一个)。如图24所示,向用于 下载到设备(例如,终端2422)的应用(例如,可配置应用2424)提供 配置集合(例如,配置集合2414),当接收到该配置集合时,在设备处自 动地或手动地执行选择哪个配置以进行使用。

例如,可配置应用2424可以从设计装置2410转发到终端2422,其 中终端2422可以处于可用终端组2420之中。可配置应用2424附带有配 置集合2414,其中可配置应用2424被构造成使得它可以处于基于配置集 合2414中的任何一个配置的最终配置状态下。当在终端2422接收时,配 置选择器2450从该配置集合2414中选择在终端2422上使用的配置2460, 并且使用其有效地配置应用2424。选择哪个配置(例如配置2460)进行 使用可以基于可用于将终端2422与配置2460相关联的任何适合的标准。 这样的标准可以是对应于终端2422的IP地址的配置2460中包含的IP地 址。另一方面,该标准可以基于用于识别工厂设备的统一工厂模型 (UPM),其中这样的统一工厂模型包括ANSI/ISA-88、ANSI/ISA-95以 及类似的标准,其中终端2422可以基于终端2422相对于制造工艺线、工 厂等的位置与配置2460相关联。在另一个方面,配置选择器2450可以将 可用的配置集合2414呈现给在特定时刻(例如,在初始启动终端2422的 时刻)从呈现的配置集合2414中选择在终端2422上使用的配置的操作者。

控制器2432可以使用类似的功能,其中控制器2432可以位于控制器 集合2430中。将可配置应用2434(其可以与配置后的应用2424相同) 从设计装置2410提供到控制器2432,其中可配置应用2434附带有配置 集合2414。控制器2432处的配置选择器2452可以用于从该配置集合2414 中选择配置2462以在控制器2432上与可配置应用2434一起使用。如上 所述,配置2462的选择可以基于任何合适的标准,例如在配置2462与控 制器2432之间的IP地址的匹配、基于UPM或类似标准的关联、或将该 配置集合2414呈现给用户以使用户从其选择配置2462。

此外,如图24所示,配置集合2414可以与一个或更多个可配置应用 2444一起存储在便携式存储器设备2440上。当与控制器2450连接时, 可以(以类似于配置选择器2450或2452的方式)利用配置选择器2456 来选择要与应用2444一起使用的配置2466。可以采用类似的方法向终端 2460提供配置集合2414,因此,配置选择器2454选择要在终端2460上 使用的配置2464。配置选择器2454以类似于配置选择器2450、2452或 2456中的任一个所使用的方式来选择配置2464,例如,基于终端2460与 配置2464之间的关联性(例如匹配IP地址),选择可以是自动的,或选 择可以利用手动手段,例如使用配置选择器2454来呈现终端2460的操作 员可以从其进行选择的配置集合2414。

图24还示出了设计装置2410查询任何相应设备(例如,终端集合 2420、终端2422、控制器集合2430或控制器2432)的机构。通过执行查 询操作,设计装置2410可以从相应设备中获得有关该设备的信息,例如 IP地址、UPM标识符等,这些信息可以被设计装置2410利用来唯一地 识别要与相应设备相关联的配置(例如,在该配置集合2414中的配置)。 通过执行这样的查询操作,可以自动地将配置与设备相关联,由此使与将 配置部署到特定设备相关联的错误(例如,采用了错误的配置)减到最少。

应理解,图24中示出的各种组件以与之前呈现的组件相似的方式起 作用。例如设计装置2410可以包括设计装置210的功能,终端2422可以 包括终端222的功能,控制器2432可以包括控制器232的功能,便携式 存储器设备2440可以包括便携式存储器设备240的功能,配置2414可以 包括配置214的功能,应用项目2412可以包括应用项目212的功能,配 置后的应用2444、2434、2424具有各个配置后的应用224、234、244的 功能等。

图25示出了用于选择配置应用使用的配置的示例性的非限制性实施 例的流程图。在2500处,在设备(例如,终端2422、控制器2432、控制 器2450或终端2460中的任一个)处接收多个配置(例如,配置集合2414)。 可以使用每个配置来配置要在设备上操作的应用。在2510处,从所述多 个配置中选择配置。基于匹配标准的关联性,选择可以是自动的。例如, 基于对应于配置中的IP地址的设备IP地址来进行选择。在另一个示例中, 可以基于例如与对于设备和配置是公共的统一工厂模型(例如, ANSI/ISA-88、ANSI/ISA-95等)相关联的变量进行选择。在另一个示例 中,可以手动地执行选择,其中多个配置被呈现给用户,用户从多个配置 中选择所需配置。在2520处,应用配置,以配置要在设备上执行的应用。

图26示出了用于查询设备以便于与配置相关联的示例性的非限制性 实施例的流程图。在2600处,(例如通过设计装置2410)查询设备(例 如,终端2422、控制器2432、控制器2450或终端2460中的任一个)以 确定用于唯一地识别设备的信息。用于唯一地识别设备的信息可以包括任 何合适的标识符,例如IP地址、UPM标识符等。在2610处,特定配置 (例如,配置集合2414中的任何配置)可以被唯一地识别以在设备上使 用。可以使用唯一识别的配置以有利于要在设备上执行的应用(例如应用 项目2412中的任一个)的配置。在2620处,将唯一识别的配置和任何相 关联的应用部署到设备。

示例性网络化和分布式环境

本领域的普通技术人员可以理解,文中所描述的用于工业自动化环境 应用的设计装置和相关联的方法的各种实施例可以结合能够部署为计算 机网络的一部分或部署在分布式计算环境中并且可以与任何类型的数据 存储区连接的任何计算机或其他客户端或服务器设备来实施。在这一方 面,文中描述的各种实施例可以在具有任意数目的存储器或存储单元、以 及发生在任意数目的存储单元上的任意数目的应用和处理的任何计算机 系统或环境中实施。这包括但不限于如下环境:该环境具有部署在网络环 境或分布式计算环境中的具有远程或本地存储装置的服务器计算机和客 户端计算机。

分布式计算通过在计算设备和系统之间的通信交换来提供计算机资 源和服务的共享。这些资源和服务包括信息的交换、用于对象(例如文件) 的缓存存储装置和盘存储装置。这些资源和服务还包括在多个处理单元上 共享处理能力,以进行负载均衡、资源扩大、处理专业化等。分布式计算 利用了网络连接性,允许客户利用他们的共同能力以使整个企业受益。在 这一方面,各种设备可以具有能够参与到针对本主题公开内容的各种实施 例所描述的设计装置中的应用、对象或资源。

图27提供了示例性网络化或分布式计算环境的示意图。分布式计算 环境包括计算对象2710、2712等以及计算对象或设备2720、2722、2724、 2726、2728等,这些计算对象可以包括如由应用2730、2732、2734、2736、 2738所表示的程序、方法、数据存储区、可编程逻辑等。可以理解计算 对象2710、2712等以及计算对象或设备2720、2722、2724、2726、2728 等可以包括不同的设备,例如个人数字助理(PDA)、音频/视频设备、移 动电话、MP3播放器、个人计算机、膝上型计算机等。

每个计算对象2710、2712等以及计算对象或设备2720、2722、2724、 2726、2728等可以通过通信网络2740直接地或间接地与一个或更多个其 他计算对象2710、2712等以及计算对象或设备2720、2722、2724、2726、 2728等通信。尽管图27中被示出为单个元件,但是通信网络2740可以 包括向图27的系统提供服务的其他计算对象和计算设备,和/或可以呈现 多个互联的网络,这并未示出。每个计算对象2710、2712等或计算对象 或设备2720、2722、2724、2726、2728等还可以包含应用,例如应用2730、 2732、2734、2736、2738,该应用可以利用适于根据主题公开内容的各种 实施例与设计装置以及相关联的机构进行通信或实施该设计装置以及相 关联的机构的API或其他对象、软件、固件和/或硬件。

存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算 系统可以通过有线系统或无线系统、通过本地网络或广泛分布的网络连接 在一起。目前,许多网络耦合至因特网,因特网为广泛的分布式计算提供 基础设施并且包括许多不同的网络,虽然针对各种实施例所描述的、系统 易于发生的示例性通信,可以使用任何网络基础设施。

因此,可以使用网络拓扑和网络基础设施(例如客户端/服务器架构、 对等架构或混合架构)的主机。“客户端”是使用与其无关的另一类或组 的服务的类或组的成员。客户端可以是请求由另一个程序或进程提供的服 务的进程,即,粗略地讲,指令或任务集合。客户端进程使用所请求的服 务,而不必“知道”关于其他程序和服务本身的任何工作细节。

在客户端/服务器架构中,特别是在网络化系统中,客户端通常是访 问由另一个计算机(例如服务器)提供的共享网络资源的计算机。在图 27中,作为非限制性示例,计算对象或设备2720、2722、2724、2726、 2728等可以被认为是客户端,而计算对象2710、2712等可以被认为是服 务器,其中作为服务器的计算对象2710、2712等提供数据服务,例如从 客户端计算对象或设备2720、2722、2724、2726、2728等接收数据、存 储数据、处理数据、将数据发送到客户端计算对象或设备2720、2722、 2724、2726、2728等,虽然任何计算机根据情况可以被视为客户端、服 务器或客户端和服务器两者。

服务器通常是通过远程或本地网络(如因特网或无线网络基础设施) 可访问的远程计算机系统。客户端进程可以在第一计算机系统中是活动 的,服务器进程可以在第二计算机系统中是活动的,从而通过通信介质彼 此通信,由此提供分布式功能并允许多个客户端利用服务器的信息收集能 力。

在通信网络2740或总线是因特网的网络环境中,例如,计算对象 2710、2712等可以是Web服务器,通过该Web服务器,其他计算对象或 设备2720、2722、2724、2726、2728等通过多种已知协议的任何一种(如 超文本传输协议(HTTP))进行通信。用作服务器的计算对象2710、2712 等还可以用作客户端,如计算对象或设备2720、2722、2724、2726、2728 等,这可以作为分布式计算环境的特征。

示例性计算设备

如所提及的,有利地,文中描述的技术可以应用于期望根据多个配置 将应用部署到工业自动化环境中的多个设备的任何设备。因此,应理解, 可以想到手持式、便携式和其他计算设备和所有类型的计算对象用于结合 各种实施例使用,即用户可以访问、利用或部署工业应用的任何地方。因 此,下面在图28中描述的以下通用远程计算机只是计算设备的一个示例。

实施例可以部分地通过由服务的开发人员针对设备或对象使用的操 作系统来实施,和/或包括在进行操作以执行文中描述的各种实施例的一 个或更多个功能方面的应用软件内。软件可以以由一个或更多个计算机 (例如,客户端工作站、服务器或其他设备)执行的计算机可执行指令(例 如程序模块)的普通意义来描述。本领域的普通技术人员将理解计算机系 统具有可以用于传送数据的多种配置和协议,因此,特定的配置或协议不 应被视为限制性的。

因此,图28示出了合适的计算系统环境2800的示例,在该计算系统 环境2800中,可以实施文中描述的实施例的一个或更多个方面,尽管上 面清楚示出的,但是计算系统环境2800仅是合适的计算环境的一个示例 并且不意在提出关于使用或功能的范围的任何限制。此外,计算系统环境 2800不意在被解释为具有与在示例性计算系统环境2800中示出的组件的 任何一个或组合有关的任何依赖性。

参照图28,用于实施一个或更多个实施例的示例性远程设备包括计 算机2810形式的通用计算设备。计算机2810的组件可以包括但不限于: 处理单元2820、系统存储器2830、以及将各种系统组件(包括系统存储 器)耦合到处理单元2820的系统总线2822。

计算机2810通常包括各种计算机可读介质并且可以是计算机2810 能够访问的任何可用介质。系统存储器2830可以包括易失性和/或非易失 性存储器形式的计算机存储器介质,例如只读存储器(ROM)和/或随机 存取存储器(RAM)。作为举例而非限制,系统存储器2830还可以包括 操作系统、应用程序、其他程序模块以及程序数据。根据另一个示例,计 算机2610还可以包括各种其他介质(未示出),其包括但不限于:RAM、 ROM、EEPROM、闪存或其他存储器技术、光盘(CD)ROM、数字多 功能盘(DVD)或其他光盘存储装置、盒式磁带、磁带、磁盘存储装置 或其他磁存储设备、或能够用于存储期望信息的其他有形和/或非暂时性 介质。

用户可以通过输入设备2840向计算机2810输入命令和信息。监视器 或其他类型的显示设备还可以通过诸如输出接口2850的接口连接到系统 总线2822。除了监视器之外,计算机还可以包括能够通过输出接口2850 进行连接的其他外围输出设备,例如扬声器和打印机。

计算机2810可以使用到一个或更多个远程计算机(例如远程计算机 2870)的逻辑连接在网络化或分布式环境中进行操作。远程计算机2870 可以是个人计算机、服务器、路由器、网络计算机、对等设备或其他常见 的网络节点、或任何其他远程介质消耗或传输设备,远程计算机2870可 以包括以上描述的与计算机2810有关的任何或所有元件。图28中描绘的 逻辑连接包括网络2872(例如,局域网(LAN)或广域网(WAN)),但 还可以包括其他网络/总线。这样的网络化环境在家中、办公室、企业范 围计算机网络、内联网和因特网中是寻常的。

如上所述,尽管已经结合各种计算设备和网络架构对示例性实施例进 行了描述,但是基本构思可以被应用于期望实现真实世界应用的游戏的任 何网络系统和任何计算设备或系统。

此外,还存在多种方式来实现使得应用或服务能够利用文中所提供的 技术的相同或相似功能,例如,合适的API、工具包、驱动程序代码、操 作系统、控件、独立的或可下载的软件对象等。因此,从API(或其他软 件对象)的立场以及从实现文中所述的一个或更多个实施例的软件或硬件 对象来设想文中的实施例。因此,文中所描述的各种实施例可以具有全部 为硬件、部分为硬件或部分为软件以及全部为软件的方面。

文中使用了词语“示例性”以表示用作示例、实例或说明。为了避免 疑问,文中公开的主题不限制于这样的示例。此外,文中被描述为“示例 性”的任何方面或设计不必被理解为比其他方面或设计优选或有利,而且 它也不意味着排除本领域普通技术人员知道的等同示例性结构和技术。此 外,在使用术语“包括(include)”、“具有”、“包含”以及其他类似词语 的方面,为了避免疑问,这样的术语意在以与作为开放性承接词的术语“包 括(comrise)”相似的方式为包括性的,当在权利要求中使用时,这样的 术语不排除任何附加或其他元素。

如所提到的,文中描述的各种技术可以结合硬件或软件或在适当的情 况下结合硬件和软件的组合进行实施。如文中所使用的,术语“组件”、 “模块”、“系统”等同样意在指计算机相关实体、硬件、硬件与软件的组 合、软件、或执行中的软件。例如,组件可以是但不限于:在处理器上运 行的处理、处理器、对象、可执行体、执行的线程、程序、和/或计算机。 作为举例,运行在计算机上的应用以及计算机两者可以为组件。一个或更 多个组件可以驻留在执行的进程和/或线程中,并且组件可以位于一个计 算机上和/或分布在两个或更多个计算之间。

已经关于若干组件之间的交互描述了上述系统。应理解,这样的系统 和组件可以包括这些组件或指定的子组件、指定的组件或子组件中的一 些、和/或附加组件、以及根据前述的各种置换和组合。子组件还可以实 施为通信耦合至除了包括在父组件(分级)内的组件之外的其他组件。此 外,注意,一个或更多个组件可以组合到提供集合功能的单个组件中或者 可以分成若干个独立的子组件,还要注意,可以设置任意一个或多个中间 层,例如管理层,从而通信耦合到这样的子组件,以提供集成的功能。文 中描述的任意组件还可以与文中没有具体描述的但对于本领域的普通技 术人员是熟知的一个或更多个其他组件进行交互。

鉴于上述示例性系统,还可以参照各个附图的流程图来理解可以根据 所述描述的主题来实施的方法。尽管出于简化说明的目的,方法被示出和 描述为一系列块,但是应了解和理解各种实施例不限制于块的顺序,由于 一些块可以以不同的顺序发生和/或与来自文中所描绘和描述的其他块同 时发生。在通过流程图示出了非连续或分支的流程的情况下,要理解可以 实施各种其他分支、流程路径以及块的顺序,这实现相同或类似的结果。 此外,在实施文中所描述的方法中,一些示出的块是可选的。

除了文中所描述的各种实施例之外,要理解可以在不脱离本发明范围 的情况下,使用其他类似的实施例或对所描述的实施例进行修改或添加以 执行相应实施例的相同或等同功能。更进一步地,多个处理芯片或多个设 备可以共享文中描述的一个或更多个功能的执行,并且类似地,可以跨越 多个设备来实现存储。因此,本发明不限于任何单个实施例,而是应根据 所附权利要求以最广泛的精神和范围来解释。

关于包括以上各实施例的实施方式,还公开下述附记:

附记

1.一种装置,包括:

计算机可读存储介质,所述计算机可读存储介质被配置成存储与应用 相关联的应用项目以及对应于所述应用项目的多组配置信息;以及

处理器,所述处理器耦合至所述计算机可读存储介质,所述处理器被 配置成执行存储在所述计算机可读存储介质上的计算机可执行模块,所述 计算机可执行模块包括:

设计者模块,所述设计者模块被配置成显示并激活多个开发工 具,所述多个开发工具能够用于生成包含在所述应用项目内的、指定 所述应用的内容;以及

部署模块,所述部署模块被配置成基于所述应用项目和所述多组 配置信息中的与目标相应地关联的一组配置信息来将所述应用安装 到所述目标。

2.根据附记1所述的装置,其中,所述计算机可读介质还包括多个 数据存储区,所述多个数据存储区包括:

开发库存储区,所述开发库存储区被配置成保存可供合并到所述应用 项目中并由所述应用使用的多个开发库;

应用项目存储区,所述应用项目存储区被配置成保存多个应用项目;

应用配置存储区,所述应用配置存储区被配置成存储所述多组配置信 息;以及

目标信息存储区,所述目标信息存储区被配置成保存与所述应用能够 部署到的设备有关的信息。

3.根据附记1所述的装置,其中,存储在所述计算机可读存储介质 上的所述计算机可执行模块还包括配置模块,所述配置模块被配置成:生 成所述多组配置信息;将所述多组配置信息存储到所述计算机可读存储介 质;以及修改所述多组配置信息中的一组或更多组配置信息。

4.根据附记3所述的装置,其中,所述配置模块还包括自主配置模 块,所述自主配置模块被配置成评估与所述目标有关的目标信息以及自主 地生成与所述目标相关联的该组配置信息。

5.根据附记4所述的装置,其中,所述自主配置模块还包括:

目标分析模块,所述目标分析模块被配置成基于所述目标信息来识别 所述目标的特征;

网络分析模块,所述网络分析模块被配置成基于包括在所述目标信息 中的网络信息来确定所述目标的网络设置;

安全分析模块,所述安全分析模块被配置成识别与所述目标相关联的 安全策略;

应用分析模块,所述应用分析模块被配置成基于所述应用项目来识别 所述应用的特征;以及

配置生成模块,所述配置生成模块被配置成基于由所述目标分析模 块、所述网络分析模块、所述安全分析模块或所述应用分析模块中的至少 一个提供的信息来生成与所述目标相关联的该组配置信息。

6.根据附记5所述的装置,其中,存储在所述计算机可读存储介质 上的所述计算机可执行模块还包括环境评估模块,所述环境评估模块被配 置成:

获得关于所述目标所位于的系统环境的环境信息;

查询所述目标以获得设备信息;以及

将所述环境信息和所述设备信息编译到所述目标信息中。

7.根据附记1所述的装置,其中,所述部署模块还包括目标识别模 块,所述目标识别模块被配置成确定为应用部署而选择的目标以及基于所 述部署模块所选择的目标的确定来从所述多组配置信息中提取该组配置 信息。

8.根据附记1所述的装置,其中,所述部署模块还包括构建模块, 所述构建模块被配置成编译所述应用项目以生成所述应用以及根据该组 配置信息对所编译的应用项目进行配置。

9.根据附记1所述的装置,其中,所述部署模块还包括下载模块, 所述下载模块被配置成将所述应用下载到所述目标。

10.根据附记1所述的装置,其中,所述应用是能够部署到控制器的 控制应用或能够部署到终端的可视化应用中的至少一个,其中,所述控制 器和所述终端包括在工业自动化环境中。

11.根据附记10所述的装置,其中,所述终端嵌入在所述工业自动 化环境中的工业装置中。

12.一种方法,包括:

识别由应用项目文件指定的应用要被安装到的第一实体;

提取多个配置信息中的第一配置信息,其中所述第一配置信息对应于 所述第一实体;以及

基于所述应用项目文件和所述第一配置信息将所述应用部署到所述 第一实体,

其中,所述第一实体是工业自动化环境内的控制器或人机接口HMI 终端中的至少一个。

13.根据附记12所述的方法,还包括:

识别由所述应用项目文件指定的所述应用要被安装到的第二实体;

从所述多个配置信息中提取第二配置信息,其中所述第二配置信息对 应于所述第二实体;以及

基于所述应用项目文件和所述第二配置信息将所述应用安装到所述 第二实体,

其中,所述第一配置信息不同于所述第二配置信息,并且安装在所述 第一实体和所述第二实体上的所述应用是从相同的应用项目文件导出的。

14.根据附记13所述的方法,其中,将所述应用安装到所述第二实 体还包括将所述应用部署到包含所述第二实体的开发系统,以及

将所述应用部署到所述第一实体还包括将所述应用部署到包含所述 第一实体的生产系统。

15.根据附记13所述的方法,其中,将所述应用安装到所述第二实 体还包括将所述应用部署到包含所述第二实体的原始设备制造商系统,以 及

将所述应用部署到所述第一实体还包括将所述应用部署到包含所述 第一实体的客户系统。

16.根据附记12所述的方法,还包括:

接收与所述工业自动化环境的所述第一实体有关的配置输入;

基于所述配置输入生成所述第一配置信息;以及

将所述第一配置信息包括到所述多个配置信息中。

17.根据附记12所述的方法,还包括:

接收与所述第一实体相关联的目标信息;

评估所述目标信息以识别所述第一实体的特征;

基于所述第一实体的所述特征生成所述第一配置信息;以及

将所述第一配置信息包括到所述多个配置信息中。

18.根据附记12所述的方法,还包括基于所述应用项目文件和所述 第一配置信息将所述应用部署到第三实体。

19.一种系统,包括:

控制器,所述控制器通信耦合至工业装置,并且所述控制器被配置成 执行以下操作中的至少一个:监视所述工业装置的操作或指引所述工业装 置的操作;

终端,所述终端通信耦合至所述控制器,并且所述终端被配置成执行 可视化应用,所述可视化应用被配置成视觉上显示工业机器的状态,其中 所述状态是从所述控制器接收的;以及

设计装置,所述设计装置包括:

配置模块,所述配置模块被配置成管理多个配置信息,其中来自 所述多个配置信息的各个配置信息分别与来自包括所述控制器的一 组控制器的各个控制器以及来自包括所述终端的一组终端的各个终 端相关联;以及

部署模块,所述部署模块被配置成基于所述多个配置信息中的第 一配置信息将所述可视化应用安装到所述终端,

其中,所述第一配置信息指定参数以使得所述终端能够与所述控 制器通信。

20.根据附记19所述的系统,还包括:

第二控制器,所述第二控制器通信耦合至第二工业装置,并且所述第 二控制器被配置成执行以下操作中的至少一个:监视所述第二工业装置的 操作或指引所述第二工业装置的操作;以及

第二终端,所述第二终端通信耦合至所述第二控制器,并且所述第二 终端被配置成执行所述可视化应用,所述可视化应用被配置成视觉上显示 所述第二工业装置的状态,其中,所述状态是从所述第二控制器接收的, 其中,

所述部署模块还被配置成基于所述多个配置信息中的与所述第二终端相 应地关联的第二配置信息来将所述可视化应用安装到所述第二终端,以便 在执行所述可视化应用时使得所述第二终端能够与所述第二控制器通信。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号