首页> 中国专利> 一种串口设备通讯方法及系统

一种串口设备通讯方法及系统

摘要

本发明涉及一种串口设备通讯方法及系统。在所述方法及系统中,串口服务器可以对上位机的数据请求命令进行缓存,在缓存时无需再接收上位机的数据请求命令,而采用主动上报的方式将结果发送给串口驱动,且所述串口服务器并不上报串口设备的每次数据,只当数据发生变化时才将本次数据上报至串口驱动,由串口驱动进行缓存,上位机由此可随时从串口驱动查询串口设备的数据,由此,上位机对串口设备的查询可以实时进行,降低了延迟,另一方面,由此采用主动上报且当数据发生变化时才进行上报,可节省大量的流量和带宽,有效减少网络压力。

著录项

  • 公开/公告号CN106572184A

    专利类型发明专利

  • 公开/公告日2017-04-19

    原文格式PDF

  • 申请/专利权人 深圳云联讯数据科技有限公司;

    申请/专利号CN201610989126.5

  • 发明设计人 王卓鹏;

    申请日2016-11-09

  • 分类号H04L29/08;H04L29/06;H04L12/403;

  • 代理机构深圳市智圈知识产权代理事务所(普通合伙);

  • 代理人韩绍君

  • 地址 518000 广东省深圳市龙华新区民治梅龙路彩悦大厦8层8803室

  • 入库时间 2023-06-19 01:58:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-31

    授权

    授权

  • 2018-03-06

    著录事项变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20161109

    著录事项变更

  • 2017-05-17

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20161109

    实质审查的生效

  • 2017-04-19

    公开

    公开

说明书

技术领域

本发明涉及通信技术,尤其涉及一种串口设备的通讯方法及系统。

背景技术

远程监控系统被广泛的应用于各种场合中。例如,在大型的机房内,就需要对机房环境和参数等进行监控。

如图1所示,一般来说,远程监控系统300都会包括一个远程服务器31以及串口服务器32,其中串口服务器32通过物理线缆32A与串口设备34,如各类数据采集器,感测器等进行连接,而串口设备34与串口服务器32之间采用串口通讯(如RS232/RS485)方式进行连接,其两者通过物理线缆32A连接,因此并不会出现带宽受限的问题。

而远端服务器31与串口服务器32通常物理距离较远,而串口服务器32将串口设备34所采集的数据经过处理后上报至远端服务器31。在上报前串口服务器32将串口数据转换为TCP/IP网络传输数据后传送给远端服务器31。通常,远端服务器31通过其串口驱动31B虚拟出串口设备(虚拟的串口设备31A)。由此,对于远端服务器31来说,其调用虚拟串口设备31A与物理调用串口设备34完全相同,服务器端应用程序无须做出变更。

然而,本发明的发明人发现:在现有技术中,首先,串口服务器32需要直接与串口设备34通讯,因此需要采用与串口通讯匹配的协议(如RS232/RS485等),也就是说,串口服务器32需要针对不同的串口设备34做匹配设计,或者需要进行人工配置,比较麻烦;

其次,串口通讯协议采用的是轮询机制(主从架构),比如说每秒轮询,当串口设备34是物理设备的时候,不存在流量、带宽的问题,但是当采用TCP/IP网络的时候,串口设备数量大时,轮询会带来巨大的网络压力。

发明内容

有鉴于此,有必要提供一种串口设备通讯方法及系统,其可以高效的实现串行通信总线通信系统中从机总线地址的分配过程。

一种串口设备通讯方法,应用于串口设备通讯系统中,所述串口设备通讯系统包括:上位机、通过互联网与所述上位机相连的串口服务器、以及多个通过串口与所述串口服务器相连的串口设备,所述上位机具有串口驱动,所述串口驱动与所述串口服务器通讯,并虚拟出与所述多个串口设备对应的串口设备;所述方法包括:

在触发预定条件时所述串口服务器对上位机的数据请求命令进行缓存;

在所述数据请求命令被缓存后,所述串口服务器周期性地向所述多个串口设备发送所述数据请求命令以进行轮询,并接收所述串口设备返回的数据;

所述串口服务器判断同一串口设备本次返回的数据与上一次返回的数据是否发生变化,当数据发生变化时将本次返回的数据主动推送至所述上位机,由所述串口驱动进行缓存以备所述上位机查询。

一种串口设备通讯系统,包括:上位机、通过互联网与所述上位机相连的串口服务器、以及多个通过串口与所述串口服务器相连的串口设备,所述上位机具有串口驱动,所述串口驱动与所述串口服务器通讯,并虚拟出与所述多个串口设备对应的串口设备;

在触发预定条件时所述串口服务器对上位机的数据请求命令进行缓存;

在所述数据请求命令被缓存后,所述串口服务器周期性地向所述多个串口设备发送所述数据请求命令以进行轮询,并接收所述串口设备返回的数据;

所述串口服务器判断同一串口设备本次返回的数据与上一次返回的数据是否发生变化,当数据发生变化时将本次返回的数据主动推送至所述上位机,由所述串口驱动进行缓存以备所述上位机查询。

相对于现有技术,串口服务器可以对上位机的数据请求命令进行缓存,在缓存时无需再接收上位机的数据请求命令,而采用主动上报的方式将结果发送给串口驱动,且所述串口服务器并不上报串口设备的每次数据,只当数据发生变化时才将本次数据上报至串口驱动,由串口驱动进行缓存,上位机由此可随时从串口驱动查询串口设备的数据,由此,上位机对串口设备的查询可以实时进行,降低了延迟,另一方面,由此采用主动上报且当数据发生变化时才进行上报,可节省大量的流量和带宽,有效减少网络压力。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

图1为现有技术提供的串口设备通讯系统的结构示意图;

图2为本发明第一实施例提供的串口设备通讯方法的流程示意图;

图3为本发明第二实施例提供的串且为图2所示的方法所使用的串口设备通讯系统的结构示意图。

具体实施方式

为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。

参阅图2,其为本发明第一实施例提供的串口设备通讯方法的流程示意图。所述方法应用于串口设备通讯系统100中,如图3所示,所述串口设备通讯系统100包括:上位机10、一个串口服务器12、以及多个通过串口与所述串口服务器相连的串口设备14。

所述上位机10通过其串口驱动10A虚拟出串口设备(虚拟的串口设备10B)。由此,对于上位机10来说,其调用虚拟串口设备10B与物理调用串口设备14完全相同。

本实施例中,所述上位机10通过通讯协议与所述串口服务器12相连接。所述通讯协议例如为TCP/IP通讯协议。实际运用过程中,所述上位机10与串口服务器12可以位于设置在物理上距离较远的两个地方。所述通讯协议也可以为其它通讯协议,并不局限于具体实施例。

串口服务器12通过物理线缆12A与串口设备14(图3中示出其具体数目为8个)进行连接,具体地,串口设备14与串口服务器12之间可采用串口通讯(如RS232/RS485)方式进行连接,其两者通过物理线缆12A连接,因此并不会出现带宽受限的问题。在本实施例中,所述串口设备14可以为各类数据采集器,感测器等。

在本实施例中,所述方法包括步骤S101-S104:

步骤S101、串口服务器对上位机的数据请求命令进行缓存;

步骤S102、串口服务器对所述多个串口设备进行轮询,并接收所述串口设备返回的数据;

步骤S103、串口服务器判断同一串口设备本次返回的数据与上一次数据是否发生变化,当数据发生变化时将本次数据主动推送至所述上位机,由所述串口驱动进行缓存;

步骤S104、上位机从串口驱动查询串口设备的数据。

在本实施例中,步骤S101中,串口服务器12对上位机10的数据请求命令进行缓存可基于以下条件作出。

第一种:串口服务器12接收到上位机10重复发送的数据请求命令达到预定数目时,其缓存上位机10的数据请求命令。所述预定数目例如可以为10、20个等等,并不局限于具体数目。

第二种:由串口驱动10A发送缓存命令请求时,当串口服务器12接收到串口驱动10A发送的缓存命令请求时,其缓存上位机10的数据请求命令。

在步骤S102中,串口服务器12对所述多个串口设备14进行轮询,所述轮询(Polling),在本实施例中是由串口服务器12定时向串口设备14发出询问,依序询问每一个串口设备14的当前数据,得到数据后再向下一个串口设备14进行询问,直到所述串口设备14都询问过一遍,才重新定时向串口设备14再次发出询问。在本实施例中,所述串口服务器12直接与串口设备14通讯,其采用与串口通讯匹配的协议,如RS232/RS485等其它协议,并不局限于具体实施例。

在步骤S103中,串口服务器12并不直接将串口设备14返回的数据发送给上位机10,而是先做判断,具体地,只有当同一串口设备14本次返回的数据与上一次数据发生变化时,才将本次数据发送至所述上位机10的串口驱动10A,由所述串口驱动10A进行缓存,以备查询;如果同一串口设备14本次返回的数据与上一次数据相同,则所述串口服务器12并不会将该数据发送给上位机10。

在步骤S104中,上位机10可以直接从串口驱动10A查询串口设备14的数据。本实施例中,上位机10通过其串口驱动10A虚拟出串口设备(虚拟的串口设备10B)。由此,对于上位机10来说,其调用虚拟串口设备10B与物理调用串口设备14完全相同。

在本实施例中,所述方法也可以进一步包括步骤:当串口服务器12接收到串口驱动10A发送的取消缓存命令请求时,其取消缓存上位机10的数据请求命令。也就是说,当上位机10主动指示取消串口服务器12的缓存,也即取消串口服务器12的主动上报时,串口服务器12将不再主动上报数据,而是当接收到上位机10的数据请求命令时,才再次对所述多个串口设备14进行轮询,并将数据发送给上位机10。

需要指明的是,在本实施例中,串口服务器12向上位机10发送数据,不对数据做协议解析,对于串口设备14返回的数据,也不做协议解析,只简单的比较前后两次数据的数据包是否完全相同,相同则表明数据未发生变化,不同表明发生了变化,在发生变化的时候将本次的数据发送给上位机10的串口驱动10A。由此,由于串口服务器12无须对具体的串口通讯协议做解析,因此在使用时也有效地提升了所述系统100与现有系统的兼容性。

综上所述,串口服务器12可以对上位机10的数据请求命令进行缓存,在缓存时无需再接收上位机10的数据请求命令,而采用主动上报的方式将结果发送给串口驱动10A,且所述串口服务器12并不上报串口设备14的每次数据,只当数据发生变化时才将本次数据上报至串口驱动10A,由串口驱动10A进行缓存,上位机10由此可随时从串口驱动10A查询串口设备14的数据,由此,上位机10对串口设备14的查询可以实时进行,降低了延迟,另一方面,由此采用主动上报且当数据发生变化时才进行上报,可节省大量的流量和带宽,有效减少网络压力。

请进一步参阅图3,其为本发明第二实施例提供的串口设备通讯系统100的结构示意,所述串口设备通讯系统100包括:上位机10、一个串口服务器12、以及多个通过串口与所述串口服务器相连的串口设备14。

所述上位机10通过其串口驱动10A虚拟出串口设备(虚拟的串口设备10B)。由此,对于上位机10来说,其调用虚拟串口设备10B与物理调用串口设备14完全相同。

本实施例中,所述上位机10通过通讯协议与所述串口服务器12相连接。所述通讯协议例如为TCP/IP通讯协议。实际运用过程中,所述上位机10与串口服务器12可以位于设置在物理上距离较远的两个地方。所述通讯协议也可以为其它通讯协议,并不局限于具体实施例。

串口服务器12通过物理线缆12A与串口设备14(图3中示出其具体数目为8个)进行连接,具体地,串口设备14与串口服务器12之间可采用串口通讯(如RS232/RS485)方式进行连接,其两者通过物理线缆12A连接,因此并不会出现带宽受限的问题。在本实施例中,所述串口设备14可以为各类数据采集器,感测器等。

本实施例中,所述串口服务器12用于对上位机10的数据请求命令进行缓存,进而对所述多个串口设备14进行轮询,并接收所述串口设备14返回的数据,且该串口服务器12判断同一串口设备14本次返回的数据与上一次数据是否发生变化,当数据发生变化时将本次数据发送至所述上位机10的串口驱动,由所述串口驱动10A进行缓存;所述上位机10从串口驱动10A查询串口设备14的数据。

具体地,串口服务器12在接收到上位机10重复发送的数据请求命令达到预定数目时,缓存上位机10的数据请求命令。或者,串口服务器12在接收到串口驱动10A发送的缓存命令请求时,缓存上位机10的数据请求命令。

另一方面,串口服务器12接收到串口驱动10A发送的取消缓存命令请求时,其取消缓存上位机10的数据请求命令。而在本实施例中,需要指明的是,所述串口服务器12向上位机10发送所述数据或接收串口设备14返回的数据时,对所述数据不做协议解析。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号