CN117785554A - 设备掉电数据保持方法、系统、设备和可读存储介质 - Google Patents
设备掉电数据保持方法、系统、设备和可读存储介质 Download PDFInfo
- Publication number
- CN117785554A CN117785554A CN202311664401.2A CN202311664401A CN117785554A CN 117785554 A CN117785554 A CN 117785554A CN 202311664401 A CN202311664401 A CN 202311664401A CN 117785554 A CN117785554 A CN 117785554A
- Authority
- CN
- China
- Prior art keywords
- power
- data
- code
- equipment
- holding
- 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
Links
- 230000014759 maintenance of location Effects 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000009471 action Effects 0.000 claims abstract description 45
- 230000008859 change Effects 0.000 claims description 65
- 238000011084 recovery Methods 0.000 claims description 34
- 230000001960 triggered effect Effects 0.000 claims description 12
- 238000012423 maintenance Methods 0.000 abstract description 15
- 230000000694 effects Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000012986 modification Methods 0.000 description 19
- 230000004048 modification Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种设备掉电数据保持方法、系统、设备和可读存储介质,涉及掉电保持技术领域,该方法包括:在所述掉电设备触发数据下载动作时,恢复所述掉电设备的掉电数据;从上位机的组态软件获取隐式代码,其中,所述隐式代码通过所述组态软件对应的当前掉电保持数据以及所述掉电设备的历史掉电保持数据生成得到;基于所述隐式代码执行所述掉电数据的数据保持动作。所以,有效解决了相关技术中被控设备与组态软件之间的数据不同步,导致掉电数据错乱以及数据丢失的技术问题,实现了全量下载、增量下载以及复杂结构类型数据等场景下的掉电保持的技术效果。
Description
技术领域
本申请涉及掉电保持技术领域,尤其涉及一种设备掉电数据保持方法、系统、设备和可读存储介质。
背景技术
组态软件,又称组态监控系统软件,可以读写不同类型的工业设备,比如PLC(Programmable Logic Controller,可编程逻辑控制器)、仪表、智能模块和板卡等设备,采集工业现场的各种信号,从而对工业现场进行监视和控制。
工业现场的设备在掉电时可能会出现数据丢失,掉电数据无法保持,和/或掉电数据恢复错乱等问题,进而导致设备运行超出预期,引发生产事故。相关技术中的掉电保持方案是在设备断电后,保留断电前的数据,从而在设备重新上电启动后,基于断电前的数据继续执行控制逻辑。
但是在下载场景时,由于组态软件中用户程序的掉电数据可能已经发生发生变化,此时组态软件中用户程序的与设备上的掉电数据存在差异,导致掉电数据错乱以及数据丢失。
发明内容
本申请实施例通过提供一种设备掉电数据保持方法、系统、设备和可读存储介质,解决了相关技术中被控设备与组态软件之间的数据不同步,导致掉电数据错乱以及数据丢失的技术问题,实现了全量下载、增量下载以及复杂结构类型数据等场景下的掉电保持的技术效果。
本申请实施例提供了一种设备掉电数据保持方法,应用于掉电设备,所述设备掉电数据保持方法包括:
在所述掉电设备触发数据下载动作时,恢复所述掉电设备的掉电数据;
从上位机的组态软件获取隐式代码,其中,所述隐式代码通过所述组态软件对应的当前掉电保持数据以及所述掉电设备的历史掉电保持数据生成得到;
基于所述隐式代码执行所述掉电数据的数据保持动作。
可选地,所述在所述掉电设备触发数据下载动作时,恢复所述掉电设备的掉电数据的步骤包括:
备份所述掉电设备的设备掉电区数据至掉电内存文件;
在所述掉电设备执行所述数据下载动作时,对设备掉电区进行内存分配;
基于分配后的所述设备掉电区以及所述掉电内存文件恢复所述掉电数据。
可选地,所述基于所述隐式代码执行所述掉电数据的数据保持动作的步骤包括:
基于所述隐式代码,确定所述掉电数据中的待初始化数据以及待拷贝数据;
对所述待初始化数据执行初始化动作,以及对所述待拷贝数据执行拷贝动作,以完成掉电数据的数据保持。
本申请实施例提供了一种设备掉电数据保持方法,应用于上位机,所述设备掉电数据保持方法包括:
在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据;
确定所述掉电设备的掉电时刻;
根据所述掉电设备在所述掉电时刻对应的掉电保持数据,确定历史掉电保持数据;
根据所述当前掉电保持数据和所述历史掉电保持数据之间的差异,生成隐式代码。
可选地,所述在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据的步骤之前,包括:
确定所述组态软件对应的掉电保持变量;
在检测到所述掉电保持变量发生变更时,获取所述掉电保持变量变更后对应的描述信息;
基于所述描述信息更新掉电保持数据,确定所述当前掉电保持数据。
可选地,所述根据所述当前掉电保持数据和所述历史掉电保持数据之间的差异,生成隐式代码的步骤包括:
确定所述当前掉电保持数据和所述历史掉电保持数据之间的所述差异;
基于所述差异对应的差异类型和/或变更内容确定代码逻辑;
基于所述代码逻辑和所述变更内容生成所述隐式代码。
可选地,所述代码逻辑包括掉电值保持代码逻辑、初始化代码逻辑以及地址拷贝代码逻辑。
可选地,所述基于所述代码逻辑和所述变更内容生成所述隐式代码的步骤包括:
当所述代码逻辑为掉电值保持代码逻辑时,确定历史内存位置以及目标内存位置;
基于所述历史内存位置、所述目标内存位置和所述变更内容生成所述隐式代码。
此外,本申请还提出一种设备掉电数据保持系统,所述设备掉电数据保持系统包括:
掉电设备,所述掉电设备在触发数据下载动作时,恢复所述掉电设备的掉电数据,从上位机的组态软件获取隐式代码,并基于所述隐式代码执行所述掉电数据的数据保持动作;
上位机,所述上位机在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据,获取所述掉电设备对应的历史掉电保持数据,并基于所述当前掉电保持数据以及所述历史掉电保持数据生成隐式代码。
此外,本申请还提出一种设备掉电数据保持设备,所述设备掉电数据保持设备包括存储器、处理器及存储在存储器上并可在处理器上运行的设备掉电数据保持程序,所述处理器执行所述设备掉电数据保持程序时实现如上所述的设备掉电数据保持方法的步骤。
此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有设备掉电数据保持程序,所述设备掉电数据保持程序被处理器执行时实现如上所述的设备掉电数据保持方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于采用了在所述掉电设备触发数据下载动作时,恢复所述掉电设备的掉电数据;从上位机的组态软件获取隐式代码,其中,所述隐式代码通过所述组态软件对应的当前掉电保持数据以及所述掉电设备的历史掉电保持数据生成得到;基于所述隐式代码执行所述掉电数据的数据保持动作。所以,有效解决了相关技术中被控设备与组态软件之间的数据不同步,导致掉电数据错乱以及数据丢失的技术问题,实现了全量下载、增量下载以及复杂结构类型数据等场景下的掉电保持的技术效果。
附图说明
图1为本申请设备掉电数据保持方法实施例一的流程示意图;
图2为本申请设备掉电数据保持方法实施例一中掉电保持原理的示意图;
图3本申请设备掉电数据保持方法实施例二中步骤S210-S240的流程示意图;
图4为本申请设备掉电数据保持方法实施例三中步骤S310-S330的流程示意图;
图5为本申请设备掉电数据保持方法实施例四中步骤S410-S430的流程示意图;
图6为本申请设备掉电数据保持设备实施例涉及的硬件结构示意图。
具体实施方式
在相关技术中,传统意义上的掉电保持功能,指的是在设备断电后,可以保留断电前的数据;在设备重新上电启动后,可以基于断电前的数据继续执行控制逻辑。然而,对于现场产线来说,传统意义上的掉电保持功能远远无法满足生产及应用的需求。即现有产品的掉电保持方案大都是在PLC设备上对传统掉电保持功能的实现;因此,大都存在掉电功能对异常和多样化用户场景的包容性差,一旦发生异常就会导致设备死机、掉电数据丢失或掉电数据错乱;全量下载、增量下载场景下不支持或者无法很好地实现掉电保持功能;以及对于复杂结构等类型数据掉电保持功能异常等问题。本申请实施例采用的主要技术方案是:通过在PLC设备以及组态软件侧都下装掉电保持数据,在触发掉电数据恢复进程时,获取组态软件对应的掉电保持数据,以及掉电设备对应的历史掉电保持数据,进而根据两份掉电保持数据确定可执行的隐式代码,再根据隐式代码控制掉电设备执行掉电更新动作。从而实现了避免掉电数据的丢失,同时提高现场实际生产的工作效率和安全性。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,能够以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整地传达给本领域的技术人员。
实施例一
本申请实施例一提出了一种设备掉电数据保持方法,参照图1,应用于掉电设备,所述设备掉电数据保持方法包括:
步骤S110,在所述掉电设备触发数据下载动作时,恢复所述掉电设备的掉电数据。
在本实施例中,设备掉电是指被控设备因断电、失电导致设备停机而不再工作的状态。组态软件上用户程序中掉电数据的更改是用户行为,而掉电数据的更改是用户程序被更改的一种场景。用户程序被更改导致在登录设备时,需要进行全量下载和增量下载。即组态软件上的数据格式以及类型等描述信息可能发生变化,进而导致组态软件中的掉电保持变量和被控设备中的掉电保持变量不一致,引发生产问题。其中被控设备包括但不限于PLC设备。掉电数据恢复进程是指设备再次上电启动的过程中加载磁盘掉电文件到内存并完成正确映射的过程,即设备掉电后重新上电,或者组态软件的用户程序中的掉电保持变量发生了更改,判断触发掉电数据恢复进程。组态软件是一种用于设计、配置和管理工控系统的软件工具。它是在工业自动化领域广泛使用的一种软件工具,主要用于可视化地配置和管理控制系统中的设备、仪表和工艺参数。组态软件提供了一个可视化界面,使用户能够方便地创建和编辑HMI(Human-Machine Interface,人机界面)图形界面。用户可以通过组态软件将控制系统中的传感器、执行器、开关和其他设备关联在一起,并创建可视化的操作界面。通过图形化界面,操作员可以实时监测和控制系统的运行状态,直观地了解工艺过程,并能够进行远程操作和故障诊断。掉电设备是指和组态软件关联的PLC设备或者工作设备。掉电保持数据是根据组态软件上的掉电保持变量生成的数据文件,可以是xml(eXtensible Markup Language,可扩展标记语言)等格式。掉电保持变量对应组态软件中的各个数据种类。掉电保持变量是指在断电或停电情况下,能够保持其值的变量。当断电发生时,通常会导致所有存储在内存中的数据丢失。然而,某些应用场景中需要保留某些关键数据,以便在恢复电源后继续使用。
即组态软件运行在上位机中,而组态软件通过登录的用户程序,对掉电设备进行管理。在设备掉电数据保持系统中,包括上位机和掉电设备。
在本实施例中,数据下载动作是指上位机在执行全量下载以及增量下载时,向掉电设备发送对应的下载请求,掉电设备根据接收到的下载请求,触发数据下载动作。
作为一种可选实施方式,在在掉电设备触发数据下载动作时,设备会在数据下载动作开始之前,先执行退出逻辑,并将设备掉电区内存备份至掉电内存文件中。然后,当下载过程中,会先进行设备掉电区的内存分配,然后用掉电内存文件恢复掉电区数据。接着,掉电区数据恢复后,此时会调用生成的隐式代码,完成掉电数据的初始化和拷贝,恢复掉电数据值,从而实现对掉电数据的保持。
步骤S120,从上位机的组态软件获取隐式代码,其中,所述隐式代码通过所述组态软件对应的当前掉电保持数据以及所述掉电设备的历史掉电保持数据生成得到。
作为一种可选实施方式,根据预设通信方式,从上位机的组态软件获取掉电设备对应的隐式代码,其中隐式代码通过所述组态软件对应的当前掉电保持数据以及所述掉电设备的历史掉电保持数据生成得到。而上位机在检测到掉电数据恢复进程触发时,确定掉电恢复的掉电设备,获取组态软件中与掉电设备关联的掉电保持变量,根据掉电保持变量生成预设文件格式的掉电保持数据。确定掉电设备对应的历史掉电保持数据。
示例性的,以掉电设备当前存储的掉电保持数据作为历史掉电保持数据。
示例性的,确定掉电设备的掉电时间点,获取掉电时间点对应的掉电保持数据作为历史掉电保持数据。
示例性的,掉电保持数据描述了掉电保持变量的名称、类型、大小、地址、校验码等信息。
步骤S130,基于所述隐式代码执行所述掉电数据的数据保持动作。
作为一种可选实施方式,在隐式代码生成后,将隐式代码发送至掉电设备,以控制掉电设备在预设的触发时刻,执行隐式代码,完成掉电数据的更新动作,进而实现掉电设备和组态软件的数据同步。
参照图2,组态软件生成掉电数据xml文件,控制器,即PLC设备生成掉电数据xml文件,在组态软件对控制器进行程序登录时,对比两个掉电数据xml文件的差异,基于差异对比在组态软件生成隐式代码,并通过组态软件对应的程序下载隐式代码至控制器。控制器对掉电数据xml文件进行备份。在控制器重新上电后,下载隐式代码,进行掉电内存区的分配,PLC设备会在下载动作开始之前,先执行退出逻辑,并将设备掉电区域内存备份至掉电内存文件memory.mem中。当下载过程中,会先进行掉电区的内存分配,然后用memory.mem掉电内存文件恢复掉电区数据;掉电区数据恢复后,此时会动态地调用生成的隐式代码,完成掉电数据的初始化和拷贝,恢复掉电数据值,从而实现对掉电数据的保持
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了在触发掉电数据恢复进程时,获取组态软件对应的掉电保持数据,以及掉电设备对应的历史掉电保持数据;根据所述掉电保持数据和所述历史掉电保持数据之间的差异,生成隐式代码;基于所述隐式代码控制所述掉电设备执行掉电更新动作。所以,有效解决了相关技术中多个PLC设备与组态软件之间的数据不同步,导致掉电数据错乱以及数据丢失的技术问题,实现了全量下载、增量下载以及复杂结构类型数据等场景下的掉电保持的技术效果。
基于实施例一,本申请实施例二提出一种设备掉电数据保持方法,参照图3,应用于上位机,所述设备掉电数据保持方法包括:
步骤S210,在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据。
在本实施例中,当检测到系统发生断电,并且重新上电后,触发掉电数据恢复进程。使用中断、电源状态监测、定时触发等方式判断触发。获取组态软件对应的掉电保持数据,在触发掉电数据恢复进程时,首先获取组态软件对应的当前掉电保持数据。这些数据通常存储在非易失性存储器中,并且可以通过编程接口或协议进行读取。
步骤S220,确定所述掉电设备的掉电时刻。
在本实施例中,通过系统日志记录或特定的电源状态监测机制,确定掉电设备的掉电时刻。这可以用于确定恢复过程中需要参考的掉电保持数据。掉电时刻是指掉电设备断电的时刻,掉电时刻在掉电设备的日志中记录,或者上位机的组态软件中也可记录掉电设备的掉电时刻。
步骤S230,根据所述掉电设备在所述掉电时刻对应的掉电保持数据,确定历史掉电保持数据。
在本实施例中,根据掉电设备的掉电时刻,获取掉电设备上传的掉电时刻对应的历史掉电保持数据。即掉电设备将掉电时刻之后的数据视为历史掉电保持数据,将其记录下来以备后续使用。
作为一种可选实施方式,以掉电设备在掉电时刻对应的掉电保持数据,作为历史掉电保持数据,上位机在触发掉电数据恢复进程时,获取掉电设备日志中记录的掉电时刻,并获取掉电时刻对应的掉电保持数据作为掉电设备的历史掉电保持数据。
作为另一种可选实施方式,上位机在触发掉电数据恢复进程时,以掉电设备上传的掉电保持数据作为历史掉电保持数据,并不限定是掉电时刻对应的掉电保持数据。因为掉电设备在上电后,可以进行数据恢复,初步恢复丢失的数据,即此时以掉电设备上传的掉电保持数据作为历史掉电保持数据。
进一步地,当上位机在触发掉电数据恢复进程,并不是掉电设备掉电,而是上位机的组态软件主动进行掉电变量修改,则掉电设备并不具备掉电时刻,此时以掉电设备日志中最后存储的掉电保持数据作为历史掉电保持数据。
步骤S240,根据所述当前掉电保持数据和所述历史掉电保持数据之间的差异,生成隐式代码。
在本实施例中,由于组态软件中的数据在不断更新,因此掉电后掉电设备和组态软件中的掉电保持变量可能存在差异。差异是指掉电保持变量发生的变更。隐式代码是可执行的代码,掉电设备通过执行隐式代码来完成更新。
作为一种可选实施方式,基于掉电保持变量的数量以及掉电保持变量本身描述信息,对比当前掉电保持数据和历史掉电保持数据,判断当前掉电保持数据相比于历史掉电保持数据,是否发生了新增、删除掉电保持变量,掉电保持变量本身的描述信息是否发生变化,进而确定差异。根据差异以及对应的代码生成规则,生成隐式代码。
可选地,步骤S210之前,包括:
步骤S250,确定所述组态软件对应的掉电保持变量。
在本实施例中,组态软件管理着若干个工程,而工程则关联着至少一个PLC设备。组态软件对应的工程,关联有掉电保持变量,即规定了与该工程关联的设备流转数据的数据规范,包括但不限于变量名,变量类型等。
作为一种可选实施方式,基于触发的掉电数据恢复进程对应的工程,确定关联的掉电保持变量,即对于该工程对应的每个PLC设备,都使用工程关联的掉电保持变量。
步骤S260,在检测到所述掉电保持变量发生变更时,获取所述掉电保持变量变更后对应的描述信息。
在本实施例中,当检测到掉电保持变量发生了变更时,包括但不限于新增变量、删除变量以及变量更改,获取掉电保持变量在发生变更之后的描述信息。描述信息记载了掉电保持变量的名称、类型、大小、地址以及校验码等信息。
步骤S270,基于所述描述信息更新掉电保持数据,确定所述当前掉电保持数据。
在本实施例中,根据变更后的描述信息更新掉电保持数据,确定当前掉电保持数据,当前掉电保持数据是组态软件中掉电设备对应的用户程序,在当前时刻关联的掉电保持数据。
作为一种可选实施方式,根据变更后的描述信息更新掉电保持数据,并且将变更前的掉电保持数据进行备份,以便后续可以回退掉电保护数据的版本。
作为本实施例的一个示例,确定所述组态软件对应的掉电保持变量,首先,确定需要进行掉电保持的变量。这些变量通常是在断电后需要保持并在电源恢复时重新加载的关键数据。例如,设备的配置参数、运行状态、报警记录等。根据具体需求和系统设计,确定这些变量。检测掉电保持变量的变更,在掉电保持变量发生变更时,需要检测并记录变更后的值。可以使用中断、轮询或触发器等机制来实时监测变量的变化。获取掉电保持变量变更后对应的描述信息,在变量发生变更时,同时记录描述信息。描述信息可以包括变量的名称、类型、更新时间等。可以将描述信息作为元数据与掉电保持变量一起存储,并在后续使用时进行参考。基于描述信息更新掉电保持数据,根据描述信息中记录的变更,更新掉电保持数据。可根据需要设计相应的数据更新算法和数据结构,将变更后的值写入掉电保持存储器中。确保在断电恢复后,掉电保持数据能够被正确加载并恢复原始的变量值。
由于采用了确定所述组态软件对应的掉电保持变量;在检测到所述掉电保持变量发生变更时,获取所述掉电保持变量变更后对应的描述信息;基于所述描述信息更新所述掉电保持数据;然后获取掉电设备对应的历史掉电保持数据。实现了组态软件的掉电保持数据实时更新,并且在掉电设备掉电时确定掉电前使用的变量,进而对比差异。
基于实施例二,本申请实施例三提出一种设备掉电数据保持方法,参照图4,步骤S240包括:
步骤S310,确定所述当前掉电保持数据和所述历史掉电保持数据之间的所述差异。
在本实施例中,确定当前掉电保持数据和历史掉电保持数据之后,对比组态软件上的掉电保持数据和掉电设备上的历史掉电保持数据之间的差异,从而得知,本次登录下载哪些掉电保持变量发生了改变,从而根据该改变生成相对应的隐式代码,来实现处理逻辑。
作为一种可选实施方式,对比当前掉电保持数据和历史掉电保持数据,确定是否发生新增变量、删除变量以及更改变量,其中更改变量分为变量类型修改以及非变量类型修改。
步骤S320,基于所述差异对应的差异类型和/或变更内容确定代码逻辑。
在本实施例中,差异类型是指掉电保持变量变更的类型,变更内容是指掉电保持变量具体变更的详情信息。代码逻辑是组装成隐式代码的框架。
作为一种可选实施方式,确定差异后,基于差异确定差异类型和变更内容,并根据差异类型和/或变更内容确定代码逻辑,代码逻辑包括地址拷贝、初始化以及掉电值保持等。
其中,代码逻辑包括但不限于掉电值保持代码逻辑、初始化代码逻辑以及地址拷贝代码逻辑。其中掉电值保持代码逻辑以及地址拷贝代码逻辑生成的隐式代码,用于执行拷贝操作。初始化代码逻辑对应的隐式代码用于执行初始化操作,初始化变量值。
步骤S330,基于所述代码逻辑和所述变更内容生成所述隐式代码。
在本实施例中,以代码逻辑作为隐式代码的填充框架,基于变更内容对应的部分作为填充内容,生成隐式代码。
作为一种可选实施方式,确定掉电保持数据信息文件和历史掉电保持数据之间的差异,对比掉电保持数据信息文件和历史掉电保持数据之间的差异,可以使用比较工具或算法来实现。差异可以包括新增、修改和删除的掉电保持变量。确定差异类型和变更内容,根据差异的类型和变更内容,通过规则或编程逻辑来确定相应的代码逻辑。例如,若差异是新增的数据项,则生成相应的代码逻辑将新增数据项添加到恢复流程中。生成隐式代码,基于确定的代码逻辑和变更内容,生成所谓的隐式代码。隐式代码是指在运行时动态生成的代码,用于处理特定的差异和变更内容。可以使用代码生成技术来生成隐式代码。
示例性的,对比组态软件上的当前掉电保持数据和掉电设备上的历史掉电保持数据之间的差异,从而得知,本次登录下载哪些掉电变量发生了改变,从而根据该改变生成相对应的隐式代码,来实现处理逻辑。掉电变量的改变包括:新增变量,即变量名改变,对于新增加的掉电变量,需要对其进行初始化,即恢复初始值,确定代码逻辑为初始化。
删除变量:对于删除掉的变量,无需进行处理。
更改变量:这里将变量的更改分为“变量类型的更改”和“非变量类型的更改”。
对于“非变量类型的更改”,有如下场景:变量地址、初始值、注释、类别、特性的更改,这些方面的改变,不影响该变量的掉电值保持;除了变量地址改变的场景,其他场景无需进行处理;对于变量地址的更改,确定代码逻辑为地址拷贝,将变量的值从更改前的地址拷贝到更改后的地址位置。
对于变量类型的更改,规则如下:
变量类型名称改变:对于变量类型名称的改变,确定代码逻辑为初始化;
对于变量类型名称未变化的场景,类型为:
结构体:未变化的成员变量确定代码逻辑为掉电值保持,变化的成员变量确定代码逻辑为初始化;
功能块:未变化的成员变量确定代码逻辑为掉电值保持,变化的成员变量确定代码逻辑为初始化;
联合体、枚举:在大小减少时确定代码逻辑为初始化。
数组:数组的基类型变化时,确定代码逻辑为初始化;基类型未变化时,相同索引位置处的数组元素其掉电值需要保持,确定代码逻辑为掉电值保持,同时对于基类型未变化,但是索引位置发生变化的数组元素,确定代码逻辑为初始化。
在根据差异确定代码逻辑为后,基于代码逻辑和变更内容确定隐式代码,其中,对于需要初始化的场景,即初始化代码逻辑,是生成对应的初始化隐式代码逻辑,实现对掉电变量值的初始化。
对于需要进行掉电值保持的场景,即掉电值保持代码逻辑,需要生成对应的值拷贝代码逻辑,从而实现将掉电变量的值从更改前的内存位置拷贝到更改后的内存位置;为此,就需要识别需要拷贝的内存区域以及将要拷贝到的内存区域;为了提高拷贝效率,需要尽量识别连续内存区域,减少内存拷贝次数。
可选地,步骤S320包括:
步骤S321,当所述差异类型为新增变量时,确定所述代码逻辑为初始化代码逻辑。
在本实施例中,当差异类型为新增变量时,代表出现了新的变量名,此时对新增的变量进行初始化,确定代码逻辑为初始化代码逻辑。当差异类型为删除变量时,对于删除掉的掉电保持变量,无需进行处理。
步骤S322,当所述差异类型为非变量类型修改时,基于所述变更内容确定是否发生地址变更;当发生所述地址变更时,确定所述代码逻辑为地址拷贝代码逻辑。
在本实施例中,确定差异类型为非变量类型修改,通过对比掉电保持数据和历史掉电保持数据,确定差异类型为非变量类型修改的掉电保持变量。对于差异类型为非变量类型修改的数据项,可以通过检查变更内容来判断是否发生地址变更。例如,可以比较数据项的内存地址是否发生变化。确定代码逻辑为地址拷贝代码逻辑,当发生地址变更时,可以确定代码逻辑为地址拷贝代码逻辑。地址拷贝代码逻辑是将原来的地址指向的数据拷贝到新的地址,确保在恢复流程中使用的是新的地址。生成隐式代码,基于确定的地址拷贝代码逻辑,生成相应的隐式代码。隐式代码可以使用适当的编程语言和技术来生成,并集成到掉电数据恢复流程中。
步骤S323,当所述差异类型为变量类型修改时,基于所述变更内容确定变量类型名称是否改变;当所述变量类型名称改变时,确定所述代码逻辑为初始化代码逻辑;否则,基于变量类型确定所述代码逻辑。
在本实施例中,确定差异类型为变量类型修改,通过对比掉电保持数据和历史掉电保持数据,确定差异类型为变量类型修改的掉电保持变量。根据变更内容确定变量类型名称是否改变,可以通过检查变更内容,例如变量的定义和声明语句,判断变量类型名称是否改变。确定代码逻辑为初始化代码逻辑,如果发现变量类型名称改变了,则可以确定代码逻辑为初始化代码逻辑。初始化代码逻辑是在恢复流程中对变量进行重新初始化,以适应新的类型。否则,基于变量类型确定代码逻辑,如果变量类型名称没有改变,可以根据变量类型来确定代码逻辑。例如,可以根据变量类型编写相应的处理逻辑,如类型转换、内存分配等。
可选地,步骤S323包括:
步骤S3231,当所述变量类型为结构体、功能块时,确定目标变量中的成员变量是否发生变更;当所述成员变量发生变更时,确定所述代码逻辑为初始化代码逻辑;当所述成员变量未发生变更时,确定所述代码逻辑为掉电值保持代码逻辑。
在本实施例中,目标变量即发生变量类型修改,但是变量类型名称未发生修改的掉电保持变量。
作为一种可选实施方式,确定变量类型为结构体或功能块,通过对比掉电保持数据和历史掉电保持数据,确定变量类型为结构体或功能块。确定目标变量是否发生变更,通过检查变量的成员或功能块的输入输出参数,判断目标变量是否发生了任何修改。比较两个数据项的成员或参数的名称、类型或大小等信息。确定代码逻辑为初始化代码逻辑,如果发现目标变量发生了变更,需要进行初始化代码逻辑。这意味着在恢复流程中对目标变量进行重新初始化,以适应新的结构或功能块的定义。确定代码逻辑为掉电值保持代码逻辑,如果目标变量没有发生变更,则可以使用掉电值保持代码逻辑。掉电值保持代码逻辑是在恢复流程中直接使用保存的掉电值来恢复目标变量的值。
步骤S3232,当所述变量类型为数组时,确定目标变量的基类型是否发生变更;当所述基类型发生变更时,确定所述代码逻辑为初始化代码逻辑;当所述基类型未发生变更时,确定所述代码逻辑为掉电值保持代码逻辑。
作为一种可选实施方式,通过对比掉电保持数据信息文件和历史掉电保持数据,确定变量类型为数组。检查目标变量的基类型是否与之前的基类型相同。比较基类型的类型或大小等信息。如果目标变量的基类型发生了变更,需要进行初始化代码逻辑。这意味着在恢复流程中对目标变量进行重新初始化,以适应新的基类型。如果目标变量的基类型没有发生变更,则可以使用掉电值保持代码逻辑。掉电值保持代码逻辑是在恢复流程中直接使用保存的掉电值来恢复目标变量的值。
示例性的,确定目标变量的数据类型为数组时,确定目标变量的基类型是否发生变更,根据系统要求和编程环境,通过获取旧的基类型和比较旧值与新值的数据特征来判断基类型是否发生变更。可能需要使用反射或特定的工具函数来获取变量类型和比较数据特征。如果基类型发生了变更,需要进行初始化代码逻辑。在恢复流程中,根据新的基类型,重新分配内存或初始化数组的元素。如果基类型没有发生变更,代码逻辑为掉电值保持代码逻辑。在恢复流程中,直接使用保存的掉电值来恢复目标变量的值,不需要重新分配内存或初始化数组的元素。
可选地,步骤S330包括:
步骤S331,当所述代码逻辑为掉电值保持代码逻辑时,确定历史内存位置以及目标内存位置。
步骤S332,基于所述历史内存位置、所述目标内存位置和所述变更内容生成所述隐式代码。
作为一种可选实施方式,确定历史内存位置,根据系统和程序的特定要求,确定目标变量在历史上被存储的内存位置。这可能需要查找程序的历史执行记录或使用特定的调试工具来追踪内存位置的变化。确定目标内存位置,确定当前目标变量的内存位置,即经过变更后的位置。这可能是由于基类型变更导致重新分配或重新初始化了目标变量,或者是因为变更后的基类型兼容于原来的基类型,所以目标变量仍然被存储在同一内存位置。生成隐式代码,基于历史内存位置、目标内存位置和变更内容,生成隐式代码来保持目标变量值的持久性。
如果历史内存位置和目标内存位置相同,表示变更后的基类型兼容于原来的基类型,可以直接通过目标内存位置来恢复目标变量的值。
如果历史内存位置和目标内存位置不同,可能需要进行内存的复制或转移来恢复目标变量的值。这可以通过使用类似于memcpy()函数的方法,将源内存位置,即历史内存位置的内容复制到目标内存位置来实现。
根据变更内容的具体情况,还可以进行一些额外的处理,例如进行类型转换或重新计算相关的数据值。
生成的隐式代码可以在恢复流程中使用,确保目标变量值的持久性,并在基类型发生变更时正确地恢复该值。具体实现应该根据系统和编程环境的要求进行调整和测试。
进一步地,基于系统环境和编程语言的内存管理机制,确定目标变量在掉电前的内存位置。根据系统要求和编程环境,确定目标变量在恢复时的内存位置。这可以是恢复前的相同位置,也可以是新的内存位置(如果是重新分配内存)。根据历史内存位置和目标内存位置,以及变更内容,生成隐式代码来实现掉电值保持。隐式代码可以使用编程语言的内存操作函数或指令,将历史内存位置的值复制到目标内存位置。
可选地,步骤S330还包括:
当代码逻辑为初始化代码逻辑时,基于掉电保持变量的变量名,生成对应的隐式代码,以供掉电设备在执行隐式代码时,对变量名对应的掉电保持变量进行初始化。
由于采用了确定所述掉电保持数据和所述历史掉电保持数据之间的所述差异;基于所述差异对应的差异类型和/或变更内容确定代码逻辑;基于所述代码逻辑和所述变更内容生成所述隐式代码。进而使得准确地确定掉电保持变量发生变更的详情,实现了全量下载、增量下载等场景下对掉电变量的保持,以及复杂结构类型数据的掉电保持。
基于实施例一,本申请实施例四提出一种设备掉电数据保持,参照图5,步骤S110包括:
步骤S410,备份所述掉电设备的设备掉电区数据至掉电内存文件。
在本实施例中,确定掉电设备的掉电内存区域,这是保存在掉电期间未保存到持久存储器(例如硬盘)的内存数据区域。将掉电区数据备份至掉电内存文件。可以使用操作系统提供的工具或自定义的备份工具来实现,例如通过读取掉电设备的内存映射文件,或使用特定的调试工具。
步骤S420,在所述掉电设备执行所述数据下载动作时,对设备掉电区进行内存分配。
在本实施例中,根据系统要求和掉电设备的特定布局,内存分配为确定掉电区的备份区域和更新区域。
备份区域是用于存储掉电内存数据的特定内存区域,它通常是固定的,并且在恢复过程中也不会改变。
更新区域是掉电内存数据恢复过程中将要写入的特定内存区域。它在恢复过程中会被更新和修改。
步骤S430,基于分配后的所述设备掉电区以及所述掉电内存文件恢复所述掉电数据。
在本实施例中,使用掉电内存文件复原备份区域数据至掉电设备的备份区域。可以使用读取文件内容并写入掉电设备的方法来实现。这个恢复过程可能涉及文件读取、内存复制和写入掉电设备的操作。具体实现方法取决于所使用的操作系统和编程环境。
可选地,步骤S130包括:
步骤S440,基于所述隐式代码,确定所述掉电数据中的待初始化数据以及待拷贝数据;
步骤S450,对所述待初始化数据执行初始化动作,以及对所述待拷贝数据执行拷贝动作,以完成掉电数据的数据保持。
在本实施例中,基于历史内存位置和目标内存位置,以及所述变更内容,生成用于恢复掉电数据值的隐式代码。这个步骤与前面提到的步骤类似。隐式代码将使用备份区域中的掉电数据值来恢复更新区域中的数据。具体实现可能涉及内存复制、类型转换和数据操作等。需要注意的是,这个过程涉及恢复掉电内存数据,可能是对系统更底层的操作。因此,在实施时需要考虑安全性和系统兼容性,并通过适当的测试和验证确保恢复过程的正确性和可靠性。
作为一种可选实施方式,在获取到隐式代码后,由于掉电数据中包括需要掉电值保持的,不需要处理的以及需要初始化的。而掉电值保持是拷贝操作,因此根据隐式代码将掉电数据中需要处理的区分为待初始化数据以及待拷贝数据;根据隐式代码确定对应的掉电数据,即对所述待初始化数据执行初始化动作,以及对所述待拷贝数据执行拷贝动作,以完成掉电数据的数据保持。
示例性的,在生成隐式代码后,此时会执行应用程序下载;PLC设备会在下载动作开始之前,先执行退出逻辑,并将设备掉电区域内存备份至掉电内存文件memory.mem中。当下载过程中,会先进行掉电区的内存分配,然后用memory.mem掉电内存文件恢复掉电区数据;掉电区数据恢复后,此时会调用生成的隐式代码,完成掉电数据的初始化和拷贝,恢复掉电数据值,从而实现对掉电数据的保持。
本申请还提出一种设备掉电数据保持设备,参照图6,图6为本申请实施例方案涉及的硬件运行环境的设备掉电数据保持设备结构示意图。
如图6所示,该设备掉电数据保持设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图6中示出的结构并不构成对设备掉电数据保持设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
可选地,存储器1005与处理器1001电性连接,处理器1001可用于控制存储器1005的运行,还可以读取存储器1005中的数据以实现设备掉电数据保持。
可选地,如图6所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及设备掉电数据保持程序。
可选地,在图6所示的设备掉电数据保持设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请设备掉电数据保持设备中的处理器1001、存储器1005可以设置在设备掉电数据保持设备中。
如图6所示,所述设备掉电数据保持设备通过处理器1001调用存储器1005中存储的设备掉电数据保持程序,并执行本申请实施例提供的设备掉电数据保持方法的相关步骤操作:
在所述掉电设备触发数据下载动作时,恢复所述掉电设备的掉电数据;
从上位机的组态软件获取隐式代码,其中,所述隐式代码通过所述组态软件对应的当前掉电保持数据以及所述掉电设备的历史掉电保持数据生成得到;
基于所述隐式代码执行所述掉电数据的数据保持动作。
可选地,处理器1001可以调用存储器1005中存储的设备掉电数据保持程序,还执行以下操作:
确定所述组态软件对应的掉电保持变量;
在检测到所述掉电保持变量发生变更时,获取所述掉电保持变量变更后对应的描述信息;
基于所述描述信息更新掉电保持数据,确定所述当前掉电保持数据。
可选地,处理器1001可以调用存储器1005中存储的设备掉电数据保持程序,还执行以下操作:
在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据;
确定所述掉电设备的掉电时刻;
根据所述掉电设备在所述掉电时刻对应的掉电保持数据,确定历史掉电保持数据;
根据所述当前掉电保持数据和所述历史掉电保持数据之间的差异,生成隐式代码。
可选地,处理器1001可以调用存储器1005中存储的设备掉电数据保持程序,还执行以下操作:
确定所述当前掉电保持数据和所述历史掉电保持数据之间的所述差异;
基于所述差异对应的差异类型和/或变更内容确定代码逻辑;
基于所述代码逻辑和所述变更内容生成所述隐式代码。
可选地,处理器1001可以调用存储器1005中存储的设备掉电数据保持程序,还执行以下操作:所述代码逻辑包括掉电值保持代码逻辑、初始化代码逻辑以及地址拷贝代码逻辑。
可选地,处理器1001可以调用存储器1005中存储的设备掉电数据保持程序,还执行以下操作:
当所述代码逻辑为掉电值保持代码逻辑时,确定历史内存位置以及目标内存位置;
基于所述历史内存位置、所述目标内存位置和所述变更内容生成所述隐式代码。
可选地,处理器1001可以调用存储器1005中存储的设备掉电数据保持程序,还执行以下操作:
备份所述掉电设备的设备掉电区数据至掉电内存文件;
在所述掉电设备执行所述数据下载动作时,对设备掉电区进行内存分配;
基于分配后的所述设备掉电区以及所述掉电内存文件恢复所述掉电数据。
可选地,处理器1001可以调用存储器1005中存储的设备掉电数据保持程序,还执行以下操作:
基于所述隐式代码,确定所述掉电数据中的待初始化数据以及待拷贝数据;
对所述待初始化数据执行初始化动作,以及对所述待拷贝数据执行拷贝动作,以完成掉电数据的数据保持。
此外,本申请实施例还提出一种设备掉电数据保持系统,所述设备掉电数据保持系统包括:
掉电设备,所述掉电设备在触发数据下载动作时,恢复所述掉电设备的掉电数据,从上位机的组态软件获取隐式代码,并基于所述隐式代码执行所述掉电数据的数据保持动作;
上位机,所述上位机在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据,获取所述掉电设备对应的历史掉电保持数据,并基于所述当前掉电保持数据以及所述历史掉电保持数据生成隐式代码。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有设备掉电数据保持程序,所述设备掉电数据保持程序被处理器执行时实现如上所述设备掉电数据保持方法任一实施例的相关步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二,以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种设备掉电数据保持方法,其特征在于,应用于掉电设备,所述设备掉电数据保持方法包括:
在所述掉电设备触发数据下载动作时,恢复所述掉电设备的掉电数据;
从上位机的组态软件获取隐式代码,其中,所述隐式代码通过所述组态软件对应的当前掉电保持数据以及所述掉电设备的历史掉电保持数据生成得到;
基于所述隐式代码执行所述掉电数据的数据保持动作。
2.如权利要求1所述的设备掉电数据保持方法,其特征在于,所述在所述掉电设备触发数据下载动作时,恢复所述掉电设备的掉电数据的步骤包括:
备份所述掉电设备的设备掉电区数据至掉电内存文件;
在所述掉电设备执行所述数据下载动作时,对设备掉电区进行内存分配;
基于分配后的所述设备掉电区以及所述掉电内存文件恢复所述掉电数据。
3.如权利要求1所述的设备掉电数据保持方法,其特征在于,所述基于所述隐式代码执行所述掉电数据的数据保持动作的步骤包括:
基于所述隐式代码,确定所述掉电数据中的待初始化数据以及待拷贝数据;
对所述待初始化数据执行初始化动作,以及对所述待拷贝数据执行拷贝动作,以完成掉电数据的数据保持。
4.一种设备掉电数据保持方法,其特征在于,应用于上位机,所述设备掉电数据保持方法包括:
在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据;
确定所述掉电设备的掉电时刻;
根据所述掉电设备在所述掉电时刻对应的掉电保持数据,确定历史掉电保持数据;
根据所述当前掉电保持数据和所述历史掉电保持数据之间的差异,生成隐式代码。
5.如权利要求4所述的设备掉电数据保持方法,其特征在于,所述在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据的步骤之前,包括:
确定所述组态软件对应的掉电保持变量;
在检测到所述掉电保持变量发生变更时,获取所述掉电保持变量变更后对应的描述信息;
基于所述描述信息更新掉电保持数据,确定所述当前掉电保持数据。
6.如权利要求4所述的设备掉电数据保持方法,其特征在于,所述根据所述当前掉电保持数据和所述历史掉电保持数据之间的差异,生成隐式代码的步骤包括:
确定所述当前掉电保持数据和所述历史掉电保持数据之间的所述差异;
基于所述差异对应的差异类型和/或变更内容确定代码逻辑;
基于所述代码逻辑和所述变更内容生成所述隐式代码。
7.如权利要求6所述的设备掉电数据保持方法,其特征在于,所述代码逻辑包括掉电值保持代码逻辑、初始化代码逻辑以及地址拷贝代码逻辑。
8.如权利要求6所述的设备掉电数据保持方法,其特征在于,所述基于所述代码逻辑和所述变更内容生成所述隐式代码的步骤包括:
当所述代码逻辑为掉电值保持代码逻辑时,确定历史内存位置以及目标内存位置;
基于所述历史内存位置、所述目标内存位置和所述变更内容生成所述隐式代码。
9.一种设备掉电数据保持系统,其特征在于,所述设备掉电数据保持系统包括:
掉电设备,所述掉电设备在触发数据下载动作时,恢复所述掉电设备的掉电数据,从上位机的组态软件获取隐式代码,并基于所述隐式代码执行所述掉电数据的数据保持动作;
上位机,所述上位机在触发掉电数据恢复进程时,获取所述上位机的组态软件对应的当前掉电保持数据,获取所述掉电设备对应的历史掉电保持数据,并基于所述当前掉电保持数据以及所述历史掉电保持数据生成隐式代码。
10.一种设备掉电数据保持设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的设备掉电数据保持程序,所述处理器执行所述设备掉电数据保持程序时实现如权利要求1至8任一项所述的设备掉电数据保持方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有设备掉电数据保持程序,所述设备掉电数据保持程序被处理器执行时实现如权利要求1至8任一项所述的设备掉电数据保持方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311664401.2A CN117785554A (zh) | 2023-12-04 | 2023-12-04 | 设备掉电数据保持方法、系统、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311664401.2A CN117785554A (zh) | 2023-12-04 | 2023-12-04 | 设备掉电数据保持方法、系统、设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785554A true CN117785554A (zh) | 2024-03-29 |
Family
ID=90384419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311664401.2A Pending CN117785554A (zh) | 2023-12-04 | 2023-12-04 | 设备掉电数据保持方法、系统、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785554A (zh) |
-
2023
- 2023-12-04 CN CN202311664401.2A patent/CN117785554A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5039428B2 (ja) | プログラマブルコントローラ及びplcシステム | |
CN103827834B (zh) | 一种内存数据的迁移方法、计算机和装置 | |
KR101949115B1 (ko) | 디바이스 드라이버 검출 에러들의 자가 진단 및 자동 진단 데이터 수집 | |
US8229892B2 (en) | Storage apparatus and data restoring method used therein | |
CN109032838B (zh) | 虚拟机备份恢复数据一致性的自动校验方法 | |
CN103218227B (zh) | 一种安卓设备内置硬盘上兼容多种文件系统的方法及装置 | |
US20150058828A1 (en) | Plc simulation system, plc simulator, recording medium, and simulation method | |
CN109558260A (zh) | Kubernetes故障排除系统、方法、设备及介质 | |
JP2008033527A (ja) | ストレージ装置、ディスク装置及びデータ復元方法 | |
CN117785554A (zh) | 设备掉电数据保持方法、系统、设备和可读存储介质 | |
CN115242753B (zh) | 网卡mac地址烧录方法、系统、电子设备与存储介质 | |
KR20230004235A (ko) | 제어 장치, 제어 방법, 및 프로그램 | |
CN111159123B (zh) | 一种嵌入式可靠参数储存文件系统及方法 | |
EP3540533B1 (en) | Controller and data storage method | |
JP2010176201A (ja) | フラッシュメモリのデータ消失防止装置及びフラッシュメモリのデータ消失防止方法 | |
JP5481267B2 (ja) | 制御プログラム作成装置および制御プログラム作成装置の駆動方法 | |
CN106599046B (zh) | 分布式文件系统的写入方法及装置 | |
JP3547208B2 (ja) | マルチプロセッサシステム及びその構成方法 | |
US20180095434A1 (en) | Information processing apparatus, information processing method and program | |
CN105353980A (zh) | 一种内存数据的迁移方法、计算机和装置 | |
CN100410901C (zh) | 固件更新的方法及执行此方法的系统 | |
CN115470053A (zh) | 调试控制方法、调试控制系统、设备和可读存储介质 | |
JP7180319B2 (ja) | 情報処理装置、及び情報処理装置のダンプ管理方法 | |
TWI480799B (zh) | 嵌入式系統之韌體更新方法及設備 | |
JP3314719B2 (ja) | フラッシュeepromとその試験方法 |
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 |