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

工业自动化项目代码开发指导和分析的制作方法

2022-03-26 02:44:15 来源:中国专利 TAG:


1.本公开内容大体上涉及工业自动化系统,并且例如涉及工业编程开发平台。


背景技术:

2.操作技术(ot)级系统可以是不同且复杂的,并且可以与许多物理设备进行集成。这种具有挑战性的环境,加上特定领域的编程和开发语言,可以使得ot级上控制系统的开发变得困难,从而导致开发、测试以及最终部署新的控制系统设计的开发周期很长。此外,考虑到当前的虚拟化和模拟能力的普遍缺乏,因此在可以开始实际测试或优化之前,必须在物理操作环境中购买、编程和安装工业自动化系统。该工作流程经常导致项目延迟或成本超支。此外,已安装的工业监视和控制系统的固有复杂性和自定义性质可以使工业资产的所有者(例如,工厂所有者或工业企业实体)难以管理其ot级系统,并且难以保护其自主知识产权免受灾难性故障或网络攻击。


技术实现要素:

3.下面呈现简化的概要,以提供对本文中所描述的一些方面的基本理解。该概要既不是广泛的综述,也不旨在标识关键的/决定性的要素或描绘本文中所描述的各个方面的范围。该概述的唯一目的是以简化的形式呈现一些概念作为后面呈现的具体实施方式的序言。
4.在一个或更多个实施方式中,提供了用于开发工业应用的系统,该系统包括:用户接口组件,其被配置成:经由云平台在客户端设备上呈现开发接口;并经由与开发接口的交互来接收设计输入,该设计输入至少包括用于监视和控制工业自动化系统的一个或更多个工业设备的控制编程和设备配置数据;以及项目生成组件,其被配置成基于设计输入生成控制项目数据,其中,控制项目数据能够被部署到一个或更多个工业设备,以促进一个或更多个工业设备的配置和编程,其中,项目生成组件还被配置成:基于设计输入与云平台的客户特定的存储库中存储的工厂特定的标准定义或者与云平台的知识库中存储的工业特定的标准定义中的至少之一的比较,在设计输入的接收期间,经由云平台在客户端设备上呈现设计反馈。
5.此外,一个或更多个实施方式提供了用于在工业控制系统的开发期间提供设计反馈的方法,该方法包括:由驻留在云平台上的、包括至少一个处理器的系统在通信地连接到云平台的客户端设备上呈现开发接口;由该系统经由与开发接口的交互来接收设计输入,设计输入至少包括用于一个或更多个工业设备的控制编程和设备配置数据;由该系统基于设计输入来生成控制项目数据,其中,控制项目数据在一个或更多个工业设备上可执行,以促进一个或更多个工业设备的配置和编程,以监视和控制工业自动化系统;在设计输入的接收期间,由客户端设备上的系统基于设计输入与云平台的客户特定的存储库中存储的工厂特定的标准定义或云平台的知识库中存储的工业特定的标准定义中的至少之一的比较来生成设计反馈;以及由该系统在开发接口上呈现设计反馈。
6.此外,根据一个或更多个实施方式,提供了其上存储有指令的非暂态计算机可读介质,所述指令响应于执行而导致在云平台上执行并且包括处理器的系统执行操作,所述操作包括:在通信地连接到云平台的客户端设备上呈现开发接口;经由与开发接口的交互来接收设计输入,设计输入至少包括用于一个或更多个工业设备的控制编程和设备配置数据;基于设计输入生成控制项目数据,其中,控制项目数据在一个或更多个工业设备上可执行,以促进一个或更多个工业设备的配置和编程,以监视和控制工业自动化系统;在设计输入的接收期间,基于设计输入与云平台的客户特定的存储库中存储的工厂特定的标准定义或云平台的知识库中存储的工业特定的标准定义中的至少之一的比较来生成设计反馈;以及在开发接口上呈现设计反馈。
7.为了实现上述目的及相关目的,本文中结合以下描述和附图对某些说明性方面进行了描述。这些方面指示可以实践的各种方式,所有这些方式均旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖特征可以根据以下详细描述变得明显。
附图说明
8.图1是示例工业控制环境的框图。
9.图2是示例工业开发中心(idh)存储库系统的框图。
10.图3是示出idh存储库系统的通用架构的图。
11.图4是示出与使用idh存储库系统设计的自动化系统的新控制项目的创建相关联的示例数据流的图。
12.图5是示出可以由idh存储库系统结合构建、部署和执行控制项目来利用的一些示例自动化对象特性的图。
13.图6是示出从提交给idh存储库系统的控制项目中提取项目遥测数据的图。
14.图7是示出基于对提取的项目遥测数据的分析来生成项目建议的图。
15.图8是示出基于对提取的项目遥测数据的分析来生成项目建议的图。
16.图9是示出由idh存储库系统生成交接文档的图。
17.图10是示出由idh存储库系统收集数字签名的图。
18.图11是示出提交控制项目的新版本以用于与较旧的项目版本一起存档的图。
19.图12是示出将设备配置数据智能备份到idh存储库系统的图。
20.图13是示出可以通过idh存储库系统发起的示例恢复过程的图。
21.图14是用于使用基于云的idh存储库系统在开发期间为工业控制项目提供实时设计反馈的示例方法的流程图。
22.图15a是用于对上传的控制项目执行控制项目分析并基于分析结果收集供应商特定的设备使用统计信息的示例方法的第一部分的流程图。
23.图15b是用于对上传的控制项目执行控制项目分析并基于分析结果收集供应商特定的设备使用统计信息的示例方法的第二部分的流程图。
24.图16是示例计算环境。
25.图17是示例联网环境。
具体实施方式
26.现在参照附图描述本公开内容,其中,贯穿全文使用相似的附图标记指代相似的元素。在以下描述中,出于说明的目的,阐述了许多特定细节以提供对其的透彻理解。然而,明显的是,可以在没有这些特定细节的情况下实践本公开内容。在其他实例中,以框图的形式示出了公知的结构和设备,以利于对其进行描述。
27.如在本技术中使用的,术语“部件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关实体,或者与具有一个或更多个特定功能的操作装置相关的或作为该操作装置的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、包括附接的(例如,螺钉连接或螺栓连接)或可移除的附接的固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行体;执行线程;计算机可执行程序和/或计算机。作为说明,服务器上运行的应用以及服务器两者均可以是部件。一个或更多个部件可以驻留在执行的进程和/或线程内,并且部件可以位于一个计算机上以及/或者分布在两个或更多个计算机之间。此外,本文所描述的部件可以从存储有各种数据结构的各种计算机可读存储介质来执行。部件可以经由本地和/或远程进程例如根据具有一个或更多个数据包的信号(例如,来自与本地系统、分布式系统中的另一部件进行交互和/或经由信号跨网络例如因特网与其他系统进行交互的一个部件的数据)进行通信。作为另一示例,部件可以是具有由下述电气或电子电路操作的机械部件提供的特定功能的装置,所述电气或电子电路由处理器执行的软件或固件应用来操作,其中,处理器可以在该装置的内部或外部,并且执行软件或固件应用的至少一部分。作为又一示例,部件可以是(在没有机械部件的情况下)通过电子部件提供特定功能的装置,该电子部件可以在其中包括处理器,以执行至少部分提供电子部件的功能的软件或固件。作为又一示例,(一个或更多个)接口可以包括输入/输出(i/o)部件以及相关联的处理器、应用或应用程序接口(api)部件。虽然前述示例涉及部件的方面,但是所例示的方面或特征也适用于系统、平台、接口、层、控制器、终端等。
28.如本文中所使用的,术语“推理”和“推断”通常涉及根据经由事件和/或数据捕获的观察结果的集合来推理或推断系统、环境和/或用户的状态的处理。例如,可以采用推断来识别特定的情境或动作,或者可以生成关于状态的概率分布。推断可以是概率性的,也就是说,基于对事件和数据的考虑来计算关于所关注状态的概率分布。推断还可以涉及用于从事件和/或数据的集合构成较高级别的事件的技术。这样的推断导致根据观察到的事件和/或所存储的事件数据的集合构造出新事件或动作,无论这些事件是否以紧密的时间接近度相关,以及事件和数据是否来自一个或若干个事件和数据源。
29.另外,术语“或”旨在意指包含性的“或”而不是排他性的“或”。也就是说,除非另外指明或者根据上下文是清楚的,否则短语“x采用a或b”旨在意指任何自然的包括性排列。也就是说,以下实例中的任何实例满足短语“x采用a或b”:x采用a;x采用b;或者x采用a和b两者。另外,本技术和所附权利要求中所使用的冠词“一个”和“一种”通常应当被解释为意指“一个或更多个”,除非另外指明或者根据上下文清楚的是,该冠词针对单数形式。
30.此外,文中使用的术语“集合”排除空集,例如其中没有元素的集合。因此,在本公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个或更
多个控制器;数据资源的集合包括一个或更多个数据资源等;同样,本文所用的术语“组”是指一个或更多个实体的集合;例如,一组节点是指一个或更多个节点。
31.将根据可以包括许多设备、部件、模块等的系统来呈现各个方面或特征。要理解和领会的是,各个系统可以包括另外的设备、部件、模块等,以及/或者各个系统可以不包括结合附图所讨论的全部设备、部件、模块等。也可以使用这些方法的组合。
32.图1是示例工业环境100的框图。在该示例中,多个工业控制器118被部署在整个工业工厂环境中,以监视和控制与产品制造、加工、运动控制、批处理、材料处理或其他这样的工业功能相关的相应工业系统或处理。工业控制器118通常执行相应的控制程序以利于对组成受控工业资产或系统(例如,工业机器)的工业设备120进行监视和控制。一个或更多个工业控制器118还可以包括在个人计算机、刀片式服务器或其他硬件平台或云平台上执行的软控制器。一些混合设备还可以将控制器功能与其他功能(例如,可视化)进行组合。由工业控制器118执行的控制程序可以包括用于处理从工业设备120读取的输入信号以及控制由工业控制器生成的输出信号的任何可想到的类型的码,包括但不限于梯形逻辑、顺序功能图、功能框图、结构化文本、c 、python、javascript等。
33.工业设备120可以包括输入设备、输出设备或者用作输入设备和输出设备两者的设备,输入设备向工业控制器118提供与受控工业系统相关的数据,输出设备对由工业控制器118生成的控制信号做出响应以控制工业系统的各方面。示例输入设备可以包括遥测设备(例如,温度传感器、流量计、物位传感器、压力传感器等)、手动操作者控制设备(例如按钮、选择器开关等)、安全监视设备(例如,安全垫、安全拉绳、光幕等)以及其他这样的设备。输出设备可以包括马达驱动器、气动致动器、信号设备、机器人控制输入、阀等。诸如工业设备120m的一些工业设备可以在不受工业控制器118的控制的情况下在工厂网络116上自主地操作。
34.工业控制器118可以通过硬连线连接或者通过有线或无线网络与工业设备120通信地对接。例如,工业控制器118可以配备有与工业设备120进行通信以影响对设备的控制的本地硬连线输入和输出。本地控制器i/o可以包括:向现场设备发送离散电压信号以及从现场设备接收离散电压信号的数字i/o,或者向设备发送模拟电压或电流信号以及从设备接收模拟电压或电流信号的模拟i/o。控制器i/o可以通过背板与控制器的处理器进行通信,使得数字信号和模拟信号可以被读入控制程序并受控制程序控制。工业控制器118还可以使用例如通信模块或集成联网端口通过工厂网络116与工业设备120通信。示例性网络可以包括因特网、内联网、以太网、以太网/ip(ethernet/ip)、设备网(devicenet)、控制网(controlnet)、数据高速公路和数据高速公路加(dh/dh )、远程i/o、现场总线(fieldbus)、网络通讯协议(modbus)、过程现场总线(profibus)、无线网络、串行协议等。工业控制器118还可以存储可以由控制程序引用并且用于控制决策的持久数据值,其包括但不限于:表示受控机器或处理的操作状态的测量或计算的值(例如,罐水平、位置、警报等),或者在自动化系统的操作期间收集的捕获的时间序列数据(例如,多个时间点的状态信息、诊断发生等)。类似地,一些智能设备——包括但不限于马达驱动器、仪器或状态监视模块——可以存储用于控制操作状态和/或使操作状态可视化的数据值。这样的设备还可以将时间序列数据或事件捕获在日志上以供稍后检索和查看。
35.工业自动化系统通常包括一个或更多个人机接口(hmi)114,其允许工厂人员查看
与自动化系统相关联的遥测数据和状态数据,并且控制系统操作的一些方面。hmi 114可以通过工厂网络116与工业控制器118中的一个或更多个进行通信,并且与工业控制器交换数据,以便于在一个或更多个预开发的操作者接口屏幕上对与受控工业处理相关的信息进行可视化。hmi 114还可以被配置成允许操作者将数据提交至工业控制器118的存储器地址或指定的数据标签,从而为操作者提供向受控系统发出命令(例如,循环启动命令、设备致动命令等)、修改设定点值等的手段。hmi114可以生成一个或更多个显示画面,操作者通过一个或更多个显示画面与工业控制器118交互并且从而与受控过程和/或系统交互。示例显示画面可以使用处理的图形表示来使工业系统或其相关联设备的当前状态可视化:所述处理的图形表示显示计量或计算的值、采用基于状态的颜色或位置动画、呈现警报通知或者采用用于向操作者呈现相关数据的其他这样的技术。以该方式呈现的数据由hmi 114从工业控制器118读取,并且根据由hmi开发者选择的显示格式被呈现在显示画面中的一个或更多个上。hmi可以包括具有用户安装或预先安装的操作系统以及用户安装或预先安装的图形应用软件的固定位置设备或移动设备。
36.一些工业环境还可以包括与受控工业系统的特定方面相关的其他系统或设备。这些系统或设备可以包括例如一个或更多个数据历史库(data historian)110,该数据历史库110聚合和存储从工业控制器118和其他工业设备收集的生产信息。
37.工业设备120、工业控制器118、hmi 114、相关联的受控工业资产、以及其他工厂车间系统例如数据历史库110、视觉系统以及其他这样的系统在工业环境的操作技术(ot)级上操作。更高级别的分析和报告系统可以在信息技术(it)域中的工业环境的更高企业级处(例如在办公网络108上或在云平台122上)操作。这样的更高级别的系统可以包括例如企业资源计划(erp)系统104,所述erp系统104集成并总体地管理高级业务操作,例如财务、销售、订单管理、营销、人力资源或其他这样的业务功能。鉴于更高级别的业务考虑,制造执行系统(mes)102可以监视和管理控制级上的控制操作。报告系统106可以从工厂车间的工业设备收集操作数据,并且生成总结受控工业资产的操作统计的每日或轮班报告。
38.ot级系统可以是不同且复杂的,并且可以与许多物理设备进行集成。这种具有挑战性的环境,加上特定领域的编程和开发语言,可以使得ot级上控制系统的开发变得困难,从而导致开发、测试以及最终部署新的控制系统设计的开发周期很长。此外,考虑到当前的虚拟化和模拟能力的普遍缺乏,因此在可以开始实际测试或优化之前,必须在物理操作环境中购买、编程和安装工业自动化系统。该工作流程经常导致项目延迟或成本超支。此外,已安装的工业监视和控制系统的固有复杂性和自定义性质可以使工业资产的所有者(例如,工厂所有者或工业企业实体)难以管理其ot级系统,并且难以保护其自主知识产权免受灾难性故障或网络攻击。
39.为了解决这些问题和其他问题,本文描述的一个或更多个实施方式提供了基于云的工业开发中心(industrial development hub,idh),该idh支持易于使用并作为服务提供的工业客户的开发和测试能力。idh包括增强的存储平台和相关的设计工具(统一称为库(vault)),该库用作客户可以在其上存储控制项目代码、设备配置以及工业自动化项目的其他数字方面的存储库。idh系统可以利于容易地发现和管理与控制系统相关联的数字内容,并且可以用于系统备份和还原、代码转换以及版本管理。
40.图2是根据本公开内容的一个或更多个实施方式的示例工业开发中心(idh)存储
库系统202的框图。在本公开内容中说明的系统、装置或处理的方面可以构成实施在(一个或更多个)机器内例如实施在与一个或更多个机器相关联的一个或更多个计算机可读介质(或介质)中的机器可执行部件。这样的部件在由一个或更多个机器(例如(一个或更多个)计算机、(一个或更多个)计算设备、(一个或更多个)自动化设备、(一个或更多个)虚拟机等)执行时可以使(一个或更多个)机器执行描述的操作。
41.idh存储库系统202可以包括用户接口组件204、项目生成组件206、项目遥测组件208、项目分析组件210、项目文档组件212、资产恢复组件214、仿真组件216、模拟组件218、一个或更多个处理器224和存储器226。在各种实施方式中,用户接口组件204、项目生成组件206、项目遥测组件208、项目分析组件210、项目文档组件212、资产恢复组件214、仿真组件216、模拟组件218、一个或更多个处理器224和存储器226中的一个或更多个可以彼此电耦合和/或彼此通信地耦合,以执行idh存储库系统202的一个或更多个功能。在一些实施方式中,组件204、206、208、210、212、214、216和218可以包括存储在存储器226上并由(一个或更多个)处理器224执行的软件指令。idh存储库系统202还可以与图2中没有描绘的其它硬件和/或软件组件进行交互。例如,(一个或更多个)处理器224可以与一个或更多个外部用户接口设备——诸如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备——进行交互。
42.idh存储库系统202可以作为一组基于云的服务在云平台上实现,以利于具有业务或技术关系的不同范围的用户的访问,该不同范围的用户包括工业设备所有者(例如,工业企业实体或工厂所有者)、设备供应商、原始设备制造商(oem)、系统集成商或其它这样的用户实体。系统202在其上执行的云平台可以是允许具有云能力的设备访问和利用共享计算服务的任何基础设施。云平台可以是由具有互联网连接性和使用idh存储库服务的适当授权的设备能够经由互联网进行访问的公共云。在一些场景中,云平台可以被云提供商设置为平台即服务(paas),并且idh存储库系统202可以作为基于云的服务驻留在云平台上并在云平台上执行。在一些这样的配置中,可以由idh存储库系统202的所有者将对云平台和相关联的idh存储库服务的访问提供给客户作为订阅服务。可替选地,云平台可以是由工业企业(工厂设施的所有者)进行内部操作的私有云。示例私有云平台可以包括托管idh存储库系统202并且驻留在由防火墙保护的公司网络上的一组服务器。
43.用户接口组件204可以被配置成接收用户输入并且以任何适当的格式(例如,视觉、音频、触觉等)向用户呈现输出。在一些实施方式中,用户接口组件204可以被配置成与客户端设备(例如,膝上型计算机、平板计算机、智能电话等)通信地交互,该客户端设备(例如,经由硬连线连接或无线连接)通信地连接到idh存储库系统202。然后,用户接口组件204可以为客户端设备提供idh接口环境,系统202通过该idh接口环境接收用户输入数据并呈现输出数据。在其他实施方式中,用户接口组件204可以被配置成生成适当的接口屏幕并将所生成的接口屏幕(例如,程序开发屏幕、项目提交屏幕、分析结果屏幕等)提供给客户端设备,并经由这些接口屏幕交换数据。可以经由用户接口组件204的各种实施方式接收的输入数据可以包括但不限于编程代码(包括工业控制编程,诸如梯形逻辑编程)、设备配置数据、工程图、hmi应用或其他这样的输入。由用户接口组件204的各种实施方式呈现的输出数据可以包括程序代码、编程反馈(例如,错误和突出显示、编码建议等)、控制项目遥测和建议、项目测试结果等。
44.项目生成组件206可以被配置成基于经由用户接口组件204接收的设计输入以及由idh存储库系统202保持的工业知识、预定义代码模块和资产模型来创建包括一个或更多个项目文件的控制系统项目。控制系统项目可以包括工业控制代码(例如,梯形逻辑、结构化文本、功能框图等)、包含一个或更多个hmi接口屏幕定义的hmi应用、设备配置文件或其他这样的项目文件中的一项或更多项。
45.项目遥测组件208可以被配置成分析由用户提交的工业控制项目,并基于该分析为所提交的项目生成项目遥测或统计信息。可以由项目遥测组件208生成的示例项目遥测数据可以包括但不限于:项目中使用的设备的库存;关于如何使用设备的信息;指示与设备或相关软件将操作的硬件或软件容量限制的接近程度的报告;项目在运行期间预计要消耗多少内存或能量;或其他这样的统计信息。
46.项目分析组件210被配置成分析由项目遥测组件208生成的项目遥测数据,并基于该分析生成设计建议或警告。项目分析组件210还可以生成从由多个终端客户提交的多个项目推断出的设备或装置使用统计信息,以供装置供应商或oem使用。
47.项目文档组件212可以被配置成基于对控制系统项目的分析来生成各种项目交接或验证文档,包括但不限于批准文档、安全验证检查列表、i/o结帐文档、审计文档或其他这样的文档。资产恢复组件214可以被配置成收集和存档控制项目文件和设备配置的备份,并根据灾难恢复或远程部署的目的的需要来部署这些存档的项目文件。仿真组件216可以被配置成对正在虚拟化的(或仿真的)工业控制器上测试的工业控制项目的执行进行仿真。模拟组件218可以被配置成在对被仿真的工业控制项目的控制下模拟工业自动化系统的虚拟化模型的操作。
48.一个或更多个处理器224可以执行本文中参照所公开的系统和/或方法描述的功能中的一个或更多个功能。存储器226可以是存储用于执行本文中参照所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
49.图3是示出根据一个或更多个实施方式的idh存储库系统202的通用架构的图。如上所述,idh存储库系统202可以作为一组基于云的存储、分析和项目编辑服务在云平台上执行。客户端设备302(例如,膝上型计算机、平板计算机、台式计算机、移动设备、可穿戴ar/vr装置等)可以访问存储库系统的项目开发和分析工具,并利用这些工具上载或创建用于正在开发的自动化系统的控制项目。为此,系统的用户接口组件204可以将idh客户端304远程地提供给客户端设备302。idh客户端304包括用作到系统202的接口的多个接口显示。
50.使用由存储库系统202提供的工具,用户可以将控制项目306提交给存储库系统202。通常,控制项目306包括数字数据或文件,所述数字数据或文件当在工业环境中部署的对应的工业设备上执行时,利于对自动化系统或工业过程的监视和控制。控制项目306可以包括旨在用于在工业控制器上执行的控制代码(例如,梯形逻辑、序列功能图表、结构化文本、功能框图等)、设备配置数据(例如,工业控制器配置文件、马达驱动配置文件等)、可视化应用(例如,hmi应用、ar/vr内容等)或其他这样的控制项目数据。在一些场景下,控制代码306还可以包括用于其相关联的自动化系统的工程文档,所述工程文档包括工程图(例如,cad文件)、支持文档、维护计划或其他这样的文档。在由idh存储库系统202提供的设计工具被用于执行项目开发的一些场景中,控制项目306可以作为正在进行的项目开发输入(例如,作为当设计者正在写代码时提交给存储库系统202的控制代码)而被提交。可替选
地,用户可以将完成的控制项目提交到存储库以用于存储、分析和反馈。这两种情况将在本文中被更详细地描述。
51.除了用作所提交的控制项目306的基于云的存储之外,存储库系统202对提交的控制项目306应用各种分析,并生成用于改进提交的控制项目的方面的项目建议308。该分析可以基于存储库系统202上维护的客户存储库324和供应商存储库326中包含的客户特定的信息和供应商特定的信息以及存储在知识库328中的一般工业专业知识。
52.存储库系统202可以维护针对各个不同的终端用户实体(例如,装置或工厂所有者、工业企业等)指定的多个客户储存库324。工业资产的所有者可以将项目版本310提交并存档在其指定的客户存储库324中。用户还可以定义定制的工厂标准314,该工厂标准可以存储在客户存储库324中并应用于所提交的控制项目,以确保项目符合所定义的标准。客户储存库324还可以存储与在客户设施处使用的工业资产对应的数字资产模型312。这些资产模型312可以用于多种目的,包括但不限于所提交的控制项目的数字模拟。
53.存储库系统202还可以基于由装置或设备供应商提交并存储在一个或更多个供应商储存库326中的供应商特定的数据来分析控制项目306。类似于客户储存库324,存储库系统202可以维护被分配给各个不同的装置供应商或oem的多个供应商储存库326。供应商可以提交设备配置文件316或他们的装置或设备的其他类型的数字模型,以存储在他们的指定的供应商储存库326中。这些设备配置文件316可以与构建客户的自动化系统或工厂环境的数字双工模型结合使用,或者用于将客户对其装置的使用与定义的装置容量进行比较。供应商还可以提交和存储可以与其装置的操作结合执行的应用318或代码段(例如,控制逻辑、hmi接口显示、报告工具等)。
54.所提交的控制项目306也可以根据由其他客户提交并被认为与提交的项目类似的其他存档的项目320进行分析。该分析对于识别所提交的控制项目306的各部分(例如,用于对特定类型的工业机器或过程进行编程的代码)可能有用,所述各部分偏离了其他设计者使用的更常见的方法。知识库328还可以存储多个行业特定的标准定义,所提交的控制项目306可以对照这些标准定义进行检查。如将在本文中描述的,其他类型的信息可以由存储系统以各种存储指定来存储和管理,并且可以用于分析和优化所提交的控制项目数据。
55.如上所述,控制项目306可以作为给定的工业控制项目的一个或更多个完成的项目文件来提交,以进行存储和分析,或者如果存储库系统的本地项目开发工具正在用于创建新的项目,则该控制项目306可以在项目的开发期间作为设计输入进行提交。图4是示出根据一个或更多个实施方式的与使用存储库系统202设计的自动化系统的新的控制项目306的创建相关联的示例数据流的图。在该示例中,客户端设备302访问存储库系统的项目开发工具,并利用这些工具为正在开发的自动化系统创建控制项目302。控制项目302可以包括以下项中的一项或更多项:工业控制器代码(例如,控制逻辑、结构化文本、序列功能图表等);设备配置文件或参数设置;定义hmi屏幕的hmi应用或用于使自动化系统的操作可视化的ar/vr可视化;或控制项目的其他这样的方面。
56.因此,为了促进项目开发,用户接口组件204可以为客户端设备302提供允许用户以各种支持的格式将设计输入404提交给存储库系统202的开发接口显示,所述设计输入404包括但不限于:用于在工业控制器上执行的控制编程;被下载到相应的工业设备(例如,马达驱动器、传感器、工业控制器等)以促进那些设备的配置的设备配置设置;hmi屏幕开发
数据;或其他这样的设计输入404。基于该设计输入404,项目生成组件206生成控制项目306,该控制项目306包括以下项中的一项或更多项:已编译的控制器代码、设备配置数据、hmi应用文件或其他可以在适当的工业设备上部署和执行以执行被编程的控制功能的这样的可执行控制项目数据。
57.在一些实施方式中,存储库系统202可以帮助开发者设计混合项目开发方法,使得设计功能在本地工作站与基于云的设计服务之间被划分。在这方面,存储库系统202可以帮助设计者划定项目开发的哪些部分在本地执行以及哪些部分在云平台上执行。
58.另外,在控制项目306的开发期间,项目生成组件206可以生成设计反馈406,该设计反馈406旨在帮助开发者开发和优化控制项目306,并且该设计反馈406可以作为对设计者的实时反馈而由用户接口组件204呈现。该设计反馈406可以基于对设计输入404本身的分析以及存储在客户存储库324、供应商存储库326和知识库328中的信息来生成。
59.例如,当设计者正在输入要在工业控制器上编译和执行的作为设计输入404的控制代码时,项目生成组件206可以对代码执行代码分析,并基于该分析来提供与多个代码或项目质量度量相关的建议、通知或预测。该分析可以包括确定控制代码是否符合正在为其开发代码的工厂设施处使用的工程标准和实践。为了帮助进行该分析,工厂设施处的工程师可以提交控制代码标准定义,该控制代码标准定义定义了所有控制代码在被允许在工厂设施内执行之前被期望遵守的编码标准。这些编码标准可以作为工厂标准314存储在客户的存储库324中,并且可以在设计者提交设计输入404时由项目生成组件206引用,以确定提交的控制代码是否符合工厂标准。
60.工厂标准314可以在优选的控制行为方面(例如,要使用的优选的控制序列或在执行特定类型的控制动作时必须识别的联锁,针对特定机器操作的优选的最大控制设定点或最小控制设定点)以及优选的代码格式方面定义编码标准。工厂标准314还可以为特定类型的设备(例如,马达驱动器、网络基础设施设备等)定义优选的参数或配置,并且项目生成组件206可以在开发期间监视所提交的设计输入404,以确保由设计者提交的任何设备配置都符合定义的标准。在基于该评估确定设计者已经输入了不合规的设备配置时,项目生成组件206可以生成将偏差通知用户并指示允许的配置参数的设计反馈。
61.工厂标准314还可以包括项目特定的标准,该项目特定的标准包括功能规范或安全验证要求。项目生成组件206可以参照由工厂标准314定义的功能项目要求来监视设计输入404,并且该项目生成组件206在确定所提交的设计输入404的任何部分偏离了所定义的功能规范或安全验证要求时生成设计反馈,该设计反馈向用户通知该偏差,并就如何使控制项目的偏差部分可以符合要求提供建议。工厂标准314可以根据要执行的制造功能、优选的装置供应商、要使用的装置、产品输出要求、能耗要求、网络利用要求或其他这样的规范来定义功能规范。取决于由工厂标准314阐述的功能规范,项目生成组件206可以基于设计输入404来推断控制项目的相关特性,并在项目的任何方面偏离这些标准的情况下通知用户。例如,如果功能规范指示仅将来自指定的优选供应商的马达驱动器用于新的安装,则项目生成组件206可以根据设计输入404(例如,根据工业控制器的i/o配置,或根据设计输入404中包含的设备配置数据)来推断来自未批准的供应商的设备被包含在控制项目设计中,并且向用户通知必须替换来自已批准的供应商的其他设备。
62.在一些实施方式中,项目生成组件206还可以将作为设计输入404的一部分提交的
控制代码与针对同一控制项目或由同一客户开发的不同控制项目的已存档项目版本310中包括的先前提交的控制代码进行比较。基于对由客户提交并存档在客户存储库324中的其他控制代码的分析,项目生成组件206可以学习或推断由该客户使用的典型的编码风格或设计方法。例如,这可以包括代码缩进偏好、有关调用语句的使用的偏好、梯级注释标准、变量或i/o命名标准或其他这样的优选的编程特征。除了控制编码标准之外,项目生成组件206还可以标识客户对某些控制操作进行编程的优选方式。例如,项目生成组件206可以基于对存档的项目版本310的分析来识别出客户使用特定的控制序列,以便将材料从源容器移动到罐,或者可以识别出客户通常将特定的控制操作与在控制操作可以被执行之前必须满足的一组联锁相关联。
63.基于这些学习到的客户编程偏好,项目生成组件206可以基于与项目版本310的比较来识别作为设计输入404的一部分提交的控制编程是否偏离了工厂的优选编码实践或工厂控制某些工业操作的优选方式,并且该项目生成组件206可以生成设计反馈406,以用于通知这些偏离并建议将使当前项目符合先前设计策略的可替选控制编码。该反馈406可以包括例如:向用于特定控制操作的控制编程添加一个或更多个联锁的建议;对用于控制特定类型的机器的操作序列进行重新排序的建议;对变量或i/o点重命名以符合工厂的优选的命名法的建议;添加或修改梯级注释的建议;改变控制代码的一部分的缩进的建议;用call语句替换代码的重复实例的建议;或其它这样的反馈。
64.项目生成组件206还可以参照一个或更多个供应商存储库326中的供应商特定的装置或设备数据,以预测用户的提交的设计输入404是否将导致设备集成或兼容性问题。该确定可以例如基于由设备供应商提交以用于由项目生成组件206访问的设备配置文件316。每个设备配置文件316可以包括给定设备的数字规范数据,并且还可以记录针对该设备的已知的兼容性问题。使用该信息,项目生成组件206可以评估所提交的设计输入404,以确定在给定一个或更多个设备的已知限制的情况下,所提交的控制编程或设备配置的任何部分是否将导致性能或集成问题。该评估还可以考虑用户针对协作操作而正在设计的成组的设备之间的推断交互。例如,如果设计输入404建议设计者旨在配置两个不兼容的设备以用于协作操作(如基于设备配置文件316中记录的已知的兼容性问题确定的),则项目生成组件206可以生成指示两个不兼容的设备的设计反馈406。
65.由项目生成组件206应用的分析还可以识别所提交的控制代码内的不正确或非最优的编码实践。该确定可以部分地基于在存储库系统的知识库328中维护的标准定义322中定义的优选的编码实践。可以由项目生成组件206识别的编码问题可以包括但不限于过多层次的嵌套、过多的重复代码、不正确的代码缩进等。响应于在用户的提交的代码中检测到这样的编码问题,项目生成组件206可以提供设计反馈,该设计反馈建议将使控制代码符合优选的编码标准(例如,建议采用案例陈述来消除过多的梯形逻辑)的替选编程方法。
66.项目生成组件206还可以标识可以在控制项目306中进行的修改或替换,所述修改或替换可以改进与控制项目306的执行相关联的存储器或网络利用率。这可以包括例如标识替选的控制代码编程或对控制项目306进行其他修改,这些操作可以在不更改预期的控制功能的情况下减轻工业控制器的处理负担。在另一示例中,项目生成组件206可以确定:利用设备的当前未使用的功能(例如,操作模式或配置参数设置)或者使用不同的设备模型来替换当前在控制项目306中使用的设备可以减少能耗或网络带宽利用率。
67.为了支持增强的开发能力,idh存储库系统202的一些实施方式可以支持基于基于对象的数据模型而不是基于标签的架构的控制编程。自动化对象可以用作该基于对象的开发架构的构建块。图5是示出可以由存储库系统202结合构建、部署和执行控制项目306来利用的一些示例自动化对象属性的图。自动化对象504可以在设计期间被创建和扩充、可以被集成到更大的数据模型中以及可以在运行期间被消耗。这些自动化对象504跨存储库系统202提供公共数据结构,并且可以被存储在对象库(例如,存储器226的一部分)中以供重新使用。对象库可以存储表示现实世界工业资产502的各种分类的预定义自动化对象504,现实世界工业资产502包括但不限于泵、罐、阀、马达、马达驱动(例如,变频驱动)、工业机器人、致动器(例如,气动或液压致动器)或其他这样的资产。自动化对象504可以表示工业企业的基本上任何级别的元素,所述任何级别的元素包括单独的设备、由许多工业设备和部件(其中的一些可以与它们自己的自动化对象504相关联)组成的机器以及整个生产线或过程控制系统。
68.给定类型的工业资产的自动化对象504可以对诸如2d或3d可视化、警报、控制编码(例如,逻辑或其他类型的控制编程)、分析学、启动过程、测试协议和脚本、验证过程和报告、模拟、图表、安全协议以及与由对象504表示的工业资产502相关联的其他这样的特性的各方面进行编码。还可以用标识相关联的资产的位置的位置信息来对自动化对象504进行地理标记。在控制项目306的运行期间,与给定的现实世界资产502对应的自动化对象504也可以记录该资产的状态或操作历史数据。通常,自动化对象504用作其对应的工业资产502的编程表示,并且可以作为控制代码、2d或3d可视化、针对工业资产的知识库或维护指导系统或其他这样的方面的元素合并至控制项目306中。
69.项目分析组件210的一些实施方式还可以基于从对控制项目306的分析中获得的设备配置信息来预测网络流量或负载统计信息,并且可以基于这些预测来生成网络配置建议。该分析可以基于客户的网络配置与已知的或建议的网络配置的比较。项目分析组件210还可以生成网络风险报告,该网络风险报告指示由于实现所提出的控制设计而导致的网络故障的风险。
70.如图3中所描绘的,已完成的控制项目306——使用存储库系统的项目编辑工具(如以上结合图4所述)开发的或者使用单独的控制项目开发平台(例如,梯形逻辑开发平台、hmi应用开发平台、设备配置应用等)开发的——可以被提交给存储库系统202以用于分析、存档或升级的目的。在这方面,idh存储库系统202用作向任意数目的参与的工业客户开放的安全和智能的工业控制项目存储库,该工业控制项目存储库提供了控制项目306的安全存档以及对这些项目306的分析以为了生成项目建议308,该项目建议308旨在对控制设计进行优化或将设计者引导至先前未知和未使用的设备功能,所述未知和未使用的设备功能如果被使用则可以改进控制项目的性能。
71.为了促进对所提交的控制项目306的智能分析,idh存储库系统202可以包括项目遥测组件208,该项目遥测组件208生成针对所提交的控制项目306的项目遥测数据,该项目遥测数据可以提供对控制项目本身以及为其设计控制项目306的自动化系统的装置和设备拓扑的见解。图6是示出从提交给存储库系统202的控制项目306中提取项目遥测数据602的图。基于对控制项目306的分析,项目遥测组件208可以确定或推断出以下项:控制项目本身的特性;关于组成由控制项目306监视和控制的自动化系统的设备或装置的信息;关于受控
系统的性能或资源利用的预测;控制设计对一个或更多个设备的设备生命周期的估计的影响;或其他这样的项目度量。
72.例如,基于对工业控制器程序文件——其可以包括用于工业控制器的控制代码、i/o配置数据和联网配置数据——的分析,项目遥测组件208可以(例如,基于对i/o配置或控制代码本身的检查)识别被连接至工业控制器的输入或输出设备,并将这些设备的库存记录在项目遥测数据602中。类似的分析可以用于确定被配置以供使用的i/o或控制模块,以及关于如何使用控制器的i/o的信息。项目遥测组件208还可以记录被识别为自动化系统的一部分的任何两个或更多个设备或装置之间的推断功能或拓扑关系。项目遥测组件208还可以估计自动化系统预期消耗的网络带宽或能量的总量。为了进一步了解如何使用组成控制系统的设备,项目遥测数据602还可以记录控制项目306当前正在使用设备的可用特征的哪个子集。
73.除了用于要控制的自动化系统的度量之外,项目遥测组件208还可以估计控制代码本身的性能度量,诸如执行控制项目306的各方面所需的存储器或处理能力的估计量。
74.在一些情况下,项目遥测组件208可以通过参照供应商存储库326上的设备配置文件316中存储的供应商特定的设备信息来增强针对控制项目306生成的项目遥测数据602。例如,项目遥测组件208可以基于对控制项目306的分析来识别特定的设备模型(例如,i/o模块、网络基础设施设备、马达驱动器、伺服系统、致动器等)正在被用作自动化系统的组件。基于该设备的标识,项目遥测组件208可以访问与该设备的供应商对应的供应商存储库326,确定设备配置文件是否可用于该设备,如果是,则从设备配置文件316中检索该设备的功能规范数据以包括在项目遥测数据602中。取决于设备类型的该功能规范数据可以包括以下信息:诸如设备的可用i/o、可用的配置参数或功能、可用的内存或处理能力、生命周期信息、响应时间、物理尺寸、额定功率、联网能力、操作限制(例如,环境要求,诸如对设备额定的环境温度)或其他这样的补充设备信息。
75.一旦为控制项目306提取了项目遥测数据602,则存储库系统的项目分析组件210可以基于对该项目遥测的分析以及编码的行业专业知识来生成与项目设计相关的建议或通知。图7是示出基于对所提取的项目遥测数据602的分析来生成项目建议702的图。通过分析项目遥测数据602,项目分析组件210可以确定如何使用客户的工业硬件和软件资产并基于该评估生成建议或通知。这可以包括:确定所提出的控制项目——由于由控制编程定义的控制序列或针对一个或更多个工业设备设置的配置参数——是否将导致控制项目中使用的硬件或软件在接近或高于其额定操作阈值的情况下进行操作。例如,基于在项目遥测数据602中记录的控制项目的i/o利用以及在控制项目中使用的设备的i/o容量的知识(该知识可以基于如设备配置文件316中记录的那些设备的规范数据来确定),项目分析组件210可以生成以下通知:所提出的控制设计将导致一个或更多个控制设备(例如,工业控制器或i/o模块)接近或超过其最大i/o容量。基于该评估,项目分析组件210还可以建议具有比控制项目中当前建议的i/o容量更高的i/o容量的替选控制设备,以便增加备用i/o点的数目以用于将来的扩展。
76.项目分析组件210还可以基于对项目遥测数据602的分析来估计设备随时间的利用程度,并且将该信息与在设备的配置文件316中记录的设备的生命周期信息进行交叉引用,并生成指示设备如果按照控制项目中所提出的那样被使用时的预期寿命周期或故障时
间的通知。如果具有更长的预期生命周期的等效设备可用,则项目分析组件210还可以生成用该等效设备替换当前提出的设备的建议。可替选地,项目分析组件210可以建议对控制项目的修改,该修改可以延长设备的寿命(例如,通过减少设备的操作频率而不影响控制效果)。
77.在一些实施方式中,项目分析组件210还可以标识设备的未使用特征,所述设备的未使用特征如果被利用,则可以改进控制项目的一个或更多个操作度量。这些可能是可用但设计者不知道的设备特征,例如,配置参数、默认情况下不被激活但可以激活或调用的潜在功能等。在示例场景中,项目分析组件210可以基于记录在设备的配置文件316中的功能规范来发现设备的可用特征,并且确定任何未使用的特征是否可能与控制项目306的方面有关,或者可以改进控制项目306的性能度量。例如,项目分析组件210可以确定调用设备的当前未使用的操作模式可以减少设备的内存占用或网络带宽使用;可以提高自动化系统的产品生产量;可以减少项目总体上的能源或材料消耗;可以减少产品浪费;或者可以解锁项目操作中的另一个无法预料的改进。如果识别出这样的可能的设计改进,则用户接口组件204可以向设计者(或与客户相关联的另一用户实体)发送建议该设计修改的通知。在示例场景中,基于作为控制项目306的一部分的提交的设备配置文件,项目分析组件210可以确定驱动器的未使用的特征(例如,再生制动)可以减少总体功耗,并且可以生成标识该驱动器并指示该未使用的功能的通知。该通知还可以提供关于在控制序列期间应当何时调用该特征以便获得预期益处的建议。
78.项目分析组件210还可以确定控制项目306的任何方面是否偏离工业标准或工厂标准。这可以基于项目遥测602与标准定义322(存储在知识库328中)中定义的工业标准或客户存储库324中存储的工厂标准314中定义的内部标准之间的比较。在工业标准的情况下,由于一些类型的行业可能需要遵守一套纵向特定的控制标准或要求,因此与控制项目306相比较的特定标准集可以是控制项目306将在其中操作的工业垂直行业(例如,汽车、制药、食品和药品、石油和天然气等)的函数。因此,知识库328可以根据工业垂直行业对标准定义322进行分类,从而允许项目分析组件210选择要应用于控制项目306的适当的标准集。标准定义322可以将这样的工业标准定义为:必须保留为备用容量的未使用i/o的所需量;排放或能耗要求;安全完整性等级(sil)要求;应当与给定类型的控制操作(例如,将“阀打开”命令与罐的填充水平相关联;在满足指定的安全联锁之前防止机器启动命令)相关联的联锁或许可;或其他这样的标准。
79.可以记录在客户的工厂标准314中并应用于控制项目306的示例内部标准可以包括但不限于:控制编码标准(如上面结合图4所述),其设备被批准在工厂内使用的优选供应商,与某些控制功能相关联的安全联锁或许可,或其他这样的标准。
80.项目分析组件210还可以执行项目分析中的任何项目分析,并生成以上被描述为由项目生成组件206执行的设计反馈406中的任何设计反馈。一些项目分析结果还可以触发专家支持审查,使得项目分析组件210发起由技术支持实体根据设计者的许可进行的项目的远程审查。
81.由于由项目遥测组件208和项目分析组件210执行的控制项目分析可以识别或推断将由控制项目306使用的设备和网络,因此项目分析组件210还可以生成由客户的项目使用的设备或工业资产的库存。存储库系统202可以将该资产库存存储在与控制项目306的所
有者相关联的客户存储库324中。此外,如果发现的设备或工业资产中的任何一个具有可由资产的供应商提供并存储在供应商存储库326上的关联的数字设备配置文件316,则存储库系统202可以从供应商存储库326中检索这些设备配置文件316,并将该配置文件316作为与设备对应的资产模型312存储在客户存储库中。关于这一点,设备配置文件316可以表示其所代表的资产的通用数字表示,项目分析组件210可以基于项目遥测数据602将这些通用设备配置文件316转换为表示客户的唯一配置的资产的定制资产模型312。例如,给定工业设备(例如,工业控制器、马达驱动器、安全设备等)的设备配置文件316可以通过以下操作而被定制,将设计者针对该设备的特定配置参数(从项目遥测数据602中获得)应用到设备配置文件316,以生成该设备的定制资产模型312。如将在本文中更详细地描述的,这些资产模型312可以用作自动化系统的数字双工模型的基础,该数字双工模型可以用于模拟和测试控制项目306。
82.对项目遥测数据602执行的分析的结果也可以被格式化和筛选,以供参与存储库系统生态系统的装置提供商(例如,装置供应商、oem等)使用,并且该信息可以作为装置使用统计信息704提供给装置提供商。例如,对于在控制项目306中使用其装置的每个装置供应商,项目分析组件210可以向供应商提供指示他们的设备中的哪些设备正在被使用以及那些设备的哪些特征正在被使用的数据。可以以匿名终端客户并防止供应商能够查看客户的专有信息(例如,配方数据、生产统计信息等)的方式将该数据提供给供应商。通常,存储库系统202在给予足够的访问权限以提供服务的同时保护客户的专有数据。用户接口组件204可以允许用户容易地控制专有数据如何向也参与idh平台的外部实体暴露或隐藏。
83.对于给定的装置提供商,用户接口组件204可以对来自由多个不同客户提交的多个控制项目306的这些设备或装置统计进行编译,并以任何合适的呈现格式来呈现该汇总的设备使用和特征利用信息。例如,关于装置提供商的设备或资产中的哪些设备或资产正在被使用的信息可以表示为:客户站点处使用的每个资产的编号、指示在何处使用资产的地理细分、指示供应商的产品线的相对普及性的图表等。类似的表示可以用来传达(如根据从使用供应商的产品的多个终端客户收集的汇总的项目遥测数据602确定的)供应商的产品中的每个产品的哪些特征(例如,操作模式、配置参数等)正在被使用,或者他们的产品被利用到其功能能力的接近程度。装置供应商可以使用这些统计信息704来执行以下操作:决定是否由于缺乏普及性而停止产品;识别没有被其客户充分利用并因此应当被大力推广的潜在的有用产品特征;基于客户使用这些资源的程度来决定是否增加或减少某些产品的内存资源、处理资源或i/o资源;或者做出关于产品设计和推广的其他明智的决定。
84.虽然一些装置使用统计信息704可以以使终端客户匿名的方式(例如,出于全球产品使用分析的目的)呈现给装置提供商,但是可以基于装置提供商与其客户之间的服务或许可协议,在每个客户的基础上呈现所选的其他这样的统计信息704。例如,一些装置提供商诸如oem可能将其装置的使用提供为订购服务,在订购服务中,客户针对装置的指定的使用程度(例如,每月指定数目的操作周期、可用的设备特征的有限子集等)购买许可证。在这样的场景下,项目分析组件210可以基于对项目遥测数据602的分析来确定提供商的装置的估计的使用频率,并且出于许可执行的目的使该信息对于装置提供商可用。
85.根据可以应用于项目遥测数据602的另一种类型的分析,项目分析组件210可以将控制项目306或其提取的项目遥测数据602与由其他终端客户提交的类似的存档项目320进
行比较,并且可以识别所提交的控制项目306中明显偏离类似的存档项目320的对应方面的各方面。然后,用户接口组件204可以将通知呈现为项目建议702,该通知指示控制项目306的异常方面并建议将使控制项目306与常规实践一致的项目修改。以这种方式,存储库系统202可以利用集体的行业专业知识或共同实践来提供关于与所提交的控制项目相关的最佳实践的建议。所提交的控制项目306的可以以该方式进行比较的各个方面可以包括但不限于:针对给定类型的控制操作的联锁设计、设备配置参数(例如,马达驱动器设置、网络基础设施设备设置、安全设备设置等)、控制设置点、针对给定类型的控制操作或序列的操作顺序或时序或其他这样的项目方面。
86.存储库系统202的一些实施方式还可以对所提交的控制项目306的一个或更多个方面进行模拟,以预测控制项目306是否将产生与一个或更多个受控机器相关的期望结果。这允许在物理机器上执行之前对控制项目306进行预测试。图8是示出由idh存储库系统202对控制项目306进行仿真的图。在该示例中,存储库系统的仿真组件216用作工业控制器仿真器,以针对数字双工模型810或正在开发和测试控制项目306的自动化系统的其他类型的虚拟化来执行被定义为控制项目306的一部分的控制编程。在一些实施方式中,构建和模拟数字双工模型810的模拟组件218可以部分地基于代表组成自动化系统的工业设备或资产的资产模型312来创建数字双工模型810。如上所述,这些资产模型312可以在客户存储库324上维护,并且可以包括从供应商存储库326获得并基于从项目分析获得的配置数据而定制的设备配置文件316。使用这些资产模型312以及根据控制项目306的分析推断出的资产模型312所代表的工业资产之间的功能和/或拓扑关系,模拟组件218可以生成自动化系统的数字双工模型810,对照该数字双工模型810可以对控制项目306进行模拟和测试。
87.模拟组件218可以利用由数字双工模型810建模的自动化和机械特性来模拟要通过控制项目306进行监测和调节的物理自动化系统的各方面。为此,模拟组件218可以虚拟地将控制项目306与数字双工模型810对接,以促进控制项目306(例如,控制项目306中包括的控制代码)与数字双工模型810之间的模拟i/o数据的交换,从而模拟现实世界控制。模拟组件218基于由数字双工模型810建模的物理系统的静态和动态特性来生成数字和模拟i/o值,这些数字和模拟i/o值表示与预期由物理系统生成的数据类似的例如传感器输出、计量输出或其他工厂数据。该模拟输出数据804被提供给仿真组件216,该仿真组件216接收该数据804以作为一个或更多个虚拟物理输入。控制项目306根据项目306中定义的用户定义的控制代码来处理这些输入,并基于该处理来生成数字和/或模拟控制器输出数据802。该输出数据802表示将由工业控制器或执行控制代码的其他类型的控制设备生成并传输到包括自动化系统的硬接线现场设备的物理输出(例如,pid回路控制输出、螺线管激励输出、马达控制输出、致动器控制输出、机器人控制输出等)。控制器输出数据802被提供给数字双工模型810的适当的输入点,该数字双工模型810相应地更新模拟输出数据804。
88.除了生成模拟输出数据804之外,模拟组件218还可以基于响应于模拟控制器输出数据802的建模的工业资产的预期行为以及模拟的数据交换的分析来生成资产响应数据806。例如,基于在数字双工模型810中建模的工业资产的自动化和机械特性,模拟组件218可以响应于控制器输出数据802来预测建模的工业资产的预期行为以及由该资产正在制造的产品的行为,并且将该预测的行为作为资产响应数据806进行传送。由资产响应数据806表示的示例行为可以包括但不限于:产品通过工业资产的移动(包括速度、加速度、位置、滞
后等),流体通过资产的流速,资产的预期能源消耗,资产的机械部件的预期劣化率(部分地基于资产模型312中定义的摩擦系数信息),操作期间施加到资产的相应部件的预期力或其他这样的行为。
89.用户接口组件204可以基于模拟的性能结果在客户端设备上生成并呈现模拟结果808。这些模拟结果808可以包括自动化系统的模拟操作统计信息(例如,产品吞吐率、预期的机器停机时间频率、能耗、网络流量、预期的机器或设备生命周期等)。在一些实施方式中,可以将资产响应数据806提供给项目分析组件210,该项目分析组件210可以确定模拟的资产响应中的任何响应是否偏离可接受或期望的范围,该范围可以在存储在客户存储库324上的功能规范中定义。基于该评估的结果,用户接口组件204可以向用户通知与预期操作范围的任何预测的偏离,并呈现关于对控制项目306的修改的建议,该修改可以使预期的性能处于定义的公差内。
90.在新的设计周期结束时,存储库系统202还可以为新的控制项目生成项目交接和验证文档。图9是示出由idh存储库系统202生成交接文档902的图。基于对完成的控制项目306的分析,存储库系统的项目文档组件212可以生成各种项目文档902,所述项目文档902包括但不限于:批准文档、安全验证检查列表、i/o结帐文档和审计追踪。可以基于客户存储库324中存储的信息来生成该文档902中的至少一些文档。例如,项目文档组件212可以基于如根据控制项目306确定的被连接至控制系统i/o的设备的知识以及从与这些设备对应的资产模型312获得的关于这些设备的信息来生成控制项目的i/o结账文档。类似地,可以基于在资产模型312中定义的资产特定的安全要求来生成安全验证检查列表。一些文档902也可以基于在工厂标准314中定义的内部批准要求来生成。例如,这些批准要求可以指定必须为控制项目的各个方面签署其批准的人员。
91.还可以基于在知识库328的标准定义322中定义的垂直特定的安全性或审计标准来生成一些文档212。在这方面,一些工业垂直行业可能要求遵守做出以下规定的法规,如何收集和存储与自动化系统的工程和操作相关的电子记录、如何为自动化系统获取电子签名、出于审计的目的必须收集哪些类型的文档等。例如,要求在食品和药品行业内操作的工厂设施按照美国联邦法规第21篇第11部分来维护记录。因此,项目文档组件212可以基于为其设计项目306的工业垂直行业以及定义该垂直行业的文档要求的标准定义322来识别控制项目306所需的项目文档的类型。
92.在一些实施方式中,idh存储库系统202还可以管理与由项目文档组件212生成的验证检查列表相关联的数字或电子签名。图10是示出根据一个或更多个实施方式的由存储库系统202收集数字签名的图。在该示例中,数字验证列表1008已经被传送至与需要在控制项目302的各方面签署的人员相关联的客户端设备1006。验证检查列表是交互式的,使得每个用户可以经由与检查列表的交互来提交针对验证检查列表1008上相应项的数字签名1004。在存储库系统202处,从客户端设备接收数字签名1004,并且项目文档部件212将所接收的签名1004的记录维护为签署追踪数据1002,该签署追踪数据1002追踪针对验证检查列表上的每个项已经接收到哪些签名1004以及已经从谁接收到签名1004。该签署追踪数据1002随后可以被参考以用于审计的目的。在一些实施方式中,存储库系统可以被配置成仅在指示控制项目306的组件(例如,控制代码、hmi可视化应用、设备配置等)的批准的所有必要签名1004已经被接收之后才将那些组件部署到它们的对应现场设备。
93.idh存储库系统202还可以用于存档控制项目306的过去版本和当前版本,并执行相关的版本控制和分析功能。图11是示出提交新版本的控制项目306以与较旧的项目版本310一起存档的图。在该示例中,客户存储库324将控制项目306的过去版本和当前版本存档为项目版本310。控制项目306的新版本可以是对控制代码的修改、设备固件升级、对控制项目306的添加以适应新设备或对控制项目的其他这样的改变的结果。存档控制项目306的当前版本和过去版本允许项目开发被记录在储存库系统内,并且还允许控制项目306的任何版本被选择和部署到自动化系统,以作为在车间执行的控制项目的部分被丢失并且必须被重新安装的情况下或者如果控制项目306的新版本没有按要求执行并且必须重新部署先前版本时的灾难恢复过程的一部分。这些功能可以由存储库系统的资产恢复组件214管理。
94.在一些实施方式中,当控制项目306的新版本被提交给idh存储库系统202时,资产恢复组件214可以使用客户储存库324中存储的一个或更多个先前版本310来分析控制项目306的新版本,并且可以识别相对于先前版本在新版本中引入的任何潜在的新问题。资产恢复组件214还可以将在工厂标准中定义的客户定义的项目分析查询以及被定义为存储库系统的知识库328中存储的标准定义322的一部分的通用项目分析查询应用于控制项目306的新版本。这些通用查询和定制查询可以被配置成识别控制项目306内可能导致非优选的控制性能的特定设计场景。资产恢复组件214可以将这些项目分析的结果呈现为建议1102。
95.在一些实施方式中,如果可获得对控制项目306使用的软件应用的升级,则客户可以提交其控制项目的当前版本(例如,v.x)以用于升级到最新版本(例如,v.y)。资产恢复组件214也可以被配置成管理这些升级。当客户将要升级的控制项目306上传到存储库系统202时,资产恢复组件214可以分析控制项目306并执行升级,从而执行用于执行v.x到v.y升级所需的任何文件转换。作为该升级的一部分,资产恢复组件214还可以将上面讨论的任何项目分析(例如,与项目分析组件210所应用的分析类似的分析)应用于上传的控制项目306。当完成升级时,资产恢复组件214可以提供升级后的控制项目文件,并一起提供用于改进控制系统的操作或优化控制项目306自身的资源利用的建议(例如,上述项目建议702)。
96.通过允许将控制项目的多个版本存档在客户存储库324中并按需部署到工厂车间设备,存储库系统的存储和部署特征可以允许用户在不同的工业设施处部署同一控制项目的不同版本。由于控制项目306的不同版本对于在不同的客户站点执行可能是必要的,所以该功能对于为具有不同的工业资产组(控制项目306将在这些工业资产组上被执行)的多个客户服务的系统集成商或其他控制解决方案提供商可能是有用的。
97.资产恢复组件214还可以实现证实所提交的控制项目306的真实性的网络安全特征,以确保该项目306是由可靠的来源开发和提交的。该认证可以部分地基于程序代码相似性。例如,当控制项目306的新版本被提交时,资产回收部件214可以将该新版本与先前提交给存储库系统202并由该存储库系统202存档的一个或更多个先前项目版本310进行比较。如果该比较产生新版本与由同一客户实体上传的先前版本310显著不同的确定,则资产回收组件214可以标记新提交的控制项目305,并发起向与请求审查和授权新版本的客户相关联的可信人员传送安全通知。在一些实施方式中,除非接收到来自可信人员的授权,否则资产恢复组件214也可以防止控制项目的新版本的部署。资产恢复组件214还可以基于对客户的已知编码类型和标准的遵循或偏离来对新的控制项目306进行身份验证,这可以作为工厂标准314的一部分记录在客户存储库324中。
98.idh存储库系统202的一些实施方式还可以为工业资产配置文件或项目文件提供“备份即服务(backup as a service)”。图12是示出将设备配置数据1206智能备份到idh存储库系统202的图。在一些实施方式中,位于客户设施内部的软件代理可以查找支持的工业设备或资产(例如,安装在控制柜1204中的资产),并发起对这些设备上安装的设备配置数据1206的备份。设备配置数据1206可以包括控制代码、配置参数设置、hmi应用或其他这样的控制项目数据。在一些实施方式中,这些软件代理可以由驻留在工厂网络166上的智能网关设备1202来部署和管理,并且这些软件代理用作将工厂车间的工业资产与idh存储库系统202相连接的网关或边缘设备。在这样的实施方式中,智能网关设备1202可以将设备配置数据1206的副本传送到idh存储库系统202,并且资产恢复组件214可以将设备配置数据1206的备份存储在客户存储库324中,以作为该客户的存储的项目版本310的一部分。
99.项目备份也可以被配置成版本驱动的,使得资产恢复组件214响应于检测到对工厂车间上的项目的修改(例如,当工厂工程师经由到控制器的直接连接来修改工业控制器上的梯形逻辑时)而上传并存档对控制项目的修改。在又一场景中,可以安排资产配置文件的备份,使得资产恢复组件214在定义的时间处或根据定义的备份频率来检索和存档当前设备配置。
100.通过将控制项目的备份存档在客户存储库324中,在发生灾难时,根据最后已知的备份恢复设备配置。图13是示出可以通过idh存储库系统202发起的示例恢复过程的图。在该示例中,工业环境包括一个或更多个工业控制器118、hmi 114、马达驱动器1306、运行更高级别应用(例如,erp、mes等)的服务器以及其他这样的工业资产。这些工业资产被连接至工厂网络116(例如,通用工业协议网络、以太网/ip网络等),这有利于工厂车间的工业设备之间的数据交换。工厂网络116可以是有线网络或无线网络。
101.当在恢复操作期间要部署控制项目306时,可以经由在智能网关设备1202与其上驻留有存储库系统202的云平台之间的安全连接将项目306委托给工厂设施。资产恢复组件214可以将存档的控制项目306转换为一个或更多个适当的可执行文件——控制程序文件1302、可视化应用1304、设备配置文件1308、系统配置文件等——并将这些文件部署到工厂设施中的适当设备,以促进控制项目的部署或恢复。
102.该备份和恢复架构还可以用于从一个设施上传系统配置,并将所述系统配置部署到另一设施,或者可以用于从oem上传配置,并将这些配置部署到客户站点。作为部署过程的一部分,资产恢复组件214可以首先轮询工厂车间上的目标设备,以验证那些设备能够支持和执行正在部署的控制项目文件。
103.通过提供多个客户可以在其上上传和评估他们的控制解决方案的公共的存储和分析平台,idh存储库系统202可以通过创建开放的生态系统以供工程师共享和重复使用来自私有存储库和公共存储库的代码——这允许工程师轻松地管理和协作他们自己的内容以及来自他们信任的其他人的内容以加速核心控制发展——来加速现代自动化开发。
104.图14至图15b示出了根据本主题申请的一个或更多个实施方式的各种方法。虽然出于简化说明的目的而将本文中示出的一个或更多个方法示出和描述为一系列动作,但是应当理解和认识到,本主题发明不受这些动作的顺序的限制,因为一些动作可以据此按照不同的顺序发生以及/或者与本文中示出和描述的动作中的其他动作同时发生。例如,本领域技术人员将理解和认识到,方法可以替选地被表示为一系列相互关联的状态或事件,诸
如以状态图表示。此外,可能并非需要所有示出的动作来实现根据本发明的方法。此外,当不同的实体实施方法的不同部分时,(一个或更多个)交互图可以表示根据本主题公开内容的方法。此外,所公开的示例方法中的两个或更多个可以被彼此结合地实现,以实现本文所述的一个或更多个特征或优点。
105.图14示出了用于在开发期间使用基于云的idh存储库系统为工业控制项目提供实时设计反馈的示例性方法1400。首先,在1402处,经由与基于云的idh存储库系统的交互来接收设计数据。设计数据可以指定用于监视和控制工业自动化系统的控制系统的控制方面,并且可以以工业控制程序(例如,梯形逻辑、序列功能图、脚本化控制代码诸如工业dsl等)、hmi屏幕开发输入、工业设备或装置选择和配置数据(例如,设备配置参数值)或其他这样的设计输入的形式被接收。在一些实施方式中,设计数据可以经由与由存储库系统服务于客户端设备的控制系统开发平台的交互而提交给idh存储库系统,其中,该开发平台包括用于对工业控制代码进行编程、设计hmi界口显示、设置设备参数或其他这样的设计操作的开发工具。
106.在1404处,在接收设计数据期间(也就是说,当用户继续进行控制项目开发时),存储库系统根据该存储库系统上存储的一个或更多个定义的工厂标准或工业特定的设计准则来监视设计数据。工厂标准可以由工厂设施处的工程师或管理员上传到存储库系统,并存储在客户特定的存储库中,并且工厂标准可以定义这样的工程标准,诸如优选的控制代码格式、执行某些控制序列的顺序、在可以执行某些控制动作之前必须就位的控制联锁、允许的控制设定点范围、优选的设备操作范围或配置参数、优选的网络设置或其他这样的工程标准和偏好。工厂标准还可以定义特定于正在开发的控制项目的标准,包括功能规范或安全验证要求。
107.工业特定的准则也可以存储并维护在存储库系统上,并且可以根据相关的工业垂直行业进行分类。这些工业特定的准则可以指定例如排放或能耗要求、所需的安全完整性等级、工业标准联锁或其他这样的标准。
108.在1406处,基于在步骤1404处执行的监视来确定在步骤1402处接收的设计数据的一部分是否偏离了工厂标准或设计准则。这些偏差可以包括例如不符合经批准的控制编码实践、与控制操作相关联的安全联锁不足、超出批准范围的设备配置设置或其他这样的偏差。如果没有检测到这样的偏差(步骤1406处为“否”),则该方法返回到步骤1402,并且重复步骤1402至1406。可替选地,如果检测到偏差(步骤1406处为“是”),则该方法进行到步骤1408,在步骤1408中,idh存储库系统基于该偏差来呈现设计反馈。反馈可以向设计者通知该偏差,并提供以使设计符合工厂特定准则和行业特定准则的方式来修改设计的建议。
109.图15a示出了用于对上传的控制项目执行控制项目分析并且基于分析的结果来收集供应商特定的设备使用统计信息的示例方法1500a的第一部分。首先,在1502处,在基于云的idh存储库系统处接收控制项目。控制项目可以由客户(例如,控制项目在其处操作的工厂设施处的授权人员)上传以用于存档或分析的目的,或者作为备份和恢复过程的一部分自动地存档到存储库系统。控制项目包括用于对工厂设施处的工业控制系统进行编程和配置的控制编程和设备配置数据。
110.在1504处,由存储库系统从控制项目中提取项目遥测数据。项目遥测数据可以包括例如组成控制系统的设备的库存、设备的i/o利用率、由控制系统使用的网络资源(例如,
通信带宽)、预测的设备生命周期信息、一个或更多个设备的预期的操作周期的频率、由于执行控制项目而导致的一个或更多个设备上的预期处理负载、作为执行控制项目的结果而消耗的设备存储器的预期量、控制项目正在使用的设备的可用特征的子集或其他这样的遥测。
111.在1506处,鉴于定义的工厂标准、工业特定的设计准则、数字资产模型或存储在存储库系统上的类似的存档的控制项目中的至少一项,对在步骤1504处提取的项目遥测数据执行分析。例如,如在方法1400中的步骤1406中所讨论的,可以针对与工厂特定或工业特定的设计标准和准则的偏差来评估所提交的控制项目。存储库系统还可以将控制项目与其他已存档的控制项目的子集进行比较,以确定控制项目设计的各部分是否偏离了用于相似控制功能的更通用的设计方法,所述其他已存档的控制项目执行与所提交的项目(例如,被设计成控制相似行业内的相似机械装置或以其他方式执行相似控制功能的项目)的控制功能相似的控制功能。
112.存储库系统还可以访问表示在控制项目中使用(并在遥测数据中识别)的设备的数字资产模型,以便确定关于设计规范和可用特征如何使用这些设备。例如,基于在设备特定的资产模型上维护的信息,存储库系统可以确定:设备的可用i/o的多大百分比当前正被控制项目使用、设备的可用存储器或处理能力的多大百分比将被控制项目消耗(例如,作为执行建议的控制代码的结果)、设备的可用特征中的哪些特征没有被控制项目使用或者其他这样的统计信息。
113.在1508处,确定在步骤1506处执行的分析是否识别出改进控制项目的性能度量的机会。如果识别出这样的机会(步骤1508处为“是”),则该方法进行到步骤1510,在步骤1510中,存储库系统基于分析结果提出对控制项目的修改的建议。这些建议包括例如:用于减少控制系统的一个或更多个设备的存储器或处理利用率的建议,用于以延长设备的预期寿命周期的方式(例如,通过降低设备的操作频率)更改控制项目的建议,(如果被利用)可以提高性能的未使用的设备特征的指示或其他这样的建议。
114.然后,该方法进行到图15b所示的第二部分1500b。在1512处,与由特定设备供应商提供的工业设备或资产有关的项目遥测数据的子集(在步骤1504处提取)被存储在与该供应商相关联的供应商存储库中。该遥测数据的子集可以包括例如:控制项目正在使用供应商的设备中的哪个设备,设备的哪些可用特征正在被使用以及哪些没有被使用,设备被操作到其最大操作限制的紧密程度(例如,在内存、处理能力、速度等方面)或其他这样的信息。在1514处,从多个提交的控制项目的项目遥测数据收集的供应商特定的统计信息由存储库系统汇总,并被存储在供应商存储库中。这些供应商特定的统计信息与由供应商提供的工业资产有关,并在参与idh存储库平台的多个客户设施中使用。在1516处,存储库系统向与供应商相关联的实体提供对汇总的供应商特定的统计信息的访问。这些统计信息可以包括例如:在客户位置处部署的供应商的产品中的每种产品的数目,如何在现场使用这些产品,供应商的产品的特征被使用的程度,供应商的产品被操作至其工程能力的紧密程度,供应商的各自的产品被使用的地理位置或其他这样的统计信息。
115.本文中描述的实施方式、系统和部件以及其中可以执行本说明书中阐述的各个方面的控制系统和自动化环境可以包括:能够跨网络进行交互的计算机或网络部件,例如服务器、客户端、可编程逻辑控制器(plc)、自动化控制器、通信模块、移动计算机、用于移动车
辆的车载计算机、无线部件、控制部件等。计算机和服务器包括被配置成执行存储在介质中的指令的一个或更多个处理器(采用电信号执行逻辑操作的电子集成电路),介质例如为随机存取存储器(ram)、只读存储器(rom)、硬盘驱动以及可移除存储器设备,可移除存储器设备可以包括记忆棒、存储卡、闪存驱动、外部硬盘驱动等。
116.类似地,如本文使用的术语plc或自动化控制器可以包括可以跨多个部件、系统和/或网络共享的功能。作为示例,一个或更多个plc或自动化控制器可以跨网络与各种网络设备进行通信和协作。这基本上可以包括经由网络进行通信的任何类型的控制装置、通信模块、计算机、输入/输出(i/o)设备、传感器、致动器和人机接口(hmi),所述网络包括控制网络、自动化网络和/或公共网络。plc或自动化控制器还可以与各种其他设备进行通信并且控制各种其他设备,所述其他设备例如标准或安全额定i/o模块,包括模拟、数字、编程/智能i/o模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
117.网络可以包括公共网络,例如因特网、内联网以及自动化网络,例如控制和信息协议(cip)网络,包括设备网(devicenet)、控制网(controlnet)、安全网络以及以太网/ip。其他网络包括以太网、dh/dh 、远程i/o、现场总线、modbus、profibus、can(控制器区域网络)、无线网络、串行协议、开放平台通信统一架构(opc-ua)等。另外,网络设备可以包括各种可能性(硬件和/或软件部件)。这些包括以下部件:诸如具有虚拟局域网(vlan)能力的交换机、lan、wan、代理、网关、路由器、防火墙、虚拟专用网(vpn)设备、服务器、客户端、计算机、配置工具、监视工具和/或其他设备。
118.为了提供所公开主题的各个方面的情境,图16和图17以及以下讨论旨在提供对可以实现所公开主题的各方面的适当环境的简要的一般性描述。尽管以上在可以在一个或更多个计算机上运行的计算机可执行指令的一般情境中描述了实施方式,但是本领域技术人员将认识到,也可以组合其他程序模块和/或作为软件和硬件的组合来实现实施方式。
119.通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、部件、数据结构等。此外,本领域技术人员将理解,可以利用其他计算机系统配置来实践本发明的方法,其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(iot)设备、分布式计算系统、以及个人计算机、手持计算设备、基于微处理器的或可编程的消费性电子产品等,上述中的每个均可以可操作地耦接至一个或更多个相关联的设备。
120.本文中示出的实施方式也可以在分布式计算环境中实践,其中,某些任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。
121.计算设备通常包括各种介质,各种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地使用。计算机可读存储介质或者机器可读存储介质可以是能够由计算机访问的任何可用存储介质,并且包括易失性介质和非易失性介质、可移除介质和不可移除介质。作为示例而非限制,可以结合用于存储诸如计算机可读指令或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现计算机可读存储介质或机器可读存储介质。
122.计算机可读存储介质可以包括但不限于:随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存或其他存储器技术、光盘只读存储器
(cd-rom)、数字通用光盘(dvd)、蓝光光盘(bd)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁存储设备、固态驱动器或其他固态存储设备或其他可用于存储所需信息的有形和/或非暂态介质。在这点上,应当将本文中应用于存储设备、存储器或计算机可读介质的术语“有形”或“非暂态”理解为作为修饰语仅排除传播暂态信号本身,并且不放弃对所有标准存储设备、存储器或计算机可读介质的权利,这些介质不仅仅是传播暂态信号本身。
123.可以通过一个或更多个本地或远程计算设备(例如,针对关于由介质存储的信息的多种操作,经由访问请求、查询或其他数据检索协议)来访问计算机可读存储介质。
124.通信介质通常在诸如调制数据信号例如载波或其他传输机制的数据信号中实施计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,并且包括任何信息递送或传输介质。术语“调制数据信号”或信号是指以将信息编码在一个或更多个信号中的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非限制,通信介质包括有线介质例如有线网络或直接有线连接,以及无线介质例如声学、rf、红外以及其他无线介质。
125.再次参照图16,用于实现本文中描述的方面的各种实施方式的示例环境1600包括计算机1602,计算机1602包括处理单元1604、系统存储器1606以及系统总线1608。系统总线1608将系统部件耦接至处理单元1604,系统部件包括但不限于系统存储器1606。处理单元1604可以是各种商业可用处理器中的任何处理器。双微处理器和其他多处理器架构也可以用作处理单元1604。
126.系统总线1608可以是以下若干类型总线结构中的任一种:其还可以使用多种商业可用总线架构中的任一种互连至存储器总线(具有或不具有存储器控制器)、外围总线以及本地总线。系统存储器1606包括rom 1610和ram 1612。基本输入/输出系统(bios)可以存储在非易失性存储器,例如rom、可擦除可编程只读存储器(eprom)、eeprom中,其中,bios包含例如在启动期间帮助在计算机1602内的元件之间传输信息的基本例程。ram 1612还可以包括高速ram,例如用于缓存数据的静态ram。
127.计算机1602还包括内部硬盘驱动器(hdd)1614(例如,eide、sata)、一个或更多个外部存储设备1616(例如,磁软盘驱动器(fdd)1616、存储棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器1620(例如,其可以从cd-rom盘、dvd、bd等进行读写)。虽然内部hdd 1614被示出为位于计算机1602内,但是内部hdd 1614也可以被配置用于在合适的机箱(未示出)的外部使用。另外,虽然在环境1600中未示出,但除了hdd 1614之外还可以使用固态驱动(ssd)或者代替hdd 1614使用固态驱动(ssd)。hdd 1614、外部存储设备1616以及光盘驱动器1620可以分别通过hdd接口1624、外部存储接口1626和光盘驱动器接口1628连接至系统总线1608。用于外部驱动实现方式的接口1624可以包括通用串行总线(usb)和电气与电子工程师协会(ieee)1394接口技术中的至少之一或两者。其他外部驱动连接技术在本文中描述的实施方式的考虑之内。
128.驱动器及其关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1602,驱动和存储介质以适当的数字格式适应任何数据的存储。尽管上面对计算机可读存储介质的描述是指各类型的存储设备,但是本领域技术人员应当理解,计算机可读的其他类型的存储介质,无论是当前存在的还是将来开发的,也可以在示例操作环境中使用,并且此外,任何这样的存储介质可以包含用于执行本文中描述
1652还可以包括布置在其上的用于以无线模式与适配器1656进行通信的无线接入点(ap)。
136.当在wan联网环境中使用时,计算机1602可以包括调制解调器1658,或者可以经由用于通过wan 1654建立通信的其他手段(例如通过因特网)连接至wan 1654上的通信服务器。可以是内部或外部以及有线或无线设备的调制解调器1658可以经由输入设备接口1642连接至系统总线1608。在联网环境中,相对于计算机1602或其部分描绘的程序模块可以被存储在远程存储器/存储设备1650中。将理解的是,所示的网络连接是示例,并且可以使用在计算机之间建立通信链接的其他手段。
137.当在lan或wan联网环境中使用时,除了上述外部存储设备1616之外,计算机1602还可以访问云存储系统或其他基于网络的存储系统,或代替上述外部存储设备1616来访问云存储系统或其他基于网络的存储系统。通常,可以例如分别通过适配器1656或调制解调器1658来通过lan 1652或wan 1654建立计算机1602与云存储系统之间的连接。在将计算机1602连接至相关联的云存储系统时,外部存储接口1626可以在适配器1656和/或调制解调器1658的帮助下,如管理其他类型的外部存储一样管理由云存储系统提供的存储。例如,外部存储接口1626可以被配置成提供对云存储源的访问,就好像这些源物理地连接至计算机1602一样。
138.计算机1602可以被操作成与操作上以无线通信布置的任何无线设备或实体进行通信,例如打印机、扫描仪、台式计算机和/或便携式计算机、便携式数据助理、通信卫星、与可无线检测的标签相关联的任何装置或位置(例如信息亭、报摊、商店货架等)以及电话。这可以包括无线保真(wi-fi)和无线技术。因此,通信可以是如常规网络的预定义结构或者仅是至少两个设备之间的自组织通信。
139.图17是所公开的主题可以与之交互的样本计算环境1700的示意性框图。样本计算环境1700包括一个或更多个客户端1702。客户端1702可以是硬件和/或软件(例如线程、进程、计算设备)。样本计算环境1700还包括一个或更多个服务器1704。服务器1704也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1704可以容置线程以通过采用本文中所述的一个或更多个实施方式来执行转换。客户端1702与服务器1704之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据包的形式。样本计算环境1700包括通信框架1706,其可以用于促进客户端1702与服务器1704之间的通信。客户端1702可操作地连接至一个或更多个客户端数据存储器1708,客户端数据存储器1708可以用于存储客户端1702本地的信息。类似地,服务器1704可操作地连接至一个或更多个服务器数据存储器1710,服务器数据存储器1710可以用于存储服务器1704本地的信息。
140.上面已经描述的内容包括本发明的示例。当然,不可能为了描述所公开的主题的目的而描述部件或方法的每个可想到的组合,但是本领域普通技术人员可以认识到本主题发明的许多进一步的组合和排列是可能的。因此,所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这样的更改、修改和变化。
141.特别地,关于由上述部件、设备、电路、系统等执行的各种功能,除非另外指出,否则用于描述这样的部件的术语(包括对“手段”的引用)旨在对应于执行描述的部件的指定功能的任何部件(例如,功能等同物),即使该部件结构上不等效于执行所公开的主题的本文中示出的示例性方面的功能的所公开的结构也如此。在这一点上,还将认识到,所公开的主题包括具有用于执行所公开主题的各种方法的动作和/或事件的计算机可执行指令的计
算机可读介质以及系统。
142.另外,尽管可能已经针对若干实现中的仅一个实现公开了所公开主题的特定特征,但是这样的特征可以与其他实现中的对于任何给定或特定应用来说可能是期望和有利的一个或更多个其他特征进行组合。此外,就在具体实施方式或权利要求中使用了术语“含有”和“包含”及其变体而言,这些术语旨在以类似于术语“包括”的方式为包含性的。
143.在本技术中,词语“示例性”用于表示用作示例、实例或说明。在本文中被描述为“示例性”的任何方面或设计未必被解释为比其他方面或设计优选或有利。更确切地,使用词语“示例性”旨在以具体的方式来呈现概念。
144.本文描述的各个方面或特征可以使用标准编程和/或工程技术实现为方法、装置或制品。如本文中所使用的术语“制品”旨在包括能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如,硬盘、软盘、磁条
……
)、光盘(例如,致密盘(cd)、数字通用盘(dvd)
……
)、智能卡以及闪存设备(例如,卡、棒、钥匙驱动器
……
)。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献