CN102360317A - 分离和存留控制应用的静态和动态部分的方法 - Google Patents
分离和存留控制应用的静态和动态部分的方法 Download PDFInfo
- Publication number
- CN102360317A CN102360317A CN201110130868XA CN201110130868A CN102360317A CN 102360317 A CN102360317 A CN 102360317A CN 201110130868X A CN201110130868X A CN 201110130868XA CN 201110130868 A CN201110130868 A CN 201110130868A CN 102360317 A CN102360317 A CN 102360317A
- Authority
- CN
- China
- Prior art keywords
- data object
- static
- volatile memory
- static data
- nonvolatile memory
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24137—Non volatile memory to store program on power loss
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24139—Recovery from power loss, failure
Abstract
公开了一种分离和存留控制应用的静态和动态部分的方法,主题描述无需电池备份或大电容存储系统来分配和存留工业控制器的存储器的方法。每个数据对象被识别为静态或动态。静态对象通过是否需要频繁存取该数据对象被进一步分类。每个数据对象存储在非易失性存储器(34)中。动态数据对象和需要频繁存取的静态数据对象存储在易失性存储器(32)中。在非易失性存储器(34)中保持静态数据对象的记录,在易失性存储器(32)中保持动态数据对象的记录。在失电时,每个动态数据对象的当前值被复制到非易失性存储器(34)。当恢复电力时,动态数据对象和需要在运行时间频繁存取的静态数据对象两者的值从非易失性存储器(34)被复制到易失性存储器(32)。
Description
技术领域
本发明公开的主题总体上涉及用于控制工业过程或机器的工业控制器,并且具体地涉及一种分配和存留(persist)工业控制器中的存储器的方法。
背景技术
工业控制器是用于控制工厂自动化等的专用计算机。由工业控制器执行的控制程序通常被高度定制成特定的控制应用程序。诸如“继电器梯形逻辑”的特定控制语言通常被用于便于装置的编程。在存储的程序的指导下,工业控制器的处理器检查反映受控过程的状态的一系列输入。控制程序使用该系列输入来设置或重置处理器内的内部状态。输入和内部状态的组合被用于设置影响受控过程的输出。
工业控制器通常在可能会发生意外电力中断的环境下工作。例如,操作员或维修人员可能会进入受限制的区域或受控过程,或者在附近工作的另一个受控过程可能会经历故障情况,从而导致电力从控制器被移除。然而,电力中断会导致与损失产量相关联的较高成本或重置过程的可能复杂化。因此,控制器在失电之后快速恢复对过程的控制的能力会导致显著的成本节省。
随机存取存储器(RAM)的发展产生了具有改进性能和降低成本的高密度、低功率的存储器。结果,RAM的存储能力的显著增加和成本的降低允许工业控制器开发使用更大量的存储器的算法和方法,以改进性能、增加灵活性和简化开发。然而,RAM主要是易失性存储器,从而仅在施加电力时保留其内容。为了在失电之后快速恢复对过程的控制,需要在失电之前保留过程的状态的图像。因此,需要开发方法来捕获RAM中的处理器的状态并在失电的情形下将该状态存储到非易失性存储器。
为了从RAM捕获处理器的状态,当检测到失电时将数据从RAM复制到非易失性存储器。然而,对于处理器可以在检测到指示失电的电压电平下降的时刻与电压电平变得太低而无法将任何其它数据写入非易失性存储器的时刻之间将数据复制到非易失性存储器,仅存在小量的时间。因此,当失电时,有限量的RAM可以被转移到非易失性存储器。
目前,工业控制器试图通过以下方式来克服该限制:通过向RAM提供电池备份使得受控过程的图像经电力循环而保留在RAM中,或者通过提供电池或电容源以暂时延长处理器可以将数据从RAM转移到非易失性存储器的时间段。
然而,电池备份RAM和电池过渡系统(battery ride through system)都有缺点。许多工业应用禁止电池备份或电池过渡系统的使用。另外,电池对控制器提供了额外的初期和维护费用。具有为控制器暂时供电的足够容量的电容存储装置还增加控制系统的尺寸和费用。另外,现在期望控制器保留大量信息,包括对数据和历史信息(诸如告警、故障或其它事件)的符号存取。控制器还执行愈加复杂的算法和控制程序,从而要求要存留的数据量增加。
因此,希望提供一种在无需电池或电容存储系统的额外尺寸和费用的情况下,将足够数据存留在控制器中以满足工业控制器的增长的需求的方法。
发明内容
本发明公开的主题描述了一种无需电池备份或大电容存储系统而分配和存留工业控制器中的存储器的方法。本方法首先将数据对象放在非易失性存储器中。每个数据对象被识别为静态或动态对象。静态数据对象是具有不频繁改变的值的数据对象,而动态数据对象是具有频繁改变的值的数据对象。静态对象根据是否需要频繁存取该数据对象而被进一步分类。动态数据对象和需要频繁存取的那些静态数据对象被存储在易失性存储器中。当修改数据对象时,优选地,静态对象的改变被直接存储在非易失性存储器中或记录在存储在非易失性存储器中的日志中。在易失性存储器中直接更新动态对象的改变。如果移除控制器的供电,则每个动态数据对象的当前值被复制到非易失性存储器中。当对控制器恢复供电时,动态数据对象和需要在运行时间频繁存取的静态数据对象两者的值从非易失性存储器被复制到易失性存储器。
根据本发明的一个实施例,将多个数据对象保留在具有易失性存储器和非易失性存储器的工业控制器的存储器中的方法,将每个数据对象分类成静态数据对象或动态对象。每个静态数据对象以小于预选阈值频率的频率改变,并且每个动态对象以大于预选阈值频率的频率改变。可选地,数据对象可以至少具有第一和第二数据元素,其中,第一数据元素被分类成静态数据对象,而第二数据元素被分类成动态数据对象。每个静态数据对象被存储在非易失性存储器中,而每个动态数据对象和至少一部分静态数据对象被存储在易失性存储器中。当每个动态数据对象改变时,在易失性存储器中更新动态数据对象。对于存储在易失性存储器中的该部分静态数据对象,当静态数据对象改变时,在易失性存储器中追踪和更新静态数据对象的改变。当从控制器移除供电时,易失性存储器中的每个动态对象的当前值被复制到非易失性存储器。
因此,本发明的一个特征是,数据对象被分类成静态或动态,以将数据对象识别为在控制器的运行时间频繁或不频繁地改变。随后通过仅复制在运行时间频繁改变的那些数据对象,使要在失电期间存留的数据对象的数量最小。
作为本发明的另一方面,当对控制器恢复供电时,存储在易失性存储器中的每个动态数据对象和该部分静态数据对象从非易失性存储器被复制到易失性存储器。因此,本发明的另一个特征是,当对控制器重新施加电力时,可以恢复控制器的数据对象的状态。
作为本发明的另一方面,追踪存储在易失性存储器中的静态数据对象的改变还包括在更新易失性存储器中的静态数据对象之前更新非易失性存储器中的静态数据对象的步骤。可选地,追踪存储在易失性存储器中的静态数据对象的改变包括如下步骤:将每个改变的记录存储到非易失性存储器中,以及当对控制器恢复供电时,在将静态数据对象从非易失性存储器复制到易失性存储器之后,根据改变的记录,恢复存储在易失性存储器中的静态数据对象的改变。
因此,本发明的另一个特征是,静态数据对象的改变在它们出现时被记录在非易失性存储器中,或者保持静态数据的改变的记录并在将数据对象的基本集合重新载入易失性存储器之后重新应用改变。
作为本发明的又一目的,可以保留尺寸等于或大于动态数据对象的数量的非易失性存储器部分。然后,在失电时,易失性存储器中的每个动态对象的当前值被存储在非易失性存储器的保留部分中。
因此,本发明的另一个特征是,动态数据对象可以作为数据块被转移到非易失性存储器,以便于在失电期间存储数据对象。
作为本发明的又一个方面,数据库被嵌入非易失性存储器装置中并且嵌入式数据库存储对应于易失性存储器中的每个数据对象的第一地址与对应于非易失性存储器中的数据对象的第二地址之间的关系。可选地,嵌入式数据库存储对应于易失性存储器中的每个数据对象的名称与对应于非易失性存储器中的数据对象的地址之间的关系。
作为本发明的再一方面,监测在存储器中更新每个动态数据对象和每个静态数据对象的速率。然后将在存储器中更新每个动态数据对象和每个静态数据对象的速率与阈值频率进行比较,并且根据更新每个数据对象的速率与阈值频率的比较,将数据对象重新分类成静态数据对象或动态对象。
因此,本发明的另一个特征是,当工业控制器根据每个数据对象的实际使用而执行时,可以更新数据对象在静态与动态之间的分配。
在本发明的另一个实施例中,被配置成在失电时将多个数据对象保留在存储器中的工业控制系统包括执行具有多个静态数据对象和多个动态数据对象的控制程序的处理器。每个静态数据对象以小于预选阈值频率的频率而改变,而每个动态对象以大于预选阈值频率的频率而改变。工业控制系统还包括存储每个数据对象的非易失性存储器装置和存储每个动态数据对象和至少一部分静态数据对象的易失性存储器。在处理器上执行的至少一个例行程序追踪每个静态数据对象的改变,并且当静态数据对象改变时将新的静态数据对象存储在易失性存储器中。例行程序还监测低电压信号,并且如果低电压信号是有效的,则将每个动态数据对象的当前值从易失性存储器复制到非易失性存储器。另外,当对处理器恢复供电时,例行程序可以将存储在易失性存储器中的动态数据对象和该部分静态数据对象中的每个从非易失性存储器复制到易失性存储器。
因此,本发明的另一个特征是,工业控制系统中的数据对象被分类成静态和动态对象,以识别在控制器的运行时间频繁改变的那些数据对象,从而致使在失电期间存留最小数量的数据对象。
根据详细描述和附图,本领域的技术人员将清楚本发明的这些和其它优点和特征。然而,应该理解,指示本发明的优选实施例的详细描述和附图是以说明的方式给出的,而非限制性的。在不背离本发明的精神的情况下,可以在本发明的范围内做出多种改变和变型,并且本发明包括所有这样的变型。
附图说明
在附图中示出了这里公开的主题的各种示例性实施例,其中用相似的附图标记表示相似的部件,在附图中:
图1是根据本发明的一个实施例的、合并有存留控制数据的方法的工业控制器的框图;
图2是图1的处理器模块的框图;
图3是根据本发明的一个实施例的、用于存留控制数据的互连的框图表示;
图4是示出了最初将数据对象载入存储器的处理的流程图;
图5是示出了改变数据对象的值的流程图;
图6是示出了在失电时存留控制器上的数据对象的流程图;
图7是示出了当对控制器恢复供电时恢复数据对象的流程图;以及
图8是示出了数据对象被动态分配成静态或动态的流程图。
在描述附图中示出的本发明的各个实施例时,为了清楚,将采用特定术语。然而,并不旨在将本发明限制于这样选择的特定术语,并且应理解每个特定术语包括以类似方式起作用来实现类似目的的所有技术等同物。例如,经常使用词“连接”、“附接”或者与其类似的术语。它们不限于直接连接,而是包括通过其它元件的连接,其中本领域的技术人员将这样的连接认为是等效的。
具体实施方式
首先参照图1,合并有本发明的工业控制系统10通常包括电源12、处理器模块14、以及多个I/O模块16。I/O模块16经由I/O信号线18连接到受控过程22中的I/O装置20。如在本领域所理解的,每个模块14和16可被插入机架(rack)15中并经由背板17进行通信。构思出工业控制系统10可以包括本领域的技术人员已知的许多配置。例如,使用的I/O模块16的数量可以根据控制系统10的配置而变化。I/O模块16可以被插入机架15中或从机架15移除,以易于扩展性和对配置改变的适应性。另外,控制系统10可以在具有单个或多个机架15的情况下而采用单个或多个处理器模块14。根据具体应用和控制系统10的要求来定义处理器模块14和机架15的组合。
接下来参照图2和图3,示出了本发明的单个处理器实施例。处理器模块14包括处理器30,处理器30被配置成执行程序并与易失性存储器装置32和非易失性存储器装置34进行通信。处理器30通过在处理器30与易失性装置32和非易失性装置34中的每个之间的一个或更多个总线31和33来进行通信。处理器模块14包括连接器38以将模块14连接到背板17。处理器30可以通过背板17将诸如I/O信号36的信号发送到图1所示的I/O模块16,或者从I/O模块16接收该信号。在一个实施例中,处理器30还可以通过通信线路40、经由背板17与外部装置进行通信。可选地,处理器模块14可以包括模块上的通信端口(未示出),以与外部装置(诸如编程终端42或其它人机接口)直接通信。还构思出,处理器模块可以包括多个处理器30,其中单个处理器存留数据对象或每个处理器30存留一部分数据对象。
在易失性装置32和非易失性装置34的每个上的存储器可以被分配或分隔,以定义在处理器30上执行的程序使用的数据对象的存储位置。优选地,易失性存储器装置32包括存储器的用于存储动态数据对象的第一分段44和存储器的用于存储静态数据对象的第二分段46。非易失性存储器装置34至少包括用于存储数据对象的第一分段48。第一分段48可以存储静态和动态数据对象两者,或者替选地,第一分段48可以仅存储静态数据对象。可选的第二分段50可以被设置成存储动态数据对象。还构思出,存储器分段44、46、48或50的任何一个可以是存储器地址的单个连续范围,或者是多个存储器地址范围。另外,可以使用单个或多个存储器装置32或34来实现每个存储器分段44、46、48或50。
在工作中,处理器30执行存储的程序以控制工业过程22。该程序包括描述例如输入信号、输出信号、参数设置、定时器值、中间信号、以及其它内部状态的数据对象。控制系统10还可以包括执行该程序不需要的数据对象,诸如存储在存储器中的用户或维修手册或数据单。程序中的数据对象的数量和性质取决于正被控制的过程22和控制系统10中可用的存储器的量。典型地,该程序在编程终端42被开发并且被传输到处理器30。类似地,可以使用任何其它适当的人机接口(HMI)装置来开发或编辑程序。当开发或编辑程序时,如在图4中的步骤100所指示的,将数据对象识别为静态或动态。静态数据对象是以预定阈值以下的速率写入的数据对象。动态数据对象是以预定阈值以上的速率写入的数据对象。预定阈值可以是基于例如每次移位或在给定时间间隔期间的特定写入次数的固定阈值,并且可以根据正被控制的过程22改变。可选地,预定阈值可以取决于控制系统10的规格,其包括但并不限于处理器的时钟频率、数据总线31或33的带宽、可写入非易失性存储器的速度、以及供给电压在失电时衰减的速率。
在将数据对象分类成静态或动态之后,在控制系统10内分配用于数据对象的存储器。在步骤102,在非易失性存储器34中分配每个静态数据对象的地址。类似地,可以在非易失性存储器34中分配每个动态数据对象的地址。替选地,可以在具有足够长度的非易失性存储器34中分配地址块以存储所有动态数据对象。在步骤104和106,确定是否每个静态数据对象必须被频繁存取。例如,控制系统10的参数可以最初被设置并且随后不频繁地改变或根本不改变,从而导致被指定为静态数据对象。然而,参数的值可能需要被在处理器30上执行的程序频繁读取存取,以控制受控过程22。因为易失性存储器32通常可以以比非易失性存储器34更快的速率被存取或读取,所以期望从易失性存储器32存取数据对象。在步骤108,在易失性存储器32中分配动态数据对象和需要频繁存取的那些静态数据对象的存储器地址。分配给易失性和非易失性存储器的数据对象的易失性存储器地址优选地与相应数据对象一起存储在非易失性存储器中。
参照图5,在运行时间期间管理静态和动态数据对象两者的值的改变。在步骤110,数据对象之一的值改变并且通过在处理器30上执行的例行程序来接收该值。在步骤112,例行程序检查数据对象是静态还是动态,如先前根据图4中的步骤100确定的。如果对象是静态的,则例行程序检查对象是否需要频繁存取,如步骤118所示。
如果数据对象是动态数据对象,则在易失性存储器32中更新新的值,如步骤114所示。如果数据对象是静态的,则在非易失性存储器34中追踪和更新改变,如下面更详细地讨论的。如果静态数据对象需要频繁存取,则也在易失性存储器32中更新新的值,如步骤114-118所示。
首先在非易失性存储器34中更新或追踪静态数据对象的值的改变,然后根据需要在易失性存储器32中更新该改变。根据本发明的一个实施例,首先直接在非易失性存储器34中更新对静态数据对象做出的任何改变。如果数据对象还已被分配到易失性存储器32中,则处理器30随后将该对象的新的值复制到易失性存储器32中。根据另一实施例,处理器30创建对静态数据对象做出的改变的记录,并且将改变的记录存储在非易失性存储器34中。结果,静态数据对象或对静态数据对象做出的改变的记录被保存在非易失性存储器34中,使得在发生失电的情况下静态数据对象的当前状态已经存在于非易失性存储器34中。
在图6的步骤120,在处理器30上执行的例行程序监测输入到处理器30的失电信号。例如通过外部电路或内部地通过在处理器30上执行的例行程序监测供应到控制系统10的控制电压,以生成失电信号。如果失电信号指示电压正从控制系统10中被移除,则动态数据对象的当前值从易失性存储器32被复制到非易失性存储器34。每个动态数据对象可以被复制到先前在非易失性存储器34中分配的相应存储器地址,或者可选地,动态数据对象的部分或整个集合的块转移可以被转移到在非易失性存储器34中分配的相应地址块。因为静态数据对象的改变已被存储在非易失性存储器34中,或者当改变发生时追踪该改变并将其存储在非易失性存储器34中,所以不需要在失电时复制静态数据对象。
当在图7的步骤130对控制系统10恢复供电时,在失电之前存在于数据对象之中的、被分配到易失性存储器的动态数据对象和静态数据对象中的每个的值必须被恢复到易失性存储器中的相应地址。在步骤132,在处理器30上执行的例行程序从非易失性存储器34取回数据对象。例行程序确定每个数据对象是静态还是动态,以及静态数据对象是否被频繁存取,如步骤134和136所示。将每个动态数据对象和频繁存取的每个静态数据对象的值从非易失性存储器34恢复到易失性存储器32。
根据本发明的一个实施例,可以通过在非易失性存储器34中建立静态数据对象的基本图像并在静态数据对象改变时记录静态数据对象的每个新的值的日志或日报(journal),来追踪静态数据对象的改变。日志被保持在非易失性存储器34中,使得在失电时不需要存留日志。基本图像最初包括每个静态数据对象的预定默认值。当接收到静态数据对象的新的值时,改变的数据对象的标识符(诸如存储器地址、编程标签或其它适当的标识符)和静态数据对象的新的值被记录在日志或日报中。可选地,类似地,发送到控制器的、用于启动静态数据对象的改变的命令可以被记录在日志或日报中。
接下来,参照图8,在处理器30上执行的例行程序可以根据数据对象改变的频率将数据对象重新分配为静态或动态。在步骤150,例如通过数据对象的存储器地址的指针或者通过读取数据对象的值来识别数据对象之一。在步骤152,从存储器读取数据对象改变的速率。可选地,用于重新分配数据对象的例行程序可以确定数据对象改变的速率。
在步骤154,例行程序确定数据对象先前被分配为静态数据对象还是动态数据对象。如果数据对象先前被分配为静态对象,则例行程序确定对象改变的速率是否大于将对象识别为动态数据对象的阈值,如步骤156所示。如果不是,则数据对象仍然为静态数据对象。如果静态对象正以大于将对象识别为动态数据对象的阈值的速率进行更新,则数据对象被重新分类成动态数据对象,如步骤158所示。
类似地,如果数据对象先前被分配为动态对象,则例行程序再次确定对象改变的速率是否大于将对象识别为动态数据对象的阈值,如步骤162所示。如果这样,则数据对象仍然为动态数据对象。如果动态对象正以小于将对象识别为动态数据对象的阈值的速率进行更新,则数据对象可以被重新分类成静态数据对象,如步骤164所示。在步骤160,如果数据对象基于其改变的速率被重新分类,则以与如图4所示的原始存储器分配相似的方式针对数据对象重新分配存储器。
在步骤166,例行程序确定是否已经分析了所有数据对象以确定每一个数据对象应该被分配为静态还是动态。如果分析了每个数据对象,则例行程序结束,如步骤168所示。如果需要分析其它数据对象,则例行程序返回到步骤150并且识别要分析的下一个数据对象。例行程序优选地是以定期间隔执行的背景例行程序。
在控制器的正常工作期间,电力循环之间的时间间隔可以很长。结果,改变的记录会变为不可管理的大小。因此,优选的是,在处理器30上执行的例行程序定期地将改变从日志复制到基本图像。例行程序可以作为在处理器30上执行的背景任务而定期地执行。当改变从日志被复制到基本图像时,从日志清除改变并将静态数据对象的新的值合并到基本图像中。
在失电之后并且在电力恢复时,日志与基本图像一起被用于使每个静态数据对象返回到它在失电之前的状态。首先,来自基本图像的每个静态数据对象的值从非易失性存储器34被复制到易失性存储器32。然后,从最旧到最近来重放日志中的每个条目,使得存储在日志中的每个改变以与原来存储在日志中的顺序相同的顺序被复制到易失性存储器32中。可选地,如果日志记录了发送到控制器的命令,则重放日志使得按照接收命令的次序重新发出命令,以类似地将易失性存储器中的静态数据对象恢复到它们在失电之前的状态。
根据本发明的另一个实施例,可以通过针对存储在易失性存储器32中的每个静态数据对象建立的状态标志来追踪静态数据对象的改变。该状态标志可以是例如在零和一之间选择性切换的位。该状态标志可以与数据对象一起被存储在易失性存储器32中,或者可选地,存储器的单独块可以包括每个数据对象的状态标志。在接收静态数据对象的新的值时,新的值被存储在易失性存储器32中的位置,并且设置状态标志,指示必须更新该数据对象的相应的非易失性存储器34的位置。可以执行背景例行程序以定期检查静态数据对象的状态标志和更新已改变的那些静态数据对象的非易失性存储器位置。在更新非易失性存储器位置之后,背景例行程序清除状态标志。在失电时,设置了状态标志的任何静态数据对象的值与动态数据对象的值一起被复制到非易失性存储器。
本方法首先将数据对象放在非易失性存储器中。需要在运行时间存取的每个数据对象被识别为静态或动态对象。当通过控制程序或外部接口修改数据对象时,首先在非易失性存储器中更新静态对象,然后将其存储在易失性存储器中,同时在易失性存储器中直接更新动态对象。如果移除对控制器的供电,则每个动态数据对象的当前值被复制到非易失性存储器。当恢复对控制器的供电时,频繁存取的静态数据对象和动态数据对象两者的值从非易失性存储器被复制到易失性存储器。
无论是将静态数据对象的改变直接存储到非易失性存储器34还是保持静态数据对象的改变的记录,都必须管理静态数据对象在非易失性存储器34中的位置与易失性存储器32中的位置之间的相关性。根据本发明的第一实施例,静态数据对象可被直接写入易失性和非易失性存储器装置32和34两者。在处理器上执行的单独的例行程序追踪使用的和未使用的存储器位置。例行程序类似地保持数据对象在易失性和非易失性存储器两者中的相应存储器地址的记录。
根据本发明的另一个实施例,嵌入式文件系统可被存储在非易失性存储器装置34上以用于在处理器30上执行。嵌入式文件系统管理使用的和未使用的存储器位置,并保持数据对象在易失性和非易失性存储器两者中的相应存储器地址的记录。在处理器30上执行的单独的例行程序与文件系统接口,以将数据对象定位和存储在文件系统中。
根据本发明的又一实施例,嵌入式数据库可被存储在非易失性存储器装置34上并可通过在处理器30上执行的例行程序访问。嵌入式数据库管理使用的和未使用的存储器位置,并保持数据对象在易失性和非易失性存储器32和34两者中的相应存储器地址的关系记录。关系记录可以将数据对象的第一名称或地址存储在易失性存储器中,将对应于数据对象的第二名称或地址存储在非易失性存储器中,或者将每个数据对象的名称、地址或其它说明的任何组合存储在易失性和非易失性存储器中。在处理器30上执行的单独的例行程序与嵌入式数据库接口,以开发数据库的查找能力,从而有助于静态数据对象的高效更新和插入。
应理解,本发明并不局限于其对这里提到的部件的结构和布置的细节的应用。本发明可以是其它实施例,并能够以各种方式来实践或实施。前述的变化和变型在本发明的范围之内。还应理解,这里公开和定义的发明扩展到文本和/或附图提到的或从其显然可知的两个或更多个个体特征的所有替换组合。所有这些不同的组合构成本发明的各个替选方面。这里描述的实施例说明了实践本发明的已知的最佳模式,并且将使得本领域的技术人员能够使用本发明。
Claims (10)
1.一种被配置成在失电时将多个数据对象保留在存储器中的工业控制系统,包括:
处理器,其执行具有多个静态数据对象和多个动态数据对象的控制程序,其中,每个静态数据对象以小于预选阈值频率的频率改变,而每个动态数据对象以大于预选阈值频率的频率改变;
非易失性存储器装置,其存储每个所述数据对象;以及
易失性存储器,其存储每个动态数据对象和至少一部分静态数据对象,其中,所述处理器执行至少一个例行程序,以追踪每个静态数据对象的改变、当所述静态数据对象改变时更新所述易失性存储器中的所述静态数据对象、以及监测低电压信号,并且其中,如果所述低电压信号是有效的,则所述至少一个例行程序将每个动态数据对象的当前值从所述易失性存储器复制到所述非易失性存储器。
2.根据权利要求1所述的工业控制系统,其中,当对所述处理器恢复供电时,在所述处理器上执行的所述至少一个例行程序将存储在易失性存储器中的所述动态数据对象和所述部分静态数据对象中的每个从所述非易失性存储器复制到所述易失性存储器。
3.根据权利要求1所述的工业控制系统,其中,通过在更新所述易失性存储器中的所述静态数据对象之前更新所述非易失性存储器中的所述静态数据对象,来执行追踪所述静态数据对象的所述改变。
4.根据权利要求1所述的工业控制系统,其中,通过将每个改变的记录存储到所述非易失性存储器中,来执行追踪所述静态数据对象的所述改变。
5.根据权利要求4所述的工业控制系统,其中,当对所述处理器恢复供电时,在所述处理器上执行的所述至少一个例行程序将存储在易失性存储器中的所述动态数据对象和所述部分静态数据对象中的每个从所述非易失性存储器复制到所述易失性存储器,并且所述至少一个例行程序根据所述改变记录来恢复存储在所述易失性存储器中的所述静态数据对象的所述改变。
6.根据权利要求4所述的工业控制系统,其中,在所述处理器上执行的所述至少一个例行程序根据所述改变记录、以预定间隔更新非易失性存储器中的所述静态数据对象,并且随后清除非易失性存储器中的所述改变记录。
7.根据权利要求1所述的工业控制系统,其中,至少一个数据对象具有被分类为静态的第一数据元素和被分类为动态的第二数据元素。
8.根据权利要求1所述的工业控制系统,其中,所述非易失性存储器装置包括尺寸等于或大于动态数据对象的数量的保留部分,并且其中,如果所述低电压信号是有效的,则每个动态数据对象的所述当前值被复制到所述保留部分。
9.根据权利要求1所述的工业控制系统,其中,动态数据对象的量足够小,使得在无电池备份的情况下执行将所述动态数据对象的所述值从所述易失性存储器复制到所述非易失性存储器。
10.根据权利要求1所述的工业控制系统,其中,所述至少一个例行程序监测每个动态数据对象和每个静态数据对象更新的速率,比较每个动态数据对象和每个静态数据对象更新的速率与所述阈值频率,以及根据每个动态数据对象和每个静态数据对象更新的速率与所述阈值频率的比较,将每个所述数据对象重新分类成静态数据对象或动态数据对象。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/780,308 US8566561B2 (en) | 2010-05-14 | 2010-05-14 | Method to separate and persist static and dynamic portions of a control application |
US12/780,308 | 2010-05-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102360317A true CN102360317A (zh) | 2012-02-22 |
CN102360317B CN102360317B (zh) | 2014-07-09 |
Family
ID=44117767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110130868.XA Active CN102360317B (zh) | 2010-05-14 | 2011-05-16 | 分离和存留控制应用的静态和动态部分的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8566561B2 (zh) |
EP (1) | EP2386921B1 (zh) |
CN (1) | CN102360317B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899162A (zh) * | 2014-03-06 | 2015-09-09 | 株式会社日立制作所 | 计算机装置 |
CN106610786A (zh) * | 2015-10-26 | 2017-05-03 | 联车(上海)信息科技有限公司 | 数据存储方法 |
CN109313476A (zh) * | 2016-06-15 | 2019-02-05 | 大陆汽车有限公司 | 用于机动车辆中的电子模块的电流节省存储概念 |
CN109408401A (zh) * | 2017-08-18 | 2019-03-01 | 旺宏电子股份有限公司 | 存储器装置的管理系统及管理方法 |
CN111833927A (zh) * | 2020-06-02 | 2020-10-27 | 珠海博雅科技有限公司 | 非易失存储器内置参数配置方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101625777B1 (ko) * | 2011-12-28 | 2016-05-30 | 인텔 코포레이션 | 휘발성 메모리 및 비휘발성 메모리 간의 코드 및 데이터 저장소들을 분산하기 위한 방법 및 장치 |
US20150207669A1 (en) * | 2012-09-14 | 2015-07-23 | Telefonaktiebolaget L M Ericsson (Publ) | Data redundancy in a data layered architecture network |
US9424125B2 (en) * | 2013-01-16 | 2016-08-23 | Google Inc. | Consistent, disk-backed arrays |
WO2014120140A1 (en) * | 2013-01-30 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Runtime backup of data in a memory module |
US9213626B2 (en) * | 2013-02-28 | 2015-12-15 | Hamilton Sundstrand Corporation | Configuration data based diagnostic data capture |
JP2014182653A (ja) * | 2013-03-19 | 2014-09-29 | Canon Inc | ログ管理システム、ログ管理方法、画像形成装置およびその制御方法、並びにプログラム |
WO2015126518A2 (en) * | 2014-02-20 | 2015-08-27 | Rambus Inc. | High performance persistent memory |
US9471129B2 (en) * | 2014-08-07 | 2016-10-18 | Empire Technology Development Llc | Determining a write operation |
CN105512056A (zh) * | 2014-09-24 | 2016-04-20 | 中兴通讯股份有限公司 | 数据保存方法、装置及终端 |
JP6466803B2 (ja) * | 2015-08-28 | 2019-02-06 | 株式会社マキタ | 作業機器 |
US10838818B2 (en) * | 2015-09-18 | 2020-11-17 | Hewlett Packard Enterprise Development Lp | Memory persistence from a volatile memory to a non-volatile memory |
US10395448B2 (en) | 2016-08-03 | 2019-08-27 | Hamilton Sundstrand Corporation | Remote data capture and management systems |
US10839862B2 (en) * | 2018-04-25 | 2020-11-17 | Micron Technology, Inc. | Cross point array memory in a non-volatile dual in-line memory module |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1420663A (zh) * | 2001-09-14 | 2003-05-28 | 赛博莱赛特公司 | 用于在网络上传送数据的方法和装置 |
US20040103238A1 (en) * | 2002-11-26 | 2004-05-27 | M-Systems Flash Disk Pioneers Ltd. | Appliance, including a flash memory, that is robust under power failure |
CN1766765A (zh) * | 2004-09-27 | 2006-05-03 | 洛克威尔自动控制技术股份有限公司 | 为选择运行时间设备而使用基于属性的绑定和可配置规则的自动化系统和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4571692A (en) * | 1984-04-12 | 1986-02-18 | General Electric Company | Electronic demand register |
US7487316B1 (en) * | 2001-09-17 | 2009-02-03 | Rockwell Automation Technologies, Inc. | Archive and restore system and methodology for on-line edits utilizing non-volatile buffering |
US7072879B2 (en) * | 2001-10-22 | 2006-07-04 | Siemens Building Technologies, Inc. | Partially embedded database and an embedded database manager for a control system |
-
2010
- 2010-05-14 US US12/780,308 patent/US8566561B2/en active Active
-
2011
- 2011-05-13 EP EP11165993.4A patent/EP2386921B1/en active Active
- 2011-05-16 CN CN201110130868.XA patent/CN102360317B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1420663A (zh) * | 2001-09-14 | 2003-05-28 | 赛博莱赛特公司 | 用于在网络上传送数据的方法和装置 |
US20040103238A1 (en) * | 2002-11-26 | 2004-05-27 | M-Systems Flash Disk Pioneers Ltd. | Appliance, including a flash memory, that is robust under power failure |
CN1766765A (zh) * | 2004-09-27 | 2006-05-03 | 洛克威尔自动控制技术股份有限公司 | 为选择运行时间设备而使用基于属性的绑定和可配置规则的自动化系统和方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899162A (zh) * | 2014-03-06 | 2015-09-09 | 株式会社日立制作所 | 计算机装置 |
CN106610786A (zh) * | 2015-10-26 | 2017-05-03 | 联车(上海)信息科技有限公司 | 数据存储方法 |
CN109313476A (zh) * | 2016-06-15 | 2019-02-05 | 大陆汽车有限公司 | 用于机动车辆中的电子模块的电流节省存储概念 |
CN109408401A (zh) * | 2017-08-18 | 2019-03-01 | 旺宏电子股份有限公司 | 存储器装置的管理系统及管理方法 |
CN109408401B (zh) * | 2017-08-18 | 2023-03-24 | 旺宏电子股份有限公司 | 存储器装置的管理系统及管理方法 |
CN111833927A (zh) * | 2020-06-02 | 2020-10-27 | 珠海博雅科技有限公司 | 非易失存储器内置参数配置方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2386921A3 (en) | 2014-03-26 |
EP2386921A2 (en) | 2011-11-16 |
CN102360317B (zh) | 2014-07-09 |
US20110283070A1 (en) | 2011-11-17 |
US8566561B2 (en) | 2013-10-22 |
EP2386921B1 (en) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102360317B (zh) | 分离和存留控制应用的静态和动态部分的方法 | |
CN102063943B (zh) | Nand闪存参数自动检测系统 | |
US7444445B2 (en) | Selectively adjusting signal compensation parameters and data rate for transmission of data through a smart cable | |
CN102981931A (zh) | 虚拟机备份方法及装置 | |
CN101652738B (zh) | 用于在数据处理系统中给系统功率损失通知定阈值的系统和方法 | |
CN101960430A (zh) | 混合非易失性存储器 | |
CN101960528A (zh) | 混合存储子系统中的可变分区 | |
CN101960529B (zh) | 电容节能验证 | |
CN110083554A (zh) | 用于配置混合存储器模块的存储器的i/o的设备及方法 | |
CN103677654A (zh) | 一种存储数据的方法及电子设备 | |
CN101937376A (zh) | 一种数据管理方法及数据存储装置 | |
CN105359108A (zh) | 带有自适应纠删码生成的存储系统 | |
CN106155943B (zh) | 一种双控存储设备的掉电保护的方法及装置 | |
CN107533349A (zh) | 具有中央化存储装置的电力受保护存储器 | |
CN102937931A (zh) | 一种日志数据传输的方法和系统 | |
CN104102535A (zh) | 进程迁移方法和可迁移操作系统 | |
CN104216796A (zh) | 一种数据备份、恢复方法及电子设备 | |
CN102025758B (zh) | 分布式系统中数据副本的恢复方法、装置和系统 | |
CN103514216A (zh) | 基于数据库系统的流水号生成方法 | |
CN103870319A (zh) | 信息处理方法、装置及电子设备 | |
CN108762989B (zh) | 固态硬盘的数据存储方法、装置、设备及可读存储介质 | |
DE102019118631A1 (de) | Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben | |
CN102043636A (zh) | 现场可编程门阵列位文件下载的方法及装置 | |
CN111966531B (zh) | 数据快照方法、装置、计算机设备及存储介质 | |
CN101308474B (zh) | 存储系统及存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: ohio Patentee after: Rockwell automation technologies Address before: ohio Patentee before: Rockwell Automation Tech Inc. |
|
CP01 | Change in the name or title of a patent holder |