View Categories

卓岚串口服务器接入

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

串口通讯服务器其实就是串口服务器,也叫终端服务器,串口通讯服务器能让串口设备立即具备联网能力,可以把分散的串行设备、主机等通过网络集中管理,简易、方便。支持TCP、UDP、ARP、ICMP、HTTP、DNS和DHCP协议,支持Windows Native COM和网络中断自动恢复连接功能。

串口服务器在需要采集Sensors数据和远程控制的场景中广泛使用,MODBUS 物联网平台的用户有相当一部分在使用 串口服务器 接入设备,通常 串口服务器 使用较多的是通过 RS485/232/422 端口连接 Modbus 从机设备,例如:开关继电器、温湿度传感器、各类气体传感器、电能表、水表、PLC、电机控制器等。

这一次我们介绍的是来自卓岚公司的 串口服务器ZLAN5143,它支持通过TCP、UDP方式 接入 MODBUS 物联网平台,在很多用户的物联网项目中运行非常稳定。

我们以这台 ZLAN5143 为例,介绍接入 MODBUS 物联网平台 的步骤。对于卓岚公司的其它 串口服务器 产品,也可以用同样的方式接入。

MODBUS 物联网平台 上的准备工作 #

在实践中,我们通常将 串口服务器 作为透传网关,用于在 Modbus 子设备和云平台之间起到消息转发作用。这里我们使用 串口服务器 的 TCP客户端 模式,准备工作只需要以下几步:

  • 1.创建项目(项目管理→新增 项目)
  • 2.创建分组(设备分组→新增 分组)
  • 3.创建设备(设备管理→设备信息→新增设备)
  • 填写设备名称,随机生成或者手动填写设备号,在设备协议中选择ModBus RTU,定位设备所在经纬度,保存即可。(设备号复制保存备用)

具体的步骤请浏览:Modbus入门 ,通常几分钟就可以完成。

ZLAN5143串口服务器的配置 #

打开 卓岚 虚拟串口&设备管理器 配置软件,连上网口或串口,只需要填写以下几个部分:

第一步:

  • 工作模式:TCP 客户端
  • 目的IP或域名:iot.modbus.cn
  • 目的端口:50001
  • 心跳包:设备号SN码 例:4QR8TZ9ThuL4G (以实际为准
  • 注册包:设备号SN码 例:4QR8TZ9ThuL4G (以实际为准
  • 修改配置(保存)
    如下图:

第二步:

点击“固件与配置”

C盘新建一个”web”空文件夹,选择这个文件夹,然后点击“注册包”

注册包和心跳包”ASCII”格式都先打钩,然后填入云平台生成的设备号,心跳包间隔输入“60”秒,点击确定进行保存。

跳转页面后,点击“下载”即可。

Modbus 温湿度传感器接入 (示例) #

第一步:查看温湿度传感器说明 #

当你试图将一款Modbus通讯的传感器接入到Modbus物联网平台时,你需要参考传感器的说明书,并关注以下关键信息:

  1. 设备地址:Modbus设备有一个唯一的设备地址,你需要知道这个默认地址以便正确地与设备通信。
  2. 寄存器地址:这些是用于读取和写入设备数据(在这种情况下,是温度和湿度数据)的内存地址。你需要知道这些地址,以及它们对应的数据类型(例如,16位有符号整数,32位浮点数等)。
  3. 数据映射和缩放:传感器的温度和湿度读数可能被缩放或映射到一个特定的范围。例如,一个16位的寄存器可能被映射到-40至+85摄氏度的温度范围。你需要知道这些信息,以便正确地解析读取到的数据。
  4. 波特率和校验位:如果传感器使用的是Modbus RTU协议,你还需要知道设备的波特率(如9600,19200,38400等),数据位(通常为8位),停止位(通常为1位或2位),以及校验位(无,奇校验,偶校验)。
  5. 其他功能代码:Modbus协议包括许多功能代码,允许你执行各种操作,如读取数据、写入数据、诊断设备等。你应检查设备说明书,看看设备支持哪些功能代码。

第一步:查看温湿度传感器说明书 #

计算方法

温度计算:

当温度低于 0 ℃ 时温度数据以补码的形式上传。 温度:FF9B H(十六进制)= -101 => 温度 = -10.1℃

湿度计算:

湿度:292 H (十六进制)= 658 => 湿度 = 65.8%RH

不同厂家的温湿度传感器,支持的 Modbus 寄存器略有不同,请您参考实际产品手册。

打开设备管理→设备配置→选择刚刚添加的设备,然后点击“ +添加数据 ”。

依次添加8路继电器,只需修改寄存器号即可。

8路继电器全部添加后如下图

连接 RS485 Modbus 继电器 #

这里以8路继电器为例:

1.点击“添加数据#

2.点击“添加从设备节点”,增加8路继电器控制 #

注意事项(新手知识):

1.寄存器地址到底用10进制还是16进制? #

一句话答案看设备说明书要求,但99%的场合都用 16进制地址(带0x开头或H结尾)
为什么

  • Modbus协议标准规定用16进制地址(比如 0x0001),选择16进制后,直接填后面的0001
  • 设备厂商手册通常用16进制格式
  • 只有少数设备用10进制地址(纯数字,如 40001

二、功能码对照表(小白版) #

Function Code名称做什么用?地址范围读写权限类比理解
01H读线圈状态读开关状态(开/关)0x0001~0x9999只读查看电灯是否亮
05H写单个线圈修改单个开关状态0x0001~0x9999只写按开关开灯/关灯
02H读离散输入读传感器开关信号1×0001~1×9999只读看门磁是否被触发
03H读保持寄存器读设备参数(温度、速度等)4×0001~4×9999读/写查看和设置空调温度
06H写单个寄存器修改单个参数值4×0001~4×9999只写调整空调目标温度
04H读输入寄存器读传感器数值(只读)3×0001~3×9999只读读取温度计显示值

三、配置参数逐项说明 #

1. 读写方式 (R/W) #
  • 读(R):只能看数值,不能改(比如温度传感器的实时值)
  • 写(W):可以修改数值(比如设置目标温度)
  • 读写(R/W):既能看又能改(比如设备的工作模式)
2.数据格式选择指南 #
数据类型数值范围典型应用场景注意事项
UINT160 ~ 65,535开关状态、计数器、无负值传感器(如光照强度0~2000lux)不能表示负数,数值超限会归零
INT16-32,768 ~ +32,767温度(-40℃~+80℃)、有方向的速度值(正反转)处理负数时需注意符号位
UINT320 ~ 4,294,967,295大范围计数器(如总用电量)、高精度设备编码占用2个寄存器(32位=16位×2)
INT32-2,147,483,648 ~ +2,147,483,647大型机械位移、大范围温湿度差值需确认设备是否支持32位数据
FLOAT32±3.4×10³⁸ ~ ±3.4×10³⁸高精度测量(如压力3.1415kPa)、科学计算需要设备支持浮点传输协议

示例

  1. 温度传感器:INT16(-40℃ ~ +80℃)
  2. 光照传感器:UINT16(0 ~ 65535 lux)
  3. 累计流量计:UINT32(0 ~ 42亿立方米)
  4. 精密压力计:FLOAT32(0.0001 ~ 9999.9999 kPa)
3.存储策略详解 #
策略类型工作方式适用场景优缺点
变化储存数值 变化时 自动存储开关状态、报警信号✅ 节省存储空间
❌ 可能丢失平稳期数据
实时储存Data 立刻存储(每次更新)医疗监护、高频振动监测✅ 数据最完整
❌ 存储压力大
定时储存按固定时间间隔存储环境监测、常规设备巡检✅ 平衡存储与数据连续性
❌ 可能错过突发变化
定时储存时间选择建议: #
时间间隔适用场景示例
30秒快速变化数据电机转速监控、实时交易计数
1分钟常规工业参数车间温度、压力记录
5分钟环境监测气象站温湿度采集
10分钟能耗管理每小时用电量统计
30分钟长期趋势分析设备老化趋势记录

场景示例

  • 工厂空压机压力监控(每秒变化):选择 实时储存 或 30秒
  • 仓库温湿度监测(缓慢变化):选择 5分钟 或 变化储存
  • 智能电表用电统计:选择 30分钟 + 变化储存(只在用电时记录)

批量读配置: #

注意事项(新手知识):

寄存器起始地址 #

  • 10进制 vs 16进制
    • 通用规则:带4x/3x前缀用16进制,纯数字如4000110进制

读取长度(一次性读取几个寄存器) #

  • 温度计示例
    假设温度占1个寄存器,湿度占1个寄存器
    → 起始地址填温度地址,读取长度填2(一次性读温湿度)
  • 最大限制:多数设备一次最多读120个寄存器

这一篇我们介绍了卓岚串口服务器ZLAN5143 通过 TCP 透传方式接入 MODBUS 物联网平台 的详细步骤,将8路继电器模块上传到云平台,并生成自定义看板和 App。这些步骤也适用于其它厂商的支持 TCP 透传的 串口服务器产品。

Powered by BetterDocs

发表回复

Your email address will not be published. 必填项已用 * 标注