ZLAN5200/5240 串口服务器用户手册 2 串口 RS232/485/422 转 TCP/IP 转化器 Modbus 网关 版权 2008 上海卓岚信息科技有限公司保留所有权力 ZL DUI 20111205.1.0
版权 2008 上海卓岚信息科技有限公司保留所有权力 版本信息 对该文档有如下的修改 : 修改记录 日期 版本号 文档编号 修改内容 2011-12-5 Rev.1 ZL DUI 20111205.1.0 发布版本 2018-5-12 Rev.2 ZL DUI 20111205.1.0 修改版本 所有权信息未经版权所有者同意, 不得将本文档的全部或者部分以纸面或者电子文档的形式重新发布 本文档只用于辅助读者使用产品, 上海卓岚公司不对使用该文档中的信息而引起的损失或者错误负责 本文档描述的产品和文本正在不断地开发和完善中 上海卓岚信息科技有限公司有权利在未通知用户的情况下修改本文档
目录 1. 概述... 5 2. 功能特点... 7 2.1. 硬件特点... 7 2.2. 软件特点... 8 6. 技术参数... 8 7. 硬件说明... 9 8. 级联方法... 13 9. 使用方法... 14 1.1 软件安装... 14 1.2 参数配置... 14 1.3 TCP 通讯测试... 20 1.4 虚拟串口测试... 22 1.5 Modbus TCP 测试... 25 3. 工作模式和转化协议... 26 3.1. 虚拟串口模式... 28 3.2. 直接 TCP/IP 通讯模式... 28 3.3. 设备对联方式... 30 4. 设备调试... 32 4.1. 网络物理连接... 32 4.2. 网络 TCP 连接... 32 4.3. 数据发送和接收... 33 4.4. ZLVircom 远程监视数据... 33 5. MODBUS 高级功能... 34 5.1. 启用 Modbus 网关... 35 5.2. 多主机功能... 35 5.3. 多主机参数... 36 5.4. 存储型和非存储型... 37 6. 网口修改参数... 37
7. 设备管理函数库... 38 8. 串口修改参数... 38 9. 远程设备管理... 39 10. 尺寸... 41 11. 售后服务和技术支持... 41
1. 概述 ZLAN5200 串口服务器是上海卓岚信息科技有限公司开发的一款 2 串口 RS232/485/422 和 TCP/IP 之间协议转化器 ZLAN5240 子型号支持 Modbus TCP 转 Modbus RTU 功能 ZLAN5200 支持 2 个 RS232 串口 2 个 RS422/485 串口, 通过一根网线连接到 ZLAN5200, 实现 2 个串口同时全双工工作 其中 RS485 接口是绿色接线端子接口,RS232/RS485 为 RJ45 网口接线接口 另外 5200 提供有额外以太网接口一个, 可作为交换机或者级联使用 ZLAN5200 支持通过级联网口扩展为 4 串口 6 串口 8 串口 5200 提供电源插座和接线端子 2 种电源接入方式, 宽电压范围, 且提供外壳地接线保护 图 1 ZLAN5200 串口服务器该串口服务器可以方便地使得串口设备连接到以太网和 Internet, 实现串口设备的网络化升级 为了方便连接 DB9 的 RS232, 卓岚可配备 RJ45 转 DB9 线,2 根此类线接上
2 个 RJ45 的 RS232 接口可以引出 2 个 DB9 公头 RS232 接头 图 2 RS232 转接线配件 ZLAN5200 RS232 接口支持全双工 不间断通信 ;RS485 内嵌 485 防雷保护 支持 DHCP DNS, 可轻松实现异地远程设备监控 支持虚拟串口, 原有串口 PC 端软件无需修改 可应用于 : 电力电子 智能仪表和能耗监控 ; 作为物联网网关作为设备和云端的通讯桥梁 ; 各类自动化 PLC 的远程监控和程序下载 ; 各类组态软件和设备通讯接口 ; 门禁安防领域设备联网 ; 医疗设备的联网信息采集 ; 典型应用连接如图 3 所示 原有的串口设备和 ZLAN5200 连接, 然后通过网线将 ZLAN5200 连接到网络中 此后串口设备发送的任何数据将透明地传送到 ZLAN5200 指定的 PC 机上, 而 PC 机通过网络发送给 ZLAN5200 的数据也透
明的传送给串口设备 图 3 连接示意图 2. 功能特点 2.1. 硬件特点 1. 2 个串口都支持 RS232 RS485 RS422 三种串口 (RS422 需要订购 5200-422 型号 ) 2. 2 个串口可独立全双工工作, 互不干扰, 可配置为不同的波特率 3. 支持 2 个网口的网络交换机功能, 同时可当交换机使用
4. 丰富的指示灯, 每个串口有独立的 TCP 连接指示灯和数据活动指示灯 5. 上海卓岚专利产品, 技术领先 专利号 ZL 2014 2 0108890.3 2.2. 软件特点 1. 支持 TCP 服务端 TCP 客户端,UDP 模式,UDP 组播 作为 TCP 服务器支持 10 个 TCP 连接 2. 波特率支持 1200~460800bps, 数据位支持 5~9 位, 校验位可以为无校验 奇校验 偶校验 标记 空格五种方式, 支持 CTS/RTS 硬件流控和 XON/XOFF 软流控 3. 支持设备连接上发送 MAC 地址功能, 方便云端管理设备 4. 提供计算机端搜索 配置设备的二次开发包 DLL 开发库 5. 支持 DHCP 动态获得 IP DNS 协议连接域名服务器地址 6. 支持云端远程搜索设备 配置设备参数 7. 支持远程通过软件查看设备的 TCP 连接状态 虚拟串口支持数据监视功能 8. 5240 支持 Modbus 网关功能, 支持 Modbus RTU 转 Modbus TCP 9. 5240 支持多主机功能 : 在一问一答的查询方式下, 支持网口端允许有多台计算机同时访问同一个串口设备 6. 技术参数 外形 接口 : 电源 : 尺寸 : 通信界面以太网 : 485: 接线端子 ;232:RJ45( 可配 RJ45 转 DB9 线 );422:RJ45 5.5mm, 内正外负, 标准电源插座 ; 接线端子 L x W x H =9.4cm 6.5cm 2.5cm 2 个 10M/100M 接口, 可任意连接一个,2 KV 级浪涌保护 串口 : RS232/485/422 2:RXD,TXD,GND, CTS,RTS 串口参数波特率 : 1200~460800bps 验位 : None, 奇校验, 偶校验, Mark, Space 数据位 : 5~9 位 流控 : RTS/CTS,NONE
软件 协议 : 配置方式 : ETHERNET IP TCP UDP HTTP ARP ICMP DHCP DNS ZLVirCOM 工具 设备管理函数库 通信方式 : Socket 虚拟串口 设备管理函数库工作模式 TCP server, TCP client, UDP 电源要求电源 : 9~24V DC,2~4W 环境要求操作温度 : -40~85 储存温度 : -45~165 湿度范围 : 5~95% 相对湿度 7. 硬件说明 ZLAN5200 串口服务器的正视图如图 4 所示 :ZLAN5200 采用黑色抗辐射 SECC 板 左右备有两个 耳朵, 以方便安装 尺寸 : 长 宽 高 =9.4cm 6.5cm 2.5cm 面板灯 : 1.ACT:ACT 灯亮时表明有数据正常地在以太网和 RS232/485/422 之间传输, 没有数据通信时,ACT 灯不亮 2.LINK:LINK 灯表明网线连接正常且 TCP 连接已经建立或处于 UDP 模式 3.POWER: 表明串口服务器已经上电 4.NET: 表示 Ethernet1 网口的网线已经连接好
图 4 5200 正视图 图 5 RS485 接口和电源接口串口服务器前面板如图 5 所示 : 1. 电源插座可以采用标准插头 5.5mm( 内芯为正极 ), 电压 9~24VDC 2.485 接线端子可以连接用户 485 的正负线 每个 ZLAN5200 可以带 32 个终端 485 设备 最长通信距离 1200 米 485 终端电阻为 120 欧姆, 一般
在超过 300 米的布线的时候才有必须使用终端电阻 注意布线时,485+ 和 485- 必须是一对绞在一起的双绞线, 以减少信号干扰 串口服务器背面板如图 6 所示 : 图 6 5200 的两路网口和两路 232 从左至右 :RJ1 口为 Ethernet1 网口,RJ2 口为 Ethernet2 网口,RJ3 口为串口 2, RJ4 口为串口 1 3.RS232 采用 RJ45 方式, 卓岚提供有定制的 RJ45 转 DB9 转接线, 可转为 DB9 公头 ( 针 ) 接口 RJ45 转 DB9 线关系表 : 表 1 网口序号 串口序号
1 6 8 2 2 3 3 4 4 7 5 5 5200 的 RJ45 网口线序如表 : 表 2 序号 名称 功能 2 RXD 串口服务器接收引脚 3 TXD 串口服务器发送引脚 5 GND 地线 1 RTS 流控使能后, 该引脚为 0 时串口服务器将接受串口设备的数据 4 CTS 流控使能后, 该引脚为 0 时串口服务器才发送数据给串口设备 2.RS422 采用 RJ45 接出 ( 注意默认情况下 422 接口没有开通, 购买前请说 明需要 422 功能 ),RJ45 网口线序如表 3: 表 3 序号 ZLAN5200 的 422 线 与用户 RS422 对应连接线 6 T/R+ R+ 7 T/R- R- 8 R+ T+ 4 R- T- 1. 电源 : 可以采用标准的电源适配器 (5.5mm 内芯为正极 ) 或者电源接线 柱 供电电压可以为 9~24V 供电电流要求大于 500mA 2. 网口 : a) Ethernet1 普通网口 : 用户通过该网口将 ZLAN5200 连接到交换机 集线器或者直接连到计算机网卡 b) Ethernet2 级联网口 : 和 Ethernet1 属一个以太网内, 用于 ZLAN5200 的级联或者接其他网络设备, 参考本文档级联部分的说明 c) POE 供电 : 通过普通 RJ45 网口的引脚 5(GND) 和引脚 8(VCC) 两根线可以给 ZLAN5200 供电, 供电电压为 9~24V 之间的任何值
RJ45 网线线序参考图 7 默认情况,POE 供电功能被禁用, 需要此功能请与卓岚联系 图 7 网线线序 8. 级联方法 1. ZLAN5200 支持级联, 这使得 ZLAN5200 可以方便地扩展为 4 口 6 口 8 口转换器 工程改造 升级更加方便 2. 级联时, 从上一级 ZLSN5200 的级联网口 (Uplink RJ45) 使用厂家配备的级联网线 ( 实际为较短的平行网线 ) 连接到下一级 ZLSN5200 的普通网口 (RJ45) 该级联步骤可以不断进行, 最多扩展 8 级 3. 默认情况下每级 ZLSN5200 都需要供电 若需要通过级联网线供电, 则需要厂家定制 图 8 ZLAN5200 级联方法
9. 使用方法 1.1 软件安装 ZLVircom 可用于设备 IP 等参数的配置, 以及创建虚拟串口 如果无需虚拟串口功能, 则可以下载免安装版本 下载地址 : http://www.zlmcu.com/download.htm 表 1 ZLVircom 版本 软件名称 ZLVircom 设备管理工具 ( 非安装版 ) 说明 非安装版不含虚拟串口功能 ZLVircom- 设备管理工具 ( 安装版 ) 安装版, 内部含有 ZLVircom_x64.msi 和 ZLVircom_x86.msi 64 位操作系统安装 x64, 32 位操作系统安装 x86 版本 安装时按照默认提示安装即可 安装完毕后会在每次计算机启动时启动 zlvircom, 用于开机创建虚拟串口 1.2 参数配置 ZLVircom 安装完毕后, 设备硬件连接也完毕后, 运行 ZLvircom 软件如图 9 所示, 然后点击 设备管理 如图 10 所示 使用 ZLVircom 可以在不同的网段内搜索和配置设备参数, 非常方便, 只要设备和运行 ZLVircom 的计算机在同一个交换机下就可以
图 9 ZLVircom 主界面 图 10 设备列表 从设备列表中看到当前所有在线的设备 点击 编辑设备 进行参数的配置
图 11 设备参数在这个界面中, 用户可以设定设备的参数, 然后点击 修改设置, 则参数被设置到设备的 flash 中, 掉电不丢失 同时设备会自动重启 这里主要配置的参数有 : 串口设置中的波特率 数据位 校验位 ; 网络设置中的 IP 地址 子网掩码 网关 ; 有的时候根据计算机软件, 还需要配置串口服务器的工作模式 其它参数详细含义如下 : 表 2 参数含义参数名取值范围含义 虚拟串口 设备型号 不使用 创建的虚拟串 口 可以将当前设备与某个已创建的虚拟串口绑定 请先在主界面的 串口管理 添加 COM 口 只显示核心模块的型号 设备名称任意可以给设备起一个易读的名字, 最长为 9 个字 节, 支持中文名字 设备 ID 固件版本该设备支持的功能 出厂唯一 ID, 不可修改 核心模块的固件版本 参考表 3 设备支持的功能
IP 模式静态 DHCP 用户可以选择静态或 DHCP( 动态获取 IP) IP 地址 串口服务器的 IP 地址 端口 0~65535 串口服务器处于 TCP Server 或 UDP 模式时的监听端口 作为客户端时, 最好指定端口为 0 端口, 有利于提高连接速度, 当使用 0 端口时系统将随机分配一个本地端口 此时和非零端口的区别是 :(1) 本地端口为 0 时, 模块重启时和 PC 机重新建立一个新的 TCP 连接, 老的 TCP 连接可能不会被关闭, 和设备可能存在多个假连接 一般上位机希望在模块重启时关闭老的连接 ; 指定非零端口会关闭老连接 (2) 本地端口为 0 时, TCP 重新建立连接的时间较快 串口服务器处于 TCP 客户端模式时, 同时作为 TCP 服务器在端口监听连接 同时 TCP 客户端连接到服务器所使用的本地端口号是 端口 +1 工作模式 TCP 服务器模式 TCP 客户端模式 UDP 模式 UDP 组播 设置为 TCP 服务器时, 串口服务器等待计算机 连接 ; 设置为 TCP 客户端时, 串口服务器主动 向目的 IP 指定的网络服务器发起连接 子网掩码例如 :255.255.255.0 必须与本地局域网的子网掩码相同 网关比如 :192.168.1.1 必须与本地局域网网关相同 目的 IP 或域名目的端口波特率 1200 2400 4800 7200 9600 14400 19200 28800 38400 57600 76800 115200 230400 460800 在 TCP 客户端或 UDP 模式下, 数据将发往目的 IP 或域名指示的计算机 在 TCP 客户端或 UDP 模式下, 数据将发往目的 IP 的目的端口 串口波特率 数据位 5 6 7 8 9 校验位无 偶 奇 标记 空
格 停止位 1 2 流控 DNS 服务器 无流控 硬流控 CTS/RTS 硬流控 DTR/DCR 软流控 XON/XOFF 仅对 RS232 串口有效当目的 IP 以域名描述时, 需要填写这个 DNS 服务器 IP 在 IP 模式为 DHCP 时, 不用指定 DNS 服务器, 它将会自动从 DHCP 服务器获取 目的模式静态 动态 TCP 客户端模式下 : 使用静态目的模式后, 设备 连接服务器连续 5 次失败后会自动重启设备 转化协议 NONE Modbus TCP<->RTU Real_COM NONE 表示串口到网络的数据转发是透明的 ; Modbus TCP<->RTU 将会把 Modbus TCP 协议直接转化为 RTU 协议, 方便与 Modbus TCP 协议配合 ;RealCOM 是为了兼容老版本 REAL_COM 协议而设计的, 是虚拟串口方式的一种协议, 但是使用虚拟串口时, 并不一定需要选择 RealCom 协议 保活定时时间 0~255 心跳间隔 (1) 选择为 1~255 时, 如果设备处于 TCP 客户端工作模式, 则会自动每隔 保活定时时间 发送 TCP 心跳 这可以保证链路的 TCP 有效性 设置为 0 时, 将无 TCP 心跳 (2) 设置为 0 ~ 254 时, 当转化协议选择为 REAL_COM 协议时, 每隔保活定时时间, 设备将会发送一个长度为 1 内容为 0 的数据, 实现 Realcom 协议中的心跳机制 设置为 255 时将无 realcom 心跳 (3) 设置为 0~254 时, 如果设备工作于 TCP 客户端, 设备将每隔保活定时时间将发送设备参数到目的计算机 设置为 255 时将无参数发送功能, 可以实现远程设备管理 断线重连时间 0~255 处于 TCP 客户端模式时, 当未连接成功时, 每
个 断线重连时间 向计算机重新发起 TCP 连接 可以为 0~254 秒, 如果设置 255, 则表示永远不进行重连 注意第一次 TCP 连接 ( 比如硬件上电 通过 zlvircom 软件重启设备 无数据灯是 ) 一般会马上进行, 只有第一次连接失败后才会等待 断线重连时间 后重新尝试, 所以 断线重连时间 不会影响网络和服务器正常情况下的连接建立时间 网页访问端口 1~65535 默认是 80 所在组播地址 启用注册包 UDP 组播时用到当 TCP 连接建立时, 向计算机发送该注册包 启用注册包之后必须选择 realcom 协议 支持 TCP 服务器和 TCP 客户端方式 数据包长度 1~1400 串口分帧规则之一 串口服务器串口在收到该长度数据后, 将已接收数据作为一帧发送到网络上 数据包间隔 0~255 串口分帧规则之二 当串口服务器串口接收的数据出现停顿, 且停顿时间大于该时间时, 将已接 设备支持的功能解释如下 : 收的数据作为一帧发送到网络上 表 3 设备支持的功能 名称 网页下载 说明 支持通过网页来控制串口输出指令, 只有尾缀为 W 的产品有该 功能 域名系统目的 IP 可以为域名 ( 比如开头的 www 服务器地址 ) REAL_COM 协议 Modbus TCP 转 RTU 一种非透传的串口服务器协议, 适合于多串口服务器通过 Internet 进行虚拟串口的绑定 因为协议内部含有设备 MAC 地址所以有助于上位机识别设备 一般情况下可以不使用 5G40 型号不支持 只有型号第 3 位为 4 的支持该功能 可以实现 Modbus TCP 转
RTU 同时也支持多主机功能 串口修改参数自动获取 IP 存储扩展 EX 功能多 TCP 连接 IO 端口控制 UDP 组播 支持串口类 AT 指令进行设备参数的配置和读取 支持 DHCP 客户端协议后续扩展作为 TCP 服务器的时候支持多于 1 个 TCP 连接 型号第 3 位为 4 的型号支持任意自定义指令来控制 8 个 IO 输出 UDP 组播 多目的 IP 作为 TCP 客户端的时候支持同时连接 7 个目的 IP 代理服务器支持代理服务器功能 ( 需要特定型号 ) SNMP 功能 P2P 功能 支持 SNMP 转 Modbus RTU 协议 只有尾缀为 -SNMP 的才支持该功能 支持通过 P2P 穿越技术实现对任意网络中的设备的访问的功能 尾缀为 N 的型号支持该功能 1.3 TCP 通讯测试 在配置完设备参数后, 可以用串口工具 TCP 调试工具进行 TCP 连接通讯测试 图 12 TCP 通讯示意图假设现在 PC 机的 COM 口 (USB 转 RS232 线 ) 和串口服务器的串口连接, 那么打开 ZLComDebug(http://www.zlmcu.com/download/Comdebug.rar) 串口调试助手, 并打开对应 COM 口图 13; 打开 TCP&UDP 调试助手 SocketTest (http://www.zlmcu.com/download/sockettest.rar), 并作为 TCP 客户端方式, 填
写目的 IP 为串口服务器的 IP( 目前为 192.168.1.200), 目的端口为 4196, 然后点击 打开 按钮图 14 在 SocketTest 中输入 socket send 点击发送, 则数据通过串口服务器的网口转到 RS232 接口, 然后再发送到 ZLComDebug, 接着在 ZLComDebug 中显示出来 ; 反过来, 在 ZLComDebug 中输入 Comdebug send, 点击发送也可以发送到 socket test, 并显示出来 该演示演示了, 串口服务器的串口转网口 网口转串口数据透明转发功能 图 13 comdebug 收发界面
图 14 sockettest 收发界面 1.4 虚拟串口测试图 12 中的 SocketTest 是通过 TCP 和串口服务器直接通信的, 为了能够让用户已有开发好的串口软件也能和串口服务器通讯, 需要在用户程序和串口服务器之间增加一个虚拟串口 如图 15 所示,ZLVircom 和用户程序在一台计算机上运行,ZLVircom 虚拟一个 COM 口, 让这个 COM 口对应这个串口服务器 当用户程序打开 COM 通讯时可以通过 ZLVircom 串口服务器 发到用户串口设备 下面演示这个操作步骤 : 图 15 虚拟串口的作用
点击 ZLVircom 主界面的 串口管理, 然后点击 添加, 选择添加 COM5, 其中 COM5 是计算机原来不存在的 COM 口 图 16 添加虚拟串口然后进入设备管理, 并双击需要和 COM5 绑定的设备 如图 11 所示, 在左上角的 虚拟串口 列表中选择 COM5 然后点击 修改设置 并返回 ZLVircom 的主界面 可以看到 COM5 已经和 IP 为 192.168.1.200 的设备联通了 此时可以使用 COM5 代替 SocketTest 进行通信
图 17 虚拟串口已经联通打开 ZLComdebug 来模拟用户的串口程序, 打开 COM5( 上面的虚拟串口 ), 另外再打开一个 ZLComdebug 来模拟一个串口设备, 打开 COM4( 硬件串口 ) 此时 COM5 发送数据链路如下 :COM5 ZLVircom 串口服务器网口 串口服务器串口 COM4 反之,COM4 到 COM5 也能传输数据 :COM4 串口服务器串口 串口服务器网口 ZLVircom COM5 如图 18 所示双方发送和接收数据情况 如果将 COM4 换为用户串口设备, 则 COM5 可以实现和用户设备的通讯
图 18 通过虚拟串口通信 1.5 Modbus TCP 测试默认情况下, 串口和网口数据是透明传输的 如果需要实现 Modbus TCP 转 RTU, 则需要在设备设置对话框中, 将转化协议选择为 Modbus TCP RTU, 如图 19 所示 此时设备端口自动变为 502, 此时用户的 Modbus TCP 工具连接上串口服务器的 IP 的 502 端口, 发送的 Modbus TCP 指令将会转化为 RTU 指令从串口输出 比如串口服务器网口收到 00 00 00 00 00 06 01 03 00 00 0a 的 Modbus TCP 指令, 则串口输出 01 03 00 00 00 0a c5 cd 的指令 注意 : 串口可能会发送多条 01 03 00 00 00 0a c5 cd 指令, 这是因为默认的 Modbus 采用存储型方式, 会自动轮训查询指令 后面会讲解如何切换到非存储型方式
图 19 启用 Modbus TCP 功能如果用户的 Modbus TCP 软件是作为从站 (Slave), 则需要在选择转化协议基础上, 再将工作模式改为客户端, 目的 IP 改为 Modbus TCP 软件所在计算机 IP, 目的端口为 502, 如图 20 所示 图 20 Modbus TCP 做客户端 3. 工作模式和转化协议在不同的应用场合可以选择的不同的串口服务器工作模式 转化协议, 从而能够更加稳定可靠的使用, 下面详细介绍 串口服务器的使用基本分为两种 : 带虚拟串口和非虚拟串口, 分别如图 12 TCP 通讯示意图和图 15 虚拟串口的作用所示 带虚拟串口方式需要对接的用户软件是串口接口的 (COM 口 ), 即用户软件和用户设备都是串口 ; 非虚拟串口的方式用户软件是直接 TCP/IP 通讯的但是用户设备仍然是串口的 在非虚拟串口方式时, 在 转化协议部分 又分为透明传输 Modbus TCP 转 RTU 和 Realcom 协议 3 种方式 如果用户软件是固定协议的 Modbus TCP 协
议而下位机是 Modbus RTU 时, 需要选择 Modbus TCP 转 RTU 方式 ;Realcom 协议目前只在多串口服务器作为 TCP 客户端连接某个服务器, 且服务器上使用虚拟串口的时候用 用法汇总如下 : 表 4 网络配置模式 编号 虚拟串口 设备工作模 转化协议 说明 使用 式 1 使用 TCP 服务器 无 适合于用户软件打开 COM 口主动采集数据的场合 2 使用 TCP 客户端 无 适合于设备主动上发数据的场合, 如果选择 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 客户端 无 适用于设备数量众多, 连接一个云端的方式 且一般情况下云端是在 Internet 上的一个公网 IP 的服务器 7 不使用 TCP 服务器 无 适用于设备和计算机都在同一个本地网络, 在本地进行监控, 无需跨 Internet 通讯
3.1. 虚拟串口模式如果用户软件是使用 COM 口进行通讯的, 则必定需要使用虚拟串口模式 包括一些 PLC 软件 组态软件 仪表软件等 再看监控计算机和设备是否都在本地网络 : a) 如果计算机是在 Internet 上租赁的一台公网 IP 的服务器, 那么设备必然要使用 TCP 客户端方式, 让设备连接服务器 此时可以选择表 4 中的 2 和 5, 如果是多串口服务器的则必须选择 5 b) 都在本地网络 ( 能够互相 ping 通的 ), 则看是上位机主动查询还是设备主动上发数据 如果设备主动上发的必然要使用设备做 TCP 客户端的 2 方式, 否则可以选择 1 方式 3.2. 直接 TCP/IP 通讯模式如果不需要 Modbus TCP 协议转化也不需要虚拟串口的, 此时用户软件可能是直接和串口服务器的网口进行 TCP/IP 通讯, 串口服务器将 TCP/IP 数据转为串口数据发给串口设备 一般此类用法用户都是自己开发上位机网络通讯软件, 集成了设备的串口通讯协议的解析 此种方法比虚拟串口更加灵活和高效 对应表 4 中的 6 和 7 在 1.3TCP 通讯测试 一节主要简单讲述了串口服务器作为 TCP 服务器的时候如何进行通信 这里将讲述 TCP 客户端 UDP 模式 多 TCP 连接如何和计算机软件通讯 其中计算机软件以 SocketTest( 模仿用户 TCP/IP 通讯的软件 ) 为例 卓岚串口服务器遵守的是标准的 TCP/IP 协议, 所以任何遵守该协议的网络终端都可以和串口服务器通信, 卓岚科技提供了网络调试工具 (SocketDlgTest 程序 ) 来模拟网络终端来和串口服务器通信 要想两个网络终端 ( 这里是网络调试工具和串口服务器 ) 能够通信, 其参数配置必须需要配对 3.2.1. TCP 客户端模式 TCP 模式下工作模式有两种 :TCP 服务端和 TCP 客户端, 无论采用哪一种模式, 必须一方是服务端, 另一方是客户端, 之后客户端才能访问服务端, 都为客户端或者服务端则无法实现通信
当串口服务器作为客户端时, 必须有 3 个对应关系, 图 21 所示 (1) 工作模式对应 : 串口服务器的工作模式为客户端对应网络工具的服务器模式,(2)IP 地址对应 : 串口服务器的目的 IP 必须是网络工具所在计算机的 IP 地址,(3) 端口对应 : 串口服务器的目的端口必须是网络工具的本地端口 这样设置后串口服务器即可自动连接网络工具, 连接建立后即可收发数据 图 21 串口服务器作为客户端 3.2.2. TCP 服务器模式当串口服务器作为服务端时, 也有 3 个对应关系, 如图 22 所示, 这里不一一解说 这样设置后点击网络工具的打开按钮即可和串口服务器建立 TCP 连接, 连接建立后即可收发数据 图 22 串口服务器作为服务端 串口服务器作为服务端时, 可以同时接受 30 个 TCP 连接 串口收到的数据会转发给所有的已经建立的 TCP 连接 如果需要实现数据只发送给最近接收过
网络数据包的 TCP, 则需要启用多主机功能, 请参考 5.2 多主机功能 3.2.3. UDP 模式在 UDP 模式下, 参数配置如图 23 所示, 左边为 ZLVircom 中串口服务器的配置, 右边为网络调试工具 SocketDlgTest 的设置 首先必须两者都是 UDP 工作模式 另外用红色箭头表示的, 网络工具的目的 IP 和目的端口必须指向串口服务器的本地 IP 和本地端口 用蓝色箭头表示的, 串口服务器的目的 IP 必须是网络工具所在计算机的 IP 地址, 而串口服务器的目的端口必须是网络调试工具的本地端口 这些网络参数配置好后才能保证双向的 UDP 数据通信 图 23 UDP 模式参数配置 3.3. 设备对联方式如果上位机不是 Socket 程序 (SocketDlgTest) 也不是虚拟串口, 而是两台设备通过网口对连的, 配置方法也是类似的 首先用户需要将 2 台设备 计算机连接到同一个局域网中 这台计算机上运行 ZLVircom, 连接计算机的目的只是为了配置, 配置完成后计算机可以不必连接 点击 ZLVircom 的设备管理, 找到这 2 台设备, 如图 25 所示 然后点击 设备编辑, 对设备进行配置 设备对联可以分为 TCP 对联和 UDP 对联 如果是 TCP 对联方式, 两台设备的参数如图 24 所示 箭头所示的参数必须对应起来, 如同和 PC 机连接的对应方式一样 TCP 连接成功后, 可以通过回到 设备管理 对话框看连接状态, 如图 25 所示, 如果两台设备的状态都是 已连接 则表示两台设备的 TCP 链路已经建立
图 24 TCP 设备对联参数配置 图 25 TCP 设备对联成功检查如果是 UDP 方式对联的, 配置参数如图 26 所示, 箭头对应的参数必须是一一对应的 UDP 对联只要参数配置正确不必检查连接状态, 发送的数据会自动发送到指定的设备 图 26 UDP 设备对联参数配置最后需要提醒一下, 如果是设备对联的, 除了网口参数按照以上设置外, 还必须设置正确的串口参数 主要是串口服务器的波特率等需要和用户的设备的波特率等一致 这样设置以后, 用户设备可以通过两台串口服务器的串口互相发送数据
4. 设备调试 4.1. 网络物理连接串口服务器可以使用交叉网线或者直连网线连接 10M/100M 交换机或者直接连接计算机网口 连接建立后第一步需要查看 Link 灯是否为绿色, 否则请检查网线是否连接好 4.2. 网络 TCP 连接当设备作为动态获取 IP 的方式的时候, 不能够直接连接计算机网口 因为没有 DHCP 服务器可以用 ( 一般 DHCP 服务器就是局域网中的路由器 ) 所以直连的时候请指定 IP 同时计算机也需要指定固定 IP 图 27 配置在同一个网段无论是直连还是通过交换机, 当配置为静态 IP 的时候, 设备和计算机需要在同一个网段 ( 除非是跨网关通讯 ), 如图 27 所示 由于 ZLVircom 支持跨网段搜索和配置, 所以能够搜索但是无法通讯的一般是 IP 地址没有配置好, 此时可以用 ZLVircom 将设备配置在同一个网段 配置好以后使用 1.3 TCP 通讯测试或者 1.4 虚拟串口测试的步骤可以看到建立 TCP 连接的时候 Link 灯变为蓝色 Link 灯蓝色也可以通过 ZLVircom 看到, 如设备管理列表中, 如果 TCP 连接一列为 已建立 则表示 Link 灯是蓝色的, 如图 28 这可以方便进行远程诊断
图 28 连接状态和数据收发状态 4.3. 数据发送和接收当 Link 灯变为蓝色之后, 软件和串口服务器之间就可以进行数据收发了 此时如果软件发送一个数据则 Active 灯会变为绿色, 持续时间一般会至少 1 秒钟 数据也会从串口服务器的串口输出, 但是输出数据是否正确还需要看是否配置了正确的串口参数 ( 波特率 数据位 停止位 校验位 ) 对于正确的下发指令串口设备一般会进行回复, 一旦有回复 ( 串口向网口发送数据 ) 则 Active 会变为蓝色, 否则请检查串口参数或者串口线是否连接有问题 为了方便远程调试 ZLVircom 也支持远程看收发数据情况, 如图 28 所示, 其中的 TXD 就是串口服务器串口发出的数据量, 当刷新设备列表时, 看到这个数值有变化则表明有下发数据,Active 灯也会绿色 ; 如果看到 RXD 这个数值在变化则表明串口设备有返回数据,Active 为蓝色 4.4. ZLVircom 远程监视数据在使用虚拟串口的情况下,ZLVircom 支持实时抓取虚拟串口收发的数据 方便用户调试系统, 使用方法如下 : 假设现在已经按照 1.4 虚拟串口测试的方法建立了虚拟串口的通讯 现在需要监控通过虚拟串口的数据 打开 ZLVircom 的菜单 / 配置 / 软件配置 / 打开 vircom 配置对话框 图 29 启用 ZLVirocm 监视 在开启监视 十六进制监视模式 显示数据收发时间 3 个选项前面打勾, 如
图 29 然后点击确定 假设之前已经进行过数据的收发, 现在在主界面中选择需要监控的一个虚拟串口, 然后选择菜单 / 查看 / 监视, 如图 30 所示 图 30 打开 ZLVirocm 监视 从打开的对话框可以看到上位机下发的指令和设备返回的指令, 如图 31 所示 该功能可以方便进行现场通讯调试 图 31 监视收发数据 5. Modbus 高级功能带 Modbus 网关功能的串口服务器本身不具备站地址和寄存器, 它是一个通讯的桥梁, 它会根据用户软件发给 Modbus 网关的 Modbus TCP 指令中的 Salve ID 功能码 寄存器号 寄存器数量产生 Modbus RTU 指定, 并从串口输出 可以将其视为一个协议 翻译器
5.1. 启用 Modbus 网关首先串口服务器应该是支持 Modbus 网关的也就是设备设置对话框中表 3 设备支持的功能中的 Modbus TCP 转 RTU 功能应该是打勾的 默认情况下串口服务器处于普通透传模式, 如果需要转化到 Modbus 网关模式, 请在 转化协议 中选择 Modbus TCP RTU 这个选项 此后设备自动将 端口 参数修改为 502(Modbus 服务器的端口 ) 这样 Modbus 网关就启用了 串口 RTU 设备作为从站, 则上位机 Modbus TCP 软件连接 Modbus 网关的 502 端口, 此时 Modbus 网关需要工作在 TCP 服务器模式 ; 如果串口 RTU 作为主站, 则 Modbus 网关工作在 TCP 客户端, 且目的 IP 填 Modbus TCP 软件所在计算机的 IP, 目的端口一般为 502 5.2. 多主机功能如图 33 所示的 RS458 多主机支持 和 RS485 总线冲突检测功能 就是卓岚的多主机功能 它们一般是同时启用和同时禁用的 启用后让转化协议为 Modbus TCP 的设备具有存储型 Modbus 网关功能, 否则为非存储型 Modbus 网关 ; 如果转化协议为无, 一般可以让用户自定义的 RS485 协议也具有多个主机同时访问的串口设备的功能, 这在纯粹的 RS485 网络中是无法实现的, 因为多个主站同时发送会在 RS485 总线上产生冲突 卓岚串口服务器的多主机可以对 RS485 总线进行 协调 从而达到多主机访问的目的 图 32 多主机功能演示 如图 32 所示, 普通方式下, 当两台主机 : 主机 A 和主机 B 同时连接上串口
服务器, 此时主机 A 发送 (1) 指令,RS485 设备收到 (2) 指令,RS485 设备返回 (3) 指令, 但是在串口服务器其网口端会同时发送 (4) 给主机 A 和 (5) 发给主机 B 由于主机 B 没有发送查询, 但是它也收到了应答指令 (5) 所以, 主机 B 可能会产生通讯异常错误 在多主机模式下, 只会有指令 (4) 而不会有指令 (5), 因为串口服务器会自动记忆需要返回的主机, 只将指令返回给最近的通讯的主机, 主机 A 查询只回复给 A, 主机 B 查询回复给主机 B 另外一个作用是, 在普通模式下, 主机 A 和主机 B 同时发送数据则会在 RS485 总线上产生指令的合并, 从而无法正常识别 ; 多主机方式下串口服务器可以调度 A B 在使用总线上的先后次序, 从而有效方式多机同时访问的冲突问题 转化协议为 无 情况下, 默认是不启动多主机功能的, 需要启用多主机的时候, 请在设备配置对话框中点击 更多高级选项, 然后勾选 RS485 多主机支持 5.3. 多主机参数 RS458 多主机支持 和 RS485 总线冲突检测功能 含义介绍如下 图 33 RS485 多主机支持其中 RS485 指令应答超时时间为 : 串口服务器串口从开始发送这条指令到收到应答的最大时间间隔 填写的时间应大于实际最大的时间间隔 因为如果一旦判定为超时, 将会发送下一条指令 图 34 RS485 防冲突空闲时间 RS485 总线冲突时间 : 表示串口服务器在收到第一条指令的回复后等待多少
毫秒后发送第二指令 这个参数实际定义了指令轮训的速度 该值建议在 20ms 以上 最多等待时间 3 秒 这个参数一般无需修改 当用户使用 ZLVircom 将转化协议选择为 Modbus TCP 转 RTU 之后 ZLVricom 会自动勾选上述两个启用框 ( 除非用户手动进入高级选项去除 ), 而且以上两个时间也会自动根据波特率配置好 但是如果用户的 Modus 指令比较长或者在转化协议为 无 的情况下, 则需要手动配置这 2 个参数 下面介绍以上参数的设置建议值 : 1. 图 34 所示为 RS485 总线防冲突时间, 一般可以设置为参数配置界面右下角的 数据包间隔 的两倍, 但是最小不能小于 20 2. 图 33 所示为 RS485 指令应答超时时间, 一般根据来回应答的指令长度决定, 如果发送指令为 N 字节, 应答为 M 字节, 那么建议设置的值为 : 数据包间隔 (N+M+5)+100 5.4. 存储型和非存储型 ZLAN5143I 是存储型的 Modbus 网关, 其优点在于 5143I 会自动去查询并保存寄存器的值, 这样可以加快返回速度 但是某些时候有的设备在不断轮训的情况下数值会不是当前想要的, 此时 ZLAN5G40 这种非存储型的就派上用场 也就是 5G40 会在 Modbus TCP 发送的时候再发送 RTU 查询指令, 否则不会发送 RTU 查询, 即非存储型的 Modbus 网关 关于存储型的介绍请参考 ZLAN5143I 的 Modbus 介绍部分 6. 网口修改参数网口修改参数是实现 zlvircom 软件那样搜索设备 修改设备参数的功能, 即通过串口服务器的网口来管理设备和修改参数 适合于将搜索和配置功能集成到用户软件内部的用户 网口修改参数是通过 UDP 管理端口协议 来实现的, 比如 : 1. 计算机软件在网络中发送目的端口为 1092 的 UDP 广播数据包 当设备收到该数据包后会将自己的信息返回给计算机软件, 达到搜索设备的目的 2. 计算机软件向设备的 1092 端口发送 UDP 修改参数命令, 达到修改设备参数的目的
网口修改参数的详细介绍可以参考 卓岚联网产品 UDP 管理端口协议 文档 也可以直接使用 7 设备管理函数库的设备管理函数库来实现 7. 设备管理函数库该功能是是适合于需要将设备管理功能集成到用户自己软件中的用户使用的 所述的 UDP 管理端口协议 已经集成在设备管理函数库 ZLDevManage 里面了 这是一个 DLL 的 windows 平台的开发库, 可以被 VC VB Delphi 等各种开发工具调用 提供有详细的 API 接口介绍文档和 VC 调用 Demo 案例 可以实现设备的搜索 参数修改 P2P 功能调用等 可以从卓岚官网获得开发库 : 在 http://zlmcu.com/download.htm 页面寻找 设备管理函数库 详细可以参考 卓岚 WinP2p 和设备管理开发库 8. 串口修改参数用户可以通过向串口服务器的串口发送指令的方式读取参数 设置参数 适合于选择芯片或者模块级别的产品通过串口控制和配置的用户 可以设置的参数包括 :IP 地址 波特率 设备名称 工作模式等 新的参数设置完毕后可以通过串口指令重启串口服务器 卓岚串口指令有如下的特点 : 1. 串口指令采用 10 个字节的数据前导码, 所以无需通过另外的配置引脚的拉低拉高来区分是通讯数据还是命令, 也无需进行命令模式和通讯模式的切换, 使用更加灵活方便 2. 命令集包含有保存参数 不保存参数 重启设备等多种命令格式 3. 可以实现多种应用, 比如读取串口服务器的 MAC 地址, 比如修改串口服务器的工作模式当从 TCP 服务器切换到 TCP 客户端模式时, 可以主动连接服务器 ; 当从 TCP 客户端切换到 TCP 服务器时可以断开和服务器的连接 串口修改参数的详细操作方法请参考 : 串口修改参数及硬件 TCPIP 协议栈
9. 远程设备管理所谓远程设备管理是指通过 ZLVircom 软件能够对设备进行维护和管理, 包括重启设备 修改参数 升级固件 该功能适合于通过 ZLVircom 进行设备管理的用户 对于 ZLVircom 软件, 只要能够在设备列表中找到这个设备就可以进行远程管理 对设备的远程管理分为如下几种情况 : 1. 自动搜索 : 设备和计算机同一个交换机下, 此时无论是否在同一个网段, 计算机上的 ZLVircom 搜索设备方式是 :ZLVircom 发送广播查询 所有的设备收到查询后都将自己的参数回复给 ZLVircom 工具 此方法一次性搜索所有的设备 2. 手动添加 : 分为两种情况 : 图 35 自动搜索 图 36 手动添加 a) 大型路由器分割网络 : 在一些大型网络中, 广播包被路由器所分割, 从而广播包无法到达设备端, 但是 ping 设备 IP 都是通的 此时一般需要手动添加来解决 手动添加的方法是在 设备管理 对话框中点击 手动添加 添加首尾 IP 即可对设备进行逐一的查询 b) 公网服务器查询内网设备 : 串口服务器在内部网络且作为 TCP 服务器模式,zlvircom 在公网 IP 的服务器上 此时需要在设备所在的网络的路由器上做一个 1092 的 UDP 的端口映射, 映射到设备所在的 IP, 然后 zlvircom 手动添加这个设备,IP 是设备端的公网 IP 3. TCP 客户端 : 设备作为 TCP 客户端的时候, 会向目的 IP(116.15.2.3) 的 4196 端口发起 TCP 连接 等连接建立后会自动每个保活定时时间向目的端口 ( 这里是 4196) 的 UDP 端口 ( 注意不是 TCP 端口 ) 发送自己的参数系统, 从而能够让 zlvircom 在这台计算机 (116.15.2.3) 上能够搜索到设备 如果目的端口不是 4196 则需要修改 zlvircom 的默认参数接收端口, 方法是修改菜单 / 配置 / 软件配置 / 默认监听端口, 之后启动 zlvircom 如果弹出 TCP 端口冲突则不
用理会继续执行 图 37 客户端 4. 定时发送参数 : 即使处于 TCP 服务器方式的串口服务器, 也可以勾选 定时发送参数 功能, 将每隔 5 分钟将参数发送到目的 IP( 这里是 116.15.2.3) 的目的端口 在这个服务器的这个端口接收参数的 zlvircom 可以管理这些设备 图 38 定时发送参数 为了方便识别设备, 如果需要进行远程管理的时候, 请将设备起一个容易记住的名字
10. 尺寸 11. 售后服务和技术支持 上海卓岚信息技术有限公司地址 : 上海市徐汇区漕宝路 80 号光大会展 D 幢 12 层
电话 :021-64325189 传真 :021-64325200 网址 :http://www.zlmcu.com 邮箱 :support@zlmcu.com