在VB下设计开发实时的数据采集曲线

2008-02-23 07:04:30来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1 2 3 下一页

1. 引言

  在笔者参与过的开发的机组轴瓦控制系统中,要求能够实时采集轴瓦转动速度值V,并能根据实时采集到的数据绘制出V在10分钟内变化的短期趋势图和一日内变化的长期趋势图,以便观测轴瓦转动的趋势情况,查看控制效果。该系统在VB6.0环境下进行开发,开始时采用了VB包含的Activex控件技术绘制曲线,在效果不理想的情况下,笔者利用VB绘画函数,最终成功实现了实时数据采集曲线的绘制与显示。笔者将以轴瓦实时采集速度值V的短期趋势图为例,谈一下实时采集曲线的设计与实现过程。

2. 绘图控件的选择

  系统开发初期,采用VB内所含的Activex控件技术来解决实时采集曲线的绘制问题。VB控件中提供了外部Activex控件Mschart来给该应用程序添加图表功能,用它能创建包括条形、饼形、线形等不同类型的三维图表。利用该控件,可对表中的所有项目进行完全控制,例如标题、图表、脚注、轴、数据点系列等等,甚至还能旋转图表,为每一元素加上背景、设置光源,把它们放在想要的地方。

  本系统中需要实时测量轴瓦速度V的实际值,并根据实时更新的短期速度数据数组、长期速度数据数组分别绘制短期趋势曲线图与长期趋势曲线图,这两个趋势图均是速度值(Y轴)和时间(X轴)的关系曲线,并随着时间变动实时更新,以便观测。

  短期趋势图的绘制,由于测量10分钟内的数据,每一秒测量一次,因此每10分钟内都有600个数据,为绘制曲线,还要赋予一个初值,所以速度短期数据定义为长度为601的数组。将数据初始化后,利用Mschart控件得到如下图1所示的短期趋势模拟图。



图 1 短期趋势 模拟图

  该图的静态显示外观比较理想,但是每秒一次的数据更新使屏幕每秒钟都会引起由于重绘带来的闪烁,这大大降低了图形界面的可视性与美观性。由此可见,Mschart控件不太适用于绘制实时数据采集系统的相关曲线。为了解决这个难题,笔者尝试利用了VB提供的绘画函数等简单易用的多媒体实现技术,并取得了非常好的效果,以下是我们的实现步骤。

上一篇: 小叮当也战江湖—VB实例七日谈(四)
下一篇: 小叮当也战江湖—VB实例七日谈(五)

1 2 3 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:感悟VB细水长流话API(六-1)

下一篇:用diskid.dll和disk32.dll获得硬盘序列号