[发明专利]基于LabVIEW的串口通信装置及方法有效
申请号: | 201410246988.X | 申请日: | 2014-06-05 |
公开(公告)号: | CN103984665B | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 王强;王骧予涵;薛红琳;吴钊君 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F13/42 |
代理公司: | 哈尔滨市松花江专利商标事务所23109 | 代理人: | 张利明 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 labview 串口 通信 装置 方法 | ||
技术领域
本发明涉及基于LabVIEW的串口通信装置及方法,属于串口通信技术领域。
背景技术
串口是计算机上一种非常通用的设备通信协议,是常用的计算机与外部串行设备之间的数据传输通道,通过串口总线与PC计算机组成虚拟仪器系统是目前虚拟仪器的构成方式之一,具有接口简单、使用方便的特点。
在虚拟仪器领域,NI公司的LabVIEW作为一个专为测试测量设计的编程语言越来越引人注目,它克服了VC、VB、C#、Java等传统高级语言程序代码冗长、不便进行功能拓展等缺点,具有使用简洁、直观的图形化编程方式,其人机交互界面友好、数据可视化分析、设备控制能力强等优点,使得在数据采集和仪器控制方面有很大优势,越来越多的被用于串口通信领域。
但是,在现有技术中,基于LabVIEW编程的串口通信会出现数据接收不全或者为空、解析数据帧程序冗杂耗时多等问题,这严重影响数据的通信质量。
发明内容
本发明目的是为了解决现有基于LabVIEW编程的串口通信存在数据丢失及解析数据帧程序冗杂耗时多的问题,提供了一种基于LabVIEW的串口通信装置及方法。
本发明所述基于LabVIEW的串口通信装置,所述通信装置作为上位机实现与下位机的通信,它包括:
用于感知人机交互界面控件的动作,产生事件并作为生产者将产生的事件以字符串形式送入事件消息队列的UI事件产生模块;
用于作为消费者接收事件消息队列中的字符串,并将字符串所代表的相应事件进行组帧产生数据帧,再作为生产者将产生的数据帧送入指令队列的UI事件处理模块;
用于作为消费者接收指令队列的数据帧,将该数据帧串口发送至下位机;同时接收下位机传送的串口数据,并作为生产者将接收的串口数据送入数据接收队列的数据发送与接收模块;
用于作为消费者接收数据接收队列中的数据并利用解析状态机对数据接收队列中的数据进行解析,并作为生产者将解析得到的数据送入解析帧队列的数据解析模块;
用于作为生产者接收解析帧队列中的数据并进行显示的数据显示模块。
所述UI事件产生模块具体包括:
用于感知人机交互界面控件的动作,产生事件,并对该事件通过值改变进行识别的应用事件结构函数;
用于将每个控件的动作作为一个事件分支,将每个事件分支对应的事件命令以字符串形式存入事件消息队列的元素入队列函数。
所述UI事件处理模块具体包括:
用于获取事件消息队列的元素出队列函数;
用于将事件分支与条件分支对应,并按照协议帧要求进行组帧,通过CRC16校验后成为待发送的数据帧,将待发送的数据帧与命令字符串捆绑后送入指令队列的元素入队列函数。
所述数据发送与接收模块具体包括:
用于进行VISA串口号参数、波特率参数、数据位参数、停止位参数、校验位参数和流程控制参数的初始化配置并在串口收发数据时禁用相应属性节点以防止所述配置改变的串口配置模块;
用于通过元素出队列函数获取指令队列的数据帧与捆绑的命令字符串,将命令字符串用于条件结构判断分支,将数据帧通过VISA写入串口发送至下位机的串口发送模块;
用于通过VISA读取下位机的串口数据,并将读取的下位机数据送入数据接收队列的串口接收模块;
用于通过VISA关闭函数来关闭串口,以恢复初始化配置时被禁用的属性节点的串口关闭模块。
所述数据解析模块具体包括:
用于获取数据接收队列中的数据的元素出队列函数;
用于对数据接收队列中的数据进行解析的解析状态机;
用于将解析状态机解析获得的数据转换为字符串后与命令字符串捆绑成簇送入解析帧队列的函数;
所述数据显示模块具体包括:
用于获取解析帧队列中的数据的元素出队列函数;
用于对解析帧队列中的数据进行解除捆绑,将命令字符串连接到条件结构函数的分支选择器,将数据字符串转换成字节数组后,进行显示的函数。
一种基于LabVIEW的串口通信方法,所述通信方法用于实现上位机与下位机的通信,它包括:
用于感知人机交互界面控件的动作,产生事件并作为生产者将产生的事件以字符串形式送入事件消息队列的UI事件产生步骤;
用于作为消费者接收事件消息队列中的字符串,并将字符串所代表的相应事件进行组帧产生数据帧,再作为生产者将产生的数据帧送入指令队列的UI事件处理步骤;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410246988.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种毛毯流水线加工用的中间存储装置
- 下一篇:一种油封径向力检测仪