最近做了一个光谱仪上位界面的项目,目的就是采集光谱并对光谱的相关参数进行统计分析。在项目过程中,客户提了一些很苛刻的要求,所谓苛刻就是对于我这种非高手很难实现的东西。没办法,收人钱财,替人消灾,连续奋斗了几天几夜,找资料啊,与师兄讨论啊,终于解决了。
这几个问题,并不是什么逻辑思维问题,而是看你到底对Labview 有多了解,能用它实现界面的特定功能和外观显示。
下面我将几个问题列出来,供大家实践和思考:
1. 让XY-Graph的网格线成为虚线。效果图如下:
众所周知,Labview 的网格线系统设置只能是实线形式。
怎么实现呢?我首先想到的是波形图的游标有虚线形式,随后我在波形图的属性中添加了数条游标,用虚线表示,并拖到需要放置网格线的位置,然后禁止拖拽游标。本以为这样能很好的实现,但是在程序运行时,由于采集的光谱实时变化,导致游标也在不停的闪动,效果很不好。
最终的解决方法是:先前面板创建一个波形图XY-Graph1,在XY-Graph1上添加游标,前景色透明,如上图的样子。然后将XY-Graph1复制粘贴为XY-Graph2,取消游标构成的网格线,并将前景色和后景色都设为透明,将需要显示的波形输入XY-Graph2。最后将两个图叠加在一块,效果就出来了。第一个图显示游标组成的网格线,不输入数据。第二个图只显示波形。
2.直方图显示的效果如下:
刚开始我做的直方图的样子是这样的:
我做的缺点是:各柱图之间有间隔,不能准确读取每个柱图所在的X范围.
并且柱图没有Y值的标注,有时候很难读出确切的Y值.
首先解决第一个缺点:将要输入到直方图的数据创建二维数组输入,即让直方图显示两个同样的图,但是两个图以不同的样式显示.
程序如图:
然后调整前面板直方图的图例,第一个图调为如下形式:
第二个图设为如下样式:
这样只要调整两个曲线的颜色,就可以达到所要求的效果.
下面解决第二个缺点:在直方图的每个柱图添加Y值可以通过在直方图中添加注释的方法.
在直方图的属性节点中找到 '注释列表' 选项,可以通过labview 的帮助知道注释列表是由13个元素组成的簇,在13个元素中,要设定的参数有:
名称,位置X,位置Y和标签偏移量,其他的根据要求默认或设为特定值.
由于有多个柱图显示,而'注释列表'也是一个簇的数组,我们用循环结构,将要求的注释输入到'注释列表'即可.参考程序如下:
注释的显示还可以实现实时显示,有兴趣的去实践一下吧,写到这吧.
用户377235 2012-12-26 08:42