LabVIEW平台中提供了波形图控件用于二维数据的可视化功能,在这个控件中提供了游标工具,使用游标可读取波形图曲线中任意一点x、y坐标的数据。单幅波形的数据游标读数比较简单,但有些情况下,如对采样数据做频域分析处理后,在两幅图形上分别显示幅值谱和相位谱结果,此时需要对两幅波形图形上的游标实现联动功能,即一幅图形上游标移动时,另一幅图形的游标也同时移动,即可以同时读取两幅图形上同一位置(x坐标相同)的不同y坐标数据。 下面通过一个具体实例演示LabVIEW中通过代码实现实现多图游标的联动读数方法。 例子说明 例子运行界面如下图所示: 在前面板上放置两个波形图控件,每幅图形上都添加一个游标,游标允许拖曳并绑定在曲线上。当移动一幅波形图控件上的游标时,另一幅波形图控件上的游标也同步移动,并在界面右侧实时显示出两幅图形上当前游标数据读数的x、y坐标值。 编程实现过程 主框架使用包含2帧的顺序结构,第1帧产生两幅图形上的仿真曲线数据,第2帧使用while循环事件结构,在事件结构处理游标移动事件。 1、两幅图形的仿真曲线数据产生 在顺序结构的第1帧,调用“基本函数发生器”函数产生两幅波形图控件上的曲线数据,参数设置为:频率为5,幅值为1,采样频率1000Hz,采样频数1000点,两者相位相差90度,即分别产生正弦、余弦波形数据,代码如下: 2、游标的联动读数实现代码 在顺序结构第2帧的事件结构里实现游标的联动读数功能,分别在两个波形图控件的“游标移动”事件中实现。 其中,波形图1控件的“游标移动”事件代码如下所示: 在“游标移动”事件中,会给出当前波形图上游标所在位置的点索引及位置值(x、y坐标值)。其中,使用属性节点函数通过点索引值控制另一幅图形的游标点索引值即可实现游标的联动。同时,属性节点中也包括了当前游标的x、y坐标值,将其读出显示到前面板上即可。 波形图2控件的“游标移动”事件代码同上面类似,如下所示: 3、程序退出功能 在“前面板关闭?”事件中实现程序的退出功能,其代码如下图所示: 通过上面的代码,在LabVIEW中实现了两幅波形图控件上的游标联动读数的功能,当然,大家也可以在这个基础上实现更多幅波形图控件的游标联动读数功能。 本例的动态运行效果图如下所示: 如果你觉得这篇文章对你有用的话,抖抖小手点个赞吧。