OpenFTA文件分析

原始格式:

theatre.ped
S NULL 0
57 Failure Of An Electrical Supply To An
Operating Theatre.


M Top 1 
44 Electrical Power To Operating Theatre Fails.
A AND1 2 
M Backup_Fail 1 
58 Backup Generator Fails to Start When Mains Power Fails.
O Or1 2 
B RELAY_FAIL 0 
B GEN_FAIL 0 
B MAINS_FAIL 0 



解读:
第1行:theatre.ped: 是事件数据库对应的文件名,必须在本文件所在的目录下。
第2行和第3行是整个tree文件的描述,第二行必须是3个以空格分割的字段,无实际意义(从代码来分析),第3行首先是一个数字,表示后面字符描述的长度。第4行和第5行都是第三行的延续。


第6行:M Top 1 :是一个Event(代码里面是Item结构)的开始,必须是3个以空格分割的字段,分别表示type+dormant(字符串,各占一个字符,dormant可以为空,type可以是M(INTERMEDIAT),B(BASIC), A(AND), D(DORMANT),(C)COND_ANAL等,完整的定义参考Item.h里面的定义 ),id(字符串)和子节点数(整形)。如果改行的type是M(INTERMEDIA),则下一行是其描述。
第7行:如果上一行的类型是M,这行是描述,先读一个整形数,再读一个空格,气候是是整形数个字符。
第8行:A AND1 2 :又开始一个Event,(这是一个子节点),是第6行的第1个子节点),该Event的第三个字段表示其子节点数,前两个字段和第6行的描述相同。
第9行:M Backup_Fail 1 :是第8行的第一个子节点,因为type是M,所有接下来一行是描述,其有1个子节点。
第10行是第9行的描述
第11行:O Or1 2 :是第9行的第1个节点,其有2个节点。
第12行:B RELAY_FAIL 0 :是第11行的第1个子节点,它没有子节点,是一个叶子节点;该行是第13行的兄弟节点。
第13行:B GEN_FAIL 0 :是第11行的第2个子节点,它没有子节点,是一个叶子节点;该行是第12行的兄弟节点。
第14行:B MAINS_FAIL 0 :是第9行的第2个节点它没有子节点,是一个叶子节点;该行是第11行的兄弟节点。


如果是primary event(类型如下的事件:BASIC,  UNDEVELOP,  EXTERNAL,  COND_NOT_ANAL, COND_ANAL),则在ped文件里面存储了该event,标识是其id。

PED(Primary Event Database)文件的分析稍后进行,The primary_events_database is structured as a separate application,
 and is created below a supplied parent widget.

猜你喜欢

转载自blog.csdn.net/dotphoenix/article/details/80338265
今日推荐