可视化曲线的生成方法及系统与流程

文档序号:30390211发布日期:2022-06-11 14:33阅读:116来源:国知局
可视化曲线的生成方法及系统与流程

1.本发明涉及信息处理领域,尤其涉及一种可视化曲线的生成方法及系统。


背景技术:

2.核电站全范围模拟机用于设计全厂的绝大多数工艺系统、dcs系统、第三方仪控系统以及其他配套系统。核电站全范围模拟机需要仿真实际参考电站的各个正常、故障和事故工况,以对核电站操纵员进行培训和考核。在对核电机组人员进行扩展培训、学员考核等时,模拟机通过模拟出各种不同的工况数据来支撑可视化软件展示出多种情况下的工况曲线变化现象。
3.在展示曲线的传统生成方式中,需要先将数据转换成字符型,再把所转换的字符写入文件,最后,利用可视化软件,根据需求从文件中读出相应的字符,并根据所读字符生成可视化曲线。但是,在实际应用中发现,由于模拟工况可以持续运行12个小时以上,所产生的数据量很大,如果把这么多的数据全都转换成字符,所需的时间就会很长,严重影响数据处理速度,数据解析时也需要消耗大量的时间和cpu资源,而且,可视化软件在数据量过多时gpu也会因为数据量过大而导致程序崩溃,因此,大大降低了可视化曲线展示的效率和稳定性。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术存在的上述可视化曲线展示的效率较低且稳定性较差的缺陷,提供一种可视化曲线的生成方法及系统。
5.本发明解决其技术问题所采用的技术方案是:构造一种一种可视化曲线的生成方法,应用于客户端,包括:
6.从数据桥服务器接收二进制数据,其中,所述二进制数据是由模拟机在将所生成的工况模拟数据转换成二进制数据后发送至数据桥服务器的;
7.根据用户需求,从所接收的二进制数据中提取相应的数据;
8.对所提取的数据进行精简处理,并根据精简处理后的数据生成可视化曲线。
9.优选地,所述对所提取的数据进行精简处理,包括:
10.将所提取的数据转换成相应数据类型的数据序列;
11.针对数据序列的第i个数据,判断其与当前基准点的差值是否小于阈值,若小于阈值,则丢弃所述第i个数据;若不小于阈值,则保留所述第i个数据,并将所述第i个数据更新为当前基准点,其中,i=2、3、

、n,n为所述数据序列的个数,所述数据序列的第二个数据的基准点为所述数据序列的第一个数据。
12.优选地,所述所述二进制数据是由模拟机在将所生成的工况模拟数据转换成二进制数据后发送至数据桥服务器的,包括:
13.所述二进制数据是由模拟机在将所生成的工况模拟数据转换成二进制数据后通过socket通讯发送至数据桥服务器的。
14.优选地,还包括:
15.向所述数据桥服务器发送数据录制指令,以使所述数据桥服务器根据所述数据录制指令对从所述模拟机接收的二进制数据进行保存。
16.优选地,还包括:
17.在所述数据桥服务器与所述模拟机断开连接时,向所述数据桥服务器发送回放查看指令,以使所述数据桥服务器根据所述回放查看指令将所保存的二进制数据发送至所述客户端。
18.优选地,所述根据精简处理后的数据生成可视化曲线,包括:
19.使用opengl对精简处理后的数据进行绘制,以生成可视化曲线。
20.优选地,所述使用opengl对过滤后的数据进行绘制,包括:
21.接收用户输入的曲线材质的设置信息;
22.接收用户输入的坐标系及坐标轴的设置信息;
23.接收用户输入的坐标轴上下限的设置信息;
24.根据所述设置信息,对过滤后的数据进行绘制。
25.本发明还构造一种客户端,包括处理器及存储有计算机程序的存储器,所述处理器在执行所述计算机程序时实现以上所述的方法。
26.本发明还构造一种可视化曲线的生成系统,包括模拟机、数据桥服务器及至少一个以上所述的客户端,其中,
27.所述模拟机,用于将所生成的运行工况模拟数据转换成二进制数据,并将所述二进制数据发送至所述数据桥服务器;
28.所述数据桥服务器,用于将所接收的二进制数据同步发送至所述至少一个客户端。
29.优选地,所述数据桥服务器与其中一个客户端集成为一体。
30.在本发明所提供的技术方案中,由于模拟机是将模拟工况数据转换成二进制数据后再通过数据桥服务器传送至客户端的,所以,提高了数据读写处理速度,降低了计算机的内存占用,而且,由于在生成可视化曲线前,先对数据进行了精简处理,在确保曲线绘制精度的同时,兼顾了gpu性能的消耗不会过载,因此,可以持续绘制较长时间(12个小时以上)的工况数据曲线。
附图说明
31.为了更清楚地说明本发明实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:
32.图1是本发明可视化曲线的生成方法实施例一的流程图;
33.图2是本发明可视化曲线的生成系统实施例一的工作流程图。
具体实施方式
34.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.图1是本发明可视化曲线的生成方法实施例一的流程图,该实施例的可视化曲线的生成方法应用于客户端中,该客户端用于根据模拟机的数据生成可视化曲线。而且,该实施例的可视化曲线的生成方法具体包括以下步骤:
36.步骤s10.从数据桥服务器接收二进制数据,其中,所述二进制数据是由模拟机在将所生成的工况模拟数据转换成二进制数据后发送至数据桥服务器的;
37.在该步骤中,首先说明的是,模拟机与数据桥服务器之间可建立通信连接。而且,模拟机通过模拟工况中各项数据实际值的变化来产生工况模拟数据,然后,再将所产生的工况模拟数据转换成二进制数据,并传送至数据桥服务器。当数据桥服务器收到模拟机发送的二进制数据后,再将其分发给客户端。当客户端的数量有多个时,还可根据客户端的同步指令保证向多个客户端发送的二进制数据是同步的。
38.进一步地,可在数据桥服务器和模拟机上分别创建socket端口,而且,模拟机在将所生成的工况模拟数据转换成二进制数据后,通过socket通讯将其发送至数据桥服务器。
39.步骤s20.根据用户需求,从所接收的二进制数据中提取相应的数据;
40.在该步骤中,由于不同的客户端所需展示的曲线是不同的,所以,当客户端接收到二进制数据后,先根据用户需求从所接收的二进制数据中提取出所需要的数据。
41.步骤s30.对所提取的数据进行精简处理,并根据精简处理后的数据生成可视化曲线。
42.在该步骤中,由于要对模拟机长时间(例如12小时)所产生的模拟工况数据进行绘制,所以,对于所提取出的数据,可先进行精简处理,再进行可视化曲线的绘制,这样,在确保曲线绘制精度的同时兼顾gpu性能的消耗不会过载,从而使得可以持续绘制长时间的工况数据曲线。
43.进一步地,在步骤s30中,对所提取的数据进行精简处理,包括:
44.步骤s31.将所提取的数据转换成相应数据类型的数据序列;
45.在该步骤中,由于绘制不同曲线所需数据的数据类型不同,所以,在该步骤中,先将所提取的二进制数据转换成相应数据类型的数据序列,例如,整数型(int)、浮点型(float)等。
46.步骤s32针对数据序列的第i个数据,判断其与当前基准点的差值是否小于阈值,若小于阈值,则丢弃所述第i个数据;若不小于阈值,则保留所述第 i个数据,并将所述第i个数据更新为当前基准点,其中,i=2、3、

、n,n 为所述数据序列的个数,所述数据序列的第二个数据的基准点为所述数据序列的第一个数据。
47.在该步骤中,对于生成可视化曲线所需要的数据序列,为避免数据量过大,可使用“径向距离算法”对其进行精简处理,具体地:如果数据序列中的相邻两点的距离(差值)小于设定的阈值,则舍去其中一个点。首先,以数据序列中的第一个点为基准点,计算第二个点与第一个点之间的距离,如果此距离小于阈值,则舍去第二个点;如果此距离大于阈值,则保留第二个点,并将其作为新的基准点。然后,再将第三个点来与该基准点进行距离判断,如此向后循环。这种方式在保证曲线绘制精度的同时,又兼顾了gpu性能的消耗不会过
载。
48.在一个可选实施例中,本发明的可视化曲线的生成方法还包括:客户端向数据桥服务器发送数据录制指令,以使数据桥服务器根据所述数据录制指令对从所述模拟机接收的二进制数据进行保存,从而使数据桥具备数据录制功能。进一步地,在数据桥服务器与模拟机断开连接时,客户端向数据桥服务器发送回放查看指令,以使数据桥服务器根据该回放查看指令将所保存的二进制数据发送至客户端。在该实施例中,当模拟机与数据桥服务器连接时,数据桥服务器可以通过数据录制将运行的工况模拟数据以二进制格式储存在本地;当模拟机离线(与数据桥服务器断开连接)时,客户端可通过数据桥服务器本地录制的数据进行回放查看,因此,解决了传统可视化曲线的生成依赖数据通讯的问题。
49.在一个可选实施例中,在步骤s30中,根据精简处理后的数据生成可视化曲线,包括:使用opengl对精简处理后的数据进行绘制,以生成可视化曲线。在该实施例中,使用opengl(可视化软件)可精确、高效、美观地绘制出曲线图表。
50.进一步地,使用opengl对过滤后的数据进行绘制,包括:
51.接收用户输入的曲线材质的设置信息,例如,初始化线的材质,设置阿尔法混合模式、设置背面剔除模式、设置深度测试;
52.接收用户输入的坐标系及坐标轴的设置信息,例如,曲线绘制采用平面直角坐标系,分为两条坐标轴,水平轴x_axis对应着工况运行时间,垂直轴y_axis 对应该时间点的数值,使用左下角作为直角坐标系的原点;
53.接收用户输入的坐标轴上下限的设置信息,例如,水平轴x_axis的上下限采用模拟机运行时间,而垂直轴y_axis上下限采用自动和手动两种方式,其中,上下限的自动设置方式为:通过对实时传输的数据序列进行数据排序来筛选出最大值和最小值作为上下限;上下限的手动设置方式为:通过编写配置文件来配置对应曲线的上下限,并通过配置文件里的开关决定是否要使用手动设置的上下限;
54.根据所述设置信息,对过滤后的数据进行绘制,例如,在得到上述设置信息后,通过遍历当前已选择的一个或多个数据序列将序列中的数值和上下限进行差值计算,最终使用gl.vertex函数进行曲线绘制。
55.进一步地,在绘制曲线图表后,用户可以通过鼠标点击ui中的某一个点,这样可通过recttransformutility.screenpointtoworldpointinrectangle将屏幕坐标系转换为世界坐标(屏幕空间点转换为世界空间中给定recttransform平面上的位置),定位到当前选择的参数曲线x_axis和y_axis的交点,并把当前时段的数据展示出来。
56.本发明还构造一种客户端,该客户端包括处理器及存储有计算机程序的存储器,该处理器在执行该计算机程序时实现以上所述的方法。
57.本发明还构造一种可视化曲线的生成系统,该可视化曲线的生成系统包括模拟机、数据桥服务器及至少一个以上所述的客户端,其中,模拟机用于将所生成的运行工况模拟数据转换成二进制数据,并将所述二进制数据发送至数据桥服务器;数据桥服务器用于将所接收的二进制数据同步发送至所述至少一个客户端。优选地,数据桥服务器与其中一个客户端集成为一体。
58.下面结合图2说明模拟机、数据桥服务器及客户端的工作流程:模拟机在与数据桥服务器建立通信连接后,将通过模拟工况中各项数据实际值的变化所产生的工况模拟数据
转换成二进制数据,并传送至数据桥服务器。数据桥服务器将所接收的二进制数据再分发给客户端。最后,由客户端通过对所接收的数据进行解析,并通过算法取得精简后的数据趋势数组,且通过opengl绘制出图表曲线。
59.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何纂改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1