RS232串口服务器应用常见在哪?未来会持续应用吗?

RS232串口服务器应用常见在哪?未来会持续应用吗?,第1张

串口服务器 是一种小型电子设备,可以将以太网IP/TCP数据包转换为串行数据信号进行双向数据通讯。双向数据通讯,即可以从以太网口将数据包透明传输到串行数据端口,同时也可以将串行数据端口的数据包传输到以太网口。为什么说是透明传输呢因为在传输过程中,数据是不经过协议处理的,发送什么数据,接收到的就是什么数据。

 RS232串口服务器是串口服务器的一种,其串口中有RS232串行口。因此其原理与串口服务器原理一样。由于RS232串口已经发展的非常完善,国际上称RS232接口为“外围设备最流行的接口方式之一”,可以负担软硬件通讯一体化的解决方案。

 大多数现代电子仪器,包括测量工具和实验室仪器(天平、电化学计、光谱仪、分光光度计等)都使用标准RS232串口线连接到计算机。RS232协议已经存在了很多年,并且已经建立了许多高性价比的软硬件解决方案。90%以上的计算机都至少配备了一个RS232端口,并带有附加适配器。还有数百种软件应用程序可用于通过RS232连接与仪器进行通信。由于RS232标准的灵活性和普遍性,在未来很可能会继续保持相关性。

 RS232通信的问题在于,它需要点对点串口线连接传输,并且串口线的距离受到限制。这需要与之通信的每台仪器使用一条单独的串口线连接到PC上的唯一RS232端口。如果要将多个设备连接到单个PC,则必须在PC上安装多个RS232端口。

 如果要改进RS232标准,它将允许通过一条串口线进行多个连接,串口线长度没有限制,并且将与所有现有RS232通信软件保持100%兼容。

 幸运的是,有一种非常简单的方式可以实现。通过虚拟串口软件将原有的本地串口控制功能延长,并且您不需要修改原有串口程序,仍然保持使用即可。

 虚拟串口应用软件(USR-VCOM)可将TCP/IP连接,UDP广播及接入有人云的设备,映射成本机虚拟串口,应用程序可通过访问虚拟串口来完成远程控制、数据传输等功能

 市场上的虚拟串口软件通常是不需要付费的,但软件的实用度参差不齐。有人的串口虚拟软件USR-VCOM结合串口服务器、DTU、工业路由器USR-G800V2等带有串口的通讯设备使用,可实现支持多个虚拟串口映射,支持TCP Client、TCP Server、UDP多种网络协议,实时虚拟串口数据传输监控。

一、串口服务器的定义及简介:

串口服务器是为RS-232/485/422到TCP/IP 之间完成数据转换的通讯接口转换器。提供RS-232/485/422终端串口与TCP/IP网络的数据双向透明传输,提供串口转网络功能,RS-232/485/422转网络的解决方案。可以让串口设备立即联接网络。

随着Internet的广泛普及,“让全部设备连接网络”已经成为全世界企业的共识。为了能跟上网络自动化的潮流,不至于失去竞争优势,必须建立高品位的数据采集、生产监控、即时成本管理的联网系统。利用基于TCP/IP的串口数据流传输的实现来控制管理的设备硬件,无需投资大量的人力、物力来进行管理、更换或者升级。

串口服务器就使得基于TCP/IP的串口数据流传输成为了可能,它能将多个串口设备连接并能将串口数据流进行选择和处理,把现有的RS 232接口的数据转化成IP端口的数据,然后进行IP化的管理,IP化的数据存取,这样就能将传统的串行数据送上流行的IP通道,而无需过早淘汰原有的设备,从而提高了现有设备的利用率,节约了投资,还可在既有的网络基础上简化布线复杂度。串口服务器完成的是一个面向连接的RS 232链路和面向无连接以太网之间的通信数据的存储控制,系统对各种数据进行处理,处理来自串口设备的串口数据流,并进行格式转换,使之成为可以在以太网中传播的数据帧;对来自以太网的数据帧进行判断,并转换成串行数据送达响应的串口设备。

二、串口服务器的特点:

内部集成 ARP,IP,TCP ,HTTP,ICMP,SOCK5,UDP,DNS等协议。RS-485/422转换提供数据自动控制。RS-232/422/485三合一串行接口 , 300-2304KBPS波特率。支持动态IP(DHCP)和静态IP,支持网关和代理服务器,可以通过Internet传输数据。提供数据双向透明传输,用户不需要对原有系统做任何修改。所有串口内置600W防雷 。10/100M以太网、自动侦测直连或交叉线。可以同时支持多个连接。

三、串口服务器工作方式及通讯模式:

工作方式:

1服务器方式:在该工作方式下,串口联网服务器作为TCP服务器端, 转换器在指定的TCP端口上监听平台程序的连接请求,该方式比较适合于一个转换器与多个平台程序建立连接(一个转换器不能同时与多个平台程序建立连接)。

2客户端方式:在该工作方式下,串口联网服务器 作为 TCP 客户端,转换器上电时主动向平台程序请求连接,该方式比较适合于多个转换器同时向一个平台程序建立连接。

通讯模式:

1点对点通讯模式:该模式下,转换器成对的使用,一个作为服务器端,一个作为客户端,两者之间建立连接,实现数据的双向透明传输。该模式适用于将两个串口设备之间的总线连接改造为 TCP/IP 网络连接。

2使用虚拟串口通讯模式:该模式下,一个或者多个转换器与一台电脑建立连接,实现数据的双向透明传输。由电脑上的虚拟串口软件管理下面的转换器,可以实现一个虚拟串口对应多个转换器, N 个虚拟串口对应 M 个转换器( N<=M )。该模式适用于串口设备由电脑控制的 485 总线或者 232 设备连接。

3基于网络通讯模式: 该模式下,电脑上的应用程序基于SOCKET 协议编写了通讯程序,在转换器设置上直接选择支持 SOCKET 协议即可。

四、串口服务器应用领域:

它主要应用在门禁系统、考勤系统、售饭系统、 POS 系统、楼宇自控系统、自助银行系统电信机房监控,电力监控等。

五、硬件系统及其模块:

1硬件系统

硬件系统是实现整个系统功能的基础,是整个设计实现的关键。

整个串口服务器的关键在于串口数据包与TCP/IP数据报之间的转换以及双方数据因为速率不同而存在的速率匹配问题,在对串口服务器的实现过程中,也必须着重考虑所做的设计和所选择的器件是否能够完成这些功能。

(1)硬件系统组成模块

在制定设计方案和选定器件时遇到的技术难点是如何利用处理器对串口数据信息进行TCP/IP协议处理,使之变成可以在互联网上传输的IP数据包。目前解决这个问题很多时候采用32位MCU + RTOS方案,这种方案是采用32位高档单片机,在RTOS(实时多任务操作系统)的平台上进行软件开发,在嵌入式系统中实现TCP/IP的协议处理。它的缺点是:单片机价格较高,开发周期较长;需要购买昂贵的RTOS开发软件,对开发人员的开发能力要求较高。

借鉴上述方案的优缺点,我们决定把串口服务器的硬件部分分为几个模块设计,这就是主处理模块、串口数据处理模块和以太网接口及控制模块等几大模块来共同完成串口服务器的功能。

在器件的选择上,选用Intel公司的801086芯片作为主处理模块的处理器芯片,它是一种非常适合于嵌入式应用的高性能、高集成度的16位微处理器,功耗低。由于考虑到串口数据速率较低而以太网的数据传输速率高所造成的两边速率不匹配的问题,我们决定采用符合总线规范的大容量存储器来作为数据存储器;由于主处理模块还涉及到数据线/地址线复用、串并转换、器件中断信号译码、时钟信号生成、控制信号接入等功能,若是选用不同的器件来完成,势必会造成许多诸如时延不均等问题,我们选用了一片大容量的高性能可编程逻辑器件来完成上述所提到的功能,这样的优点在于,我们保证了稳定性和高可靠性,并且可编程逻辑器件的可编程功能使得对于信号的处理的空间更大,且具有升级的优势。

以太网接口及控制模块在串口服务器的硬件里面起着很重要的作用,它所处理的是来自于以太网的IP数据包,考虑到通用性的原则,我们采用一片以太网控制芯片来完成这些功能,并在主处理模块中添加了一片AT24C01来存储以太网控制芯片状态。通过主处理模块对于以太网控制芯片数据及寄存器的读/写,我们可以完成对IP数据包的分析、解/压包的工作。

串口数据处理模块主要完成的是对于串口数据流的电平转换和数据格式的处理,判断串行数据的起始位及停止位,完成对数据和校验位的提取。一般的设计采用的是MAX232和一片UART的设计思想,这里我们也是遵从这种设计理念,不过我们采用的是集成了MAX232+UART功能的芯片,小尺寸、低成本、低功耗,而且采用与SPITM/QS-PITM/MICROWIRETM兼容的串行接口,节省线路板尺寸与微控制器的I/O端口。

这种模块化的方案的优点在于:采用高速度的16位微控制器,外围器件少,系统成本低;并且采用Intel公司的开发平台,可以大幅度地缩短开发周期并降低开发成本。

(2)硬件工作流程及应用架构

主处理器首先初始化网络及串口设备,当有数据从以太网传过来,处理器对数据报进行分析,如果是ARP(物理地址解析)数据包,则程序转入ARP处理程序;如果是IP数据包且传输层使用UDP,端口正确,则认为数据报正确,数据解包后,将数据部分通过端口所对应的串口输出。反之,如果从串口收到数据,则将数据按照UDP格式打包,送入以太网控制芯片,由其将数据输出到以太网中。可以知道,主处理模块主要处理TCP/IP的网络层和传输层,链路层部分由以太网控制芯片完成。应用层交付软件系统来处理,用户可以根据需求对收到的数据进行处理。

2硬件系统模块

根据硬件系统的具体结构和不同功能,我们可以将硬件系统划分为下述的几大模块。

(1)主处理器模块

该模块是串口服务器的核心部分,主要由主处理器、可编程逻辑器件、数据及程序存储器等器件构成。

主处理模块完成的功能主要有:在串口数据和以太网IP数据之间建立数据链路;通过对以太网控制芯片的控制读写来实现对IP数据包的接收与发送;判别串行数据流的格式,完成对串口设备的选择以及对串行数据流格式的指定;控制串口数据流与IP数据包之间的速率控制,对数据进行缓冲处理;对UART和以太网控制芯片的寄存器进行读写操作,并存储转发器件状态;完成16位总线数据的串并行转换;完成总线地址锁存功能;完成对各个串口以及各个存储器件的片选功能;完成对各个串口的中断口的状态判别等功能。

(2)以太网接口及控制模块

这个模块主要由以太网接口部分和以太网控制部分构成。

以太网接口部分完成的是串口服务器与以太网接口电路的功能,控制器对所有模块均有控制作用,使整个接口电路能协调地配合后续电路完成以太网的收发功能。

以太网控制部分由收端和发端组成,在他们之间还有以太网状态检测和控制单元,以及收发协调控制器,见图5。由于以太网是半双工工作的,所以这个部分必须随时地监视以太网的状态,并且要根据需要对以太网进行控制,同时还要协调好内部收发端电路的工作状态。以太网检测单元和收发协调控制器就是完成这样的功能的。以太网状态检测单元与以太网接口的控制器接口,将接口的状态送到收发协调控制器,同时将协调控制器的控制信号进行处理,并送到以太网接口的控制器,以控制接口的状态。

在收端,接收到的串行数据流信号通过主处理模块进行串并转换和编码,以太网控制单元控制各部分协调,将产生的地址、数据、写信号送到RAM读写控制单元进行处理。相应的,发端的工作流程和收端相反。

  串口服务器 在工业领域应用越来越广泛,在某些应用环境中需要对其参数进行设置,下面介绍串口服务器参数设置的几种方法。

 一般串口服务的参数设置有网页和AT指令两种方法。

第一,网页设置方法。 通过网页来设置的方法是最常用的一种方法,在家庭路由器设置上也是用的网页,所以大多数人都不会陌生。

 打开电脑浏览器,在地址栏中输入串口服务器的ip地址,其ip地址一般在服务器机身上带有。打开登陆界面后,输入登陆账号和密码进入界面后,即可修改参数。

 网页设置的优点是使用操作简单,利用电脑浏览器操作即可完成,无须其它配套设备。但须要值得注意的是,串口服务器的IP地址必须和本机处在同一个网段上。

第二,AT指令设置方法。 AT 指令是指,在命令模式下用户通过 UART与模块进行命令传递的指令集,上电启动成功后,可以通过 UART对模块进行设置。

 以有人的单串口服务器 USR-N510 为例,其模块的UART口参数为:波特率 115200、无校验、8 位数据位、1 位停止位。不同的模块去对应相应的参数即可。最后用户MCU可以随时发送串口命令来配置参数。

 不同厂家的串口服务器不同,但其原理大同小异,以上就是两种设置串口服务器参数的方法。

 以上讲述了串口服务器参数设置的方法,那么串口服务器参数设置的步骤是什么呢?

 在购买 串口服务器 以后,想要实现联网需求,首先要对串口服务器进行设置。对于经验尚浅的从业者来说,真的是很丈二和尚摸不着头脑。等着技术支持远程一步步操作是最容易的,缺点是下一次自己依然不会操作。与其直接要果实,不如要耕种的方法,这样也可以迅速提高自己的专业水平,早日成为行业大牛。

 以有人串口服务器USR-TCP232-304为例,讲述串口服务器的设置流程。

 首先将串口服务器的网口连接到电脑,用485转USB转接线连接串口服务器和电脑,并接通电源。

 按照串口服务器的电子说明书中的默认参数设置本地电脑的IP,如图所示

再登陆串口服务器背面的设置页面地址19216807进行设置。

 打开串口服务器的设置软件,搜索设备,搜索设备成功后,设置该串口服务器的静态IP地址、波特率,本地端口以及工作方式。如果将串口服务器进行一对一传输,需要将这款串口服务器设置为TCP Serever的工作模式,点击“保存参数”(很多人忘了最简单也是最重要的这步)。

 将第二款串口服务器换上,如上述方法设置第二款串口服务器的参数。目标IP地址为需要连接的串口服务器静态IP,即作为Server的串口服务器静态IP地址。本地端口和串口波特率与Server串口服务器保持一致。静态IP地址为同IP端的不同IP地址,,点击“保存参数”。

打开测试软件,将两个串口服务器链接的COM端口对应起来(“我的电脑——属性——设备管理器——端口”)。进行互发信息。

看了你的留言直接在这回吧,其实网页方面我也是个菜鸟。去年我做过一个类似的,当时也是自学了1个月的iis的配置,aspnet,vb串口操作等,大二假期比较闲。

做法:用DS18B20温度传感器连接51单片机,然后单片机通过串口与电脑通信,电脑成为服务器,手机连接网页,进行温度监控,开关单片机外接的继电器等等操作。

硬件端的代码对你没用,服务器端我的基本思路就是aspnet连接数据库,然后用vb实时扫描数据库,通过vb中的MScomm控件连接串口,vb的代码对你也没啥用,因为MScomm连接单片机的代码的“通信协议”我是写在单片机上的,不配套就没用了

这是网页的代码,不精简,高手莫笑

主要功能就是连接数据库。。。里面没能直接通过aspnet控制串口,貌似也有C#直接控制的,你去CSDN看看吧,我试过是没问题的,就是操作不太方便(可能我太菜了)

using System;

using SystemConfiguration;

using SystemData;

using SystemLinq;

using SystemWeb;

using SystemWebSecurity;

using SystemWebUI;

using SystemWebUIHtmlControls;

using SystemWebUIWebControls;

using SystemWebUIWebControlsWebParts;

using SystemXmlLinq;

using SystemDataSqlClient;

public partial class _Default : SystemWebUIPage

{

protected void Page_Load(object sender, EventArgs e)

{

//温度

SqlConnection cnn1 = new SqlConnection(@"Data Source=YINGJHSHP541\SQLEXPRESS;Initial Catalog=test3;User ID=sa;Password=yingjh");

cnn1Open();

//表

SqlCommand cmd1 = new SqlCommand();

cmd1Connection = cnn1;

cmd1CommandText = "select from T";

SqlDataReader data1;

data1 = cmd1ExecuteReader();

GridView1DataSource = data1;

GridView1DataBind();

cnn1Close();

//图

cnn1Open();

SqlDataAdapter Da = new SqlDataAdapter();

DaSelectCommand = new SqlCommand("select 时间,[温度(℃)] from T", cnn1);

DataSet ds = new DataSet();

DaFill(ds);

DataView myView = new DataView(dsTables[0]);

Chart1Series["Series1"]PointsDataBindXY(myView, "时间", myView, "温度(℃)");

cnn1Close();

cnn1Dispose();

//状态

SqlConnection cnn2 = new SqlConnection();

cnn2ConnectionString = @"Data Source=YINGJHSHP541\SQLEXPRESS;Initial Catalog=test3;User ID=sa;Password=yingjh";

cnn2Open();

SqlCommand cmd2 = new SqlCommand();

cmd2Connection = cnn2;

cmd2CommandText = "select from ST";

SqlDataReader data2;

data2 = cmd2ExecuteReader();

data2Read();

string a = data2GetString(0);

switch (a)

{

case "1":

Label2Text = "打开";

break;

case "0":

Label2Text = "预设";

break;

case "-1":

Label2Text = "关闭";

break;

default:

break;

}

Label4Text = data2GetString(1) + "℃";

cnn2Close();

cnn2Dispose();

}

protected void Button1_Click(object sender, EventArgs e)

{

SqlConnection cnn = new SqlConnection(@"Data Source=YINGJHSHP541\SQLEXPRESS;Initial Catalog=test3;User ID=sa;Password=yingjh");

SqlCommand cmd = new SqlCommand();

cnnOpen();

cmdConnection = cnn;

//设置开关,flag为开关控制权

switch (DropDownList1Text)

{

case "1":

cmdCommandText = "update ST set STATE='1'" + ",flag='1'";

break;

case "0":

cmdCommandText = "update ST set STATE='0'" + ",STEMP='" + TextBox1Text + "',flag='1'";

break;

case "-1":

cmdCommandText = "update ST set STATE='-1'" + ",flag='1'";

break;

default:

cmdCommandText = "update ST set STATE='0'" + ",STEMP='" + TextBox1Text + "',flag='1'";

break;

}

cmdExecuteNonQuery();

cnnClose();

cnnDispose();

//温度

SqlConnection cnn1 = new SqlConnection(@"Data Source=YINGJHSHP541\SQLEXPRESS;Initial Catalog=test3;User ID=sa;Password=yingjh");

cnn1Open();

//表

SqlCommand cmd1 = new SqlCommand();

cmd1Connection = cnn1;

cmd1CommandText = "select from T";

SqlDataReader data1;

data1 = cmd1ExecuteReader();

GridView1DataSource = data1;

GridView1DataBind();

cnn1Close();

//图

cnn1Open();

SqlDataAdapter Da = new SqlDataAdapter();

DaSelectCommand = new SqlCommand("select 时间,[温度(℃)] from T", cnn1);

DataSet ds = new DataSet();

DaFill(ds);

DataView myView = new DataView(dsTables[0]);

Chart1Series["Series1"]PointsDataBindXY(myView, "时间", myView, "温度(℃)");

cnn1Close();

cnn1Dispose();

//状态

SqlConnection cnn2 = new SqlConnection();

cnn2ConnectionString = @"Data Source=YINGJHSHP541\SQLEXPRESS;Initial Catalog=test3;User ID=sa;Password=yingjh";

cnn2Open();

SqlCommand cmd2 = new SqlCommand();

cmd2Connection = cnn2;

cmd2CommandText = "select from ST";

SqlDataReader data2;

data2 = cmd2ExecuteReader();

data2Read();

string a = data2GetString(0);

switch (a)

{

case "1":

Label2Text = "打开";

break;

case "0":

Label2Text = "预设";

break;

case "-1":

Label2Text = "关闭";

break;

default:

break;

}

Label4Text = data2GetString(1) + "℃";

cnn2Close();

cnn2Dispose();

}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

}

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

{

}

}

 串口服务器是一种为数据转换而用的转换器,一般这种数据转换是在rs—232/485/422到tcp/ip之间的,提供的终端串口是rs—232/485/422的,这个端口能够实现与网络数据的一个透明的传送,并且能够将串口成功的转化为网络。我来给大家详细介绍串口服务器是什么。

 串口服务器提供串口转网络功能,能够将RS-232/485/422串口转换成TCP/IP网络接口,实现RS-232/485/422串口与TCP/IP网络接口的数据双向透明传输。使得串口设备能够立即具备TCP/IP网络接口功能,连接网络进行数据通信,极大的扩展串口设备的通信距离。

 串口服务器主要是将自动化设备中使用的串口能够有连接网络的一个能力,通过实现串口数据的一个传输,来成功的实现对于设备硬件的一个控制,它是串口与网络连接之间的一个桥梁。如果要一个形容的话,串口服务器无疑就像一台微型的电脑,它可以像普通的电脑一样,本身具备cpu,并且也有用来操作的系统,使串口与网络的连接更为便捷。通过串口与网络接口的一个小的转换,串口不仅能够实现数据通信的一个功能,而且串口设备本身的一个通讯的距离也得到了很大的扩展。

 可以说,串口和网络就是串口服务器的两个关键的词语。网络的话,有内网和外网,外网就是局域网,而内网则是以太网,通信中经常会用到这两者。虽然网络现在非常的盛行,但是在网络出现之前,计算机也需要与设备连接的,那个时候就需要rs232进行数据本身的一个转换,但是如果传输的距离比较远的话,前者也就无法实现了,这个时候,需要rs485来帮忙。

 串口服务器也是因为人们的需要而产生的,随着技术的发展,许多的应用不再仅仅限于国内,需要对于全世界的一些相关的设备进行监控。虽然机房内的监控系统、办公楼中的控制系统已经具备了非常全面的网络,但是它们能否被有效的应用起来,还是一个未知数。通常使用的rs232接口上,一个串口就只能连接一个设备,所以非常有限,如果需要多个设备同时开始运行的话,串口不容易实现,但是网络就可以解决这个问题。为了解决这些问题,能够将串口和网络形成连接的串口服务器就此产生了。

 使用串口服务器的过程当中,可能会出现这样或者那样的问题,一般情况下,只要按照操作手册上的完成就可以了,但是异常情况如果出现的话,就需要寻找其他的办法解决。

  NP311是一款高性能的以太网到RS-232/485/422的网桥,

  NP311串口设备联网服务器一方面从以太网获取UDP或TCP数据包,经内部解包提取数据后按NP311的串口设置要求由RS-232/485/422接口发送出去。

  另一方面NP311从RS-232/485/422接口获取数据,在NP311内部打包成UDP或TCP数据格式经以太网口发送给目的设备。

  操作模式:

  NP311串口设备联网服务器工作有两种工作模式,主模式和从模式

  主模式允许一台PC或其它设备访问一台NP311设备

  从模式允许多台PC或其它设备分时访问同一个NP311设备。

  访问机制:

  NP311串口设备联网服务器采用两种访问机制,Winsock编程访问和虚拟串口型访问。

  Winsock编程访问采用Winsock编程接口允许用户直接访问NP311。

  虚拟串口型访问提供虚拟串口驱动程序,通过添加新的虚拟COM口用户提供完全仿真的串口型访问控制。无须改变现有客户软件即可轻松访问NP311。

串口设备联网服务器可以让传统的RS-232/422/485设备立即联网。串口设备联网服务器如同含CPU、实时操作系统和TCP/IP协议的微型电脑,在串口和网络设备中传输数据。使用串口服务起可以在世界的任何位置,通过网络,用您的计算机来存取、管理和配置远程的设备。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » RS232串口服务器应用常见在哪?未来会持续应用吗?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情