一种基于flash的SOE存储与发送方法

文档序号:8282211阅读:271来源:国知局
一种基于flash的SOE存储与发送方法
【技术领域】
[0001] 本发明属于电力自动化领域,具体涉及一种基于flash的SOE存储与发送方法。
【背景技术】
[0002] 智能变电站监控及保护设备采集的遥信信号,主要是反应设备的运行状态告警信 息以及设备的操作情况,需要监控和保护设备实时的传输到主站设备,便于调度员或高级 功能软件分析采用。尤其是出现故障的时候,SOE是分析故障原因的重要手段之一。
[0003] SOE是带时标的遥信,属于历史数据,监控和保护也需要保存一定数量的SOE到本 地装置,也需要实时传送到主站。监控和保护设备传送SOE的时候,需要既不丢失也不能重 发传送,因此需要监控和保护设备能够记录SOE的读写指针。
[0004] 有些设备,例如通讯管理机,需要采集多个设备的S0E,并且可能需要发送到多个 主站,这样需要管理机系统软件保存多个设备的SOE指针,实现系统复位后SOE指针的记忆 功能。
[0005] 目前,监控或保护设备一般都是将SOE存储到不掉电RAM中,其读写指针也分配到 不掉电RAM中,这样可以实现实时发送的时候,不丢失也不重复发送,系统复位后,由于SOE 及SOE读写指针都是保存到不掉电RAM中,可以实现读写指针的记忆功能。但是,不掉电RAM 增加了系统的成本也增大了电路板的尺寸,有些要求尺寸的监控和保护设备上没有办法增 加不掉电RAM,并且在系统停电装置电池耗尽的时候会丢失S0E,因此将SOE保存到flash 中既降低成本又增加系统的可靠性。

【发明内容】

[0006] 本发明的目的是提供一种基于flash的SOE存储与发送方法,以解决当前监控装 置中SOE的存储与读写指针记忆功能。
[0007] 本发明解决其技术问题所采用的技术方案是:一种基于flash的SOE存储与发送 方法,包括如下步骤:
[0008] 确定保存到flash中的SOE的结构:
[0009]
【主权项】
1. 一种基于flash的SOE存储与发送方法,实现flash中SOE的存储、读取和系统复位 后的指针恢复,其特征在于:包括W下步骤: 1) 确定保存到flash中的S0E的存储结构; struct TSysTimeSoeFlash// 保存到 Flash 中的 Soe { DWO畑 dwMask ;//S0E 有效标志 0x5a5a5a5a DWO畑dwWPtr ;//写指针 DWORD dwName ;//设备名称,W便上电后校验恢复 DWO畑dwRPtr ;//读指针,未读时是OxfffffffT,读后为0 TSysTimeSoe sysTimeSoe ;//系统中 S0E 结构 }; 2) 根据系统中设备的数量N W及每个设备需要存储的S0E的数量,将Flash分成2N个 分区,每相邻的两个分区用于存储所对应设备的S0E,计算可存S0E的个数; 3) 当写入S0E的时候,根据写指针dwWPtr找到应写入S0E的f lash地址,然后dwWPtr 加1,dwMask置成有效标志0x5a5a5a5a,dwRPl:;r置成未读Oxffffffff,dwName设置成设备 的编码,将系统S0E填充,然后写入flash保存; 4) 当写入S0E的时候,如果计算出的Flash地址正好是该设备对应的两个存储扇区的 起始地址,则先格式化该扇区,保证S0E的循环写入; 5) 当读S0E的时候,根据读指针dwRPtr找到应读出的S0E的flash地址,来读出S0E, 读完毕将该S0E在flash中的读指针dwRPtr清零表示已经读取; 6) 当系统复位后,首先遍历flash中的S0E结构,找到最大的dwWPtr即为S0E的写指 针,找到第一个不为零的dwRPtr,即为S0E的读指针。
2. 根据权利要求1所述的基于flash的S0E存储与发送方法,其特征在于:用于存储 S0E的flash可W分成m*2*N个扇区,分配给每个设备2m个分区,其中m为整数,当写到第 1个扇区开始的时候,格式化1到m扇区,当写到第m+1个扇区的开始的时候,格式化m+1到 2m扇区。
【专利摘要】本发明公开了一种基于flash的SOE存储与发送方法,实现flash中SOE的存储、读取和系统复位后的指针恢复,首先确定保存到flash中的SOE的存储结构,根据系统中设备的数量N以及每个设备需要存储的SOE的数量,将Flash分成2N个分区,每相邻的两个分区用于存储所对应设备的SOE;当写入SOE的时候,根据写指针dwWPtr找到应写入SOE的flash地址,然后dwWPtr加1,dwMask置成有效标志,dwRPtr置成未读,dwName设置成设备的编码,将系统SOE填充,然后写入flash保存;当读SOE的时候,根据读指针dwRPtr找到应读出的SOE的flash地址,来读出SOE,读完毕将该SOE在flash中的读指针dwRPtr清零表示已经读取;本发明解决了当前监控装置中SOE的存储与读写指针无记忆功能的问题。
【IPC分类】G06F3-06, G06F12-02
【公开号】CN104598388
【申请号】CN201510005021
【发明人】盖希波, 丁海玲, 江树福
【申请人】青岛龙庆达电气有限公司
【公开日】2015年5月6日
【申请日】2015年1月6日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1