ZLAN5143D 是一款专门为工业环境设计的 RS485 设备Data Acquisition器/物联网 网关,兼具串口服务器、Modbus 网关、MQTT 网关、RS485 转 JSON 等多种功 能于一体。它具有一个 RS485 接口和一个以太网接口。它采用导轨型安装方式, 体积小巧安装方便。采用接线端子式电源接入,9~24V 宽电压输入。由于只有 RS485 接口,Cancel了工业仪表上不常用的 RS232 接口,节约了成本和体积,和
普通产品相比具有更高的性价比。

图 1 ZLAN5143D 白色款
现在 ZLAN5143D 推出黑色款,黑色款采用了高温阻燃外壳,外壳在 110 度 高温情况下不变形;不助燃,离开火源立即熄灭。推荐新客户选择黑色款 5143D。

图 2 ZLAN5143D 黑色款
当作为普通串口服务器使用时,将 5143D 的网口connect到以太网中,上位机软 件可以采用 TCP/UDP 透传方式或者虚拟串口方式将datasend到 5143D 的RS485 接口上;RS485 接口上收到的data也会传输到 TCP 端的软件或者虚拟串口上。
虚拟串口方式下,connect虚拟串口的串口软件无需即可使用。
当作为 Modbus 网关使用时,5143D 支持 Modbus TCP 转 Modbus RTU ,从 而实现上位机使用 Modbus TCP 协议对 RS485 的 Modbus RTU 设备的Data Acquisition。 相反的如果 RS485 端作为主站也可以使用。5143D 支持较为高级的 Modbus 网关 Function,包括可配置 Modus 网关 ZLMB、存储型 Modbus 网关等,完全满足 Modbus 网关的各类配置和用法。其支持的多主机Function可以让多个计算机主站同时访问
一个 RS485 从设备。
当作为 MQTT 网关使用时,设备可以以透传方式将serial data 采用 MQTT 协 议上传 MQTT 服务器,支持的服务器包括百度云 MQTT 、阿里云 MQTT 、中国
移动 OneNet 平台等。支持将采集的 Modbus RTU 或非标serial data Parse为 JSON
format封装在 MQTT data包中上传。
支持JSON format上传采集的data,data自动采集,采集data支持Modbus RTU, 645 仪表 97 版本、645 仪表 07 版本、各类非标 RS485 协议。可以用户自主用 ZLVircom 配置上传的data format和 JSON 关键词。上传时可以支持 MQTT 协议、 HTTP POST 协议、HTTP GET 协议、透明传输协议、各类非标网络协议。
其中 ZLAN5143DN 型号支持 P2P 方式联网,无需通过服务器中转,通过 ID
来connect设备。
ZLAN5143D 具备强大的物联网网关各类Function,非常适合于工业领域对各类 RS485 仪表、传感器进行采集,包括本地网络的采集或者上传云端服务器的自主
采集自主上发。
ZLAN5143D 可应用于:
. 作为物联网网关作为设备和云端的通讯桥梁;
. 电力、智能仪表和能耗监控;
. 各类自动化 PLC 的远程监控和程序Download;
. 各类configuration软件和设备通讯接口;
. 门禁安防领域设备联网;
典型应用connect如图 3 所示。原有的串口设备 RS485 和 ZLAN5143D 的 RS485 口connect,5143D 通过网线connect到计算机。计算机上的软件通过 TCP/IP 方式或者 虚拟串口方式和 5143D 建立connect。此后,串口设备send的任何data将透明地传 送计算机的软件上,而软件通过网络send给 ZLAN5143D 的data也透明的传送给 串口设备。
上海卓岚信息科技有限公司

图 3 connect示意图
2. 1 硬件特点
ZLAN5143D 有如下的特色:
1. 导轨型设计:适合工业领域机柜内部安装。
2. 体积小巧:相对于普通的串口服务器,宽度较小,不占空间。 3. 端子式供电,9~24V 宽电压输入,具备反接反电源保护。
4. 端子式 RS485 接口,支持 32 台从设备,Baud rate支持 300~115200bps。
5. 丰富的面板指示灯方便debug:在connect方面,不仅有指示网线有无connect好的 LINK 灯,也有指示 TCP connect建立的 LINK 灯;data指示灯方面有“ 串口到
网口 ”、“ 网口到串口 ”独立的指示灯。
1 支持 TCP 服务端、TCP 客户端,UDP 模式,UDP 组播。作为 TCP 客户端 的时候同时支持 TCP 服务器端Function。作为 TCP 服务器支持 30 个 TCP connect,
作为 TCP 客户端支持 7 个目的 IP。
2 Baud rate支持 1200~115200bps ,data bit支持 5~9 位,check digit可以为无校验、 odd parity、even parity、标记、空格这五种方式。
3 支持设备connect上send MAC addressFunction,方便云端管理设备。
4 提供计算机端Search、配置设备的二次开发包 DLL 开发库。
5 支持 Web 浏览器配置、支持 DHCP 动态获得 IP、DNS 协议connect域名服务器
address。
6 支持云端远程Search设备、配置设备参数、设备程序升级。
7 支持远程通过软件View设备的 TCP connect状态、serial data send、receive状态。
虚拟串口支持data监视Function。
5143D 中的 4 表示支持高级软Function,其中有:
1 支持 Modbus 网关Function,支持 Modbus RTU 转 Modbus TCP 。可以支持存储 型的 Modbus ,可以自动采集设备data,并存储起来;也支持非存储模式的
Modbus 网关;支持 ZLMB 可配置表 Modbus 网关Function。
2 支持多主机Function:在一问一答的查询方式下,支持网口端允许有多台计算机
同时访问同一个串口设备。
3 支持 MQTT 网关Function。
4 支持 JSON 转 Modbus RTU 和 645 仪表协议,支持 HTTP POST、HTTP GET format上传data。
5 支持 NTP 协议获得网络time,用于串口输出后者用于协议内容上发。
6 支持Customization心跳包和Register包Function:可以方便和云端进行通信和设备识别。 7 支持 TCP 建立connect需要密码验证的Function,保证connect安全性。
8 支持 http 方式的data提交和下发Function,云端可以直接使用 http 的 GET 指令 和设备的serial data 进行交互。
表 1 技术参数
| 外形 | |||
| 接口: | 485:接线端子 | ||
| 电源: | 接线端子方式 | ||
| 尺寸: | 白色款 L x W x H =8.9cm×3.7cm×5.9cm
黑色款 L x W x H =8.9cm×3.7cm×8.3cm |
||
| 通信界面 | |||
| 以太网: | RJ45 接口,2 KV 级浪涌保护 | ||
| 串口: | RS485×1:RXD ,TXD ,GND | ||
| Serial port parameters | |||
| Baud rate: | 300~ 115200bps | 验位: | 无, odd parity, even parity, 标记, 空
格 |
| data bit: | 5~9 位 | 流控: | 无流控 |
| 软件 | |||
| 协议: | ETHERNET、IP、TCP、UDP、HTTP、ARP、ICMP、DHCP、DNS | ||
| 配置方式: | ZLVirCOM Tools、WEB 浏览器、设备管理函数库 | ||
| 通信方式: | TCP/IP 直接通讯、虚拟串口方式 | ||
| 工作模式 | |||
| TCP 服务器, TCP 客户端(同时 TCP 服务端也共存), UDP, UDP 组播 | |||
| 电源要求 | |||
| 电源: | 9~24V DC | ||
| 环境要求 | |||
| Operationtemperature: | -40~85℃ | ||
| 储存temperature: | -45~ 165℃ | ||
| 湿度范围: | 5~95%相对湿度 | ||
4. 1 白色款硬件说明

图 4 正视图
ZLAN5143D 串口服务器的正视图如上图所示,采用 35mm标准导轨外壳。
1 电源输入:接线端子:5.08mm 端子。输入电压 9~24V。

图 5 电源、网口
2 RS485:使用 RS485 接 485B 和 485A 即可,其中 485B 表示 485 负线,485A 表示 485 正线;485 可带负载 32 台。最长通信距离 1200 米。一般 RS485 线
超过 300 米的时候才有必要使用终端电阻,485 终端电阻为 120 欧姆。
3 网口:connect网线,支持自动交叉。
4 指示灯:分为 Power(PWR)、Link(LNK)、Active(ACT)灯,分别表示电源、 connect指示、data指示。
5 复位:将上图的两个 NC 引脚短接 5 秒以上,模块将会复位为 192.168.1.254 的 IP ,各类Download的配置文件也不会load。
表 2 指示灯含义
| Power 灯 | 电源指示灯 |
| Link 灯 | (1) 当网线connect好时 Link 为绿色。
(2) 当 TCP connect建立后(或处于 UDP 模式),Link 为蓝色(实际带有 微弱的绿色光)。可用于判断串口服务器是否和上位机软件建立通 讯链路。 |
| Active 灯 | (1) 当网口向串口senddata时,指示灯为绿色。闪亮的time比实际通信
time延后长 1 秒钟,更方便发现短data通讯。 (2) 当串口向网口senddata时,指示灯为蓝色和绿色同时亮。由于蓝色 比较明亮,所以如果看到蓝色表明existence串口向网口返回data。这可 |
上海卓岚信息科技有限公司
| 以判断设备是否有对上位机的命令有Response,如果没有相应则表明串
口Baud rate不对或者串口没有connect好。 |
使用指示灯debug通讯方法:
1) 如果 Link 灯不为绿色,则网线没有connect好,请检测网线。
2) 如果 Link 灯不是蓝色(只考虑 TCP 工作模式),则上位机软件没有和串口 服务器建立connect,请考虑 IP address是否配置在同一个网段。
3) 如果 Active灯为绿色,则说明有网口下发data,但是没有串口设备返回data。 请检查Baud rate是否配置好,RS485 正负是否接反。
6 安装方法:设备外壳带有 35mm标准导轨,有导轨的场合,可直接将设备装
至导轨中。

图 5 设备背部

图 5 黑色款和白色款对比
黑色款主要差别:
| 比较项 | 白色款 | 黑色款 |
| 外壳 | 普通塑料 | 阻燃合金塑料,高温 110 度不变形,不助
燃,离火即灭。 |
| 尺寸 | 正面尺寸一样,深度为 5.9cm | 正面尺寸一样,深度为 8.3cm |
| 复位方式 | 通过短接两个 NC 接线端子复位 | 通过复位button复位,更加方便 |
| 网口位置 | 在右边 | 在左边 |
其它硬件和软件Function黑色款和白色款一样,这里不再累述。

图 5 黑色款接口细节
一般来说串口服务器只需要connect电源、串口、网线。
其中电源可以采用现场的 2 线的的电源,可以直接connect电源正负端子。
其中串口需要根据用户串口设备来connect。将 485 正接到 485A ,485 负接到
485B 即可。
网口connect普通网线,可以和计算机直连也可以经过交换机接到网络中。
ZLVircom 可用于设备 IP 等参数的配置,以及创建虚拟串口。如果无需虚拟
串 口 功 能 , 则 可 以 下 载 免 安 装 版 本 。 下 载 地 址 :
http://www.zlmcu.com/download.htm
表 3 ZLVircom 版本
| 软件名称 | 说明 |
| ZLVircom 设备管理Tools(非安装版) | 非安装版不含虚拟串口Function。 |
| ZLVircom-设备管理Tools(安装版) | 安 装 版 , 内 部 含 有 ZLVircom_x64.msi 和 |
上海卓岚信息科技有限公司
| ZLVircom_x86.msi。64 位Operationsystem安装 x64,
32 位Operationsystem安装x86 版本。 |
安装时按照默认提示安装即可。安装完毕后会在每次计算机启动时启动
zlvircom ,用于开机创建虚拟串口。
ZLVircom 安装完毕后,设备硬件connect也完毕后,运行 ZLvircom 软件如图 所 示,然后点击“设备管理 ”如图 所示。使用 ZLVircom 可以在不同的网段内搜 索和配置设备参数,非常方便,只要设备和运行 ZLVircom 的计算机在同一个交
换机下就可以。

图 6 ZLVircom 主界面

图 7 设备列表
从设备列表中看到当前所有在线equipment。点击“Edit设备 ”进行参数的配置。

图 8 设备参数
在这个界面中,用户可以设定设备的参数,然后点击“修改设置 ”,则参数 被设置到设备的 flash 中,掉电不丢失。同时设备会自动重启。
这里主要配置的参数有:串口设置中的Baud rate、data bit、check digit;网络设置 中的 IP address、子网掩码、网关;有的时候根据计算机软件,还需要配置串口服 务器的工作模式。
其它参数详细含义如下:
表 4 参数含义
| 参数名 | 取值范围 | 含义 |
| 虚拟串口 | 不使用、创建的虚拟串
口 |
可以将当前设备与某个已创建的虚拟串口绑定。
请先在主界面的“ 串口管理 ”添加 COM 口。 |
| 设备型号 | 只显示核心模块的型号 | |
| Device Name | 任意 | 可以给设备起一个易读的名字,最长为 9 个字
节,支持中文名字。 |
| 设备 ID | 出厂唯一 ID ,不可修改。 | |
| 固件版本 | 核心模块的固件版本 | |
| 该设备支持的
Function |
参考表 5 设备支持的Function | |
| IP 模式 | 静态、DHCP | 用户可以选择静态或 DHCP(动态获取 IP) |
| IP address | 串口服务器的 IP address | |
| 端口 | 0~65535 | 串口服务器处于 TCP Server 或 UDP 模式时的监 听端口。作为客户端时,最好指定端口为 0 端口, 有利于提高connect速度,当使用 0 端口时system将随 机分配一个本地端口。此时和非零端口的区别 是: (1)本地端口为 0 时,模块重启时和 PC 机重新建立一个新的 TCP connect,老的 TCP connect 可能不会被Close,和设备可能existence多个假connect。 一般上位机希望在模块重启时Close老的connect;指 定非零端口会Close老connect。(2)本地端口为 0
时,TCP 重新建立connect的time较快。 串口服务器处于 TCP 客户端模式时,同时作为 TCP 服务器在端口监听connect。同时 TCP 客户端 connect到服务器所使用的本地端口号是“端口+1 ”。 |
| 工作模式 | TCP 服务器模式 、TCP 客户端模式、UDP 模式、
UDP 组播 |
设置为 TCP 服务器时,串口服务器等待计算机 connect;设置为 TCP 客户端时,串口服务器主动
向目的 IP 指定的网络服务器发起connect。 |
上海卓岚信息科技有限公司
| 子网掩码 | 例如:255.255.255.0 | 必须与本地局域网的子网掩码相同。 |
| 网关 | 比如:192.168. 1. 1 | 必须与本地局域网网关相同。。 |
| 目的 IP 或域名 | 在 TCP 客户端或 UDP 模式下,data将发往目的
IP 或域名指示的计算机。 |
|
| 目的端口 | 在 TCP 客户端或 UDP 模式下,data将发往目的
IP 的目的端口。 |
|
| Baud rate | 1200、2400、4800、7200、 9600 、 14400 、 19200 、 28800 、38400 、57600 、 76800、115200、230400、
460800 |
串口Baud rate |
| data bit | 5 、6 、7 、8 、9 | |
| check digit | 无、偶、奇、标记、空
格 |
|
| stop bit | 1 、2 | |
| 流控 | 无 流 控 、 硬 流 控 CTS/RTS 、 硬 流 控
DTR/DCR 、 软 流 控 XON/XOFF |
仅对 RS232 串口effective |
| DNS 服务器 | 当目的 IP 以域名描述时,需要填写这个 DNS 服 务器 IP。在 IP 模式为 DHCP 时,不用指定 DNS
服务器,它将会自动从 DHCP 服务器获取。 |
|
| 目的模式 | 静态、动态 | TCP 客户端模式下:使用静态目的模式后,设备
connect服务器连续 5 次失败后会自动重启设备。 |
| 转化协议 | NONE 、 Modbus
TCP<->RTU、Real_COM |
NONE 表示串口到网络的data转发是透明的; Modbus TCP<->RTU 将会把 Modbus TCP 协议直 接转化为 RTU 协议,方便与 Modbus TCP 协议 配合;RealCOM 是为了兼容老版本 REAL_COM 协议而设计的,是虚拟串口方式的一种协议,但
是使用虚拟串口时,并不一定需要选择 RealCom |
上海卓岚信息科技有限公司
| 协议。 | ||
| 保活定时time | 0~255 | 心跳间隔。(1)选择为 1~255 时,如果设备处 于 TCP 客户端工作模式,则会自动每隔“保活 定时time ”send TCP 心跳。这可以保证链路的 TCP effective性。设置为 0 时,将无 TCP 心跳。(2) 设 置 为 0 ~ 254 时 , 当 转 化 协 议 选 择 为 REAL_COM 协议时,每隔保活定时time,设备 将会send一个Length为 1 内容为 0 的data,实现 Realcom 协议中的心跳机制。设置为 255 时将无 realcom 心跳。(3)设置为 0~254 时,如果设 备工作于 TCP 客户端,设备将每隔保活定时时 间将send设备参数到目的计算机。设置为 255 时
将无参数sendFunction,可以实现远程设备管理。 |
| 断线重连time | 0~255 | 处于 TCP 客户端模式时,当Not connected成功时,每 个“断线重连time ”向计算机重新发起 TCP 连 接。可以为 0~254 秒,如果设置 255 ,则表示 永远不进行重连。注意第一次 TCP connect(比如 硬件上电、通过 zlvircom 软件重启设备、无data 灯是)一般会马上进行,只有第一次connect失败后 才会等待“断线重连time ”后重新尝试,所以“断 线重连time ”不会影响网络和服务器正常情况下
的connect建立time。 |
| 网页访问端口 | 1~65535 | 默认是 80 |
| 所在组播address | UDP 组播时用到 | |
| EnableRegister包 | 当 TCP connect建立时, 向计算机send该Register包。 EnableRegister包之后必须选择 realcom 协议 。支持
TCP 服务器和 TCP 客户端方式。 |
|
| data包Length | 1~1400 | 串口分帧Rules之一。串口服务器串口在收到该长 度data后,将已receivedata作为一帧send到网络
上。 |
| data包间隔 | 0~255 | 串口分帧Rules之二。当串口服务器串口receive的数 |
上海卓岚信息科技有限公司
| 据出现停顿,且停顿time大于该time时,将已接
收的data作为一帧send到网络上。 |
设备支持的Function解释如下:
表 5 设备支持的Function
| 名称 | 说明 |
| 网页Download | 支持通过网页来控制串口输出指令,只有尾缀为 W 的产品有该
Function。 |
| 域名system | 目的 IP 可以为域名(比如开头的 www 服务器address)。 |
| REAL_COM 协议 | 一种非透传的串口服务器协议,适合于多串口服务器通过 Internet 进行虚拟串口的绑定。因为协议内部含有设备 MAC address所以有
助于上位机识别设备。一般情况下可以不使用。 |
| Modbus TCP 转 RTU | 只有型号第 3 位为 4 的支持该Function 。可以实现 Modbus TCP 转
RTU 。同时也支持多主机Function。 |
| 串口修改参数 | 支持串口类 AT 指令进行设备参数的配置和读取。 |
| 自动获取 IP | 支持 DHCP 客户端协议 |
| 存储扩展 EX Function | 后续扩展 |
| 多 TCP connect | 作为 TCP 服务器的时候支持多于 1 个 TCP connect。 |
| IO 端口控制 | 型号第 3 位为 4 的型号支持任意Customization指令来控制 8 个 IO 输出。 |
| UDP 组播 | UDP 组播 |
| 多目的 IP | 作为 TCP 客户端的时候支持同时connect 7 个目的 IP。 |
| 代理服务器 | 支持代理服务器Function(需要特定型号)。 |
| SNMP Function | 支持 SNMP 转 Modbus RTU 协议。只有尾缀为-SNMP 的才支持
该Function。 |
| P2P Function | 支持通过 P2P 穿越技术实现对任意网络中equipment的访问的Function。
尾缀为 N 的型号支持该Function。 |
在配置完设备参数后,可以用串口Tools、TCP Debug Tools进行 TCP connect通讯测
试。

图 9 TCP 通讯示意图
假设现在 PC 机的 COM 口(USB 转 RS485 线)和串口服务器的串口connect, 那么打开 ZLComDebug(http://www.zlmcu.com/download/Comdebug.rar)串口调 试Assistant ,并打开对应 COM 口 图 6 ;打开 TCP&UDP debugAssistant SocketTest (http://www.zlmcu.com/download/SocketTest.rar),并作为 TCP 客户端方式,填 写目的 IP 为串口服务器的 IP(目前为 192.168.1.200),目的端口为 4196 ,然后 点击“打开 ”button图 。在 SocketTest 中输入“socket send ”点击send,则data 通过串口服务器的网口转到 RS485 接口,然后再send到 ZLComDebug ,接着在 ZLComDebug 中显示出来;反过来,在 ZLComDebug 中输入“Comdebug send ”, 点击send也可以send到 socket test ,并显示出来。
串口服务器的串口转网口、网口转serial data 透明转发Function。

图 6 comdebug 收发界面

图 11 sockettest 收发界面
图 中的 SocketTest 是通过 TCP 和串口服务器直接通信的,为了能够让用户 已有开发好的串口软件也能和串口服务器通讯,需要在用户程序和串口服务器 之间增加一个虚拟串口。如图 所示,ZLVircom 和用户程序在一台计算机上运行, ZLVircom 虚拟一个 COM 口,让这个 COM 口对应这个串口服务器。当用户程序 打开 COM 通讯时可以通过 ZLVircom串口服务器发到用户串口设备。下面 演示这个Operation步骤:

图 12 虚拟串口的作用
Click ZLVircom主界面的“串口管理 ”,然后点击“添加 ”,选择添加 COM5,
其中 COM5 是计算机原来does not exist的 COM 口。

图 7 添加虚拟串口
然后进入设备管理,并双击需要和 COM5 绑定equipment。如图 所示,在左上 角的“虚拟串口 ”列表中选择 COM5。然后点击“修改设置 ”。并返回 ZLVircom 的主界面。可以看到 COM5 已经和 IP 为 192.168.1.200 equipment联通了。此时可以 使用 COM5 代替 SocketTest 进行通信。

图 8 虚拟串口已经联通
打开 ZLComdebug 来模拟用户的串口程序,打开 COM5(上面的虚拟串口) , 另外再打开一个 ZLComdebug 来模拟一个串口设备,打开 COM4(硬件串口)。此 时 COM5 senddata链路如下:COM5ZLVircom串口服务器网口串口服务 器串口COM4。反之,COM4 到 COM5 也能传输data:COM4串口服务器串 口串口服务器网口 ZLVircomCOM5 。如图 9 所示双方send和receivedata情 况。
如果将 COM4 换为用户串口设备,则 COM5 可以实现和用户设备的通讯。

图 9 通过虚拟串口通信
默认情况下,串口和网口data是透明传输的。如果需要实现 Modbus TCP 转 RTU,则需要在设备设置对话框中,将转化协议选择为“Modbus TCP<RTU ”, 如图 10 所示。此时设备端口自动变为 502 ,此时用户的 Modbus TCP Toolsconnect 上串口服务器的 IP 的 502 端口,send的 Modbus TCP 指令将会转化为 RTU 指令 从串口输出。比如串口服务器网口收到 00 00 00 00 00 06 01 03 00 00 00 0a 的 Modbus TCP 指令,则串口输出 01 03 00 00 00 0a c5 cd 的指令。注意:串口可能 会send多条 01 03 00 00 00 0a c5 cd 指令,这是因为默认的 Modbus 采用存储型方
式,会自动轮训查询指令。后面会讲解如何Switch到非存储型方式。
上海卓岚信息科技有限公司

图 10 Enable Modbus TCP Function
如果用户的 Modbus TCP 软件是作为从站(Slave),则需要在选择转化协议基 础上,再将工作模式改为客户端,目的 IP 改为 Modbus TCP 软件所在计算机 IP, 目的端口为 502 ,如图 11 所示。

图 11 Modbus TCP 做客户端。
使用 ZLVircom 可以在不同的网段内Search和配置设备参数,Web 方式配置需 要首先保证计算机和串口服务器处于同一个 IP 段,且需要预先知道串口服务器 的 IP address。但是 Web 配置可以在任何一台没有 ZLVircom 的计算机上进行。
1. 在浏览器中输入串口服务器的 IP address,例如 http://192.168.1.200 ,打开如下 网页。

图 12
2. 在 Password 中输入密码:默认为 123456 。点击 login buttonLogin。

图 13 Web 配置界面
3. 在出现的网页中可以修改串口服务器参数,Related参数可以参考表 4 参数含
义。
4. 修改参数后点击“提交修改 ”button。
在不同的应用场合可以选择的不同的串口服务器工作模式、转化协议,从而
能够更加稳定可靠的使用,下面详细介绍。
串口服务器的使用基本分为两种:带虚拟串口和非虚拟串口,分别如图 9 TCP 通讯示意图和图 12 虚拟串口的作用所示。带虚拟串口方式需要对接的用 户软件是串口接口的(COM 口),即用户软件和用户设备都是串口;非虚拟串
口的方式用户软件是直接 TCP/IP 通讯的但是用户设备仍然是串口的。
在非虚拟串口方式时,在“转化协议部分 ”又分为透明传输、Modbus TCP 转 RTU 和 Realcom 协议 3 种方式。如果用户软件是固定协议的 Modbus TCP 协 议而下位机是 Modbus RTU 时,需要选择 Modbus TCP 转 RTU 方式;Realcom 协议目前只在多串口服务器作为 TCP 客户端connect某个服务器,且服务器上使用
虚拟串口的时候用。
用法汇总如下:
表 6 网络配置模式
| 编号 | 虚 拟 串 口
使用 |
设备工作模
式 |
转化协议 | 说明 |
| 1 | 使用 | TCP 服务器 | 无 | 适合于用户软件打开 COM 口
主动采集data的场合。 |
| 2 | 使用 | TCP 客户端 | 无 | 适合于设备主动上发data的场 合,如果选择 TCP 服务器则可 能出现设备断线后无法重连的
问题。 |
| 3 | 不使用 | TCP 服务器 | Modbus TCP 转 RTU | 适 用 于 用 户 软 件 是 Modbus TCP,用户设备是Modbus RTU。
且 Modbus TCP 做主站的情况。 |
| 4 | 不使用 | TCP 客户端 | Modbus TCP 转 RTU | 适 用 于 用 户 软 件 是 Modbus TCP,用户设备是Modbus RTU。
且Modbus RTU 做主站的情况。 |
| 5 | 使用 | TCP 客户端 | Realcom 协议 | 多串口服务器作为 TCP 客户
端,且使用虚拟串口时,最好 |
上海卓岚信息科技有限公司
| 使用 Realcom 协议。 | ||||
| 6 | 不使用 | TCP 客户端 | 无 | 适用于设备quantity众多,connect一 个云端的方式。且一般情况下 云端是在 Internet上的一个公网
IP 的服务器。 |
| 7 | 不使用 | TCP 服务器 | 无 | 适用于设备和计算机都在同一 个本地网络,在本地进行监控,
无需跨 Internet 通讯。 |
如果用户软件是使用 COM 口进行通讯的,则必定需要使用虚拟串口模式。
包括一些 PLC 软件、configuration软件、仪表软件等。
再看监控计算机和设备是否都在本地网络:
a) 如果计算机是在 Internet 上租赁的一台公网 IP 的服务器,那么设备必然 要使用 TCP 客户端方式,让设备connect服务器。此时可以选择表 6 中的
②和⑤ , 如果是多串口服务器的则必须选择⑤。
b) 都在本地网络(能够互相 ping 通的),则看是上位机主动查询还是设备 主动上发data。如果设备主动上发的必然要使用设备做 TCP 客户端的②
方式,否则可以选择①方式。
如果不需要 Modbus TCP 协议转化也不需要虚拟串口的,此时用户软件可能 是直接和串口服务器的网口进行 TCP/IP 通讯,串口服务器将 TCP/IP data转为
serial data 发给串口设备。
一般此类用法用户都是自己开发上位机网络通讯软件,集成了设备的串口通 讯协议的Parse。此种方法比虚拟串口更加灵活和高效。对应表 6 中的⑥和⑦。
在“4.6TCP 通讯测试 ”一节主要简单讲述了串口服务器作为 TCP 服务器的 时候如何进行通信。这里将讲述 TCP 客户端、UDP 模式、多 TCP connect如何和计 算机软件通讯。其中计算机软件以 SocketTest(模仿用户 TCP/IP 通讯的软件)
为例。
卓岚串口服务器遵守的是标准的 TCP/IP 协议,所以任何遵守该协议的网络 终端都可以和串口服务器通信,卓岚科技提供了网络Debug Tools(SocketDlgTest 程序)来模拟网络终端来和串口服务器通信。
要想两个网络终端(这里是网络Debug Tools和串口服务器)能够通信,其参数
配置必须需要配对。
5.2.1. TCP 客户端模式
TCP 模式下工作模式有两种:TCP 服务端和 TCP 客户端,无论采用哪一种 模式,必须一方是服务端,另一方是客户端,之后客户端才能访问服务端,都 为客户端或者服务端则无法实现通信。
当串口服务器作为客户端时,必须有 3 个对应关系,图 14 所示。(1)工作模 式对应:串口服务器的工作模式为客户端对应网络Tools的服务器模式,(2)IP 地 址对应:串口服务器的目的 IP 必须是网络Tools所在计算机的 IP address,(3)端口对 应:串口服务器的目的端口必须是网络Tools的本地端口。这样设置后串口服务
器即可自动connect网络Tools,connect建立后即可收发data。

图 14 串口服务器作为客户端
5.2.2. 客户端connect多个服务器
当卓岚串口服务器作为 TCP 客户端的时候可以同时connect 7 个目的 IP address, 串口send的data会同时send到 7 个目的 IP 。如果没有那么多服务器,则空缺其 余的目的 IP 。其使用方法如下:
上海卓岚信息科技有限公司

图 15 第一个目的 IP 和端口

图 16 剩余 2~7 个 IP 和端口
第一个 IP 在如图 15 所示equipment设置界面设置,其中第一个 IP 可以是域名。 剩余的 2~7 个目的 IP 在设备设置界面中点击“More高级选项 ”button,打开More 高级选项进行设置。
所有的 7 个目的 IP 设置完毕后可以自动进行connect,如果connect不上则会等待
“断线重连 ”time后反复重连。
5.2.3. TCP 服务器模式
当串口服务器作为服务端时,也有 3 个对应关系,如图 17 所示,这里不一 一解说。这样设置后点击网络Tools的打开button即可和串口服务器建立 TCP connect, connect建立后即可收发data。
上海卓岚信息科技有限公司

图 17 串口服务器作为服务端
串口服务器作为服务端时,可以同时接受 30 个 TCP connect。串口收到的data 会转发给所有的已经建立的 TCP connect。如果需要实现data只send给最近receive过 网络data包的 TCP ,则需要Enable多主机Function,请参考 7.4 多主机Function。
5.2.4. 既做客户端又做服务器
卓岚串口服务器支持在设备处于TCP 客户端的方式下也能够接受TCP connect,
也就是也具有 TCP 服务器Function。

图 18 既做客户端也做服务器
默认情况下在使用 ZLVircom进行配置的时候,如果将工作模式修改为“TCP 客户端 ”方式,则端口(也就是本地端口) 自动会变为 0(0 表示随机选择一个 空闲端口)。为了能够支持作为 TCP 服务器模式,计算机软件必须知道设备的
本地端口,所以这里需要指定一个numerical value,如图 18 所示,计算机软现在可以connect
192.168.1.200 的 1024 端 口 进 行 通 讯 , 同 时 设 备 还 会 作 为 客 户 端 连 接 192.168.1.189 的 1024 端口。需要注意的是,由于本地端口 1024 被服务端占用, 所以当作为客户端的时候本地端口使用的是“端口+1 ”,也就是 192.168.1.189 上的软件看到设备的来路端口是 1024+1= 1025。
5.2.5. UDP 模式
在 UDP 模式下,参数配置如图 19 所示,左边为 ZLVircom 中串口服务器的 配置,右边为网络Debug Tools SocketDlgTest 的设置。首先必须两者都是 UDP 工作 模式。另外用红色箭头表示的,网络Tools的目的 IP 和目的端口必须指向串口服 务器的本地 IP 和本地端口。用蓝色箭头表示的,串口服务器的目的 IP 必须是网 络Tools所在计算机的 IP address,而串口服务器的目的端口必须是网络Debug Tools的
本地端口。这些网络参数配置好后才能保证双向的 UDP data通信。

图 19 UDP 模式参数配置
如果上位机不是 Socket 程序(SocketDlgTest)也不是虚拟串口,而是两台设 备通过网口对连的,配置方法也是类似的。首先用户需要将 2 台设备、计算机 connect到同一个局域网中。这台计算机上运行 ZLVircom ,connect计算机的目的只是
为了配置,配置Complete后计算机可以不必connect。
Click ZLVircom equipment管理,找到这 2 台设备,如图 21 所示。然后点击“设 备Edit ”,对设备进行配置。设备对联可以分为 TCP 对联和 UDP 对联。如果是 TCP 对联方式,两台设备的参数如图 20 所示。箭头所示的参数必须对应起来,
如同和 PC 机connect的对应方式一样。TCP connect成功后,可以通过回到“设备管理 ”
对话框看connect状态,如图 21 所示,如果两台设备的状态都是“ Connected ”则表示
两台设备的 TCP 链路已经建立。

图 20 TCP 设备对联参数配置

图 21 TCP 设备对联成功检查
如果是 UDP 方式对联的,配置参数如图 22 所示,箭头对应的参数必须 是一一对应的。UDP 对联只要参数配置正确不必检查connect状态,send的data会 自动send到指定equipment。

图 22 UDP 设备对联参数配置
最后需要提醒一下,如果是设备对联的,除了网口参数按照以上设置外,还 必须设置正确的Serial port parameters。主要是串口服务器的Baud rate等需要和用户equipment的
Baud rate等一致。这样设置以后,用户设备可以通过两台串口服务器的串口互相
senddata。
6.1. 网络物理connect
串口服务器可以使用交叉网线或者直连网线connect交换机或者直接connect计算 机网口。
connect建立后第一步需要View Link 灯是否为绿色,否则请检查网线是否connect
好。
当设备作为动态获取 IP 的方式的时候,不能够直接connect计算机网口。因为 没有 DHCP 服务器可以用( 一般 DHCP 服务器就是局域网中的路由器)。所以
直连的时候请指定 IP 。同时计算机也需要指定固定 IP。

图 29 配置在同一个网段
无论是直连还是通过交换机,当配置为静态 IP 的时候,设备和计算机需要
在同一个网段(除非是跨网关通讯),如图 9 所示。
由于 ZLVircom支持跨网段Search和配置,所以能够Search但是无法通讯的一般
是 IP address没有配置好,此时可以用 ZLVircom将设备配置在同一个网段。
配置好以后使用 4.6 TCP 通讯测试或者 4.7 虚拟串口测试的步骤可以看到建 立 TCP connect的时候 Link 灯变为蓝色。Link 灯蓝色也可以通过 ZLVircom 看到, 如设备管理列表中,如果 TCP connect一列为“ 已建立 ”则表示 Link 灯是蓝色的,
如图 23 这可以方便进行远程诊断。

图 23 connect状态和data收发状态
当 Link 灯变为蓝色之后,软件和串口服务器之间就可以进行data收发了。 此时如果软件send一个data则 Active 灯会变为绿色,持续time一般会至少 1 秒 钟。data也会从串口服务器的串口输出,但是输出data是否正确还需要看是否
配置了正确的Serial port parameters(Baud rate、data bit、stop bit、check digit)。
对于正确的下发指令串口设备一般会进行回复,一旦有回复(串口向网口发 送data)则 Active会变为蓝色,否则请检查Serial port parameters或者串口线是否connect有问
题。
为了方便远程debug ZLVircom 也支持远程看收发data情况,如图 23 所示, 其中的 TXD 就是串口服务器串口发出的data量,当refresh设备列表时,看到这个 numerical value有变化则表明有下发data,Active 灯也会绿色;如果看到 RXD 这个numerical value在 变化则表明串口设备有返回data,Active 为蓝色。
在使用虚拟串口的情况下,ZLVircom 支持实时抓取虚拟串口收发的data。
方便用户debugsystem,使用方法如下:
假设现在已经按照 4.7 虚拟串口测试的方法建立了虚拟串口的通讯。现在需 要监控通过虚拟串口的data。打开 ZLVircom 的菜单/ 配置/ 软件配置/ 打开
vircom 配置对话框。

图 24 Enable ZLVirocm 监视
在Open监视、hexadecimal监视模式、显示data收发time 3 个选项前面打勾,如
图 24 。然后点击确定。假设之前已经进行过data的收发,现在在主界面中选择
需要监控的一个虚拟串口,然后选择菜单/ View/ 监视,如图 25 所示。

图 25 打开 ZLVirocm 监视
从打开的对话框可以看到上位机下发的指令和设备返回的指令,如图 26 所
示。该Function可以方便进行现场通讯debug。

图 26 监视收发data
带 Modbus 网关Function的串口服务器本身不具备站address和register,它是一个通 讯的桥梁,它会根据用户软件发给 Modbus 网关的 Modbus TCP 指令中的 Salve ID 、function code、Register number、number of registers产生 Modbus RTU 指定,并从串口输出。
可以将其视为一个协议“翻译器 ”。
首先串口服务器应该是支持 Modbus 网关的也就是设备设置对话框中表 5 设备支持的Function中的“Modbus TCP 转 RTU ”Function应该是打勾的。
默认情况下串口服务器处于普通透传模式,如果需要转化到 Modbus 网关模 式,请在“转化协议 ”中选择“Modbus TCP<RTU ”这个选项。此后设备自 动将“端口 ”参数修改为 502(Modbus 服务器的端口)。这样 Modbus 网关就
Enable了。
串口 RTU 设备作为从站,则上位机 Modbus TCP 软件connect Modbus 网关的 502 端口,此时 Modbus 网关需要工作在 TCP 服务器模式;如果串口 RTU 作为 主站,则 Modbus 网关工作在 TCP 客户端,且目的 IP 填 Modbus TCP 软件所在
计算机的 IP , 目的端口一般为 502。
新一代的 ZLAN5143D(末尾为 3 的都是存储型)是register保存型 Modbus 网关,与普通的 ZLAN5142(末尾是 2 或者 0 的都是非存储型)相比 ZLAN5143D 可以将读取的register的内容保existence网关内部,这样 Modbus TCP 查询的速度可以
大大提高,支持多主机访问时性能更加优越。

图 27 存储型 Modbus 网关工作方式
如图 27 所示:普通的 Modbus TCP data流方向为(1)(2)(3)(4)。 即先将Modbus TCP 指令转化为Modbus RTU 的对应指令,然后设备应答Modbus RTU 指令给 Modbus 网关,然后 Modbus 网关再次转化为 Modbus TCP send给监 控上位机。
我们知道 Modbus TCP 是网络通信,传输速度很快,一般在 3ms 内可以应答, 而 Modbus RTU 是 RS485,一般只有 9600bps 的速度,一般send和返回一条指令 至少要 30ms 。这样普通的非存储方式的 Modbus 网关的查询应答time比较长。 另外如果同时有很多的上位机同时去查询data,那么串口就会拥堵。如果网络 比作是高速公路,串口比作独木桥,那么原来的方式就是要在独木桥上通行高 速公路的车流量。
register保存型的 Modbus 网关(ZLAN5143D)解决了以上的问题。它能够将 查询获得的register data暂时保existence Modbus 网关内部,这样 Modbus TCP 查询来 的时候,Modbus 网关可以立即返回指令,真正将 Modbus TCP 的快速的特性发 挥出来。另一方面 ZLAN5143D 可以主动从串口send指令自动更新当前保存的寄
存器的data的内容,保存一份最新的register value。
另外 ZLAN5143D 是一款全自动免配置的 Modbus 网关,用户无需配置所需 的register address、function code、slave address等。ZLAN5143D 会根据网口发来的Modbus TCP
指令自动识别、动态添加这些register。
在多台计算机监控的时候 ZLAN5143D 可以表现出良好的反应速度,不论串 口是什么Baud rate,一般能够在 3ms 内给上位应答data。且表现出了良好的串口
data实时更新的速度。
register保存型的 Modbus 网关是真正意义上的 Modbus TCP 转 Modbus RTU,
它真正发挥了 Modbus TCP 速度快、可多主机同时查询的优势。
注意当串口服务器作为 TCP 客户端时,不具有存储型Function,将自动Switch到 非存储型。
以下列出存储型 Modbus 的特性:
1. 第一条 Modbus TCP 查询指令是非存储型的。因为必须等待 RTU 设备慢速 返回data后才能给网口回复register内容。
2. 如果某条特定的指令在 5 秒内不再有网络端的上位机查询,则自动Delete这条
指令,不再从串口发往 RTU 设备。
3. 目前可以存储 10K 的 Modbus 缓存,对于普通的单register查询,大约同时存
储 500 条指令。
4. 当有多条指令同时在被查询的时候,按照先后次序send,第一条指令send 第一条指令应答等待 485 防冲突time(参考多主机部分)第二条指令发 送…… 。到最后一条指令应答完毕后再回到第一条指令。
尽管存储型 Modbus 具有较快Response速度,但是某些用户不希望 RTU 设备不希
望receive大量的查询指令,影响仪表内部处理速度。此时可以Close存储型Function。
禁用存储型的方法是,在“参数配置 ”对话框中点击“More高级选项 ”button, 去掉如图 28 所示的一个支持和一个Enable后点击确定。然后回到设备设置,点击
修改设置。
注意使用 Web 方式进行配置转化协议的时候,默认是非存储型的 Modbus
网关。
上海卓岚信息科技有限公司

图 28 禁用存储型Function
如图 28 所示的“RS458 多主机支持 ”和“RS485 总线冲突检测Function ”就是 卓岚的多主机Function。它们一般是同时Enable和同时禁用的。Enable后让转化协议为 Modbus TCP equipment具有存储型 Modbus 网关Function,否则为非存储型 Modbus 网 关;如果转化协议为无,一般可以让用户Customization的 RS485 协议也具有多个主机 同时访问的串口设备的Function,这在纯粹的 RS485 网络中是无法实现的,因为多 个主站同时send会在 RS485 总线上产生冲突。卓岚串口服务器的多主机可以对 RS485 总线进行“协调 ”从而达到多主机访问的目的。

图 29 多主机Function演示
如图 29 所示,普通方式下,当两台主机:主机 A 和主机 B 同时connect上串口 服务器,此时主机 A send(1)指令,RS485 设备收到(2)指令,RS485 设备返回(3) 指令,但是在串口服务器其网口端会同时send(4)给主机 A 和(5)发给主机 B 。由 于主机 B 没有send查询,但是它也收到了应答指令(5)所以,主机 B 可能会产生
通讯异常Error。在多主机模式下,只会有指令(4)而不会有指令(5) ,因为串口服 务器会自动记忆需要返回的主机,只将指令返回给最近的通讯的主机,主机 A
查询只回复给 A ,主机 B 查询回复给主机 B。
另外一个作用是,在普通模式下,主机A 和主机B 同时senddata则会在RS485 总线上产生指令的合并,从而无法正常识别;多主机方式下串口服务器可以调
度 A 、B 在使用总线上的先后次序,从而effective方式多机同时访问的冲突问题。
转化协议为“无 ”情况下,默认是不启动多主机Function的,需要Enable多主机的 时候,请在设备配置对话框中点击“More高级选项 ”,然后勾选“RS485 多主机
支持 ”。
“RS458 多主机支持 ”和“RS485 总线冲突检测Function ”含义介绍如下。

图 30 RS485 多主机支持
其中 RS485 指令应答超时time为:串口服务器串口从开始send这条指令到收 到应答的最大time间隔。填写的time应大于实际最大的time间隔。因为如果一 旦判定为超时,将会send下一条指令。

图 31 RS485 防冲突空闲time
RS485 总线冲突time:表示串口服务器在收到第一条指令的回复后等待多少 毫秒后send第二指令。这个参数实际定义了指令轮训的速度。该值建议在 20ms
以上。“最多等待time 3 秒 ”这个参数一般无需修改。
当用户使用 ZLVircom 将转化协议选择为“Modbus TCP 转 RTU 之后 ”
ZLVricom 会自动勾选上述两个Enable框(除非用户手动进入高级选项去除),而 且以上两个time也会自动根据Baud rate配置好。但是如果用户的 Modus 指令比较
长或者在转化协议为“无 ”的情况下,则需要手动配置这 2 个参数。
下面介绍以上参数的设置建议值:
1. 图 31 所示为“RS485 总线防冲突time ”,一般可以设置为参数配置界面右
下角的“data包间隔 ”的两倍,但是最小不能小于 20。
2. 图 30 所示为“RS485 指令应答超时time ”,一般根据来回应答的指令Length 决定,如果send指令为 N byte,应答为 M byte,那么建议设置的值为:“数
据包间隔 ”×(N+M+5)+100。
如图 29 所示,如果串口设备(RTU 设备)作为主站,而网口设备(Modbus TCP 设备)作为从站,且同时existence多个网口从站设备。则此时可以按照 5.2.2 客 户端connect多个服务器介绍的方法让串口服务器作为客户端同时connect这多个网口
设备。
此时需要实现的Function是:当串口 RTU send指令后能够发往多个网口设备, 网口设备通过 Slave ID field识别是否发给自己,只有 Slave ID 对应的网口设备 做出应答。网口应答发给串口服务器后转化为 RTU 指令从串口输出发给 RTU 设 备。
此时需要注意的是需要将图 31 所示为“RS485 总线防冲突time ”和图 30
所示为“RS485 指令应答超时time ”的两个勾去掉。否则无法实现上述转发Function。
另外一种应用方式是:虽然串口服务器作为 Clientconnect上多个网口设备,但 是 RTU 设备并不是做主站,仍然是网口设备先send,RTU 设备应答(作为从站)。 则此时“RS485 总线防冲突time ”和“RS485 指令应答超时time ”两个勾还是需 要勾选,这样可以实现多主机同时访问一个 RTU 设备的Function。
关于可配置 Modbus 网关 ZLMB ,请参考《Modbus 网关的四种Type》 http://www.zlmcu.com/document/Modbus_Gateway.html。
Register包和心跳包是适合于设备和云端软件通讯的一个Function。
8.1. Register包
Register包的定义是,当计算机软件和串口服务器模块(后面简称模块)建立 TCP connect的时候,模块会首先send一串Coding给软件,这样软件就可以知道是哪
个模块在和自己通讯。这串Coding就是Register包。
Register包非常适合于物联网的监控,因为云端软件一般运行在 Internet 的公网 服务器上,而模块分散在各个采集、监控点。如何让云端软件识别模块是非常
重要的,是实现物联网通讯所必须的。
上海卓岚的串口服务器提供以下多种Register报方式。
8.1.1. connect上send MAC address
connect上send MAC address:这种方式不仅对于 4 型号(比如 5143),普通的型 号也同样支持。它的方法是当模块connect上云端的时候将自己的 mac addresssend到 云端。由于 MAC address是唯一的,所以可以唯一识别设备。这种方法简单,且无 需对每A device进行Register包编写,所以是简单且effective的。使用方法是:在设备设 置对话框中点击“More高级选项 ”,在中上部找到“TCP 建立时send MAC address ”,
在前面打勾,然后回到设置界面,点击“修改设置 ”。

图 32 connect上send MAC address
8.1.2. Realcom 协议
Realcom 协议是一种含有Register包和心跳包的成熟协议,用户可以使用这个协 议来实现Register包和心跳包Function。Enable Realcom 协议的方法是:在“设备设置 ” 对话框中将“转化协议 ”选择为“REAL_COM 协议 ”,注意其中EnableRegister包部
分需要空白,不勾选。

图 33 Enable realcom 协议
Enable Realcom协议之后将不是透明传输通讯,它有如下的特点:
1. 当设备和云端建立 TCP connect后,设备自动send一个hexadecimalRegister包 FA 07 13 02 FA 02 MAC[5] MAC[4] MAC[3] MAC[2] MAC[1] MAC[0] FAFF 。其中的 MAC[5]~MAC[0]是设备的 MAC address。
2. 设备向网络senddata的时候会自动增加 FA 01 01 的 3 个byte的头部前缀。 3. 每隔保活定时time,设备向软件send一个 00 的 1 byte的心跳包。
REAL_COM 协议由于Register包内部含有了 MAC address,可以用于作为设备的注 册包。但是由于它format固定,所以只能云端软件来设计 REALCOM 协议来兼容 这种方式。
8.1.3. CustomizationRegister包
CustomizationRegister包方式是用户可以填写一个任意的Register包format。方法是:在设备
设置界面,配置如下:

图 34 设置Register包
和 REAL_COM 协议的差别是,这里Enable了Register包,并填写了 31 32 33 34 这样的Register包信息。注意这里是hexadecimal,也就是实际上发的data是字符串
1234 。如果需要字符串显示,则点击旁边的“ASCII ”选项。
当设备和云端软件connect后可以自动send 31 32 33 34 的hexadecimalRegister包。这 种Register包方式比较灵活,可以让设备去适应现有的云端Register包format;但是Register 包内没有 MAC 这样的通配符,需要为每A device单独配置不同的Register包,较为繁 琐。上面send MAC address和 REALCOM 两种方法每A device配置是一样的,但是
由于 MAC 不同Register包自然不同。
最长Register包Length为 33 byte。该方式支持 UDP 模式的Register包和心跳包。
8.1.4. 配置文件
卓岚的 5143 系列支持串口服务器写一个配置文件,从而实现用户完全自定 义的Register包,并且可以使用 MAC address通配符,可以解决为每A device写Customization注
册包的麻烦,且对Register包Length没有限制。
心跳包主要用于检测通讯链路是否断开。实现的方法是每隔一段time设备向 服务器软件send一个心跳包data,这个data被服务器收到后会抛弃,不会当作
通讯effectivedata。
心跳包主要有两个作用:首先可以让上位机软件知道设备处于活动状态;其 次设备在send心跳时如果send失败,则处于 TCP 客户端equipment会自动重新建立
TCP connect,所以它是一个恢复网络通信的一个手段。

图 35 保活定时time
如图 35 所示,心跳包的sendtime是通过“保活定时time ”来设置的。
8.2.1. 隐含心跳
即使不设置任何的心跳包,卓岚设备处于 TCP 客户端的时候也会Enable隐含 心跳Function。所以隐含心跳Function是指设备有senddata,但是服务器实际收不到心
跳data。所以它无法起到心跳包的第一个Function,即服务器检测设备活动与否的 Function;但是由于设备实际有senddata,所以可以起到心跳包的第二个Function,即 起到设备检测 TCP connect是否正常的Function,一旦检测断线仍然可以自动重新建立 TCP connect。
8.2.2. REALCOM 协议
如 8.1.2Realcom 协议所述,REALCOM 协议可以在每隔保活定时timesend一
个 00 的 1 bytedata,这个data就是 realcom 协议的心跳包。
8.2.3. Customization心跳包
首先按照 8.1.3 CustomizationRegister包的方法填写Register包。然后按照如下的方法增加 心跳包:点击设备设置的“More高级选项 ”button,在多目的 IP 和端口的第二行,
写上 16 进制的心跳包,并将右边的选项改为“参数包目的 ”。

图 36 CustomizationRegister包
注意Register包和心跳包总和要小于 33 byte。第一行实际就是Register包。
该Function是用于将串口服务器的上发data直接发给基于web 架构的服务器程 序,这样可以简化云端的软件开发工作量。
当物联网采集终端和web 服务器(httpd 程序)进行交互的时候,如果能够 将data按照 http 的 GET 和 POST 指令的规范format提交给web 服务器,那么 web 服务器就可以使用现有的 php/asp 语言对data进行处理和存储。这样就省去了用 户再开发web 应用程序接口的工作量。
为了支持这个Function需要在卓岚串口服务器内Download一个 httpd.txt 的配置文件。 Download可以使用 zlvircom 的Firmware updateFunction来实现。
卓岚 httpd 客户端通讯Function的特点包括:
1. 设备上发:支持以 GET/POST 方式直接将serial data 转化为 http 的format,能够
被服务器直接识别。
2. Web 服务器下发:Web 服务器也可以通过 GET/POST 指令将所需要的data发 送给串口服务器,其中的effectivedata内容可以从串口服务器的串口输出。当串 口服务器收到data后,也可以给 Web 服务器一个特定的应答,表明data收到。
3. 支持输入输出data在hexadecimal和字符串之间的任意转化,方便 Web 服务器以
字符方式下发data,而串口以hexadecimaldata输出来控制串口设备。
详细信息可以参考《卓岚 httpd 客户端通信方式》Document。
关 于 MQTT 网 关 功 能 的 使 用 请 参 考 《 MQTT 网 关 的 使 用 方 法 》 http://www.zlmcu.com/document/Usage_of_MQTT_Gateway.html 。 《卓岚 MQTT 和 JSON 转 Modbus 网 关 用 法 》
http://www.zlmcu.com/document/MQTT&JSON_to_Modbus.html;
关于 JSON 转 Modbus RTU 和Related JSON 用法,请参考《JSON Data Acquisition网 关》http://www.zlmcu.com/document/jsondata.html;《卓岚云与采集设备的使用》 http://www.zlmcu.com/document/zlancloud.html;《645 仪表以 JSON format上发方 法》http://www.zlmcu.com/document/645_Instrument_JSON.html; 《卓岚 MQTT 和 JSON 转 Modbus 网 关 用 法 》
http://www.zlmcu.com/document/MQTT&JSON_to_Modbus.html;
关于 NTP time的获取和使用方法请参考: 《卓岚 NTP time模块用法》
http://www.zlmcu.com/document/zlan_NTP.html。
网口修改参数是实现 zlvircom 软件那样Search设备、修改设备参数的Function,即 通过串口服务器的网口来管理设备和修改参数。适合于将Search和配置Function集成
到用户软件内部的用户。
网口修改参数是通过“UDP 管理端口协议 ”来实现的,比如:
1. 计算机软件在网络中send目的端口为 1092 的 UDP 广播data包。当设备收到
该data包后会将自己的信息返回给计算机软件,达到Search设备的目的。
2. 计算机软件向设备的 1092 端口send UDP 修改参数命令,达到修改设备参数
的目的。
网口修改参数的详细介绍可以参考《卓岚联网产品 UDP 管理端口协议》文
档。也可以直接使用 14 设备管理函数库equipment管理函数库来实现。
该Function是是适合于需要将设备管理Function集成到用户自己软件中的用户使用
的。
所述的“UDP 管理端口协议 ”已经集成在设备管理函数库 ZLDevManage 里 面了。这是一个 DLL 的 windows 平台的开发库,可以被 VC 、VB 、Delphi 等各 种开发Tools调用。
提供有详细的 API 接口介绍Document和 VC 调用 Demo案例。可以实现设备的搜
索、参数修改、P2P Function调用等。
可以从卓岚官网获得开发库:在 http://zlmcu.com/download.htm页面寻找“设 备管理函数库 ”。详细可以参考《卓岚 WinP2p 和设备管理开发库》
用户可以通过向串口服务器的串口send指令的方式读取参数、设置参数。适 合于选择芯片或者模块级别的产品通过串口控制和配置的用户。可以设置的参 数包括:IP address、Baud rate、Device Name、工作模式等。新的参数设置完毕后可以 通过串口指令重启串口服务器。
卓岚串口指令有如下的特点:
1. 串口指令采用 10 个byte的data前导码,所以无需通过另外的配置引脚的拉 低拉高来区分是通讯data还是命令,也无需进行命令模式和通讯模式的切
换,使用更加灵活方便。
2. 命令集包含有保存参数、不保存参数、重启设备等多种命令format。
3. 可以实现多种应用,比如读取串口服务器的 MAC address,比如修改串口服务 器的工作模式当从 TCP 服务器Switch到 TCP 客户端模式时,可以主动connect服 务器;当从 TCP 客户端Switch到 TCP 服务器时可以断开和服务器的connect。
串口修改参数的详细Operation方法请参考:《串口修改参数及硬件 TCPIP 协议栈》
所谓远程设备管理是指通过 ZLVircom软件能够对设备进行维护和管理,包 括重启设备、修改参数、升级固件。该Function适合于通过 ZLVircom进行设备管理
的用户。
对于 ZLVircom 软件,只要能够在设备列表中找到这A device就可以进行远程
管理。对设备的远程管理分为如下几种情况:
1. 自动Search:设备和计算机同一个交换机下,此时无论是否在同一个网段,计 算机上的 ZLVircomSearch设备方式是:ZLVircom send广播查询所有equipment 收到查询后都将自己的参数回复给 ZLVircom Tools。此方法一次性Search所有
equipment。

图 37 自动Search
2. 手动添加:分为两种情况:

图 38 手动添加
a) 大型路由器分割网络:在一些大型网络中,广播包被路由器所分割,从 而广播包无法到达设备端,但是 ping 设备 IP 都是通的。此时一般需要 手动添加来解决。手动添加的方法是在“设备管理 ”对话框中点击“手
动添加 ”添加首尾 IP 即可对设备进行逐一的查询。
b) 公网服务器查询内网设备:串口服务器在内部网络且作为 TCP 服务器模 式,zlvircom 在公网 IP 的服务器上。此时需要在设备所在的网络的路由 器上做一个 1092 的 UDP 的端口映射,映射到设备所在的 IP ,然后 zlvircom 手动添加这A device,IP 是设备端的公网 IP。
3. TCP 客户端:设备作为 TCP 客户端的时候,会向目的 IP(116.15.2.3)的 4196 端口发起 TCP connect。等connect建立后会自动每个保活定时time向目的端口(这 里是 4196)的 UDP 端口(注意不是 TCP 端口)send自己的参数system,从而 能够让 zlvircom 在这台计算机(116.15.2.3)上能够Search到设备。如果目的端 口不是 4196 则需要修改 zlvircom 的默认参数receive端口,方法是修改菜单/配 置/软件配置/默认监听端口,之后启动 zlvircom 如果弹出 TCP 端口冲突则不
用理会继续执行。

图 39 客户端
4. 定时send参数:即使处于 TCP 服务器方式的串口服务器,也可以勾选“定时 send参数 ”Function,将每隔 5 分钟将参数send到目的 IP(这里是 116.15.2.3) 的目的端口。在这个服务器的这个端口receive参数的 zlvircom 可以管理这些设 备。

图 40 定时send参数
为了方便识别设备,如果需要进行远程管理的时候,请将设备起一个容易记 住的名字。
ZLAN5143D 可以升级各自的程序,但是不能够相互升级程序。无论是自动 Search、手动添加还是 P2P Search等方式在设备列表中找到equipment,都可以用此方
法进行升级固件。
1 从卓岚获得 ZLSN2003 的固件文件,比如 1.539(2003).BIN。
2 在 ZLVircom Tools中,先Search到这个需要升级equipment,然后进入设备参数编
辑对话框。首先点击一次“重启设备 ”。

图 41 升级button
设备重启后,用同样的方法再Search到这A device,再次进入这个对话框。在对话
框的右下角点击“升级固件 ”button。

图 42 升级button
3 如图 44 所示,选择“程序文件Download ”单选项。在程序文件中,选择固件文 件。串口服务器的 IP address部分已经自动填写好,无需再写入,模块Type/型 号已经自动选择好。然后点击Download。
上海卓岚信息科技有限公司

图 43 ZLSN2003 Firmware update方法
4 此时Downloadprogress bar开始走动,Downloadtime大概 30 秒左右。Download过程中会看到设 备的 ACT 灯闪烁,在Download的末尾时刻,看到 LINK 灯闪烁几下。然后程序 弹出“传输完毕 LINK 灯闪烁器件不要断电 ”的提示框。注意:这里只是传 输完毕,写入 flash 过程需要 3 秒左右,此时 LINK 灯会闪烁,在这个期间 请不要断电。
5 Download完毕后一般程序会自动重新启动,一般无需断电。看到运行指示灯闪烁,
如果没有自动重新启动,请 LINK 灯闪烁停止 30 秒以上,重新上电。
6 Web 配置界面更新:Firmware update后模块内部的配置网页也需要更新,否则无法 再通过 Web 配置,但是不影响通讯。无需web 配置的也可以不Download网页。 Download Web 的方法是:如图 44 所示,将“程序文件 ”Download模式改为“ 网页目 录Download ”。并且选择本地网页所在根目录为需要Download的网页文件所在目录(该 目录可以从卓岚获得),点击Download,将本地网页目录下的所有文件Download到设
备内部的文件system上。
上海卓岚信息科技有限公司

图 44 ZLSN2003 web 升级方法
7 注意:
7. 1 如果提示Download失败,并不会损坏器件,请重新开始Download即可。另外Download 末尾,LINK 灯闪烁时,请勿断电,否则器件将会损坏。
7.2 通过 ZLVircom View固件版本号,可以知道新的 firmware 是否已经Download 成功。

图 45 级完毕后View固件版本
发表回复