一种GOOSE报文序列的生成和编辑方法与流程

文档序号:11147283阅读:来源:国知局

技术特征:

1.一种GOOSE报文序列的生成和编辑方法,其特征在于,包括如下步骤:

(1)报文序列的生成:

采用复合链表存储报文序列,每帧报文是复合链表(SList)中的一个节点(pFNode),利用pFNode复制以及复合链表的插入和删除操作实现报文序列的编辑;

其中pFNode内含有:报文结构的内容(context)、指向下一个pFNode的指针(pnext)、与下一帧报文的时间间隔(ts)、结束条件(condition);

其中context中含有的关键字段:状态号(stNum)和顺序号(sqNum),关键字段的值根据关键字段生成规则来自动产生,或者对其编辑写入指定的值;其中stNum的自动生成规则是:与其相邻的上一帧报文的stNum相同;sqNum的自动生成规则是:比其相邻的上一帧报文的sqNum大1,如果到达字段的最大值,则为1;

其中ts的值根据当前pFNode的context的sqNum的值来自动产生,或者对其编辑写入指定的值,自动产生的规则是:如果sqNum为0或1,则ts为T1,如果sqNum为2,则ts为T2,如果sqNum为3,则ts为T3,如果sqNum为其他值,则ts为T0;

其中报文序列的顺序由pnext指出,或者pnext回头指向一个复合链接中的节点形成环形链表,或者pnext为空表明序列结束;当形成环形链表时,设置某个pFNode的condition来结束循环,condition的内容包括循环次数(count)和循环跳出节点(pout),当该pFNode的count满足条件时,跳出到pout处,如果pout为空,则序列结束;

(2)报文序列的编辑:

报文序列的拷贝操作:将选定的报文序列中的每一个节点复制一份,将复制的节点依次插入到指定位置的节点之后,节点在插入时,除stNum、sqNum、ts和condition外其他属性的值保持不变,stNum、sqNum和ts的值依据用户选择,具体有两种操作模式:一是依据自动生成规则产生新的值,二是保持原有的值,condition的值清除;指定位置的节点原有的后续节点的stNum、sqNum和ts的值依据用户选择,具体有两种操作模式:一是依据自动生成规则产生新的值,二是保持原有的值;

报文序列的删除操作:将选定的报文序列中的每一个节点从链表中删除,被选定的最后一个节点之后的所有节点,除stNum、sqNum和ts属性外其他属性的值保持不变,而stNum、sqNum和ts的值依据用户选择,具体有两种操作模式:一是依据自动生成规则产生新的值,二是保持原有的值;

报文序列的循环操作:将选定的报文序列的最后一个节点的condition的pout设置为该节点的pnext,将该节点的condition的count设置为循环的次数,将该节点的pnext设置为选定的报文序列的第一个节点。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1