多数据源的数据队列存储有序控制方法及系统的制作方法

文档序号:9865180阅读:174来源:国知局
多数据源的数据队列存储有序控制方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种数据队列的控制方法,特别涉及一种智能配电设备多数据源的数据队列控制系统及方法。
【背景技术】
[0002]智能配电终端设备一般都具有SOE事项记录功能,由于早期配网终端的检测量相对比较少,SOE的处理方法一般采用直接存储的方式进行处理。配网技术的发展使得线路开关的检测量不断增加,除来自外部的硬件遥信外,内部的检测模块也会生成SOE事项记录,对SOE事项记录的处理和存储提出了更高的要求。SOE事项记录大量产生时,直接存储的方式会导致事项记录的丢失。由于配网终端设备还要对线路上的电压电流等模拟量进行采样检测,直接存储的方式会占用采样的时间,致使模拟量采集数据不准确,从而使内部检测模块生成错误信息。因此,需要一种数据控制方法协调来自不同数据源的SOE事项记录。

【发明内容】

[0003]本发明所要解决的问题是提供一种多数据源的数据队列存储有序控制方法及系统,该方法通过设置多级SOE数据队列的方式,控制来自不同数据源的SOE出队入队的时间,从而保证配网终端设备的SOE数据不丢失和模拟量采样的正确性。
[0004]为实现上述目的,本发明的具体方案如下:
[0005]多数据源的数据队列存储有序控制方法,包括:
[0006]接收外部SOE事项记录并放入一级外部开入量SOE消息队列,外部开入量SOE消息队列的出队指针是否与入队指针不相等时,操作出队指针将外部开入量SOE消息转存到相应的二级外部SOE消息队列中;
[0007]判断自检元件的变位状态,然后直接生成自检SOE事项记录存放入二级自检SOE消息队列;
[0008]检测超出限值的保护元件生成保护事项报告,保护报告包含保护SOE事项记录,接收到保护报告后将保护SOE事项直接提取出来存放入二级保护SOE消息队列;
[0009]按照从高到低的优先级依次轮询外部SOE事项、保护SOE事项和自检SOE事项的二级SOE消息队列,当检测到二级SOE消息队列的入队指针和出队指针不一致时,将入队的SOE事项记录从二级SOE消息队列中读出存放入三级SOE消息队列;按照先入先出原则将三级SOE消息队列中的SOE事项传送到上一级设备。
[0010]进一步的,配网终端设备的外部开入量检测板检测产生外部SOE事项记录并传送至主控制模块,主控制模块以中断通讯接收方式接收外部SOE事项记录,放入一级外部开入量SOE消息队列。
[0011]进一步的,检测二级外部SOE消息队列的出队指针是否与入队指针相等,如果相等,无须进行操作;如果不相等,将二级外部SOE消息队列中新入队的SOE事项记录出队,直到出队指针与入队指针相等。当出队指针到达队尾且与入队指针不相等时,出队指针跳转到队头,SOE事项记录从二级外部SOE消息队列出队后,入队到三级SOE消息队列。
[0012]进一步的,检测自检标志位的状态,如果状态发生变化生成自检SOE事项记录,然后存放入二级自检SOE消息队列,检测二级自检SOE消息队列的出队指针是否与入队指针相等,如果相等,无须进行操作;如果不相等,将新入队的SOE事项记录出队,SOE事项记录从二级自检SOE消息队列出队后,入队到三级SOE消息队列。
[0013]进一步的,检测到有新的保护报告产生时将保护SOE事项记录从保护报告中提取出来,存放入二级保护SOE消息队列,检测二级保护SOE消息队列的出队指针是否与入队指针相等,如果相等,无须进行操作;如果不相等,将新入队的SOE事项记录出队,SOE事项记录从二级保护SOE消息队列出队后,入队到三级SOE消息队列。
[0014]进一步的,如果三级SOE消息队列中有新入队的SOE事项记录,则三级SOE消息队列的出队指针增加,直到出队指针等于入队指针,把新入队的SOE事项记录上送给上一级设备,如果SOE事项记录入队三级SOE消息队列,将会判断消息队列是否有操作标志,如果正在进行操作将暂时不入队,等待操作结束时在进行入队操作。
[0015]进一步的,一级外部开入量SOE消息队列、二级外部SOE消息队列、二级自检SOE消息队列、二级保护SOE消息队列及三级SOE消息队列中每个队列在入队操作时,每入队一个SOE事项记录入队指针增一,当入队指针到达队尾时跳转到队头,在出队操作时,每出队一个SOE事项记录出队指针增一,直到出队指针等于入队指针,当出队指针到达队尾时跳转到队头。
[0016]进一步的,一级外部开入量SOE消息队列、二级外部SOE消息队列、二级自检SOE消息队列、二级保护SOE消息队列及三级SOE消息队列中每一级的存储区均按照SOE事项记录格式进行定义,设置出队指针和入队指针以及队列操作标志。
[0017]多数据源的数据队列存储有序控制系统,包括:
[0018]外部开入量检测板,用于将产生的外部SOE事项记录发送至主控制模块;
[0019]主控制模块,接收外部SOE事项记录并放入一级外部开入量SOE消息队列,外部开入量SOE消息队列的出队指针与入队指针不相等时,操作出队指针将外部开入量SOE消息转存到相应的二级外部SOE消息队列中;
[0020]自检模块,判断自检元件的变位状态,然后直接生成自检SOE事项记录存放入二级自检SOE消息队列;
[0021]保护逻辑模块,检测超出限值的保护元件生成保护事项报告,保护报告包含保护SOE事项记录,接收到保护报告后将保护SOE事项直接提取出来存放入二级保护SOE消息队列;
[0022]主控制模块,按照从高到低的优先级依次轮询外部SOE事项、保护SOE事项和自检SOE事项的二级SOE消息队列,当检测到二级SOE消息队列的入队指针和出队指针不一致时,将入队的SOE事项记录从二级SOE消息队列中读出存放入三级SOE消息队列;按照先入先出原则将三级SOE消息队列中的SOE事项传送到上一级设备。
[0023]进一步的,所述主控制模块每设定时间将其内部时间发送给外部开入量检测板进行通讯校时,保证外部开入量检测板生成的SOE事项记录在时间上与主控制模块一致,主控制模块在整秒时发送脉冲信号给外部开入量检测板。
[0024]进一步的,所述开入量检测板独立产生带时标的SOE事项记录,一级外部开入量SOE消息队列的存储区大小需要满足大于开入量产生的SOE事项记录所占用的存储区。
[0025]进一步的,主控制模块的开销大部分用于模拟量的采集和计算,此功能是在中断服务程序中实现,主控制模块将在主循环中将一级外部开入量SOE消息队列中的SOE事项记录转存到二级外部SOE消息队列中。
[0026]主控制模块在主循环中依据自检元件标志位的不同状态生成自检SOE事项记录存放入二级自检SOE消息队列。
[0027]主控制模块在主循环中将保护SOE事项记录从保护报告中提取出来,存放入二级保护SOE消息队列。
[0028]本发明的有益效果:
[0029]1、外部SOE事项记录由2块或者2块以上的外部开入量检测板生成,由通讯方式上送给主控制模块。外部开入量检测板在较短时间内会生成数目较多的SOE事项记录,如果不采用消息队列的方式对SOE事项记录进行缓存,主控制模块因处理模拟量信号的采集和计算来不及对SOE事项记录处理,入队指针到达队尾后自动跳转到队头,从而覆盖掉已入队但未出队的SOE事项记录。主控制模块在主循环中将缓存在一级SOE消息队列中的SOE事项记录转存到二级SOE消息队列中,可保证接收到全部的外部SOE事项记录。
[0030]2、开入量检测板采用通讯时标对时和秒脉冲对齐的方式,保证主控制模块和多块开入量检测板的时间一致。因开入量检测板是独立生成SOE事项记录,如果主控制模块和开入量检测板的时间不一致,必然会导致不同开入量检测板在同一时间产生的外部SOE事项记录以及与主控制模块产生的自检或保护SOE事项记录在时间上出现错乱,最终导致无法判断事项发生的准确时间。
[0031]3、自检模块中的检测元件相对较多,分散在不同的程序模块中,采用直接生成SOE的方式必然会增加其他模块的负担,导致系统检测效率降低。另外,自检SOE对时间的要求相对不高,在自检模块中将相对应的自检标志置位或清除,在主循环中检测自检元件的状态生成SOE事项记录。因三级SOE消息队列与上一级设备由通讯方式完成SOE事项记录传输的,如果直接将自检SOE事项记录放入三级SOE消息队列,会导致通讯时传输的SOE事项记录数量不确定。缓存入二级自检SOE消息队列的方式是检测三级SOE消息队列的队列操作标志为空闲状态时,将其出队再转入三级SOE消息队列,可确保每一次通讯交互SOE事项记录的稳定性。
[00
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1