一种地址分配方法、装置、设备及存储介质制造方法及图纸

技术编号:37291786 阅读:16 留言:0更新日期:2023-04-21 03:22
本申请公开了一种地址分配方法、装置、设备及存储介质,涉及数据处理领域,包括:判断分布式控制系统内是否已完成增量编译,若是则收集所述分布式控制系统内的与预设函数类型对应的所有函数数据;从所述所有函数数据中确定出在所述增量编译过程中已被修改的目标函数数据,并确定当前所述目标函数数据对应的目标地址;从所述分布式控制系统获取目标空闲地址,并利用所述目标空闲地址替换当前所述目标函数数据对应的所述目标地址,以为所述目标函数数据重新分配新的地址。这样一来,可以在确定系统已完成在增量编译后确定所有发生变化数据的地址,并从系统内存中找出相应大小的空闲地址对发生变化数据的原地址进行单独替换,有效提高了内存利用率。有效提高了内存利用率。有效提高了内存利用率。

【技术实现步骤摘要】
一种地址分配方法、装置、设备及存储介质


[0001]本专利技术涉及数据处理
,特别涉及一种地址分配方法、装置、设备及存储介质。

技术介绍

[0002]DCS(Distributed Control System,分布式控制系统)系统增量编译时,如果FB(Function Block,功能块)函数中任意的函数数据修改,字节大小变动,或者偏移变动,都会导致需要对FB的函数数据重新进行内存分配。
[0003]现有技术中,当组态好逻辑并对FB函数中的数据第一次编译后,系统会为FB函数中的分配相应的地址,在修改了FB函数类型中的函数数据信息之后,需要重新编译并且重新分配内存地址,第一次编译为全编译,会为所有的FB分配地址,之后的编译均为增量编译,需要给有变化的FB数据重新分配地址。但现有技术中,实现增量编译为发生变化的FB函数数据重新分配地址时,会将FB函数数据作为一个结构体处理,因为结构体的地址是连续的,所以如果FB函数数据中的一个点项有变化,则此FB的其他函数数据也会受到影响,这样会导致下装时对碎片化内存的利用率较低,影响系统内存占用。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种地址分配方法、装置、设备及存储介质,可以在确定系统已完成在增量编译后确定所有发生变化数据的地址,并从系统内存中找出相应大小的空闲地址对发生变化数据的原地址进行单独替换,有效提高了内存利用率。其具体方案如下:
[0005]第一方面,本申请公开了一种地址分配方法,应用于分布式控制系统,包括:<br/>[0006]判断分布式控制系统内是否已完成增量编译,若是则收集所述分布式控制系统内的与预设函数类型对应的所有函数数据;
[0007]从所述所有函数数据中确定出在所述增量编译过程中已被修改的目标函数数据,并确定当前所述目标函数数据对应的目标地址;
[0008]从所述分布式控制系统获取目标空闲地址,并利用所述目标空闲地址替换当前所述目标函数数据对应的所述目标地址,以为所述目标函数数据重新分配新的地址。
[0009]可选的,所述判断分布式控制系统内是否已完成增量编译,若是则收集所述分布式控制系统内的与预设函数类型对应的所有函数数据之前,还包括:
[0010]确定所述分布式控制系统内的所有函数数据,并为所述所有函数数据分配对应且各自独立的目标地址。
[0011]可选的,所述判断分布式控制系统内是否已完成增量编译之前,还包括:
[0012]判断是否获取到通过预设指令触发接口触发的目标增量编译指令;所述目标增量编译指令为通过目标组态软件生成的用于对所述分布式控制系统内的函数数据进行修改的指令;
[0013]若已获取到所述目标增量编译指令,则触发针对所述分布式控制系统的增量编译操作。
[0014]可选的,所述判断是否获取到通过预设指令触发接口触发的目标增量编译指令之后,还包括:
[0015]若没有获取到所述目标增量编译指令,则若没有通过预设指令接受接口接收到用户发送的目标增量编译指令,则禁止触发针对所述分布式控制系统的增量编译操作。
[0016]可选的,所述从所述所有函数数据中确定出在所述增量编译过程中已被修改的目标函数数据,包括:
[0017]从所述所有函数数据中确定出通过所述目标增量编译指令进行修改的函数数据,以得到相应的目标函数数据。
[0018]可选的,所述从所述分布式控制系统获取目标空闲地址,并利用所述目标空闲地址替换当前所述目标函数数据对应的所述目标地址,包括:
[0019]确定所述目标函数数据对应的所述目标地址的内存占用大小;
[0020]基于所述目标地址的内存占用大小从所述分布式控制系统中确定相应大小的目标空闲地址,并利用所述目标空闲地址替换所述目标函数数据对应的所述目标地址。
[0021]可选的,所述预设函数类型为FB函数。
[0022]第二方面,本申请公开了一种地址数据分配装置,应用于分布式控制系统,包括:
[0023]数据收集模块,用于判断分布式控制系统内是否已完成增量编译,若是则收集所述分布式控制系统内的与预设函数类型对应的所有函数数据;
[0024]地址确定模块,用于从所述所有函数数据中确定出在所述增量编译过程中已被修改的目标函数数据,并确定当前所述目标函数数据对应的目标地址;
[0025]地址替换模块,用于从所述分布式控制系统获取目标空闲地址,并利用所述目标空闲地址替换当前所述目标函数数据对应的所述目标地址,以为所述目标函数数据重新分配新的地址。
[0026]第三方面,本申请公开了一种电子设备,包括:
[0027]存储器,用于保存计算机程序;
[0028]处理器,用于执行所述计算机程序以实现如前述的地址分配方法。
[0029]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如前述的地址分配方法。
[0030]本申请中,首先判断分布式控制系统内是否已完成增量编译,若是则收集所述分布式控制系统内的与预设函数类型对应的所有函数数据;从所述所有函数数据中确定出在所述增量编译过程中已被修改的目标函数数据,并确定当前所述目标函数数据对应的目标地址;从所述分布式控制系统获取目标空闲地址,并利用所述目标空闲地址替换当前所述目标函数数据对应的所述目标地址,以为所述目标函数数据重新分配新的地址。由此可见,本申请可以在判断分布式控制系统完成增量编译后确定所有发生变化数据的地址,并从系统内存中找出相应大小的空闲地址对发生变化数据的原地址进行单独替换。这样一来,可以实现对FB函数数据的增量编译,并且可以对发生辩护的函数数据的地址进行单独替换,提高了系统中内存的利用率,并且修改一个函数数据的地址不会影响其他数据的地址,减小了对下位机控制器控制软件的扰动。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0032]图1为本申请提供的一种地址分配方法流程图;
[0033]图2为本申请提供的一种具体的地址分配方法流程图;
[0034]图3为本申请提供的一种地址分配装置结构示意图;
[0035]图4为本申请提供的一种电子设备结构图。
具体实施方式
[0036]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0037]现有技术中,实现增量编译为发生变化的FB函数数据重新分配地址时,会将FB函数数据作为一个结构体处本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种地址分配方法,其特征在于,应用于分布式控制系统,包括:判断分布式控制系统内是否已完成增量编译,若是则收集所述分布式控制系统内的与预设函数类型对应的所有函数数据;从所述所有函数数据中确定出在所述增量编译过程中已被修改的目标函数数据,并确定当前所述目标函数数据对应的目标地址;从所述分布式控制系统获取目标空闲地址,并利用所述目标空闲地址替换当前所述目标函数数据对应的所述目标地址,以为所述目标函数数据重新分配新的地址。2.根据权利要求1所述的地址分配方法,其特征在于,所述判断分布式控制系统内是否已完成增量编译,若是则收集所述分布式控制系统内的与预设函数类型对应的所有函数数据之前,还包括:确定所述分布式控制系统内的所有函数数据,并为所述所有函数数据分配对应且各自独立的目标地址。3.根据权利要求1所述的地址分配方法,其特征在于,所述判断分布式控制系统内是否已完成增量编译之前,还包括:判断是否获取到通过预设指令触发接口触发的目标增量编译指令;所述目标增量编译指令为通过目标组态软件生成的用于对所述分布式控制系统内的函数数据进行修改的指令;若已获取到所述目标增量编译指令,则触发针对所述分布式控制系统的增量编译操作。4.根据权利要求3所述的地址分配方法,其特征在于,所述判断是否获取到通过预设指令触发接口触发的目标增量编译指令之后,还包括:若没有获取到所述目标增量编译指令,则若没有通过预设指令接受接口接收到用户发送的目标增量编译指令,则禁止触发针对所述分布式控制系统的增量编译操作。5.根据权利要求3所述的地址分配方法,其特征在于,所述从所述所有函数数据中确定出在所述...

【专利技术属性】
技术研发人员:汪玲
申请(专利权)人:杭州和利时自动化有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1