提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:龚雪|2014-08-01 09:37:11.000|阅读 5684 次
概述:本文为使用Iocomp工控图表工具绘制实时曲线探索及研究教程,为大家介绍了Iocomp控件、实时曲线绘制方法、Iocomp界面操作,属性分类等。帮助学习者更好的运用Iocomp。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
[摘要]数据采集是控制系统最常见的任务,对于大量的实时采集数据采用曲线加以分析已成为很重要的一种手段。文章将介绍如何用 Iocomp控件实现控制软件中的实时曲线的设计与绘制,并结合实例程序加以具体说明。实践表明,该方法简单可靠,对工业实时控制应用有一定借鉴意义。
Iocomp控件:
在工业控制领域,需要进行大量的数据处理和可视化显示。实时监测软件中,常常需要将采集到的数据实时显示到界面上来,以便于工作人员观测,及时发现问题和解决问题,通常还要求曲线可伸缩、可漫游、可取值,可若干条曲线的比较,以增强其可分析性。传统的控制软件开发工具多用 DOS或 Windows下的 C语言开发,导致系统开发周期长,可维护性差,并且不具有标准的 Windows图形用户界面。VB作为一种 Windows软件开发工具,既具有效率高界面友好的功能,又可以使用 DLL来实现 I/O端口的输入功能,还可以通过 API函数或 Mscomm控件实现串口通信。而本文将详细介绍一种基于 VB的 Iocomp控件实现实时曲线的绘制方法,该方法简便易行,编程也比较简单,在实际应用中得到了良好的效果。
Iocomp Software是一个让 Iocomp公司引以为豪的全新的、100%托管的、领先的、高速的、易用的、能实时绘制的控件。拥有许多在其他同类图表控件产品中所不能找到的全新特征功能及性能。Iocomp Software特征如下:
属性定制编辑器:每一个控件都带有一个将属性以逻辑形式分组的属性定制编辑器,它们使得用户能够轻松的设置控件属性。在属性窗口中可以无限的搜索,属性窗口也可以无限的层叠。
值相关联:大多数的控件都拥有一些值,它们在设置前可能是相关联的,这就提供了一个相关联的机制以及程序灵活性。
实时 -高效:该产品的工具控件是当今最高效的。具有实时显示、缩放、滚动、即使是在进行数据绘制时、不限制 X以及 Y坐标轴、不限制通道、曲线拟合、直角坐标轴、可视化的布局管理器、支持 EMF、BMP、 JPG以及 TXT格式的文件输出。
实时曲线的绘制方法多种多样,根据对曲线的要求,我们可以采用不同的方法来绘制,从而达到最佳的曲线效果,以下列出了几种常用的绘制实时曲线的方法:
方法一:采用 TeeChart实现。TeeChart Pro是一款提供上百种 2D和 3D图形风格、40种数学和统计功能、加上无限制的轴和 22种调色板组件供选择的绘图控件。TeeChart还包括一个强大的、完整的编辑对话框,几乎可用于每个组件和子组件,允许你快速的设计复杂图表应用程序。图表编辑器通过 TeeCommander组件进一步得到增强,它提供一次点击访问图表编辑器和共同特征。
方法二:在 VB中绘制实时曲线是比较难的,一般要应用第三方控件或是 Windows API函数来完成,但是如果你对实时曲线的要求不是很高,只要能表示出当前的一般情况的话,我们可以直接应用 VB提供给我们的空间来完成。
方法三:可以采用工控组态软件来实现。组态软件具有动画显示、流程控制、数据采集、设备控制与输出、工程报表、数据与曲线等强大功能,在自动控制中占据主力军的位置,已逐渐成为工业自动化的灵魂。
方法四:采用 Iocomp控件来实现。结合 Iocomp Components图形仪表组件,易于实现 VB组态。
结合以上四种方法的总结与比较,采用 Iocomp控件来实现实时曲线的绘制是最佳的,在工业控制软件当中,它将为更多的程序员提供更广的应用领域和发展空间。
Iocomp控件主要有三种组件:⑴iPlot ⑵iXYPlot ⑶iScope iPlot是一款即时绘图组件,支持具有连续递增的 X坐标的数据序列的绘图。其典型的用途是图表记录或滚动图表类型的应用。该组件可
用于所有的绘图应用。iPlot组件的应用使得绘图程序得到了最优化, iPlot组件还可提供高速接入和绘图方法。
iXYPlot是一个即时绘图组件,它支持具备任意 X、Y坐标值的数据。
iScope是一个真正的实时模拟和数字范围的组件。支持实时处理和显示的数据时,5MHz的信号输入率如果是连续的数据或使用更高的数据传输率采用间断数据。
iPlot组件和 iXYPlot组件的等级是相同的,除了通道的对象。其层次结构图如图 1。
图 1层次结构图常用属性简介如下表:
Channel属性,可以访问指定的通道。可以使用 AddChannel, DeleteChannel和 RemoveAllChannel方法在运行时间中添加或者移除某个通道。在设计时,可以使用内置的属性编辑器来改变通道。
Annotation属性,可以访问指定的注释。可以使用 AddAnnotation, DeleteAnnotation和 RemoveAllAnnotation方法在运行时间中添加或者移除某个注释。注释无法在设计时间中添加。
X-axis属性,您可以访问指定的 X轴线。您可以使用 AddXAxis, DeleteXAxis和 RemoveAllXAxes方法在运行时间中添加或者移除某个 X轴。在设计时间,可以使用内置的属性编辑器来改变某个 X轴。
YAxis属性,可以访问指定的 Y轴线。可以使用 AddYAxis, Delete YAxis和 RemoveAllYAxes方法在运行时间中添加或者移除某个 Y轴。在设计时间,可以使用内置的属性编辑器来改变某个 Y轴。
DataView属性通过索引号,可以访问数据视图。该功能接口支持多个数据视图,但是在当前版本中未提供该功能支持,期待在下面版本中推出。
ToolBar属性通过索引号,可以访问工具栏。该功能接口支持多个工具栏,但是在当前版本中未提供该功能支持,期待在下面版本中推出。
Legend属性通过索引号,可以访问图标符号。该功能接口支持多个图标符号,但是在当前版本中未提供该功能支持,期待在下面版本中推出。
对界面的设置是必不可少的,它可以更直观更简捷的为我们提供绘制实时曲线的各个属性功能,我们可以直接修改程序来进行对一些属性要求的设置,也可以直接在面板的分项属性中进行设置,对各属性
不同的设置得到的结果显示也将不一样,可以根据设计员自己的要求来具体设置。下图 2是显示了本文所应用的 iPlot组建的编辑主界面。
下面来看一下如何采用 Iocomp控件中的 iPlot组件来实现实时曲线的绘制,编写程序既简单又方便。
采用 Iocomp控件中的 iPlot组件绘制实时曲线,其实时测量值曲线绘制显示界面如图 3。
实时曲线反映的是现场数据的实时性和当前趋势,绘制实时采集数据曲线是为了实时观测,以便掌握实时采集数据变动的趋势,使曲线显示效果最佳,因此在实现时需显示曲线的动态变化,当前点在曲线的最右端显示,而整个曲线动态地向左移动。实时曲线在动态的移动时,测量值、峰值、谷值这三个通道同时相应的显示具体采样数值,一目了然。由于篇幅有限,程序只保留核心部分。编写程序如下:
Private Sub Form_Load() iPlotX1.Channel(0).TitleText = " 测量值" iPlotX1.Channel(1).TitleText = " 峰值" iPlotX1.Channel(2).TitleText = " 谷值" Call Comm_initial XValue = 0 If Right(App.Path, 1) = "\" Then fpname = App.Path &"data\" Else fpname = App.Path &"\data\" End If ComD1.InitDir = fpname End Sub
以上程序完成对 iPlotX控件的初始化,初始化具有三个通道,名字分别为测量值、峰值、谷值,并调用 Comm_initial函数完成对串口的初始化,设定 App.Path & "data\"为采集数据存放路径。
Private Sub Timer1_Timer() Dim a Dim i%, j%, k%, l% Dim bjsta As String Dim otime As Long Dim delayt As Integer delayt = 60 i=0 '命令重发次数计数变量 j=0 k=0 l=0 fs1: MSComm.InBufferCount = 0 MSComm.OutBufferCount = 0 '清空输出缓冲区 MSComm.Output = "#01" & vbCr '测量值读取 otime = GetTickCount i=i+1 Do a = DoEvents() Loop Until MSComm.InBufferCount >= 10 Or GetTickCount >= otime + delayt clclz = MSComm.Input If Left(clclz, 1) = "=" And IsNumeric(Mid(clclz, 2, 6)) Then lbclz.Caption = Mid(clclz, 2, 6) clclz = lbclz.Caption Else If i > 10 Then GoTo fs2 GoTo fs1 End If ………………//省略程序数据采集峰值、谷值,其采集方法同上 fs5: YValue = Val(lbclz.Caption) iPlotX1.Channel(0).AddYNow Yvalue YValue = Val(Lbfz.Caption) iPlotX1.Channel(1).AddYNow YValue YValue = Val(Lbgz.Caption) iPlotX1.Channel(2).AddYNow YValue YValue = yboutv2 XValue = XValue + 1 MSComm.InBufferCount = 0 MSComm.OutBufferCount = 0 ………………//数据保存部分省略 End Sub
以上程序为实时采集函数,其功能:用 MSComm实现与串口的通信, MSComm.Output = "#01" & vbCr语句为读仪表命令。每次采样发出 3条仪表读取测量值命令,1条报警开关读取命令。采样频率在有线通信和无线通信模式下最高每秒可以达到 15次,在无线通信出错较大情况下可以保证每秒正确采样 8次,通信采用的强烈的纠错方法;采样数据测量值、峰值、谷值送入 Iocomp控件实时显示,程序会在每次采样过后将数据存入本软件的 data目录下。
以上程序采用 Iocomp控件实现实时曲线的绘制,曲线的采样频率可以每秒达到 50次,最高可达 100次,灵敏度极高,绘制出的曲线也比较流畅,它不仅可用在工业控制的历史数据处理,而且可以广泛地适用于商业、管理及很多有大量数据需曲线显示的应用。
因此,Iocomp Components图形仪表组件对于构建逼真的人机界面、处理实时数据将非常有用,相信它们会被广泛地应用到越来越多的领域和行业当中。由于控件具有界面友好、操作简单、可扩展性强等特点,因此使用这些组件可以非常方便地扩展出风格多种多样的数据图形,整个设计过程都无需编程。
作者:陕西理工学院物理系 翟世磊 李明波 李福 刘东
工控仪表盘与数采软件交流群:766890732 欢迎进群交流讨论
(慧都控件网版权所有,转载请注明出处,否则追究法律责任)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
在处理电子表格时,尤其是在专业和数据导向型环境中,正确设置 Excel 单元格内的数字格式至关重要。本文将介绍如何使用 Spire.XLS for Java 设置 Excel 单元格的数字格式,帮助轻松创建精美且结构清晰的电子表格。
一款适用于 .Net Compact Framework的全新、先进、高速、易用、实时的,智能制造推荐的工控图表控件
Iocomp .NET WinForm一款100% C#托管代码、充分利用GDI+优点的.用于工业4.0工业控制的NET工业仪表盘控件
Iocomp ActiveX/VCLIocomp ActiveX/VCL 是一套用于工业4.0工业控制的仪表盘控件,适用于 ActiveX 或VCL 开发环境
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢