[发明专利]基于LabVIEW的串口通信装置及方法有效
申请号: | 201410246988.X | 申请日: | 2014-06-05 |
公开(公告)号: | CN103984665B | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 王强;王骧予涵;薛红琳;吴钊君 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F13/42 |
代理公司: | 哈尔滨市松花江专利商标事务所23109 | 代理人: | 张利明 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 labview 串口 通信 装置 方法 | ||
1.一种基于LabVIEW的串口通信装置,所述串口通信装置作为上位机实现与下位机的通信,其特征在于,它包括:
用于感知人机交互界面控件的动作,产生事件并作为生产者将产生的事件以字符串形式送入事件消息队列的UI事件产生模块;
用于作为消费者接收事件消息队列中的字符串,并将字符串所代表的相应事件进行组帧产生数据帧,再作为生产者将产生的数据帧送入指令队列的UI事件处理模块;
用于作为消费者接收指令队列的数据帧,将该数据帧通过串口发送至下位机;同时接收下位机传送的串口数据,并作为生产者将接收的串口数据送入数据接收队列的数据发送与接收模块;
用于作为消费者接收数据接收队列中的数据并利用解析状态机对数据接收队列中的数据进行解析,并作为生产者将解析得到的数据送入解析帧队列的数据解析模块;
数据解析模块最外层用while循环来维持解析状态机的运行,在while循环外对状态以及所用数据进行初始化,在while循环内由外到内逐层分别为用条件结构判断元素出队列是否超时、用for循环使接收到的数据以字节形式一个一个进行处理、用条件结构选择状态以及每个状态下数据的处理以及对下一状态的选择,状态和数据在流入和流出while循环和for循环时使用移位寄存器,这样保证了每个状态下处理完数据后指示下一步进入下一个指定状态;在外层while循环中,数据解析模块从数据接收队列中读取数据字符串,转换成字节数组后一个一个送入for循环,此时数据解析模块作为消费者,字节进入for循环后进入第一个默认的状态分支,根据解析帧协议进行判断,首先判断是否为帧头,根据结果在最内层条件结构中确定下面进入哪一个状态并选择是否将本次数据添加到解析帧数组,这个状态通过移位寄存器传入下一次循环状态选择条件结构的状态判断中,这样状态机可以在各个状态间自由转换,最终得到按照协议帧要求的解析数据帧数组并将数组转换为字符串与命令字符串捆绑后送入解析帧队列,此时数据解析模块作为生产者;
用于作为生产者接收解析帧队列中的数据并进行显示的数据显示模块。
2.根据权利要求1所述的基于LabVIEW的串口通信装置,其特征在于,所述UI事件产生模块具体包括:
用于感知人机交互界面控件的动作,产生事件,并对该事件通过值改变进行识别的应用事件结构函数;
用于将每个控件的动作作为一个事件分支,将每个事件分支对应的事件命令以字符串形式存入事件消息队列的元素入队列函数。
3.根据权利要求1或2所述的基于LabVIEW的串口通信装置,其特征在于,所述UI事件处理模块具体包括:
用于获取事件消息队列的元素出队列函数;
用于将事件分支与条件分支对应,并按照协议帧要求进行组帧,通过CRC16校验后成为待发送的数据帧,将待发送的数据帧与命令字符串捆绑后送入指令队列的元素入队列函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410246988.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种毛毯流水线加工用的中间存储装置
- 下一篇:一种油封径向力检测仪