最近需要修改之前写的冲击信号采集设备上位机软件,由于之前设备的需求是装在装备上,装备运行时在线后台使用,数据通过移动通讯和总线传走,没有前面板控制需求,因此没做前面板优化。这次用户有上位机使用需求,因此得重新修改,主要是优化面板显示和人机交互。
这是之前使用的信号波形显示界面,图例部分完全靠前面板手调的,而且之前就改了10个曲线的属性,到第11个曲线不管是名字还是线条宽度都变回默认的了。
因此想到用后台控制,当前显示的区域采集了多少个冲击信号,就自动生成相应多数量的图例条数,并修改其属性,以保证一致性。另外由于用户终端性能的性能比较老旧,连接的传感器数量比较多,这里需要默认曲线不可见,由用户手动去开启查看波形。
做了个小demo,生成了4组2000个点的随机数列,作为输入波形。创建一个波形图的引用,连接到属性节点上(这样比单独去生成每一个属性节点美观,也好检查和规划数据流)。
首先,先生成了一个属性节点→图例→最小曲线,并设置为最小值1。因为之前说了这个波形图我修改了前十个曲线,因此如果像demo中只有四个曲线的话,图例后10个还会显示之前的曲线属性,从而出现下图这种显示错误。加上这个属性节点后就正常了。
(1)第一个是活动曲线,因为波形图属性节点对曲线的修改都需要先确定一个活动曲线,修改的属性都仅对应这一条曲线,通过for循环,这样可以遍历修改每一条曲线。
(2)第二个是线条宽度,这个有0-5,分别对应前面板中可以选择的这六个宽度,我一般都用第三个。
(3)第三个是曲线名称,通过这个修改每条曲线在图例中的名字。
(4)第四个是平滑。
(5)第五个是曲线可见,这里我的需求是不可见。
通过这样修改,我的前面板波形图变成了如下这样,可以根据当前区域中的通道列表,生成对应的波形图图例。
另外,图例中的垂直条形框,可见复选框都是从前面板中右键图例后调出来的。