CN108196501A - 一种基于plc的分布式控制***的容灾方法、装置和*** - Google Patents

一种基于plc的分布式控制***的容灾方法、装置和*** Download PDF

Info

Publication number
CN108196501A
CN108196501A CN201711407327.0A CN201711407327A CN108196501A CN 108196501 A CN108196501 A CN 108196501A CN 201711407327 A CN201711407327 A CN 201711407327A CN 108196501 A CN108196501 A CN 108196501A
Authority
CN
China
Prior art keywords
soft
plc
server
daemon
real time
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
CN201711407327.0A
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.)
Kyland Technology Co Ltd
Original Assignee
Kyland Technology Co Ltd
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 Kyland Technology Co Ltd filed Critical Kyland Technology Co Ltd
Priority to CN201711407327.0A priority Critical patent/CN108196501A/zh
Publication of CN108196501A publication Critical patent/CN108196501A/zh
Priority to CN201811298670.0A priority patent/CN109240197B/zh
Priority to US16/222,307 priority patent/US10877455B2/en
Priority to ES18213521T priority patent/ES2823523T3/es
Priority to EP18213521.0A priority patent/EP3502901B1/en
Priority to JP2018240346A priority patent/JP6694499B2/ja
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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, 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/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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2035Error 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 processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • 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/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1204Multiprocessing, several plc's, distributed logic control
    • 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/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Programmable Controllers (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明实施例涉及PLC领域,尤其涉及一种基于PLC的分布式控制***的容灾方法、装置和***,用于提高分布式控制***的容灾能力。本发明实施例中,基于PLC分布式控制***的容灾方法,应用于部署有虚拟化操作***的服务器集群;服务器集群中的各服务器部署有软可编程逻辑控制器PLC、软PLC的实时操作***、软守护器及软守护器的实时操作***;软守护器在确定软PLC故障时,获取服务器集群中各服务器的工作状态;软守护器根据各服务器的工作状态,确定目标服务器;软守护器向目标服务器发送部署指令,部署指令用于指示目标服务器部署软PLC。可实现自动重新部署出软PLC,提高了分布式控制***容灾能力。

Description

一种基于PLC的分布式控制***的容灾方法、装置和***
技术领域
本发明实施例涉及PLC领域,尤其涉及一种基于PLC的分布式控制***的容灾方法、装置和***。
背景技术
随着计算机技术、信号处理技术、控制技术网络的不断发展和用户需求的不断提高,可编程逻辑控制器(Programmable Logic Controller,简称PLC)得到了广泛的应用。比如钢铁、石油、化工、电力、机械制造、快递及文化娱乐等各个行业。特别是在分布式控制***中的应用。
现有技术中,基于PLC的分布式控制***是由多台硬PLC组成的。分布式控制***的待控制设备通常比较多,分布在一个较大的区域内,而且待控制设备之间会相互影响。因此,需要分布式控制***中的硬PLC能实时控制待控制设备。若分布式控制***中出现硬PLC故障时,不能实时控制待控制设备,会影响整个分布式控制***的正常运行。因此,分布式控制***通常都设有相应的容灾方式。
目前,对于由大量硬PLC组成的分布式控制***的容灾方式是:每个独立的硬PLC,配置一个冗余的硬PLC。其中一个硬PLC出现故障,则切换到冗余的硬PLC。但是,若出现某个区域的多台硬PLC和相应的冗余PLC均无法正常工作时,由于另一个区域的硬PLC是正常工作的,且两个区域之间的PLC之间相互有影响,这个时候,只能让整个分布式控制***停止工作来更换出现故障区域的硬PLC。
发明内容
本发明实施例提供一种基于PLC的分布式控制***的容灾方法、装置和***,用于提高分布式控制的容灾能力。
本发明实施例提供一种基于PLC的分布式控制***的容灾方法,包括:应用于部署有虚拟化操作***的服务器集群;所述服务器集群中的各服务器部署有软可编程逻辑控制器PLC及所述软PLC的实时操作***;所述软守护器在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;所述软守护器根据所述各服务器的工作状态,确定目标服务器;所述软守护器向所述目标服务器发送部署指令,所述部署指令用于指示所述目标服务器部署所述软PLC。
可选地,所述软守护器在确定所述软PLC故障之前,还包括:所述软守护器获取所述软PLC拓扑结构信息;所述软PLC拓扑结构信息包括软守护器与软PLC之间的映射关系;所述软守护器根据所述映射关系,守护所述软PLC的工作状态。
可选地,所述软守护器向所述目标服务器发送部署指令,包括:所述软守护器确定所述软PLC的指令集;所述软PLC的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述软守护器向所述目标服务器发送部署指令,所述部署指令包括所述软PLC的指令集。
可选地,所述软守护器向所述目标服务器发送部署指令之后,还包括:所述软守护器更新所述软PLC拓扑结构信息。
可选地,基于PLC的分布式控制***的容灾方法还包括:所述软守护器守护各所述服务器的工作状态;所述软守护器确定存在异常状态的服务器时,发送报警信息。
本发明实施例提供一种基于PLC的分布式控制***的容灾装置,包括:应用于部署有虚拟化操作***的服务器集群;所述服务器集群中的各服务器部署有软可编程逻辑控制器PLC及所述软PLC的实时操作***;其中,所述软守护器包括:获取单元,用于在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;确定单元,用于根据所述各服务器的工作状态,确定目标服务器;发送单元,用于向所述目标服务器发送部署指令,所述部署指令用于指示所述目标服务器部署所述软PLC。
可选地,所述获取单元,还用于:获取所述软PLC拓扑结构信息;所述软PLC拓扑结构信息包括软守护器与软PLC之间的映射关系;还包括守护单元,用于:根据所述映射关系,守护所述软PLC的工作状态。
可选地,所述确定单元,用于:所确定所述软PLC的指令集;所述软PLC的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述发送单元,用于:向所述目标服务器发送部署指令,所述部署指令包括所述软PLC的指令集。
可选地,还包括更新单元,所述更新单元,用于:更新所述软PLC拓扑结构信息。
可选地,所述守护单元,还用于:守护各所述服务器的工作状态;所述发送单元,用于:确定存在异常状态的服务器时,发送报警信息。
明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行所述的方法。
本发明实施例提供一种计算机设备,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行所述的方法。
本发明实施例中,由于本发明实施例中,所述服务器集群中的各服务器部署有软PLC及所述软PLC的实时操作***,通过软PLC的实时操作***,可以提高各软PLC控制时的实时性;通过所述软守护器的实时操作***可提高整个分布式控制***的实时性。
进一步,所述软守护器在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软PLC,不影响整个分布式控制***的正常工作;如此,可以提高了分布式控制***容灾能力、且分布式控制***易于维护。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于PLC分布式控制的***架构示意图;
图2为本发明实施例提供的一种基于PLC分布式控制***的容灾方法的方法流程示意图;
图3为本发明实施例提供的一种软PLC与服务器之间的部署关系的架构示意图;
图4为本发明实施例提供的一种基于PLC分布式控制***的容灾装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了应用本发明实施例的一种分布式容灾装置的架构示意图。如图1所示,该***架构可以包括客户端101、服务器集群102、输入/输出(Input/Output,简称I/O)总线103、待控制设备104。图1以服务器集群中包括服务器102a、服务器102b和服务器102c为例说明。客户端101与服务器集群102中的每个服务器之间通过有线或无线的方式连接;服务器102a、服务器102b和服务器102c之间通过有线或无线的方式连接;服务器102a、服务器102b和服务器102c分别与待控制设备104通过I/O总线103连接。
客户端101上部署有应用程序开发环境软件,比如集成开发环境(IntegratedDevelopment Environment,简称IDE)软件。其中,开发环境软件包括编辑器、编译器。所述开发环境软件支持国际电工委员会(International Electrotechnical Commission,简称IEC)61131标准和IEC61499标准。用户在开发环境使用IEC61131标准的结构化文本(Structured text,简称ST)语言编辑器、中间语言(Intermediate Language,简称IL)语言编辑器、功能块图(Function Block Diagram,简称FBD)语言编辑器、顺序功能图(Seauential Fuction Chart简称SFC)语言编辑器、梯形图(LadderLogic ProgrammingLanguage,简称LAD)语言编辑器在编辑器中进行编程;使用IEC61499标准的功能块图编辑器、IEC61499执行控制图表(Execution Control Chart,简称ECC)图编辑器、交叉编辑器进行功能块图和ECC图编程。本发明实施例中,客户端在编辑器中进行程序编辑时,将IEC61499标准和IEC61131标准结合使用来部署软PLC、和软守护器,由于IEC61131标准规定了单独的软PLC的控制逻辑,单个软PLC之间的通讯协议和通讯策略;为了获得一个对整个基于PLC分布式控制***的控制逻辑,采用IEC61499标准作为补充。IEC61499标准规定了各个软PLC之间的通讯协议和通讯策略,弱化了具体通讯协议的功能,如此,编程人员在进行部署软PLC和软守护器的编程时,开始可以省去考虑各个软PLC之间的通讯协议和通讯策略,仅需要关注整个分布式控制***的控制逻辑,在部署完整个分布式控制***的控制逻辑后,再根据IEC61131标准分配给具体每个软PLC。在各服务器上部署的软PLC和软守护器采用将IEC61499标准和IEC61131标准结合的编程方式可使得编程更加简洁容易、且程序的维护性较高。编程人员根据需求,在编辑器上编辑软PLC拓扑结构信息和所述软PLC的指令集合。在编译器中将软PLC拓扑结构信息和所述软PLC的控制逻辑源代码转化为可以在运行环境中可执行的机器指令集合。
服务器集群102中的各服务器可以是工业服务器;服务器集群102中的每个服务器部署有虚拟化操作***。服务器集群102;所述服务器集群中的各服务器上部署有虚拟化操作***;所述服务器,用于接收初始化部署指令;其中,所述初始化部署指令中包括软PLC拓扑结构信息、软守护器拓扑结构信息、软PLC的实时操作***信息及软守护器的实时操作***信息;根据所述初始化部署指令在所述服务器的所述虚拟化操作***上部署软PLC、软守护器、所述软PLC的实时操作***和所述软守护器的实时操作***;所述初始化部署指令是采用IEC61499标准和IEC61131标准结合的编程方式生成的。其中,所述虚拟化操作***可以为Interwell OS***,软PLC可以为运行时环境(Run Time Environment,简称RTE)软件,实时操作***可以类Unix内核软件,比如“道”***。Unix内核软件是一个多用户、多任务操作***,支持多种处理器架构分时操作***。由于服务器集群102中的每个服务器上部署有所述软PLC的实时操作***和所述软控制器的实时操作***,因此,可以通过实时操作***提高每个软PLC控制的待控制设备的实时性以及整个分布式控制***的实时性。
I/O总线103用于获得输入和执行输入以控制工业现场各待控制设备104执行相应的指令;待控制设备104可以是电动机或者机械臂等。
本发明实施例中,软守护器为部署于服务器上的仿真守护器,用于守护软PLC的工作状态。软守护器的部署包括多种方式。方式一:软守护器可以和软PLC部署到同一个服务器中。为了降低同一服务器故障时承担的风险,通常软守护器不与被守护的软PLC部署在同一服务器上。方式二:软守护器单独部署到一个服务器上。可选地,每种方式下的软守护器可以部署一个或多个,防止当某个软守护器故障后,不能实时守护软PLC的工作状态。
基于图1所示的***架构,图2示例性示出了本发明实施例提供的一种基于PLC分布式控制的容灾方法的方法流程示意图,如图2所示,该基于PLC分布式控制的容灾方法包括以下步骤:
步骤201,软守护器在确定软PLC故障时,获取服务器集群中各服务器的工作状态;
步骤202,软守护器根据各服务器的工作状态,确定目标服务器;
步骤203,软守护器向目标服务器发送部署指令,部署指令用于指示目标服务器部署软PLC。
由于本发明实施例中,所述服务器集群中的各服务器部署有软可编程逻辑控制器PLC及所述软PLC的实时操作***,通过软PLC的实时操作***,可以提高各软PLC控制时的实时性;通过所述软守护器的实时操作***可提高整个分布式控制***的实时性。
进一步,所述软守护器在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软PLC,不影响整个分布式控制***的正常工作;如此,可以提高了分布式控制***容灾能力、且分布式控制***易于维护。
本发明实施例中,编程人员根据实际需求,在客户端采用IEC61499标准和IEC61131标准结合的编程方式预先编辑初始化部署指令:所述初始化部署指令中包括服务器集群中服务器之间的拓扑结构、所述软PLC拓扑结构信息、软PLC的实时操作***信息、软守护器的实时操作***信息、软PLC拓扑结构信息和所述软PLC的指令集;其中,软PLC的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述软PLC拓扑结构信息包括各软PLC与服务器之间的映射关系和软守护器与软PLC之间的映射关系。之后,客户端将编辑器中编辑的内容在编译器中转化为可以在运行环境中可执行的机器指令,并向服务器集群中的每个服务器发送。
可选地,服务器集群中的每个服务器接收到客户端发送的初始化部署指令后,各个服务器根据所述初始化部署指令在所述服务器的所述虚拟化操作***上部署软PLC、软守护器、所述软PLC的实时操作***和所述软守护器的实时操作***;并向客户端发送已部署成功的响应。客户端在接收到服务器集群中每个服务器发送的已部署成功的响应后,确认启动运行所述各软PLC和软守护器。可选地,各服务器中虚拟化出的软守护器根据软PLC拓扑结构信息确定出要守护的软PLC,各软PLC根据软PLC的指令集确定要执行的指令。当服务器集群中的每个服务器接收到客户端发送的启动指令后,根据所述启动指令启动所述软PLC和所述软守护器;软PLC和所述软守护器启动之后根据软PLC的指令集分别执行相应的指令、软守护器根据软PLC拓扑结构信息守护相应的软PLC。
本发明实施例中,部署软PLC、软守护器、所述软PLC的实时操作***和所述软守护器的实时操作***可以是通过虚拟化技术虚拟出软PLC、软守护器、所述软PLC的实时操作***和所述软守护器的实时操作***。
为了便于理解,本发明实施例中图3示出了应用本发明实施例的一种软PLC与服务器之间的部署关系。如图3所示,服务器102a上部署有软PLC11、PLC12和软守护器1;服务器102b上部署有软PLC21、PLC22、PLC23和软守护器2;服务器102c上部署有软PLC31和软守护器3;其中,软守护器1负责软PLC 21、PLC22、PLC23和PLC31;软守护器2负责守护软PLC11、PLC12和PLC31;软守护器3负责守护软PLC11、PLC12、PLC21、PLC22和PLC23。为了降低同一服务器故障时承担的风险,通常软守护器不与在该软守护器守护的软PLC部署在同一服务器上。
本发明实施例中,所述软守护器在确定所述软PLC故障之前,还包括:所述软守护器获取所述软PLC拓扑结构信息;所述软PLC拓扑结构信息包括软守护器与软PLC之间的映射关系;所述软守护器根据所述映射关系,守护所述软PLC的工作状态。
本发明实施例中,软守护器与软PLC之间的映射关系具体可为:软守护器需要守护哪些软PLC;在所述软守护器确定出需要守护的软PLC后,软守护器守护所述软PLC的工作状态。一种具体的实现为:所述软守护器向每个被守护的软PLC发送心跳报文,当软PLC在正常工作状态时,向软守护器反馈心跳报文的响应;当所述软守护器在预设时长内未收到所述软PLC的心跳报文响应时,所述软守护器确定所述软PLC的工作状态为故障。
在软守护器确定软PLC故障时,为了不影响整个分布式控制***的工作,软守护器需要向目标服务器发送部署指令,部署出故障的软PLC对应的新的软PLC。
本发明实施例中,所述软守护器向所述目标服务器发送部署指令,包括:所述软守护器确定所述软PLC的配置信息和所述软PLC的指令集;所述软PLC的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述软守护器向所述目标服务器发送部署指令,所述部署指令包括所述软PLC的配置信息和所述软PLC的指令集。
一种可选的方式,软守护器确定软PLC故障时,获取所述服务器集群中的各服务器的工作状态,比如确定各服务器的中央处理器(Central Processing Unit,简称CPU)的占用率,将CPU占用率最小的服务器作为目标服务器;或者将CPU占用率低于第一阈值的服务器作为目标服务器。目标服务器可以是一个也可以是多个。若目标服务器为多个时,在部署指令中携带多个目标服务器之间部署的规则。比如,平均分配规则或按各目标服务器的CPU占用率的反比部署故障的软PLC。
本发明实施例中,所述软守护器向所述目标服务器发送部署指令之后,还包括:所述软守护器更新所述软PLC拓扑结构信息。
可选地,所述软PLC的拓扑结构信息还包括各软PLC与服务器之间的映射关系。当软PLC故障时,软守护器向目标服务器发送部署指令,目标服务器根据该部署指令部署出与故障的软PLC相应的新的软PLC其中,目标服务器可能是故障的软PLC所在的服务器也可能不是。如目标服务器不是原来的故障的软PLC所在的服务器,需要将软守护器中的软PLC拓扑结构进行更新,即将各软PLC与服务器之间的映射关系进行更新。便于运维人员的维护。
本发明实施例中,所述软守护器守护各服务器的工作状态;所述软守护器确定存在异常状态的服务器时,发送报警信息。
本发明实施例中,异常状态包括服务器故障或者服务器当前CPU的占用率大于第二阈值;其中,第二阈值大于第一阈值;当软守护器确定服务器集群中存在异常状态的服务器时,发送报警。如此,可便于提示维修人员及时修复已故障的服务器或特别关注CPU的占用率大于第二阈值的服务器,进而提升整个基于PLC分布式控制***的容灾能力。
从上述内容可以看出:本发明实施例中,由于本发明实施例中,所述服务器集群中的各服务器部署有软可编程逻辑控制器PLC及所述软PLC的实时操作***,通过软PLC的实时操作***,可以提高各软PLC控制时的实时性;通过所述软守护器的实时操作***可提高整个分布式控制***的实时性。
进一步,所述软守护器在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软PLC,不影响整个分布式控制***的正常工作;如此,可以提高了分布式控制***容灾能力、且分布式控制***易于维护。
基于相同的技术构思,本发明实施例还提供一种基于PLC分布式控制***的容灾装置,该装置可执行上述方法实施例。该装置应用于部署有虚拟化操作***的服务器集群;所述服务器集群中的各服务器部署有软可编程逻辑控制器PLC、所述软PLC的实时操作***、软守护器及所述软守护器的实时操作***;图4为本发明实施例提供了一种基于PLC分布式控制***的容灾装置的结构示意图,如图4所示,该装置400包括获取单元401、确定单元402、发送单元403;可选地,还包括守护单元404和更新单元405。其中:
获取单元,用于在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;确定单元,用于根据所述各服务器的工作状态,确定目标服务器;发送单元,用于向所述目标服务器发送部署指令,所述部署指令用于指示所述目标服务器部署所述软PLC。
本发明实施例中,由于本发明实施例中,所述服务器集群中的各服务器部署有软可编程逻辑控制器PLC及所述软PLC的实时操作***,通过软PLC的实时操作***,可以提高各软PLC控制时的实时性;通过所述软守护器的实时操作***可提高整个分布式控制***的实时性。
进一步,所述软守护器在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软PLC,不影响整个分布式控制***的正常工作;如此,可以提高了分布式控制***容灾能力、且分布式控制***易于维护。
可选地,所述获取单元,还用于:获取所述软PLC拓扑结构信息;所述软PLC拓扑结构信息包括软守护器与软PLC之间的映射关系;还包括守护单元,用于:根据所述映射关系,守护所述软PLC的工作状态。
可选地,所述确定单元,用于:所确定所述软PLC的指令集;所述软PLC的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述发送单元,用于:向所述目标服务器发送部署指令,所述部署指令包括所述软PLC的指令集。
可选地,还包括更新单元,所述更新单元,用于:更新所述软PLC拓扑结构信息。
可选地,所述守护单元,还用于:守护各所述服务器的工作状态;所述发送单元,用于:确定存在异常状态的服务器时,发送报警信息。
从上述内容可以看出:本发明实施例中,由于本发明实施例中,所述服务器集群中的各服务器部署有软可编程逻辑控制器PLC及所述软PLC的实时操作***,通过软PLC的实时操作***,可以提高各软PLC控制时的实时性;通过所述软守护器的实时操作***可提高整个分布式控制***的实时性。
进一步,所述软守护器在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软PLC,不影响整个分布式控制***的正常工作;如此,可以提高了分布式控制***容灾能力、且分布式控制***易于维护。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,所述指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(MO)等)、光介质(例如,CD、DVD、BD、HVD等)、或者半导体介质(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(Solid State Disk,SSD))等。本领域内的技术人员应明白,本申请实施例可提供为方法、***、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种基于可编程逻辑控制器PLC的分布式控制***的容灾方法,其特征在于,应用于部署有虚拟化操作***的服务器集群;所述服务器集群中的各服务器部署有软PLC、所述软PLC的实时操作***、软守护器及所述软守护器的实时操作***;
所述软守护器在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;
所述软守护器根据所述各服务器的工作状态,确定目标服务器;
所述软守护器向所述目标服务器发送部署指令,所述部署指令用于指示所述目标服务器部署所述软PLC。
2.如权利要求1所述的方法,其特征在于,所述软守护器在确定所述软PLC故障之前,还包括:
所述软守护器获取所述软PLC拓扑结构信息;所述软PLC拓扑结构信息包括软守护器与软PLC之间的映射关系;
所述软守护器根据所述映射关系,守护所述软PLC的工作状态。
3.如权利要求1所述的方法,其特征在于,所述软守护器向所述目标服务器发送部署指令,包括:
所述软守护器确定所述软PLC的指令集;所述软PLC的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;
所述软守护器向所述目标服务器发送部署指令,所述部署指令包括所述软PLC的指令集。
4.一种基于PLC的分布式控制***的容灾装置,其特征在于,应用于部署有虚拟化操作***的服务器集群;所述服务器集群中的各服务器部署有软可编程逻辑控制器PLC、所述软PLC的实时操作***、软守护器及所述软守护器的实时操作***;其中,所述软守护器包括:
获取单元,用于在确定所述软PLC故障时,获取所述服务器集群中各服务器的工作状态;
确定单元,用于根据所述各服务器的工作状态,确定目标服务器;
发送单元,用于向所述目标服务器发送部署指令,所述部署指令用于指示所述目标服务器部署所述软PLC。
5.如权利要求4所述的装置,其特征在于,所述获取单元,还用于:
获取所述软PLC拓扑结构信息;所述软PLC拓扑结构信息包括软守护器与软PLC之间的映射关系;
还包括守护单元,用于:
根据所述映射关系,守护所述软PLC的工作状态。
6.如权利要求4所述的装置,其特征在于,所述确定单元,用于:
所确定所述软PLC的指令集;所述软PLC的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;
所述发送单元,用于:
向所述目标服务器发送部署指令,所述部署指令包括所述软PLC的指令集。
7.一种基于PLC的分布式控制***,其特征在于,包括:服务器集群;所述服务器集群中的各服务器上部署有虚拟化操作***;
所述服务器,用于接收初始化部署指令;其中,所述初始化部署指令中包括软PLC拓扑结构信息、软守护器拓扑结构信息、软PLC的实时操作***信息及软守护器的实时操作***信息;根据所述初始化部署指令在所述服务器的所述虚拟化操作***上部署软PLC、软守护器、所述软PLC的实时操作***和所述软守护器的实时操作***;所述初始化部署指令是采用IEC61499标准和IEC61131标准结合的编程方式生成的。
8.如权利要求7所述的***,其特征在于,所述服务器,还用于:
在根据所述初始化部署指令部署软PLC、软守护器、所述软PLC的实时操作***和所述软守护器的实时操作***之后,接收启动指令;根据所述启动指令启动所述软PLC和所述软守护器。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至3任一权利要求所述的方法。
10.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至3任一权利要求所述的方法。
CN201711407327.0A 2017-12-22 2017-12-22 一种基于plc的分布式控制***的容灾方法、装置和*** Pending CN108196501A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201711407327.0A CN108196501A (zh) 2017-12-22 2017-12-22 一种基于plc的分布式控制***的容灾方法、装置和***
CN201811298670.0A CN109240197B (zh) 2017-12-22 2018-11-02 一种软件定义plc的监控和重构方法和装置
US16/222,307 US10877455B2 (en) 2017-12-22 2018-12-17 Method and apparatus for monitoring and reconstructing a software-defined PLC
ES18213521T ES2823523T3 (es) 2017-12-22 2018-12-18 Método y aparato para monitorizar y reconstruir un PLC definido por software
EP18213521.0A EP3502901B1 (en) 2017-12-22 2018-12-18 Method and apparatus for monitoring and reconstructing a software-defined plc
JP2018240346A JP6694499B2 (ja) 2017-12-22 2018-12-21 ソフトウェア定義plcの監視及び再構成方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711407327.0A CN108196501A (zh) 2017-12-22 2017-12-22 一种基于plc的分布式控制***的容灾方法、装置和***

Publications (1)

Publication Number Publication Date
CN108196501A true CN108196501A (zh) 2018-06-22

Family

ID=62583355

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201711407327.0A Pending CN108196501A (zh) 2017-12-22 2017-12-22 一种基于plc的分布式控制***的容灾方法、装置和***
CN201811298670.0A Active CN109240197B (zh) 2017-12-22 2018-11-02 一种软件定义plc的监控和重构方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811298670.0A Active CN109240197B (zh) 2017-12-22 2018-11-02 一种软件定义plc的监控和重构方法和装置

Country Status (5)

Country Link
US (1) US10877455B2 (zh)
EP (1) EP3502901B1 (zh)
JP (1) JP6694499B2 (zh)
CN (2) CN108196501A (zh)
ES (1) ES2823523T3 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984267A (zh) * 2018-07-09 2018-12-11 北京东土科技股份有限公司 工业服务器的微内核架构控制***及工业服务器
CN109445847A (zh) * 2018-07-09 2019-03-08 北京东土科技股份有限公司 工业服务器微内核架构实现方法
CN109857393A (zh) * 2019-01-31 2019-06-07 南京南瑞继保电气有限公司 顺序控制图的可视化实现方法、装置及存储介质
CN111026387A (zh) * 2019-12-23 2020-04-17 北京东土科技股份有限公司 工业服务器的vplc配置方法、装置及可读存储介质
CN112543141A (zh) * 2020-12-04 2021-03-23 互联网域名***北京市工程研究中心有限公司 Dns转发服务器容灾调度的方法和***
CN113434341A (zh) * 2021-07-01 2021-09-24 北京东土科技股份有限公司 一种实现冗余虚拟plc的方法、装置、设备及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519092B (zh) * 2019-08-27 2022-11-22 深圳力维智联技术有限公司 边缘网关、配置工具和软plc功能的脚本化实现方法
WO2021040732A1 (en) * 2019-08-30 2021-03-04 Siemens Aktiengesellschaft System and method for deploying logic to a distributed automation system
CN110609512B (zh) * 2019-09-25 2021-10-15 新奥(中国)燃气投资有限公司 一种物联网平台和物联网设备监控方法
CN110928592A (zh) * 2019-12-09 2020-03-27 新石器慧通(北京)科技有限公司 一种嵌入式***及其启动方法、装置及电子设备
CN113495522B (zh) * 2020-03-19 2022-12-13 南京南瑞继保电气有限公司 一种确定环境与设备监控***中plc的值班状态的方法和装置
CN113626190B (zh) * 2021-08-04 2022-10-18 电子科技大学 面向多核环境的微内核操作***中负载均衡方法
US20230244464A1 (en) * 2022-01-31 2023-08-03 Hewlett Packard Enterprise Development Lp Environment establishment for a program in a server system
CN114879593B (zh) * 2022-05-07 2023-03-14 科东(广州)软件科技有限公司 实时***运行plc控制器的方法、装置、设备及存储介质
WO2024028932A1 (ja) * 2022-08-01 2024-02-08 三菱電機株式会社 シミュレーションプログラム、シミュレーション装置、シミュレーションシステム及びシミュレーション方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5316707A (en) * 1991-09-05 1994-05-31 Tempcraft, Inc. Injection molding apparatus control system and method of injection molding
US7032029B1 (en) * 2000-07-07 2006-04-18 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
US7519737B2 (en) * 2000-07-07 2009-04-14 Schneider Automation Inc. Input/output (I/O) scanner for a control system with peer determination
JP4099816B2 (ja) 2001-07-25 2008-06-11 横河電機株式会社 冗長化コントローラ
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US7490191B2 (en) 2006-09-22 2009-02-10 Intel Corporation Sharing information between guests in a virtual machine environment
US7684876B2 (en) 2007-02-27 2010-03-23 Rockwell Automation Technologies, Inc. Dynamic load balancing using virtual controller instances
JP5377898B2 (ja) * 2008-07-10 2013-12-25 株式会社日立製作所 クラスタリングを構成する計算機システムの系切替方法、及びシステム
US8780718B2 (en) * 2008-11-25 2014-07-15 Citrix Systems, Inc. Systems and methods for maintaining persistence by a backup virtual server
CN101788803B (zh) * 2010-01-15 2012-04-18 上海维宏电子科技有限公司 一种基于Windows的易伸缩数控***
JP5494298B2 (ja) * 2010-07-06 2014-05-14 富士通株式会社 計算機装置,障害復旧制御プログラムおよび障害復旧制御方法
JP5651772B2 (ja) * 2011-05-31 2015-01-14 株式会社日立製作所 ジョブ管理サーバ及びジョブ管理方法
EP2778816B1 (en) 2013-03-12 2015-10-07 ABB Technology AG System and method for testing a distributed control system of an industrial plant
CN103843284B (zh) * 2013-10-23 2015-12-02 华为技术有限公司 一种云应用的容灾方法、***和装置
ES2972422T3 (es) * 2015-10-13 2024-06-12 Schneider Electric Ind Sas Procedimiento para organizar las cargas de trabajo en un sistema de automatización definido por software
CN108700864B (zh) * 2016-01-11 2021-05-07 西门子股份公司 可编程逻辑控制器中网络攻击弹性控制的程序随机化
CN107122229A (zh) * 2017-04-21 2017-09-01 紫光华山信息技术有限公司 一种虚拟机恢复方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984267A (zh) * 2018-07-09 2018-12-11 北京东土科技股份有限公司 工业服务器的微内核架构控制***及工业服务器
CN109445847A (zh) * 2018-07-09 2019-03-08 北京东土科技股份有限公司 工业服务器微内核架构实现方法
EP3594812A1 (en) * 2018-07-09 2020-01-15 Kyland Technology Co., Ltd. Method for implementing microkernel architecture of industrial server
CN108984267B (zh) * 2018-07-09 2020-11-13 北京东土科技股份有限公司 工业服务器的微内核架构控制***及工业服务器
US10866833B2 (en) 2018-07-09 2020-12-15 Kyland Technology Co., Ltd. Method and appratus for implementing microkernel architecture of industrial server
CN109445847B (zh) * 2018-07-09 2021-09-17 北京东土科技股份有限公司 工业服务器微内核架构实现方法
CN109857393A (zh) * 2019-01-31 2019-06-07 南京南瑞继保电气有限公司 顺序控制图的可视化实现方法、装置及存储介质
CN111026387A (zh) * 2019-12-23 2020-04-17 北京东土科技股份有限公司 工业服务器的vplc配置方法、装置及可读存储介质
CN111026387B (zh) * 2019-12-23 2023-01-24 北京东土科技股份有限公司 工业服务器的vplc配置方法、装置及可读存储介质
CN112543141A (zh) * 2020-12-04 2021-03-23 互联网域名***北京市工程研究中心有限公司 Dns转发服务器容灾调度的方法和***
CN113434341A (zh) * 2021-07-01 2021-09-24 北京东土科技股份有限公司 一种实现冗余虚拟plc的方法、装置、设备及存储介质
CN113434341B (zh) * 2021-07-01 2023-02-17 北京东土科技股份有限公司 一种实现冗余虚拟plc的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20190196435A1 (en) 2019-06-27
CN109240197B (zh) 2020-01-21
US10877455B2 (en) 2020-12-29
JP6694499B2 (ja) 2020-05-13
CN109240197A (zh) 2019-01-18
JP2019114263A (ja) 2019-07-11
EP3502901B1 (en) 2020-09-09
ES2823523T3 (es) 2021-05-07
EP3502901A1 (en) 2019-06-26

Similar Documents

Publication Publication Date Title
CN108196501A (zh) 一种基于plc的分布式控制***的容灾方法、装置和***
CN101739285B (zh) 用于全虚拟化计算环境中图形硬件资源使用的***和方法
CN106201566B (zh) 利博伟特软件热升级方法及设备
CN102918503B (zh) 用于更新虚拟机模板的方法、设备和制品
US9411702B2 (en) Flexible and modular load testing and monitoring of workloads
CN110096424B (zh) 测试的处理方法、装置、电子设备及存储介质
US20150113530A1 (en) Managing Virtual Appliances Supporting Multiple Profiles
CN112491980B (zh) 一种云主机服务管理方法、***、终端及存储介质
CN110268378B (zh) 创建数据备份的方法、存储介质和虚拟服务器
KR20180122593A (ko) 클라우드 컴퓨팅 환경에서 클라우드 호스트를 삭제하는 방법, 장치, 서버 및 저장 매체
EP3316518B1 (en) Method and device for upgrading virtual network element, and computer storage medium
CN111552524A (zh) 一种插件加载方法、装置及计算机可读存储介质
JP6295856B2 (ja) 管理支援方法,管理支援装置及び管理支援プログラム
CN105262604A (zh) 虚拟机迁移方法及设备
CN106970865B (zh) 作为微云环境中的服务的软件的监视和管理
CN105208111A (zh) 一种信息处理的方法及物理机
US10740185B2 (en) Inplace process restart
CN108234215B (zh) 一种网关的创建方法、装置、计算机设备及存储介质
CN113254158B (zh) 一种深度学习***的部署方法和装置
CN108958889A (zh) 云数据***中虚拟机的管理方法和装置
CN113051122B (zh) 性能数据获取方法、装置、电子设备和介质
CN108089917A (zh) 一种应用进程控制方法及装置
CN107506214B (zh) 一种集群***控制器的更新方法及更新***
CN107229506B (zh) 一种虚拟机迁移方法及装置
JP2009217709A (ja) 仮想マシン管理システムおよび計算機、並びに、プログラム

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180622