一种用于将自动化控制系统对接到外部系统的系统和方法与流程

文档序号:15928510发布日期:2018-11-14 01:23阅读:396来源:国知局

本发明涉及自动化控制系统,具体涉及一种用于将自动化控制系统对接到外部系统的系统和方法。

背景技术

本文中公开的主题涉及用于提供对外部系统的自动化控制接入的系统和方法。例如工业控制系统的某些系统可提供多种装置的过程控制。例如,工业控制系统可包括监视数据以得出后续控制动作(例如现场装置的致动)的传感器、现场装置和控制器。此外,控制器可提供在自动化工业系统中有用的控制过程的执行,如发电、化学过程、制造过程等。在某些情况下,控制器可通信地耦合到外部系统。改进控制系统到外部系统的对接将是有益的。



技术实现要素:

下面概述在范围上与原来要求保护的发明相当的某些实施例,这些实施例无意于限制所要求保护的发明的范围,而是,这些实施例仅意图提供本发明的可能形式的简要概述,实际上,一种用于将自动化控制系统对接到外部系统的系统和方法可包含可与下面所述实施例类似或不同的多种形式。

一种用于将自动化控制系统对接到外部系统的系统和方法,在第一实施例中,系统包括工业控制器,所述工业控制器包含第一处理器。第一处理器配置成执行基本上确定性的控制过程。第一处理器还配置成与通信接口系统中包括的并且通信地耦合到第一处理器的第二处理器进行通信,其中,第一处理器配置成在控制过程的执行期间经工业通信协议将异步数据传递到第二处理器,并且第二处理器配置成基于异步信号从外部系统检索外部数据,并且经基于以太网的通信协议将外部数据传递到控制系统。

一种用于将自动化控制系统对接到外部系统的系统和方法,在第二实施例中,方法包括通过使用工业控制器发出异步调用,并且将异步调用转换成面向服务架构(soa)调用。方法还包括发出soa调用,并且通过使用soa接口来处理soa调用。方法另外包括基于处理soa调用来得出数据,并且将数据传送到工业控制器,其中,工业控制器配置成执行基本上确定性的控制过程。

一种用于将自动化控制系统对接到外部系统的系统和方法,在第三实施例中,一种非暂时性计算机可读媒体包括由处理器可执行的指令。指令配置成通过使用工业控制器发出异步调用,并且将异步调用转换成面向服务架构(soa)调用。指令还配置成发出soa调用,并且通过使用soa接口来处理soa调用。指令另外配置成基于处理soa调用来得出数据,并且将数据传送到工业控制器,其中,工业控制器配置成执行基本上确定性的控制过程落。

附图说明。

当参照附图阅读以下详细描述时,本发明的这些和其它特性、方面和优点将变得更好理解,附图中类似的字符在所有附图中表示类似的部分,其中:

图1是示出包括控制器和面向服务架构(soa)通信接口的工业控制系统的实施例的框图;

图2是描绘图1的控制器和soa通信接口的实施例的另外细节的框图;

图3是描绘适合用于图1的控制器与期望的外部系统之间的通信的块件(blockware)引擎的实施例的信息流图。

具体实施方式。

下面将描述本发明的一个或更多个特定实施例。在努力提供这些实施例的简洁描述的过程中,在说明书中可不描述实际实现的所有特征。应领会的是,如在任何工程或设计项目中一样,在任何此类实际实现的开发中,必须做出许多实现特定的决定以实现开发者的特定目标,例如符合系统有关和业务有关的约束,这些目标可从一个实现到另一个实现而变化。此外,应领会的是,此类开发努力可能复杂并且耗时,但对于具有本公开的益处的普通技术人员仍将是设计、制造和生产的日常工作。

在介绍本发明的各种实施例的元素时,冠词“一”、“该”和“所述”旨在表示存在一个或多个所述元素。术语“包含”、“包括”和“具有”意图是包含性的,并且表示可存在除所列元素之外的另外元素。

在本文中描述的某些实施例中,通信接口可用于居中于控制器与外部系统之间的通信。在一个实施例中,控制器是适合用于执行基本上确定性的控制过程的purdue参考模型(prm)1级控制器,如下面相对于图1更详细描述的。通信接口可实现例如在控制器与外部系统(例如基于因特网的系统)之间的异步通信。因此,当通信接口在外部处理来自控制器的数据并且然后将数据返回到控制器时,控制器可继续提供期望的工业设施或系统的基本上确定性的控制。从外部系统返回的数据可包括多种数据,例如天气数据、维护数据、来自有关设施的数据、停机数据、控制器配置数据、控制器重新编程数据、商用数据等,数据然后可由控制器用于更新控制器和/或执行期望的控制算法。

在某些实施例中,通信接口可包括面向服务架构(soa)通信接口,所述soa通信接口适合用于使用多种协议,包括宽松耦合协议(例如使用web服务描述语言(wsdl)、javascript对象表示法(json)的协议)、基于服务注册的协议等。通过使用soa,可实现耦合到多种商用和/或定制soa使能的软件和硬件系统,可使得编程资源的分配更有效,并且可最小化成本。通过利用本文中描述的技术,prm1级控制器可发出服务调用,例如通用和/或定制soa服务调用,并且处理由通信接口返回的数据。因此,prm1级控制器可提供期望的工业过程(例如,工业活动和/或工业步骤的集合)的更灵活控制。

考虑到前面所述,描述例如包含本文中公开的技术的发电系统的工业控制系统可以是有用的。因此,图1示出燃气涡轮机系统10作为包含本文中公开的改进控制技术的工业控制系统的示例实施例。如所描绘的,涡轮机系统10可包括燃烧室12,其可容纳燃料/空气混合物以便燃烧。此燃烧形成热加压排气,燃烧室12将所述热加压排气引导通过涡轮机14(例如,转子的一部分)并且朝向排气出口16。在排气通过涡轮机14时,合力促使涡轮机叶片沿涡轮机系统10的轴旋转传动轴18。如所示的,传动轴18连接到涡轮机系统10的各种组件,包括压缩机20。

传动轴18可包括一个或更多个轴,轴例如可同心对齐。传动轴18可包括将涡轮机14连接到压缩机20以形成转子的轴。压缩机20可包括耦合到传动轴18的叶片。因此,涡轮机14中涡轮机叶片的旋转可促使将涡轮机14连接到压缩机20的轴旋转压缩机20内的叶片。压缩机20中叶片的旋转压缩经进气口22接收的空气。压缩的空气被馈送到燃烧室12并且与燃料混合以便允许更高效率燃烧。轴18也可连接到负载24,负载24可以是运载工具或固定负载,如发电厂中的发电机或飞行器中的螺旋桨。当负载24是发电机时,发电机可耦合到电网26以便将电力配送给例如住宅和商业用户。

涡轮机系统10也可包括配置成监视与涡轮机系统10的操作和性能有关的多个引擎参数的多个传感器和现场装置。例如,传感器和现场装置可包括例如分别定位接近于涡轮机14和压缩机20的入口和出口部分的入口传感器和现场装置30以及出口传感器和现场装置32。例如,入口传感器和现场装置30与出口传感器和现场装置32可测量例如环境温度和环境压力的环境条件以及与涡轮机系统10的操作和性能有关的多个引擎参数,例如排气温度、转子速度、引擎温度、引擎压力、燃气温度、引擎燃料流量、排气流量、振动、在旋转与固定组件之间的间隙、压缩机排出压力、污染(例如,氧化氮、氧化硫、氧化碳和/或微粒计数)以及涡轮机排气压力。此外,传感器和现场装置30与32也可测量致动器信息,例如阀位置以及可变几何组件(例如,空气入口)的几何位置。所述多个传感器和现场装置30与32也可配置成监视与涡轮机系统10的各种操作阶段有关的引擎参数。由所述多个传感器和现场装置30与32进行的测量(例如,工业自动化系统10的操作参数)可经模块线路34和36传送,模块线路34和36可通信地耦合到prm1级控制器38。prm1级控制器可包括适合用于计算机指令的执行的至少一个处理器39以及适合用于存储计算机指令和其它数据的存储器41。在另一实施例中,控制器38可以是三模冗余(tmr)控制器,所述tmr控制器具有通过三个系统的投票确定的输出执行单个任务的三个处理器或核。

与可提供监管控制(例如,分布式控制系统[dcs]、制造执行系统[mes]等)的2级系统相比,prm1级控制器可直接控制工业过程。因此,控制器38可通过使用导线管而直接连接到传感器30和现场装置32。控制器38然后可提供系统10的基本上确定性的控制而不添加另一控制层。例如,在描绘的示例中,模块线路34可用于传送来自压缩机20的测量,而模块线路36可用于传送来自涡轮机14的测量。控制器38可使用测量来主动控制涡轮机系统10。

应领会的是可使用其它传感器,包括燃烧室12传感器、排气口16传感器、进气口22传感器以及负载24传感器。类似地,可使用任何类型的现场装置30,包括例如现场总线基金会(fieldbusfoundation)、profibus和/或hart现场装置的“智能”现场装置。也将领会的是,燃气涡轮机系统10只是工业控制系统的示例实施例,并且其它工业自动化系统例如可包括自动化发电系统,如燃气涡轮机、蒸汽涡轮机、风力涡轮机或水力涡轮机、热回收蒸汽发电机(hrsg)、发电机、燃料滑道(fuelskid)、燃气处理系统或任何其它自动化发电系统或部分自动化发电系统。其它工业自动化系统可包括例如化工厂、制药厂、炼油厂的自动化制造系统、自动化生产线或类似自动化或部分自动化制造系统。

还描绘了通信接口系统40,通信接口系统40可例如通过使用以太网电缆41(例如,rj45电缆)通信地耦合到控制器38。在其它实施例中,可使用其它通信管道或电缆,如串行电缆(例如,db9)、无线管道等。在描绘的实施例中,通信接口系统48可包括prm2级和以上(例如,3、4、5级)功能性。也就是说,接口40可包括如由2级prm参考系统提供的监管功能性,并且可另外被包括在其它系统中,例如dcs、mes、人机接口(hmi)等。

通信接口系统40可通信地耦合到prm1级控制器38,并且用于接收例如来自控制器38的异步soa服务请求。服务请求可由通信接口系统40进一步处理,并且外部系统42可用于提供与服务请求有关的数据。外部系统可包括其它控制系统10、天气系统、商业逻辑系统、维护系统(例如,维护日志系统、维护计划系统)等。来自外部系统的数据然后可由通信接口系统40接收、进一步处理和/或转换,并且递送到控制器38。在一个实施例中,数据可包括提供到配置器系统44的控制器配置。配置器系统44然后可重新配置控制器和/或对控制器重新编程。例如,配置器系统44可设置任何数量的控制器参数(例如,输入/输出[i/o]配置、存储器配置、连网配置等)。例如,可设置i/o包(i/opack)配置信息、存储器分页、存储器大小、虚拟存储器、网络分组大小、等待时间等。

在一个实施例中,可通过使用以太网全局数据(egd)自动化协议,从控制器以及向控制器传递数据。egd自动化协议可包括“交换”数据结构,该结构使用共享存储器技术以更有效和安全地交换数据,如下面相对于图2更详细所述的。通过对prm1级控制器实现服务调用(包括soa服务调用),本文中描述的技术可实现更灵活的控制过程,例如为系统10提供天气数据、商业数据、维护数据、物流数据(例如,零件采购数据)的使用。

图2是图1的1级控制器38的框图,控制器38通信地耦合到通信接口系统40以及耦合到外部系统42,例如分布式控制系统(dcs)46、现场工程师个人计算机48和web服务与工厂信息系统50。通信接口系统40可包括工作站、服务器、膝上型计算机、平板、蜂窝电话、移动电话或任何计算装置。因此,通信接口系统40可包括适合用于执行例如在存储器45中存储的指令的计算机指令的处理器43。如上面提及的,1级控制器38可使用egd自动化协议与通信接口系统40进行通信,或者通过通信接口系统40进行通信。因此,通信接口系统40可包括控制器通信接口52,该接口提供在通信接口系统40与1级控制器38之间传递数据中有用的通信功能性(例如,soa通信接口功能性,包括egd、modbus和任何其它数据转换服务)。在描绘的实施例中,控制器通信接口52寄宿在人机接口(hmi)53中,人机接口(hmi)53例如从纽约斯克内克塔迪的通用电气公司可得到的workstationst。要理解的是,在其它实施例中,控制器通信接口52可提供为分布式控制器(dcs)、监管控制和数据采集(scada)、制造执行系统(mes)和/或独立系统的组件。

通信接口系统40也包括经开放标准的开放连接性(opc)统一架构(ua)服务器54,该服务器54通信地耦合到控制器通信接口52并且适合用于使用opc通信协议(例如,opc.tcp//server,http://server)与控制器通信接口52交换数据。通过使用opc通信协议,本文中描述的技术使得1级控制器38能够进一步与多种其它系统进行通信。实际上,1级控制器38可使用高可靠性、确定性的通信协议(例如egd、modbus或其组合)来进行通信,并且通信可转换成面向服务通信协议(例如opc通信协议)以便用于外部系统。因此,可传递控制器拥有的变量85。opcua服务器54可包括与系统10有关的在建模关系(例如,实体关系[er]建模)、系统、应用编程接口(api)等中有用的工厂数据模型55。

在一个实施例中,例如由1级控制器38传送的服务请求的数据可通过在控制器通信接口52中使用异步egd交换数据结构来处理,并且然后转换成适合于由opcua服务器54处理的数据请求。egd交换数据结构例如可包括可使用单播和/或多播技术用于传递服务请求的“产生的交换”egd数据结构、“消耗的交换”egd数据结构或其组合。然后,例如通过使用来自web服务和工厂信息系统50的管道56(例如,soa管道),opcua服务器54可请求数据。然后,例如通过使用商业逻辑系统58、启动顾问(start-upadvisor)系统60和其它系统62,web服务和工厂信息系统50可进一步处理数据。

商业逻辑系统58例如可包括在操作工业系统10和/或1级控制器38中有用的商业逻辑。例如,商业逻辑系统58可包括在确定产生的电力的当前价格、产生的电力的将来价格(例如,能源期货)、绿色信贷以及某些规章约束中有用的逻辑或规则。例如,规制约束可包括产生某个不期望的微粒(例如氧化氮(nox)、二氧化碳排放等)的成本。另外或备选地,商业逻辑系统58可包括与其它系统10的操作有关的商业逻辑。例如,商业逻辑系统58可通信地耦合到例如其它系统10的其它系统,并且可包括例如其它系统10的停机、其它系统10的维护计划、其它系统10的离线以及其它有关信息的信息。启动顾问系统60例如可包括与系统10的启动操作有关的信息。此类信息可包括期望的启动计划、期望的启动功率曲线以及在启动期间要使用的燃料的期望类型(例如,柴油、天然气、合成气)等。

其它系统62可包括但不限于天气系统(例如国家海洋和大气管理局(noaa)数据库、商用天气数据库)、商业逻辑系统、维护系统(例如,维护日志系统、维护计划系统)等。因此,例如通过使用通信接口系统40从1级控制器38接收的服务请求的数据可由web服务和工厂信息系统50的系统58、60和62变换成在控制器38的操作中有用的经管道56提供到1级控制器38的数据。

在描绘的实施例中,web服务和工厂信息系统50的数据持久性系统64可另外包括用户数据库68和opcua客户端70。用户数据库68可包括被授权接入web服务和工厂信息系统50或以其它方式与web服务和工厂信息系统50进行通信的用户的数据存储库。用户可包括人类实体以及软件和硬件实体或者备选地包括软件和硬件实体。opcua客户端70可以是适合用于通过使用opc通信协议与opcua服务器54进行通信的客户端系统。另外或备选地,图形用户接口(gui)也通信地对接到web服务和工厂信息系统50。因此,gui72可用于提供例如web接口的直接接口到web服务和工厂信息系统50中。

通过使用soa架构,本文中描述的技术可使得1级控制器38能够通过使用通信接口系统40与多种系统进行通信。例如,现场工程个人计算机48和dcs46可使用opc通信协议来通过通信接口系统40通信地对接到1级控制器38。例如,现场工程师个人计算机48可用于通过通信接口系统40重新配置1级控制器38和/或对1级控制器38重新编程。因此,包括但不限于某些控制器性质的配置信息可从现场工程师个人计算机48经通信接口系统40传送到1级控制器38,并且新的或更新的编程指令可被类似地传送。同样地,dcs46可使用通信接口系统40传送和/或接收与1级控制器38有关的信息。此类信息可包括在系统10的分布式控制中有用的信息以及在例如将1级控制器38与其它系统同步中有用的信息。

为了提供到现场工程个人计算机48和/或dcs46的通信接口,通信接口系统40可包括opcua客户端74、opcda服务器76和/或opcda客户端78。对于由dcs46拥有的变量,ocda客户端78可通信地耦合到opcda服务器80。对于其它变量(包括与1级控制器38相关联的变量),opcda服务器76可通信地耦合到也包括在dcs46中的opcda客户端82。通过将opcda服务器80用于dcs拥有的变量(var)81,并且将opcda客户端82用于系统40拥有的其它变量83,本文中描述的技术可实现更有效的通信。例如,可在服务器76和服务器80处设置适合的发布和订阅机制,以便发布和订阅特定的dcs变量和其它变量。因此,多个数据路径(与dcs变量关联的数据路径以及与其它变量关联的数据路径)可用于与通信接口系统40和1级控制器38进行通信。

还描绘了通信地耦合到通信接口系统40的人机接口(hmi)和站点计算装置86。hmi84可包括适合用于在视觉上与通信接口系统40交互的图形用户接口,例如,通过使用多个视觉计算装置86,视觉计算装置86可包括站点历史数据存储库88,站点历史数据存储库88在从通信接口系统40中包括的历史数据库90收集多种数据中有用。在一个实施例中,站点历史数据库88可用作在记录来自通信接口系统40的包括与1级控制器38有关的信息(例如在1级控制器38与通信接口系统40之间的egd通信的日志)的多种信息中有用的记录数据库。通过使用本文中描述的技术,1级控制器38可发出某些服务调用,例如下面相对于图3更详细描述的服务调用,并且处理由这些服务调用产生的数据。安全性系统91也可与操作系统(os)安全性系统93对接以提供例如安全验证、授权、安全性记录(帐户管理)安全通信(例如,安全套接字层、虚拟私人网络)、安全证书的管理等。

图3是描绘具有块执行过程102、过程间通信(ipc)系统104和服务过程106、108与110的块件引擎100的实施例的信息流图。服务过程106、108、110可实现为计算过程或实例,并且可包括一个或更多个执行线程。在另一实施例中,过程106、108、110中的一个或多个可各自替换为执行的单个线程(例如,计算线程)。块件引擎100可经例如在存储器41中存储的并且由处理器39执行的计算机可执行指令实现。在描绘的实施例中,块件引擎100可执行功能块代码,例如遵守用于功能块程序的国际电子技术委员会(iec)61131-3标准的功能块。更具体地,可通过使用块执行过程102提供功能块程序(例如,块件)的执行。如上面提及的,块件引擎100可提供服从prm1级控制器准则的代码执行,由此实现块件的基本上确定性执行。另外或备选地,引擎100可包括适合用于执行顺序功能图(sfc)程序、指令列表程序等的执行引擎。

如所描绘的,块执行过程102可通信地耦合到ipc系统104,ipc系统104可使用共享存储器来在块执行过程102与过程106、108与110之间进行通信。例如,“产生的交换”egd数据结构112、“消耗的交换”egd数据结构114或其组合可用于在块执行引擎102与过程106、108、110之间进行通信。egd协议可使得生产者(例如,服务器过程,诸如过程102和/或106、108、110)能够以计划的周期速率将其存储器的一部分共享给所有消耗者(例如,客户端过程,诸如过程106、108、110和/或102)。协议可在以太网上使用udp来交换数据。由以太网接口局于中间的内部参考存储器的快照称为交换。交换不要求回复并且通过三个主要标识符的独特组合识别,如生产者id(例如,生产者的ip地址)、交换id(例如,客户端的ip地址)和适配器名称(例如,以太网接口标识符)。

块件引擎100实现使用熟悉的功能框图环境创建控制代码,并且同时提供高实时决定论。在本文中描述的技术之前,由控制器提供的现有块件功能性的约束包括在访问作为来自i/o包(例如,附连到总线并且通信地耦合到控制器38的硬件i/o卡)或通过网络协议(例如,modbus)的i/o传递的数据中的限制。本文中描述的技术提供延长控制器38运行时间以便经外部系统42和/或50输出的web服务用数据结构进行通信。

从块件引擎100的角度,可将由外部系统42、50实现的web服务116、118、120、122分组成两个类。第一类可包括通用或简单服务116、118。这些服务116、118在语义上和句法上是简明的,例如,可获取是原语类型的固定数量的输入并且返回固定数量的原语类型(例如,整数、字符串、浮点、矩阵等)的简单独立方法。不关于服务是否有状态做出假设。

不满足简单服务的定义的定制或复杂服务包括服务120、122。这些服务120、122例如可能返回可不容易转换成在块件引擎100中存在的原语数据类型的数据的阵列或其它复杂结构(例如,类、结构(struct))。在简单与复杂服务之间的这个区别的暗示是可存在某些服务,这些服务能够通过具有对用于服务(例如,服务116、118、120、122)的wsdl(web服务描述语言)文件的接入而在配置时发现,并且能够由在例如可由某些pcode记录(例如,固件)配置的块件引擎100中的通用本地i/o过程(例如,过程106、108、110)处理。此暗示的意思是,一些web服务(例如,120、122)可各自对于定制web服务使用定制过程(例如,过程108、110),以及在配置服务时用于要由hmi53使用的服务的定制定义。也就是说,通用服务可全部使用过程106,而定制服务可各自使用定制过程,例如过程108和110。

通过输入和输出变量的集合,可直接向块件显露服务116、118的功能和/或方法。复杂服务120、122的方法可需要标准化为块件(例如,功能块)被设计使用的数据类型。预期到过程106、108、110的输入能够包括在下载的pcode文件中可作为常量存在的字符串数据类型。预期如果需要,则用于复杂服务120、122的本地i/o过程108、110能够在服务于来自块件的单个“调用”时进行对服务的多个服务调用。通过提供在实现控制器38(例如,prm1级控制器)与外部系统42、50对接中有用的技术,本文中描述的技术可实现更灵活和可扩展的控制系统。

过程130适合用于实现控制器38与包括可使用web服务的系统的基于soa的系统进行通信。过程130可通过例如在控制器38的存储器41中存储的并且由处理器39执行的计算机指令或代码来实现。在描绘的实施例中,过程130可发出异步调用(框132)。异步调用可包括与web服务(例如服务116、118、120、122)对接的调用。异步调用可例如由一个或多个功能块发出(框132),或者由控制器38中包括的任何其它可执行代码发出。过程132然后可将异步调用转换成soa调用(框134)。如上所述,过程106、108、110可用于提供soa对接,并且因此可将数据和相关联信息从异步调用转换成适合在web服务116、118、120、122中使用的数据和信息。

过程130然后可发出soa调用(框136)。例如,通用服务过程106、定制服务a过程108和/或定制服务b过程110可与期望的web服务116、118、120、122对接以请求和/或提供数据。web服务116、118、120、122然后可处理soa调用(框138)并且返回soa数据(框140)。如上面提及的,soa数据可包括原生数据类型(例如,整数、字符串、阵列、浮点)和定制数据类型(例如,定制类、定制结构、定制阵列、数据集等)。返回的数据例如可由过程106、108、110接收并且例如转换(框142)成可由块执行过程102更容易理解的控制器数据(例如,egd数据、modbus数据,或一般地,控制器38理解的数据类型)。然后,可将转换的数据(例如,egd数据)传送到块执行过程102。然后,块执行过程102可使用数据(框146)来执行控制动作,例如操作致动器、对阀进行调节等。通过提供适用于访问和使用由web服务提供的数据的prm1级控制器,本文中描述的技术可实现更灵活和可扩展的控制系统。

本发明的技术效果包括通过使用基于面向服务架构(soa)的机制(包括但不限于web服务)来提供在使得prm1级控制器能够与外部系统交互中有用的通信接口。提供了通用服务过程,其适合用于与使用标准数据结构(例如,原生数据结构)的web服务对接。提供了定制服务过程,其在与使用定制数据结构的web服务对接中有用。

此书面描述使用示例来公开本发明,包括最佳模式,并且也使得本领域的任何技术人员能够实践本发明,包括制作和使用任何装置或系统并执行任何包含的方法。本发明的可取得专利的范围由权利要求定义,并且可包括本领域技术人员想到的其它示例。如果此类其它示例具有与权利要求的字面语言没有区别的结构元素,或者如果它们包括与权利要求的字面语言没有实质区别的等同的结构元素,则预期它们在权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1