CN103559182B - 用于数据的异步搜索和过滤的***和方法 - Google Patents

用于数据的异步搜索和过滤的***和方法 Download PDF

Info

Publication number
CN103559182B
CN103559182B CN201210452129.7A CN201210452129A CN103559182B CN 103559182 B CN103559182 B CN 103559182B CN 201210452129 A CN201210452129 A CN 201210452129A CN 103559182 B CN103559182 B CN 103559182B
Authority
CN
China
Prior art keywords
data
server
monitoring system
criterions
customized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210452129.7A
Other languages
English (en)
Other versions
CN103559182A (zh
Inventor
肯尼斯·S·普拉赫
约瑟夫·布罗尼科夫斯基
塔里尔·J·贾斯帕
迈克尔·D·卡兰恩
道格拉斯·J·赖夏德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of CN103559182A publication Critical patent/CN103559182A/zh
Application granted granted Critical
Publication of CN103559182B publication Critical patent/CN103559182B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31161Java programcode or simular active agents, programs, applets
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31171Each data object has corresponding identification for object manager, associative
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32128Gui graphical user interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33148CLS client server architecture, client consumes, server provides services
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34246OOC object oriented control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

一种自动化控制和监测***包括服务器,该服务器被配置用于从客户端组件接收订制请求。该订制请求向服务器提供一个或更多个准则。服务器被配置用于基于订制请求中的一个或更多个准则来经由第一通知向客户端组件提供数据集合。服务器被配置用于:当对应于一个或更多个准则的附加数据或修改可用时,基于订制请求来经由附加通知提供附加数据集合、对数据集合的修改或这两者。

Description

用于数据的异步搜索和过滤的***和方法
对相关申请的交叉引用
本申请是2011年11月11日提交的题为“Data Querying”的美国临时专利申请No.61/558,995的正式申请,通过引用将该美国临时申请合并于此。
技术领域
本公开内容的实施例总地涉及自动化控制和监测***的领域。更具体而言,本公开内容的实施例涉及在自动化控制和监测***中的数据查询的使用。
背景技术
对于自动化控制和监测***而言特别是在工业设置中存在着广泛的应用。这样的应用可以包括对于诸如阀门、电动机等的范围广泛的致动器的供电以及经由传感器的数据采集。典型的自动化控制和监测***可以包括一个或更多个组件,诸如:编程终端、自动化控制器、输入/输出(I/O)模块和/或人机接口(HMI)终端。
通常采用人机接口或“HMI”来监测或控制各种进程(process)。HMI可以用在许多不同设置中,诸如机动车、飞行器、商业设置以及大量其它应用中。HMI可以从特定寄存器读取或者对特定寄存器写入,使得它们可以反映各种机器、传感器、进程等的操作状态。HMI也可以对寄存器和存储器写入,使得它们在某种程度上可以控制进程的功能。在单独的监测功能中,执行很少的控制或者没有执行实际控制。监测功能也可以通过其它控制和监测***组件实现。现在认识到,期望改进的监测控制***的操作状态的方法。
发明内容
根据本公开内容的一个方面,一种自动化控制和监测***包括服务器,该服务器被配置用于从客户端组件接收订制请求。该订制请求向服务器提供一个或更多个准则。服务器被配置用于基于订制请求中的一个或更多个准则来经由第一通知向客户端组件提供数据集合。服务器被配置用于:当对应于一个或更多个准则的附加数据或修改可用时,基于订制请求来经由附加通知提供附加数据集合、对数据集合的修改或这两者。
根据本公开的另一方面,一种方法包括:经由自动化控制和监测***中的客户端组件,通过在订制请求中向自动化控制和监测***的服务器提供一个或更多个准则来订制查询。该方法还包括:从服务器接收第一通知,该第一通知包括与订制请求的一个或更多个准则有关的数据的第一部分。此外,该方法包括:从服务器接收一个或更多个附加通知,该附加通知包括与订制请求的一个或更多个搜索准则有关的数据的附加部分。
这里的实施例也提供一种包括服务器、视图、视图模型和数据模型的自动化控制和监测***。该视图包括自动化控制和监测***的图形用户接口。该视图模型被配置用于请求和接收来自服务器的与视图有关的数据。该数据模型包括服务器访问的对象的模型。该服务器被配置用于从数据模型访问所请求的数据并将所请求的数据经由至视图模型的异步通知来提供给视图模型。
根据本公开的另一方面,一种自动化控制和监测***包括客户端组件,该客户端组件被配置用于向服务器发送订制请求,该订制请求向服务器提供一个或更多个准则。此外,客户端组件被配置用于基于订制请求中的一个或更多个准则来经由第一通知从服务器接收数据集合。此外,客户端组件被配置用于:当对应于订制请求中的一个或更多个准则的附加数据或修改可用时,经由附加通知接收附加数据集合、对数据集合的修改或这两者。
附图说明
当参照附图阅读以下具体实施方式时,本发明的这些以及其它特征、方面和优势将变得更好理解,其中在附图通篇中相同的符号表示相同的部件。
图1是根据本技术某些方面的自动化控制和监测***的部分的框架的总体概略图;
图2是根据本技术实施例的自动化控制和监测***的图解概略图;
图3是根据本技术实施例的接口和编程终端的功能组件中的某些功能组件的概略图;
图4是根据本技术实施例的设备元件中的某些视图或容器的概略图;
图5是根据本技术实施例的与服务器通信以查询自动化控制和监测***设备的组件的客户端组件的框图;
图6是根据本技术实施例的用于实现查询的功能组件的示意框图;
图7是图示根据本技术实施例的图6的功能组件之间的通信的示图;以及
图8是图示根据本技术实施例的用于实现查询的方法的进程流程图。
具体实施方式
自动化控制和监测***的组件内的传统数据仓库支持相对较大数据集合的查询。这些数据集合通常在具有所请求数据的较小片段的多个响应分组中传送。例如,10000个项目的搜索或过滤可能经由多个通知在100个项目响应分组中返回结果。然而,这些***不能有效地提供在提交初始查询之后而在通知中返回数据之前改变的数据。客户端组件将不得不再次查询服务器以接收该更新后的数据。
这里的实施例涉及自动化控制和监测***内的数据的异步搜索和过滤。提供用于经由从客户端组件向服务器发送或反之亦然的订制通知来订制查询的***和方法。应注意到的是,在本上下文中,术语“客户端”和“服务器”可以指示设备扮演的角色并且可以是在设备之间或甚至在单个设备内可互换的。订制通知可以包括一个或更多个过滤器准则、待返回的属性集合以及指定在单个通知中待返回的最大数据量的最大数据返回阈值。在接收到订制通知时,服务器访问自动化控制组件的数据模型并经由一个或更多个异步通知向客户端组件返回匹配过滤器准则的数据。在下面的论述中,术语“异步通知”是指不是同时传送而是连续地一个接一个传送的多个通知。服务器可以经由一个或更多个初始通知向客户端组件提供匹配准则的初始数据集合,并且然后在附加数据变得可用时经由附加通知向数据模型提供后续更新。客户端组件可以包括视图模型,该视图模型接收所返回的数据并配置该数据用于在视图(例如,图形用户接口)上显示。这种查询机制可以响应于用户提交的单个查询而提供更准确的数据集合。此外,将更新传送到数据模型可以实现在客户端组件和服务器之间的带宽的更高效使用,允许使用更简单的设备来监测自动化控制和监测***的状态信息。
自动化控制和监测***
在整个下面的论述中将描述大量方面、组件和进程。作为介绍,总的***概略图是按照这些特征位于上下文中的顺序的。图1是根据本公开内容实施例的用于接口的控制和监测软件框架10的图解表示。框架10通过利用基于模型的互连机制12来促进构建功能软件,该基于模型的互连机制12固有地支持动态操控和配置。该动态操控和配置能力促进用于可配置接口的特征丰富配置环境的高效提供。也就是,如下所述,将各个设备元件或对象作为独立代码提供,该独立代码可以各自被编程、可以被预写入以供使用、可以如库中那样、可以在屏幕上的它们的外观和功能上被定制、以及可以被互连以向用户提供信息以及控制和监测功能。在这里的实施例中,这些设备元件或对象可以包括如下数据,该数据可响应于查询而经由异步通知被提供给控制和监测***的组件。
框架10包括可以驻留于单个***(例如,计算机)上的两个相关的软件环境。具体而言,运行时(run-time)环境14能够使得操作者(例如,人类用户)与诸如运行时期间(例如,在使用接口期间,典型地在与操作进程的交互期间或在操作进程的履行期间)的进程之类的应用交互。设计时(design-time)环境16允许设计者配置接口及其组件。例如,***可以经由运行时环境14在显示器(例如,计算机或接口设备屏幕)上将运行时信息图形化地呈现给操作者。此外,***可以包括用于接受操作者输入的装置(例如,键盘),该操作者输入可经由运行时环境14被检测和管理。
运行时环境14包括或提供对设备元件18的访问。设备元件18是可以包括任何在软件环境中可访问或可配置元件的软件组件。例如,设备元件18包括诸如由运行时环境14管理的“ActiveX”控件或“.NET”组件之类的软件组件。“ActiveX”控件或“.NET”指代面向对象的概念、技术和工具。本领域技术人员通常将完全熟悉这样的编程方法。在本上下文中,这样的标准应仅作为示例,并且“设备元件”应理解为包括任何一般类似的组件或可以作为准独立元件运行的自足(self-sufficient)程序(有时称为“对象”)。在以下论述通篇中,术语“设备元件”或“对象”可以互换地使用。对于这样的元件而言存在通常被不同的公司或工业团体所拥护的其它标准和平台。
由于这样的设备元件对于这里阐述的某些概念是基础的,所以介绍的一些用语是按照顺序的。设备元件一般包括四个特征:属性、方法、连接(或连接点)和通信接口。在本上下文中,属性是可以调整的特性,诸如以限定元件在屏幕视图中的图像或呈现以及其在屏幕上的位置等等。在本上下文中,方法是可执行功能(有时这里称为元件“功能性”或“状态引擎”),并且限定由元件的执行实现的操作。在本上下文中,连接是元件之间的链接,并且可以用于使(从存储器读取的或写入存储器的)数据发送给另一元件。
设备元件18的特定示例可以包括软件按钮、定时器、计量表、PLC通信服务器、可视化(诸如图示自动化控制和监测***内的组件状态的屏幕)和应用。一般而言,任何可虚拟识别的功能都可以被配置为这样的元件。而且,如下面所论述的那样,这样的元件可以彼此通信以实现广泛范围的显示、监测操作和控制功能。应注意到的是,设备元件18不需要用于支持设计模式的特殊限制。而且,尽管与图像关联的元件特别是对于可视化而言相当有用,但许多元件可以不具有视觉呈现,而是可以实现HMI内的功能,诸如计算或者甚至其它元件之间的数据交换和管理。
运行时环境14通常使用通信子***20操作。通信子***20适于将设备元件18互连。实践中,通信子***20可以被认为包括设备元件18的连接。然而,它可以包括向外部电路发送数据和从外部电路接收数据的众多软件、硬件和固件,该外部电路诸如自动化控制器、其它计算机、网络、卫星、传感器、致动器等。
运行时环境14通常使用行为子***22操作,该行为子***22适于管理设备元件18的行为。例如,行为子***22的职责可以包括以下:放置和移动设备元件、修改设备元件、在可互换屏幕上对设备元件进行分组、保存和恢复屏幕布局、管理安全性、保存和恢复连接列表以及供应对运行时环境14的远程访问。同样这里,在实践中,这样的行为可以被定义为每个设备元件的配置文件(即,“方法”或“状态引擎”)的部分。
在目前公开的实施例中,可以使用设计时环境16通过各种胖客户端、瘦客户端或基于Web的实施来配置设备元件18。例如,设计时环境16可以在联网的计算机工作站或瘦客户端设备上实施,该联网的计算机工作站或瘦客户端设备从服务器直接访问设备元件18。这样的设备然后可以允许设计者在接口不是正在操作时实现对在运行时环境14中使用的设备元件18的重新配置。在一些实施例中,设计时环境16可以包括行为子***22的先进实施,其促进运行时环境14的直接或间接操控,而不阻碍或者损害运行时环境14的行为。也就是,即使在接口正在操作时也可以完成设备元件18的设计和重新配置。行为子***22经由设计时环境16诸如在常规浏览器中的远程提供来扩展对运行时环境14的访问。行为子***22通过从HMI向远程编程终端供给设计时环境16或其各方面,允许设计者经由该编程终端与HMI的运行时环境14交互并改变该运行时环境14的各方面。例如,经由网络耦合到膝上型电脑的HMI可以通过经由网络向膝上型电脑供给特定设计时环境16来向用户提供配置能力。
下面提供如何可以完成这点的细节和示例。在当前实施例中,设计时环境16可以是组合动态超文本标记语言(DHTML)和活动服务器页面(ASP)服务器脚本化以向浏览器供给动态内容的产品。ASP脚本是特别编写的代码,该代码包括在页面发送到用户之前在服务器(例如,Web服务器)上处理的一个或更多个脚本(即,小的嵌入程序)。通常在常规使用中,这样的脚本促使服务器访问来自数据库的数据并对数据库作出改变。接下来,该脚本通常在将页面发送给请求者之前构建或定制该页面。如下面所论述的那样,这样的脚本化在本框架中截然不同地被使用,诸如以构建可视化,而无需预先知道设备元件的功能性或它们的相互关系。
通过促进对设备元件的改变,设计时环境16允许设计者作出行为子***22的可互换设计时模型或专用实现。行为子***22的设计时实现的特定示例包括设计时环境16,该设计时环境16经由在HMI与远程设备之间的TCP/IP连接来在HMI上扩展对运行时环境14的访问。设计时环境16促进设备元件的管理,而不损害运行时性能或安全。在一个专用实现中,行为子***22给予设计者使用能够访问有关接口或HMI的Web浏览器来操控运行时环境14的各方面的能力。如上面提到的,这是通过使用设备元件属性的配置、脚本化和动态内容的组合来实现的。
图2是根据本公开内容实施例的实现上述框架的诸如用于工业自动化的控制和监测***24的图解表示。***24包括适于与联网组件和配置装备对接的HMI 26。***24被图示为包括适于通过控制/监测设备30(例如,远程计算机、诸如可编程逻辑控制器(PLC)或其它控制器之类的自动化控制器)与进程28的组件合作的HMI 26。在这里的实施例中,控制和监测***24的组件可以查询其它***组件以便监测遍布***中的对象的各种操作状态。例如,HMI 26可以经由控制/监测设备30中的服务器定制对控制/监测设备30内存储的数据的查询,并且服务器可以在多个通知中将所请求的数据提供给HMI 26。
通过使用任何适合的网络策略可以促进进程28的组件与HMI 26之间的合作。实际上,可以采用诸如设备网(DeviceNet)或以太网(Ethernet)之类的工业标准网络来实现数据传送。这样的网络允许根据预定义协议交换数据并且可以为联网元件的操作提供电力。如上面提到的,尽管在本论述中参考了联网(例如,有线或无线)***以及合并控制器和其它装备的***,但所述的HMI 26和编程技术可以完全等同地应用于非联网组件(例如,GPS显示器、游戏显示器、蜂窝电话显示器、平板显示器等)以及在工业自动化领域之外的联网***。例如,给出几个例子,下面描述的布置和进程可以用在设施管理、机动车和车载接口、计算机数控(CNC)机器、销售点(POS)***、商业市场(例如,电梯、登入***)的控制接口等中。
通过对应的行为子***构建和管理的运行时或操作环境14存储在并驻留于HMI26中。例如,这样的行为子***可以适于诸如在HMI 26的初始制造或建立期间从存储位置加载应用配置框架(例如,10)。当加载时,所存储的应用框架可以适于创建屏幕并将用户接口设备元件(对应于该元件的实际图像或图形表示)定位在屏幕上。这些应用、屏幕和用户接口元件是各个类型的设备元件。如下所述,HMI 26包括所存储的应用,该所存储的应用决定设备元件的布局和交互。基于运行时引擎的设计时环境16也可以加载并驻留于HMI 26上。设计时环境16可以适于操纵设计时环境和运行时环境二者的先进特征(例如,安全管理)。
HMI 26可以适于允许用户与任意进程虚拟地交互。例如,进程28可以包括压缩机站、炼油厂、用于制作食物的批量操作、机械化装配线等。因此,进程28可以包括多种操作组件,诸如电动机、阀门、温度传感器、压力传感器或者大量的制造、处理、材料运输和其它应用。此外,进程28可以包括用于通过自动化和/或观测来调节进程变量的控制和监测装备。一般而言,进程28可以包括传感器34和致动器36。传感器34可以包括任意数目的适于提供关于进程条件的信息的设备。致动器36可以类似地包括任何数目的适于响应于输入信号执行机械动作的设备。
如所示那样,这些传感器34和致动器36与控制/监测设备30(例如,自动化控制器)通信并且可以被赋予可由HMI 26访问的控制/监测设备30中的特定地址。传感器34和致动器36可以与HMI 26直接通信。可以利用传感器34和致动器36来操作进程装备。实际上,可以在控制/监测设备30和/或HMI 26控制和监测的进程循环内利用它们。可以基于进程输入(例如,来自传感器34的输入)或直接输入(例如,通过HMI 26接收到的操作者输入)来激活这样的进程循环。
接口上的服务器软件允许开发环境的视图化和接口(特别是设备元件及其关联的外观和功能性)的直接重新配置,而无需特殊的视图化或配置软件。该益处源自如下事实:设备元件和设计时环境本身驻留于HMI 26中,并且通过HMI 26“供给”到编程终端46上的浏览器或其它通用查看器。换言之,可以减少或消除对外部计算机工作站(例如,膝上型计算机和台式计算机)的必要支持。应注意到的是,所提到的用于查看和修改接口配置的“浏览器”并不限于Web浏览器或者任何特定浏览器。提及浏览器旨在于示例性。更一般而言,这里利用术语“浏览器”来指代包括任何通用查看器的软件。
通过如下所述的设备元件的编程,HMI 26可以被认为是包括用于呈现一个或更多个屏幕视图或可视化的指令以及在通过参考屏幕视图与HMI 26交互(例如,按下按钮、触摸屏幕的位置等)时执行的设备元件。屏幕视图和设备元件可以由任意期望的软件或软件包来限定。例如,屏幕视图和设备元件可以通过操作***38来调用或通过操作***38来执行。根据这里的实施例的如上所述的设备元件可以是符合“.NET”或“ActiveX”或者任何其它标准的对象,或者可以利用专有技术。操作***38本身可以基于任意适合的平台,诸如Linux、Microsoft Windows、Microsoft Windows CE、Android、iOS、OS-X等。如这里所提到的,设备元件和工具支持用于在网络(例如,因特网)上传输数据的Web服务或技术。如下所述,这些设备元件因而遵循有关信息共享的规则集合,并且适于与各种脚本化和编程语言一起使用。这样的设备元件使得能够将交互的内容提供到诸如LAN、WAN、内联网、外联网或甚至万维网之类的应用的外部。因此,通过允许配置访问(例如,供给)浏览器48,操作***38和各种设备元件促进通过浏览器48对HMI 26的动态配置。
例如,这样的配置访问包括对设备元件的实例化的访问。换言之,可以从浏览器48实际地创建和实施新设备元件。同样,应注意到,浏览器48不需要实际的功能访问。实际上,在一个实施例中,经由浏览器48的请求导致基于容器中设备元件的内容和数据功能性的操作的“拖拽(draw)”序列,因而允许图示设备元件表示以及对它们的配置的访问,而无需实际地供给功能方面。这允许经由远程工作站的配置,而无需对远程工作站的技术支持。
除了上述的操作***38和设备元件之外,HMI 26包括应用或应用层40。应用40本身可以包括设备元件,应用40促进对来自HMI 26的各种设备元件的信息的访问和获取。特别地,应用40表示在可以枚举用于执行的多级设备元件中的第一级。实际实现中的应用40可以包括各种形式(例如,XML、HTML、JSON或专有)的用户应用。用户应用然后通过用户或操作者以及通过设计者进行交互。
屏幕视图和设备元件可以描述为软件的可独立执行片段。如上面提到的,设备元件可以包括它们从通常在其它设备中(但也可以在HMI 26内)的特定存储器或存储器的寄存器读取或对其写入的功能性。例如,具体功能可以对应于对控制/监测设备30的可寻址寄存器32之一的写入或从控制/监测设备30的可寻址寄存器32之一的读取。在简单的情况下,例如,对象访问数据片段(例如,由传感器34之一确定的组件的状态)并生成输出信号以写入与不同联网设备的状态对应的值。如下面将更详细论述的那样,这样的状态信息可以经由状态增量(delta(Δ))43来传送。例如,在图2描绘的实施例中,控制/监测设备30和HMI26可以使用状态增量43传送状态信息。此外,编程终端46可以使用状态增量43来与HMI 26和控制/监测设备30通信状态信息。如下面详细描述的那样,状态增量43可以被用于提供对经由实况查询(live query)所请求的数据的更新。
在工业控制和监测的上下文中,设备元件可以模仿大量物理组件的操作,诸如瞬时接触按钮、具有延迟输出的按钮、开关、模拟仪表显示器等。许多预编程设备元件可用于由HMI 26使用。这样的功能模块可经由网络访问或者可以驻留于HMI 26上或驻留于直接与HMI 26链接的单独设备上。以此方式,HMI供应商或软件供应商可以提供许多可能的构件块,从这些构建块可以对屏幕以及复杂控制和监测功能进行编程。实际上,可用设备元件的库44可以驻留于HMI 26上以促进HMI 26的配置。屏幕指令可以号令设备元件或对象18基于操作者输入执行期望的功能,并且这些指令可以被编程为预编程元件的版本。例如,操作者可以通过触摸触摸屏上的位置或者按下键盘上的按键来提供发起输入。然后基于屏幕指令和与这些指令关联的设备元件或对象18(例如,具有触发预配置的设备元件的调用或执行的特定位置),可以执行期望的功能。因此,使得操作者能够与进程交互,典型地,改变屏幕视图、对寄存器进行写入、发起实况查询或者命令生成其它输出或控制信号。在单机(stand-alone)实现中,交互可以只是恢复或存储数据、改变屏幕等。
可以采用一个或更多个分开的接口屏幕,其中一些HMI具有许多这样的屏幕和大量设备元件18。每个设备元件18又可以唯一地编程以考虑特定输入、实现特定功能和生成用于特定输出的信号。如下所述,多个这样的设备元件18可以加载并群集在单个软件“容器”(例如,ActiveX容器)中。
HMI 26可以通过直接与HMI 26本身上的面板或屏幕(如果存在)交互来进行配置。但在许多情况下,将相对于编程终端46远程地进行配置。例如,经由浏览器48或类似应用提供对驻留库44和/或操作***38以及应用40的直接访问。在本实现中,在编程终端46不需要其它专用软件。实际上,驻留于HMI 26上的服务器42可以提供对库44中的设备元件的访问。通过将库44中的设备元件直接存储在HMI 26上,可以减少版本冲突等的风险。附加地,可以将HMI 26直接连接到编程终端46,或者通过参考赋予给HMI 26的IP地址(因特网协议地址)来访问HMI 26。
可以使用访问控制方案来限制改变屏幕和设备元件的能力。例如,可以要求密码或用户访问状态来获得这样的访问。此外,在目前构想的实施例中,编程终端自动地识别HMI 26或HMI 26驻留于其上的终端作为耦合到编程终端46时的设备(例如,类似于外部存储器或驱动器)。因而,一旦连接到编程终端,HMI 26就可以被简单地“识别”为可以访问的设备(提供下述的配置屏幕和工具)。
一旦然后驻留于HMI 26上的设备元件18对于编程终端46而言可访问时,就可以从编程终端46经由通信链路直接在HMI 26上修改或更新HMI 26的各方面。例如,用户可能希望更新具体HMI图形以提供数据,诸如与从新近安装的传感器34接收到的信息有关的历史数据或趋势。附加地,用户可以发现在处于离线模式的同时(例如,无需立即实现改变)更新用于此数据的呈现的HMI图形是所期望的或者是方便的。在这样的情形下,用户可以经由编程终端46链接到可用设备元件的库44,并使用它们修改开发环境中的HMI图形或功能性。
应注意到的是,可以向库44添加附加设备元件。例如,如果趋向的设备元件并没有驻留于HMI 26上,则用户可以从驻留于编程终端46上的配置库50下载这样的元件到HMI26。备选地,用户可以通过编程终端46访问来自资源库52的趋向的设备元件或者直接将来自资源库52的趋向的设备元件访问到HMI 26,该资源库52可经由网络(例如,因特网)访问。这可能是特别有利的,因为可以将新的且改进的设备元件各自地且基于周期地下载到HMI26,从而添加新的功能性,而无需周期地释放新的转换程序或HMI操作***或者运行时或设计时环境软件。开发环境可以对这样的库提供链接。此外,在使用嵌入代码(例如,操作***、服务器软件、设备对象等)的实施例中,由于嵌入代码驻留于HMI 26上,所以可以避免与嵌入代码的版本冲突并且可以减少对于编程终端软件更新的需要。
为了跟踪控制和监测***24的一个或更多个组件的状态信息,控制和监测***24的组件可以使用表示控制和监测***24的各个方面的分布式数据模型。例如,分布式数据模型可以使得在控制和监测***24内(例如,在控制和监测***24的组件中的一个或更多个组件处)能够存在表示控制和监测***24的数据模型的多个缓冲副本。分布式数据模型可以结合增量脚本化和分布式命令操纵来工作。增量脚本化可以使得控制和监测***24的一个或更多个组件能够确定对数据模型的状态改变,生成仅包含对数据模型和/或整个数据模型的改变的增量脚本,以及将增量脚本提供给控制和监测***24的其它组件。其它组件可以消耗增量脚本并将包含在增量脚本内的数据应用到数据模型的本地缓冲副本(例如,包含在控制和监测***24的组件之一处的分布式副本)。
为了更好地图示设计时环境和运行时环境之间的关系,图3提供表示HMI 26与编程终端46之间的交互的高层级流程图。一般而言,HMI 26和编程终端46的平台将包括操作***或执行软件38、应用软件40以及任何通信软件、微处理器、网络接口、输入/输出硬件、通用软件库、数据库管理、用户接口软件等(在图3中未具体示出)。在这里的实施例中,可以利用这样的软件来查询存储在控制和监测***24内的数据。例如,该软件可以向服务器传送指明过滤器或搜索准则的定制请求,或者响应于接收到订制请求而向客户端组件提供匹配准则的数据的通知。
在图示实施例中,设计时平台和运行时平台在HMI 26内交互。设计时平台向台式个人计算机平台(例如,运行适合的操作***38,诸如Microsoft Windows OS、MAC OS或Linux)提供用作设计时环境16的视图,并且运行时平台经由操作***(例如,MicrosoftWindows OS、MAC OS、iOS、Android或Linux)而与设计时平台协作。设计时平台提供动态服务器内容54,而运行时平台在HMI 26本身上显示视图(如果在HMI 26上提供显示屏幕)。在浏览器48(例如,Web浏览器或其它通用查看器)中显示设计时环境16。
图3在非常高的层级上表示设计时环境16如何与操作***38、应用40和运行时环境14交互。箭头56表示在HMI 26与编程终端46之间的内容的动态交换。该动态交换可以包括响应于查询而在控制和监测***24的某些运行时组件和设计时组件之间传送所请求的数据。在这里的实施例中,内容的动态交换可以是指经由异步通知提供的所请求的数据的传送和对所请求的数据的更新。一般而言,与设计时环境16的交互是初始地配置HMI屏幕或可视化、设备元件、它们的功能及交互或者重新配置这样软件的设计者58的任务。运行时环境14一般通过操作者60直接在HMI 26处进行交互。应注意到的是,尽管在当前实施例中设计时环境16具有特定需要,但其并不极大地依赖于操作***38、应用40和运行时环境14。设计时环境16和运行时环境14可以利用某些基础技术(例如,DHTML、HTML、HTTP、动态服务器内容、JavaScript、Web浏览器)来分别在设计时平台和运行时平台中操作。尽管在图示实施例中运行时环境14和设计时环境16驻留于分开的平台上,但在一些实施例中它们可以驻留于同一平台上。例如,设计时平台和运行时平台可以配置为单个平台或可以看作单个平台。
在本发明的一个实施例中,利用设计时Web实现。如图3中的动态服务器内容54所标示的以及如下面所描述的那样,该设计时Web实现通过使用来自HMI的具有DHTML支持的Web浏览器(例如,48)来提供在设计时平台上运行的软件的速度和灵活性。DHTML用于在设计时环境16中执行对Web内容的动态操控。此外,在HMI中使用动态服务器内容54来向设计时环境16供给动态Web内容。该动态的客户端-服务器环境允许Web浏览器模拟在设计时平台上运行的应用,而无需针对有关处理器编译的软件片段。
图4是图示根据本技术实施例的设计时环境中的一个或更多个设备元件18的示图。该示图包括通过在显示器100(例如,用于浏览器显示的屏幕)、属性编辑器102和HMI 26之间的关系图示的交互。
由配置屏幕或显示器100表示的设计时环境包括静态内容104和动态内容。动态内容包括与***示或表示的设备元件106对应的图像(例如,虚拟开/关按钮、计量器)。在这里的实施例中,动态内容可以包括设计时环境经由控制和监测***24的某些运行时数据模型的查询所请求的运行时数据。也就是,显示的动态内容可以对应于与从设计时环境发送的定制请求匹配的数据的特定属性。在设计时环境接收到与请求对应的更新数据的异步通知时,可以周期性地更新该动态内容。在一个实施例中,图像由HTML中的图像标记指明,并且该图像是HMI 26创建的JPEG文件的一部分。静态内容104可以通过ASP服务器来创建或者可以预先存在于HTML文件中。应注意到的是,在一些实施例中,指定的设计者仅可以编辑静态内容104。
在图4的表示中,设备元件表示106包含在视图容器108内。如本领域技术人员将理解到的那样,容器一般限定处理空间的其中打开某些设备元件以备使用的部分。容器108因而可以对应于仅包括可在当前屏幕内查看的元件的第一视图容器。如上面所论述的那样,可以在HMI 26中提供许多这样的屏幕。可以在诸如容器110的其它视图容器中提供诸如备选控制或接口屏幕的其它屏幕。一般而言,为了加速HMI 26的操作(例如,在屏幕视图之间的改变),预定义这样的视图容器,并且通过各自设备元件的定义将这样的视图容器彼此相关联,这样的视图容器与各自设备元件相关联或者在各自设备元件内提供设备元件的表示。可以定义全局容器112包括各种视图容器所必需的所有设备元件以及可能在任意视图容器中未表示的其它元件。因此,如图4所示,视图容器108包括虚拟按钮106,该虚拟按钮106执行通过第一屏幕中的表示显现的“手动控制(jog)”功能。新容器110包括若干组件,诸如“开始”按钮114、“停止”按钮116、虚拟计量器118和数字读出120。全局容器112然后将包括用于各种视图容器的所有这些设备元件以及对于可查看设备元件的操作所需的但本身不是可查看的任何设备元件122。这样的设备元件可以包括执行计算、趋向、传送和范围广泛的其它功能的元件。
图4还图示属性编辑器102,在该属性编辑器102中用户可以访问元件106的各种属性。如上面所论述的那样,元件106也可以包括与元件106相关联的文本和连接,该与元件106相关联的文本和连接也可以由用户经由类似于属性编辑器102的编辑器进行配置。
在一个实施例中,属性编辑器102可以经由从浏览器(例如,图2的浏览器48)到驻留于HMI 26上的服务器96(例如,HTTP服务器)的查询字符串来与HMI 26交互。服务器96与ASP服务器98协作以接收和响应查询,该ASP服务器98包括诸如动态链接库(DLL)之类的基于模块的互连机制12。DLL允许将可执行例程存储为可以在程序需要或涉及时加载的单独文件。在上面阐述的示例中,当接收到调用时,由ASP服务器98重新加载页面并且初始地解析查询字符串,产生对移动命令的评估。然后服务器侧脚本访问由图像106表示的设备元件18并更新其位置属性。然后在页面上更新新的属性信息并将该页面传递给浏览器48。在这里的实施例中,可以在控制和监测***24的不同组件之间执行类似的查询。例如,驻留于自动化控制器中的服务器可以接收并响应从HMI 26发送的查询,以便提供与在订制请求中提交的一个或更多个准则有关的数据。这里的实施例也允许实况查询,其中在对数据集合的更新变得可用时,订制查询的组件接收这些更新。
数据查询
如前面所论述的那样,控制和监测***24的组件可以以松散耦合的异步方式独立地操作。有时对于控制和监测***24的一个组件而言可能期望查询一个或更多个其它***组件以确定它们的操作状态。例如,HMI26可以查询控制/监测设备30以接收表明(例如,由传感器34检测到的)进程的当前操作状态的数据。图5是宽泛地图示用于执行这样的数据查询的某些功能组件130的框图。功能组件130包括客户端组件(例如,客户端132)、服务器134和被查询组件136。在一些实施例中,这些特征中的一个或更多个特征可以代表单个设备。客户端132可以经由充当查询机制的服务器134订制查询。在上面给出的示例中,HMI 26将是客户端132,并且控制/监测设备30将是被查询组件136。服务器134的角色可以由HMI 26、控制/监测设备30或单独设备来扮演。客户端132和服务器134彼此通信。如下面更详细描述的那样,客户端132可以通过经由订制请求向服务器134提供一个或更多个准则来定制查询。然后服务器134基于订制请求中的一个或更多个准则来向客户端132提供数据集合。为了实现这一点,服务器134充当从客户端132请求的数据的管理者,通过将数据收集到数据仓库中来聚集查询结果,并且然后向客户端132推送数据。数据仓库可以是数据库(例如,标记数据库)或能够提供对数据(例如,自动化数据、配置数据、测量数据)的访问的任何其它存储介质。收集在数据仓库中的数据可以包括经由订制请求所请求的数据的一个或更多个属性,并且在可以由客户端132操纵的通知中从数据仓库发送期望的属性。也就是,除了其它之外,服务器134可以根据准则、数据集合的尺寸和客户端132的数据操纵能力,在多个通知中向客户端132提供数据集合。
图5图示了用于这种数据查询的功能组件130的一种布置,但是这些功能组件130的不同布置也是可以的。这是因为功能组件130有效地是扮演控制和监测***24的一个或更多个物理组件内的特定角色的层。这些不同角色通过保持在客户端132、服务器134、被查询组件136等中的不同数据模型实现。因此,可以将功能组件130的一个或更多个打包在单个***组件(例如,控制/监控设备30)内。特别地,服务器134可以向下推送到被查询的控制/监测设备30中。这允许控制/监测设备30处理查询,将数据收集到适当数据记录中,并评估该数据。HMI 26可以充当客户端132,向控制/监控设备30发送订制请求,以便接收期望的数据。接收到的数据可以用来产生在HMI 26的视图中的可视化。
应注意到的是,客户端132可以包括需要从另一组件获得信息的控制和监测***24的任意组件。例如,客户端132可以包括控制器、HMI 26、电话、设计工具(例如,编程终端46)、运行时组件、智能I/O设备等。作为特定示例,客户端132本身可以是查询另一自动化控制器的自动化控制器。在这种情形下,控制器之一将是客户端132,而另一个控制器(被查询的那一个)将是组件136。这在其中设计者58正在基于控制和监测***24内的其它设备来配置客户端控制器的标记参考的情形下可能是特别有用的。例如,操作者可以执行请求某些装备集合的查询,这些装备组合可以用于进程28中的任务,诸如在不锈钢槽中搅拌。可能来自任何数目的查询组件136(例如,控制器)的查询结果将包括遍布***的可以用于在不锈钢槽中搅拌的每件装备的名称和/或其它属性。如果每个控制器都具有能够执行服务器134的角色的处理器时,可以反转控制器的角色。
在论述了用于保持与查询有关的数据模型的一般层之后,现在将提供对数据模型本身的更详细论述。图6是具体集中在客户端132与服务器134之间的交互上的用于查询的功能组件130的示意框图。功能组件130除了其它之外包括视图140、视图模型142和数据模型144。这些组件可以组合和/或合并到图5所示的功能组件130中。
视图140包括控制和监测***24的图形用户接口(GUI),并且更具体而言包括订制查询的客户端132的GUI。在某些实施例中,使用特定GUI渲染技术的数据绑定机制实现视图140以连接到视图模型142。视图模型142包括用于应用(例如,客户端132)中的视图140的模型。视图模型142被配置用于请求(箭头146)和接收(箭头148)与视图140有关的数据。以此方式,视图模型142可以显露与视图140有关的数据以及用于视图140的行为。这些行为可以包括可针对视图模型142接收到的数据执行的命令,诸如用于渲染用于视图140的数据的指令。服务器134被配置用于从数据模型144访问所请求的数据并将所请求的数据提供给视图模型142。在目前构想的实施例中,服务器134被配置用于经由异步通知向视图模型142提供所请求的数据。异步通知包括依次一个接一个地而不是同时发送的通知。当在两个组件之间传送异步通知时,仅在任一组件已经接收到最近通知之后提供异步通知。数据模型144是服务器134响应于来自视图模型142的订制请求而显露的对象的模型。图6所示数据模型144可以以下列方式与图5所示的***组件相关。数据模型144可以是标记数据库,服务器134将客户端132所请求的与来自组件136的对象相关联的数据收集到该标记数据库中。以此方式,服务器134可以向客户端132提供对对象及其关联数据的异步联网访问。异步联网访问包括在一个或更多个连接上将实况操作数据从一个或更多个组件中的对象传送给客户端132。服务器134可以将来自组件的与期望准则匹配的数据聚集到数据模型144中,并且然后通过一个或更多个异步通知将该数据传送给客户端132。
图6图示了在连接150的任一侧上分组在一起的大量功能组件130。该连接150处于通常与客户端132关联的客户端组件152与通常与服务器134关联的服务器组件154之间。在图示实施例中,客户端组件152包括视图140、视图模型142、模型变换组件156和服务器代理158;服务器组件包括服务器134、数据模型144和服务器桩160。在其它实施例中,这些组件中的某些组件(例如,模型变换组件156、服务器代理158和/或服务器桩160)可以是不存在的或者可以彼此组合。客户端组件152可以以任意组合封装在一起或者可以作为单独组件封装。例如,模型变换组件156和服务器代理158可以封装在一起,而视图模型142保持在单独的封装中。
如上面提到的那样,视图140是控制和监测***24的GUI。也就是,视图140可以包括GUI窗口部件(widget),该GUI窗口部件最终提供由视图模型142访问的信息的可视化。这样的可视化提供给客户端设备的显示器,客户端设备可以是电话、HMI、智能I/O设备、平板电脑、编程终端等。因此,视图140可以是任意面向列表的GUI窗口部件,该面向列表的GUI窗口部件支持诸如数据绑定和路由事件之类的渲染概念。
视图模型142表示从数据模型144接收到的客户端侧数据采集(缓冲),并且视图140绑定到视图模型142以便提供缓冲信息的可视化。视图模型142可以确定操纵从数据模型144请求的信息的适当方式,并且相应地配置对于服务器134的订制请求。例如,由于利用不同类型数据的收集数据模型144的期望时延的差异,视图模型142可以确定加载来自数据模型144的某些数据,而推迟加载来自数据模型144的其它数据。此外,基于可以由视图模型142操纵的数据量和/或期望接收到的数据量,视图模型142可以确定仅请求从数据模型144发送的每个通知中的一定数据量。
服务器134可以经由服务器桩160提供的接口150来公告其服务。客户端132发现接口150显露的服务并经由服务器代理158连接到所公告的服务。如图6所示,该连接允许视图模型142消耗服务器134的接口并向视图140提供消耗接收数据的缓冲模型的便利。在一些实施例中,同一视图模型142可以由多个视图140共享,使得多个用户可以可视地访问从控制和监测***24的组件查询的同一信息。服务器134可以提供基于消息的合同以访问数据模型144内的数据,使得以特定消息格式通过服务器134传送从数据模型144请求的任意数据。结果,响应于一个或更多个请求而跨过连接150传送的数据可以是基于消息的数据,而视图模型142被配置用于操纵面向对象的数据。为了适应这一点,模型变换组件156可以将从服务器代理158接收到的基于消息的数据转换成视图模型142中的面向对象的信息。
均基于服务器合同的服务器代理158和服务器桩160可以被用于建立服务器134与视图模型142之间的连接150。在客户端侧上,服务器代理158包括具有指令的机器可读代码,该指令用于将视图模型142连接到服务器134以及变换从服务器134接收到的任意异步通知,使得数据可以由视图模型142解释。也就是,视图模型142与服务器代理158交互以建立连接并与服务器134通信。如前面提到的,可以作为与服务器代理158同一封装的一部分的模型变换组件156,将从服务器代理158接收到的基于消息的数据转换成用于视图模型142的面向对象的数据。服务器桩160可以包括用于启动服务器134并监听来自客户端132的请求通知的机制。更具体而言,服务器桩160包括具有指令的机器可读代码,该指令用于接收和变换从视图模型142发送到服务器134的请求,使得该请求可以由服务器134解释。由服务器桩160提供的代码可以使得服务器134能够响应来自客户端132的通知。由服务器代理158和服务器桩160使用的服务器框架可以支持不同的编程技术(例如,C++、Java和.NET)。
图7是图示图6的功能组件130之间的通信的示图。在图示实施例中,交互的功能组件130包括视图140、视图模型142、服务器代理158、服务器桩160、服务器134和其它客户端170。然而,应注意到的是,图7所示的交互一般发生在视图140、视图模型142、服务器134(其包括数据模型144)和其它客户端170之间。如编号为1至5的块所指示的那样,在这些功能组件130之间描绘了五个不同的操作。第一块172表示订制查询,第二块174表示接收一个或更多个初始通知,并且第三块176表示发送异步继续通知。第四块178表示接收项目更新通知,并且第五块180表示取消订制数据。这些特定操作中的每个操作都可以通过与服务器134交互的视图模型142来执行,并且下面详细地描述该操作。应注意到的是,在这些组件之间执行的操作的名称和参数是示例性的,并且在其它实施例中可以是不同的。
由第一块172标注的操作包括视图模型142(例如,在客户端132中)订制对由服务器134访问的数据模型144的查询。为了完成这一点,视图模型142经由订制请求182向服务器134提供一个或更多个准则。视图模型142可以在订制请求中提供对于数据集合的数据过滤器,并且视图模型142可以进一步提供针对所请求的数据集合将返回的特定属性集合。此外,视图模型142可以提供指定将在来自服务器134的通知中返回的最大数据量的限值。这对于使用其视图140仅可以支持有限数据量的客户端132查询大数据集合而言可能是特别有用的。在一些实施例中,在订制请求182中发送的过滤器、分类和属性集合选择能力对于服务器134是特定的,并且可以取决于其中部署服务器134的设备(例如,某种类型的控制器)。视图模型142可以通过同一订制请求182请求数据集合并订制该数据集合的变化。这被称为“实况查询”,因为视图模型142仅向服务器134发送一个通知。服务器134作为回报经由异步通知提供连续更新的与所请求的数据有关的信息。在某些实施例中,客户端132可以在订制请求182中指明服务器134是否应基于在查询期间数据集合的变化来提供更新通知。根据从数据模型144期望的信息,这将使得客户端132能够请求一次查询或实况查询。实况查询利用异步通知来传送从服务器134接收到的初始数据集合的更新。当初始数据集合太大以至于无法在一个通知中发送时,一次查询也可以使用异步通知,以便提供客户端132所请求的初始数据集合。
应注意到的是,在发送订制请求182之前,在视图140和视图模型142之间可能发生某些交互。这些交互除了其它之外包括数据绑定184、识别将由服务器134返回的期望的属性186以及初始化188视图模型142。数据绑定184可以使得视图140能够包括基于由视图模型142接收到的数据的适当可视化。期望的属性186包括存储在数据模型144中并且可由服务器134访问的属性,并且这些期望的属性可以由用户经由视图140输入。初始化188可以向视图模型142发信号以基于期望的属性186提供订制请求182。
在接收到从视图模型142发送的定制请求182时,服务器134被配置用于经由一个或更多个初始通知提供所请求的数据集合。在图示实施例中,如图7的第二块174所示,服务器134在三个通知190、192、194中提供所请求的数据集合的初始集合。服务器134可以发送多个通知以便向视图模型142通知与从视图模型142发送的请求匹配的项目。也就是,服务器134被配置用于基于在订制请求182中发送的一个或更多个准则来提供通知190、192和194。此外,返回到视图模型142的每个匹配项目是数据模型144中的包括在订制请求182中指明的一些或所有属性的项目。
这里的实施例支持大数据集合的查询,其可以在具有相对小的所请求数据的片段的多个响应分组中返回所请求的数据。这可以提供对于响应于请求而返回到视图模型142的信息的相对简单和/或快速的传送。例如,控制/监控设备30中的数据或对象的10000个项目的搜索或过滤可以在100个项目响应分组中返回,每个分组经由分开的通知190、192或194返回。实际上,每个通知190、192和194可以向视图模型142提供有限量(例如,N个)的所请求数据,该有限量少于最大数据量。同样,该最大数据量可以在订制请求182中提供给服务器134。视图模型142可以基于视图140的某些能力来确定最大数据量。在某些实施例中,视图140可以包括被配置用于一次(例如在适合于客户端设备的窗口中)仅显示一定数据量的GUI。响应于接收到经由订制请求182指定最大数据量的限值时,服务器134可以将第一通知190限制到最大数据量,并且然后提供对于由于该限值而无法在第一通知190中发送的所请求数据的通知192、194。类似于第一通知190,通知192和194均不超过最大数据量。如下面详述的那样,与传统***不同,这里的实施例允许经由附加通知将初始经由通知190、192和194传送的数据集合的改变提供给视图模型142。
在一些实施例中,当与查询匹配的初始数据集合的特定部分不是立即可用时,服务器134可以被配置用于在特定通知(例如,190、192或194)中提供该数据部分。换言之,当数据集合的更新不是立即可用于服务器134发送时,服务器134可以在附加通知中提供该数据集合的更新。如果不是所有的请求数据属性都立即可用,即使当数据量没有超过订制请求182中提供的最大数据返回阈值时,服务器134也可以在分开的通知中提供该数据。实际上,所请求项目中的一些项目可能需要相对耗时的数据处理,该数据处理是可以在服务器134发送第一通知190的同时在后台执行的。在接收到订制通知请求182之后,服务器134可以检测可用于传输的数据的第一(低时延)部分并且检测不可用于传输的数据的更新或第二(高时延)部分。服务器134然后可以向视图模型142发送具有数据的第一部分的第一异步通知(例如,第一通知190),并且当数据的第二部分可用于传输时发送具有第二部分的第二异步通知(例如,第二通知192)。例如,服务器134可以为标记服务器,该标记服务器识别由于与标记的数据类型有关的通过(pass through)行为带来的、在针对所请求的标记计算局部化描述中的时延可能性。也就是,控制/监测设备30中的每种类型的标记可以包括相同的数据类型,而每种类型的标记可以包括唯一的标记描述。因此,与视图模型142所请求的每个给定标记相关联的数据类型相比,服务器134会花费更长时间来确定描述。响应于该固有延迟,服务器134可以在较早的通知中聚集和发送数据类型信息并且在一个或更多个后续通知中发送描述信息。尽管该示例涉及发送包含数据的低时延部分和高时延部分的两个通知190和192的服务器134,但应注意到的是,服务器134可以发送包含具有不同相对时延的数据部分的任意数目的单独通知。
不管初始从服务器134向视图模型142发送的通知的数目如何,服务器134可以被配置用于利用最后的通知(例如,194)提供所包括的完整指示符。然而,当功能组件130正在执行实况查询时,由视图模型142接收到的数据可以请求重复的更新以反映服务器134所访问的数据模型144中的实况自动化数据的改变。为了适应这样的更新,如第三块176所指示的那样,视图模型142可以向服务器134发送继续通知196。该继续通知196是发送到服务器134的异步订制请求,通过该异步订制请求视图模型142可以订制服务器134的数据模型144中的改变或修改。然后服务器134在附加通知198和200中向视图模型142提供这些改变。由于初始订制请求182已被接收,所以这些附加通知198和200可以仅包括来自数据模型144的已经改变的数据片段。这可以节约客户端组件152与服务器组件154之间的带宽,因为允许服务器134只发送来自数据集合的改变信息,而不是数据集合的全部状态信息。下面详述用于提供这种状态增量的方法。视图模型142可以周期性地向服务器134发送继续通知196并接收具有数据集合的更新的附加通知。
在一些实施例中,继续通知196可以是指明待在附加通知198和200中返回的不同数据过滤器和/或不同属性集合的异步订制请求。这可以允许动态调整数据过滤器和/或期望属性,而无需客户端132提交整个新的定制请求。数据模型144可以基于与期望准则匹配(或者不再匹配)的数据进行动态调整,并且服务器134可以经由附加通知198和200向客户端132提供更新的数据模型144的期望属性。所有这些都可以在无需客户端132拆卸第一订制请求182和利用新数据过滤器和/或属性重新开始的情况下完成。
同样,由于实况自动化***执行,所以由服务器134访问的数据模型144在控制和监测***24的整个操作中都可以被动态地改变。具体而言,在通过进程28的传感器34检测到的实况生产数据的形式上可以发生改变。在通过操作者(例如,通过编程终端46)设置的数据的配置形式上也可以发生改变。在这些情况中的任意情况下,通过与其它客户端170的交互发生数据模型144的改变,这些其它客户端170可以包括进程组件、自动化控制器、I/O设备、配置站等。在用户向服务器134提交来自视图模型142的订制请求182之后,其它客户端170可以识别202、更新204或删除206数据模型144内的某些信息。也就是,其它客户端170可以识别202与查询的一个或更多个准则对应的附加数据,更新204与一个或更多个准则对应的数据,删除206与一个或更多个准则对应的数据,或者其组合。服务器134可以被配置用于分别向视图模型142提供与识别的附加数据、更新的数据和删除的数据对应的项目更新通知208、210和212。这些项目更新通知208、210和212也可以被称为修改通知。这是图示实施例中所示的第四操作,如第四块178所指示的那样。在某些实施例中,仅发送与原始订制请求182的过滤器准则匹配的改变数据。也就是,无论何时数据模型144作出改变,服务器134都可以发布该改变以确定数据是否与任何查询结果匹配。应注意到的是,项目更新通知208、210和212可以异步地提供,允许其它客户端170在信息一旦有效时就触发这样的通知。在一些实施例中,项目更新通知208、210和212遵循与通知190、192和194和/或附加通知198和200相同的模式。这使得服务器134能够在更新变得可用时与这些其它类型的通知并行地提供项目更新通知208、210和212。
图7所示的第五块180图示了当用户期望停止查询控制和监测***24时由功能组件130执行的取消订制操作。通过用户与视图140的交互,诸如关闭视图140,可以提示该操作。视图140可以向视图模型142传送关闭信号214,并且视图模型142随后经由取消订制通知216对原始查询取消订制。在接收到取消订制通知216时,服务器134停止向视图模型142发送更新通知。服务器134可以被配置用于继续查询直到接收到这样的取消订制通知216。在用户结束查询(例如,关闭信号214)之后但在订制通知216到达服务器134之前在数据模型144内可能接收到更新和附加信息。为了解决这些情形,服务器134可以被配置用于忽略任何附加项目更新218,而不是将它们提供给视图模型142。
如上面提到的那样,由视图模型142提供的订制请求182可以包括待返回的属性集合、一个或更多个准则的集合和/或数据过滤器。下面的示例示出了如在图7的不同操作中概述的那样执行的一个这样的查询。用户可以期望针对诸如具有温度在100华氏度以上的对象之类的某些对象查询控制和监测***24。用户可以指明服务器134返回在这些温度下操作的对象的名称和描述。由用户访问的视图模型142可以向被配置用于访问任何连接的控制/监测设备30的服务器134发送相应的订制请求182。服务器134查询存储在控制和监测设备30的寄存器32中的温度数据,以确定哪个控制对象当前正在100华氏度以上操作。取决于视图140的能力(例如,窗口尺寸)和发现的组件数目,服务器134可以在一个或更多个初始通知中向视图模型142提供在100度以上的组件的名称。可以在后续通知中提供组件的描述,因为相比名称而言服务器34花费更长时间确定描述。在提供这些描述通知时,所确定的组件之一的温度可以下降到100度以下。同时,设计者可以更新在100度以上操作的对象之一的名称。然后服务器134可以向视图模型142提供一个或更多个异步通知,以识别还没有发送到视图模型的初始组件描述,删除已下降到100度以下的组件名称/描述,并更新其名称已改变的组件的名称。当完成查询时,用户可以关闭视图140,并且视图模型142可以从任何附加更新取消订制。
对于控制和监测设备24内用于执行这样的查询的功能组件130而言,其它特征是可能的。如前面提到的,服务器134可以被配置用于执行上述那样的实况查询或者执行一旦向视图模型142发送完整通知194就结束的静态查询。在某些实施例中,用户可以选择静态或实况查询选项,并且可以在订制请求182中传送所选择的选项。尽管服务器134被配置用于当数据更新变得可用时提供该数据更新,但视图140可以包括“刷新”按钮,用户可以选择该刷新按钮以便指示所显示的信息缺少可信度并请求确认信息是最新的。这可以提示视图模型142向发送服务器134发送请求任何附加更新的继续通知196。视图140也可以包括用户请求与查询中发送的准则有关的附加属性的选项。当作出这样的请求时,视图模型142可以向服务器134提供请求存储在数据模型144中的附加属性的继续通知196。在某些实施例中,多于一个的视图140可以访问同一视图模型142,诸如当多个合作用户期望访问从控制和监测***24查询的相同数据时。多个视图140也可以允许不同用户选择在共享视图模型142中保持或聚集的同一数据集合的不同属性。执行查询的功能组件130可以被配置用于在查询控制和监测设备24的组件花费的一定量的时间之后超时。这样,如果用户忘记结束实况查询,则会话可以自己停止而不是无限期地继续。在一些实施例中,视图140可以提供会话将要超时的警告并请求来自用户的验证以确定他们是否想要继续查询。
图8是图示用于使用上述功能组件130执行查询的方法230的进程流程图。应注意到的是,方法230可以实现为计算机或软件程序(例如,代码或指令),该计算机或软件程序可以由处理器(例如,在客户端132中)执行以执行方法230的步骤中的一个或更多个步骤。附加地,该程序可以存储在任意适合的包括至少一个有形非暂时性计算机可读介质的制造物品中,该有形非暂时性计算机可读介质至少集中地存储这些指令或例程,诸如控制和监测***24的存储器或存储组件。术语“非暂时性”仅指示该介质不是信号。如下所述,方法230的不同部分可以对应于参照图7详细描述的操作。
方法230包括经由自动化控制和监测***24中的组件(例如,视图模型142),通过在请求通知中向控制和监测***24的服务器134提供一个或更多个准则来订制(块232)数据。这类似于参照图7的第一块172描述的操作。在图示实施例中,方法230还包括在请求通知中发送(块234)最大数据返回阈值。这可以阻止服务器134在单个通知中返回比客户端132可以管理的信息更多的信息。方法230还可以包括在接收初始请求的服务器134中定义(块236)该最大数据返回阈值。方法230进一步包括从服务器134接收(块238)包括与一个或更多个准则有关的数据的第一部分的第一通知,以及从服务器134接收(块240)包括与一个或更多个搜索准则有关的数据的附加部分的一个或更多个附加通知。这对应于由图7的第二块174指示的操作。应注意到的是,数据的第一部分和数据的附加部分在尺寸上由控制和监测***24中设置的最大数据返回阈值所限制。此外,如参照图7的第四块178描述的那样,方法230可以包括当第二组件(例如,其它客户端170之一)识别、修改或删除与一个或更多个准则有关的数据时接收(块242)来自服务器134的修改通知。方法230还可以包括经由客户端132通过向服务器134提供取消订制请求来对数据取消订制(块244)以及基于取消订制请求来停止(块246)接收与一个或更多个准则有关的通知。这些对应于图7的第五块180所指示的操作。
上述方法230和功能组件130的布置使得用户能够对控制和监测***24中的设备执行实况数据查询。即使潜在的数据模型144正在响应于自动化***执行而动态改变,用户也不必提交新的查询。服务器134被配置用于自动地提供视图模型142的更新。这可以提供优于传统控制***数据查询机制的若干优势。首先,可以实现在客户端组件152中使用更简单的软件。也就是,用户作出初始请求所通过的接口(例如,视图140)可以简化,因为仅发送一个请求来请求原始数据和订制与原始请求准则匹配的数据的所有附加改变。结果,可以使用相对简单的工厂设备诸如智能电话或平板电脑来监测自动化控制***数据。此外,这里描述的功能组件130被具体配置为致力于数据的改变,而不只是静态数据请求。分布式状态改变通知的使用允许服务器134以与针对所请求数据本身相同的方式来响应数据的改变。利用针对初始数据响应和数据更新二者的该统一机制,***可以保存通信和计算带宽,因为其并不依赖于用于与期望准则匹配的全部状态信息的多个请求。这也可以改进服务器134在提供查询所请求的新信息时的时间响应。
传送状态改变
在论述了使用分布式状态改变通知进行数据查询的好处之后,现在将提供对分布式状态改变通知的更具体论述。如上面论述的那样,图2是根据本技术实施例的适于使用增量脚本提供组件状态信息的示例性控制和监测***24的图解表示。如所示,控制和监测***24可以包括适于与进程28的组件交互的一个或更多个控制/监测设备30和一个或更多个人机接口(HMI)26。控制/监测设备30可以包括对于执行控制和监测***24上的任务(例如,进程控制、远程装备监测、数据获取等)有用的数据存储设备和一个或更多个处理器。此外,编程终端46可以使得一个或更多个用户能够配置HMI 26和/或控制/监测设备30的特性。
在控制环境中,可以在控制和监测***24的各种组件(例如,编程终端46、控制/监测设备30、I/O模块和/或HMI终端26)的存储器(例如、硬盘驱动器、只读存储器和/或随机存取存储器)中存储控制和监测***24的各种对象(例如,控制程序、标记、模块配置和HMI屏幕)的状态。控制和监测***24的每个组件可以以松散耦合的异步方式独立地操作。换言之,当数据(例如,配置数据、在查询中请求的数据集合、数据更新)变得可用时,这些组件可以经由异步通知在彼此之间传送这些数据,而无需同时发送多个通知。此外,这些组件可以利用不同编程技术(例如,C++、Java和/或C#)来实现。当控制环境对象的状态信息改变时,该状态信息可能需要与驻留于其它组件上的状态信息同步,使得这些组件可以连续地理解对象在控制和监测***24内的状态。根据这里的实施例,为了了解状态信息,存储状态信息的自动化组件可以接收称为状态增量43的数据(例如,已经改变的状态元件),而不接收没有改变且因而已经存在于存储状态信息的各种组件上的存储状态信息中的状态元件。例如,状态增量43可以包括由于控制和监测***24内的动作而发生改变的任何数据。通过提供状态增量43以及不提供不变的状态信息,可以观测到增加的效率。例如,在具有100个状态元件的传统控制和监测***24中,可以将100个状态元件中的每一个提供给存储对象的状态信息的每个组件。通过仅提供状态增量43,控制和监测***24的组件可以仅针对改变的元件传输数据。因而,如果100个状态元件中仅一个元件改变,则将不传输其它99个元件,因而相对传统***而言减少网络业务量。此外,仅提供状态增量43可以减少不利地覆写在控制和监测***24内的其它地方生成的状态改变信息的可能性。例如,在上述100个状态元件的情况下,当向其它组件传输所有100个状态元件时,99个不变的元件可能导致覆写其它地方的99个组件之一的变化。通过仅提供改变的元件(例如,状态增量43),99个不变的元件将不受改变的且与其它组件通信的那一个元件的影响。
尽管这里图示和描述了仅发明的某些特征,但对于本领域技术人员而言将发生许多修改和变化。因此将理解到的是,所附权利要求旨在于涵盖落入本发明的真实精神内的所有这样的修改和变化。

Claims (25)

1.一种自动化控制和监测***,包括:
服务器,所述服务器被配置用于从客户端组件接收订制请求,所述订制请求向所述服务器提供一个或更多个准则,其中所述服务器被配置用于:
经由所述订制请求,接收指定在通知中待返回的最大数据量的限值;
识别与所述一个或更多个准则相关联的数据集合;
基于所述订制请求中的所述一个或更多个准则,经由第一通知向所述客户端组件提供所述数据集合的至少第一子集;
将所述第一通知限制到所指定的最大数据量;以及
当对应于所述一个或更多个准则的附加数据或修改可用时,基于所述订制请求,经由附加通知提供附加数据集合、对所述数据集合的修改或这两者;其中当所述数据集合超过所述最大数据量时,所述附加通知包括由于所述限值而在所述第一通知中无法发送的所述数据集合的至少一个第二子集,其中每个所述附加通知不超过所述限值。
2.根据权利要求1所述的自动化控制和监测***,包括所述客户端组件,其中所述客户端组件被配置用于在所述订制请求中提供数据过滤器。
3.根据权利要求1所述的自动化控制和监测***,其中所述服务器被配置用于向所述客户端组件返回具有特定属性集合的所述数据集合,其中所述特定属性集合在所述订制请求中提供。
4.根据权利要求1所述的自动化控制和监测***,包括:
另一组件,所述另一组件被配置用于识别与所述一个或更多个准则对应的附加数据,更新与所述一个或更多个准则对应的数据,删除与所述一个或更多个准则对应的数据,或其组合;
其中所述服务器被配置用于向所述客户端组件提供与所述识别的附加数据、所述更新的数据或所述删除的数据对应的附加通知。
5.根据权利要求1所述的自动化控制和监测***,其中所述服务器被配置用于在从所述客户端组件接收到取消订制请求时停止向所述客户端组件发送通知。
6.根据权利要求1所述的自动化控制和监测***,其中所述服务器被配置用于:当所述数据集合的更新对于所述服务器而言不是立即可用于发送时,在附加通知中提供所述数据集合的更新。
7.根据权利要求1所述的自动化控制和监测***,其中所述服务器被配置用于异步地提供所述第一通知和所述附加通知。
8.一种自动化控制和监测方法,包括:
经由自动化控制和监测***中的客户端组件,通过在订制请求中向所述自动化控制和监测***的服务器提供一个或更多个准则和指定在通知中待返回的最大数据量的限值来订制查询;
从所述服务器接收第一通知,所述第一通知包括与所述订制请求的一个或更多个准则有关的数据的第一部分,其中所述第一通知受到所指定的最大数据量的限制;以及
从所述服务器接收一个或更多个附加通知,所述附加通知包括与所述订制请求的一个或更多个搜索准则有关的在订制查询之后变得可用的数据的附加部分,其中所述一个或更多个附加通知包括由于所述限值而在所述第一通知中无法发送的数据集合并且所述一个或更多个附加通知不超过所述限值。
9.根据权利要求8所述的自动化控制和监测方法,其中所述数据的第一部分和所述数据的附加部分在尺寸上由在所述自动化控制和监测***中设置的最大数据返回阈值限制。
10.根据权利要求9所述的自动化控制和监测方法,包括在所述订制请求中发送所述最大数据返回阈值。
11.根据权利要求9所述的自动化控制和监测方法,包括在所述服务器中限定所述最大数据返回阈值。
12.根据权利要求8所述的自动化控制和监测方法,包括:当另一组件识别与所述一个或更多个准则有关的数据、修改与所述一个或更多个准则有关的数据或者删除与所述一个或更多个准则有关的数据时,从所述服务器接收修改通知。
13.根据权利要求8所述的自动化控制和监测方法,包括:
经由所述客户端组件,通过向所述服务器提供取消订制请求来取消订制所述查询;以及
基于所述取消订制请求,停止接收与所述一个或更多个准则有关的通知。
14.一种自动化控制和监测***,包括:
服务器;
所述自动化控制和监测***的图形用户接口;
视图模型,被配置用于经由实况查询从所述服务器请求和接收与所述图形用户接口有关的数据,所述请求包括指定在通知中待返回的最大数据量的限值;以及
数据模型,包括所述服务器访问的对象的模型,其中所述服务器被配置用于:
从所述数据模型访问所请求的数据;以及
经由至所述视图模型的异步通知将所请求的数据提供给所述视图模型,所请求的数据包括对所请求的数据的任何附加、修改或这两者,其中通过提供不超过所述限值的多个通知直到提供所请求的数据的完整集合为止,来根据所述限值提供所请求的数据,使得所请求的数据不超过所述限值。
15.根据权利要求14所述的自动化控制和监测***,其中所述异步通知在尺寸上由在所述自动化控制和监测***中设置的最大数据返回阈值限制,并且所述服务器被配置用于:当所请求的数据的数量在所述最大数据返回阈值以上时,在多个异步通知中提供所请求的数据的部分。
16.根据权利要求14所述的自动化控制和监测***,其中所述视图模型被配置用于通过向所述服务器发送异步订制请求来订制查询,所述订制请求包括识别所述查询的一个或更多个准则。
17.根据权利要求16所述的自动化控制和监测***,其中所述服务器被配置用于:
检测与所述一个或更多个准则有关的数据的识别、与所述一个或更多个准则有关的数据的删除或者与所述一个或更多个准则有关的数据的修改;以及
向所述视图模型提供所述识别、删除或者修改的异步修改通知。
18.根据权利要求17所述的自动化控制和监测***,其中:
所述视图模型被配置用于当所述视图模型不再需要所述数据时向所述服务器发送取消订制请求;以及
所述服务器被配置用于当所述服务器接收到所述取消订制请求时停止向所述视图模型发送异步修改通知。
19.根据权利要求14所述的自动化控制和监测***,其中所述服务器被配置用于:
检测可用于传输的所请求的数据的第一部分;
检测不可用于传输的所请求的数据的第二部分;
向所述视图模型发送具有所述第一部分的第一异步通知;以及
当所述第二部分可用于传输时,向所述视图模型发送具有所述第二部分的第二异步通知。
20.根据权利要求14所述的自动化控制和监测***,包括服务器代理,其中所述服务器代理包括具有指令的机器可读代码,所述指令用于:
将所述视图模型连接到所述服务器;以及
变换从所述服务器接收到的任何异步通知,使得所述数据可以由所述视图模型解释。
21.根据权利要求14所述的自动化控制和监测***,包括服务器桩,其中所述服务器桩包括具有指令的机器可读代码,所述指令用于接收和变换从所述视图模型发送到所述服务器的请求,使得所请求可以由所述服务器解释。
22.一种自动化控制和监测***,包括:
客户端组件,被配置用于向服务器发送订制请求,所述订制请求向所述服务器提供一个或更多个准则和指定在通知中待返回的最大数据量的限值,其中所述客户端组件被配置用于:
基于所述订制请求中的所述一个或更多个准则,经由第一通知从所述服务器接收数据集合,其中所述第一通知受到所指定的最大数据量的限制;以及
当对应于所述订制请求中的所述一个或更多个准则的附加数据或修改可用时,经由附加通知接收附加数据集合、对所述数据集合的修改或这两者,其中所述附加数据集合包括由于所述限值而在所述第一通知中无法发送的数据集合并且所述附加通知不超过所述限值。
23.根据权利要求22所述的自动化控制和监测***,其中所述客户端组件被配置用于在所述订制请求中提供数据过滤器、待由所述服务器返回的特定属性集合或者在通知中待返回的最大数据量中的至少一个。
24.根据权利要求22所述的自动化控制和监测***,其中所述客户端组件被配置用于:当另一组件识别与所述一个或更多个准则有关的数据、修改与所述一个或更多个准则有关的数据或者删除与所述一个或更多个准则有关的数据时,从所述服务器接收修改通知。
25.根据权利要求22所述的自动化控制和监测***,其中所述客户端组件被配置用于:
向所述服务器发送取消订制请求;以及
当所述服务器接收到所述取消订制请求时,停止接收与所述一个或更多个准则对应的附加通知。
CN201210452129.7A 2011-11-11 2012-11-12 用于数据的异步搜索和过滤的***和方法 Active CN103559182B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161558995P 2011-11-11 2011-11-11
US61/558,995 2011-11-11
US13/653,260 2012-10-16
US13/653,260 US9285800B2 (en) 2011-11-11 2012-10-16 Systems and methods for asynchronous searching and filtering of data

Publications (2)

Publication Number Publication Date
CN103559182A CN103559182A (zh) 2014-02-05
CN103559182B true CN103559182B (zh) 2017-04-12

Family

ID=47519819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210452129.7A Active CN103559182B (zh) 2011-11-11 2012-11-12 用于数据的异步搜索和过滤的***和方法

Country Status (3)

Country Link
US (2) US9285800B2 (zh)
EP (2) EP3623889B1 (zh)
CN (1) CN103559182B (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430548B1 (en) * 2012-09-25 2016-08-30 Emc Corporation Generating context tree data based on a tailored data model
US9292012B2 (en) * 2012-11-05 2016-03-22 Rockwell Automation Technologies, Inc. Secure models for model-based control and optimization
US10362145B2 (en) * 2013-07-05 2019-07-23 The Boeing Company Server system for providing current data and past data to clients
US10476758B2 (en) * 2013-07-11 2019-11-12 Google Llc Systems and methods for providing notifications of changes in a cloud-based file system
US20150052227A1 (en) * 2013-08-13 2015-02-19 Bloomberg Finance L.P Apparatus and method for providing supplemental content
US11238056B2 (en) 2013-10-28 2022-02-01 Microsoft Technology Licensing, Llc Enhancing search results with social labels
US9542440B2 (en) 2013-11-04 2017-01-10 Microsoft Technology Licensing, Llc Enterprise graph search based on object and actor relationships
US11972177B2 (en) * 2013-11-08 2024-04-30 Rockwell Automation Technologies, Inc. Interface for data exchange between industrial controllers and simulation applications for simulating a machine
US10755003B2 (en) 2013-11-08 2020-08-25 Rockwell Automation Technologies, Inc. Time synchronization of signal transmission intervals for simulating a machine in industrial automation
EP2902857B1 (de) * 2014-01-29 2018-12-19 Siemens Aktiengesellschaft Verfahren zur Bereitstellung von Funktionen innerhalb eines industriellen Automatisierungssystems und industrielles Automatisierungsystem
US10078314B2 (en) 2014-01-29 2018-09-18 Siemens Aktiengesellschaft Method for providing functions within an industrial automation system, and industrial automation system
US11645289B2 (en) 2014-02-04 2023-05-09 Microsoft Technology Licensing, Llc Ranking enterprise graph queries
US9870432B2 (en) 2014-02-24 2018-01-16 Microsoft Technology Licensing, Llc Persisted enterprise graph queries
US11657060B2 (en) 2014-02-27 2023-05-23 Microsoft Technology Licensing, Llc Utilizing interactivity signals to generate relationships and promote content
US10757201B2 (en) 2014-03-01 2020-08-25 Microsoft Technology Licensing, Llc Document and content feed
US10255563B2 (en) 2014-03-03 2019-04-09 Microsoft Technology Licensing, Llc Aggregating enterprise graph content around user-generated topics
US10169457B2 (en) 2014-03-03 2019-01-01 Microsoft Technology Licensing, Llc Displaying and posting aggregated social activity on a piece of enterprise content
US10394827B2 (en) 2014-03-03 2019-08-27 Microsoft Technology Licensing, Llc Discovering enterprise content based on implicit and explicit signals
GB2525189A (en) 2014-04-14 2015-10-21 Stephen Morris Internet-based search mechanism
US10061826B2 (en) 2014-09-05 2018-08-28 Microsoft Technology Licensing, Llc. Distant content discovery
US20160292895A1 (en) * 2015-03-31 2016-10-06 Rockwell Automation Technologies, Inc. Layered map presentation for industrial data
US10528021B2 (en) 2015-10-30 2020-01-07 Rockwell Automation Technologies, Inc. Automated creation of industrial dashboards and widgets
US10313281B2 (en) 2016-01-04 2019-06-04 Rockwell Automation Technologies, Inc. Delivery of automated notifications by an industrial asset
KR102486704B1 (ko) * 2016-01-15 2023-01-10 엘에스일렉트릭(주) 감시제어데이터수집시스템에서의 클라이언트 및 서버
CN107451165B (zh) * 2016-05-31 2020-11-24 合肥美亚光电技术股份有限公司 基于hmi与plc在线数据交换的配方查找方法及***
US10318570B2 (en) 2016-08-18 2019-06-11 Rockwell Automation Technologies, Inc. Multimodal search input for an industrial search platform
CN106371356A (zh) * 2016-08-29 2017-02-01 杭州大光明通信***股份有限公司 基站动环监控***、接口协议和基站动环监控方法
US10319128B2 (en) 2016-09-26 2019-06-11 Rockwell Automation Technologies, Inc. Augmented reality presentation of an industrial environment
US10401839B2 (en) 2016-09-26 2019-09-03 Rockwell Automation Technologies, Inc. Workflow tracking and identification using an industrial monitoring system
US10545492B2 (en) 2016-09-26 2020-01-28 Rockwell Automation Technologies, Inc. Selective online and offline access to searchable industrial automation data
US10735691B2 (en) 2016-11-08 2020-08-04 Rockwell Automation Technologies, Inc. Virtual reality and augmented reality for industrial automation
US10388075B2 (en) 2016-11-08 2019-08-20 Rockwell Automation Technologies, Inc. Virtual reality and augmented reality for industrial automation
US10866631B2 (en) 2016-11-09 2020-12-15 Rockwell Automation Technologies, Inc. Methods, systems, apparatuses, and techniques for employing augmented reality and virtual reality
CN108279890B (zh) * 2017-01-06 2021-12-24 阿里巴巴集团控股有限公司 组件发布方法、组件构建方法及图形化机器学***台
JP2018151537A (ja) * 2017-03-14 2018-09-27 オムロン株式会社 画面作成装置および画面作成プログラム
US10540282B2 (en) 2017-05-02 2020-01-21 International Business Machines Corporation Asynchronous data store operations including selectively returning a value from cache or a value determined by an asynchronous computation
US10437724B2 (en) * 2017-05-02 2019-10-08 International Business Machines Corporation Providing data values in a timely fashion using asynchronous data store operations including selectively returning a value from a cache or a value determined by an asynchronous computation
US10445944B2 (en) 2017-11-13 2019-10-15 Rockwell Automation Technologies, Inc. Augmented reality safety automation zone system and method
CN112800030B (zh) * 2021-02-08 2024-03-29 ***股份有限公司 一种流程的组件数据管理方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026490A (zh) * 2007-01-26 2007-08-29 华为技术有限公司 实现业务分发与同步的设备、***及方法
CN101060524A (zh) * 2006-05-09 2007-10-24 华为技术有限公司 一种组播业务应用的方法及***
CN101442718A (zh) * 2008-12-30 2009-05-27 中兴通讯股份有限公司 手机电视节目管理方法和***

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421570B1 (en) * 1997-08-22 2002-07-16 Honeywell Inc. Systems and methods for accessing data using a cyclic publish/subscribe scheme with report by exception
AUPQ808700A0 (en) * 2000-06-09 2000-07-06 Honeywell Limited Human-machine interface
US7706895B2 (en) * 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
US8984086B2 (en) * 2007-09-28 2015-03-17 Rockwell Automation Technologies, Inc. Spreadsheet to webpage conversion system and method
US20090118842A1 (en) * 2007-11-06 2009-05-07 David Everton Norman Manufacturing prediction server
US7853253B2 (en) * 2008-07-10 2010-12-14 Apple Inc. System and method of regulating data traffic between a client device and a server
US7860944B2 (en) * 2008-09-30 2010-12-28 Rockwell Automation Technologies, Inc. Aggregation server with information visualization panel subscription model
US8990768B2 (en) 2008-09-30 2015-03-24 Rockwell Automation Technologies, Inc. Software object property return method and system
US8753183B2 (en) * 2011-11-03 2014-06-17 Cbs Interactive, Inc. Techniques to automatically provide assistance for electronic games
US9891608B2 (en) * 2015-04-07 2018-02-13 Rockwell Automation Technologies, Inc. Portable human-machine interface device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060524A (zh) * 2006-05-09 2007-10-24 华为技术有限公司 一种组播业务应用的方法及***
CN101026490A (zh) * 2007-01-26 2007-08-29 华为技术有限公司 实现业务分发与同步的设备、***及方法
CN101442718A (zh) * 2008-12-30 2009-05-27 中兴通讯股份有限公司 手机电视节目管理方法和***

Also Published As

Publication number Publication date
EP2592517A3 (en) 2017-09-13
EP3623889B1 (en) 2022-03-23
US20160179090A1 (en) 2016-06-23
CN103559182A (zh) 2014-02-05
EP3623889A1 (en) 2020-03-18
EP2592517A2 (en) 2013-05-15
EP2592517B1 (en) 2019-09-25
US9285800B2 (en) 2016-03-15
US20130124613A1 (en) 2013-05-16

Similar Documents

Publication Publication Date Title
CN103559182B (zh) 用于数据的异步搜索和过滤的***和方法
CN103559153B (zh) 数据资源身份
EP2804058B1 (en) System and method for emulation of an automation control system
US8990768B2 (en) Software object property return method and system
US20220156433A1 (en) Industrial network communication emulation
CN112784328B (zh) 用于开发自动化***模型的***和方法
US9442473B2 (en) Remote object data property replication method and system
US20130124575A1 (en) System and Method for Dynamic Meta-Data in Control and Visualization
US11334550B2 (en) Controller, control method, and control program for SQL statement generation in a factory automation database
US9805017B2 (en) Spreadsheet to webpage conversion system and method
US10558184B2 (en) Weakly-typed dataflow infrastructure with standalone, configurable connections
CN103792857A (zh) 可扩展的自动化***
CN111052008B (zh) 显示装置、画面生成方法和存储介质
US11231690B2 (en) System and method for dynamic meta-data in control and visualization
JP6954191B2 (ja) 制御システム、開発支援装置、および開発支援プログラム
JP2004126817A (ja) 設定ツール装置及びプログラム製品
CN103792858B (zh) 灵活的控制模型***和方法
da Cunha SuperCoordinator-Coordinator of Educational Subsystems in the context of Industry 4.0

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Plache Kenneth S.

Inventor after: Bronikowski Joseph

Inventor after: Jasper Taryl J

Inventor after: Kalan Michael D.

Inventor after: Reichard Douglas J.

Inventor before: Plache Kenneth S.

Inventor before: Kowal Steven J

Inventor before: Thomas David E.

Inventor before: TIMOTHY P. BOPPRE

Inventor before: Bliss Ronald E

Inventor before: GORDON DAILY

Inventor before: Bronikowski Joseph

Inventor before: Jasper Taryl J

Inventor before: Kalan Michael D.

Inventor before: Reichard Douglas J.

Inventor before: DOUGLAS W. REID

Inventor before: Izzo Joseph P

Inventor before: RAY J. STARON

Inventor before: SUBBIAN GOVINDARAJ

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: ohio

Patentee after: Rockwell automation technologies

Address before: ohio

Patentee before: Rockwell Automation Tech Inc.