CN110275797B - 控制器以及数据保存方法 - Google Patents

控制器以及数据保存方法 Download PDF

Info

Publication number
CN110275797B
CN110275797B CN201910025757.9A CN201910025757A CN110275797B CN 110275797 B CN110275797 B CN 110275797B CN 201910025757 A CN201910025757 A CN 201910025757A CN 110275797 B CN110275797 B CN 110275797B
Authority
CN
China
Prior art keywords
data
data management
operating system
management unit
hmi
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.)
Active
Application number
CN201910025757.9A
Other languages
English (en)
Other versions
CN110275797A (zh
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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of CN110275797A publication Critical patent/CN110275797A/zh
Application granted granted Critical
Publication of CN110275797B publication Critical patent/CN110275797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • 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/0423Input/output
    • G05B19/0425Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31215Upon modification of data in one database, automatic update of mirror databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Power Sources (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提供一种控制器以及数据保存方法在高鲁棒性下对HMI数据进行镜像。本发明是在OS(41)及实时OS(51)上动作的IPC(3)。IPC(3)包括:数据管理部(411),通过OS(41)的HMI应用(412),依序进行HMI数据的获取处理;缓冲器(413),由数据管理部(411)存储HMI数据;数据管理部(511),通过实时OS(51)的镜像处理部(52),与数据管理部(411)进行数据的收发;以及镜像数据保持部(513),由数据管理部(511)存储数据。数据管理部(411)在HMI数据的每次获取时存储至缓冲器(413),且作为镜像数据而发送至数据管理部(511),数据管理部(511)在每次接收镜像数据时存储至镜像数据保持部(513)中。

Description

控制器以及数据保存方法
技术领域
本发明涉及一种对进程(process)管理等的数据进行镜像(mirroring)的控制器(controller)以及数据保存方法。
背景技术
在进程控制系统中,基于鲁棒(robust)性的观点,已知会将与受控对象的状态相关的进程管理数据作为镜像(将相同的内容同时存储到两处)数据而另行导入。例如在专利文献1中,记载了一种进程控制系统,其在使用多个获取来自受控对象侧的各种传感器的数据的输入/输出(Input/Output,I/O)模块(module)204的形态中,设置对这些I/O模块204进行监控控制的多个控制模块206来作为冗余用,所述多个控制模块206实施与I/O模块204相关的信息数据库(database)的镜像。
而且,在进程控制系统中,已知有下述镜像处理,即:通过用户程序(userprogram)(控制程序),将以高频率输入的人机接口(Human Machine Interface,HMI)数据导入缓冲器(buffer)中,并且也导入磁阻式随机存取存储器(Magnetoresistive RandomAccess Memory,MRAM)中。MRAM能够进行无限重写,高速且具有非易失性,因此对于停电等异常可发挥强鲁棒性。
[现有技术文献]
[专利文献]
专利文献1:日本专利特开2016-27565号公报
近来,已知有一种工业个人计算机(Industrial Personal Computer,IPC)(工业用PC)系统,其包括可编程逻辑控制器(Programmable Logic Controller,PLC)、及作为HMI的可编程显示器,对机械或设备等受控对象的动作进行控制。IPC是在Windows(注册商标)等通用操作系统(Operating System,OS)上动作,一般不具备MRAM,因此需要为了进行HMI数据的镜像处理的技术,以便取代MRAM。
例如,考虑在每次输入时将HMI数据转储(flush)(写入)至盘(硬盘驱动器(HardDisk Drive,HDD)/固态硬盘(Solid State Drive,SSD))中的替代技术,但在高频率的写入下,会产生盘寿命的问题,而且,若在写入中发生电源阻断(断电),则数据有可能发生损坏。
而且,考虑利用映射(mapping)至虚拟存储空间中的内存映射文件(memorymapped file)来进行HMI数据的镜像处理的替代技术,但根据向盘中的转储时机,会发生数据丢失(loss)的问题。为了防止数据丢失,要高频率地转储HMI数据,因此与所述同样,寿命方面存在问题。
发明内容
本发明是有鉴于所述情况而完成,其目的在于提供一种控制器以及数据保存方法,通过利用专用的操作系统来进行镜像处理,从而确保高鲁棒性。
本发明的控制器包括在第1操作系统与控制受控对象的第2操作系统上动作的控制部。所述控制器包括:第1数据管理部,通过在所述第1操作系统上动作的应用程序(application program),进行周期性地输入的第1数据的获取处理;第1存储器,由所述第1数据管理部来存储所述第1数据;第2数据管理部,通过在所述第2操作系统上动作的应用程序,与所述第1数据管理部进行数据的收发;以及第2存储器,由所述第2数据管理部来存储数据。所述第1数据管理部将所获取的所述第1数据作为镜像数据而发送至所述第2数据管理部。所述第2数据管理部将所述镜像数据存储至所述第2存储器中。
而且,本发明的进程管理数据保存方法是由在第1操作系统与控制受控对象的第2操作系统上动作的控制部进行下述步骤,即:获取步骤,通过在所述第1操作系统上动作的应用程序,获取周期性地输入的第1数据;第1存储步骤,将在所述获取步骤中获取的所述第1数据存储至第1存储器中;发送步骤,将在所述获取步骤中获取的所述第1数据作为镜像数据而发送至所述第2操作系统侧;以及第2存储步骤,通过在所述第2操作系统上动作的应用程序,将所述镜像数据存储至第2存储器中。
根据这些发明实施范例,典型的是,通过在通用的第1操作系统上动作的第1数据管理部(应用程序),将持续获取的第1数据(例如HMI数据等)适当地保存至第1存储器中,并且所获取的第1数据作为镜像数据而被发送至在共同的处理器上动作的第2操作系统侧。镜像数据是通过在第2操作系统上动作的第2数据管理部(应用程序)而保存至第2存储器中,由此来进行镜像处理。通过在第2操作系统侧对第1数据进行保存处理,从而能够实现第1数据的数据损坏的防止、数据丢失的最小化,进而能够实现数据恢复。而且,即使在其中一个操作系统侧产生死机(freeze)(包含蓝屏(blue screen))、异常结束或断电等异常的情况下,也能够实现第1数据的恢复,可发挥高鲁棒性。
而且,本发明的实施范例包括:第1非易失性存储器,由所述第1数据管理部在所述第1操作系统的应用程序的结束时保存所述第1存储器的内容。根据此结构,保存第1操作系统侧的应用程序的结束时间点即当前(最终)的第1数据,由此能够实现最新数据的恢复。
而且,本发明的实施范例包括:断电探测部,探测对所述控制部的电源阻断;以及第2非易失性存储器,当探测到所述电源阻断时,由所述第2数据管理部保存所述第2存储器的内容。根据此结构,能够抢救保存断电等异常结束时的第1数据,由此,在下次启动时能够进行数据恢复。
而且,本发明的实施范例包括:断电探测部,探测对所述控制部的电源阻断;以及第2非易失性存储器,当探测到所述电源阻断时,由所述第2数据管理部保存所述第2存储器的内容。所述第2数据管理部响应来自所述第1数据管理部的请求而将所述第2非易失性存储器的内容发送至所述第1数据管理部。所述第1数据管理部在所述控制部的启动时,读出所述第1非易失性存储器的内容,并与所接收的所述第2非易失性存储器的内容进行比较,将最新的内容恢复至所述第1存储器中。根据此结构,当第1操作系统侧的应用程序启动时,在第1操作系统侧保存的第1数据与在第2操作系统侧保存的镜像数据中的最新侧的数据供恢复。
而且,本发明的实施范例包括:备份存储器(backup memory),由所述第2数据管理部来存储数据。所述第2数据管理部在所述第2操作系统的启动时,将所述第2非易失性存储器的内容读出至所述备份存储器中,并响应来自所述第1数据管理部的请求而将所述备份存储器的内容发送至所述第1数据管理部。根据此结构,通过断电后启动的第2操作系统将第2非易失性存储器的内容读取至备份存储器中,由此,在第1存储器的恢复时,备份存储器的内容响应请求而发送至第1数据管理部,以供数据恢复用。
而且,本发明的实施范例通过将第2操作系统设为实时操作系统,从而适合于以规定的处理时间来高响应性地执行进程控制中的一连串处理时。
根据本发明,能够在高鲁棒性下对第1数据进行镜像。
附图说明
图1是表示IPC系统的概要的框图,所述IPC系统表示适用本发明的控制器的一例。
图2是表示本发明的控制器的一实施方式的框图。
图3是图2的控制器的详细功能结构图。
图4是表示OS所执行的启动处理的流程图。
图5是表示OS所执行的运转~结束处理的流程图。
图6是表示实时OS所执行的断电处理等的流程图。
图7是控制器的另一框图。
符号的说明
1:个人计算机
10:IPC系统
103:显示器
2:受控对象部
3、3A:IPC(控制器)
4:OS部
403、503:HMI数据
41:OS(第1操作系统)
411:数据管理部(第1数据管理部)
412:HMI应用(应用程序)
413:保持数据缓冲器(第1存储器)
414、515:通信I/F
42、42A:第1RT(应用程序)
5、5A:实时OS部
51:实时OS(第2操作系统)
511:数据管理部(第2数据管理部)
512:断电探测部
513:镜像数据保持部(第2存储器)
514:备份数据保持部(备份存储器)
52:镜像处理部(应用程序)
53:第2RT
531:PLC数据
6:硬件
60:CPU(控制部)
601:存储器
61:驱动贮存器(第1非易失性存储器)
62:非易失性存储器(第2非易失性存储器)
7:管理程序
L1:以太网
L2:EtherCAT
S1、S3、S5、S7、S11、S13、S15、S17、S19、#1、#3、#5、#7、#9、#11、#13:步骤
具体实施方式
图1是表示IPC系统的概要的框图,所述IPC系统表示适用本发明的控制器的一例。图1中,IPC系统10包括个人计算机(Personal Computer,PC)1、作为控制器的工业个人电脑(Industrial Personal Computer,IPC)3、及根据由IPC 3的控制程序所生成的控制信号来控制动作的各种或所需数量的受控对象部2。受控对象部2典型的是机械或设备等。PC 1是如下所述的个人计算机,即,用于将由系统管理者所制作的、用来使受控对象部2进行所期望的动作的应用程序、包含各种动作设定值(保持变量及其他)的设定数据文件存储至IPC3侧。
PC 1与IPC 3利用以太网(Ethernet)(注册商标)L1而连接,可进行信息的收发。而且,IPC 3与各种受控对象部2利用EtherCAT(注册商标)L2而连接,可进行数据的收发。EtherCAT(注册商标)L2为工业用的开放型(open)网络,被用作现场网络(field network)。
IPC 3与包含触控面板(touch panel)的显示器103连接。IPC 3具有包括可编程逻辑控制器(Programmable Logic Controller,PLC)部与HMI部的结构。IPC 3进行来自显示器103侧的操作数据的输入、来自受控对象部2或图略的传感器等其他设备的各数据的输入、及根据这些输入数据来进行各受控对象部2的动作的控制信号(PLC数据)的生成、输出。另外,以下,将来自显示器103侧的操作数据、来自受控对象部2或图略的传感器等其他设备的各数据(例如制作控制信号时所用的保持变量、表示异常或其内容的警报数据(alarmdata)及各种数据的日志(log))包括在内,而称作HMI数据(相当于本发明中的第1数据)。
IPC 3内的中央处理器(Central Processing Unit,CPU)(处理器(processor))在本实施方式中,是在进行跟HMI数据的获取、管理相关处理的Windows(注册商标)等通用操作系统(Operating System,OS)上动作,并且在适合于以规定的处理时间来高响应性地执行针对受控对象部2的一连串处理的嵌入式实时OS(例如QNX等)上动作。
图2是表示本发明的控制器的一实施方式的框图。图3是图2的控制器的详细功能结构图。图2及图3中,IPC 3包括含有OS部4和实时OS部5的软件(software)部分,并且包括硬件(hardware,H/W)6。所述OS部4具备在OS 41上动作的应用程序即第1运行时刻(RunTime,RT)42。所述实时OS部5具备在实时OS 51上动作的应用程序即镜像处理部52(执行对易失性存储器的镜像处理,例如简易的廉价磁盘冗余阵列(Redundant Array ofInexpensive Disks,RAID)等)及用来处理PLC数据531(第2数据)的第2运行时刻(RunTime,RT)53。所述硬件6具有CPU(处理器)60、存储器601、驱动贮存器(drive storage)61及非易失性存储器62。另外,驱动贮存器61是指HDD或SSD。另外,也可取代非易失性存储器62而采用带电池(battery)的静态随机存取存储器(Static Random-Access Memory,SRAM)等其他非易失性存储器的实现部件。
OS 41及实时OS 51是在利用管理程序(hypervisor)7等的虚拟环境上执行。实时OS 51是可靠性高的OS,能够稳定地控制受控对象部2。OS 41跟实时OS 51相比,可靠性方面差,但另一方面,通用性高,能够执行各种通用应用或用户应用。另外,所谓管理程序7,是以比OS 41、实时OS 51下位的层级(level)而动作者,通过对硬件结构进行再现(仿真(emulate))来控制多个OS(本例中为OS 41、实时OS 51),从而能够在一台处理器上构建多个虚拟环境。
图2中,镜像处理是将沿经时方向依序输入的HMI数据403(即保持变量、警报数据及数据日志)通过OS 41上的第1RT 42而保存至缓冲器等,并且作为镜像数据而发送至实时OS 51侧。通过实时OS 51上的镜像处理部52,HMI数据503被保存至缓冲器等中。
在必要的时机,例如在第1RT 42的结束时,HMI数据403作为文件A而保存至硬件6的驱动贮存器61中。这样,通过适当时机的保存处理,能减少保存动作,因此可实现盘的长寿命化。而且,在异常发生时,在本实施方式中,例如是在探测到电源供给停止时(探测到断电时),由镜像处理部52将作为镜像数据而保存的HMI数据503保存(抢救)至非易失性存储器62中作为文件B。通过在异常发生等的时机进行保存,降低实时OS 51的负载。另外,由在实时OS 51上动作的第2RT 53所制作的PLC数据(第2数据)也与HMI数据(第1数据)同样地,在断电发生时,作为文件C而保存(抢救)至非易失性存储器62中。
而且,在OS 41启动时,作为文件A的HMI数据与作为文件B的HMI数据例如对表示保存时间点的时戳(time stamp)进行比较,将最新侧的HMI数据供恢复用。另外,时戳如公知的那样,可通过在针对对象信息的处理的时间点,将来自内部计时器(timer)(图略)的时间信息相关联而利用。
接下来,使用图3来说明OS部4侧及实时OS部5侧的功能结构与HMI数据的流动。OS部4通过执行OS 41及在OS 41上动作的第1RT 42(例如HMI应用412),而作为数据管理部411发挥功能。在OS部4中,还包括保持数据缓冲器413、通信接口(interface,I/F)414。
数据管理部411在运转中,将从显示器103或受控对象部2侧依序输入的前述HMI数据更新保存至保持数据缓冲器413中,并且作为镜像数据而输出至通信I/F 414。而且,数据管理部411在HMI应用412的结束时,将保持数据缓冲器413的内容保存至驱动贮存器61中。而且,数据管理部411在启动时,读出最后保存在驱动贮存器61中的HMI数据,并读出最后保存在实时OS部5侧的非易失性存储器62中的HMI数据,对两者的时戳进行比较,由此,挑选出最新侧的HMI数据而恢复至保持数据缓冲器413中。
实时OS部5执行实时OS 51及在实时OS 51上动作的镜像处理部52,由此来作为数据管理部511及断电探测部512发挥功能。考虑到各种形态,断电探测部512例如也可为对电源线的电压电平进行检测,并与阈值作比较的一般的传感器结构。实时OS部5还包括作为缓冲器的镜像数据保持部513、作为缓冲器的备份数据保持部514及通信I/F 515。通信I/F414与通信I/F 515之间的通信方式并无特别要求,例如也可为Ethernet(注册商标)或虚拟总线(VMBus)。
数据管理部511在运转中,将从通信I/F 414发送至通信I/F 515的镜像数据(即HMI数据)保存至镜像数据保持部513中。而且,数据管理部511在探测到断电时,将保存在镜像数据保持部513中的HMI数据写入非易失性存储器62。另外,作为断电对策,可采用各种形态,例如也可内装内置充电电池或公知的保护电路等,以对CPU 60确保阻断之前的处理时间。而且,数据管理部511在实时OS 51的启动时,将非易失性存储器62的最新的HMI数据写入至备份数据保持部514。而且,数据管理部511在从通信I/F 414收到发送请求时,将备份数据保持部514的HMI数据经由通信I/F 515而发送至通信I/F 414。
图4是表示由在OS上动作的数据管理部411所执行的启动处理的流程图。当HMI应用412启动时,读出并获取保存在OS部4的驱动贮存器61中的保持数据(步骤S1)。继而,对实时OS部5发送针对保存在备份数据保持部514中的备份数据的获取请求(步骤S3)。数据管理部411根据响应获取请求而从实时OS部5侧发送并获取的备份数据、与保存在驱动贮存器61中的保持数据的时戳,判断是否需要恢复至保持数据缓冲器413中(步骤S5)。即,若保存在驱动贮存器61中的保持数据在时间上比从实时OS部5侧获取的备份数据新,则不需要保持数据的恢复处理。另外,此时,也可为对驱动贮存器61进行写入的形态。
另一方面,若从实时OS部5侧获取的备份数据在时间上比保存在驱动贮存器61中的保持数据新,则需要保持数据的恢复,即,将从实时OS部5侧获取的备份数据恢复至保持数据缓冲器413中(步骤S7)。由此,对应于HMI应用的启动,最近的备份数据将被恢复至保持数据缓冲器413中。
图5是表示由在OS上动作的数据管理部411所执行的运转~结束处理的流程图。启动后的HMI应用412在运转中,判断所进行HMI主程序的处理是新输入的HMI数据的数据更新,还是主程序结束通知的接收(步骤S11)。
若判断为HMI主程序处理是新输入的HMI数据的数据更新,则将所述HMI数据作为保持对象的数据而指示更新处理(步骤S13)。即,数据管理部411将保持对象的保持数据更新存储至保持数据缓冲器413中(步骤S15)。继而,数据管理部411将保持对象的保持数据作为镜像数据而发送至实时OS部5侧(步骤S17)。
另一方面,若在步骤S11中判断为HMI主程序处理是主程序结束通知的接收,则将保持在保持数据缓冲器413中的保持数据作为文件而保存至驱动贮存器61中(步骤S19)。此时,优选与时戳相关联地进行保存处理。
图6是表示由在实时OS上动作的数据管理部511所执行的断电处理等的流程图。首先,在启动时,从非易失性存储器62获取备份数据(步骤#1)。所获取的备份数据被保持在备份数据保持部514中(步骤#3)。通过此处理,刚启动后便能够响应来自OS部4的备份数据获取请求。
继而,判断断电通知的有无(步骤#5)。若无断电通知,则继而判断有无来自OS部4侧的数据接收(步骤#7)。若来自OS部4侧的数据接收为镜像数据的接收,则数据管理部511将所接收的镜像数据保存至镜像数据保持部513中(步骤#9),并返回(return)步骤#5。另一方面,若来自OS部4侧的数据接收为备份数据获取请求的接收,则数据管理部511将备份数据发送至OS部4侧(步骤#11),并返回步骤#5。
与此相对,若在步骤#5中有断电通知,则数据管理部511将保存在镜像数据保持部513中的镜像数据写入至非易失性存储器62(步骤#13)。由此,在断电后的启动时,从非易失性存储器62读取附有断电时的时戳的镜像数据并保存至备份数据保持部514中(步骤#1、步骤#3)。
另外,考虑到在将镜像数据写入镜像数据保持部513的中途发生断电的情况,也可通过设置例如两个镜像数据保持部513来交替地写入或者进行冗余化(双重写入),由此来确保镜像数据的完全性。
图7是控制器的另一框图。图7所示的IPC 3A跟图2的IPC 3相比,不同点在于:不具备镜像处理部52;以及对于镜像处理,是从第2RT应用53直接写入非易失性存储器62。IPC3A通过在OS 41上动作的第1RT 42A,对沿经时方向依序输入的HMI数据进行缓冲,并且作为镜像数据而经由OS41直接写入非易失性存储器62。另外,所缓冲的HMI数据在规定的时机,例如在第1RT应用42A结束的时间点,被保存至驱动贮存器61中。由此,驱动贮存器61可实现长寿命化,而且,与在HMI数据的每次输入时以高频率写入的情况相比,数据丢失得以减少,进而,实时OS部5A侧的负载得以减轻。
另外,在本实施方式中,作为HMI数据、镜像数据的保存用,以保持数据缓冲器413、镜像数据保持部(缓冲器)513进行了说明,但并不限于易失性存储器,也可为非易失性的存储器。而且,本实施方式中,将CPU 60设为单处理器进行了说明,但也可为采用控制各OS的多处理器的形态。
本发明并不就此限定于所述实施方式,在实施阶段,可在不脱离其主旨的范围内对构成要素进行变形而具体化。而且,通过将所述实施方式中揭示的多个构成元件的适当组合,能够形成各种发明。例如,也可从实施方式所示的所有构成要素中删除若干个构成要素。进而,也可将跨及不同实施方式的构成要素适当组合。

Claims (7)

1.一种控制器,其包括在第1操作系统与控制受控对象的实时操作系统上动作的控制部,所述控制器的特征在于,包括:
第1数据管理部,通过在所述第1操作系统上动作的应用程序,进行周期性地输入的第1数据的获取处理;
保持数据缓冲器,由所述第1数据管理部来存储所述第1数据;
第2数据管理部,通过在所述实时操作系统上动作的应用程序,与所述第1数据管理部进行数据的收发,其中所述第1数据管理部将所获取的所述第1数据作为镜像数据而发送至所述第2数据管理部;
镜像数据保持部,由所述第2数据管理部来存储数据,其中所述第2数据管理部将所述镜像数据存储至所述镜像数据保持部中;以及
第2非易失性存储器,其中当探测到电源阻断时,所述第2数据管理部将保存在所述镜像数据保持部的所述镜像数据写入所述第2非易失性存储器。
2.根据权利要求1所述的控制器,其特征在于,包括:
第1非易失性存储器,由所述第1数据管理部在所述第1操作系统的应用程序的结束时保存所述保持数据缓冲器的内容。
3.根据权利要求1或2所述的控制器,其特征在于,包括:
断电探测部,探测对所述控制部的所述电源阻断。
4.根据权利要求2所述的控制器,其特征在于,包括:
断电探测部,探测对所述控制部的所述电源阻断,
其中所述第2数据管理部响应来自所述第1数据管理部的请求而将所述第2非易失性存储器的内容发送至所述第1数据管理部,以及
所述第1数据管理部在所述控制部的启动时,读出所述第1非易失性存储器的内容,并与所接收的所述第2非易失性存储器的内容进行比较,将最新的内容恢复至所述保持数据缓冲器中。
5.根据权利要求4所述的控制器,其特征在于,包括:
备份存储器,由所述第2数据管理部来存储数据,
其中所述第2数据管理部在所述实时操作系统的启动时,将所述第2非易失性存储器的内容读出至所述备份存储器中,并响应来自所述第1数据管理部的请求而将所述备份存储器的内容发送至所述第1数据管理部。
6.根据权利要求1、2、4、5中任一项所述的控制器,其特征在于,所述实时操作系统为实时操作系统。
7.一种数据保存方法,其特征在于,由在第1操作系统与控制受控对象的实时操作系统上动作的控制部进行下述步骤,即:
获取步骤,通过在所述第1操作系统上动作的应用程序,获取周期性地输入的第1数据;
第1存储步骤,将在所述获取步骤中获取的所述第1数据存储至保持数据缓冲器中;
发送步骤,将在所述获取步骤中获取的所述第1数据作为镜像数据而发送至所述实时操作系统侧;以及
第2存储步骤,通过在所述实时操作系统上动作的应用程序,将所述镜像数据存储至镜像数据保持部中,其中当探测到电源阻断时,将保存在所述镜像数据保持部的所述镜像数据写入第2非易失性存储器。
CN201910025757.9A 2018-03-14 2019-01-11 控制器以及数据保存方法 Active CN110275797B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018046420A JP6907976B2 (ja) 2018-03-14 2018-03-14 コントローラ及びデータ保存方法
JP2018-046420 2018-03-14

Publications (2)

Publication Number Publication Date
CN110275797A CN110275797A (zh) 2019-09-24
CN110275797B true CN110275797B (zh) 2023-05-23

Family

ID=65033386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910025757.9A Active CN110275797B (zh) 2018-03-14 2019-01-11 控制器以及数据保存方法

Country Status (4)

Country Link
US (1) US20190286349A1 (zh)
EP (1) EP3540533B1 (zh)
JP (1) JP6907976B2 (zh)
CN (1) CN110275797B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019121376A1 (de) * 2019-08-07 2021-02-11 Lenze Se (Societas Europaea) Mosaiq

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051854A (ja) * 1999-08-12 2001-02-23 Hitachi Ltd 情報管理システム
CN101937376A (zh) * 2009-06-30 2011-01-05 联想(北京)有限公司 一种数据管理方法及数据存储装置
KR20110031130A (ko) * 2009-09-18 2011-03-24 애플 인크. 불휘발성 메모리에 대한 메타데이터 리던던시 스킴
CN106484571A (zh) * 2015-08-28 2017-03-08 株式会社东芝 存储装置和存储控制方法
CN107111459A (zh) * 2015-01-23 2017-08-29 株式会社日立制作所 存储系统及其控制方法
EP3229137A1 (en) * 2016-04-07 2017-10-11 Omron Corporation Control device, control method and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111293495B (zh) 2014-07-07 2022-05-24 基岩自动化平台公司 工业控制系统电缆

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051854A (ja) * 1999-08-12 2001-02-23 Hitachi Ltd 情報管理システム
CN101937376A (zh) * 2009-06-30 2011-01-05 联想(北京)有限公司 一种数据管理方法及数据存储装置
KR20110031130A (ko) * 2009-09-18 2011-03-24 애플 인크. 불휘발성 메모리에 대한 메타데이터 리던던시 스킴
CN107111459A (zh) * 2015-01-23 2017-08-29 株式会社日立制作所 存储系统及其控制方法
CN106484571A (zh) * 2015-08-28 2017-03-08 株式会社东芝 存储装置和存储控制方法
EP3229137A1 (en) * 2016-04-07 2017-10-11 Omron Corporation Control device, control method and program

Also Published As

Publication number Publication date
EP3540533B1 (en) 2022-06-15
US20190286349A1 (en) 2019-09-19
JP2019159882A (ja) 2019-09-19
CN110275797A (zh) 2019-09-24
JP6907976B2 (ja) 2021-07-21
EP3540533A1 (en) 2019-09-18

Similar Documents

Publication Publication Date Title
JP5183542B2 (ja) 計算機システム及び設定管理方法
CN107885305B (zh) 控制装置、控制方法以及记录介质
US20160048120A1 (en) Programmable logic controller system and programmable logic controller
JP5981906B2 (ja) 画像形成装置
CN110275797B (zh) 控制器以及数据保存方法
JPH11514124A (ja) オペレーティングシステムをロードする方法
US11099832B2 (en) Method for updating a bootloader of a controller of a light
JP2019152995A (ja) コンピュータおよびその制御方法
KR102338028B1 (ko) 로봇 제어 장치, 백업 파일의 보존 방법 및 프로그램
CN111880636A (zh) 一种存储阵列的断电保护方法及相关装置
JP2008262426A (ja) 2重化コントローラシステム、そのコントローラ
JP5579257B2 (ja) 主記憶装置における情報を復元するための装置及び方法
TWI541724B (zh) 寫入基本輸入輸出系統程式碼的電路與寫入方法
JP2009025967A (ja) 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム
JP6810630B2 (ja) ロボット制御装置、ロボットシステム及びロボットの制御方法
JP2017021498A (ja) 制御システム、その制御装置
JP5161600B2 (ja) 情報処理装置およびデータ復旧方法
JP2019160080A (ja) 制御装置および異常検出方法
JP6311525B2 (ja) 記憶媒体の管理装置
CN116302062A (zh) 电压基准芯片配置方法、装置、电子设备及存储介质
CN117271179A (zh) 一种中央处理器的启动方法、装置、服务器及系统
JP6584094B2 (ja) Plc監視装置、及び、それに用いる高機能osモジュール
JPH0394352A (ja) データ破壊領域検出処理方式
CN117785554A (zh) 设备掉电数据保持方法、系统、设备和可读存储介质
CN115617409A (zh) 智能操作系统内核的启动方法、系统、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant