一种基于伪代码的信号集中监测系统报警方法技术方案

技术编号:38520145 阅读:8 留言:0更新日期:2023-08-19 17:00
本发明专利技术公开了一种基于伪代码的信号集中监测系统报警方法,包括以下步骤:S1.输入报警伪代码,生成报警伪代码文件;S2.加载报警伪代码文件;S3.分析报警伪代码词法;S4.预处理报警伪代码;S5.执行报警伪代码;其中,具体的输入过程为:通过设置关键字、算术表达式、逻辑表达式和时间表达式并进行组合,输入伪代码报警逻辑和报警内容。通过本发明专利技术的伪代码引擎,分离了报警逻辑和程序,报警逻辑和伪代码文件关联起来,既保留了报警条件和逻辑复杂多变的处理能力,也结合了配置文件便于管理、维护、测试的能力。的能力。的能力。

【技术实现步骤摘要】
一种基于伪代码的信号集中监测系统报警方法


[0001]本专利技术涉及轨道交通信号监测领域,尤其涉及一种基于伪代码的信号集中监测系统报警方法。

技术介绍

[0002]现有的集中监测系统环境越来越复杂,车站越来越多,不同的车站、不同的接口,不同的中心需要不同的逻辑,相同的报警在不同车站判断条件各异,导致了现有集中监测报警系统越来越复杂,越来越臃肿,现在急切需要一种统一的方式来满足集中监测系统报警需求,精简并优化集中监测系统报警。
[0003]现有的集中监测系统报警通常采用配置文件和代码逻辑两种实现模式。配置文件模式,通常负责配置简单的报警条件,比如模拟量的上下限、预警限、断电限等电气特性参数,便于修改和调试,但实现的报警逻辑比较简单,不太适合做条件太多,逻辑复杂的报警逻辑。现有的代码逻辑模式,通过将报警条件、逻辑硬编码在代码中,能实现较复杂的报警逻辑、并高效执行,但是不利于新增、修改、调试报警逻辑就会修改代码,同时带来程序版本控制,同时带来更大的测试压力和风险。

技术实现思路

[0004]本专利技术目的在于提供一种基于伪代码的信号集中监测系统报警方法,以解决上述问题。
[0005]本专利技术通过下述技术方案实现:一种基于伪代码的信号集中监测系统报警方法,包括以下步骤:S1. 输入报警伪代码,生成报警伪代码文件;S2. 加载报警伪代码文件;S3. 分析报警伪代码词法;S4. 预处理报警伪代码;S5. 执行报警伪代码;其中,在步骤S1中,具体的输入过程为:通过设置关键字、算术表达式、逻辑表达式和时间表达式并进行组合,输入伪代码报警条件和逻辑;所述步骤S3中,分析报警伪代码词法具体为:判定伪代码语句是否正确并给出判定结果,当伪代码语句错误时,停止进行后续步骤并定位错误位置,当伪代码语句正确时,执行步骤S4。
[0006]进一步的,所述表达式包括算术表达式、逻辑表达式和时间表达式,每个所述关键字均具备自身的含义,作用于整行并用于对整个执行流程进行控制,所述算术表达式用于处理伪代码中的值计算,所述逻辑表达式用于判断伪代码中逻辑的真假,所述时间表达式为关键字、逻辑表达式和算术表达式的子表达式,用于处理伪代码中的时间计算。
[0007]进一步的,所述逻辑表达式包括使用C++基本判断符的普通逻辑表达式和带有特
定功能的特殊逻辑表达式。
[0008]进一步的,所述算术表达式支持算术优先级。
[0009]进一步的,设置词法分析器进行所述分析报警伪代码词法,设置预处理报警伪代码器进行所述预处理报警伪代码,设置伪代码执行器进行所述执行报警伪代码,所述词法分析器、所述代码预处理器和所述伪代码执行器均内置于关键字、算术表达式、逻辑表达式和时间表达式中。
[0010]进一步的,所述分析报警伪代码词法具体为:判定伪代码语句是否正确并给出判定结果,伪代码语句错误无法进行后续步骤并定位错误位置,伪代码语句正确则进行后续步骤。
[0011]进一步的,所述预处理报警伪代码具体为:初始化伪代码执行上下文,判定伪代码报警条件在当前运行环境中是否满足,对不满足的伪代码,不进行后续执行。进一步的,所述执行报警伪代码具体为:根据执行上下文,依次执行报警伪代码,对信号集中监测系统中产生的异常数据进行判定,产生报警结果。
[0012]进一步的,在步骤S5中,所述执行报警伪代码具体为:执行伪代码,完成时记录下次执行时间,等待下次执行时间点到达,继续执行。
[0013]本专利技术与现有技术相比,具有如下的优点和有益效果:(1) 本专利技术中,通过将报警逻辑和报警内容与程序进行分离、将报警逻辑和报警内容与报警伪代码文件相关联,保留了处理复杂多变报警条件、逻辑的能力,同时使得伪代码文件便于新增、修改、调试报警逻辑,避免了程序版本控制以及额外的测试压力和风险;(2) 本专利技术中,通过设置关键字、算术表达式、逻辑表达式和时间表达式,进一步提高处理复杂多变报警条件、逻辑的能力,同时使得伪代码逻辑清晰、容易理解,进一步提高了新增、修改、调试报警逻辑的便利度;(3) 本专利技术中,通过赋予每个关键字特定含义、赋予部分逻辑表达式特定功能以及赋予算术表达式支持算术优先级,进一步提高处理复杂多变报警条件、逻辑的能力,通过使用C++基本判断符作为普通逻辑表达式的判断符,进一步提高了新增、修改、调试报警逻辑的便利度。
附图说明
[0014]通过结合附图对本专利技术示例性实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显。其中,在示例性实施例中,相同的参考标号通常代表相同部件。此处所说明的附图用来提供对本专利技术实施例的进一步理解,构成本申请的一部分,并不构成对本专利技术实施例的限定。在附图中:图1为本专利技术的方法流程框图;图2为本专利技术提出一种基于伪代码的信号集中监测系统报警的终端设备的结构示意图;图3为本专利技术提出的一种基于伪代码的信号集中监测系统报警方法的计算机可读存储介质结构示意图。
具体实施方式
[0015]下面将结合实施例及附图,对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术较佳实施例,而不是全部的实施例,亦并非是对本专利技术作其它形式的限制,任何熟悉本专业的技术人员可能利用所揭示的
技术实现思路
加以变更或改型等同变化。但是凡是未脱离本专利技术技术方案内容,依据本专利技术的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本专利技术技术方案的保护范围。
[0016]如图1所示,本实施例包括一种基于伪代码的信号集中监测系统报警方法,包括以下步骤:S1. 输入报警伪代码,生成报警伪代码文件;S2. 加载报警伪代码文件;S3. 分析报警伪代码词法;S4. 预处理报警伪代码;S5. 执行报警伪代码;进一步的,在步骤S1中,具体的输入过程为:通过设置关键字、算术表达式、逻辑表达式和时间表达式并进行组合,输入伪代码报警逻辑和报警内容。
[0017]本实施例中,所述表达式包括算术表达式、逻辑表达式和时间表达式,每个所述关键字均具备自身的含义,作用于整行并用于对整个执行流程进行控制,示例性的:IF关键字, 如果IF关键字后面的逻辑表达式执行为假,则不向下执行;VAR关键字,用于定义属性变量,供后续语句使用;TIME关键字,记录时间;ALARM关键字,如果ALARM关键字后面的逻辑表达式执行为真,则产生报警信息。
[0018]进一步的,所述算术表达式用于处理伪代码中的值计算,为了提高处理复杂逻辑的能力,作为优选的,所述算术表达式支持算术优先级,如VAR + 1,会被解析成算术表达式,获取变量VAR的值,然后与1相加,返回相加后的结果,如(VAR + 1) * 2 + VAR / 5,会先被解析成为VAR + 1,然后结果* 2,然后与VAR/5的结果相加。
[0019]进一步的,所述逻辑表达式用于判断伪代码中逻辑的真假,例如VAR == 1,会被解析成逻辑表达式,获取VAR变量的值,与值1进行比较,如果VAR 等于1则,表达式为真,否则为假;作为优选的,所述逻辑表达式包括使用C+本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于伪代码的信号集中监测系统报警方法,其特征在于,包括以下步骤:S1. 输入报警伪代码,生成报警伪代码文件;S2. 加载报警伪代码文件;S3. 分析报警伪代码词法;S4. 预处理报警伪代码;S5. 执行报警伪代码;其中,在步骤S1中,具体的输入过程为:通过设置关键字、算术表达式、逻辑表达式和时间表达式并进行组合,输入伪代码报警条件和逻辑;所述步骤S3中,分析报警伪代码词法具体为:判定伪代码语句是否正确并给出判定结果,当伪代码语句错误时,停止进行后续步骤并定位错误位置,当伪代码语句正确时,执行步骤S4。2.根据权利要求1所述的一种基于伪代码的信号集中监测系统报警方法,其特征在于,所述关键字用于对整个执行流程进行控制;所述算术表达式用于处理伪代码中的值计算;所述逻辑表达式用于判断伪代码中逻辑的真假;所述时间表达式用于处理伪代码中的时间计算。3.根据权利要求2所述的一种基于伪代码的信号集中监测系统报警方法,其特征在于,所述算术表达式支持算术优先级。4.根据权利要求2所述的一种基于伪代码的信号集中监测系统报警方法,其特征在于,所述逻辑表达式包括使用C++基本判断符的普通逻...

【专利技术属性】
技术研发人员:王磊尤刚杨勇邓永亮覃锐
申请(专利权)人:四川网达科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1