CN104793581A - 过程控制器及其更新方法 - Google Patents

过程控制器及其更新方法 Download PDF

Info

Publication number
CN104793581A
CN104793581A CN201510025653.XA CN201510025653A CN104793581A CN 104793581 A CN104793581 A CN 104793581A CN 201510025653 A CN201510025653 A CN 201510025653A CN 104793581 A CN104793581 A CN 104793581A
Authority
CN
China
Prior art keywords
state
operating system
application
controller
run
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510025653.XA
Other languages
English (en)
Inventor
土屋雅信
大野毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to CN201710963283.3A priority Critical patent/CN107741737B/zh
Publication of CN104793581A publication Critical patent/CN104793581A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2212All processors are loaded with same program, only part of program is used
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23327Modification of program in real time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

提供了过程控制器及其更新方法。该过程控制器包括:第一虚拟化器,被配置为在第一过程控制器中运行;第一操作系统,被配置为在第一虚拟化器上运行,第一操作系统在对在工厂内所实现的工业过程进行的控制开始的情况下从第一状态转变为第二状态,第一操作系统在一个周期的工业过程的控制结束的情况下从第二状态转变为第一状态,第一状态是等待开始对工业过程进行控制的状态,第二状态是对工业过程进行控制的状态;应用,被配置为在第一操作系统上运行,该应用以恒定周期执行对工业过程的控制;保存单元,被配置为在第一操作系统处于第一状态的情况下保存表示应用的内部状态的信息,该信息是在与第一过程控制器不同的第二过程控制器中恢复应用所需的。

Description

过程控制器及其更新方法
相关申请的交叉引用
本申请要求2014年1月20日提交的第2014-008047号日本专利申请的优先权,其全部内容通过引用合并于此。
技术领域
本公开涉及一种过程控制器及其更新方法。
背景技术
控制各种类型的状态量(例如,流体的压力、温度和流量)的过程控制系统安装在工厂和制造厂(下文中,简称为“工厂”作为其统称)中。具体地,第4399773号日本专利公开了作为过程控制系统的核心的控制器(过程控制器)收集传感器(例如,流量计和温度计)的检测结果,该控制器根据检测结果来计算致动器(例如,阀)的操控值,并且控制器根据所算出的操控值来操控致动器。通过这些过程来控制上述的各种类型的状态量。
虽然通过使用独占使用的专用装置来建立过程控制系统,但是新近的过程控制系统正被公开并且通常通过使用规范被公开的通用装置(计算机或工作站)来建立。在使用通用装置的过程控制系统中,与一般的信息系统相同,需要转换(更新)包括硬件、操作系统(OS)等在内的平台。对平台进行转换以例如扩展平台的功能或者校正平台的故障和弱点。
虽然通常单独地建立过程控制系统,但是新近的过程控制系统通常连接到执行生产管理等的另一信息系统以提高工厂的生产率。在过程控制系统连接到另一信息系统的情况下,存在外部网络攻击的风险。为此,连续地转换平台很重要。
过程控制器转换平台以尽可能多地缩短通过控制应用执行的控制的停工时间(downtime)。具体地,通过以下步骤1至4来对过程控制器的平台进行转换。“旧过程控制器”是指在转换平台之前所使用的过程控制器。“新过程控制器”是指在转换平台之后要使用的过程控制器。
1.启动新过程控制器以使控制应用可设置。
2.将在旧过程控制器中已运行的控制应用的设置转移到新过程控制器。
3.使得旧过程控制器停止。(通过该任务,断开网络,并且控制应用停止。)
4.在新过程控制器中引导(boot)控制应用。
在上述的步骤中,在新过程控制器中引导控制应用(步骤4)之前,使得旧过程控制器停止(步骤3)。通过这些步骤,能够防止多个相同的控制应用的竞争。然而,在通过步骤1至4转换平台的情况下,在使得旧过程控制器停止时使得控制应用停止运行,旧过程控制器的操作状态(控制应用的操作状态、操作系统的操作状态、通信状态等)没有被新过程控制器接管(take over)。
在新过程控制器中引导控制应用而没有接管操作状态的情况下,控制应用必须启动初始化任务。出于该原因,存在控制操作不连续的可能性。“控制操作不连续”是指例如不执行本来要执行的操作或者多余地执行相同操作。在控制操作不连续的情况下,半成品(workin process)根据其特性而严重地损坏,并且也存在作为控制对象的设施损坏的可能性。
发明内容
一种过程控制器可以包括:第一虚拟化器,其被配置为在第一过程控制器中运行;第一操作系统,其被配置为在第一虚拟化器上运行,该第一操作系统在对在工厂内所实现的工业过程进行的控制开始的情况下从第一状态转变为第二状态,该第一操作系统在一个周期的工业过程的控制结束的情况下从第二状态转变为第一状态,第一状态是等待开始对工业过程进行控制的状态,以及第二状态是对工业过程进行控制的状态;应用,其被配置为在第一操作系统上运行,该应用以恒定周期对工业过程进行控制;以及保存单元,其被配置为在第一操作系统处于第一状态的情况下保存表示应用的内部状态的信息,该信息是在与第一过程控制器不同的第二过程控制器中恢复所述应用所需的。
附图说明
图1是示出在第一实施例中的使用过程控制器的过程控制系统的主要部分的框图。
图2是第一实施例中的静态操作系统的状态转变图。
图3是示出在第一实施例中的保存和恢复快照的任务的框图。
图4是示出第一实施例中的控制器的转换方法的流程图。
图5是示出在第一实施例中在转换控制器之后的过程控制系统的框图。
图6是示出在第二实施例中的使用过程控制器的过程控制系统的主要部分的框图。
图7是示出第二实施例中的数据库的内容的示例的图。
图8是示出在第三实施例中的使用过程控制器的过程控制系统的主要部分的框图。
具体实施方式
本文中将参照说明性优选实施例来描述本发明的实施例。本领域技术人员将认识到,可以使用本发明的教导来实现许多替选的优选实施例,并且本发明不限于本文中为了说明目的而例示的优选实施例。
本发明的一些实施例的目的在于提供可以通过接管操作状态来在继续运行控制应用的同时转换平台的过程控制器及其更新方法。
(第一实施例)
[过程控制系统]
图1是示出在第一实施例中的使用过程控制器的过程控制系统的主要部分的框图。如图1所示,过程控制系统1包括多个现场装置10、控制器20(过程控制器)和监测装置30(主机装置)。控制器20在监测装置30的监测下控制现场装置10以控制在工厂(未示出)中所实现的工业过程。
图1所示的两个控制器20中的控制器20a是为了控制工业过程而使用的控制器。图1所示的两个控制器20中的另一控制器20b是代替控制器20a而新使用的控制器。也就是说,控制器20b是根据控制器20a中对平台的转换而新使用的控制器。
现场装置10和控制器20(20a和20b)连接到现场网络N1。控制器20(20a、20b)和监测装置30连接到控制网络N2。例如,现场网络N1是铺设在工厂的现场中的有线网络,其中过程控制器和现场装置通过无状态通信路径彼此进行通信。另一方面,例如,控制网络N2是铺设在工厂的现场与监测室之间的有线网络,其中各过程控制器彼此进行通信或者过程控制器和监测装置通过无状态通信路径或有状态通信路径彼此进行通信。现场网络N1和控制网络N2可以是无线网络。
“无状态通信路径”是指其中没有执行通信开始/结束过程并且没有执行通信状态控制和管理(例如,发送管理)的通信路径。也就是说,“无状态通信路径”是指另一装置可以进行通信而无需管理通信状态的通信路径。另一方面,“有状态通信路径”是指其中执行通信开始/结束过程并且执行通信状态控制和管理(例如,发送管理)的通信路径。在有关通信丢失并且在有状态通信路径中无法恢复的情况下,通信路径终止于任一端。
例如,现场装置10是诸如传感器装置(例如,流量计和温度传感器)、阀装置(例如,流量控制阀和开关阀)、致动器装置(例如,风扇和电动机)以及安装在工厂的现场中的其他装置。为了容易理解,作为安装在工厂中的现场装置10,图1中示出了测量流体的流量的传感器装置11和控制(操控)流体的流量的阀装置12。
现场装置10根据经由现场网络N1从控制器20发送的控制数据进行操作。例如,在将发送测量数据(表示流体的流量的测量结果的数据)的请求从控制器20发送到传感器装置11的情况下,传感器装置11将测量数据经由现场网络N1发送到控制器20。在将控制数据(用于控制阀的孔径的数据)从控制器20发送到阀装置12的情况下,阀装置12基于控制数据来控制流体流过的阀的孔径。
控制器20在监测装置30的监测下执行关于工业过程控制的周期性任务。“周期性任务”是指控制器20以恒定周期执行的任务。例如,“周期性任务”是指从传感器装置11收集过程值PV、从监测装置30接收设置值SV、计算操控值MV并将操控值MV传输至阀装置12的一系列任务。控制器20的功能是通过将软件读取到计算机中以及通过软件与硬件的协作来实现的。稍后将描述控制器20(20a、20b)实现的具体功能。
例如,监测装置30是由计算机实现的。工厂操作员操控监测装置30以检测工业过程。具体地,监测装置30监测在控制器20中运行的应用的控制功能(稍后将描述详情)。工厂操作员根据监测结果指示并操控控制器20。监测装置30建立与控制器20的有状态通信路径。
[控制器20a]
控制器20a包括硬件HW1,该硬件HW1包括MPU(微处理单元)、存储器等。硬件HW1执行所安装的程序以实现控制器20a的功能。实际装置RD11和RD12是诸如NIC(网络接口卡)、I/O(输入/输出)模块等的通信装置。实际装置RD11连接到现场网络N1,而实际装置RD12连接到控制网络N2。
用于实现超级监视器41(虚拟化器)的程序、静态操作系统(OS)42(第一操作系统)、用于实现保存单元43的程序以及操作系统45(第二操作系统)安装在控制器20a中。通过这些程序实现的功能是固定地嵌入控制器20a中的功能。此外,用于实现应用44的程序和用于实现通信中继单元46的程序安装在控制器20a中。要通过转换控制器20a的平台来将通过这些程序实现的功能移动到控制器20b。
超级监视器41使得静态操作系统42、保存单元43和应用44能够独立于操作系统45和通信中继单元46而运行。超级监视器41也使得操作系统45和通信中继单元46能够独立于静态操作系统42、保存单元43和应用44而运行。超级监视器41分配硬件资源并使实际装置RD11和RD12分别与虚拟装置VD11和VD12相关。超级监视器41以并行方式运行虚拟机VM11和VM12(虚拟化器)。
虚拟机VM11是静态操作系统42、用于实现保存单元43的程序以及用于实现应用44的程序在其中运行的虚拟硬件。虚拟机VM11包括与实际装置RD11相关的虚拟装置VD11。虚拟机VM12是操作系统45和通信中继单元46在其中运行的虚拟硬件。虚拟机VM12包括与实际装置RD12相关的虚拟装置VD12。即,超级监视器41管理替代硬件HW1而虚拟地运行的虚拟机VM11和VM12。
如图1所示,超级监视器41包括通信单元41a和VM迁移指令接收单元41b。通信单元41a实现虚拟机VM11与虚拟机VM12之间的通信。由于通信单元41a是超级监视器41中的虚拟通信路径,因此可以执行不取决于与外部通信的兼容性的通信方法。例如,虚拟机VM11和虚拟机VM12一对一连接。取而代之,可以在共享存储器中复制通信内容以降低通信开销并使实现简化。
VM迁移指令接收单元41b接收指令(实时迁移(live migration)指令)以将所分配的虚拟机迁移至另一超级监视器。“实时迁移”是指用于迁移虚拟机运行的地方的技术。实时迁移是通过以下操作来执行的:中止虚拟机的操作,复制包括通信状态在内的虚拟机的整体内部状态,通过使用所复制的内部状态来在目的地虚拟机中重新开始虚拟机的操作。从外部看来,虚拟机运行的地方被迁移至另一地方而无需停止和初始化。在本实施例中,由保存单元43执行实时迁移指令。
静态操作系统42在虚拟机VM11中运行。静态操作系统42提供保存单元43和应用44的运行环境。静态操作系统42管理OS资源对象。静态操作系统42是预先分配运行保存单元43和应用44所需的OS资源对象的操作系统。预先分配的OS资源对象包括共享存储器、任务、信号量(semaphore)、网络连接等。在静态操作系统42运行之前,通过使用配置器(用于分配OS资源对象的工具)来执行OS资源对象的分配。
静态操作系统42包括对静态操作系统42进行初始化的初始化单元42a。在保存单元43和应用44运行之前,初始化单元42a通过执行以下所述的执行任务来对静态操作系统42进行初始化。
(a)对OS资源对象进行初始化。
(b)建立应用44的有状态通信路径。
静态操作系统42的状态根据控制器20a的操作状态进行转变。图2是第一实施例中的静态操作系统的状态转变图。如图2所示,静态操作系统42的状态包括OS无载状态ST1、OS初始化状态ST2(第一状态)和OS资源对象正被使用的状态ST3(第二状态)。
OS无载状态ST1是紧接在控制器20a通电、引导超级监视器41以及虚拟机VM11和VM12以及加载静态操作系统42之前的状态。OS初始化状态ST2是对静态操作系统42进行初始化并且可以启动应用44的状态。在加载静态操作系统42之后,当静态操作系统42第一次转变为OS初始化状态ST2时,静态操作系统42运行对通过使用配置器而分配的OS资源对象进行初始化的初始化单元42a,并且建立有状态通信路径。
OS资源对象正被使用的状态ST3是其中执行应用44并且包括在应用44中的周期性任务44a处于执行状态的状态。周期性任务44a作为软件程序来执行。稍后将描述周期性任务44a的具体示例。在状态ST3下,由于周期性任务44a开始根据周期性任务的程序来使用OS资源对象,因此静态操作系统42处于静态操作系统42的内部状态根据周期性任务的内容而变化的过渡状态。如图2所示,当周期性任务44a结束一个周期的周期性任务时,OS资源对象的使用结束,并且静态操作系统42返回到紧接在执行初始化任务之后的状态。出于该原因,静态操作系统42转变为OS初始化状态ST2,其为周期性任务的开始点。当周期性任务44a再次启动一个周期的周期性任务时,静态操作系统42转变为OS资源对象正被使用的状态ST3。
保存单元43保存了用于将在控制器22a中运行的应用传递到控制器20b所需的信息(快照),并且保存单元43将所保存的快照发送到控制器20b。快照是代表为了保持应用44的状态而保存的正运行的应用44a的内部状态的上下文。通过使用该快照,可以恢复从当快照被保存之时开始的应用44的操作并且可以继续该操作。例如,“代表在快照被保存之时的内部状态的上下文”是应用44在存储器区域中的内容。快照包括应用44为了参考通信状态进行通信而建立的通信路径的标识符。
图3是示出第一实施例中的保存和恢复快照的任务的框图。如图3所示,保存单元43包括转换操作发送单元43a、快照保存单元43b和快照发送单元43c。转换操作发送单元43a接收从布置在控制器20a外部的指示设备(未示出)发送的转换指令(用于从控制器20a转换为控制器20b的指令)。此后,转换操作发送单元43a将所接收到的转换指令发送到快照保存单元43b。
快照保存单元43b在保存定时检测单元DT检测到的定时处根据从转换操作发送单元43a发送的转换指令来创建和保存快照,使得控制器20b可以接管应用44的操作状态。保存定时检测单元DT监测应用44的操作并检测快照保存单元43b开始运行的定时。也就是说,该定时是当包括在应用44中的周期性任务44a结束一个周期的周期性任务时的时刻。
快照发送单元43c将快照保存单元43b保存的快照发送到控制器20b的恢复单元53。如果可以将快照发送到控制器20b的恢复单元53,则快照发送单元43c不一定布置在保存单元43中。例如,快照发送单元43c可以布置在静态操作系统42或通信单元41a中。
应用44在静态操作系统42中运行,并且应用44对执行过程控制所需的现场装置10进行控制。具体地,应用44包括周期性任务44a,并且应用44执行与上述工业过程控制相关的周期性任务。例如,应用44执行以恒定周期从传感器装置11收集测量数据的任务、以恒定周期计算用于控制阀装置12的控制数据的任务、以恒定周期将控制数据发送到阀装置12的任务等。
操作系统45在虚拟机VM12中运行,并且操作系统45提供通信中继单元46的运行环境。需要操作系统能够建立动态通信路径以执行稍后将描述的接管通信的任务。除了静态操作系统42外,例如,个人计算机和工作站使用的通用操作系统也具有该功能。
通信中继单元46在操作系统45上运行。通信中继单元46通过重新建立在保持通信中继单元46与监测装置30之间的有状态通信路径的通信状态的同时所需的在应用44与通信中继单元46之间的通信路径,来接管通信。通信中继单元46中继应用44与监测装置30之间的通信。通过这些任务,通信中继单元46可以执行对应用44与监测装置30之间的通信的延续。
“通信的延续”是指通信路径的两端均可以通过“保持通信状态”以及“接管通信”来延续该通信。“保持通信状态”是指在通信路径的一端(通信中继单元46)改变位置的情况下,另一端(监测装置30)保持两端之间的通信而无需检测位置改变。“接管通信”是指当通信目的地(通信中继单元46)改变位置时,重新创建(重新建立)通信路径并且创建新的通信状态。
如图1所示,通信中继单元46包括通信状态保持单元46a和通信接管单元46b。通信状态保持单元46a建立与连接到控制网络N2的监测装置30而不是与应用44的有状态通信路径,并且通信状态保持单元46a进行通信。通信状态保持单元46a保持所建立的有状态通信路径以不终止通信路径。通信接管单元46b建立与应用44而不是与监测装置30的通信路径,并且通信接管单元46b进行通信。在平台被转换并且所建立的通信路径被终止的情况下,通信接管单元46b执行用于重新建立通信路径的任务。
例如,保持通信状态保持单元46a的通信状态的功能和接管通信接管单元46b的通信路径的功能可以通过使用反向代理服务器(proxy)来实现。反向代理服务器不同于正常代理服务器(用于收集从代理服务器的内部的客户端发送的请求并利用代理与外部服务器进行通信的代理服务器)。反向代理服务器是用于收集从代理服务器的外部的客户端发送的请求并且利用代理与内部服务器进行通信的代理服务器。例如,在通信中继单元46由HTTP(超文本传输协议)的反向代理服务器实现的情况下,可以通过存储TCP(传输控制协议)的序号、通信中继单元46和监测装置30中的每一个向通信路径分配的IP地址、端口编号等来保持应用44与监测装置30之间的有状态通信路径的状态。
[控制器20b]
与控制器20a相同,控制器20b包括硬件HW2,硬件HW2包括MPU、存储器等。硬件HW2执行安装的程序以实现控制器20b的功能。实际装置RD21和RD22是诸如NIC、I/O模块等的通信装置。实际装置RD21连接至现场网络N1,而实际装置RD22连接至控制网络N2。
用于实现超级监视器51(虚拟化器)的程序、静态操作系统52(第三操作系统)以及用于实现恢复单元53的程序安装在控制器20b中。通过这些程序实现的功能是固定地嵌入控制器20a中的功能。超级监视器51以并行方式运行虚拟机VM21和VM22(虚拟化器)。
超级监视器51与控制器20a的超级监视器41协作来执行实时迁移,并且在控制器20a中运行的虚拟机VM12被迁移作为虚拟机VM22。也就是说,在应用44与监测装置30之间的通信被接管的同时对控制器20a的操作系统45和通信中继单元46进行迁移。
虚拟机VM21是静态操作系统52和恢复单元53在其中运行的虚拟硬件。虚拟机VM21包括与实际装置RD21相关的虚拟装置VD21。虚拟机VM22是通过实时迁移而从控制器20a迁移的操作系统45和通信中继单元46在其中运行的虚拟硬件。虚拟机VM22包括与实际装置RD22相关的虚拟装置VD22。
如图1所示,超级监视器51包括通信单元51a。通信单元51a与包括在控制器20a的超级监视器41中的通信单元41a基本上相同。通信单元51a实现虚拟机VM21与虚拟机VM22之间的通信。在第一实施例中,在控制器20a中不执行虚拟机VM22的实时迁移。出于该原因,超级监视器51不包括与包括在控制器20a的超级监视器41中的VM迁移指令接收单元41b相对应的单元。
静态操作系统51在虚拟机VM21中运行。静态操作系统52提供恢复单元53和所恢复的应用44的运行环境。静态操作系统52管理OS资源对象。与控制器20a的静态操作系统42相同,静态操作系统52包括初始化单元52a,并且静态操作系统52的状态如图2所示那样转变。
应用44在控制器20a中运行,并且恢复单元53在控制器20b中恢复应用44。具体地,恢复单元53通过使用从控制器20a的保存单元43获得的快照来在控制器20b的静态操作系统52上恢复应用44。如图3所示,恢复单元53包括快照接收单元53a和应用恢复单元53b。
快照接收单元53a接收从保存单元43的快照发送单元43c发送的快照。与快照发送单元43c相同,在可以从保存单元43接收快照的情况下,快照接收单元53a不一定包括在恢复单元53中。应用恢复单元53b通过使用快照接收单元53a接收到的快照来在静态操作系统52上恢复应用44。
[控制器的转换方法]
接下来,将描述控制器20的转换方法(更新方法)。将执行用于控制工业过程的周期性任务的控制器20a转换为控制器20b的方法的示例如下。通过使用配置器将以下描述的OS资源对象预先分配给控制器20a的静态操作系统42。
(a)用于实现保存单元43和应用44的任务数量和依赖关系。
(b)诸如每个任务使用的存储器区域的分配量。
(c)每个任务使用并共享的资源的类型和数量。
资源的类型的示例:用于实现排他任务的锁和信号量、用于实现任务间通信的邮箱、共享存储器等。
(d)静态操作系统42建立的网络通信资源的数量,以及网络通信设置。
将网络通信设置设定为网络通信的OS资源对象,使得静态操作系统42可以接受网络通信。例如,在TCP或UDP(用户数据报协议)被用作传输层的通信协议的情况下,存在以下描述的设置。
(e)通信路径的标识符(套接字描述符)。
(f)建立通信路径的方法。
该方法的示例:连接(主动连接)和监听(被动等待连接)。
(g)用于接受通信并进行通信的端口编号。
(h)用于进行通信的传输层的协议。
该协议的示例:TCP和UDP。
经由通信中继单元46的有状态通信路径被建立在控制器20a的应用44与监测装置30之间。
在将控制器20a转换为控制器20b的情况下,首先,执行对于新控制器20b的设置操作。具体地,控制器20b执行用于运行虚拟机VM21和VM22的设置操作以及静态操作系统52的OS初始化状态ST2的设置操作。
在前一设置操作中,例如,分配硬件资源,并且将实际装置RD21和RD22分别与虚拟装置VD21和VD22相关。在后一设置操作中,例如,通过使用配置器来分配OS资源对象以便设置OS初始化状态ST2。具体地,在后一设置操作中,将包括分配给静态操作系统42的OS资源对象在内的OS资源对象分配给控制器20b的静态操作系统52。
接下来,已被执行了上述设置操作的控制器20b安装在现场,并且控制器20b连接到现场网络N1和控制网络N2。此后,当控制器20b通电时,执行控制器20b的初始化任务。在初始化任务中,首先,引导超级监视器51。所引导的超级监视器51运行虚拟机VM21,并且加载静态操作系统52。接下来,静态操作系统52初始化OS资源对象并且根据上述设置操作的内容设置网络。
接下来,初始化单元52a执行的初始化任务等待有状态通信路径的建立。在完成上述的这些任务之后,初始化单元52a引导恢复单元53。当引导恢复单元53时,快照接收单元53a(参考图3)等待要接收的快照,并且超级监视器51等待要执行的实时迁移。
此后,当从指示设备(未示出)发送转换指令(用于将控制器20a转换为控制器20b的指令)时,执行控制器20的转换任务。例如,指示设备是连接到控制网络N2的工程工作站,并且指示设备可以通过使用与控制操作的持续无关的通信来指示控制器20。在监测装置30可以进行与控制操作的持续无关的通信的情况下,监测装置30可以具有指示设备的功能。
图4是示出第一实施例中的控制器的转换方法的流程图。当包括在保存单元43中的转换操作发送单元43a(参照图3)接收从指示设备(未示出)发送的转换指令时,开始图4所示的流程。
当开始图4所示的流程时,首先,转换操作发送单元43a将转换指令发送到快照保存单元43b。在发送之后,保存定时检测单元DT开始检测包括在应用44中的周期性任务44a执行的一个周期的周期性任务的结束定时(步骤S11)。接下来,快照保存单元43b确定保存定时检测单元DT是否检测到一个周期的周期性任务的结束定时(也就是说,静态操作系统42是否从OS资源对象正被使用的状态ST3转变至OS初始化状态ST2)(步骤S12)。
在快照保存单元43b确定保存定时检测单元DT未检测到一个周期的周期性任务的结束定时的情况下(在步骤S12中为否),重复步骤S12。另一方面,在快照保存单元43b确定保存定时检测单元DT检测到一个周期的周期性任务的结束定时的情况下(在步骤S12中为是),快照保存单元43b创建并保存用于恢复在控制器20a中运行的应用44所需的信息(快照)(步骤S13:第一步骤)。接下来,保存单元43将用于执行虚拟机VM12(通信中继单元46在其中运行)的实时迁移的指令发送到VM迁移指令接收单元41b(步骤S14)。
接下来,快照发送单元43c发送快照保存单元43b保存的快照(步骤S15)。具体地,在控制器20a中,快照发送单元43c读取快照保存单元43b保存的快照,并且快照发送单元43c将快照发送到控制器20b的恢复单元53。在控制器20b中,恢复单元53的快照接收单元53a接收从快照发送单元43c发送的快照,并且快照接收单元53a将快照发送到应用恢复单元53b。在完成发送快照之后,控制器20a关闭应用44(步骤S16)。
与上述任务并行地,控制器20a的超级监视器41(其被指示了实时迁移)执行到达控制器20b的超级监视器51的实时迁移。具体地,超级监视器41和51执行实时迁移,使得在控制器20a中运行的虚拟机VM12可以作为在控制器20b中运行的虚拟机VM22连续地运行。通过执行实时迁移,将在控制器20a中运行的通信中继单元46迁移至控制器20b(步骤S17:第三步骤)。
由于在通信状态被保持的同时将已在控制器20a中运行的通信中继单元46迁移至控制器20b,因此在通信状态保持单元46a与监测装置30之间建立的有状态通信路径未终止。在完成实时迁移之后,控制器20a关闭通信中继单元46(步骤S18)。
此后,迁移至控制器20b的通信中继单元46执行在控制器20b中恢复的应用44与监测装置30之间重新建立有状态通信的任务(步骤S19)。具体地,迁移至控制器20b的通信接管单元46b执行在控制器20b中恢复的应用44与监测装置30之间重新建立通信路径的任务。更具体地,通信接管单元46b根据预定的网络设置连接到等待建立通信路径的静态操作系统52的端口。通信接管单元46b连接的端口的端口编号与已建立并连接到监测装置30的通信路径的端口的编号相同。在连接之后,静态操作系统52的初始化单元52a接受来自通信接管单元46b的连接,并且初始化单元52a建立连接到在控制器20b中恢复的应用44的通信路径。由于根据上述的网络设置固定地分配所建立的通信路径的标识符,因此不需要更新在控制器20b中恢复的应用44的通信路径的标识符。
通过建立上述的通信路径,静态操作系统52转变为OS初始化状态ST2,完成初始化单元52a执行的初始化任务。在完成初始化任务之后,提取快照,并且在控制器20b中恢复已在控制器20a中运行的应用44(步骤S20:第二步骤)。具体地,包括在控制器20b中的恢复单元53的应用恢复单元53b将快照反映在静态操作系统52的存储器区域中,以便恢复应用44的状态。通过这些任务,反映已在控制器20a中运行的应用44的状态,并且恢复周期性任务44a。
在从创建并保存快照时(步骤S13:第一步骤)到提取快照并恢复应用44时(步骤S20:第二步骤)的任务序列中,静态操作系统52不需要接管静态操作系统42的状态。这是因为静态操作系统42的状态和静态操作系统52的状态在该任务序列期间没有从OS初始化状态ST2改变。
在静态操作系统52上恢复应用44之后,应用44的周期性任务44a在开始下一周期的周期性任务的定时处自动重启。通过这些任务,在应用44运行的同时,将控制器20a转换为控制器20b。
图5是示出在第一实施例中在转换控制器之后的过程控制系统的框图。在图5中,与图1中的框相对应的框被分配了相同的附图标记。如图5所示,在完成转换控制器之后,虽然超级监视器41在控制器20a中的硬件HW1上运行,但是没有虚拟机在超级监视器41上运行。这是因为在图4中的步骤S16中关闭了控制器20a的应用44,并且在步骤S18中关闭了控制器20a的通信中继单元46。
另一方面,应用44在控制器20b中的静态操作系统52上运行,并且已在控制器20a中运行的虚拟机VM12作为虚拟机VM22运行。如上所述,在控制器20b中恢复应用44以便继续该操作,并且连接到监测装置30的有状态通信路径未终止。在本实施例中,在运行应用44并且保持通信路径的同时可以转换控制器20。
(第二实施例)
[过程控制系统]
图6是示出在第二实施例中使用过程控制器的过程控制器系统的主要部分的框图。在图6中,与图1中的框相对应的框被分配了相同的附图标记。如图6所示,代替图1所示的过程控制系统1的控制器20a和20b,过程控制系统2具有使用动态操作系统的控制器20c和20d。
动态操作系统是能够在执行应用期间每次分配OS资源对象的操作系统。由于通过应用来确定OS资源对象的分配,因此不同于第一实施例的静态操作系统,不通过使用配置器来预先分配OS资源对象。
[控制器20c]
代替图1所示的控制器20a的静态操作系统42、应用44和通信中继单元46,控制器20c包括动态操作系统61、应用63和通信中继单元64。另外,控制器20c包括中间件62。应用63的初始化单元63b指示在虚拟机VM11中运行的动态操作系统61分配OS资源对象。虽然在分配OS资源对象的方法方面动态操作系统61不同于静态操作系统42,但是动态操作系统61的状态与静态操作系统42一样进行转变(参照图2)。
中间件62布置在动态操作系统61与应用63之间,并且中间件62替代应用63来建立通信路径。在中间件62建立通信路径的情况下,中间件62对应用63进行的通信进行转换并经由通信中继单元64发送该通信。例如,中间件62被实现为套接字通信库的包装器(wrapper)。
应用63在动态操作系统61上的中间件62上运行。与图1所示的应用44相同,应用63对控制工业过程所需的现场装置10进行控制。应用63包括周期性任务63a和初始化单元63b。
初始化单元63b通过执行与图1所示的静态操作系统42的初始化单元42a相同的初始化任务来初始化动态操作系统61。由于初始化单元63b在动态操作系统61上运行,因此应用63可以动态地创建OS资源对象并进行初始化。此外,由于初始化单元63b包括在应用63中,因此初始化单元63b可以在进行初始化时使用中间件62的功能。
周期性任务63a与图1所示的应用44的周期性任务44a相同。然而,在一个周期的周期性任务结束时,需要将动态操作系统61返回到与紧接在初始化单元63b执行的初始化任务之后的状态(OS初始化状态ST2)等同的状态。具体地,在周期性任务期间所创建的所有OS资源对象返回到紧接在初始化任务之后的状态。
与图1所示的通信中继单元46相同,通信中继单元64在操作系统45上运行。通信中继单元64在保持应用63与监测装置30之间的有状态通信路径的状态的同时中继应用63与监测装置30之间的通信。通信中继单元64包括通信状态保持单元64a和通信接管单元64b。通信状态保持单元64a与包括在图1所示的通信中继单元46中的通信状态保持单元46a相同。此外,通信接管单元64b与包括在图1所示的通信中继单元46中的通信接管单元46b相同。
然而,通信接管单元64b包括存储表示第一描述符与第二描述符之间的关系的信息的数据库DB。根据初始化单元63b(稍后描述)执行的初始化任务来创建数据库DB。数据库DB用于中继应用63与监测装置30之间的通信并且重新建立通信路径。第一描述符是关于应用63的描述符,并且第一描述符是所建立的连接至应用63的通信路径的描述符。第二描述符是关于通信状态保持单元64a的描述符,并且第二描述符是所建立的连接至监测装置30的有状态通信路径的描述符。虽然在初始化单元63b中动态地确定通信路径的两端的信息,但是无法重新操作初始化单元63b(稍后描述)。出于该原因,初始化单元63b的外部功能通过使用第一描述符和第二描述符来代替通信路径的两端的信息来中继并重新建立通信。因此,创建了数据库DB。
图7是示出第二实施例中的数据库的内容的示例的图。图7所示的数据库针对通信路径的描述符是套接字描述符的情况。如图7所示,表示第一描述符和第二描述符之间的关系的信息保存在每个条目中。当在初始化单元63b执行的初始化任务中指示建立通信路径时,通信接管单元64b创建数据库DB的条目。例如,在初始化任务中,当初始化单元63b开始建立与监测装置30的通信路径时,中间件62将第一描述符发送到应用63,并且中间件62将第一描述符发送到通信接管单元64b。通信接管单元64b向通信状态保持单元64a指示建立用于与监测装置30进行通信的通信路径,并且通信接管单元64b接收第二描述符。通信接管单元64b将第一描述符与第二描述符相关联,并且通信接管单元64b将该信息存储在数据库DB中。应用63将第一描述符保存在存储器区域中。此时,在中间件62与通信接管单元64b之间预先建立任意通信路径,其中通信单元41a可以传递通信数据以及第一描述符和第二描述符的信息。
[控制器20d]
代替图1所示的控制器20b的静态操作系统52,控制器20d具有动态操作系统71。此外,控制器20d具有中间件72。动态操作系统71在虚拟机VM21上运行。动态操作系统71每次创建并分配OS资源对象,OS资源对象是运行恢复单元53和所恢复的应用63所需的。虽然在分配OS资源对象的方法中动态操作系统71不同于静态操作系统52,但是动态操作系统71的状态与静态操作系统52相同地转变(参照图2)。当引导控制器20d时,自动地初始化动态操作系统71。
中间件72布置在动态操作系统71与应用63之间,并且中间件72代替应用63来建立通信路径。与中间件62相同,在中间件72建立通信路径的情况下,中间件72对应用63进行的通信进行转换并经由通信中继单元64发送该通信。
[控制器的转换方法]
将控制器20c转换为控制器20d的方法与在第一实施例中描述的将控制器20a转换为控制器20b的方法基本上相同。即,顺序地执行设置新的控制器20d操作、将控制器20d安装在现场的操作以及将控制器20d连接到现场网络N1和控制网络N2的操作。在控制器20d通电之后,通过将转换指令(用于将控制器20c转换为控制器20d的指令)从指示设备(未示出)发送到控制器20c来执行控制器20的转换任务。由于基本上根据图4所示的流程图来执行转换控制器20的任务,因此省略详细说明。
中间件72和迁移至虚拟机VM22的通信接管单元64b接管通信,使得可以继续通信。在恢复应用63之后初始化单元63b运行的情况下,再次初始化所恢复的应用63的状态。出于该原因,无法通过如在第一实施例中描述的那样运行初始化单元63b来接管通信。
中间件72和通信接管单元64b参考数据库DB的条目,使得可以接管通信。在数据库DB的条目中描述了第一描述符与第二描述符之间的关系。因此,如果中间件72根据关于迁移至虚拟机VM21的应用63的第一描述符来中继通信,以及如果通信接管单元64b根据关于通信状态保持单元64a的第二描述符来中继通信,则可以接管通信。此时,在中间件72与通信接管单元64b之间预先重新建立任意通信路径,其中通信单元51a可以传递通信数据以及第一描述符和第二描述符的信息。
即使转换控制器,也可以使用数据库DB的条目以便接管通信而无需进行更新。这是因为通信状态保持单元64a保持第二描述符,在应用63的存储器区域中保存第一描述符,并且当控制器转换时,新的控制器接管第一描述符和第二描述符。
(第三实施例)
图8是示出在第三实施例中的使用过程控制器的过程控制系统的主要部分的框图。在图8中,与图1中的框相对应的框被分配了相同的附图标记。如图8所示,代替图1所示的过程控制系统1的控制器20a和20b,过程控制系统3具有控制器20e。
在上述的第一实施例中,已在控制器20a中运行的应用44和通信中继单元46被迁移至其他控制器20b。此外,在上述的第二实施例中,已在控制器20c中运行的应用63和通信中继单元64被迁移至其他控制器20d。另一方面,在本实施例中,应用44在控制器20e中迁移。
如图8所示,代替图1所示的控制器20a的硬件HW1和控制器20b的HW2,控制器20e具有硬件HW。此外,代替图1所示的控制器20a的超级监视器41和控制器20b的超级监视器51,控制器20e具有超级监视器HV。在控制器20e中,虚拟机VM11、VM12和VM21在超级监视器HV上运行。
在控制器20e中,通过与第一实施例相同的这些任务,可以在静态操作系统52上恢复在静态操作系统42上运行的应用44。由于在恢复应用44之前以及之后继续运行通信中继单元46,因此不需要迁移通信中继单元46。在更新静态操作系统(例如,版本升级)的情况下,控制器20e是有用的。本实施例可以适于使用动态操作系统的控制器,诸如图6所示的控制器20c和20d。
(其他实施例)
通过将第一实施例与第二实施例结合,图1所示的静态操作系统42的初始化单元42a可以包括在应用44中。在这种情况下,静态操作系统52的初始化单元52a包括在所恢复的应用44中。因此,包括在应用44中的初始化单元42a(包括在所恢复的应用44中的初始化单元52a)可以建立有状态通信路径。另外,应用44可以利用小存储器且在短时间内运行,这是静态操作系统的优点,并且可以动态地建立通信路径。
虽然以上描述了根据本发明的实施例的过程控制设备、过程控制器及其更新方法,但是本发明不限于上述实施例,并且在其范围内可以自由地修改。例如,虽然对实施例的以上描述已经是可以运行多个操作系统或应用的虚拟环境用超级监视器来实现的示例,但是用于实现这样的虚拟环境的装置不限于为超级监视器。例如,上述的虚拟环境可以用硬件来实现。
此外,在实施例中,虽然以上描述了经由现场网络N1进行数字通信的现场装置10的示例,但是可以使用发送和接收模拟信号的现场装置。在这种情况下,对现场装置发送或接收的信号(模拟信号)和经由现场网络N1传递的信号(数字信号)进行转换的I/O节点连接到现场网络N1。另外,该I/O节点和现场装置连接到模拟传输路径(例如,用于发送“4[mA]至20[mA]”的信号的传输线)。
此外,在上述实施例中,虽然在无状态通信路径中进行现场网络N1的通信,并且不需要保持通信的状态,但是可以在现场网络N1中使用有状态通信路径。在这种情况下,通信中继单元46保持现场网络N1中的通信的状态。
术语“配置”用于描述包括被构造和/或被编程为执行期望功能的硬件和/或软件在内的装置的部件、单元或部分。
术语“单元”用于描述被构造和/或编程为执行期望功能的硬件和/或软件的部件、单元或部分。硬件的典型示例可以包括但不限于装置和电路。
虽然以上描述并说明了本发明的优选实施例,但是应该理解,这些是本发明的示例并且不被认为是进行限制。可以在不背离本发明的范围的情况下进行添加、省略、置换和其他修改。相应地,本发明不被认为是由以上描述来限制,而是仅由所附权利要求的范围来限制。

Claims (20)

1.一种第一过程控制器,包括:
第一虚拟化器,其被配置为在所述第一过程控制器中运行;
第一操作系统,其被配置为在所述第一虚拟化器上运行,所述第一操作系统在对在工厂内所实现的工业过程进行的控制开始的情况下从第一状态转变为第二状态,所述第一操作系统在一个周期的所述工业过程的控制结束的情况下从所述第二状态转变为所述第一状态,所述第一状态是等待开始对所述工业过程进行控制的状态,以及所述第二状态是对所述工业过程进行控制的状态;
应用,其被配置为在所述第一操作系统上运行,所述应用以恒定周期对所述工业过程进行控制;以及
保存单元,其被配置为在所述第一操作系统处于所述第一状态的情况下,保存表示所述应用的内部状态的信息,所述信息是在与所述第一过程控制器不同的第二过程控制器中恢复所述应用所需的。
2.根据权利要求1所述的第一过程控制器,还包括:
第二操作系统,其被配置为在所述第一虚拟化器上运行;
通信中继单元,其被配置为在所述第二操作系统上运行,所述通信中继单元保持主机装置的通信状态,所述通信中继单元在继续所述应用与所述主机装置之间的通信的同时中继所述应用与所述主机装置之间的通信。
3.根据权利要求1所述的第一过程控制器,其中,所述第一操作系统是预先分配运行所述应用所需的资源的静态操作系统。
4.根据权利要求1所述的第一过程控制器,其中,所述第一操作系统是根据所述应用的请求来动态地分配运行所述应用所需的资源的动态操作系统。
5.根据权利要求1所述的第一过程控制器,还包括:
中间件,其布置在所述第一操作系统与所述应用之间,所述中间件代替所述应用来建立通信路径。
6.根据权利要求1所述的第一过程控制器,还包括:
包括在所述应用中的周期性任务,所述周期性任务控制所述工业过程。
7.根据权利要求1所述的第一过程控制器,还包括:
包括在所述第一操作系统中的初始化单元,所述初始化单元在所述保存单元和所述应用运行之前对所述第一操作系统进行初始化。
8.根据权利要求2所述的第一过程控制器,还包括:
包括在所述通信中继单元中的通信状态保持单元,所述通信状态保持单元建立与所述主机装置的通信路径,并且所述通信状态保持单元保持所建立的通信路径;以及
包括在所述通信中继单元中的通信接管单元,所述通信接管单元建立与所述应用的通信路径,所述通信接管单元在运行所述应用的平台被转换的情况下重新建立所述通信路径。
9.一种第二过程控制器,其连接至根据权利要求1所述的第一过程控制器,所述第二过程控制器包括:
第二虚拟化器,其被配置为在所述第二过程控制器中运行;
第三操作系统,其被配置为在所述第二虚拟化器上运行,所述第三操作系统在对工业过程进行的控制开始的情况下从第一状态转变为第二状态,所述第三操作系统在一个周期的所述工业过程的控制结束的情况下从所述第二状态转变为所述第一状态,所述第一状态是等待开始对所述工业过程进行控制的状态,以及所述第二状态是对所述工业过程进行控制的状态;以及
恢复单元,其被配置为从根据权利要求1所述的第一过程控制器的保存单元接收表示所述应用的内部状态的信息,所述恢复单元基于所接收到的信息而在所述第三操作系统上恢复根据权利要求1所述的第一过程控制器的应用。
10.根据权利要求9所述的第二过程控制器,其中,所述第二虚拟化器在所述应用与所述主机装置之间的通信被接管的同时,迁移在所述第一过程控制器的所述第一虚拟化器上运行的第二操作系统以及在所述第一过程控制器的所述第二操作系统上运行的所述通信中继单元。
11.一种过程控制器,包括:
虚拟化器,其被配置为在所述过程控制器中运行;
第一操作系统和第二操作系统,其被配置为在所述虚拟化器上运行,所述第一操作系统和所述第二操作系统在对在工厂内所实现的工业过程进行的控制开始的情况下从第一状态转变为第二状态,所述第一操作系统和所述第二操作系统在一个周期的所述工业过程的控制结束的情况下从所述第二状态转变为所述第一状态,所述第一状态是等待开始对所述工业过程进行控制的状态,以及所述第二状态是对所述工业过程进行控制的状态;
应用,其被配置为在所述第一操作系统上运行,所述应用以恒定周期执行对所述工业过程的控制;
保存单元,其被配置为在所述第一操作系统处于所述第一状态的情况下,保存表示所述应用的内部状态的信息;以及
恢复单元,其被配置为基于所述保存单元保存的信息来在所述第二操作系统上恢复所述应用。
12.根据权利要求11所述的过程控制器,还包括:
第三操作系统,其被配置为在所述虚拟化器上运行;
通信中继单元,其被配置为在所述第三操作系统上运行,所述通信中继单元保持主机装置的通信状态,所述通信中继单元在继续所述应用与所述主机装置之间的通信的同时中继所述应用与所述主机装置之间的通信。
13.根据权利要求12所述的过程控制器,其中,所述虚拟化器在所述应用与所述主机装置之间的通信被接管的同时迁移所述第三操作系统和所述通信中继单元。
14.根据权利要求11所述的过程控制器,其中,所述第一操作系统是预先分配运行所述应用所需的资源的静态操作系统。
15.根据权利要求11所述的过程控制器,其中,所述第一操作系统是根据所述应用的请求动态地分配运行所述应用所需的资源的动态操作系统。
16.根据权利要求11所述的过程控制器,还包括:
包括在所述应用中的周期性任务,所述周期性任务控制所述工业过程。
17.根据权利要求11所述的过程控制器,还包括:
包括在所述第一操作系统中的初始化单元,所述初始化单元在所述保存单元和所述应用运行之前对所述第一操作系统进行初始化。
18.根据权利要求12所述的过程控制器,还包括:
包括在所述通信中继单元中的通信状态保持单元,所述通信状态保持单元建立与所述主机装置的通信路径,并且所述通信状态保持单元保持所建立的通信路径;以及
包括在所述通信中继单元中的通信接管单元,所述通信接管单元建立与所述应用的通信路径,所述通信接管单元在运行所述应用的平台被转换的情况下重新建立所述通信路径。
19.一种过程控制器的更新方法,包括:
在第一操作系统处于第一状态的情况下,保存表示应用的内部状态的信息,所述第一操作系统在对在工厂内所实现的工业过程进行的控制开始的情况下从所述第一状态转变为第二状态,所述第一操作系统在一个周期的所述工业过程的控制结束的情况下从所述第二状态转变为所述第一状态,所述第一状态是等待开始对所述工业过程进行控制的状态,以及所述第二状态是对所述工业过程进行控制的状态;以及
基于所保存的信息而在与所述第一操作系统不同的第二操作系统上恢复所述应用。
20.根据权利要求19所述的更新方法,还包括:
在所述应用与主机装置之间的通信被接管的同时,迁移第三操作系统和通信中继单元,所述通信中继单元在所述第三操作系统上运行,所述通信中继单元保持主机装置的通信状态,所述通信中继单元在继续所述应用与所述主机装置之间的通信的同时中继所述应用与所述主机装置之间的通信。
CN201510025653.XA 2014-01-20 2015-01-19 过程控制器及其更新方法 Pending CN104793581A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710963283.3A CN107741737B (zh) 2014-01-20 2015-01-19 过程控制器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-008047 2014-01-20
JP2014008047A JP6020476B2 (ja) 2014-01-20 2014-01-20 プロセス制御装置及びその更新方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710963283.3A Division CN107741737B (zh) 2014-01-20 2015-01-19 过程控制器

Publications (1)

Publication Number Publication Date
CN104793581A true CN104793581A (zh) 2015-07-22

Family

ID=52465178

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510025653.XA Pending CN104793581A (zh) 2014-01-20 2015-01-19 过程控制器及其更新方法
CN201710963283.3A Active CN107741737B (zh) 2014-01-20 2015-01-19 过程控制器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710963283.3A Active CN107741737B (zh) 2014-01-20 2015-01-19 过程控制器

Country Status (4)

Country Link
US (1) US9869984B2 (zh)
EP (1) EP2897007B1 (zh)
JP (1) JP6020476B2 (zh)
CN (2) CN104793581A (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409270B2 (en) * 2015-04-09 2019-09-10 Honeywell International Inc. Methods for on-process migration from one type of process control device to different type of process control device
JP2017108231A (ja) * 2015-12-08 2017-06-15 富士通株式会社 通信制御プログラム、通信制御方法及び情報処理装置
US9971655B1 (en) * 2016-06-29 2018-05-15 EMC IP Holding Company LLC Primed application recovery
GB2608035B (en) * 2017-05-01 2023-03-22 Fisher Rosemount Systems Inc Open architecture industrial control system
CN109643119B (zh) * 2017-05-11 2022-06-14 达闼机器人股份有限公司 一种机器人控制和服务提供方法、装置及电子设备
WO2019209322A1 (en) * 2018-04-27 2019-10-31 Hewlett-Packard Development Company, L.P. Signals to i/o devices based on virtual computer messages
CN108920252A (zh) * 2018-06-15 2018-11-30 西安微电子技术研究所 一种基于多队列千兆以太网控制器的io虚拟化装置
JP6819660B2 (ja) * 2018-09-26 2021-01-27 横河電機株式会社 プロセス制御システム、プロセス制御装置、及びプログラム更新方法
US11249464B2 (en) 2019-06-10 2022-02-15 Fisher-Rosemount Systems, Inc. Industrial control system architecture for real-time simulation and process control
GB2623651A (en) 2019-06-10 2024-04-24 Fisher Rosemount Systems Inc Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
GB2624788A (en) 2019-06-10 2024-05-29 Fisher Rosemount Systems Inc Virtualized real-time I/O in process control systems
US11537112B2 (en) 2019-06-10 2022-12-27 Fisher-Rosemount Systems, Inc. Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
US11231701B2 (en) 2019-06-10 2022-01-25 Fisher-Rosemount Systems, Inc. Publish/subscribe protocol for real-time process control
EP3757691A1 (de) * 2019-06-26 2020-12-30 Siemens Aktiengesellschaft Automatisierungsgerät
JP7234905B2 (ja) * 2019-11-20 2023-03-08 横河電機株式会社 情報処理装置及びアドレス重複管理方法
US20220317645A1 (en) * 2021-03-30 2022-10-06 Yokogawa Electric Corporation Process control system, process control apparatus, and program update method
KR20230174933A (ko) * 2022-06-22 2023-12-29 한국수력원자력 주식회사 원자력발전소 가상화 시스템 및 그 운용방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069218B1 (en) * 2003-05-05 2011-11-29 Parallels Holdings, Ltd. System, method and computer program product for process migration with planned minimized down-time
WO2012047654A1 (en) * 2010-09-27 2012-04-12 Fisher-Rosemount Systems, Inc. Methods and apparatus to virtualize a process control system
EP2642360A1 (en) * 2012-03-23 2013-09-25 Yokogawa Electric Corporation Process control system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100810A (ja) * 1999-09-29 2001-04-13 Omron Corp コントローラ
JP2001350514A (ja) * 2000-06-07 2001-12-21 Mitsubishi Electric Corp プラント監視制御システムの試験方法
JP4154853B2 (ja) * 2000-11-13 2008-09-24 富士電機機器制御株式会社 制御データを等値化する冗長化プログラマブルコントローラ及び等値化方法。
JP4457185B2 (ja) * 2001-02-13 2010-04-28 ネットアップ,インコーポレイテッド シリコンベースのストレージ仮想化サーバ
JP4399773B2 (ja) 2003-11-19 2010-01-20 横河電機株式会社 制御システム
CN100430848C (zh) * 2005-08-24 2008-11-05 沈阳中科博微自动化技术有限公司 基于基金会现场总线高速以太网的可编程控制器系统
WO2007030472A2 (en) * 2005-09-09 2007-03-15 Wms Gaming Inc. Gaming device with a virtualization manager
US8554981B2 (en) * 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US8370473B2 (en) * 2009-12-16 2013-02-05 International Business Machines Corporation Live multi-hop VM remote-migration over long distance
US8207752B2 (en) * 2010-01-11 2012-06-26 Kannan Raj Fault-tolerant multi-chip module
JP5190084B2 (ja) * 2010-03-30 2013-04-24 株式会社日立製作所 仮想マシンのマイグレーション方法およびシステム
JP2015038644A (ja) * 2010-06-30 2015-02-26 株式会社東芝 計算機および仮想マシンの更新方法
WO2012077235A1 (ja) * 2010-12-10 2012-06-14 三菱電機株式会社 多重系システムおよび多重系システムの系切り替え方法
US8990824B2 (en) * 2011-04-28 2015-03-24 Dell Products L.P. System and method for automated virtual network configuration
US8838837B2 (en) * 2011-06-23 2014-09-16 Microsoft Corporation Failover mechanism
CN102231116A (zh) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 应用程序虚拟化安装及加载方法及装置
US8875124B2 (en) * 2012-01-11 2014-10-28 Dell Products L.P. In-band hypervisor-managed firmware updates
US8893147B2 (en) * 2012-01-13 2014-11-18 Ca, Inc. Providing a virtualized replication and high availability environment including a replication and high availability engine
JP5113952B1 (ja) 2012-07-03 2013-01-09 日農機製工株式会社 カルチベータ砕土均平ローラ装置の作用幅可変構造
WO2015047404A1 (en) * 2013-09-30 2015-04-02 Hewlett-Packard Development Company, L.P. Server downtime metering
US10250444B2 (en) * 2015-07-02 2019-04-02 Perspecta Labs Inc. Hybrid SDN/legacy policy enforcement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8069218B1 (en) * 2003-05-05 2011-11-29 Parallels Holdings, Ltd. System, method and computer program product for process migration with planned minimized down-time
WO2012047654A1 (en) * 2010-09-27 2012-04-12 Fisher-Rosemount Systems, Inc. Methods and apparatus to virtualize a process control system
EP2642360A1 (en) * 2012-03-23 2013-09-25 Yokogawa Electric Corporation Process control system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALAN A.BERTOSSI,MASSIMO BONOMETTO: "Increasing Processor Utilization in Hard-Real-Time Systems with Checkpoints", 《REAL TIME SYSTEMS》 *
孙昱: "虚拟机Xen及其实时迁移技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
US9869984B2 (en) 2018-01-16
EP2897007A1 (en) 2015-07-22
JP2015138292A (ja) 2015-07-30
CN107741737A (zh) 2018-02-27
US20150205280A1 (en) 2015-07-23
EP2897007B1 (en) 2020-11-25
CN107741737B (zh) 2021-06-29
JP6020476B2 (ja) 2016-11-02

Similar Documents

Publication Publication Date Title
CN104793581A (zh) 过程控制器及其更新方法
US11550311B2 (en) Centralized virtualization management node in process control systems
EP2642360B1 (en) Process control system
CN104238493B (zh) 过程控制设备和系统及其更新方法
CN110138876B (zh) 任务部署方法、装置、设备及平台
CN103220342B (zh) 一种移动终端设备群组远程同步更新程序的方法
CN107483297B (zh) 对嵌入式设备上所承载业务质量的主动监测系统及方法
CN109361585A (zh) 一种主节点自动设置子节点波特率和地址的方法
CN102361355A (zh) 市县调度电力设备的数据集中采集和运行监视的方法
JP5546500B2 (ja) Fpga搭載装置の遠隔保守システム
CN116057509A (zh) 对控制目标进行控制的嵌入式控制设备、计算机程序产品和方法
CN105005492A (zh) 一种嵌入式设备以及一种软件升级方法
CN104679653A (zh) 配电自动化终端的软件调试方法及系统
US20150236901A1 (en) Control system management apparatus
CN103701662A (zh) 自动化测试终端仿真方法及仿真系统
CN108021407B (zh) 基于网络设备的业务处理方法及装置
Mendes et al. Multi-agent Platform and Toolbox for Fault Tolerant Networked Control Systems.
CN115481015A (zh) 收集关于工业自动化设备的数据
CN111025350B (zh) 定位解算的控制方法及装置、终端设备及定位系统
CN114528076A (zh) 一种星载软件通信调度方法及系统
KR20230029384A (ko) 실시간 프로그래밍이 가능한 IoT 장치 제어 시스템 및 그 제어 방법
CN104025547A (zh) 过程自动化方法和系统
CN116339327A (zh) 自行走设备的远程运维系统、方法、装置和自行走设备
CN117319431A (zh) 一种任务管控方法、装置及任务管控系统
CN111049932A (zh) 一种基于dtu的机械手系统文件远程升级方法及其系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150722