首页 > 编程知识 正文

串口服务器使用方法,串口服务器原理

时间:2023-05-04 11:06:21 阅读:216508 作者:4263

    最近几天实验室在建筑工地现场进行了一次建筑物沉降、变形的监测实验,其中用于测地形沉降的是北斗设备,用于测量倾斜度的采用的是RS485接口的测斜仪(倾角仪)。由于现场没有网络,我们考虑数据传输这一块采用串口服务器进行数据传输,具体原理如下:

    前端串口设备产生相关数据,通过232或485串口连到串口服务器,串口服务器的作用是串口转网口,就是说它通过串口接收到的数据可以通过网口转发出去,这样就可以连到路由器上了。而前端多个设备,每个设备都接了串口服务器,串口服务器都连接在现场的路由器上,电脑服务器端也接在路由器上。并且串口服务器都配置了和电脑在同一网段的IP地址。所以电脑和串口服务器之间就可以相互连通了。

    电脑端通过自己编写的上位机服务器软件进行数据接收和处理以及界面显示。那么上位机软件和串口服务器之间又是如何连接的呢?这个主要通过串口服务常用的虚拟串口模式。配套的虚拟串口软件,只需要在电脑上安装虚拟串口助手,做好相应设置,就如同将串口服务器直接连在电脑上(只是实际上电脑没有那么多网口罢了)。对,虚拟串口助手就是将网络数据又对应成了串口数据,电脑从串口接收数据。折腾来折腾去,原始串口数据又回归到串口数据,只不过中间经历了两次转换,可以通过一定范围的局域网络收发数据

    整体结构网络如下:

    

现在将整个实验过程的步骤理一理,以便加强记忆,及时温习回顾,下次再遇到就不会手忙脚乱了。

    首先是前端设备、串口服务器、路由器、服务器电脑,按照结构图连接。此时6个串口服务器和服务器电脑处于同一个局域网。串口服务器是直连网线在路由器网口的,电脑既可以直连网线到路由器,也可以无线网连接,只需要保证在一个局域网就可以,然后确定局域网给服务器电脑分配的IP地址:命令行输入ipconfig,得到本机IP地址为192.168.0.110


将上述设备连接好后,设备和串口服务器模块供电,就可以进行串口服务器的配置了。一般配套的配置软件都有搜索功能,串口服务器连上电脑后就能在配置软件上搜到。从上图可知,在整个数据传输网络中,最终上位机接收的数据是串口服务器发送过来的。在数据传输的C/S结构中,串口服务器充当的是Client,上位机服务器软件充当的是Server。因此按照串口服务器的配置手册,我们将串口服务器配置成了TCP Client模式。作为Client模式,要为串口服务器配置目标IP地址,也就是服务器电脑的IP地址192.168.0.110,这样串口服务器才能将数据发送到服务器上。为了能在局域网中连上串口服务器,6个服务器分别配置了局域网同一网段的6个不同的IP地址和端口号,用于区分串口服务器,在后面用虚拟串口助手映射时能够和虚拟串口对应。还有就是串口服务器的波特率要和前端设备保持一致,不然收不到数据。在这里跟北斗设备连的串口服务器设置了115200 Baud,跟倾角相连的4个串口服务器设置了9600 Baud。配置串口服务器的时候,只需要将串口服务器通过网线连到服务器电脑,给串口服务器供电,按照产品说明说中相应模式的配置方法配置即可。综上,串口服务器Client模式的需要配置的参数为目标IP目标端口本模块IP本模块端口(默认即可,可不设置)、波特率。其中本模块IP要和目标IP在同一网段,且多个串口服务器的本模块IP不重复。如下:


       我们连接了6个串口服务器,本模块IP地址为:192.168.0.7~12(不能重复);本模块端口号为18~23;目标IP为192.168.0.110(服务器IP);目标端口为8234~8239(不可重复)。

        还有就是前端设备是RS485还是RS232,不同的串口服务器可能支持不同的串口类型。如果串口服务器只支持一种类型,在配置的时候不用管;像这次我们使用的串口服务器是既支持485又支持232的,因此在配置的时候,有个“串口流控制”,如上图为RS485需要根据设备调整,否则数据也是走不通的。

        此时6个串口服务器和服务器电脑处于同一个局域网,串口服务器也已经配置好,数据链路是通了的。如果前端设备是直接返回数据的,只要用一个网络调试助手监听就可以收到从串口服务器发送过来的数据了。网络调试助手设置如下:

    

        但是测试的设备是需要发指令到前端设备的,只有往前端设备发送数据,前端设备才会返回数据,所以上图我们看不到数据返回。我们使用了虚拟串口服务器助手,说明书上说虚拟串口服务器助手的使用,不需要修改串口服务器设置和服务器软件设置等,安装设置好相应端口就可以,类似于前端设备直接接到电脑上了。

        也就是说,串口服务器一来数据,这边的虚拟串口就能接收到,我们在电脑端就可以对虚拟串口进行操作了;我们通过给这个串口发数据,前端设备也能收到数据了。就类似于直接远程对前端设备的串口进行操作。只不过现在传输距离大大增加了,因为通过局域网连接。虚拟串口使用的模式如下:

    

        在服务器电脑上安装虚拟串口软件,有的是直接打开,无需安装。有人的虚拟串口软件需要安装,在软件中就可以搜索到局域网中的串口服务器。这次使用的串口服务器,配套的虚拟串口软件需要手动添加虚拟串口。这里添加了6个虚拟串口COM1-COM6,模式为TCP Server模式,因为它们用于接收数据。设置6个虚拟串口对应的端口号为所要对应的串口服务器设置的目标端口号,8234~8239。


上图是已连接的一个虚拟串口,说明有一个串口服务器和虚拟串口已经对接上了。只有显示已连接才说明连接正常。

上图是用超级串口往虚拟串口发指令数据,可以看到串口服务器返回到串口数据;在虚拟串口助手服务器软件端也可以看到:

      每发送一次指令,返回1840字节的数据。

    下面就是上位机串口编程的问题了。我觉得这个又可以另外写一篇心得。在这次使用的模式下,串口服务器的配置、连接、使用就是如此。


    

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。