在面向对象的控制器里提供高性能封装数据引用的系统和方法以及采用该系统或方法的分布式控制系统技术方案

技术编号:2886328 阅读:177 留言:0更新日期:2012-04-11 18:40
在面向对象的控制器里提供高性能封装数据引用的一种系统和一种方法,以及采用所述系统或所述方法的一种分布式实时过程控制系统。在一个实施例里,该系统包括:(1)一个客户算法程序块,它能产生一个请求,要求获得一个地址,从而使所述客户算法程序块能够直接访问存储在所述地址里的数据,和(2)一个供方算法程序块,它能接受并评估所述请求,和(2a)如果供方算法程序块接受所述请求,就将所述地址交给客户算法程序块,让客户算法程序块能够直接访问所述数据,以及(2b)如果所述供方算法程序块拒绝所述请求,就不提供所述地址,迫使客户算法程序块间接访问所述数据。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术
总的来说本专利技术涉及计算和处理系统,更具体地说涉及在面向对象的控制器里提供高性能封装数据引用的计算和处理系统以及采用这种系统的分布式控制系统。本专利技术背景自动过程控制系统里有大量的算法,即软件可定义过程控制例程(software-definable process control routines),用来控制和监测例如制造设备内的各种过程。可以将这些控制系统设计成能够满足大多数过程的要求,也可以设计成只适合于设备的具体部分。控制系统通常都有各种模块,每一种模块都有它自己的处理器或固件,用通信总线连接在一起,构成一个分布式过程控制系统。系统的分布特性使得系统具有很高的性能,能够逐步扩充,以适应设备的增加和改进。过程控制系统一般都有供用户创建自定义控制策略的装置,例如软件可定义过程控制例程。一个完整的控制策略可以用叫做“程序块”、“参数”和“连接”的小组件来构成。程序块是一个软件结构,用来封装基本控制计算的数据和算法;参数用来规定程序块内单个数据的接口;连接则允许在程序块的参数之间传递数据。用于实现实时过程控制器的软件可以采用不同的设计原则。一个原则是采用面向对象的设计方法,其中包括基本控制算法的算法和数据都放在封装对象里;如果采用这一原则,“程序块”就是对象,它的属性是其中的“参数”,它的行为就是采用的控制算法。这一方法有几个优点,包括控制算法与它的数据紧密结合;作为数据所有者的算法能够控制对数据的修改;以及作为数据所有者的算法能够就状态改变请求是否有效与系统用户“通信”。但这种面向对象的方法的缺点是与其它方法相比它需要更多的处理开销。在纯粹的面向对象方法里,没有程序块本身的干预,任何外部算法都不能访问该程序块的参数,而这要求该程序块执行一个子程序来读出或写入参数。在某些情况下,执行子程序是合适的,系统开销并不明显;而在其它情况下,执行子程序会浪费大量的处理资源。因此,这一领域需要在面向对象的控制器里提供高性能封装数据引用的系统和方法,以及采用这种系统或方法的分布式控制系统;这些系统和方法应当能够让控制程序块设计人员选择是通过执行子程序来访问参数还是通过较少封装但更加有效的访问形式来访问参数,这里将后一种访问形式定义为“亲密(intimate)”访问。本专利技术简述为了克服上面讨论过的现有技术里的缺陷,本专利技术一个主要的目的就是提供多种数据访问类型,从而使算法程序块设计更加灵活,数据传递效率更高。为了达到这一主要目的,本专利技术提供一种系统和方法,用于在面向对象的控制器里提供封装数据引用以及采用这种系统或方法的分布式实时处理控制系统。在一个实施例里,该系统包括(1)一个客户算法程序块,它能产生一个请求,要求获得一个地址,从而使所述客户算法程序块能够直接访问存储在所述地址里的数据以及(2)一个供方算法程序块,用来接收并评估所述请求,和(2a)如果所述供方算法程序块接受所述请求,就将地址传递给客户算法程序块,从而允许客户算法程序块直接访问该数据和(2b)如果该供方算法程序块拒绝所述请求,就不给出所述地址,从而迫使客户算法程序块采用间接方式访问所述数据。因此本专利技术引入了提供多种数据访问类型的概念;一般而言直接访问较快,因为供方算法程序块不必介入这一访问过程,但间接访问通常较安全,因为这一访问过程是由供方算法程序块控制的。在本专利技术的一个实施例里,客户算法程序块在配置时间里产生所述请求。这样,为数据交换提供通道的连接可以在配置系统时定义好,而不是在运行时间再定义,在这样的运行时间里有许多的时间限制。当然,本专利技术并不局限于在配置时间里产生所述请求。在本专利技术的一个实施例里,供方算法程序块迫使客户算法程序块通过一个显式子程序调用来间接访问这些数据。本领域里的技术人员对“获取(get)”和“存储(store)”子程序非常熟悉,在现有技术里,它们提供独占式的数据访问方式。本专利技术仍然允许在间接访问场合使用这种子程序。在本专利技术的一个实施例里,供方算法程序块根据预先确定的规则分别评估对每一个参数的请求。这些规则可能是出于以下各种考虑,但并不局限于这些考虑所述参数已经有一个分配好的存储单元,还是所述存储单元是在访问过程中计算出来的;快速访问对所述参数来说是否重要;以及允许亲密访问是不是会明显地增加软件出现故障的可能性。在本专利技术的一个实施例里,这些数据与一个参数有关,该参数包括一些信息,这些信息至少与以下信息中的一个有关(1)是否支持直接访问,(2)一个相关单元的位置,如果支持直接访问,和(3)服务器算法程序块的位置,如果不支持访问。这些类型的信息以及其它类型的信息都可以用来确定可以选择的数据访问方法。在本专利技术的一个实施例里,所述地址包含在与所述客户算法程序块相关的一个永久指针里。本领域里的技术人员非常熟悉永久对象和,用一种隐含方式,指向存储器地址的永久指针。本专利技术可以利用指针的永久性,从而在算法程序块之间构成效率更高的连接。在本专利技术的一个实施例里,控制系统是一种分布式实时过程控制系统。当然,本领域里的技术人员应当会立即发现,本专利技术提供的多级数据访问方式还能在面向对象的应用程序里找到其它的应用。前面概括性地介绍了本专利技术的特点和技术优点,这样本领域里的技术人员能够更好地理解下文对本专利技术的详细介绍。下面将介绍本专利技术的其它特征和优点,它们构成本专利技术权利要求的主体。本领域里的技术人员应当明白,使用这些概念和具体实施例,在此基础上进行改进,或者设计出其它的结构,从而达到与本专利技术的目的相同的目的,这样做对他们来说是轻而易举的。本领域里的技术人员还应当认识到,从更广泛的意义上说,这种等价的结构没有偏离本专利技术的实质和范围。附图简述为了更全面地理解本专利技术,以及本专利技术的优点,下面将详细描述本专利技术,同时参考以下附图,在这些附图中相同的数字表示相同的部件,其中附图说明图1是适合于应用本专利技术的分布式实时过程控制系统的一个示例性功能示意图;图2是一个示例性数字处理系统的高层框图,该数字处理系统可以用于执行体现本专利技术的原理的软件可定义过程控制例程;图3是一个示例性的软件可定义应用程序的原理框图,所述软件可定义应用程序采用了利用本专利技术的原理的算法程序块;以及图4是采用本专利技术的原理设计算法程序块的一个连接子系统类的框图。本专利技术详述在描述本专利技术的系统和方法的一个示例性实施例之前,先介绍适合于使用或实施本专利技术的计算或处理系统环境将会有所帮助。首先参考图1,这是一个示例性的分布式实时过程控制系统(用100标识)的功能示意图,本专利技术可以应用于所述系统。过程控制系统100有一个计算机网络,该计算机网络有一个服务器110和一个控制器网络111。控制器网络111提供服务器110和过程控制器(用121标识)之间的接口;控制器网络111可以例如在服务器110和过程控制器121之间传递管理信息,并在过程控制器121之间传递对等消息。过程控制器121通过输入/输出网络112与输入/输出(“I/O”)装置122通信。过程控制器121能够执行软件可定义过程控制例程,用于通过输入/输出装置122和输入/输出网络112控制过程传感器和致动器130,并接收它们的数据。本领域里的技术人员都非常熟悉各种类型的过程传感器和致动器130,例如可电控的马达、阀门、泵等等,可以将它们用本文档来自技高网...

【技术保护点】
一种系统,用于在面向对象的控制器里提供高性能的封装数据引用,包括:一个客户算法程序块,它产生一个请求,要求获得一个地址,从而使所述客户算法程序块能够直接访问存储在所述地址里的数据;和一个供方算法程序块,它能接收并评估所述请求,而且:如果所述供方算法程序块同意所述请求,就将所述地址传送给所述客户算法程序块,允许客户程序块能够直接访问所述数据,和如果所述供方算法程序块拒绝所述请求,就不提供所述地址,迫使所述客户算法程序块间接访问所述数据。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:杰思罗F斯泰因曼理查德P希默吴拉姆坎吉M
申请(专利权)人:霍尼韦尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1