[发明专利]一种多路复用串口协议转换器有效
申请号: | 201310085437.5 | 申请日: | 2013-03-15 |
公开(公告)号: | CN103166971A | 公开(公告)日: | 2013-06-19 |
发明(设计)人: | 雷海涛 | 申请(专利权)人: | 广东盈嘉科技工程发展股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京联瑞联丰知识产权代理事务所(普通合伙) 11411 | 代理人: | 郑自群 |
地址: | 510101 广东省广州市越秀*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多路复用 串口 协议 转换器 | ||
技术领域
本发明涉及串口设备,特别是指一种多路复用串口协议转换器。
背景技术
在机房动力环境监控系统或者类似的系统的数据采集应用环境中,对I/O数据采集器、电源设备、智能空调、门禁控制器等被监控对象的串口数据采集,通常采用“串口协议转换器”将被监控对象的串口数据转换成IP数据格式,然后通过串口协议转换器的以太网端口上传至上位机监控系统。
但是现有的串口协议转换器由于在某一时间段内仅能接收和处理一条上位机发送的指令,因此假如多台上位机同时通过串口协议转换器对接入的同一串口设备(被监控对象)进行数据采集,则会存在以下问题:
1、可能出现多条不同上位机的指令粘连或交错在一起,通过“串口协议转换器”汇集后形成一个数据包由串口发往串口设备,串口设备将无法识别指令,造成上位机系统发出的指令无法响应。
2、即使多台上位机系统发送的查询指令能依次到达串口设备,串口设备亦能够识别多条查询指令并返回结果,但“串口协议转换器”会将全部的指令应答结果上传到所有的上位机系统,单一上位机得到的将不只是自己所发出指令的应答结果,而且包含其他上位机的应答结果,需将不属于本上位机的应答结果剔除,这将造成上位机数据检验难度增大或造成数据错乱现象出现。
3、如果串口设备使用的是RS485接入模式,发送不进行流量控制和无时间间隙的数据,会导致总线死锁,整条485总线的所有串口设备的数据采集将中断。
4、多台上位机通过同一“串口协议转换器”对同一串口设备进行数据采集,由于串口通讯链路有响应慢,传输速率低的特点,多台上位机使用串口协议转换器采集数据的响应速度会比单机采集慢,极端情况下,会造成响应速度和数据采集性能不能满足上位机系统的需求。
5、目前市面上的通用“串口协议转换器”虽然允许不同的上位机系统连接并采集数据,但此类“串口协议转换器”的设计不允许同一串口同时给两台以上的上位机使用,无法满足多上位机共享“串口协议转换器”资源的市场新需求。
发明内容
本发明提出一种多路复用串口协议转换器,解决了多台上位机对单一串口进行操作时的数据传输准确性,以及提高串口响应速度的问题。
本发明的技术方案是这样实现的:
一种多路复用串口协议转换器,包括:
从上位机获取查询指令;
串口协议转换器根据动态链接库函数对查询指令数据进行校验,判断校验成功后的查询指令是否存在于指令缓冲区,如存在,则判断该查询指令在指令缓冲区是否存在有效的返回结果并将返回结果发回上位机;若不存在则将该查询指令存放于指令缓冲区;
串口协议转换器根据查询指令的优先级依次发送校验后的查询指令至串口设备,串口设备响应查询指令并返回结果;
根据动态链接库函数对返回结果数据的有效性进行校验,将校验成功后的返回结果存储于指令缓冲区;并根据指令缓冲区的状态定义判断是否将返回结果发送至上位机。
优选的,在执行发送校验后的查询指令至设备的步骤中,预设有回复时间,当串口设备在预设的回复时间内未对查询指令进行响应,则发送队列中的下一条查询指令。
优选的,在执行发送校验后的查询指令至串口设备的步骤中,预设有发送时间间隔,为几百毫秒到几秒。
优选的,在执行根据动态链接库函数对查询指令数据以及返回结果数据的有效性进行校验,将未能校验成功的数据暂存于数据缓冲区的步骤中;当接收到新的数据包时,首先对新数据包独立校验,若校验成功,则将数据缓冲区数据移至指令缓冲区;若校验失败,则与数据缓冲区的数据进行合并校验;若合并校验成功,则将数据移至指令缓冲区,若合并校验失败,则将数据添加到数据缓冲区尾部。
优选的,在执行串口协议转换器根据动态链接库函数,对查询指令数据和返回结果数据进行校验的步骤时,首先判断接收到的数据是否完整,若不完整,则等待下一数据包到来再共同判断是否完整。
本发明通过动态链接库函数对查询指令和返回结果的有效性进行校验,从而可以避免无效信息,缩短响应时间的同时保证返回结果的可识别性,另外通过对返回结果进行缓存,在接收到查询指令时,首先在缓存区内进行指令结果的查询,若多个上位机对串口协议转换器同一设备进行查询,并且指令缓冲区存在相应有效的返回结果,则无需再向串口设备发送查询指令,而直接将返回结果发送至上位机,从而可以缩短响应时间,以及避免结果错误,解决现有技术中查询指令出现交错,无法识别以及返回结果混淆的状况,而造成上位机和串口监控设备压力或者无法识别返回结果的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东盈嘉科技工程发展股份有限公司,未经广东盈嘉科技工程发展股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310085437.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种外墙上的大型遮阳广告装置
- 下一篇:一种客车检修门及使用该检修门的客车