应用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之间的数据传输和函数调用。
相关文章
- 2023-01-12基于DSP和CPLD的电机智能保护装置的设计
- 2024-06-05符合新标准的医疗设备泄漏电流测试技术研究
- 2022-06-22基于智能天线技术的TD-SCDMA系统应用研究
- 2022-05-09负荷预估信号在机组协调控制系统中的应用
- 2024-05-22运用传播时间法的时差式超声流量计设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。