为运行时间动作期间的部署监视应用程序状态的制作方法

文档序号:12733125阅读:186来源:国知局
为运行时间动作期间的部署监视应用程序状态的制作方法与工艺

本发明的各方面一般涉及监视和/或控制工业处理中的部件的处理器可执行应用程序的开发和配置。更特别地,本发明的各方面涉及用于监视运行时间动作期间的应用程序的部署的系统和方法。



背景技术:

控制系统开发环境允许在工业处理中的控制部件上对运行时间环境配置、开发和部署应用程序。常规的系统和方法依赖于人(例如,程序员、操作员等),以在开始部署之前手动确定受即将发生的应用程序部署影响的工业过程的多个部分是否处于安全状态中。依赖于手动确定由于情非得已地关断动作以部署应用程序更新而导致处理动作效率低下,并且/或者,当关于处理状态的确定不正确时,导致处理失效。



技术实现要素:

本发明的各方面提供开发环境与运行时间环境之间的交互作用,以确保受影响的过程部件在部署应用程序更新之前处于可接受的状态中。

在一个方面中,系统包括通过通信网络与控制设备耦合的服务器计算设备。控制设备被配置为执行处理器可执行指令以提供运行时间环境。系统还包括存储于计算机可读存储介质上的处理器可执行指令。当通过服务器计算设备执行时,处理器可执行指令的指令提供与运行时间环境相关的开发环境和开发环境内的应用程序对象的实例。开发环境基于在运行时间环境中执行的应用程序对象的实例的动作状态与在在运行时间环境内执行的应用程序对象的实例内执行的部署状态监视器交互作用,以在部署更新之前确定控制设备何时处于安全状态。

在另一方面中,在运行时间动作期间部署应用程序对象的更新的方法包括通过存储于控制设备的计算机可读存储介质上的处理器可执行指令在运行时间环境内执行部署状态监视器。控制设备通过通信介质与计算设备耦合。计算设备被配置为通过存储于计算设备的计算机可读存储介质上的处理器可执行指令提供与运行时间环境相关的开发环境。所述方法还包括通过处理器可执行指令在开发环境内提供应用程序对象的实例。并且,所述方法包括对在运行时间环境内执行的应用程序对象的实例,在开发环境内发起应用程序对象的更新的部署。部署状态监视器基于在运行时间环境内执行的应用程序对象的实例的动作状态与在运行时间环境内执行的应用程序对象的实例交互作用,以确定控制设备何时处于部署的安全状态。所述方法还包括响应于交互作用,通过通信介质在运行时间环境中部署更新。

在又一方面中,系统包括控制器和计算设备。控制器与工业过程耦合并且包含执行处理器可执行指令以提供运行时间执行环境的处理器。计算设备通过通信网络与控制器耦合并且包含执行处理器可执行指令以提供与运行时间环境相关的开发环境的处理器。包含在运行时间环境内执行的部署状态监视器的处理器可执行指令被配置为基于在运行时间环境内执行的应用程序对象的动作状态与包含在运行时间执行环境内执行的应用程序对象的处理器可执行指令交互作用,以在将应用程序对象的更新从开发环境部署到运行时间执行环境之前确定何时控制器处于安全状态。

其它目的和特征将在以下部分地被指出和部分地变得清晰。

附图说明

图1示出可加入本发明的各方面的示例性工业过程系统。

图2示出根据本发明的实施例的被编程为提供开发环境与运行时间环境之间的交互作用的计算设备的示例性构架。

图3示出用于在图形上代表本发明的各方面的示例性功能框图。

图4示出根据本发明的各方面的从开发环境到运行时间环境的应用程序更新的示例性部署。

图5~8示出根据本发明的各方面的部署状态监视器的示例性动作。

相应的附图标记在所有的附图中表示相应的部分。

具体实施方式

图1示出可加入本发明的实施例的示例性系统100。系统100包括配置设备102、监督设备104、通信基础设施106和诸如流体处理系统108的示例性工厂。如图所示,流体处理系统108包含过程控制器110、罐体112、阀114、传感器116和泵118。在系统100中,配置设备102、监督设备104、过程控制器110、罐体112、阀114、传感器116和泵118通过通信基础设施106被通信耦合。

配置设备102适于提供使得能够设计、开发和部署应用程序的开发环境,这些应用程序由过程控制器110执行以控制流体处理系统108的各方面。在图1的示例性实施例中,如这里进一步描述的那样,配置设备102执行在存储设备上体现的处理器可执行指令,以通过软件环境提供开发环境和其它能力。在实施例中,配置设备102是能够执行处理器可执行指令的任何计算设备,包含但不限于一个或更多个服务器。

监督设备104适于使得能够管理应用程序。在实施例中,监督设备104执行在存储设备上体现的处理器可执行指令,以提供人机界面(HMI)应用程序管理器。例如,监督设备104的各方面可提供有利于监视和管理制造过程的流体处理系统108的部件的图示。在实施例中,HMI被配置为与过程控制器110中的更新逻辑交互作用以向用户警告或提示更新并且在需要的情况下提供操作员反馈。示例性HMI应用程序管理器是可从Schneider Electric得到的Wonderware System Platform。在另一实施例中,应用程序管理的各方面由配置设备102提供。

通信基础设施106能够有利于包括配置设备102、监督设备104和流体处理系统108的部件(例如,过程控制器110、阀114、传感器116等)的系统100的各种部件之间的数据交换。图1的实施例中的通信基础设施106包含可与其它电信网络连接的局域网络(LAN),包含因特网或内联网的其它LAN或多个部分。例如,通信基础设施106可以是有利于数据的交换的任何电信网络,诸如根据IEEE 802.3动作的那些(例如,Ethernet)和/或根据IEEE 802.11动作的那些(例如,Wi-Fi)。在另一实施例中,通信基础设施106可以是允许通过串行或并行通信信道(例如,铜、导线、光纤、计算机总线、无线通信信道等)物理传送数据的任何介质。在实施例中,通信基础设施106至少在一部分上包含过程控制网络。

仍然参照图1,流体处理系统108适于改变或者提炼原材料以创建最终产品。本领域技术人员可以理解,本发明的各方面能够优化流体处理系统108以外的过程和处理系统,并且,系统108仅是出于解释的目的给出的。附加的示例性过程包括但不限于化学、石油和天然气、食品和饮料、制药、水处理和电力工业中的那些。例如,过程可包含传输器、电力分布系统和/或不能中断的过程或动作。在实施例中,过程控制器110提供流体处理系统108的部件(例如,阀114、传感器116、泵118)与系统100的其它部件(例如,配置设备102、监督设备104)之间的接口或网关。在另一实施例中,流体处理系统108的部件通过通信基础设施106直接与配置设备102和监督设备104通信。在又一实施例中,过程控制器110向/从配置设备102、监督设备104、阀114、传感器116和/或泵118传送/接收用于控制和/或监视流体处理系统108的各种方面的数据。

图1的过程控制器110适于控制和/或监视流体处理系统108的各方面。在实施例中,过程控制器110是控制流体处理系统108的各方面并且从中收集数据的可编程逻辑控制器(PLC)。

图2示出配置设备102和过程控制器110中的一个的示例性配置控制器结构。在本实施例中,配置设备102包含处理器202、存储器204和适于与通信基础设施106连接的输入/输出(I/O)接口206。存储器204包含开发环境208,该开发环境208进一步包含示为应用程序对象210-A的应用程序对象210。本实施例中的过程控制器110还包含处理器124、存储器126和适于与通信基础设施106连接的I/O接口218。存储器216包含运行时间环境220,该运行时间环境220进一步包含示为应用程序对象210-B的应用程序对象210和部署状态监视器212。

进一步参照图2,处理器202、存储器204和I/O接口206相互通信连接和/或电连接。I/O接口206与通信基础设施106通信和/或电连接。处理器202适于执行存储于存储器204中的用于实现开发环境208和/或应用程序对象210的处理器可执行指令。类似地,处理器214、存储器216和I/O接口218相互通信连接和/或电连接。I/O接口218与通信基础设施106通信和/或电连接。处理器214适于执行存储于存储器216中的用于实现运行时间环境220、应用程序对象210和/或部署状态监视器212的处理器可执行指令。

图2的I/O接口206、218分别适于提供通信基础设施106与任意的配置设备102或过程控制器110之间的数据连接。在本发明的实施例中,I/O接口206、218是网络接口卡(NIC)或调制解调器。在另一实施例中,I/O接口206、218分别适于提供用户输入设备和任意的配置设备102或过程控制器110之间的数据连接。示例性用户输入设备包含但不限于键盘、鼠标和触摸板。图2的I/O接口206、218分别例如是允许通过串行或并行通信信道物理传送数据的集成电路。

图2的也称为配置环境的开发环境208适于使得能够设计、开发和部署由过程控制器110执行以控制流体处理系统108的各方面的应用程序(例如,应用程序对象210)。在实施例中,开发环境208是集成开发环境(IDE)。在另一实施例中,开发环境208的各方面将固件、配置性能和应用程序(即,程序)下载到过程控制器110。开发环境208的各方面还可为了在线调试在过程控制器110上读取和/或写入与运行时间环境220相关的运行时间值。根据本发明的附加的实施例,开发环境208还可与在部署动作中与部署状态监视器218相关的逻辑交互作用,以控制和/或监视应用程序对象210的状态。

应用程序对象210适于代表物理或虚拟控制系统元件、硬件部件和/或其它控制结构。在实施例中,应用程序对象210是代表流体处理系统108的某部件(例如,罐体112、阀114、传感器116和/或泵118中的一个)的软件代码(例如,处理器可执行指令)和/或数据容器。例如,应用程序对象210可代表流体处理系统108的物理部件的输入、输出、结构属性和/或功能属性。在这里描述的某些实施例中,应用程序对象210-A指的是在开发环境208中体现的应用程序对象,并且,应用程序对象210-B指的是在运行时间环境220中执行的应用程序对象。在根据本发明的各方面的另一实施例中,应用程序对象210-B包含可用于使自身迁移到诸如IDLE和STOP等的对于部署和/或重复部署动作的安全状态的代码(例如,处理器可执行指令)。在又一实施例中,应用程序对象210-B可基于监视的条件拒绝请求的部署动作或者中止当前的部署动作。例如,如这里进一步描述的那样,如果部署动作正在进行中而罐体(例如,罐体112中的一个)要溢出,那么高级状态可中止部署。在其它的实施例中,应用程序对象210-B利用超时、用户干预、部署优先级、调度和条件监视等。

部署状态监视器212适于在没有用户介入的情况下提供开发环境208与运行时间环境220之间的交互作用,以确保由应用程序对象210代表(并由此由过程控制器110控制和/或监视)的流体处理系统108的部件在将应用程序对象210的更新从开发环境208部署到运行时间环境220之前处于安全状态。在示例性实施例中,部署状态监视器212在部署动作中管理应用程序对象210的动作状态。如上面解释的那样,应用程序对象210-A的代码和配置数据在部署动作中从开发环境208被传送到在运行时间环境220中执行的应用程序对象210-B。在实施例中,如这里进一步描述的那样,部署状态监视器212包含具有作为应用程序对象210-B的一部分在过程控制器110的运行时间环境220中执行的相关参数的部署功能块。在另一实施例中,部署状态监视器212适于在配置设备102、监督设备104、可编程逻辑控制器(PLC)、分布控制系统(DCS)、远程遥测单元(RTU)和嵌入的控制器之间提供无缝集成。在又一实施例中,部署状态监视器212通过与过程控制器110相关的应用程序编程接口(API)提供开发环境208与运行时间环境220之间的交互作用。根据本发明的其它方面,部署状态监视器212适于提供防止可能中断过程控制动作的增量部署动作的安全机制。

图3示出部署状态监视器212即部署功能块300的示例性功能框图。在实施例中,部署功能块300描述部署状态监视器212的输入变量与输出变量之间的功能。部署功能块300可被用于代表开发环境208中的部署状态监视器212的各方面。例如,在开发环境208通过图形用户界面(GUI)提供流体处理系统108的各方面的图示的实施例中,部署功能块300经由GUI提供部署状态监视器212的图示。在另一实施例中,部署功能块300经由GUI在图形上代表部署状态监视器212,以使得能够实现部署状态监视器212的各方面的图形配置。根据本发明的各方面,部署功能块300可以在与图形设计环境相关的标准库中是可用的。

根据本发明的各方面,部署功能块300包含实现部署状态监视器212的相关的代码(例如,包含程序的处理器可执行指令)。在实施例中,代码包含含有处理部署动作的逻辑的程序定义。示例性代码包含于附录A中。本领域技术人员可以理解,部署功能块300是示例性图形语言设计,并且,部署状态监视器212也可由利用梯形逻辑、顺序功能图、结构化文本和指令列表等的相应语言结构代表。在图3所示的实施例中,部署功能块300包含CMD参数302、READY(准备好)参数304、ABORT(中止)参数306、LOCK(锁定)参数308、REQ(请求)参数310和FORCE(强制)参数312。

CMD参数302适于有利于其它参数、部署过程和/或HMI(例如,监督设备104)之间的交互作用。在实施例中,CMD参数302是通过部署过程监视和设定(例如,从开发环境208到运行时间环境220部署应用程序对象210)的16位整数值。在本实施例中,部署过程使用低的字节以请求与部署功能块300相关的某应用程序对象210的部署。并且,在本实施例中,由实现部署状态监视器212的程序使用高的字节以返回由READY参数304、ABORT参数306和LOCK参数308设定的状态。在系统平台支持8位值的实施例中,CMD参数302可分成两个值(例如,一个读取值,一个写入值)。在系统平台支持更大的位值(例如,32位、64位等)的实施例中,为了所有平台上的一致的动作,本发明的各方面将CMD参数302限制到16位值。

READY参数304适于提供在运行时间环境中执行的应用程序对象针对部署动作准备好了的指示。在实施例中,当在环境220中执行的应用程序对象210-B为部署动作准备好了时,READY参数304是设定为ON(例如,TRUE)值的Boolean值,以修改应用程序对象210-B来反映对应用程序对象210-A进行的改变。可对正部署的特定应用程序对象210监视READY参数304。在另一实施例中,通过CMD参数302的高字节从通知应用程序对象210-B的状态的部署过程的应用程序对象210-B的代码(例如,处理器可执行指令)内设定READY参数304。

ABORT参数306适于提供中止部署动作的请求。在实施例中,ABORT参数306是Boolean值。例如,在修改应用程序对象210-B以反映对应用程序对象210-A进行的改变的部署动作正在进行的实施例中,被设定为ON的ABORT参数306将中止部署动作。在实施例中,与ABORT参数306和REQ参数310连接的接口针使得能够在对象实例水平处中止部署动作。在本实施例中,REQ参数310提示用户(例如,经由GUI)输入以或者中止或者继续部署。代表应用程序对象210的对象符号改变以通知用户输入,并且,在对象的面板上提供通知以及中止或就绪响应。在另一实施例中,经由CMD参数302的高字节从通知应用程序对象210-B的状态的部署过程的应用程序对象210-B的代码(例如,处理器可执行指令)内设定ABORT参数306。

LOCK参数308适于防止在过程控制器110上执行的应用程序对象210-B的修改(例如,经由部署动作)。在实施例中,LOCK参数308是在体现应用程序对象210的程序的下载期间防止可由于过程控制器110延长执行时间而中断应用程序对象210的安全动作的部署动作的Boolean值。例如,当包含请求部署动作的某应用程序对象210-B的过程控制器110执行时间关键动作时,被设定为ON的LOCK参数308将防止时间关键动作期间的应用程序对象210-B的修改。在实施例中,对在过程控制器110上执行的所有应用程序对象210-B监视LOCK参数308。在这种实施例中,即使作为部署动作的主题的应用程序对象210-B不负责时间关键动作,也仍通过LOCK参数308防止部署动作。因此,本领域技术人员可以理解,在与控制器上的应用程序对象210相关的任何部署功能块300具有设定为ON的LOCK参数308时,防止部署动作修改过程控制器110。

在另一实施例中,当相关的物理部件正在执行时间关键动作时,诸如在监视可在延伸的扫描循环中错失的瞬时位置反馈时,从应用程序对象210的代码内设定LOCK参数308。在又一实施例中,通过CMD参数302的高字节从通知应用程序对象210-B的状态的部署过程的应用程序对象210-B的代码(例如,处理器可执行指令)内设定LOCK参数308。

图3的REQ参数310适于提供部署动作被发起的指示。在实施例中,REQ参数308是Boolean值。在示例性实施例中,通过部署动作设定CMD参数302的低字节,以指示部署动作被发起。在与部署动作相关的过程控制器110上执行的部署状态监视器212监视CMD参数302以将REQ参数310设定为ON。在另一实施例中,部署功能块300的实例将输出的REQ参数310设定为TRUE(例如,ON)以通知应用程序对象210-B部署已被请求。在本实施例中,应用程序对象210-B负责将READY参数304设定为ON(例如,通过处理器可执行指令),以指示应用程序对象210-B何时处于部署和/或重复部署动作的就绪状态。

FORCE参数312适于提供高优先级部署动作的指示。在实施例中,FORCE参数312是Boolean值。在示例性实施例中,通过部署动作设定CMD参数302的低字节,以指示高优先级(例如,时间关键、过程关键等)部署动作已被发起。在与部署动作相关的过程控制器110上执行的部署状态监视器212监视CMD参数302以将FORCE参数312设定为ON。在另一实施例中,部署功能块300的实例将输出的FORCE参数312设定为TRUE(例如,ON)以通知应用程序对象210-B已通过部署过程请求强制的部署动作从而以更大的紧迫感改变动作状态。在本实施例中,应用程序对象210-B负责及时地通过将FORCE参数312设定为ON(例如,经由处理器可执行指令)响应该请求。

在实施例中,部署过程与被部署为通知部署动作已被发起的各部署功能块300实例通信。该通知通过各块300的CMD参数的低字节被发送到各部署功能块300实例。部署功能块300实例将其REQ参数310设定为TRUE以通知相应的应用程序对象210-B部署已被请求。在另一实施例中,部署过程在部署期间监视所有部署功能块300实例的CMD参数302的值以确定部署动作何时可更新各应用程序对象210-B的运行程序以及部署是否由于运行程序内的动作条件而需要中止。

图4示出包含对于应用程序对象210的更新的部署动作的示例性过程,其中,部署状态监视器212提供开发环境208与运行时间环境220之间的交互作用。在实施例中,为了最终在处理系统(例如,流体处理系统108)的相应部件中改变应用程序对象210-A的一个或更各方面,用户改变这些方面(例如,经由GUI功能框图)。然后,为了将对应用程序对象210-A进行的改变部署到在过程控制器110上的运行时间环境220中执行的应用程序对象210-B,用户发起更新。在示例性实施例中,更新体现为扩展标记语言(XML)文件。在步骤402中,在开发环境208中执行的部署状态监视器212设定运行时间值以通知在运行时间环境220中执行的应用程序对象210-B对于应用程序对象的更新已被发起。在实施例中,如这里进一步描述的那样,步骤402由REQ参数310实现。

进一步参照图4,在步骤404中,应用程序对象210-B针对未决的更新监视通信基础设施106,并且采取行动以为更新做准备(例如,关掉过程动作)。例如,在图1的过程控制器110-A上执行的应用程序对象210-B可打开阀114-A并且关断泵118。在步骤406中,应用程序对象210-B向部署状态监视器212指示是否它为接受更新准备好了。例如,应用程序对象210-B可指示它当前正在执行过程并且不能接受更新,或者它准备好了接受更新但在同一过程控制器上的运行时间环境中执行的另一应用程序对象正在执行关键过程并因此不能接受更新。在实施例中,如这里进一步描述的那样,步骤406由READY参数304和/或LOCK参数308实现。在步骤408中,部署状态监视器212给出所有受影响程序的显示以识别防止发起更新的条件。例如,开发环境208中的图形功能框图可经由GUI在图形上向用户表示泵118正在执行防止更新的过程。在另一实施例中,开发环境在图形上给出没有为部署的变化准备好的应用程序对象210的列表。

在步骤410中,当例如由应用程序对象210-B控制的过程部件可在不负面地影响处理系统的情况下处理更新周期中的中断时,应用程序对象210-B向部署状态监视器212返回已准备好接受更新的指示。在实施例中,如这里进一步描述的那样,步骤410由READY参数304实现。在步骤412中,当所有受影响程序返回就绪指示时,部署状态监视器212继续发起的更新。例如,当所有受影响应用程序对象210-B使得其READY参数304被设定为ON时,部署状态监视器212开始更新。

图5示出本发明的各方面的示例性动作。在实施例中,为了最终在处理系统(例如,流体处理系统108)的相应部件中改变应用程序对象210-A的一个或更各方面,用户改变这些方面(例如,经由GUI功能框图)。然后,为了将对应用程序对象210-A进行的改变部署到在过程控制器110上的运行时间环境220中执行的应用程序对象210-B,用户发起更新。在实施例中,更新体现为XML文件。在步骤502中,部署状态监视器212的CMD参数302的低字节向部署状态监视器212指示部署动作已被发起。在步骤504中,部署状态监视器212将REQ参数310的值设定为ON以通知应用程序对象210-B部署已被请求。在步骤506中,应用程序对象210-B然后将READY参数304的值设定为ON以通知部署状态监视器212可进行更新。在步骤508中,响应于ON参数,配置环境208发起将对于应用程序对象210的更新部署到运行时间环境220。在另一实施例中,在步骤510中,应用程序对象210-B然后将ABORT参数306的值设定为ON以通知部署状态监视器212更新已被中止。

图6示出本发明的各方面的另一示例性动作。在实施例中,为了最终在处理系统(例如,流体处理系统108)的相应部件中改变应用程序对象210-A的一个或更各方面,用户改变这些方面(例如,经由GUI功能框图)。然后,为了将对应用程序对象210-A进行的改变部署到在过程控制器110上的运行时间环境220中执行的应用程序对象210-B,用户发起更新。在实施例中,更新体现为XML文件。在步骤602中,开发环境208与部署状态监视器212的逻辑交互作用以通知部署状态监视器212已通过部署状态监视器212的CMD参数302的低字节发起部署动作。在步骤604中,部署状态监视器212将REQ参数310的值设定为ON以通知应用程序对象210-B部署已被请求。应用程序对象210-B然后在步骤606中将LOCK参数308的值设定为ON以向部署状态监视器212通知过程控制器110正在执行关键动作并且更新不能在当前时间进行。在实施例中,在同一运行时间环境220中的应用程序对象210-B之间的关系分析之后,LOCK参数308的值被设定为ON。在将来的时间,应用程序对象210-B在步骤608中将LOCK参数308的值设定为OFF以向部署状态监视器212通知过程控制器110不再执行关键动作。应用程序对象210-B然后在步骤610中将READY参数304的值设定为ON以向部署状态监视器212通知更新可进行。部署状态监视器212然后在步骤612中发起对应用程序对象210-B的更新的部署。

图7示出本发明的多个面的另一示例性动作。在实施例中,为了最终在处理系统(例如,流体处理系统108)的相应部件中改变应用程序对象210-A的一个或更各方面,用户改变这些方面(例如,经由GUI功能框图)。然后,为了将对应用程序对象210-A进行的改变部署到在过程控制器110上的运行时间环境220中执行的应用程序对象210-B,用户发起更新。在实施例中,更新体现为XML文件。在步骤702中,部署过程通知部署状态监视器212已通过部署状态监视器212的CMD参数302的低字节发起高优先级部署动作。在步骤704中,部署状态监视器212接收部署优先级的指示。在实施例中,由包含中间范围值50(例如,使操作员选择是否现在更新)的从1(例如,可在任何时间发生更新)到100(例如,更新是关键的并且必须现在发生)的范围的值表示部署优先级。在另一实施例中,部署优先级包含基于部署就绪状态调度的部署。在步骤706中,部署状态监视器212将FORCE参数312的值设定为ON以向应用程序对象210-B通知高优先级部署。应用程序对象210-B然后在步骤708中及时地将READY参数304的值设定为ON,以通知部署状态监视器212更新可进行。部署状态监视器212然后在步骤710中发起对应用程序对象210-B的高优先级更新的部署。

图8示出本发明的各方面的另一示例性动作。在实施例中,为了最终在流体处理系统108的相应部件(例如,阀114)中改变多个应用程序对象210-A的一个或更各方面,用户改变这些方面(例如,经由GUI功能框图)。然后,为了将对应用程序对象210-A进行的改变部署到在多个过程控制器110上的运行时间环境220中执行的应用程序对象210-B,用户发起更新。在实施例中,更新体现为XML文件。在步骤802中,向应用程序对象210-B通知由部署状态监视器212请求的部署。在步骤804中,部署状态监视器212确定受更新影响的处理系统的多个部分是否能够在此时接受更新。例如,如果潜在的变化影响任何过程控制器110上的运行的过程,那么可防止部署。在实施例中,检测异常控制器和网络行为的逻辑通过部署状态监视器212被自动嵌入到控制代码中,以保护设备并且提高总体系统可靠性。当部署状态监视器212确定受影响的部分不能接受更新时,处理停在步骤804。当部署状态监视器212确定受影响的部分可接受更新时,它在步骤806中同时将更新部署到所有受影响的过程控制器110。在实施例中,当流体处理系统108在线时部署更新。然后,一旦过程控制器110已被更新,部署状态监视器212就在步骤808中将更新部署到监督设备104(例如,HMI)。

本发明的各方面可通过使用Linux Runtime Engine加入Internet of Things(IoT)设备和PLC共处理器模块。本发明的各方面还可经由逗号分隔值(CSV)导入实用程序导入计算机辅助绘图(CAD)、I/O电子表格和设备数据库等。另外,可对先进双向配置用XML输入和输出扩展本发明的各方面。本发明的其它方面可经由XML与其它应用程序(例如,可从Schneider Electric得到的Wonderware Intelligence)集成以实现标准化系统的全部的潜力。并且,本发明的各方面可创造批处理阶段(例如,可从Schneider Electric得到的Wonderware InBatch)。本发明的各方面还提供多用户和版本管理能力。

如以下更详细描述的那样,本发明的实施例可包括包含各种计算机硬件的专用计算机。

本发明的范围内的实施例还包括用于承载或具有存储于其上面的计算机可执行指令或数据结构的计算机可读介质。这种计算机可读介质可以是可通过专用计算机访问的任何可用的介质。作为例子而不是限制,这种计算机可读介质可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备或可用于承载或存储计算机可执行指令或数据结构的形式的希望的程序代码手段并且可被通用或者专用计算机访问的任何其它介质。当在网络或与计算机的另一通信连接(任意地硬接线、无线、或者硬接线或无线的组合)上传送或者提供信息时,计算机适当地将连接视为计算机可读介质。因此,任何这种连接被适当地称为计算机可读介质。以上的组合也应包含于计算机可读介质的范围内。计算机可执行指令包含例如导致通用计算机、专用计算机或者专用处理设备执行某个功能或者一组功能的指令和数据。

以下的讨论要提供可实现本发明的各方面的适当计算环境的简要一般描述。虽然不需要,但是将在由网络环境中的计算机执行的诸如程序模块的计算机可执行指令的语境中描述本发明的各方面。一般地,程序模块包含执行特定任务或实现特定的抽象数据类型的例程、程序、对象、部件、数据结构等。计算机可执行指令、相关的数据结构和程序模块代表用于执行这里公开的方法的步骤的程序代码手段的例子。这种可执行指令或相关的数据结构的特定序列代表用于实现在这些步骤中描述的功能的相应的作用的例子。

本领域技术人员可以理解,可通过包括个人计算机、手持设备、多处理器系统、基于微处理器的或者可编程的消费者电子产品、网络PC、迷你计算机和主机计算机等的许多类型的计算机系统配置在网络计算环境中实施本发明的各方面。也可在借助于通过通信网络链接(任意地通过硬接线链接、无线链接、或者硬接线或无线链接的组合)的本地或者远程处理设备执行任务的分布式计算环境中实施本发明的各方面。在分布式计算环境中,程序模块可位于本地和远程存储器设备中。

用于实现本发明的各方面的示例性系统包括常规计算机的形式的专用计算设备,包括处理单元、系统存储器、以及耦合包含系统存储器的各种系统部件与处理单元的系统总线。系统总线可以是几种类型的总线结构中的任一种,包含存储器总线或者存储器控制器、外设总线和利用各种总线结构中的任一种的本地总线。系统存储器包含只读存储器(ROM)和随机存取存储器(RAM)。包含诸如在启动时帮助在计算机内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)可存储于ROM中。并且,计算机可包含能够关于因特网无线接收或传送IP地址的任何设备(例如,计算机、膝上型计算机、平板电脑、PDA、手机、移动电话和智能电视等)。

计算机还可包含用于关于硬磁盘读写的硬磁盘驱动、用于关于可去除磁盘读写的磁盘驱动、以及用于关于诸如CD-ROM或其它光学介质的可去除光盘读写的光盘驱动。硬磁盘驱动、磁盘驱动和光盘驱动分别通过硬盘驱动接口、磁盘驱动接口和光学驱动接口与系统总线连接。驱动和它们的相关的计算机可读介质提供计算机可执行指令、数据结构、程序模块和计算机的其它数据的非易失性存储器。虽然这里描述的示例性环境使用硬磁盘、可去除磁盘和可去除光盘,但是可以使用用于存储数据的其它类型的计算机可读介质,包括磁盒、快擦写存储卡、数字视频盘、Bernoulli盒、RAM、ROM和固态硬盘(SSD)等。

计算机一般包括各种计算机可读介质。计算机可读介质可以是可通过计算机访问的任何可用介质,并且包含易失性和非易失性介质、可去除和不可去除介质。作为例子而不是限制,计算机可读介质可包含计算机存储介质和通信介质。计算机存储介质包含通过用于存储诸如计算机可读指令、数据结构、程序模块和其它数据的信息的任何方法或技术实现的易失性和非易失性、可去除和不可去除介质。计算机存储介质是非暂时性的,并且包含但不限于RAM、ROM、EEPROM、快擦写存储器或其它存储器技术、CD-ROM、数字万用盘(DVD)或其它光盘存储、SSD、磁盒、磁带、磁盘存储器或其它磁存储设备或者可通过计算机访问的可用于存储希望的非暂时性信息的任何其它介质。作为替代方案,通信介质一般体现计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据,并且包含任何信息传输介质。

包含一个或更多个程序模块的程序代码手段可存储于硬盘、磁盘、光盘、ROM和/或RAM上,包含操作系统、一个或更多个应用程序、其它程序模块和程序数据。用户可通过键盘、指向设备或诸如麦克风、操纵杆、游戏垫、卫星碟或扫描仪等的其它输入设备将命令和信息键入到计算机中。这些和其它输入设备常常通过与系统总线耦合的串行端口接口与处理单元连接。作为替代方案,可通过诸如并行端口、游戏端口或者通用串行总线(USB)的其它接口连接输入设备。监视器或另一显示设备也通过诸如视频适配器48的接口与系统总线连接。除了监视器以外,个人计算机一般包含其它外设输出设备(未示出),诸如扬声器和打印机。

本发明的一个或更各方面可作为应用程序、程序模块和/或程序数据体现于存储于系统存储器或非易失性存储器中的计算机可执行指令(即,软件)、例程或功能中。软件可替代地被远程存储,诸如存储于具有远程应用程序的远程计算机上。一般地,程序模块包含当通过计算机或其它设备中的处理器执行时执行特定的任务或者实现特定的抽象数据类型的例程、程序、对象、部件、数据结构等。计算机可执行指令可存储于一个或更多个可触知的非暂时性计算机可读介质(例如,硬盘、光盘、可去除存储介质、固态存储器、RAM等)上并且由一个或更多个处理器或其它设备执行。本领域技术人员可以理解,可在各种实施例中如希望的那样组合或者分布程序模块的功能。另外,功能可总体或者部分地体现于诸如集成电路、应用特定集成电路和现场可编程门阵列(FPGA)等的固件或者硬件等同物中。

计算机可通过使用与一个或更多个远程计算机的逻辑连接在联网环境中动作。远程计算机可分别是另一个人计算机、平板计算机、PDA、服务器、路由器、网络PC、对等设备或其它共用网络节点,并且一般包含以上关于计算机描述的要素中的许多或者全部。逻辑连接包含这里作为例子而不是限制给出的局域网络(LAN)和广域网络(WAN)。这种联网环境在办公室范围或者企业范围的计算机网络、内联网和因特网中是常见的。

当用于LAN联网环境中时,计算机通过网络接口或适配器与局域网络连接。当用于WAN联网环境中时,计算机可包含调制解调器、无线链路或用于在诸如因特网的广域网络上建立通信的其它手段。可以处于内部或外部的调制解调器通过串行端口接口与系统总线连接。在联网环境中,关于计算机示出的程序模块或者其多个部分可存储于远程存储器设备中。应当理解,所示的网络连接是示例性的,并且,可以使用在广域网络上建立通信的其它手段。

优选地,计算机可执行指令存储于诸如硬盘驱动的存储器中,并且由计算机执行。有利地,计算机处理器具有实时执行所有动作(例如,执行计算机可执行指令)的能力。

除非另外规定,否则这里示出和描述的本发明的实施例中的动作的执行或者实行的次序不是必须的。即,除非另外规定,否则可安装任何次序执行动作,并且,本发明的实施例可包含与这里公开的动作相比更多或更少的动作。例如,可以设想,在另一动作之前、同时或者之后执行或者实行特定的动作处于本发明的各方面的范围内。

可通过计算机可执行指令实现本发明的实施例。计算机可执行指令可组织成一个或更多个计算机可执行部件或模块。可通过这种部件或模块的任意数量或组织实现本发明的各方面。例如,本发明的各方面不限于特定计算机可执行指令或在附图中示出或者在这里描述的特定部件或模块。本发明的其它实施例可包含与这里示出和描述的功能相比具有更多或更少的功能的不同计算机可执行指令或部件。

当介绍本发明或者其实施例的各方面的要素时,冠词“一个”、“一种”、“该”和“所述”想要意指存在一个或更多个要素。术语“包括”、“包含”和“具有”想要是开放性的,并且意指存在所列要素以外的附加要素。

已详细描述了本发明的各方面,但应理解,在不背离在所附的权利要求中限定的本发明的各方面的范围的情况下,修改和变更是可能的。由于可在不背离本发明的各方面的范围的情况下对以上的结构、产品和方法提出各种变化,因此包含于以上的描述中以及在附图中表示的所有事项应解释为解释性的而不是限制性的。

附录A

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