碧波液压网 欢迎你,游客。 登录 注册

应用C++ Builder 6.0的串口数据实时曲线绘制方法研究

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  0 引言

  在工业控制领域,需要进行大量的数据处理和可视化显示。以Borland C++ Builder和Matlab为开发工具进行开发使得实时曲线的绘制更方便、简捷[1]。Borland C++ Builder是一种面向对象的可视化应用程序开发工具,为程序开发人员提供了十分轻松而快捷的开发环境。它以其友好的界面设计和方便的编程实现,广泛应用于工程实践中。Mat-lab则是十分通用,而且方便的绘图工具[2-3]。在C++Builder6.0环境下串口的4种实现方法有:1)采用在C++程序中嵌入行间汇编,直接对UART串口通讯硬件进行操作,实时性最高,但编程需要了解硬件;2)利用Windows的API通信函数,编程较复杂,但灵活性最大,实时性较高;3)利用VB下高性能的ActiveX控件MSComm,编程简单,实时性不错,二进制接收模式编程稍有点复杂;4)利用清华大学开发的串口通信控件TComm[4-5],编程最简单方便,且可靠。但无论用哪种方法来开发串口通信程序,其实现步骤差不多,如图1所示。其中使用API通信函数实现步骤稍有不同,它是先打开串口,在得到串口句柄后,再进行串口参数的配置。

  本文重点介绍了运用TComm控件进行串口编程并实现对Matlab的调用来绘制实时曲线。

  1 利用控件TComm的串口通信程序

  实现方法

  TComm是清华大学开发的第三方串口控件,是MSComm的增强版本,功能强大,编程非常简单且支持字符串和字节两种通信方式。控件TComm的具体使用及源代码参见文献[4-5,9]。

  1.1 安装第三方串口控件TComm

  C++ Builder另一特色就是控件的制作及安装非常方便,选择“Component”菜单里的“Install Compo-nent...”菜单项,在弹出的“Into existing package”属性页“Unit file name”输入框中选择TComm文件,单击两次“OK”按钮后,可以将TComm控件安装到C++Builder的System组件页中。

  1.2 TComm控件串口通信编程要点及实例

  TComm控件可以实现DTR/DSR、RTS/CTS硬件流控制,是比较完善的串口控件。TComm控件的串口通信参数设置与MSComm类似,其属性具体含义可参见源程序目录下的README文件。默认情况下,TComm控件接收和发送数据支持字符串和字节两种传输模式。在接收和发送数据前需要初始化串口,用SetPortOpen()方法打开串口,退出程序时用CloseComm()方法关闭串口。下面是无符号字符数据(含有大于127的非ASCII码)的发送和接收程序部分代码,字符串的发送和接收程序比其还要简单[7-8]。

  2 C++Builder调用Matlab的实现

  在高版本的Matlab中提供了DDE接口,用户可以通过Windows的DDE通信机制实现外部调用。这种实现方式比较简单,但将增大主程序代码,影响运行速度。在Windows系统中,DLL是一种很特别的可执行文件,可以被多个Windows应用程序同时访问,具有固定的共享数据段。该数据段的数据在DLL被Windows下载前会一直保留在内存中,因此可以通过DLL实现用户程序与Matlab之间的数据传输和函数调用。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论