一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于动态申请内存小时均值计算方法和系统、设备及介质与流程

2021-12-14 22:28:00 来源:中国专利 TAG:

技术特征:
1.一种基于动态申请内存小时均值计算方法,其特征在于,包括以下步骤:获取并解析上位机下装的组态文件报文;根据所述组态文件报文的下装类型,解析组态文件报文中是否有小时均值功能块并动态分配或者释放内存,确定对所述组态文件报文中小时均值功能块的内存分配方式,根据内存分配方式对所述组态文件报文中小时均值功能块内存分配;若内存分配成功,则为所述小时均值功能块中相应变量置值并进行数据拷贝;进行所述小时均值功能块的数据采集及运算,得到小时均值。2.根据权利要求1所述的基于动态申请内存小时均值计算方法,其特征在于:所述获取并解析上位机下装的组态文件报文,包括:对获取的组态文件报文的下装类型、指令码和数据区进行解析,组态文件报文的下装类型包括初始类下装、更新类下装和删除类下装,指令码为0~355,数据区数据个数为0~1024个,判断组态文件报文的下装类型、指令码和数据区是否符合要求,若符合要求则进行存储。3.根据权利要求2所述的基于动态申请内存小时均值计算方法,其特征在于:所述判断组态文件报文的下装类型、指令码和数据区是否符合要求还包括:若不符合要求则向上位机返回下装失败报文。4.根据权利要求2所述的基于动态申请内存小时均值计算方法,其特征在于:所述根据所述组态文件报文的下装类型,解析组态文件报文中是否有小时均值功能块并动态分配或者释放内存,确定对所述组态文件报文中小时均值功能块的内存分配方式,具体包括:若下装类型为初始类下装,遍历解析组态文件报文中的指令码,如果读取到的指令码与小时均值功能块对应的指令码相等,则为所述小时均值功能块申请内存;若下装类型为更新类下装,则分别解析所述组态文件报文和所述组态文件报文对应的控制器中的旧组态文件报文,分别判断是否存在小时均值功能块对应的指令码:当所述组态文件报文中存在所述指令码而旧组态文件报文中不存在时,则为所述小时均值功能块申请内存;当所述组态文件报文中不存在所述指令码而旧组态文件报文中存在时,则释放旧组态文件报文中所述小时均值功能块对应的内存;当所述组态文件报文和旧组态文件报文中均存在所述指令码时,判断所述组态文件报文和旧组态文件报文中均存在的所述指令码对应的实例名是否相同:如果不同,则为新下装的组态文件报文中的小时均值功能块申请内存,同时释放旧组态文件报文中的小时均值功能块对应的内存;如果相同,则不做内存的申请或释放处理;若下装类型为删除类下装,解析旧组态文件报文中的指令码,如果解析到小时均值功能块对应的指令码,则释放所述小时均值功能块对应的内存区。5.根据权利要求4所述的基于动态申请内存小时均值计算方法,其特征在于:所述为所述小时均值功能块中相应变量置值,具体包括:如果内存分配成功,将所述小时均值功能块中的标志位置为1;若为所述小时均值功能块申请内存且所述小时均值功能块中的标志位已经被置为1时:
将申请得到内存的起始地址置于所述小时均值功能块中的相应地址变量数据处;将当前采集数据应存放的位置偏移量置于所述小时均值功能块中的相应起始位的位置偏移的变量数据处;当所述实例名相同时,进行数据拷贝操作,将旧组态文件报文中小时均值功能块对应的所有变量拷贝给新下装的组态文件报文中所述功能码的变量处。6.根据权利要求1所述的基于动态申请内存小时均值计算方法,其特征在于:所述进行所述小时均值功能块的数据采集及运算,包括:所述小时均值功能块计算设定时间内采集到的数据的小时均值,其中,所述数据为连续采集,采集的时间间隔满足设定的时间间隔后,开始计算小时均值,采集时间间隔超过设定的时间间隔则采用滑动窗口法丢弃最先采集到的值,并将丢弃最先采集到的值替换为最新采集到的值以保证采集到的总的数据数量是设定的时间间隔内应采集到的数据数量,从而得到表示现场最新状态的小时均值。7.根据权利要求6所述的基于动态申请内存小时均值计算方法,其特征在于:所述小时均值功能块计算设定时间内采集到的数据的小时均值为连续计算过程;小时均值功能块中有变量记录当前采集的数据存放位置,所述数据存放位置代表新采集的数据在内存中存放的偏移地址;当数据采集量超过设定时间内应采集的数据量时,则所述数据存放位置变为初始偏移值0,并从起始存放位置重新开始记录,同时总的数据数量不再增加。8.根据权利要求1所述的基于动态申请内存小时均值计算方法,其特征在于:所述进行小时均值功能块的数据采集及运算,具体包括:数据采集过程,采集频率为1秒,小时均值功能块中有变量记录当前采集的数据存放位置i,根据小时均值功能块中变量记录的内存起始地址和当前数据存放的位置偏移量i,取到内存中数据存放位置i处的数据d
i
,小时均值功能块中代表当前数据总和的变量sum减去数据d
i
,加上当前采集到的数据c
i
,然后将内存区中的数据d
i
替换为数据ci,存储成功后,位置偏移量i变为下一个数据存放位置i 1;判断位置偏移量i是否超过设定的时间间隔内应采集的数据量dnum:若超过,将位置偏移量i清0,即位置偏移量i对数据量dnum取余,同时,将开始计算小时均值标志位置1;当小时均值计算标志位为1时,开始计算小时均值=sum/dnum,并输出小时均值;若位置偏移量i不超过设定的时间间隔内应采集的数据量dnum,或所述小时均值计算标志位不为1,或输出所述小时均值后,返回所述数据采集过程步骤,从内存的起始位置处重新开始存储采集数据,实时计算小时均值。9.一种基于动态申请内存小时均值计算系统,其特征在于,包括:报文获取模块,用于获取并解析上位机下装的组态文件报文;内存分配模块,用于根据所述组态文件报文的下装类型,解析组态文件报文中是否有小时均值功能块并动态分配或者释放内存,确定对所述组态文件报文中小时均值功能块的内存分配方式;根据内存分配方式对所述组态文件报文中小时均值功能块内存分配;置值拷贝模块,用于若内存分配成功,则为所述小时均值功能块中相应变量置值并进行数据拷贝;
均值运算模块,用于进行所述小时均值功能块的数据采集及运算,得到小时均值。10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1

8任一项所述基于动态申请内存小时均值计算方法的步骤。11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1

8任一项所述基于动态申请内存小时均值计算方法的步骤。

技术总结
本发明提供一种基于动态申请内存小时均值计算方法、系统、设备及存储介质:方法包括获取并解析上位机下装的组态文件报文;根据所述组态文件报文的下装类型,解析组态文件报文中是否有小时均值功能块并动态分配或者释放内存,确定对所述组态文件报文中小时均值功能块的内存分配方式,根据内存分配方式对所述组态文件报文中小时均值功能块内存分配;若内存分配成功,则为所述小时均值功能块中相应变量置值并进行数据拷贝;进行所述小时均值功能块的数据采集及运算,得到小时均值。该方法能够精确计算连续时间间隔内采集到的数据的小时均值。在保证数据运算精度的同时也提高了运算效率。率。率。


技术研发人员:胡波 翟亮晶 徐卫峰 程国栋 张勇 蔡丹 柳曦 管磊 王哲蓓
受保护的技术使用者:南京南瑞继保电气有限公司
技术研发日:2021.11.15
技术公布日:2021/12/13
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献