Iocomp控件:
0.引言
在工业控制领域,需要进行大量的数据处理和可视化显示。实时监测软件中,常常需要将采集到的数据实时显示到界面上来,以便于工作人员观测,及时发现问题和解决问题,通常还要求曲线可伸缩、可漫游、可取值,可若干条曲线的比较,以增强其可分析性。传统的控制软件开发工具多用 DOS或 Windows下的 C语言开发,导致系统开发周期长,可维护性差,并且不具有标准的 Windows图形用户界面。VB作为一种 Windows软件开发工具,既具有效率高界面友好的功能,又可以使用 DLL来实现 I/O端口的输入功能,还可以通过 API函数或 Mscomm控件实现串口通信。而本文将详细介绍一种基于 VB的 Iocomp控件实现实时曲线的绘制方法,该方法简便易行,编程也比较简单,在实际应用中得到了良好的效果。
1、Iocomp Software简介
Iocomp Software是一个让 Iocomp公司引以为豪的全新的、100%托管的、领先的、高速的、易用的、能实时绘制的控件。拥有许多在其他同类图表控件产品中所不能找到的全新特征功能及性能。Iocomp Software特征如下:
值相关联:大多数的控件都拥有一些值,它们在设置前可能是相关联的,这就提供了一个相关联的机制以及程序灵活性。
实时 -高效:该产品的工具控件是当今最高效的。具有实时显示、缩放、滚动、即使是在进行数据绘制时、不限制 X以及 Y坐标轴、不限制通道、曲线拟合、直角坐标轴、可视化的布局管理器、支持 EMF、BMP、 JPG以及 TXT格式的文件输出。
2、实时曲线绘制方法
实时曲线的绘制方法多种多样,根据对曲线的要求,我们可以采用不同的方法来绘制,从而达到最佳的曲线效果,以下列出了几种常用的绘制实时曲线的方法:
方法二:在 VB中绘制实时曲线是比较难的,一般要应用第三方控件或是 Windows API函数来完成,但是如果你对实时曲线的要求不是很高,只要能表示出当前的一般情况的话,我们可以直接应用 VB提供给我们的空间来完成。
方法四:采用 Iocomp控件来实现。结合 Iocomp Components图形仪表组件,易于实现 VB组态。
结合以上四种方法的总结与比较,采用 Iocomp控件来实现实时曲线的绘制是最佳的,在工业控制软件当中,它将为更多的程序员提供更广的应用领域和发展空间。
3、Iocomp控件介绍
Iocomp控件主要有三种组件:⑴iPlot ⑵iXYPlot ⑶iScope iPlot是一款即时绘图组件,支持具有连续递增的 X坐标的数据序列的绘图。其典型的用途是图表记录或滚动图表类型的应用。该组件可 用于所有的绘图应用。iPlot组件的应用使得绘图程序得到了最优化, iPlot组件还可提供高速接入和绘图方法。
iScope是一个真正的实时模拟和数字范围的组件。支持实时处理和显示的数据时,5MHz的信号输入率如果是连续的数据或使用更高的数据传输率采用间断数据。
图 1层次结构图常用属性简介如下表:
Annotation属性,可以访问指定的注释。可以使用 AddAnnotation, DeleteAnnotation和 RemoveAllAnnotation方法在运行时间中添加或者移除某个注释。注释无法在设计时间中添加。
YAxis属性,可以访问指定的 Y轴线。可以使用 AddYAxis, Delete YAxis和 RemoveAllYAxes方法在运行时间中添加或者移除某个 Y轴。在设计时间,可以使用内置的属性编辑器来改变某个 Y轴。
ToolBar属性通过索引号,可以访问工具栏。该功能接口支持多个工具栏,但是在当前版本中未提供该功能支持,期待在下面版本中推出。
Legend属性通过索引号,可以访问图标符号。该功能接口支持多个图标符号,但是在当前版本中未提供该功能支持,期待在下面版本中推出。
4、编辑主界面
对界面的设置是必不可少的,它可以更直观更简捷的为我们提供绘制实时曲线的各个属性功能,我们可以直接修改程序来进行对一些属性要求的设置,也可以直接在面板的分项属性中进行设置,对各属性
5、具体实例
实时曲线反映的是现场数据的实时性和当前趋势,绘制实时采集数据曲线是为了实时观测,以便掌握实时采集数据变动的趋势,使曲线显示效果最佳,因此在实现时需显示曲线的动态变化,当前点在曲线的最右端显示,而整个曲线动态地向左移动。实时曲线在动态的移动时,测量值、峰值、谷值这三个通道同时相应的显示具体采样数值,一目了然。由于篇幅有限,程序只保留核心部分。编写程序如下:
Private Sub Form_LoadiPlotX1.Channel(0).TitleText = " 测量值"iPlotX1.Channel(1).TitleText = " 峰值"iPlotX1.Channel(2).TitleText = " 谷值"Call Comm_initialXValue = 0If Right(App.Path, 1) = "\" Thenfpname = App.Path &"data\"Elsefpname = App.Path &"\data\"End IfComD1.InitDir = fpnameEnd Sub
以上程序为实时采集函数,其功能:用 MSComm实现与串口的通信, MSComm.Output = "#01" & vbCr语句为读仪表命令。每次采样发出 3条仪表读取测量值命令,1条报警开关读取命令。采样频率在有线通信和无线通信模式下最高每秒可以达到 15次,在无线通信出错较大情况下可以保证每秒正确采样 8次,通信采用的强烈的纠错方法;采样数据测量值、峰值、谷值送入 Iocomp控件实时显示,程序会在每次采样过后将数据存入本软件的 data目录下。
以上程序采用 Iocomp控件实现实时曲线的绘制,曲线的采样频率可以每秒达到 50次,最高可达 100次,灵敏度极高,绘制出的曲线也比较流畅,它不仅可用在工业控制的历史数据处理,而且可以广泛地适用于商业、管理及很多有大量数据需曲线显示的应用。 因此,Iocomp Components图形仪表组件对于构建逼真的人机界面、处理实时数据将非常有用,相信它们会被广泛地应用到越来越多的领域和行业当中。由于控件具有界面友好、操作简单、可扩展性强等特点,因此使用这些组件可以非常方便地扩展出风格多种多样的数据图形,整个设计过程都无需编程。
本站文章除注明转载外,均为本站原创或翻译
