CN107787481A - 用于自动化环境中的连接的软件应用的接口 - Google Patents

用于自动化环境中的连接的软件应用的接口 Download PDF

Info

Publication number
CN107787481A
CN107787481A CN201680035420.0A CN201680035420A CN107787481A CN 107787481 A CN107787481 A CN 107787481A CN 201680035420 A CN201680035420 A CN 201680035420A CN 107787481 A CN107787481 A CN 107787481A
Authority
CN
China
Prior art keywords
app
interface
performance
process units
software
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.)
Granted
Application number
CN201680035420.0A
Other languages
English (en)
Other versions
CN107787481B (zh
Inventor
米娜·阿兹布
托马斯·格吕内瓦尔德
安德烈亚斯·肖尔茨
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN107787481A publication Critical patent/CN107787481A/zh
Application granted granted Critical
Publication of CN107787481B publication Critical patent/CN107787481B/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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13109Pld programmable logic device software for plc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

一种在自动化环境中在生产装置上执行app的方法,包括在生产装置的运行时环境中存储多个app。针对包括在多个app中的每个相应app存储元数据文件。元数据文件包括可用于由其它app与相应app进行通信的网络接口的指示,以及对于与其它app对应的其它网络接口的一个或多个接口相关性的指示。在生产装置上执行特定app之前,执行操作以验证与特定app相关联的每个接口相关性可以由多个app满足。

Description

用于自动化环境中的连接的软件应用的接口
技术领域
本发明主要涉及在自动化环境中操作的连接软件应用(“app”)的系统、方法和设备。所公开的技术可以被应用于例如启用和/或增强如可编程逻辑控制器和现场装置的生产装置上的软件app的功能。
背景技术
“app”为模块化、即用型软件组件,其被设计成用于在特定类型的平台上运行。例如,许多智能手机、平板计算机和其它移动装置被配置成在操作系统(如谷歌的Android和苹果的iOS)中运行移动app。
随着强大的可编程逻辑控制器和其它计算装置的引入,存在将app概念扩展到工业应用领域如工厂或制造厂自动化的潜力。然而,这些领域app的实施面临着各种问题。由于消费者app通常针对个人消费者,因此在解决制造复杂性的问题上并不完善。工厂自动化和制造比大多数消费者app复杂得多,因为它们需要各种物理硬件以及更亲密的交互和复杂的工作流。
另外,工业环境中的许多任务是相互依存的。由于系统是根据下层系统利用上层系统以分层方式构建的,因此需要对物理交互进行控制和协调。基于app开发模型的主要优势在于开发人员具有很大的自由度。这促成了可用app的高创新速度和广泛性。定义app之间接口的类型和结构的标准化繁重的方法可能会严重限制这些益处。特别是小型公司不能承担费时费力的标准化工作,并且很可能不会选择参与基于标准化的app开发。
发明内容
本发明的实施例通过提供与在自动化环境中操作的连接软件应用(“app”)相关的方法、系统和设备来解决和克服上述缺点和缺陷中的一个或多个缺点和缺陷。简而言之,在本文描述的各种实施例中,app可以被配置成使用允许创建精细工作流的接口来共享性能和功能。
在自动化环境中的生产装置上执行app的方法包括在生产装置的运行时环境中存储多个app。针对包括在多个app中的每个相应app,存储元数据文件。元数据文件包括可用于由其它app与相应app进行通信的网络接口的指示,以及对于与其它app对应的其它网络接口的一个或多个接口相关性的指示。在生产装置上执行特定app之前,执行操作以验证与特定app相关联的每个接口相关性可以由多个app满足。在一些实施例中,该方法还包括从app商店检索多个app和每个对应的元数据文件。
在一些实施例中,前述方法可以包括附加特征。例如,在一些实施例中,该方法包括识别与特定app相关联的、缺失的接口相关性。基于这些信息,可以执行各种附加操作。例如,在一个实施例中,该方法还包括响应于识别出缺失的接口相关性而拒绝任何执行特定app的请求。还可以提供可以满足缺失的接口相关性的新app的建议。在另一个实施例中,该方法还包括确定缺失的接口相关性是可选的,并向用户接口提供指示与缺失的接口相关性相关联的功能不可用的通知。在另一个实施例中,性能请求被发送到性能路由器以用于获取满足缺失的接口相关性的新app性能。作为响应,接收响应于性能请求的、附加生产装置的识别信息。然后,可以创建基于该识别的、对该附加生产装置的接口相关性。
根据本文描述的其它实施例,用于在自动化环境中经由网络在可操作地耦合的多个装置上提供协调工作流的系统包括两个生产装置和协调装置。第一生产装置被配置成执行第一软件app,该第一软件app对应于第一app接口。第二生产装置被配置成执行第二软件app,该第二软件app对应于第二app接口。协调装置被配置成执行第三软件app,该第三软件app使用第一软件app和第二软件app执行协调工作流。
在一些实施例中,上述系统还包括性能路由器。该性能路由器可以被配置成从第一和第二软件app收集性能信息。例如,该收集可以使用遵循表述性状态传递(REST)架构约束的web服务API来执行。接下来,当从协调装置接收到获取特定性能的请求时,识别第一软件app,同时基于该性能信息提供特定性能。然后可以借助对应于第一生产装置的装置信息发送对该请求的响应。在一些实施例中,协调装置被配置成执行性能路由器。
在一些实施例中,上述协调装置还被配置成从app商店检索对应于第一和第二软件的接口描述。可以例如使用Web服务定义语言(WSDL)来指定这些接口描述。在一些实施例中,协调装置还被配置成使用接口描述来生成接口程序。然后第三软件app可以使用该接口程序来执行协调工作流。
根据其它实施例,用于在自动化环境中聚合app功能的系统包括多个生产装置以及性能路由器。生产装置在自动化环境中操作,并且每个相应的生产装置包括运行时环境,其被配置成执行一个或多个app、存储与一个或多个app的性能相关联的信息并且通过一个或多个网络接口提供对所存储的信息的访问。性能路由器被配置成收集有关自动化环境中每个可用app的性能的信息。路由器还被配置成接收用于获取所请求的性能的请求、使用所收集的信息来识别具有所请求的性能的特定app,并且响应于该请求提供执行特定app的特定生产装置的指示。在一些实施例中,每个相应的生产装置的运行时环境还被配置成通过一个或多个网络接口来启用app功能。
在上述系统中用于聚合app功能的网络接口可以包括附加增强、特征或功能。例如,在一些实施例中,网络接口包括用于启动相应生产装置上的特定app的启动接口、用于停止相应生产装置上的特定app的停止接口、用于向特定app提供配置的配置接口、用于执行特定app的错误记录的状态接口以及用于访问app数据的数据接口。另外,网络接口可以包括提供对特定app用户接口的访问的HMI接口和/或用于提供与特定生产装置相关的硬件信息的硬件接口。网络接口可以例如使用遵循REST架构约束的web服务API来提供。可以由应用程序开发者使用应用开发工具包指定每个相应的接口。
根据下面参考附图进行的说明性实施例的详细描述,本发明的附加特征和优点应变得显而易见。
附图说明
结合附图阅读以下详细描述,可以最好地理解本发明的前述和其它方面。为了说明本发明,在附图中示出了目前优选的实施例,但是应当理解,本发明不限于所公开的具体手段。附图中包括下面的图:
图1提供了根据本发明的一些实施例的、用于在自动化装置上实施app的系统的概览,自动化装置采用用户创建的接口来促进app之间的交互。
图2示出了在一些实施例中可以实施的连接的app的概念;以及
图3提供了在各种实施例中使用本文所描述的一些技术实施的连接的app的示例。
具体实施方式
本文描述的系统、方法和设备主要涉及在使用自动化装置的环境中app的使用。所描述的技术包括可以在不同实施例中以不同组合存在的三个特征。首先,每个app均与接口定义相关联,这允许接口定义与app和其它外部资源进行通信。该接口定义与app一起上传到app商店。然后,可以使用该接口定义来分析多个app一起工作的调度中的相关性信息。其次,可以使用接口来连接app以创建精细的工作流。连接的app可用于形成分层的系统,由于市场上的供给,所以该系统提供了更多的app选择,从而提供最佳的客户解决方案(例如,不同的HMI和优化的控制)。此外,app的模块化方面允许根据需要动态地修改工作流。第三,在各种实施例中使用性能路由器来共享关于每个app的性能的信息。这种性能信息可以采用例如其它app可用来访问特定app上功能的REST格式的网络接口的形式。使用这三个特征中的任何一个,可以通过使用app调度来增强自动化环境的整体操作。
图1提供了根据本发明的一些实施例的、用于在自动化装置上实施app的系统100的概览,自动化装置采用用户创建的接口来促进app之间的交互。图1的示例突出显示了使用浮现的接口来连接系统100的部件。如下面进一步详细描述的,使用各种部件来共享接口并监控它们的使用,直至可观察到事实上的标准(其可选地可以在该事实之后被记录/标准化)。这减少了初始的标准化负担,并如果相应的app在市场上成功的话,允许小型参与者定义标准。连接每个app的各种接口可以以本领域已知的机器可读格式来描述。例如,一些实施例使用基于XML的标准(如Web服务定义语言(WSDL))。
图1所示的示例被分成五组装置:市场服务器105;应用开发者装置135;分布式控制系统装置110;生产装置120、125;以及操作员接口115。这些装置105、110、115、120、125和135经由网络130连接。网络130可以使用各种硬件平台和通信工具来实施。例如,网络130可以使用IEEE802.3(以太网)或IEEE 802.11(无线)联网技术单独或组合地实现。在一些实施例中,网络130使用互联网来实现。在其它实施例中,例如在担心安全性的情况下,网络130可以为企业内联网。
App由应用开发者在如应用开发者装置135的装置上创建。应用开发者使用App开发工具包135A,其提供用于创建在一组特定的自动化装置(例如,装置110、120和125)上可执行的app的功能。然后可以使用App商店发布者组件135B将App发布到App商店105A,该App商店发布者组件完成App商店105A的任意正式要求,并且促进在应用开发者装置135和市场服务器105之间传送app的过程。
App开发工具包135A允许app指定“扩展”接口,该接口允许其它app与提供接口的app进行交互。这个接口可以例如以机器可读格式指定,并与app一起存储。当发布app时,该接口将与app一起上传到App商店105A。在一些实施例中,接口描述为可执行的代码。在这种情况下,App发工具包135A可以下载用于检索接口描述的程序代码,例如经由反射检查的Java二进制文件或者返回作为编程语言对象的描述的库等。
在一些实施例中,App开发工具包135A还包括至app商店105A的上行链路,其允许App开发工具包135A从App商店105A检索接口描述。返回的接口的列表可以基于标准(例如供应商、名称、应用领域、日期或质量)进行过滤。提供这些接口的实际app不一定必须被提取,但是如果实施者认为这有利,则可以提取这些app。在一些实施例中,App开发工具包135A监控接口的使用。每当应用开发者决定使用另一个app的接口时,通过App开发工具包135A来监控这种相关性。这些相关性可以与app一起存储(例如,在元数据文件中),并且当app被发布时也被上传到App商店105A。可选地,从App商店105A检索到的接口描述也可以用于生成简化了与接口app交互的程序代码。
继续参考图1,市场服务器105包括使app可用于装置110、120、125(例如,经由下载)的App商店105A。在一些实施例中,App商店105A包括基于web的商店接口,其中用户可以浏览不同类别的app、查看关于每个app的描述性信息并且获取该app。另外,借助存储app的接口描述并允许通过App开发工具包135A来搜索和下载这些描述的部件扩展App商店105A。在一些实施例中,App商店105A可以提供如在下一节中描述的相关性检验器,以允许用户基于相关性来过滤app。例如,App商店105A可以仅在满足所有相关性时才显示app,或者当不满足相关性时向用户建议app。App商店105A还可以提供如对每个app的评论或评分的信息。在一个实施例中,App商店105A还处理与获取app相关联的任何金融交易。例如,应用开发者可以为上传到App商店105A的每个app设定价格。在购买应用开发者的一个应用时,App商店105A会把资金发送给应用开发者。表示App商店105A佣金的一部分资金可以在传送给应用开发者之前由App商店105A自动扣除。
市场服务器105还包括工厂查看器和配置组件105B,其允许通过安装在特定位置的装置进行导航。该组件105B可以提供如在该位置安装并运行的特定app以及它们的硬件和软件性能的信息。
在自动化工厂中运行的分布式控制系统(DCS)装置110和两个生产装置120、125连接到网络130。DCS装置110控制被分成由生产装置120、125执行的模块的处理。例如,如图3所示,DCS装置110可以分别控制两个控制咖啡冲泡和偏好的生产装置。每个生产装置120、125可以为可编程逻辑控制器、现场装置或具有允许执行本文描述的技术的处理器和其它硬件性能的类似装置。这些装置110、120、125中的每个装置均包括用于执行app功能的相同的基本部件。因此,每个部件包括App商店客户端(110A、120A、125A)、App运行时环境(110B、120B、125B)、App库(110C、120C、125C)和App管理器(110D、120D和125D)。为了简洁起见,将参考DCS装置来描述这些部件的功能。然而,应当理解,该描述同样适用于生产装置120、125的相应部件。
在DCS装置110上运行的App商店客户端110A与App商店105A通信以将app下载到DCS装置110。下载的app可以包括先前未安装在DCS装置110上的新app,以及对先前安装在DCS装置110上的app的更新。App商店客户端110A和App商店105A之间的通信可以自动触发或者基于一些用户输入来触发。除了可执行app之外,App商店客户端110A还可以下载与特定app相关联的元数据信息,包括引用执行所需的其它app的相关性列表。
DCS装置110上的App运行时环境110B便于执行从App商店105A检索的一个或多个app。App运行时环境110B中的App可以将指令发送给DCS装置125的装置处理器(图1中未示出),并经由App运行时应用程序接口(API)访问DCS装置125的系统资源。App管理器125管理安装在DCS装置125上的app以及它们如何运行。例如,在一些实施例中,App管理器110D可负责例如管理在App运行时环境110B中执行的app之间的资源使用的任务、将app移入和移出App运行时环境110B、维护哪些app被安装到DCS装置110上的记录(包括每个app的相应版本)并且必要时,在App库110C中创建app备份拷贝。
在一些实施例中,借助在执行app之前检查是否满足相关性的部件扩展App运行时环境110B。App运行时环境110B使用与下载的app一起存储的相关性列表来检查是否所有提到的相关性都可用。例如,在一些实施例中,App运行时环境检查新app所需的所有接口是否可以由装置上已经存在的app提供。如果不能满足相关性,则将不会执行该app。在一些实施例中,接口可以被标记为“可选”。如果缺失可选的接口,则无论如何也会启动app。在这种情况下,接口被替换为虚设的实施方式或者通知app该接口不可用。
在一些实施例中,使用app聚合技术,其中App运行时环境110B不仅根据本地可用的app而且从远程或分布式app构建功能。App运行时环境110B可以将交互发送到包含app的远程节点并且发送来自该远程节点的交互。对于app而言,这种发送过程可以透明地完成,该app可以被编程为好像所有的接口均可以在本地使用。如果延迟非常重要,则可以将接口标记为“仅限本地”以防止远程访问。
App库110C提供在DCS装置110上的非易失性存储器(或另一计算机可读介质)中长期存储app(和相关元数据信息)。在一些实施例中,App库110C为DCS装置110上的长期存储的分区。在其它实施例中,App库110C位于可移动存储装置上,例如插入DCS装置110中的插槽(图1中未示出)中的微型USB卡。另外,在一些实施例中,App管理器110D在本地或在远程(例如基于云的)存储装置上创建App库110C的备份拷贝。备份过程可以为自动化的(例如,以规律的间隔或者在如安装新app的特定事件之后),或者可以由用户明确触发。
在这个示例中的DCS装置110包括在生产装置上没有找到的一个部件:性能路由器110E。性能路由器110E提供以分布式方式共享自动化环境中的各种装置110、120和125的功能性能的能力。这继而允许实现“连接的app”架构,其中app共享彼此的性能以执行操作。性能路由器110E被配置成响应从其它装置接收到的关于在装置110、120、125上运行的app性能信息的请求。类似地,运行DCS装置110的app可以使用性能路由器110E来生成和发送获取关于运行在其它装置120和125上的app性能信息的请求。另外,在一些实施例中,性能路由器110E定期地将请求发送到运行自动化环境的其它装置以收集关于性能的信息。然后通过识别环境中哪个装置具有适应该请求的性能,该收集的信息可以被用来处理来自app的性能请求。
在一些实施例中,可以使用本领域中通常已知的一个或多个联网协议来共享对应于每个装置的主机地址信息。例如,在一些实施例中,由指示连接装置的装置交换表格。基于主机地址信息,性能路由器110E可以使用REST风格的HTTP请求收集信息。例如,在一些实施例中,被访问用于app交互的基本URL被定义为“RUNTIME_APP URL=http://<runtime_host>/service/app/”,其中“runtime_host”为性能路由器110E正试图查询的装置。然后,使用这个基本URL,可以通过附加特定的请求来访问各种接口。下表示出了可在一些实施例中提供的请求类型的一些示例:
REST接口 功能
RUNTIME_APP URL/start 启动主机上的app
RUNTIME_APP URL/stop 停止主机上的app
RUNTIME_APP URL/hmi app的用户接口(如果存在)
RUNTIME_APP URL/conf 特定app所需的配置
RUNTIME_APP URL/status app操作的错误/日志记录
RUNTIME_APP URL/data app想要公开给用户的任何数据
在其它实施例中,可以使用其它基本URL来提供对装置上的附加信息的访问。例如,在一些实施例中,可以使用“RUNTIME_HW_PROFILE=http://<runtime host>/service/hw profile”的URL 来访问该装置的硬件规格。在其它实施例中,使用“RUNTIME_CAPABILITIES_URL=http://<runtime host>/service/capabilities”的基本URL来访问该装置上可用的性能。
尽管上面将性能路由器功能描述为位于DCS装置110上,但是在其它实施例中,该功能被集中在自动化环境中运行的所有装置可访问的不同位置。例如,功能可以被集中在市场服务器105内或在自动化环境内的服务器上。然后,每个装置的App运行时环境可以被修改以生成和响应对性能信息的请求,例如使用上面主要描述的REST风格的URL。
操作员接口115可用来管理自动化环境中的app。尽管在图1中示出了在自动化环境外部的操作员接口115,但是在其它实施例中,可以在该环境的本地使用操作员接口115并且例如使用蓝牙或类似的网络协议与该装置直接连接。操作员接口115可以用于例如查看app的当前工作流、改变配置、查看任何相关性问题并且安装app。应当指出,尽管在图1中平板计算机被示出为操作员接口115,但是本领域中主要公知的并且提供类似功能的任何计算装置同样可以用作接口。
图2提供了连接的app的概念的图示200,它可以在一些实施例中实施。App 205连接到在一组自动化部件220、225、230上执行的App 210和215。使用该连接,App 205、210和215可以执行操作(如协调工作流)、为不同利益相关者提供不同HMI等。连接的app的概念允许经由接口(例如,REST接口)使用其它app。假设app将提供(控制)接口来触发某些动作,和/或执行某个功能或监控某些值。接口可以通过接口描述语言来描述,接口描述语言允许其它app访问待解释和使用的接口。连接的app的一个优点在于,它允许轻松地构建分层系统,同时保持关注点分离。另一个优点在于,通过连接的app概念,可以轻松调度和/或交换软件。
图3提供了示出在各种实施例中使用本文所述的一些技术实现的连接的app的示例的系统图300。生产模块310和315中的app 310A、315A(分别为咖啡冲泡和咖啡调味)提供接口(API)以执行某些操作(例如,液体摄入量、颗粒摄入量、冲泡时间、冲泡温度、罐温度等)。DCS 305的App运行时中所示的工作流app 305A使用这些接口来执行更整体的操作并协调工作流。该工作流app 305A被连接到生产模块310、315以生产和调味饮料。例如,在一些实施例中,工作流app 305A可以提供内置HMI,其中操作者可以订购某些食谱和一定量的咖啡。
在一些实施例中,通过使用连通性的概念,各种app的功能可以在多个装置上聚合以提供扩展的功能。具有自动化app的app聚合不同于消费者app的当前状态。消费者(即,非自动操作)app能够通过同一装置上的操作系统交互。仅在同一装置上进行交互对于自动化和制造来说是不够的,因为有许多异构装置需要一起工作。App聚合可以使用性能路由器(见图1)来完成,以找到可以在特定app中使用的性能。例如,app可以请求具有特定标准的配置参数的性能。该app具有指明该性能的配置值的业务逻辑。然后,app可以根据预定义接口或API的需要访问其它app的功能,访问和监控其它app。一旦该app发布并下载到装置,它就成为软件性能并被添加到性能路由器,以便它可以被其它app使用。由于存在标准的接口,这使得app可以在分布式和异构环境中以统一的方式进行交互。
本文描述的可编程逻辑控制器为在工业自动化环境中使用的控制层装置的一个示例。可编程逻辑控制器通常被配置成执行软件,该软件持续地采集关于输入装置的状态的数据以控制输出装置的状态。可编程逻辑控制器通常包括三个主要部件:处理器(其包括易失性存储器)、包括应用程序的非易失性存储器以及用于在自动化系统中连接到其它装置的一个或多个网络部件(例如,输入/输出端口)。
本文描述的由计算装置(包括但不限于可编程逻辑控制器)使用的处理器可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其它处理器。更一般而言,本文使用的处理器为用于执行存储在计算机可读介质上的机器可读指令、用于执行任务的装置并且可以包括硬件和固件中的任一者或其组合。处理器还可以包括存储可执行用于执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传输供可供执行程序或信息装置使用的信息和/或通过将信息发送到输出装置来对信息起作用。处理器可以使用或包括例如计算机、控制器或微处理器的性能,并且可以使用可执行指令进行调节以执行不是由通用计算机执行的专用功能。处理器可以与能够在处理器之间进行交互和/或通信的任何其它处理器耦合(以电的方式和/或包括可执行部件)。用户接口处理器或发生器为包括用于生成显示图像或其部分的电子电路或软件或两者的组合的已知元件。用户接口包括使用户能够与处理器或其它装置交互的一个或多个显示图像。
本文所述的包括但不限于生产装置和相关计算基础设施的各种装置可以包括至少一个计算机可读介质或存储器,以用于保存根据本发明实施例编程的指令并且用于包含本文所述的数据结构、表格、记录或其它数据。本文使用的术语“计算机可读介质”是指参与向一个或多个处理器提供指令以供执行的任何介质。计算机可读介质可以采取许多形式,包括但不限于非暂态、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘。易失性介质的非限制性示例包括动态存储器。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括组成系统总线的导线。传输介质也可以采取声波或光波的形式,例如在无线电波和红外数据通信期间生成的声波或光波。
本文使用的可执行应用包括代码或机器可读指令,其用于支配处理器以例如响应于用户命令或输入来实施预定功能如操作系统、上下文数据采集系统或其它信息处理系统的预定功能。可执行程序为用于执行一个或多个特定处理的代码段或机器可读指令、子例程或其它不同的代码段或可执行应用的一部分。这些处理可以包括接收输入数据和/或参数、对接收到的输入数据执行操作和/或响应于接收到的输入参数执行功能并且提供所得输出数据和/或参数。
如本文使用,图形用户接口(GUI)包括由显示处理器生成的一个或多个显示图像,并且使用户能够与处理器或其它装置以及相关的数据采集和处理功能交互。GUI还包括可执行程序或可执行应用。可执行程序或可执行应用支配显示处理器以生成表示GUI显示图像的信号。这些信号被提供给显示装置,该显示装置显示图像以供用户观看。在可执行程序或可执行应用的控制下,处理器响应于从输入装置接收到的信号来操纵GUI显示图像。以这种方式,用户可以使用输入装置与显示图像交互,使用户能够与处理器或其它装置交互。
本文的功能和处理步骤可以完全或部分地响应于用户命令自动地执行。在无需用户直接发起动作的情况下,响应于一个或多个可执行指令或装置操作而自动执行动作(包括步骤)。
附图的系统和处理并不是唯一的。可根据本发明的原理获得其它系统、处理和菜单以实现相同的目标。尽管已经参考特定实施例描述了本发明,但是应该理解,本文示出和描述的实施例和变型仅用于说明的目的。在不脱离本发明的范围的情况下,本领域技术人员可以实现对当前设计的修改。如本文所述,可以使用硬件组件、软件组件和/或它们的组合来实现各种系统、子系统、代理、管理器和进程。本文中的权利要求元素不应根据35U.S.C.112的第六段的规定来解释,除非使用短语“用于...的装置”来明确地叙述该要素。

Claims (20)

1.一种在自动化环境中在生产装置上执行app的方法,所述方法包括:
在所述生产装置的运行时环境中存储多个app,
对于包括在所述多个app中的每个相应的app,存储元数据文件,所述元数据文件包括:
能够用于由其它app与相应的app进行通信的网络接口的指示,
对于与其它app对应的其它网络接口的一个或多个接口相关性的指示;以及
在执行所述生产装置上的特定app之前,验证与所述特定app相关联的每个接口相关性能够由所述多个app满足。
2.根据权利要求1所述的方法,还包括:
识别与所述特定app相关联的、缺失的接口相关性;以及
响应于识别出所述缺失的接口相关性而拒绝任何执行所述特定app的请求。
3.根据权利要求2所述的方法,还包括:
提供能够满足所述缺失的接口相关性的新app的建议。
4.根据权利要求1所述的方法,还包括:
识别与所述特定app相关联的、缺失的接口相关性;
确定所述缺失的接口相关性为可选的;以及
向用户接口提供与所述缺失的接口相关性相关联的功能不可用的通知。
5.根据权利要求1所述的方法,还包括:
识别与所述特定app相关联的、缺失的接口相关性;
向性能路由器发送性能请求,该性能请求是为了获得满足所述缺失的接口相关性的新app性能;
接收响应于所述性能请求的、附加生产装置的识别信息;以及
基于该识别信息创建对于所述附加生产装置的新接口相关性。
6.根据权利要求1所述的方法,还包括:
从app商店检索所述多个app和每个对应的元数据文件。
7.一种用于在自动化环境中在经由网络可操作地耦合的多个装置上提供协调工作流的系统,所述系统包括:
第一生产装置,配置成执行第一软件app,所述第一软件app对应于第一app接口;
第二生产装置,配置成执行第二软件app,所述第二软件app对应于第二app接口;以及
协调装置,配置成执行第三软件app,所述第三软件app使用所述第一软件app和所述第二软件app执行所述协调工作流。
8.根据权利要求7所述的系统,还包括性能路由器,所述性能路由器配置成:
收集与所述第一软件app的性能对应的第一性能信息;
收集与所述第二软件app的性能对应的第二性能信息;
接收来自所述协调装置的、为了获取特定性能的请求;
识别所述第一软件app,同时基于所述第一性能信息提供所述特定性能;以及
以对应于所述第一生产装置的装置信息来响应所述请求。
9.根据权利要求8所述的系统,其中,所述协调装置配置成执行所述性能路由器。
10.根据权利要求8所述的系统,其中,所述性能路由器配置成使用web服务API来收集所述第一性能信息和所述第二性能信息,所述web服务API遵循表述性状态传递(REST)架构约束。
11.根据权利要求7所述的系统,其中,所述协调装置还配置成:
从app商店检索对应于所述第一软件app的第一接口描述;以及
从所述app商店检索对应于所述第二软件app的第二接口描述,
其中,所述第三软件app使用所述第一接口描述和所述第二接口描述来执行所述协调工作流。
12.根据权利要求11所述的系统,其中,在Web服务定义语言(WSDL)中指定所述第一接口描述和所述第二接口描述。
13.根据权利要求11所述的系统,其中,所述协调装置还配置成:
使用所述第一接口描述和所述第二接口描述来生成接口程序,
其中,所述第三软件app使用所述接口程序执行所述协调工作流。
14.一种用于在自动化环境中聚合app功能的系统,所述系统包括:
在所述自动化环境中运行的多个生产装置,每个相应的生产装置包括运行时环境,所述运行时环境配置成:
执行一个或多个app,
存储与一个或多个app的性能相关联的信息,以及
通过一个或多个网络接口提供对存储的信息的访问;以及
性能路由器,所述性能路由器配置成:
收集关于在所述自动化环境中每个可用app的性能的信息,
接收为获取所请求的性能的请求;
使用收集的信息来识别具有所请求的性能的特定app,并且
响应于该请求提供执行所述特定app的特定生产装置的指示。
15.根据权利要求14所述的系统,其中,每个相应的生产装置的所述运行时环境还配置成:
通过所述一个或多个网络接口启用app功能。
16.根据权利要求15所述的系统,其中,所述一个或多个网络接口包括:
启动接口,用于在所述相应的生产装置上启动所述特定app,
停止接口,用于在所述相应的生产装置上停止所述特定app,
配置接口,用于向所述特定app提供配置,
状态接口,用于执行所述特定app的错误日志记录,以及
数据接口,用于访问app数据。
17.根据权利要求16所述的系统,其中,所述一个或多个网络接口还包括:
HMI接口,用于提供对所述特定app的用户接口的访问。
18.根据权利要求14所述的系统,其中,所述一个或多个网络接口包括:
硬件接口,用于提供与所述特定生产装置相关的硬件信息。
19.根据权利要求14所述的系统,其中,使用遵循表述性状态传递(REST)架构约束的web服务API来提供所述一个或多个网络接口。
20.根据权利要求14所述的系统,其中,由应用开发者使用应用开发工具包来指定所述一个或多个网络接口。
CN201680035420.0A 2015-06-16 2016-05-20 用于自动化环境中的连接的软件应用的接口 Active CN107787481B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/740,542 2015-06-16
US14/740,542 US10241491B2 (en) 2015-06-16 2015-06-16 Interfaces for connected software applications in automation environments
PCT/US2016/033399 WO2016204928A1 (en) 2015-06-16 2016-05-20 Interfaces for connected software applications in automation environments

Publications (2)

Publication Number Publication Date
CN107787481A true CN107787481A (zh) 2018-03-09
CN107787481B CN107787481B (zh) 2021-03-12

Family

ID=56098397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680035420.0A Active CN107787481B (zh) 2015-06-16 2016-05-20 用于自动化环境中的连接的软件应用的接口

Country Status (4)

Country Link
US (1) US10241491B2 (zh)
EP (1) EP3311267B1 (zh)
CN (1) CN107787481B (zh)
WO (1) WO2016204928A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083399A (zh) * 2019-03-04 2019-08-02 上海连尚网络科技有限公司 小程序运行方法、计算机设备及存储介质
CN111324094A (zh) * 2018-12-17 2020-06-23 西门子股份公司 用于自动系统的工作流的动态适配的方法
CN112534837A (zh) * 2018-09-27 2021-03-19 萨尔瓦托雷·盖里里 用于提供灵活且集成的通信、调度和商业平台的系统和方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170026795A1 (en) * 2015-07-24 2017-01-26 Che-Min Wu Wireless charging devices with location-based message processing system
US10394838B2 (en) * 2015-11-11 2019-08-27 Apple Inc. App store searching
US20170171292A1 (en) * 2015-12-11 2017-06-15 Quixey, Inc. Generating Software Application Search Results Using Shared Application Connections
GB2557615A (en) * 2016-12-12 2018-06-27 Virtuosys Ltd Edge computing system
GB2557611A (en) 2016-12-12 2018-06-27 Virtuosys Ltd Edge computing system
EP3404500A1 (de) * 2017-05-16 2018-11-21 Siemens Aktiengesellschaft Verfahren zur überwachung von funktionsmodulen
CN108462984A (zh) * 2018-01-25 2018-08-28 青岛海信移动通信技术股份有限公司 一种进行接入网络管理的方法及终端
US20200099738A1 (en) * 2018-09-24 2020-03-26 Citrix Systems, Inc. Systems and methods for bridge protocol between diverse applications
CN111143151B (zh) * 2018-11-02 2023-11-17 菜鸟智能物流控股有限公司 业务监控方法、装置以及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070201654A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for extending a component-based application platform with custom services
CN101542436A (zh) * 2006-12-01 2009-09-23 微软公司 开发分层平台组件
CN102779036A (zh) * 2011-04-21 2012-11-14 西门子公司 用于自动化技术的软件工具
CN103077032A (zh) * 2013-01-06 2013-05-01 北京百度网讯科技有限公司 应用程序的操作方法及应用程序的客户端
US20130131840A1 (en) * 2011-11-11 2013-05-23 Rockwell Automation Technologies, Inc. Scalable automation system
CN103870287A (zh) * 2006-09-29 2014-06-18 西门子公司 为医疗成像产生和运行软件应用程序的系统
CN104102489A (zh) * 2014-07-24 2014-10-15 深圳市神州通在线科技有限公司 一种第三方数据库app构建系统及构建方法
CN104301443A (zh) * 2014-10-09 2015-01-21 百度在线网络技术(北京)有限公司 一种在web页面上调用端能力接口的方法和系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131226A1 (en) * 2002-01-04 2003-07-10 Spencer Donald J. Dynamic distributed configuration management system
US20050273486A1 (en) * 2004-06-03 2005-12-08 Keith Robert O Jr Virtual distributed file system
US7873942B2 (en) * 2005-11-01 2011-01-18 Sap Ag Design-time architecture for self-contained patterns
US7941813B1 (en) * 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox
US8200749B2 (en) * 2007-03-01 2012-06-12 International Business Machines Corporation Data processing method for generating service interface descriptions
US8468492B1 (en) * 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
US9021510B2 (en) * 2009-12-04 2015-04-28 International Business Machines Corporation Remote procedure call (RPC) bind service with physical interface query and selection
US8635635B2 (en) * 2011-01-25 2014-01-21 Microsoft Corporation Factoring middleware for anti-piracy
US8396969B1 (en) * 2011-05-17 2013-03-12 Google Inc. Domain name buckets in a hosted storage system
KR20130100853A (ko) * 2012-02-08 2013-09-12 삼성전자주식회사 분산형 앱스토어 서비스 제공 방법 및 시스템
US10114349B2 (en) * 2012-04-16 2018-10-30 Rockwell Automation Technologies, Inc. Multiple applications utilized in an industrial automation system displayed as a single application
US9692669B2 (en) * 2013-01-23 2017-06-27 Adobe Systems Incorporated Determination of internet access
US9781043B2 (en) * 2013-07-15 2017-10-03 Netspeed Systems Identification of internal dependencies within system components for evaluating potential protocol level deadlocks
US20150334174A1 (en) * 2014-05-16 2015-11-19 Red Ant Group Limited Application coordination

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070201654A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for extending a component-based application platform with custom services
CN103870287A (zh) * 2006-09-29 2014-06-18 西门子公司 为医疗成像产生和运行软件应用程序的系统
CN101542436A (zh) * 2006-12-01 2009-09-23 微软公司 开发分层平台组件
CN102779036A (zh) * 2011-04-21 2012-11-14 西门子公司 用于自动化技术的软件工具
US20130131840A1 (en) * 2011-11-11 2013-05-23 Rockwell Automation Technologies, Inc. Scalable automation system
CN103077032A (zh) * 2013-01-06 2013-05-01 北京百度网讯科技有限公司 应用程序的操作方法及应用程序的客户端
CN104102489A (zh) * 2014-07-24 2014-10-15 深圳市神州通在线科技有限公司 一种第三方数据库app构建系统及构建方法
CN104301443A (zh) * 2014-10-09 2015-01-21 百度在线网络技术(北京)有限公司 一种在web页面上调用端能力接口的方法和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112534837A (zh) * 2018-09-27 2021-03-19 萨尔瓦托雷·盖里里 用于提供灵活且集成的通信、调度和商业平台的系统和方法
CN111324094A (zh) * 2018-12-17 2020-06-23 西门子股份公司 用于自动系统的工作流的动态适配的方法
CN110083399A (zh) * 2019-03-04 2019-08-02 上海连尚网络科技有限公司 小程序运行方法、计算机设备及存储介质

Also Published As

Publication number Publication date
EP3311267C0 (en) 2023-07-19
EP3311267A1 (en) 2018-04-25
EP3311267B1 (en) 2023-07-19
US20160370784A1 (en) 2016-12-22
CN107787481B (zh) 2021-03-12
WO2016204928A1 (en) 2016-12-22
US10241491B2 (en) 2019-03-26

Similar Documents

Publication Publication Date Title
CN107787481A (zh) 用于自动化环境中的连接的软件应用的接口
EP3623946B1 (en) Building automation system with an energy optimization builder and generic data model designer
US10387011B2 (en) System and method to capture and document cross-product compatibility status information for industrial devices
CN105589349B (zh) 用于对工业数据进行索引的系统、方法和计算机可读介质
CN103532780B (zh) 用于it领域的运维监控一体化系统及一体化监控方法
US7809683B2 (en) Library that includes modifiable industrial automation objects
US20160330082A1 (en) System and method to capture and document cross-product compatibility status information for industrial devices
CN108153670A (zh) 一种接口测试方法、装置及电子设备
US11595468B2 (en) Data capture on a serial device
CN105359102A (zh) 先进的客户支持服务-先进的支持云门户
US9367057B2 (en) System and method for real-time controls of energy consuming devices including tiered architecture
JP2023103229A (ja) 関連アイテムを識別しウェブページに提示するための統合プラグイン
US11886939B2 (en) System, device, method and datastack for managing applications that manage operation of assets
CN109032594A (zh) 一种高效的移动应用管理网站前端开发的方法及系统
US8438271B2 (en) Performing services in a network data processing system
CN117171471A (zh) 基于Ray和Spark的可视化大数据机器学习系统及方法
US20180268036A1 (en) Communication information generating apparatus, communication information generating method, recording medium, and communication management system
WO2020037609A1 (zh) 形成融合模型的方法、装置、系统、介质、处理器和终端
CN107123009A (zh) 一种信息上传系统
US20110246376A1 (en) Cost benefit based analysis system for network environments
CN209488621U (zh) 用于数据存储卡设备的数据采集装置及其数据采集系统
Russell Complexity of Establishing Industrial Connectivity for Small and Medium Manufacturers with and Without Use of Industrial Innovation Platforms
US10401803B2 (en) Apparatus and method for computer code adjustments in an industrial machine
Desmet Methodology for KPI-selection and incremental cost
CN116841853A (zh) 测试用例生成方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant