过程控制器及其更新方法_2

文档序号:8472434阅读:来源:国知局
单元43的程序以及用于实现应用44的程序在其中运行的虚拟硬件。虚拟机VMll包括与实际装置RDll相关的虚拟装置VDllo虚拟机VM12是操作系统45和通信中继单元46在其中运行的虚拟硬件。虚拟机VM12包括与实际装置RD12相关的虚拟装置VD12。S卩,超级监视器41管理替代硬件HWl而虚拟地运行的虚拟机VMll和VMl2。
[0040]如图1所示,超级监视器41包括通信单元41a和VM迀移指令接收单元41b。通信单元41a实现虚拟机VMll与虚拟机VMl2之间的通信。由于通信单元41a是超级监视器41中的虚拟通信路径,因此可以执行不取决于与外部通信的兼容性的通信方法。例如,虚拟机VMll和虚拟机VM12 —对一连接。取而代之,可以在共享存储器中复制通信内容以降低通信开销并使实现简化。
[0041]VM迀移指令接收单元41b接收指令(实时迀移(live migrat1n)指令)以将所分配的虚拟机迀移至另一超级监视器。“实时迀移”是指用于迀移虚拟机运行的地方的技术。实时迀移是通过以下操作来执行的:中止虚拟机的操作,复制包括通信状态在内的虚拟机的整体内部状态,通过使用所复制的内部状态来在目的地虚拟机中重新开始虚拟机的操作。从外部看来,虚拟机运行的地方被迀移至另一地方而无需停止和初始化。在本实施例中,由保存单元43执行实时迀移指令。
[0042]静态操作系统42在虚拟机VMll中运行。静态操作系统42提供保存单元43和应用44的运行环境。静态操作系统42管理OS资源对象。静态操作系统42是预先分配运行保存单元43和应用44所需的OS资源对象的操作系统。预先分配的OS资源对象包括共享存储器、任务、信号量(semaphore)、网络连接等。在静态操作系统42运行之前,通过使用配置器(用于分配OS资源对象的工具)来执行OS资源对象的分配。
[0043]静态操作系统42包括对静态操作系统42进行初始化的初始化单元42a。在保存单元43和应用44运行之前,初始化单元42a通过执行以下所述的执行任务来对静态操作系统42进行初始化。
[0044](a)对OS资源对象进行初始化。
[0045](b)建立应用44的有状态通信路径。
[0046]静态操作系统42的状态根据控制器20a的操作状态进行转变。图2是第一实施例中的静态操作系统的状态转变图。如图2所示,静态操作系统42的状态包括OS无载状态STl、OS初始化状态ST2 (第一状态)和OS资源对象正被使用的状态ST3 (第二状态)。
[0047]OS无载状态STl是紧接在控制器20a通电、引导超级监视器41以及虚拟机VMll和VM12以及加载静态操作系统42之前的状态。OS初始化状态ST2是对静态操作系统42进行初始化并且可以启动应用44的状态。在加载静态操作系统42之后,当静态操作系统42第一次转变为OS初始化状态ST2时,静态操作系统42运行对通过使用配置器而分配的OS资源对象进行初始化的初始化单元42a,并且建立有状态通信路径。
[0048]OS资源对象正被使用的状态ST3是其中执行应用44并且包括在应用44中的周期性任务44a处于执行状态的状态。周期性任务44a作为软件程序来执行。稍后将描述周期性任务44a的具体示例。在状态ST3下,由于周期性任务44a开始根据周期性任务的程序来使用OS资源对象,因此静态操作系统42处于静态操作系统42的内部状态根据周期性任务的内容而变化的过渡状态。如图2所示,当周期性任务44a结束一个周期的周期性任务时,OS资源对象的使用结束,并且静态操作系统42返回到紧接在执行初始化任务之后的状态。出于该原因,静态操作系统42转变为OS初始化状态ST2,其为周期性任务的开始点。当周期性任务44a再次启动一个周期的周期性任务时,静态操作系统42转变为OS资源对象正被使用的状态ST3。
[0049]保存单元43保存了用于将在控制器22a中运行的应用传递到控制器20b所需的信息(快照),并且保存单元43将所保存的快照发送到控制器20b。快照是代表为了保持应用44的状态而保存的正运行的应用44a的内部状态的上下文。通过使用该快照,可以恢复从当快照被保存之时开始的应用44的操作并且可以继续该操作。例如,“代表在快照被保存之时的内部状态的上下文”是应用44在存储器区域中的内容。快照包括应用44为了参考通信状态进行通信而建立的通信路径的标识符。
[0050]图3是示出第一实施例中的保存和恢复快照的任务的框图。如图3所示,保存单元43包括转换操作发送单元43a、快照保存单元43b和快照发送单元43c。转换操作发送单元43a接收从布置在控制器20a外部的指示设备(未示出)发送的转换指令(用于从控制器20a转换为控制器20b的指令)。此后,转换操作发送单元43a将所接收到的转换指令发送到快照保存单元43b。
[0051]快照保存单元43b在保存定时检测单元DT检测到的定时处根据从转换操作发送单元43a发送的转换指令来创建和保存快照,使得控制器20b可以接管应用44的操作状态。保存定时检测单元DT监测应用44的操作并检测快照保存单元43b开始运行的定时。也就是说,该定时是当包括在应用44中的周期性任务44a结束一个周期的周期性任务时的时刻。
[0052]快照发送单元43c将快照保存单元43b保存的快照发送到控制器20b的恢复单元53。如果可以将快照发送到控制器20b的恢复单元53,则快照发送单元43c不一定布置在保存单元43中。例如,快照发送单元43c可以布置在静态操作系统42或通信单元41a中。
[0053]应用44在静态操作系统42中运行,并且应用44对执行过程控制所需的现场装置10进行控制。具体地,应用44包括周期性任务44a,并且应用44执行与上述工业过程控制相关的周期性任务。例如,应用44执行以恒定周期从传感器装置11收集测量数据的任务、以恒定周期计算用于控制阀装置12的控制数据的任务、以恒定周期将控制数据发送到阀装置12的任务等。
[0054]操作系统45在虚拟机VM12中运行,并且操作系统45提供通信中继单元46的运行环境。需要操作系统能够建立动态通信路径以执行稍后将描述的接管通信的任务。除了静态操作系统42外,例如,个人计算机和工作站使用的通用操作系统也具有该功能。
[0055]通信中继单元46在操作系统45上运行。通信中继单元46通过重新建立在保持通信中继单元46与监测装置30之间的有状态通信路径的通信状态的同时所需的在应用44与通信中继单元46之间的通信路径,来接管通信。通信中继单元46中继应用44与监测装置30之间的通信。通过这些任务,通信中继单元46可以执行对应用44与监测装置30之间的通信的延续。
[0056]“通信的延续”是指通信路径的两端均可以通过“保持通信状态”以及“接管通信”来延续该通信。“保持通信状态”是指在通信路径的一端(通信中继单元46)改变位置的情况下,另一端(监测装置30)保持两端之间的通信而无需检测位置改变。“接管通信”是指当通信目的地(通信中继单元46)改变位置时,重新创建(重新建立)通信路径并且创建新的通信状态。
[0057]如图1所示,通信中继单元46包括通信状态保持单元46a和通信接管单元46b。通信状态保持单元46a建立与连接到控制网络N2的监测装置30而不是与应用44的有状态通信路径,并且通信状态保持单元46a进行通信。通信状态保持单元46a保持所建立的有状态通信路径以不终止通信路径。通信接管单元46b建立与应用44而不是与监测装置30的通信路径,并且通信接管单元46b进行通信。在平台被转换并且所建立的通信路径被终止的情况下,通信接管单元46b执行用于重新建立通信路径的任务。
[0058]例如,保持通信状态保持单元46a的通信状态的功能和接管通信接管单元46b的通信路径的功能可以通过使用反向代理服务器(proxy)来实现。反向代理服务器不同于正常代理服务器(用于收集从代理服务器的内部的客户端发送的请求并利用代理与外部服务器进行通信的代理服务器)。反向代理服务器是用于收集从代理服务器的外部的客户端发送的请求并且利用代理与内部服务器进行通信的代理服务器。例如,在通信中继单元46由HTTP (超文本传输协议)的反向代理服务器实现的情况下,可以通过存储TCP (传输控制协议)的序号、通信中继单元46和监测装置30中的每一个向通信路径分配的IP地址、端口编号等来保持应用44与监测装置30之间的有状态通信路径的状态。
[0059][控制器20b]
[0060]与控制器20a相同,控制器20b包括硬件服2,硬件HW2包括MPU、存储器等。硬件HW2执行安装的程序以实现控制器20b的功能。实际装置RD21和RD22是诸如NIC、I/O模块等的通信装置。实际装置RD21连接至现场网络NI,而实际装置RD22连接至控制网络N2。
[0061]用于实现超级监视器51 (虚拟化器)的程序、静态操作系统52 (第三操作系统)以及用于实现恢复单元53的程序安装在控制器20b中。通过这些程序实现的功能是固定地嵌入控制器20a中的功能。超级监视器51以并行方式运行虚拟机VM21和VM22 (虚拟化器)。
[0062]超级监视器51与控制器20a的超级监视器41协作来执行实时迀移,并且在控制器20a中运行的虚拟机VM12被迀移作为虚拟机VM22。也就是说,在应用44与监测装置30之间的通信被接管的同时对控制器20a的操作系统45和通信中继单元46进行迀移。
[0063]虚拟机VM21是静态操作系统52和恢复单元53在其中运行的虚拟硬件。虚拟机VM21包括与实际装置RD21相关的虚拟装置VD21。虚拟机VM22是通过实时迀移而从控制器20a迀移的操作系统45和通信中继单元46在其中运行的虚拟硬件。虚拟机VM22包括与实际装置RD22相关的虚拟装置VD22。
[0064]如图1所示,超级监视器51包括通
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1