【技术实现步骤摘要】
一种内存管理方法、装置、设备及存储介质
[0001]本申请涉及计算机
,特别涉及一种内存管理方法、装置、设备及存储介质。
技术介绍
[0002]工业控制系统中的控制器运行的工程程序来源于上位机的组态软件,即上位机的组态软件依据控制器的资源配置编辑生成工程组态数据,然后通过编译将组态语言信息、硬件配置信息、工程附属信息、网络变量信息、任务配置信息、SOE(Sequence Of Event,事件顺序记录)变量信息等工程组态数据编译成目标控制器平台的机器语言,并下装到目标控制器中进行运行,工程组态定义和使用的各种变量在运行时需要的内存是在编译时分配的,包括内存区号、内存偏移地址及所占内存大小。
[0003]然而,由于工业控制系统中的控制器属于嵌入式设备,内部资源有限,对数据的安全性要求较高,并且内存承担程序运行时的数据存储,因此如何安全有效的管理内存显的特别重要,尤其是对正在运行的控制器的工程进行修改调整,涉及到内存变动时的管理技术难度大,处理不完善会对现场控制造成严重影响。
[0004]针对上述问题,目前 ...
【技术保护点】
【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:当监测到正在运行的控制器中的内存数据发生变化时,则确定出已经发生变化的增量变量和初始化目标变量中未发生变化的第一变量,并记录所述第一变量的内存信息,得到第一变量内存信息;创建与所述控制器等量的新内存,并根据所述第一变量内存信息将所述第一变量回填至所述新内存中;获取当前所述新内存中的空闲区,并在所述空闲区中为所述增量变量重新分配内存地址,再进行初始化处理。2.根据权利要求1所述的内存管理方法,其特征在于,还包括:获取所述控制器中目标数据区的所有变量,并通过编译对所述所有变量进行初始化分配内存地址,以得到所述初始化目标变量。3.根据权利要求1所述的内存管理方法,其特征在于,所述增量变量包括发生了删除、新增和数据类型修改中的任意一种或几种操作的变量。4.根据权利要求3所述的内存管理方法,其特征在于,所述确定出已经发生变化的增量变量和初始化目标变量中未发生变化的第一变量,并记录所述第一变量的内存信息,得到第一变量内存信息,包括:确定出初始化目标变量中已经发生了删除操作的第二变量和发生了新增操作的第三变量;确定出所述初始化目标变量中未发生变化的第一变量,并记录所述第一变量的内存地址信息和内存大小信息,得到第一变量内存信息。5.根据权利要求4所述的内存管理方法,其特征在于,所述获取当前所述新内存中的空闲区,并在所述空闲区中为所述增量变量重新分配内存地址,包括:获取当前所述新内存中与发生了删除操作的所述第二变量对应的删除空闲区;判断所述删除空闲区所占的内存大小是否小于所述第三变量对应的内存大小,若小于则将部分所述第三变量分配至所述删除空闲区,并将其余部分所述第三变量分配至所述新内存中...
【专利技术属性】
技术研发人员:徐兴平,兰文华,
申请(专利权)人:杭州和利时自动化有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。