The invention relates to an electric information acquisition task management method based on object oriented switching protocols: 1, create global variables in memory; 2, determine whether parameters related to data acquisition tasks change; 3, determine whether there is a need for invalid tasks; 4, synchronize effective data acquisition tasks; 5, lookup high excellence First level task, and point to the address of the data acquisition task; 6, synchronize the storage number of OAD content and electric energy meter file; 7, select the electric meter and OAD to copy the data from the group frame; 8, initiate the meter reading communication. The invention ensures the timely response of the high priority task, saves a lot of memory resources, reduces the cost of a large number of products, and ensures the continuity of the repeated execution of each task after the task is switched.
【技术实现步骤摘要】
基于面向对象的交换协议的用电信息采集任务管理方法
本专利技术涉及用电信息采集
,尤其涉及一种基于面向对象的交换协议的用电信息采集任务管理方法。
技术介绍
电力系统中的用电信息采集系统,之前所采用的通信规约Q/GDW1376.1、DL/T645等均是面向过程的,存在着功能扩展性和应用灵活性欠缺的缺点,一旦有业务变更时,需要对协议重新修订、对现场的终端设备进行大规模重新升级,增大了现场运维的压力。基于以上原因,用电信息采集系统中面向对象的用电信息数据交换协议逐步推广开来,该协议具有业务适应强、采集效率高、数据源唯一和兼容性好的特点。尤其是在采集终端设备中,根据该协议的功能,通过任务配置表可以很方便地对数据采集任务(包括普通采集任务、事件采集任务、透明任务)进行优先级划分、采集数据内容变更、任务执行频率及周期调整等工作。由于各数据采集任务均有一定的时效性,因此如何根据各任务的优先级进行有效、合理地分配各采集任务的执行时间变得尤为重要。目前的解决方法是把各采集任务的所有数据信息复制到内存中,然后,在内存中根据各采集任务的执行时间段和优先级进行排序后筛查优先执行的任务。这种方案的优点是操作方便,执行效率高,但是由于各采集任务包含的数据信息很多,付出的代价就是需要消耗大量的内存资源。对于嵌入式系统的产品来讲,硬件资源、尤其是内存容量的增加意味着产品成本的升高,不利于提升产品的市场竞争力。
技术实现思路
针对上述问题,本专利技术提供了一种在保证各采集任务执行效率不变的情况下,同时能够降低内存消耗,进而降低产品成本的采集任务管理的方法。本专利技术所采取的技术方案为:基于 ...
【技术保护点】
基于面向对象的交换协议的用电信息采集任务管理方法,其特征在于,包括以下步骤:步骤1、在采集终端的内存中创建以下全局变量:当前运行任务控制块指针pstClientTaskTCBCur、任务控制块数组StClientTaskTCBArry[N]、数据采集内容配置表stFileTable、需采集电表序号配置表ucMS[M],所述的StClientTaskTCBArry[N]中的[N]表示采集终端的参数存储区所实际支持的最大采集任务数量,所述的ucMS[M]中的[M]表示采集终端所支持的最大电能表数量;所述的StClientTaskTCBArry[N]是一个结构体数组,包含以下成员:当前任务类型ucCurTaskType,当前任务优先级ucTaskPri,当前所抄取的OAD计数器指针ucCurDataIDPtr,当前所抄取的电表编号uwCurMeterNO、其中用SELECT_CHANL_FIN表示所有电表抄取完毕;所述的stFileTable包含以下成员:采集总数量ucOADSum,ucOAD[K]、即待采集的OAD;步骤2、查询采集终端的参数存储区,判断与数据采集任务相关的参数是否发生变更 ...
【技术特征摘要】
1.基于面向对象的交换协议的用电信息采集任务管理方法,其特征在于,包括以下步骤:步骤1、在采集终端的内存中创建以下全局变量:当前运行任务控制块指针pstClientTaskTCBCur、任务控制块数组StClientTaskTCBArry[N]、数据采集内容配置表stFileTable、需采集电表序号配置表ucMS[M],所述的StClientTaskTCBArry[N]中的[N]表示采集终端的参数存储区所实际支持的最大采集任务数量,所述的ucMS[M]中的[M]表示采集终端所支持的最大电能表数量;所述的StClientTaskTCBArry[N]是一个结构体数组,包含以下成员:当前任务类型ucCurTaskType,当前任务优先级ucTaskPri,当前所抄取的OAD计数器指针ucCurDataIDPtr,当前所抄取的电表编号uwCurMeterNO、其中用SELECT_CHANL_FIN表示所有电表抄取完毕;所述的stFileTable包含以下成员:采集总数量ucOADSum,ucOAD[K]、即待采集的OAD;步骤2、查询采集终端的参数存储区,判断与数据采集任务相关的参数是否发生变更,若否则转步骤3,若是则将步骤1中所定义的全局变量全部初始化为默认值、并转步骤3;步骤3、判断StClientTaskTCBArry[N]是否有需要置为无效的任务,若否则转步骤4,若是则将ucCurTaskType置为无效、即设置ucCurTaskType=TASK_INVALID、并转步骤4;步骤4、将采集终端中参数存储区内有效的数据采集任务同步到StClientTaskTCBArry[N]内的任务数据;步骤5、在StClientTaskTCBArry[N]内查找高优先级任务,根据ucTaskPri进行排序,从中选出优先级最高的数据采集任务、并把pstClientTaskTCBCur指向该数据采集任务在StClientTaskTCBArry[N]内的地址;步骤6、根据步骤5所选出的优先级最高的数据采集任务,在对应的参数存储区内查找该任务所要采集的数据OAD内容,把OAD内容同步到stFileTable中、并把该任务需要采集的电能表档案在参数存储区内的存储序号同步到ucMS[M]中;步骤7、根据pstClientTaskTCBCur所指向的任务控制块,通过uwCurMeterNO和ucCurDataIDPtr选择电表及OAD进行组帧抄取数据;步骤8、根据步骤7中选择出的电能表档案信息和所要采集的数据OAD进行组帧,发起抄表通信。2.根据权利要求1所述的基于面向对象的交换协议的用电信息采集任务管理方法,其特征在于,步骤3中判断任务控制块数组是否有需要置为无效的任务的判断依据是:当前任务类型有效,当前所抄取的电表编号为SELECT_CHANL_FIN,则将其置为无效的任务。3.根据权利要求1所述的基于面向对象的交换协议的用电信息采集任务管理方法,其特征在于,步骤4中将采集终端中参数存...
【专利技术属性】
技术研发人员:衡泽超,许远向,李先刚,许岩,赵长收,王春城,宁晨光,宋忠强,薛坤,郑宝毅,王福斌,刘十佳,
申请(专利权)人:积成电子股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。