首页> 中国专利> 基于LabVIEW被动接收型的串口通信系统

基于LabVIEW被动接收型的串口通信系统

摘要

本发明提出了一种基于LabVIEW被动接收型的串口通信系统,包括外界通讯模块、触发模块、串口基本通信模块、数据检测和重测模块和数据存储模块;外界通讯模块通过两个共享变量与外部控制器实现通讯,触发模块根据外界通讯模块传入的触发共享变量数据值进行判断,串口基本通信模块包括初始化模块、数据传输和处理模块、数据接收模块;数据检测和重测模块判断接受数据的数据类型、长度是否和测试仪器设定的数据类型、长度相同,数据存储模块存储数据检测和重测模块判断合格的数据。该系统只需设置相应串口参数即可显示硬件采集的数据,并可实时存储和回放采集到的数据,方便以后对采集数据进行研究。实验证明,系统的稳定性和可靠性较高。

著录项

  • 公开/公告号CN103514073A

    专利类型发明专利

  • 公开/公告日2014-01-15

    原文格式PDF

  • 申请/专利权人 西北工业大学;

    申请/专利号CN201310201926.2

  • 申请日2013-05-27

  • 分类号G06F11/26(20060101);G06F9/44(20060101);

  • 代理机构61204 西北工业大学专利中心;

  • 代理人陈星

  • 地址 710072 陕西省西安市友谊西路127号

  • 入库时间 2024-02-19 21:53:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-05

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F11/26 专利号:ZL2013102019262 变更事项:专利权人 变更前:江西婺华通信工程有限责任公司 变更后:中婺企集团有限公司 变更事项:地址 变更前:333200 江西省上饶市婺源县工业园区 变更后:333200 江西省上饶市婺源县工业园区

    专利权人的姓名或者名称、地址的变更

  • 2018-06-01

    专利权的转移 IPC(主分类):G06F11/26 登记生效日:20180514 变更前: 变更后: 申请日:20130527

    专利申请权、专利权的转移

  • 2015-01-28

    授权

    授权

  • 2014-02-19

    实质审查的生效 IPC(主分类):G06F11/26 申请日:20130527

    实质审查的生效

  • 2014-01-15

    公开

    公开

说明书

技术领域

本发明属于串口通信领域,具体涉及一种基于LabVIEW被动接收型的串口通信系 统。

背景技术

串行通信是一种在计算机与外部设备以及算机与测试系统之间最简单、最普遍的 数据通信方式。串行通信使用计算机内建的串口,用户无需再购买任何特殊硬件,只 要一根串口线就可以达到发送或接收数据的目的,而且不失测试的准确性。串口通过 RS-232串口总线与PC计算机组成虚拟仪器系统,主要适用于速度较低的测试系统,它 具有接口简单,使用方便的特点。所以,串口通信广泛应用于数据采集、监测监控以 及仪表控制等场合。图形化编程语言LabVIEW的出现为串口调试与数据分析带来了极 大方便。

传统的串口调试采用高级语言,比如VC、VB、C#、Java等,这些语言程序代码冗 长,不便进行功能拓展,如果对串口数据进行分析,则需推翻原有程序结构,重新编 制代码。与传统的编程语言相比LabVIEW采用图形(即各种图标、图形符号、连线等) 编程,具有编程简洁、直观性强、人机交互界面友好、数据可视化分析与设备控制能 力优等特点。LabVIEW经典的串口程序都是先写入数据和后读取数据,比如李晴的《基 于LabVIEW的串口通信应用》、吕向锋的《基于LabVIEW串口通信的研究》、梁国伟的 《基于LabVIEW的串口数据采集的实现及应用》中,就是采用先写数据和后读数据的 方式来实现串口数据的采集。但是现在非常多的仪表、设备等下位机都是不断地发送 数据给上位机,而且发送的数据长度一般可设定,而上位机不知道下位机何时发送的 情况下被动接收数据,这属于典型的被动接受型串口通信。

基于LabVIEW编程的被动接受型串口通信会出现下面三个问题。问题一:一般的 被动接受型串口通信系统利用循环结构不断查询缓冲区的方式来读取数据,但串口数 据有时接受不全或者为空,这是由于在数据没有全部传送过来时,系统就将数据读出, 导致了数据的不完整。问题二:当使用LabVIEW从串口读取数据的时候,会连续不断 地查询串口缓冲区直到接收到数据为止,这增加了处理器和资源的占用,如果程序中 有较多的其他循环结构,就会导致系统中的其他循环不能流畅地运行,使系统运行缓 慢。问题三:由于串口本身的不稳定性,很容易受到外界电磁场等外界干扰,导致下 位机发过来的数据有可能本身就存在数据类型不符合、数据不完整等问题。

发明内容

要解决的技术问题

为解决现有技术存在的问题,本发明提出了一种基于LabVIEW被动接收型的串口 通信系统。

技术方案

本发明的技术方案为:

所述一种基于LabVIEW被动接收型的串口通信系统,其特征在于:包括外界通讯 模块、触发模块、串口基本通信模块、数据检测和重测模块和数据存储模块;

外界通讯模块通过两个共享变量与外部控制器实现通讯,所述两个共享变量分别 为触发共享变量和重测共享变量,两个共享变量的数据类型为布尔型,初始值为 false;外部控制器通过接受测试仪器发出的脉冲信号改变触发共享变量,且脉冲信号 使触发共享变量先变为true,而后变为false;外界通讯模块通过改变重测共享变量 值使外部控制器驱动测试仪器重新测试;

触发模块根据外界通讯模块传入的触发共享变量数据值进行判断;在触发模块中 国,触发共享变量与true常值进行等逻辑运算,循环结构的移位寄存器与false常值 进行等逻辑运算,其中循环结构的移位寄存器初始值为false;两个等逻辑运算的输 出进行逻辑与运算,逻辑与运算的结果控制串口基本通信模块是否执行;

串口基本通信模块包括初始化模块、数据传输和处理模块、数据接收模块;初始 化模块控制波特率、数据位、停止位和校验位四个参数与测试仪器的串口参数一致, 且初始化模块中不启用终止符;数据传输和处理模块将通过测试仪器串口传来的数据 暂存在串口通信系统的数据缓冲区中;数据接收模块利用循环结构不停查询串口通信 系统的数据缓冲区,当数据缓冲区有数据时,数据接收模块就按照串口数据长度将串 口数据读取;

数据检测和重测模块判断接受数据的数据类型、长度是否和测试仪器设定的数据 类型、长度相同,若不同,则通过改变重测共享变量使外部控制器驱动测试仪器重新 测试;

数据存储模块存储数据检测和重测模块判断合格的数据。

有益效果

针对基于LabVIEW编程的被动接受型串口通信出现的三个问题,本发明设计了一 种应用于串口数据采集的系统:触发串口通信系统。触发串口通信系统采用共享变量 与外界硬件通信的方式触发串口,通过共享变量告诉上位机何时读对应串口的数据, 而不是盲目的查询,解决问题一。该系统会在数据全部传送过来之后,才读取串口缓 冲区的数据,可保证读取数据的完整性,而且不需要连续不断地查询串口缓冲区,减 少了处理器和资源的占用,使系统能够流畅运行,解决问题二。系统可以判断接收数 据的合格与否,一旦出现不合格数据,则可以通过共享变量与外界硬件通信的方式来 触发下位机重新测量,重新获得合格测试数据,解决问题三。该系统只需设置相应串 口参数即可显示硬件采集的数据,并可实时存储和回放采集到的数据,方便以后对采 集数据进行研究。实验证明,系统的稳定性和可靠性较高。

附图说明

图1:串口通信硬件线路;

图2:控制器、下位机、工控机的硬件连接与信号传递流程图;

图3:触发串口通信软件系统信号传递流程图;

图4:串口基本通信模块;

图5:触发串口通信方法。

具体实施方式

下面结合具体实施例描述本发明:

本实施例中串口通信系统与外部控制器和测试仪器通过线路连接,其中串口通信 硬件线路只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信, 使用串口通信线将两个串口设备连接起来即可。准备两个9针的串口接线端子,准备 3根导线(最好采用3芯屏蔽线),将导线焊接到接线端子上,串口接线端子1的2脚、 3脚、5脚分别对应串口接线端子2的3脚、2脚、5脚。而外部控制器和测试仪器之 间通过4路接口信号,包括启动、复位、急停、完成信号通信,复位、急停、完成接 口信号分别连接到控制器的输入点上,启动接口信号连接到控制器的输出点上。通过 下位机输入控制器的3个信号,告知控制器此时下位机的状态。通过编写控制器的程 序实现下位机的动作,控制器的输出来控制下位机的启动。

参照附图3,串口通信系统,包括外界通讯模块、触发模块、串口基本通信模块、 数据检测和重测模块和数据存储模块。

外界通讯模块通过两个共享变量与外部控制器实现通讯,所述两个共享变量分别 为触发共享变量和重测共享变量,两个共享变量的数据类型为布尔型,初始值为 false;外部控制器通过接受测试仪器发出的脉冲信号改变触发共享变量,且脉冲信号 使触发共享变量先变为true,而后变为false;外界通讯模块通过改变重测共享变量 值使外部控制器驱动测试仪器重新测试。

触发模块根据外界通讯模块传入的触发共享变量数据值进行判断;在触发模块中 国,触发共享变量与true常值进行等逻辑运算,循环结构的移位寄存器与false常值 进行等逻辑运算,其中循环结构的移位寄存器初始值为false;两个等逻辑运算的输 出进行逻辑与运算,逻辑与运算的结果控制串口基本通信模块是否执行。

当触发共享变量的值变为true,循环结构的移位寄存器初始值为false,两个等 逻辑输出为true,然后再进行与逻辑,输出为true,可以触发对应串口基本通信模块 读取数据,读完数据后,即执行完一次循环之后,循环结构的移位寄存器值变为true。 而循环再次执行时,一个等逻辑输出为false,然后再进行与逻辑,输出为false,, 不能再次执行串口基本通信模块。由于触发共享变量为一个脉冲信号,当外界硬件将 触发共享变量的值置为false时,循环结构的移位寄存器值为false,两个等逻辑输 出为false,然后再进行与逻辑,输出为false,确保不能再次执行串口基本通信模块。 同时为下次触发做准备,当触发共享变量的值再次变为true,又可以进行上述的操作。 保证触发共享变量每次触发只能执行一次串口基本通信模块。

串口基本通信模块包括初始化模块、数据传输和处理模块、数据接收模块。初始 化模块控制波特率、数据位、停止位和校验位四个参数与测试仪器的串口参数一致, 且初始化模块中不启用终止符,防止数据接受不全。数据传输和处理模块将通过测试 仪器串口传来的数据暂存在串口通信系统的数据缓冲区中,数据发送后到接收之间延 时500毫秒,即读取数据之前延时500毫秒。数据接收模块利用循环结构不停查询串 口通信系统的数据缓冲区,当数据缓冲区有数据时,数据接收模块就按照串口数据长 度将串口数据读取。

数据检测和重测模块判断接受数据的数据类型、长度是否和测试仪器设定的数据 类型、长度相同,若不同,则表示数据不合格,通过改变重测共享变量使外部控制器 驱动测试仪器重新测试。当下次数据合格时,输出将重测共享变量的值置false,不再 启动下位机。

串口数据判断合格后,一方面用于显示,另一方面用于数据的存储。数据存储模 块就用于存储数据检测和重测模块判断合格的数据。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号