基于虚拟仪器技术的工业色谱仪通信系统
0 引言
文中研究解决的是基于虚拟仪器技术开发的上位机与工业色谱仪之间的通讯问题。工业色谱仪可将实时采集的谱峰数据快速上传到上位机(即运行在PC上的虚拟仪器),上位机可实时接收谱峰数据并进行处理,还可以设置工业色谱仪的各项操作参数,控制仪器的工作状态[1]。
1 多线程技术概述
在W indows操作系统中,进程一般认为是应用程序执行的实例。每个进程是由私有的虚拟地址空间、代码、数据和其他系统资源组成的,而线程是进程内部可独立执行的单元,是操作系统对系统资源调度的基本单位。每个程序执行过程中至少存在一个线程(即程序主线程)。主线程是由应用程序在启动后创建的,它独立执行程序代码中的一些指令。除了主线程外,用户可以在程序运行中根据需要创建其他的线程,同一进程内的多个线程共享该进程的地址空间、代码和全局变量。图1和图2分别表示多个进程和并发多线程的资源分布[2]。
在多线程程序中,每个线程都由自己的堆栈,并独立于应用程序的其他线程而运行,因此,多个线程可以同时运行,实现高效率执行。对于单CPU的微机,多线程并不是真正意义的同时运行,而是一个一个时间片地轮流运行,由于时间片非常短,使得多个线程看起来是在同时运行。对于多CPU的微机,才可真正实现多个线程同时运行。
2 用户通信协议设计
为了使数据在链路上无差错地传输,必须采用通信协议来规约数据的传输。因此,确定一个明确而合理的通信协议是关键,包括对数据格式、纠错方式以及控制字符定义等问题做出统一规定。数据格式采用数据帧的形式,一次传输一组数据,数据帧格式如图3所示[3]。
数据格式中,起始位和停止位表示数据帧的帧头和帧尾,分别用“#”和“*”表示;功能码表示本次通信要完成的操作,通信时会根据不同的操作产生不同的功能码;数据内容是本次通信中改变功能所需要的参数;数据校验采用循环冗余校验,上位机每产生一组数据,先进行CRC校验,生成校验码;下位机接收到数据后先校验,出错时要求重发。
3 系统软件设计
3. 1 编程环境
LabW indows/CVI是一个基于ANSIC的交互式可视化软件开发环境,它将功能强大、应用广泛的C语言与测控专业工具有机地结合起来。它的集成化开发环境、交互式编程方法、丰富的函数面板、强大的接口功能以及功能齐全的软件工具包,增强了C语言的功能,简化了图形用户接口的设计,同时为使用者提供了灵活的数据采集分析和显示功能。相对于VC、VB、PB等其他开发工具, LabW indows/CVI具有更强的硬件控制和数据分析处理能力,特别适用于各种测试、控制、故障分析及信息处理软件的开发,尤其是大型复杂的测控软件,可获得优良的测控性能[4]。
相关文章
- 2022-10-09嵌入式系统ARM7在车辆调度中的应用
- 2023-01-12位置随动控制设备在线检测与故障分析
- 2024-09-03三坐标测量机的误差分析及其补偿
- 2024-03-19线阵CCD在颜色测试中的应用
- 2024-04-29最新激光喇曼显微分光法
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。