2023年7月15日发(作者:)
串口转网口模块一网口转串口模块
本文介绍在串口转网口模块中如何使用各种TCP工作模式,根据不同的应用如何进行灵活选择TCP客户端、TCP服务器、UDP、UDP组播。然后介绍 如何用zlvircom配置串口转TCP/IP并和SocketDlgTest程序通信。
1
.TCP&UDP工作模式
TCP/IP是网际互联的基本协议,TCP/IP实际涉及网络协议的两层:网络层和传输层。IP属于网络层,而TCP属于传输层,实际上TCP/IP协议还有 另外部分协议即UDP协议,UDP协议和TCP协议共同组成了 TCP/IP协议的传输层。而TCP协议有具有客户端和服务端两种工作模式。在RS232/RS485联 网模块应用中,主要在UDP、TCP客户端、TCP服务器3种模式之间进行选择。如图1所示。
1.1 TCP和UDP的区别和比较
ZLSN模块作为TCP客户端
2LS忖模块作为TCP服务端
图&UDP各种工作模式演示
UDP程式
TCP(Transmission Control Protocol)是可靠连接协议。串口转网口模块,我们可以用打电话来类比TCP协议。使用TCP协议进行数据传输,首 先需要建立连接;就如在通电话前需要先拨通电话一样。TCP是可靠传输的,即你传输的数据有误或者丢失,则会自动重新传输以保证数据正确;这正 如打电话的时候,如果信号不好,收方会说:“听不清,请再说一遍。”
UDP(User Datagram Protocol)是报文传输协议。我们可以用手机短信来类比UDP协议。使用UDP协议,你无需先征得对方的同意(无需先建立连 接),可以随时发送。但是UDP协议是不可靠传输的,你发送出去的数据不能够保证正确地被对方收到;
所谓“正确接收”,它包括3方面的内容:1.丢失问题:数据丢失后可以重传。2.误码问题:数据内容错误能被检测并重新发送。3.顺序问题:UDP 无法保证数据的顺序,例如在发送长文字的短信的时候,有可能后半部分短信内容先收到,然后再收到前半部分短信内容。这给接收者较大的迷惑,TCP 协议没有这个问题。
UDP协议的也有自身优点。1.简单性、方便性,UDP协议非常类似串口通信,因为串口发送数据本身基于非连接(报文)的。此时在串口转以太网的 时候,使用UDP协议符合原来的思维。协议具有广播、组播功能,可以实现一对多通信。
表1. TCP与UDP的区别
TCP UDP
需要连接
是 否 占用线路
可靠传输
简单易用
支持广播
是
是
否
否
否
否
是
是
1.2 TCP客户端和TCP服务器的区别
在选择TCP进行通信的时候,通信的双方,必须一方为TCP客户端(TCP Client), 一方为TCP服务器(TCP Server)。串口转网口模块,以打电 话来类比,打电话的人是TCP客户端,接电话的一方为TCP服务器。TCP/IP协议中的IP地址类似电话号码,而TCP/IP中的端口号类似电话分机号。客 户端(拨电话者),首先需要知道对方的IP地址和端口(电话号码和分机号),先连接上TCP服务器端(接听者的电话摘机),才能进行数据传输(通 话)。和一般电话不同,在这里TCP服务器可以同时接入多个TCP客户端,就如有多路线路的电话,不会因为一路电话在接通中而不能接入其它电话。
在ZLSN联网模块的RS232转网络中,TCP连接有长连接和短连接之分。TCP长连接就是连接建立后不断开,直到断电。TCP短连接是指需要通信的 时候建立连接,通信完毕后立即关闭连接。
1.3 UDP广播
UDP相对于TCP来说UDP的一个优势是可以实现一对多的通信。以下就介绍UDP广播和UDP组播。
UDP广播:UDP广播包不同于普通的UDP数据包,UDP广播说明如下:
1. UDP广播包一般只能够在局域网内部存在,也就是说它是不能够实现跨路由通信的。
2 .同一个局域网内的所有的计算机都能够接收到广播包。这样增加了网络的负担,同时安全性也会降低。
3 .卓岚ZLSN系列模块支持发送和接受UDP广播包。另外SocketDlgTest也支持发送和接受UDP广播数据包,可以用于UDP广播调试。
1.4 UDP组播
UDP组播:UDP单播(即普通的UDP通信)可以实现点与点之间的通信。UDP的广播可以实现一点向多点发送数据。但是UDP广播存在以下缺点:不 仅需要接收数据的联网模块可以收到数据,任何一台局域网中的计算机都可以收到数据,这样数据包保密性不强,同时也给不愿接收该数据的计算机增 加了负担。
UDP组播可以解决以上问题,UDP组播可以实现一点向多点发送数据,而且只有加入某个组播组的联网模块才可以收到数据,不会对组播组外的模块 或计算机增加接收负担,减轻了网络负荷。
为了确定您购买的卓岚产品是否支持UDP组播请打开ZLVircom程序的设备设置对话框,点击“更多高级选项”,如果该设备支持的高级功能中“UDP 组播”是打勾的则表明该设备支持UDP组播。
2.工作模式的选择
2.1 TCP和UDP的选择
在TCP和UDP选择上,TCP协议有很多优点,这里只介绍何时使用UDP协议。
1
.节省上位机的线路资源。在串口转网口模块的串口转以太网应用中,如果选择TCP协议,且为TCP客户端的话,那么TCP连接是在模块上电之后就开 始连接的,属于“长连接”。这就使得TCP协议一直占用一条通信线路(一个socket接口),如果联网模块个数很多(例如上万个),那么用TCP协议
占用较多资源。而UDP则无此问题。 2
.简化上位机编程的复杂性。基于UDP的socket编程相对于TCP要简单些。
3
.需要广播或者组播的应用。
4 .2客户端和服务器的选择
1. 一个监控中心还是多个监控中心。
一个监控中心:在单个监控中心的集中监控系统中,分散在各个采集点的ZLSN模块将采集数据传送到中心计算机,此时最好采用ZLSN模块为TCP 客户端的方式,因为此时每个模块只要设置一个目的IP (中心计算机的IP地址)即可。当然也可以采用中心为客户端、模块为服务端方式,但是此时 中心必须记住每个模块的IP地址,不利于系统的延展性和配置的灵活性。
多个监控中心:现在有多个中心计算机需要监控联网模块,由于TCP客户端模块只能连接一个中心(一个目的IP),所以多个中心无法监控一个TCP 客户端模式的模块(除非采用卓岚的“类AT命令”功能,让串口转网口模块可以根据需要连接到不同的中心)。此时应该采用模块为服务端的方式。如 果需要多个计算机同时(不是分时)监控一个ZLSN模块,请选择ZLSN2090为核心的多TCP连接模块,ZLSN2090支持同时存在100个TCP连接。
2
.哪方知道对方IP地址。如果通信的AB双方中如果有一方(例如A)不知道对方(例如B)的IP地址,那么A必须作为TCP服务器。这是因为A不知 道B的IP地址,也无法进行连接操作。在ZLSN联网模块大量应用的网络中,ZLSN联网模块的IP地址通过动态获取,所以中心并不知道所有模块的IP 地址,所以此时模块应该作为客户端。
3
.主从关系。在主从关系的通信模式中,主机总是先发送数据,从机给出应答。在TCP短连接应用中,主机应该采用客户端。这是因为短连接采用有数 据发送的时候建立TCP连接的方式,只有主机才知道何时需要发送那个数据何时需要建立连接,所以主机为客户端。
4 .3 TCP短连接和TCP长连接的选择
TCP短连接由于占用的TCP线路资源少,一般效率优于长连接。但是以下情况下采用长连接:通信的双方没有主从关系。任何一方都有首先发送数 据的可能,所以要保持TCP连接一直保持。选择长连接的时候需要注意,在连接建立到当前,中间网线是否有断开,需要时时检测连接的可用性,短连 接无该问题,使用较为方便。
3 .参数配置和网络连接
这里介绍,如何用zlvircom配置串口转TCP/IP并和SocketDlgTest程序通信。卓岚串口转TCP/IP遵守的是标准的TCP/IP协议,所以任何遵守该 协议的网络终端都可以和联网产品通信,卓岚科技提供了网络调试工具(SocketDlgTest程序,用户可以在开始菜单/程序/ZLVircom/调试工具,找到该 软件)来模拟网络终端来和串口转TCP/IP产品通信。
要想两个网络终端(这里是网络调试工具和串口转TCP/IP产品)能够通信,其参数配置必须需要配对。
3.1 UDP模式
在UDP模式下,参数配置如图2所示,左边为zlvircom中串口转TCP/IP产品的配置,右边为网络调试工具SocketDlgTest的设置。首先必须两者 都是UDP工作模式。另外用红色箭头表示的,网络工具的目的IP和目的端口必须指向联网产品的本地IP和本地端口。用蓝色箭头表示的,联网产品的 目的IP必须是网络工具所在计算机的IP地址,而联网产品的目的端口必须是网络调试工具的本地端口。这些网络参数配置好后才能保证双向的UDP数 据通信。 网招设置
工F模式
工F地址
端口
工作模式 子同掩码 网关
目的工F或域名
目的端口
UDP模式
£55堂55 Z55 .口
.160 1 1
通信设置
静态
192 ,166
1 200
工作模式式
地满匚:
的工F方
1024 。表示任意.
19£ 166. 1,200
1025|
组播组:[
打开
图2. UDP模式参数配置
3.2 TCP客户端
在TCP模式下工作模式有两种TCP服务端和TCP客户端,不论采用哪一种模式,必须一方是服务端,另一方是客户端,之后客户端才能访问服务端 都为客户端或者服务端则无法实现通信。
当串口转TCP/IP作为客户端时,必须有3个对应关系,如图3所示。串口转TCP/IP的工作模式为客户端对应SocketDlgTest的服务器模式,串口转TCP/IP
的目的IP必须是SocketDlgTest所在计算机的IP地址,串口转TCP/IP产品的目的端口必须是SocketDlgTest的本地端口。这样设置后串口转TCP/IP 即可自动连接网络工具,连接建立后即可收发数据。
工F模式
工F地址
端口
工作模式
子网掩码
网关
目的工F或域名
目的端口
图3.串口转TCP/IP作为客户端
3.3 TCP服务器
当串口转TCP/IP产品作为服务端时,也有3个对应关系,如图3所示,这里不一一解说。这样设置后点击网络工具的打开按钮即可和串口转TCP/IP
产品建立TCP连接,连接建立后即可收发数据。 -网络谖置
工所算式
工F地址
端口
工作模式
子网掩码
网关
目的工F或域名
目的端口
群态
ig^,iss.
1
.201
逋信设置
工作模式:
TCF客户端三]
一口表示任意
TCF服务器
,
255 .255 .255 . 0
192 .168
11
|192.168. L. 101
|:.O24
IIP
:
目的端
192.168.1/200
所在狙播组::[
打开
图4.串口转TCP/IP作为服务器
4 .两个设备对联工作模式配置
如果上位机不是Socket程序(SocketDlgTest)也不是ZLVircom,而是两台设备通过网口连接的,配置方法也是类似的。首先用户需要将2台设备、 计算机连接到同一个局域网中。这台计算机上运行ZLVircom (或者ZLDevManage),连接计算机的目的只是为了配置,配置完成后计算机可以不必连接。
点击ZLVircom的设备管理,找到这2台设备,如图6所示。然后点击“设备编辑”,对设备进行配置。设备对联可以分为TCP对联和UDP对联。如 果是TCP对联方式,两台设备的参数如图5所示。箭头所示的参数必须对应起来,如同“3.2 TCP客户端”和“3.3 TCP服务器”的对应方式一样。TCP 连接成功后,可以通过回到“设备管理”对话框看连接状态,如图6所示,如果两台设备的状态都是“已连接”则表示两台设备的TCP链路已经建立。
卬应该不同
网络设置
I户耀式
1F地址
端口
工作模式
子网横码
网关
目的IP羽域名
目的端口
图5. TCP设备对联参数配置
工
网络
内网
设备宏称
ZLDEV0001
ZLDEVOOO1
设备IP
192.168.1.201
192.168.1.200
目的IP
192.168.1,200
192,168,1.1
模式
E LH
Client
TCP Server
TCP在接
虚拟省口亏
虚拟品口状态
未牍逋
未联通
已建立
已建立
未设置
未设置
2
内网
图6. TCP设备对联成功检查
如果是UDP方式对联的,配置参数如图7所示,箭头对应的参数必须是一一对应的。UDP对联只要参数配置正确不必检查连接状态,发送的数据会 自动发送到指定的设备。 宙匣速不局
网络设着
1P模式
1F地址
工喉式
.200 *
1洸址
-]UDP
一模式
20 L
二通
工作模式
子网掩内
UDP模式
. 引
255 . 255 . £55 . 0
.工兜.1
255 . 255 . 255
日的IP(
192. 1S8. 1.201
目的靖口
192. 1SS. 1.200
目的端口
型邛|
图7. UDP设备对联参数配置
最后需要提醒一下,如果是设备对联的,除了网口参数按照以上设置外,还必须设置正确的串口参数。主要是联网产品的波特率等需要和用户的设 备的波特率等一致。这样设置以后,用户设备可以通过两台联网产品的串口互相发送数据。h
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689410654a243597.html
评论列表(0条)