福彩快三

  • <tr id='GzXQ91'><strong id='GzXQ91'></strong><small id='GzXQ91'></small><button id='GzXQ91'></button><li id='GzXQ91'><noscript id='GzXQ91'><big id='GzXQ91'></big><dt id='GzXQ91'></dt></noscript></li></tr><ol id='GzXQ91'><option id='GzXQ91'><table id='GzXQ91'><blockquote id='GzXQ91'><tbody id='GzXQ91'></tbody></blockquote></table></option></ol><u id='GzXQ91'></u><kbd id='GzXQ91'><kbd id='GzXQ91'></kbd></kbd>

    <code id='GzXQ91'><strong id='GzXQ91'></strong></code>

    <fieldset id='GzXQ91'></fieldset>
          <span id='GzXQ91'></span>

              <ins id='GzXQ91'></ins>
              <acronym id='GzXQ91'><em id='GzXQ91'></em><td id='GzXQ91'><div id='GzXQ91'></div></td></acronym><address id='GzXQ91'><big id='GzXQ91'><big id='GzXQ91'></big><legend id='GzXQ91'></legend></big></address>

              <i id='GzXQ91'><div id='GzXQ91'><ins id='GzXQ91'></ins></div></i>
              <i id='GzXQ91'></i>
            1. <dl id='GzXQ91'></dl>
              1. <blockquote id='GzXQ91'><q id='GzXQ91'><noscript id='GzXQ91'></noscript><dt id='GzXQ91'></dt></q></blockquote><noframes id='GzXQ91'><i id='GzXQ91'></i>
                关注官方微信

                EN

                EN.

                产品中心

                产品中心

                串口转TCP/IP模块的上位机TCP编程方法指南

                发布时间:2010-12-26 作者:上海卓岚 浏览量:7245
                1.概述

                使用上海卓岚的ZLSN系列串口转TCP/IP模块可以方便的实现在下位机端的TCP联网。即只要通过串口收发数据即可实现TCP/IP数据※的收发。那么对于上位机,即PC机、服务器等如何通过TCP实现和串口转TCP/IP模块的通信呢?基■本上来说有三种方式:

                (1)使用虚拟串口:此时用户在上位机通过zlvircom虚拟一个com口,这个com口会在驱动底层和TCP/IP转串口模块建立网络连接。上位机还是通过串口(COM口)和TCP/IP模块通信。更多详情参考:虚拟串口介绍。

                (2)使用Modbus TCP协议:采用ZLAN5142、ZLSN2140、ZLSN3140等具备Modbus TCP转Modbus RTU的TCP/IP模块可以实现将Modbus TCP协议直接转化为RTU协议。这样用户上位机可以使用通用的Modbus TCP协议,比如组态软件、OPC软件等。这些软件都是支持Modbus TCP的,这样用户可以借助这些工控软件进行开发。更多详情参考:Modbus TCP转RTU介绍

                (3)TCP网络软件编写:第三种方法是本文介绍的主要方法,用户通过VC、VB、Delphi、C++Builder等开发环境开发出TCP软件和TCP/IP转串口模块通信。几乎所有的通用操作系统都支持TCP/IP协议栈,操作系统提供了一种称之为socket接口的通用的编程规范来调用操作系统的TCP/IP协议栈。实际中,在windows上此socket接口就是一个API接口,最终用户函数的执行,直接调用了操作系统提供的DLL库的TCP/IP功能。

                另外如果用户◤需要实现ZLSN模块特有的一些管理。比如在局域网中搜索模块、读取模块的参数、修改模块的参数,卓岚也提供□专用的设备管理函数库DLL

                2. TCP/IP基础

                我们知道TCP/IP转串口模块ZLSN2002基本上有TCP服务器、TCP客户端、UDP这几种工作模式,对于不同的工作模式,上位机软件也需□ 要选择不同的TCP/IP工作模式和他对应:即模块为TCP服务器时上位机应该为TCP客户端、模块为TCP客户端时上位机应该为TCP服务器、模块为UDP时上位机也是UDP模式。请参考:TCP的工作模式的选择介绍

                3. socket函数和TCP/UDP

                socket是通用的TCP/UDP调用接口,含有的主要主要函数如表所示:

                我们通过socket函数的不同调用。来实现上位机工作在不同的模式:
                (1)TCP客户端模▲式:上位机调用connect这个socket函数实现向TCP/IP转串口模块发起连接,实现TCP客户端的功能。
                (2)TCP服务器模式:上位机调用listen这个socket函数实现TCP服务器功能,即在一个特定端口◥等待ZLSN2002模块的连接。
                (3)UDP模式:无需监听和发起连接,直接调用send和recv函数发送和接收即可。

                4. socket编程例子

                这里提供了免费了socket通信的源代码程序《计算机端socket编程例子》。在该代码中使用了非常简洁的代码,实ㄨ现了上位机作为TCP客户端时的数据收发。让用户对socket编程∮马上有一个初步的印象。

                5. VC的CSocket编程例子

                在Microsoft Visula C++中已经对底层的socket接口再进行一次封装,即更加高级的CAsyncSocket、CSocket类。使用这两个类可以实现更加容易的编程。在此提供免费的代码《SocketTest的CSocket编程源代码》

                6. 网络编程的注意事项

                发送大量数据不丢失的方法:一些用户通过计算机向ZLSN模块发送大批量数据,此时由于网∩络发送的数据过快,而串口的输出速度有限,经过一段时间肯定会导致发送不成功。所以一般情况下,用户需要检查send()的返回值,只有返回值和期望发送的数据量一样时,才算发送完毕。否则一定要继续调用send()发送未发送完毕的数据。通过这种检测,可以保证发送的数据不丢失。