串口服务器是用于将工业设备的串口数据转换成以太网数据的一个转换器。串口服务器可以轻松的将PLC、仪表和传感器等基于RS-232、RS-485和TTL协议的串口设备连接至以太网中,便于接入云平台,也可以让您的软件在任何地方都能通过本地局域网或互联网访问串口设备。
串口服务器在需要采集传感器数据和远程控制的场景中广泛使用,MODBUS 物联网平台的用户有相当一部分在使用 串口服务器 接入设备,通常 串口服务器 使用较多的是通过 RS485/232/422 端口连接 Modbus 从机设备,例如:开关继电器、温湿度传感器、各类气体传感器、电能表、水表、PLC、电机控制器等。
这一次我们介绍的是来自汉枫公司的 串口服务器Elfin-EE1X,它支持通过TCP、UDP方式 接入 MODBUS 物联网平台,在很多用户的物联网项目中运行非常稳定。

我们以这台 Elfin-EE1X 为例,介绍接入 MODBUS 物联网平台 的步骤。对于塔石公司的其它 串口服务器 产品,也可以用同样的方式接入。
MODBUS 物联网平台 上的准备工作 #
在实践中,我们通常将 串口服务器 作为透传网关,用于在 Modbus 子设备和云平台之间起到消息转发作用。这里我们使用 串口服务器 的 TCP客户端 模式,准备工作只需要以下几步:
- 1.创建项目(项目管理→新增 项目)
- 2.创建分组(设备分组→新增 分组)
- 3.创建设备(设备管理→设备信息→新增设备)
- 填写设备名称,随机生成或者手动填写设备号,在设备协议中选择ModBus RTU,定位设备所在经纬度,保存即可。(设备号复制保存备用)

具体的步骤请浏览:Modbus入门 ,通常几分钟就可以完成。
Elfin-EE1X 串口服务器的配置 #
打开有人设备管理器 配置软件,连上网口或串口,只需要填写以下几个部分:
第一步:
- 工作模式:TCP 客户端
- 目的IP或域名:iot.modbus.cn
- 目的端口:50001
- 心跳包:设备号SN码 例:PH5myopwEbA5ehu (以实际为准)
- 注册包:设备号SN码 例:PH5myopwEbA5ehu (以实际为准)
- 保存设置(保存)
如下图:

第二步:


连接 RS485 Modbus 继电器
这里以8路继电器为例:
1.点击“添加数据” #

2.点击“添加从设备节点”,增加8路继电器控制 #
注意事项(新手知识):
1.寄存器地址到底用10进制还是16进制? #
一句话答案:看设备说明书要求,但99%的场合都用 16进制地址(带0x开头或H结尾)
为什么:
- Modbus协议标准规定用16进制地址(比如
0x0001
),选择16进制后,直接填后面的0001 - 设备厂商手册通常用16进制格式
- 只有少数设备用10进制地址(纯数字,如
40001
)
二、功能码对照表(小白版) #
功能码 | 名称 | 做什么用? | 地址范围 | 读写权限 | 类比理解 |
---|---|---|---|---|---|
01H | 读线圈状态 | 读开关状态(开/关) | 0x0001~0x9999 | 只读 | 查看电灯是否亮 |
05H | 写单个线圈 | 修改单个开关状态 | 0x0001~0x9999 | 只写 | 按开关开灯/关灯 |
02H | 读离散输入 | 读传感器开关信号 | 1x0001~1x9999 | 只读 | 看门磁是否被触发 |
03H | 读保持寄存器 | 读设备参数(温度、速度等) | 4x0001~4x9999 | 读/写 | 查看和设置空调温度 |
06H | 写单个寄存器 | 修改单个参数值 | 4x0001~4x9999 | 只写 | 调整空调目标温度 |
04H | 读输入寄存器 | 读传感器数值(只读) | 3x0001~3x9999 | 只读 | 读取温度计显示值 |
三、配置参数逐项说明 #
1. 读写方式 (R/W) #
- 读(R):只能看数值,不能改(比如温度传感器的实时值)
- 写(W):可以修改数值(比如设置目标温度)
- 读写(R/W):既能看又能改(比如设备的工作模式)
2.数据格式选择指南 #
数据类型 | 数值范围 | 典型应用场景 | 注意事项 |
---|---|---|---|
UINT16 | 0 ~ 65,535 | 开关状态、计数器、无负值传感器(如光照强度0~2000lux) | 不能表示负数,数值超限会归零 |
INT16 | -32,768 ~ +32,767 | 温度(-40℃~+80℃)、有方向的速度值(正反转) | 处理负数时需注意符号位 |
UINT32 | 0 ~ 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)、科学计算 | 需要设备支持浮点传输协议 |
示例:
- 温度传感器:
INT16
(-40℃ ~ +80℃) - 光照传感器:
UINT16
(0 ~ 65535 lux) - 累计流量计:
UINT32
(0 ~ 42亿立方米) - 精密压力计:
FLOAT32
(0.0001 ~ 9999.9999 kPa)
3.存储策略详解 #
策略类型 | 工作方式 | 适用场景 | 优缺点 |
---|---|---|---|
变化储存 | 数值 变化时 自动存储 | 开关状态、报警信号 | ✅ 节省存储空间 ❌ 可能丢失平稳期数据 |
实时储存 | 数据 立刻存储(每次更新) | 医疗监护、高频振动监测 | ✅ 数据最完整 ❌ 存储压力大 |
定时储存 | 按固定时间间隔存储 | 环境监测、常规设备巡检 | ✅ 平衡存储与数据连续性 ❌ 可能错过突发变化 |
定时储存时间选择建议: #
时间间隔 | 适用场景 | 示例 |
---|---|---|
30秒 | 快速变化数据 | 电机转速监控、实时交易计数 |
1分钟 | 常规工业参数 | 车间温度、压力记录 |
5分钟 | 环境监测 | 气象站温湿度采集 |
10分钟 | 能耗管理 | 每小时用电量统计 |
30分钟 | 长期趋势分析 | 设备老化趋势记录 |
场景示例:
- 工厂空压机压力监控(每秒变化):选择 实时储存 或 30秒
- 仓库温湿度监测(缓慢变化):选择 5分钟 或 变化储存
- 智能电表用电统计:选择 30分钟 + 变化储存(只在用电时记录)


批量读配置: #
注意事项(新手知识):
寄存器起始地址 #
- 10进制 vs 16进制:
- 通用规则:带
4x
/3x
前缀用16进制,纯数字如40001
用10进制
- 通用规则:带
读取长度(一次性读取几个寄存器) #
- 温度计示例:
假设温度占1个寄存器,湿度占1个寄存器
→ 起始地址填温度地址,读取长度填2(一次性读温湿度) - 最大限制:多数设备一次最多读120个寄存器


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