发明内容
本发明要解决的技术问题是如何提供一种在通讯中实现串口与以太网方式互相转换的方法,以及采用该方法的装置和系统。
为解决上述技术问题,本发明提供一种在通讯中实现串口与以太网方式转换的方法,所述方法包括以下步骤:
将串口服务器与主机通过以太网以以下四种模式中的一种建立连接:TCP服务器、TCP客户端、UDP服务器、UDP客户端;
将所述串口服务器的串口映射到在所述主机创建的虚拟串口上;
当所述串口服务器通过串口收到数据时,将收到的数据重新组织为以太网数据,然后将所述以太网数据发送到以太网上;
当所述串口服务器通过以太网收到数据时,将收到的数据重新组织为串口数据,然后将所述串口数据发送到串口线上。
作为上述方法的改进,所述当所述串口服务器通过以太网收到数据时的步骤之后还包括以下步骤:
将收到的数据缓存到串口接收队列中;
判断所述串口接收队列中的数据是否构成构成一个完整的数据帧;若是,则执行所述将受到的数据重新组织为以太网数据,然后将所述以太网数据发送到以太网上的步骤。
作为上述方法的另一种改进,所述当所述串口服务器通过以太网收到数据时的步骤之后还包括以下步骤:
将收到的数据缓存到以太网接收队列中;
判断所述以太网接收队列中的数据是否构成构成一个完整的数据帧;若是,则执行所述将收到的数据重新组织为串口数据,然后将所述串口数据发送到串口线上的步骤。
本发明还提供一种采用上述方法的在通讯中实现串口与以太网方式转换的系统,所述系统包括:
串口服务器,用于当所述串口服务器通过串口收到数据时,将收到的数据重新组织为以太网数据,然后将所述以太网数据发送到以太网上;还用于当所述串口服务器通过以太网收到数据时,将收到的数据重新组织为串口数据,然后将所述串口数据发送到串口线上。
虚拟串口插件模块,用于将所述串口服务器的串口映射到在主机创建的虚拟串口上;
作为改进,所述系统进一步包括:
串口终端收发模块,用于将串口终端设备的串口数据通过串口线发送至串口服务器,还用于接收来自串口服务器的串口数据。本发明还提供一种工业以太网交换机,所述工业以太网交换机上集成有所述的串口服务器。
本发明提供的在通讯中实现串口与以太网方式转换的方法,实现了在串口和以太网通讯方式之间方便快捷的转换,使得本地主机可以方便的对远程设备进行管理,且不用修改原有的实现远程通讯。
本发明提供的工业以太网交换机,采用光电隔离、内置国标电源系统、高等级防护芯片等措施,支持固件升级,可在恶劣环境中稳定运行。具有以下特点:
1)供1-4路硬件独立串口(RS232/RS485)转以太网。
2)提供虚拟串口软件,用户原来的串口通讯程序可不用修改。
3)支持SOCKET编程,用户可自己管理访问多个串口。
4)支持TCP/IP Server、Client及UDPServer、Client模式,四种模式下均可以跨网段访问。
5)内建支持动态域名服务和Modbus TCP、Modbus RTU双向转换功能。
6)支持双(多)串口服务器透明传输功能。
7)串口支持流传输及自适应数据帧模式,兼容各种串口应用。
8)为自适应设计,虚拟串口的参数与串口服务器自动同步。
9)支持TCP/IP直连通讯方式。
10)具备实时断线检测、断线重连、内置看门狗等各类故障恢复机制。
具体实施方式
为使本发明的目的、技术方案和有益效果表达得更加清楚明白,下面结合附图及实施例对本发明作进一步的详细说明。
通常情况下,主机可以在离串口设备较近的地方直接访问串口设备,此时通过串口通讯方式连接。众所周知,串口线直接连接的距离是有限制的。当主机或嵌入式设备在需要远程连接串口设备时,就需要用以太网方式即TCP/IP方式与串口设备进行连接。但是串口数据并不能直接在以太网上传输,这就需要提供一种实现串口和以太网方式互相转换方法。
如图1所示,本发明提供的实现串口与以太网方式互相转换的方法,包括以下步骤:
S101:将串口服务器与主机通过以太网以以下四种模式中的一种建立连接:TCP服务器、TCP客户端、UDP服务器、UDP客户端;
S102:将所述串口服务器的串口映射到在所述主机创建的虚拟串口上;
S103:当所述串口服务器通过串口收到数据时,将收到的数据缓存到串口接收队列中,重新组织为以太网数据,然后将所述以太网数据发送到以太网上;
S104:当所述串口服务器通过以太网收到数据时,将收到的数据缓存到以太网接收队列中,重新组织为串口数据,然后将所述串口数据发送到串口线上。
如图2所示,本发明提供的实现串口与以太网方式互相转换的系统在使用时的连接方法为:主机与工业以太网交换机通过以太网连接,串口服务器集成在所述工业以太网交换机中,串口服务器的串口铜鼓串口线和串口终端设备的串口终端收发模块连接。其中,串口服务器的串口映射到在所述主机创建的虚拟串口上。
所述将所述串口服务器的串口映射到在所述主机创建的虚拟串口上的方法,称为Real COM模式。采用该方法将串口服务器的串口映射到本地主机,使其成为主机的一个虚拟串口来使用。此时,只要主机支持TCP/IP协议,就能够访问串口服务器的串口。该方法实际上是把串口和某个IP/端口号捆绑起来。串口服务器是实现串口与TCP/IP方式之间互相转换的通讯接口协议转换器,用于实现串口线和以太网的数据的双向透明传输。所述串口服务器可以设置串口速率、奇偶校验、比特位、停止位、串口名称、串口模式等参数。串口服务器通常工作在以下四种工作模式中的一种模式下:即TCP服务器、TCP客户端、UDP服务器、UDP客户端这四种模式。另外,当主机上的应用管理软件采用的是Socket网络通讯方式时,则可不用采取设置虚拟串口的方法,直接使用网络连接就可以。
需要指出的是,当完成配置IP/端口号等基本参数,使主机和串口服务器建立连接后。串口服务器上每一个串口可以映射到四种模式中的一种且只能使用一种。并且为了避免多重连接数据串扰问题,在TCP服务器或UDP服务器模式下只允许1个用户同时接入。
下面对所述的TCP服务器、TCP客户端、UDP服务器、UDP客户端四种工作模式分别进行详细说明。
TCP服务器模式:在该模式下,串口服务器提供了IP及TCP/IP网络上的端口号。串口服务器被动地等待主机或其它嵌入式设备的连接,允许主机与串口设备建立连接和获取数据。
TCP客户端模式:在TCP Client模式下,串口服务器可以在串口数据到达的时候与预先定义的主机或其它嵌入式设备建立连接。当数据传输完毕,串口服务器可以自动与主机断开连接。
UDP服务器模式:与TCP通讯相比较,UDP更快,并且更加有效。在UDP服务器模式下,允许主机或其它嵌入式设备与串口设备直接通讯获取数据,无需请求连接。
UDP客户端工作模式:在UDP Client模式下,您可以将串口设备的数据传输给主机,串行设备可以接收到主机或其它嵌入式设备发出的数据,无需请求连接。这个模式在信息发布应用中是个比较理想的解决方案。
上述四种工作模式通常用于网络工作模式,当然也可用于跨网段访问。此时,给串口服务器指定一个有效的网关地址,就可以实现对串口服务器的跨网段访问。上述四种工作模式都支持跨网段访问。
其中,在TCP服务器或UDP服务器模式下,设置串口服务器的网关地址,为有效网关的IP地址。在网关上设置NAT规则,将串口服务器的IP地址、监听端口映射为网关上的一个TCP/IP端口,向网关上的这个端口发起连接,就可以与串口服务器建立通讯。
当主机和串口服务器建立起连接之后,需要对串口工作类型进行配置包括以下两种类型:
一为流转发类型,在该类型下对数据收到即转发:串口服务从串口收到数据后,立即将此数据转发到相应的TCP/IP连接,中间不做任何等待及缓冲,速度快、效率高,但在以Sokcet方式与串口服务器通讯时,需要网络端软件自己进行数据帧重组,否则将出现拆包现象。
一为自适应数据帧类型,在该类型下对数据采取存贮转发模式:串口服务器从串口接收到一个完整的数据帧后,才转发完整的数据帧到TCP/IP连接。由串口服务器完成串口数据帧重组。串口服务器根据数据帧之间的间隔来判断是否收到了一个完整的数据帧。当在指定帧间隔时间内,没有接收到新的串口数据,就认为收到了一个完整的数据帧,此数据帧将被一次性转发到TCP/IP连接。串口服务器每个串口最大可以缓冲262144(128*1024*2)字节的数据帧。以Sokcet通讯方式与串口服务器通讯时,优选自适应数据帧类型。
在主机和串口服务器的连接建立起来之后,网络通常会有超时,这时会发生数据链路断掉的情形。对于采用TCP服务器或客户端模式的连接,客户端需要定期发送链路保活数据包,与对方通讯,从而使整个通讯能够顺畅连接。对于UDP服务器或客户端模式的连接则不需要做这个动作,因为没有超时的限制。
串口服务器对于串口数据是透明传输的,不进行内容方面的解析,拆包和组包是由串口终端设备和主机安装的应用管理软件完成的。这样可以使我们的设备适应任何串口和以太网通讯方式的转换。数据流的传输是双向的,分为发送和接收两个方向处理。主机上安装的应用管理软件,在安装完Real COM模式插件后,会发送串口数据到相应的主机虚拟串口上,经过映射,此主机虚拟串口通过所述四种工作模式中的一种和集成在工业以太网交换机中的串口服务器建立连接。
当数据从主机发送到串口服务器时,若串口工作类型采用自适应数据帧类型,则数据经过校验和合法性检查后,缓存起来经过重新打包发送串口数据到对应的串口线上,完成以太网到串口通讯方式的转换;若串口工作类型采用流转发类型,则数据经过校验和合法性检查后,立即将此数据转发到对应的串口线上,完成以太网到串口通讯方式的转换。
当数据从串口终端设备发送到串口服务器时,串口服务器从串口线上接收到数据,若串口工作类型采用自适应数据帧类型,则数据经过校验和合法性检查之后,缓存起来经过重新打包发送到这个串口映射的以太网网络通讯链路上;若串口工作类型采用流转发类型,则数据经过校验和合法性检查后,立即将此数据转发到这个串口映射的以太网网络通讯链路上。然后,主机通过虚拟串口收到来自串口终端设备串口的数据,对串口数据解析后即进行应用管理。下面结合附图对本发明方法分别在四种工作模式下工作时的情况作进一步具体的说明:
实施例1:串口服务器采用TCP服务器模式
如图3所示,主机端使用TCP客户端模式,串口服务器使用TCP服务器模式。此时需要配置本地IP地址及服务器端口号,由主机上的管理软件主动发起连接,建立起连接之后就可以进行正常的以太网数据和串口数据之间的转换了,主机上的管理软件发出的数据是串口格式但在以太网上传输,到达串口服务器之后将进行转换,使之能够到达工业以太网交换机串口所连接的串口终端设备,反之接收处理亦是同样,工业以太网串口所连接串口终端设备发送数据到串口服务器,然后经过转换通过以太网链路传递到主机上的管理软件。此种模式下其它模式不工作。在工业领域,串口服务器通常使用这种TCP服务器模式。
实施例2:串口服务器采用TCP客户端模式
如图4所示,主机端使用TCP服务器模式,串口服务器使用TCP客户端模式,此时配置交换机要连接的主机的服务器的IP地址和端口号,本地端口是由系统产生,串口服务器主动发起连接与主机建立连接。因采用TCP方式通讯,中间需要有保持连接通讯,否则长时间没有数据将使链路断开。此时工业以太网交换机和串口终端设备之间的通讯是正常的,就像是管理软件直接连接在串口终端设备一样,不用修改任何原有的软件特性。
实施例5:串口服务器采用UDP服务器模式
如图5所示,不用建立任何连接,配置好主机客户端所要连接的服务器IP地址和端口号之后,有数据可以直接发送过去。若客户端没有进行第一次连接,服务器端将不知道客户端的IP地址和本地端口号,串口服务器采用服务器模式时无法进行第一次主动方式通讯。
实施例4:串口服务器采用UDP客户端模式
如图6所示,不用建立任何连接,配置好串口服务器客户端所要连接的主机服务器IP地址和端口号之后,有数据可以直接发送过去。此时主机在串口服务器连接了第一次通讯之后可以进行配置管理。
本发明实施例换提供一种在通讯中实现串口与以太网方式转换的系统,所述系统包括:
虚拟串口插件模块,安置于主机中,所述主机通过以太网与串口服务器连接,用于将串口服务器的串口映射到在主机创建的虚拟串口上;串口服务器,用于当所述串口服务器通过串口收到数据时,将收到的数据重新组织为以太网数据,然后将所述以太网数据发送到以太网上;还用于当所述串口服务器通过以太网收到数据时,将收到的数据重新组织为串口数据,然后将所述串口数据发送到串口线上。
所述系统环可以进一步包括:串口终端收发模块,用于将串口终端设备的数据通过串口线发送至串口服务器,还用于接收来自串口服务器的串口数据。
所述串口终端收发模块是终端串口设备自有的收发模块,包括各种智能型终端,功能型设备会有相应的专有业务数据,为第三方厂家设备功能模块。
所述串口服务器模块,是本发明系统的关键,所述串口服务器模块集成在工业以太网交换机上,利用工业以太网交换机提供的4个串口和以太网光口或电口进行通讯。
本发明的系统通常还包括应用管理软件,安装与主机上,与主机上原有的管理软件以及安装与主机上的虚拟串口模块配合。提供虚拟串口功能,完成串口的远程管理,接收来自串口终端设备的故障告警信息。同时提供非常强大的综合网络管理功能,进行设备的配置、监控、采集、故障、告警处理等,包括SNMP v1/v2c/v3网管第三方设备等。
本发明还提供一种工业以太网交换机,所述工业以太网交换机上集成有所述的串口服务器模块。所述工业以太网交换机功能非常丰富,支持七种网络管理方式,配置上传下载,映像文件升级,DHCP及DNS支持等。工业以太网交换机完成串口通讯链路建立、维护、拆除及数据收发,串口与以太网、以太网与串口通讯方式的转换。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。