基于布尔逻辑的联锁软件自动生成系统的制作方法

文档序号:6551263阅读:246来源:国知局
基于布尔逻辑的联锁软件自动生成系统的制作方法
【专利摘要】本发明公开了一种基于布尔逻辑的联锁软件自动生成系统,包括:数据库解析模块、类模块、逻辑变量模块、逻辑树模块、逻辑脚本生成模块和二进制文件生成模块。所述数据库解析模块接收轨旁原始数据并筛选出联锁逻辑所需信息;类模块定义了联锁逻辑中不同的类型;逻辑变量模块定义类成员变量和类成员变量的属性;联锁逻辑规则库模块定义了基于联锁逻辑的语法规则;逻辑树模块用来将布尔表达式转化成多叉树形结构;逻辑脚本模块用来生成实例化的联锁站联锁脚本;二进制文件生成模块用来生成实例化的联锁站二进制文件;本发明自动生成的联锁软件采用信号技术人员熟悉的继电逻辑表达式为代码的表现形式,在修改时只需用类似于自然语言的方式修改规则库,节省了大量开发时间,提高工作效率。
【专利说明】基于布尔逻辑的联锁软件自动生成系统

【技术领域】
[0001]本发明涉及轨旁控制单元中基于布尔逻辑的联锁软件的自动生成系统。

【背景技术】
[0002]目前,地铁CBTC(Communication Based Train Control,基于通信的列车控制)系统中后备控制单元,其联锁软件一般采用布尔代数完成,经过了手工编制到自动生成的过程;其中:手工编制联锁软件工作量大,易出现错误,已逐渐被自动生成的方式替代;自动生成联锁一般采用C,C++等完成联锁软件子功能模块的自动生成。
[0003]但是,如果采用自动生成联锁方法,当联锁软件某一个功能模块要修改时,就要修改相应的源代码,大部分联锁技术人员都只具有铁路信号背景,对基于继电电路的布尔逻辑表达式比较熟悉,但对计算机语言不是很熟悉,对其不熟悉的领域上手需要很长的时间,而且容易出错。因此,这成为本领域技术人员需要解决的问题。


【发明内容】

[0004]本发明的目的在于提供一种基于布尔逻辑的联锁软件自动生成系统,自动生成的联锁软件采用信号技术人员熟悉的继电逻辑表达式为代码的表现形式,并且在修改时,只要用类似于自然语言的方式修改规则库,节省了大量开发时间,提高工作效率。
[0005]实现上述目的的技术方案是:
[0006]—种基于布尔逻辑的联锁软件自动生成系统,包括:
[0007]数据库解析模块,用于接收轨旁原始数据,筛选出联锁逻辑所需信息并输出,该信息包括联锁区中所有的进路,进路和信号机、道岔之间跨类调用的数据;
[0008]类模块,用于定义联锁逻辑中不同的类,并混合接收自所述数据库解析模块输出的信息一齐输出;
[0009]逻辑变量模块,根据接收自所述类模块输出的信息,定义类成员变量和类成员变量的属性,输出实例化站场数据;
[0010]联锁逻辑规则库模块,用于接受信号人员写入的通用布尔表达式并检查语法错误;
[0011]逻辑树模块,用于将联锁逻辑规则库模块中的布尔表达式转化成多叉树形结构,输出逻辑规则;
[0012]逻辑脚本生成模块,接收所述逻辑树模块的逻辑规则和所述逻辑变量模块中的实例化站场数据,生成实例化逻辑脚本;
[0013]二进制文件生成模块,接收所述逻辑树模块的逻辑规则和所述逻辑变量模块中的实例化站场数据,生成二进制文件。
[0014]进一步地,所述轨旁原始数据指:站场数据和物理输入输出配置。
[0015]进一步地,所述类模块定义的不同的类指:信号机类,道岔类,进路类。
[0016]本发明的有益效果是:本发明采用信号信号技术人员熟悉的继电逻辑表达式为代码的表现形式,由信号技术人员定义联锁软件逻辑规则库,获取站场配置数据和配置文件,自动生成联锁软件,当需要修改时,开发人员只需要采用类似于自然语言的方式修改规则库,从而节省大量开发时间,提高工作效率。

【专利附图】

【附图说明】
[0017]图1是联锁逻辑梯形图表达式;
[0018]图2是逻辑树的四种节点;
[0019]图3是联锁逻辑树表达式;
[0020]图4是本发明的基于布尔逻辑的联锁软件自动生成系统的结构图。

【具体实施方式】
[0021]下面将结合附图对本发明作进一步说明。
[0022]首先,简述定义语法规则(逻辑树):
[0023]布尔逻辑一般采用与、或、非及时间定义,比如F(out) = (VI+?V2)*?V3+V4*V5)*V6,用布尔逻辑梯形图如图1所示。
[0024]以上每条逻辑语句有一个对应的逻辑树,逻辑树完整的表示该逻辑语句中所有输入输出量和被赋值变量之间的逻辑关系,并能够根据该逻辑树生成对应的逻辑语句。逻辑树与布尔逻辑类似,有“与”、“或” “非”,“变量”四种节点,如图2所示。
[0025]F(out) = (VI+?V2)*?V3+V4*V5)*V6用逻辑树表示如图3所示。通过应用逻辑树,将所有节点的运算符表达式组合在一起形成一条完整的布尔逻辑表达式。
[0026]请参阅图4,本发明的基于布尔逻辑的联锁软件自动生成系统,包括:数据库解析模块1、类模块2、逻辑变量模块3、联锁逻辑规则库模块4、逻辑树模块5、逻辑脚本生成模块6和二进制文件生成模块7,其中:
[0027]数据库解析模块I接收轨旁原始数据(指:站场数据和物理输入输出配置),筛选出联锁逻辑所需信息并输出,该信息包括联锁区中所有的进路,进路和信号机、道岔之间跨类调用的数据;
[0028]类模块2用于定义联锁逻辑中不同的类,并混合接收自数据库解析模块I输出的信息一齐输出,将数据库解析模块I输出的信息映射到对应的逻辑变量集合中;
[0029]逻辑变量模块3根据接收自类模块2输出的信息,定义类成员变量和类成员变量的属性,输出实例化站场数据;
[0030]联锁逻辑规则库模块4定义了联锁逻辑的语法规则,接受信号人员写入的通用布尔表达式并检查语法错误;
[0031]逻辑树模块5将联锁逻辑规则库模块4中的布尔表达式转化成多叉树形结构,输出逻辑规则;
[0032]逻辑脚本生成模块6接收逻辑树模块5的逻辑规则和逻辑变量模块3中的实例化站场数据,生成实例化逻辑脚本;
[0033]二进制文件生成模块7接收逻辑树模块5的逻辑规则和逻辑变量模块3中的实例化站场数据,生成二进制文件。
[0034]以上实施例仅供说明本发明之用,而非对本发明的限制,有关【技术领域】的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。
【权利要求】
1.一种基于布尔逻辑的联锁软件自动生成系统,其特征在于,包括: 数据库解析模块,用于接收轨旁原始数据,筛选出联锁逻辑所需信息并输出,该信息包括联锁区中所有的进路,进路和信号机、道岔之间跨类调用的数据; 类模块,用于定义联锁逻辑中不同的类,并混合接收自所述数据库解析模块输出的信息一起输出; 逻辑变量模块,根据接收自所述类模块输出的信息,定义类成员变量和类成员变量的属性,输出实例化站场数据; 联锁逻辑规则库模块,用于接受信号人员写入的通用布尔表达式并检查语法错误; 逻辑树模块,用于将联锁逻辑规则库模块中的布尔表达式转化成多叉树形结构,输出逻辑规则; 逻辑脚本生成模块,接收所述逻辑树模块的逻辑规则和所述逻辑变量模块中的实例化站场数据,生成实例化逻辑脚本; 二进制文件生成模块,接收所述逻辑树模块的逻辑规则和所述逻辑变量模块中的实例化站场数据,生成二进制文件。
2.根据权利要求1所述的基于布尔逻辑的联锁软件自动生成系统,其特征在于,所述轨旁原始数据指:站场数据和物理输入输出配置。
3.根据权利要求1所述的基于布尔逻辑的联锁软件自动生成系统,其特征在于,所述类模块定义的不同的类指:信号机类,道岔类,进路类。
【文档编号】G06F9/44GK104049976SQ201410300759
【公开日】2014年9月17日 申请日期:2014年6月27日 优先权日:2014年6月27日
【发明者】李广诚, 刘会明 申请人:上海自仪泰雷兹交通自动化系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1