专利名称:提供自动软件更新的方法和装置的制作方法
技术领域:
本专利申请总地来说涉及计算机软件,更具体地说,涉及加工厂中使用的计算机软件。
背景技术:
加工厂,例如用于化学、石油或其他工业的加工厂,通常包括一个或多个过程控制器,其经由模拟、数字或组合模拟/数字总线,以通信联络方式连接到至少一个主机或操作员工作站,并连接到一个或多个过程控制和检测设备上,例如现场设备。可以是例如阀、阀位控制器、开关、发送器和传感器(例如,温度、压力和流速传感器)的现场设备,执行过程内的各项功能,例如打开或关闭阀以及测量过程参数。尽管典型的加工厂具有很多过程控制和检测设备,例如被连接到在过程运行期间执行软件来控制这些设备的一个或多个过程控制器上的阀、发送器、传感器等,但是还有很多其他支持设备对于加工厂运行来说是必须或者相关的。
例如,很多加工厂有执行关于商业功能、维护功能、配置功能、诊断功能等的各种主机应用程序的其它计算机。特别地,很多加工厂,尤其是那些使用智能现场设备的加工厂,使用资产管理应用程序来帮助监控、追踪和维护工厂中的设备,而不管这些设备是过程控制和检测设备或是其它类型的设备。艾默生过程管理有限公司出售的资产管理系统(AMS)应用程序能够与现场设备通信,并存储现场设备的有关数据,以确定和追踪各种现场设备的运行状态。
负责确保过程中的当前设备有效运行以及维修和更换故障设备的维护人员利用例如维护界面、上述AMS应用程序和很多其它诊断应用程序的主机应用程序来获取关于过程中设备的运行状态的信息。
通常,可以预计在任何特定的加工厂中使用的各种设备是由多个不同的厂商制造的。此外,很可能不是所有的设备都以相同方式彼此或与过程控制系统通信。为了克服不同厂商提供的设备间的不兼容问题,过程仪器工业采用了由例如HART通信基金会(HART Communication Foundation)、现场总线基金会(FOUNDATIONTMFieldbus)等的各种组织定义或发布的几种标准化数字设备通信协议。
典型地,由这些基金会定义的通信协议包括指定各种设备如何标识其自身以及如何通过使用所谓的设备描述(DD)来与过程控制系统通信的标准。各种设备类型典型地具有其自身的DD,DD是现场设备的数据和操作程序的正规描述,包括关于该设备的各种特征的变量、方法、命令、菜单和显示格式。关于装置的每一个可存取变量的信息通常被包括在设备描述中,从而定义设备的兼容性以及与设备的可能通信。这样的变量包括例如过程测量、任何获得的值和例如范围、传感器类型、线性化选择、结构材料、厂商、修改版本编号等的设备的所有内部参数。
典型地以多种不同的方式使用各种设备的DD。例如,在加工厂中执行过程应用程序或主机应用程序时,维护过程应用程序的维护人员可能需要获取关于各种设备的各种参数的帮助信息。类似地,编写过程应用程序的系统设计者可能利用DD来获取关于装置的进一步信息。设备厂商通常把DD提供在计算机可读媒体上,以致DD可以被容易地拷贝到各种过程控制系统计算机或各种加工厂相关的应用中。然而,如果过程应用程序(例如控制、维护、诊断、配置或其它应用程序)是在特定的设备出现之前被开发出来,该过程应用程序可能不能存取关于那个设备的DD或其它信息,这意味着,在那个设备被加到使用了该应用程序的加工厂时,该应用程序将不能与那个设备通信。
发明内容
一种软件更新系统,使用户能够标识并获取应用程序所使用的DD,并以该DD更新该应用程序。该软件更新系统与例如现场设备的设备通信,来获取与该设备通信所需要的用于识别DD的DD标识信息。一旦获取了该DD标识,该更新系统从被连接到例如国际互联网(Internet)上的设备描述数据库下载该DD。此后,该应用可以利用该合适的DD直接与该设备通信。
在安装在主机计算机、控制器或其它计算机上的过程应用程序需要与过程控制设备通信但是还没有被编程来这么做的时候,可以在加工厂中使用这里说明的该软件更新系统。如上所述,加工厂中使用的很多过程控制设备采用标准或开放通信协议来彼此通信并与其它应用程序通信,例如采用使用了著名的设备描述语言(DDL)的HART通信协议。如果必需与设备通信的过程应用程序不能存取该设备的DD,此过程应用程序将不能有效地与该设备通信。这里说明的该软件更新系统可以首先在该加工厂中的本地DD数据库中搜索该必需的DD,并且,如果该软件更新系统没能在该本地DD数据库中找到该DD,该软件更新系统从例如被连接到例如国际互联网上的HART通信基金会DD数据库的在线DD数据库下载该合适的DD。
本发明经由示例来描述,并且不限于附图,在这些附图中,相同的附图标记标识相似的元件,其中图1为加工厂的示例性框图;图2为图1的加工厂中使用的计算机的示例性框图;和图3为自动软件更新程序的示例性流程图。
具体实施例方式
现在参见附图,图1示出了加工厂10,具有主机计算机14,主机计算机14通过通信总线26与多个设备28、30、32连接,这些设备可以是现场设备或其它类型的设备。通信总线26可以是模拟总线、数字总线或组合模拟/数字总线。设备28-32可以是例如阀、开关、发送器、控制器的过程控制设备,或者任何其它类型的设备。加工厂10还可以包括多个其它设备,例如可以被直接通过另外的通信网络12连接到主机系统14上的设备34。
主机系统14可以具有多个过程应用程序,例如过程控制系统应用程序16、工厂仿真应用程序18、工厂维护应用程序20、诊断应用程序、配置应用程序等。主机系统14还可以具有本地DD数据库22以及软件更新应用程序24,软件更新应用程序24自动更新主机系统14上的这些应用程序16-20或其它主机应用程序,或者被连接到主机系统14上的其它计算机中的应用程序。
当然,通信网络12可以采用任何所需通信协议实现,包括例如以太网协议、国际互联网通信协议、任何公知的所需的无线通信协议(WCP)、任何公知的或所需的局域网(LAN)协议等。通信网络12还可以被以任何所需方式连接到加工厂外部的其它通信系统上,例如广域网(WAN)、国际互联网等。在图1的示例性展示中,通信网络12被连接到国际互联网40上,这样主机系统14通过通信网络12间接地连接到国际互联网40上。然而,在可替代的示例中,主机系统14可以被直接连接到国际互联网40上。
在图1中,国际互联网40被连接到能够与加工厂10的各个部分有效通信的多个数据库或系统上。例如,国际互联网40被连接到收集关于加工厂10的输入、产出等的各种信息的管理信息系统(MIS)42上。国际互联网40还被连接到HART通信基金会(HCF)数据库44、现场总线基金会数据库46上,并且可以被连接到例如艾默生过程管理设备数据库48等的由各个设备制造商提供的数据库上。数据库44、46和48包含关于加工厂10中使用的各种设备的信息。例如,现场总线基金会数据库46可以包含加工厂10中使用的各种现场总线设备的DD,而HCF数据库44可以存储各种HART设备的DD。如果需要,DD还可以或者可替代地被存储在各种独立的数据库中,例如由不同的设备制造商提供的数据库。例如,艾默生过程管理设备数据库48就是一个可以由设备制造商提供来存储艾默生过程管理有限公司制造的各种设备的DD的数据库的示例。
加工厂10的各个部分可以访问HCF数据库44、现场总线基金会数据库46、Profibus数据库(未示出)等,来获取例如设备28、30、32、34等的加工厂10中的设备的DD。例如,主机系统14可以利用通信网络12和国际互联网40向HCF数据库44发送关于设备28的DD的请求。尽管在图1中示出的主机系统14被设置在一个单独计算机上,但是实际上主机系统14可以被使用多台计算机设置为分布式系统或客户端-服务器系统。
图2示出可以在加工厂10中用作主机系统14的示例计算机60的框图。如在这里使用的,术语“计算机”指可以被用作计算机网络上的节点的任何类型的计算机设备(例如便携式计算机、膝上型计算机、PDA、台式机、服务器等)。图2的计算机60包括计算机中通常使用的很多常规硬件部件。特别地,计算机60包括中央处理器(CPU)62、存储器64、内部通信总线66、存储设备68、电源70和输入/输出(I/O)控制器72。尽管图2中示出的计算机60显示这些部件在计算机60的内部,但是本领域技术人员可以理解,这些部件中的某些可以在计算机60的外部。
在用作主机系统14时,计算机60可以被通过内部通信总线66连接到通信网络12和通信总线26上。存储设备68和/或存储器24可以用来存储主机系统14上运行的各种应用程序,也可以用来存储由这些应用程序使用的数据。例如,过程控制系统应用程序16、工厂仿真应用程序18、过程维护应用程序20和本地DD数据库22可以被存储在存储设备68上。
主机系统14的用户可以从任何所需的来源,例如由设备厂商提供的CD,把特定设备的DD加载到本地数据库22中。可替代地,用户可以从连接到国际互联网40上的在线DD数据库下载和存储设备DD。还有可能加工厂10中使用的加工厂设备28、30、32、34等可以是多个不同的设备厂商制造的,在此情况下,这些设备的DD将由不同的来源提供。例如,设备28的厂商可能在CD上提供与设备28通信所必需的DD,这允许加工厂的操作员把设备28的DD存储在本地DD数据库22中。主机应用程序可以具有其自身的能够存储设备28的DD的DD数据库。例如,如果过程控制系统应用程序16已经有了设备28的DD,过程控制系统应用程序16将可以利用本地DD数据库22中存储的DD或被提供给过程控制系统应用程序16的DD来与设备28通信。
然而,完全可能例如图1的设备30的特定设备的厂商没有提供该设备的DD,或者用户没有把设备30的DD安装到本地DD数据库22中。可替代地,安装在主机系统14上的主机应用程序,例如工厂仿真应用程序18,因为设备30是在安装了工厂仿真应用程序18之后被安装到加工厂10中的,可能没有设备(例如图1的设备30)的DD。在此情况下,工厂仿真应用程序18将不能与设备30通信。因此,设计了下面将参照图3-4更详细说明的软件更新应用程序24,以允许例如应用程序16-20的主机应用程序在设备28-34的DD没有被预先提供给应用程序16-20或主机系统14时与过程设备28-34通信。
图3示出可以一般地说明图1的软件更新应用程序24的操作的一个可能的流程图。一般而言,软件更新应用程序24允许主机系统14上的各种主机应用程序与加工厂10中的各种设备通信。如果需要,软件更新应用程序24可以被设置为以特定周期频率自动地运行,并且如果以这种方式设置,软件更新应用程序24可以查找主机计算机14上的各种主机应用程序的通信请求记录。这样的请求记录可以确定设备需要哪一种通信,并且请求记录可以被存储在存储器64中、主机系统14的CPU 62的寄存器中或任何其它所需的位置。
可替代地,软件更新应用程序24可以由用户或者由主机系统14上或甚至是另一个主机计算机中运行的主机应用程序启动。例如,请求应用程序,例如工厂仿真应用程序18,在应用程序18需要与应用程序18没有DD的设备通信时,可以向CPU 62发送命令来启动软件更新应用程序24。在此情况下,给软件更新应用程序24的命令可以包含关于工厂仿真应用程序18和关于工厂仿真应用程序18需要与之通信的设备的一些信息。
为了简单,图3示出软件更新应用程序24响应接收到的请求应用程序与设备28通信的请求的操作。在接收到这样的请求后,框80连接设备28,并且利用公知的命令请求设备28的DD标识。这样的DD标识请求可以在用来与设备28通信的协议中指定。例如,如果使用了HART协议,可以把命令#0发送给设备来请求该设备的DD标识。给设备28的请求可以从主机系统14通过通信总线26、通过通信网络12或通过主机系统14和设备28之间其它通信链路发送。
框82响应由框80发送的请求,接收来自设备28的DD标识,并把接收到的设备28的DD标识存储在存储器64中。众所周知,由设备28提供的DD标识可能包含例如厂商ID、设备标识符、设备修改版本等的设备28的信息。框84利用接收到的DD标识中的设备信息确定主机系统14是否有设备28的DD。例如,框84可以在本地DD数据库22或主机系统14上的其它主机应用程序中的一个中搜索由设备28的DD标识所标识的DD。
如果框84确定主机系统14没有设备28的DD,框86确定主机系统14是否可以访问国际互联网40。如果可以,框88确定连接到国际互联网上并且具有设备28的DD的DD数据库。框88可以通过在国际互联网40上发送请求并通过分析对这一请求的响应来进行这样的确定。当然,框88还可以存储例如HART数据库44、现场总线基金会数据库46或一个或多个厂商的数据库等的可能的或公知的数据库的地址,并且可以连接到这些数据库来搜索所需的DD。框88还可以利用任何所需的搜索引擎、浏览器等来搜索所需的DD。如果需要,框88可以利用交互式屏幕与操作员交互,使操作员能够帮助在国际互联网上找到合适的DD。软件更新应用程序24还可以把各种设备厂商的相关名称列表提供给由这些厂商提供的DD数据库的国际互联网地址。
在框88找到例如HART数据库44的包含设备28的DD的数据库时,框90向HART数据库44发送请求来获取设备28的DD。这样的给HART数据库44的请求可以包含如框82获取的设备28的DD标识中包含的某些或全部信息。
如果框86确定主机系统14不能连接到国际互联网40,框92存储DD标识并周期性地检查是否可以连接到国际互联网40。可替代地,主机系统14还可以从DD提供者那里接收CD-ROM、磁盘等上的必需的DD。框94可以追踪在框92检查到国际互联网40的连接的期间过去的时间以及在预定的时间量后的超时,来终止软件更新应用程序24。
无论如何,在框90下载设备28的DD后,或在框84确定主机系统14有设备28的DD时,框96确定是否需要更新请求应用程序(例如工厂仿真应用程序18)。用户可以指定主机应用程序为了DD在必需时应该被自动地更新。可替代地,软件更新应用程序24可以被编程来使得可以把命令发送给框96,从而用所需的DD更新主机应用程序。
如果请求应用程序将使用设备28的DD进行更新,框98进行这样的更新。以设备28的DD更新请求应用程序可以包括在各种所需的位置处把设备28的DD插入到请求应用程序中。可替代地,以设备28更新应用程序可以包括在特定位置把设备28的DD保存进存储器64中,并且,在必要时,把对该特定位置的调用插入到请求应用程序中。把代码插入到软件应用程序中对于本领域技术人员是公知的,因此不在这里详细地说明。作为框98执行的更新的结果,请求应用程序能够在不必须定位设备28的DD的情况下与设备28通信,从而获得更快的性能。这样的更新还允许请求应用程序与在该请求应用程序被配置或安装在主机系统14上后被安装在加工厂10中的各种设备通信。
无论请求应用程序是否使用设备28的DD进行更新,框100可以利用设备28的DD把请求应用程序与设备28连接。应该理解,更新框96可以通过任何所需的通信网络与相对于更新应用程序24位置很远的主机应用程序通信,来以DD更新该远程应用程序。
一旦例如工厂仿真应用程序18的请求应用程序被更新,它可以在没有来自软件更新应用程序24的任何帮助的情况下,自动地连接到设备28上。然而,如果不管因为什么原因决定不以设备28的DD更新请求应用程序,框100允许请求应用程序利用保存在本地DD数据库22上的DD进行这样与设备28的连接。
尽管主机系统14在这里被示出和说明为被通过采用国际互联网协议的国际互联网通信地连接到DD数据库上,但是主机系统14可以被采用任何其它的广域通信系统或WAN连接到DD数据库上并与之通信,并且这样的WAN被看作是与国际互联网可互换的。此外,这样的WAN或国际互联网可以是或被包括为采用任何所需的无线通信协议的无线网络的一部分。
尽管前述给出了本发明的很多不同实施例的详细说明,但是应该理解,本发明的范围由在本专利申请的结尾处提出的权利要求的语句限定。因为说明每一个可能的实施例如果不是不可能的话,也将是不现实的,所以这些详细说明被看作仅是示例性的,并不说明本发明的每一个可能的实施例。利用当前技术或在本专利申请递交日期后研究的技术可以实现很多可替代的实施例,这些仍将落入限定本发明的权利要求的范围内。
因此,在不背离本发明的精神和范围的情况下,以这里说明和示出的技术和结构可以做出很多修改和变化。从而应该理解,这里说明的方法和装置仅是说明性的,并不限制本发明的范围。
权利要求
1.一种更新主机系统上运行的主机应用程序的方法,该方法包括将来自该主机系统的第一命令发送给设备,以请求设备描述标识;在该主机系统处接收该设备描述标识;利用该设备描述标识将设备描述下载到该主机系统中;和更新该主机应用程序,以包括该设备描述。
2.如权利要求1所述的方法,其中下载该设备描述包括从CD-ROM、磁盘和在线数据库中的一个下载该设备描述。
3.如权利要求1所述的方法,其中更新该主机应用程序包括把该设备描述拷贝到该主机应用程序中。
4.如权利要求1所述的方法,其中该主机系统是加工厂中使用的系统,该设备是该加工厂中使用的多个过程控制设备中的一个。
5.如权利要求1所述的方法,进一步包括基于该设备描述标识在该主机系统上搜索该设备描述。
6.如权利要求1所述的方法,其中下载该设备描述包括把该主机系统连接到通信网络;从被连接到该通信网络上的设备描述数据库请求该设备描述;和从该设备描述数据库接收该设备描述。
7.如权利要求7所述的方法,其中该设备描述数据库是现场总线数据库、Profibus数据库和HART通信基金会数据库中的一个。
8.如权利要求6所述的方法,其中下载该设备描述包括存储该设备描述数据库的国际互联网地址,以及利用国际互联网通信协议和无线通信协议中的一种连接到该设备描述数据库。
9.一种提供主机系统上运行的主机应用程序的软件更新的方法,该方法包括将第一命令发送给第一设备,以请求用于确定第一设备描述的第一设备描述标识,其中该第一设备描述被用于与该第一设备通信;在该主机系统处接收该第一设备描述标识;利用该第一设备描述标识确定该主机系统是否包括该第一设备描述;如果该主机系统没有该第一设备描述,自动地将该第一设备描述下载到该主机系统上;和用该第一设备描述更新该主机应用程序。
10.如权利要求9所述的方法,进一步包括在该主机系统上存储该第一设备描述信息。
11.如权利要求9所述的方法,进一步包括存储该第一设备描述标识,确定该主机系统是否连接到国际互联网,如果该主机系统连接到国际互联网,启动到国际互联网的连接,并把请求发送给被连接到国际互联网的设备描述数据库,以将该第一设备描述下载到该主机系统上。
12.如权利要求9所述的方法,进一步包括在该主机系统上存储把设备厂商的标识与由该设备厂商提供的设备描述数据库的国际互联网地址联系起来的列表。
13.如权利要求12所述的方法,其中该主机应用程序是下述中的一种(1)资产管理系统应用程序,(2)工厂仿真应用程序,(3)工厂维护应用程序,(4)工厂监控应用程序和(5)过程控制应用程序。
14.一种用设备的设备描述更新主机应用程序的计算机系统,该计算机系统通过通信网络连接到设备描述数据库,该计算机系统包括处理单元;计算机可读存储器;和软件程序,被存储在该计算机可读存储器上,并且适于在该处理单元上被执行,从而从设备接收设备描述标识;利用该设备描述标识从该设备描述数据库下载该设备描述,和用该设备描述更新该主机应用程序。
15.如权利要求14所述的计算机系统,其中该软件程序进一步适于在该处理单元上被执行,以利用国际互联网协议和无线通信协议中的一种下载该设备描述。
16.如权利要求14所述的计算机系统,其中该软件程序进一步适于在该处理单元上被执行,以确定该主机应用程序的DDL源,将该设备描述解释为该DDL源,并把该设备描述插入到该主机应用程序中。
17.如权利要求14所述的计算机系统,其中该主机应用程序是下述中的一种(1)资产管理系统应用程序,(2)工厂仿真应用程序,(3)工厂维护应用程序,(4)工厂监控应用程序和(5)过程控制应用程序。
18.如权利要求14所述的计算机系统,其中该软件程序进一步适于更新被设置在通信地连接到该计算机系统的远程计算机上的远程主机应用程序。
19.一种在具有多个设备以及需要与所述多个设备通信的一个或多个过程应用程序的加工厂中使用的计算机系统,该计算机系统包括通信模块,适于从所述多个设备中的一个请求设备描述标识;存储模块,适于存储该设备描述标识;搜索模块,适于搜索设备描述数据库,该设备描述数据库存储有由该设备描述标识确定的设备描述;下载模块,适于从该设备描述数据库下载设备描述;和更新模块,适于用该设备描述更新该一个或多个过程应用程序中的一个。
20.如权利要求19所述的计算机系统,其中该下载模块利用国际互联网协议与该设备描述数据库通信。
全文摘要
一种软件更新系统,使用户能够自动地确定并获取应用程序所使用的设备描述并用该设备描述更新该应用程序。该系统与设备通信来获取指定与该设备通信所需要的设备描述的设备描述标识信息。一旦获取该设备描述标识,该系统从连接到例如国际互联网上的设备描述数据库下载该设备描述。随后,该系统用该设备描述更新该应用程序,从而使该应用程序可以与该设备通信。
文档编号G06F9/445GK1849582SQ200480025938
公开日2006年10月18日 申请日期2004年8月16日 优先权日2003年9月25日
发明者格雷格·奥菲姆 申请人:费舍-柔斯芒特系统股份有限公司