Modbus TCP 客户端
支持功能码 01、02、03、04、05、06、15 和 16,可按连接设置超时和重试次数,错误信息会指出原因。
Modbus TCP FieldKit 适用于 iPhone 和 iPad
在 Wi-Fi 中找到设备,读取它的线圈和寄存器,绘制实时数值曲线,每次写入在离开手机之前都要经过你的确认。RS-485 设备可通过 Wi-Fi 或 Ethernet 转换器,以 RTU over TCP 方式使用。
US$5.99 一次付清。无订阅,无应用内购买,无需账号。
FC 05、06、15 和 16 会停在一张确认表上,表中列出目标和每个值。由你确认,否则不会发出任何内容。
查找设备和扫描 Unit ID 一次只发送一个 FC 03 读取请求,不写入任何内容。
配置文件、日志和扫描结果会一直保存在设备上,直到你导出。哪些数据可能离开设备。
只要有 Wi-Fi 网络就可以开始。应用带你从查找设备一直走到绘制寄存器曲线。
FieldKit 一次购买,以下功能全部包含。
支持功能码 01、02、03、04、05、06、15 和 16,可按连接设置超时和重试次数,错误信息会指出原因。
通过透传型 Wi-Fi 或 Ethernet 转换器连接 RS-485 设备。如果读取超时,应用会提议换用另一种帧格式再读取一次。
在你自己的 Wi-Fi 子网中扫描最多八个端口。结果会显示哪些设备给出了 Modbus 应答,哪些返回了异常,以及哪些开放端口没有 Modbus 应答。
可尝试 1 到 10 以及 0 和 255,也可以扫描 1 到 247 的全部编号。完整扫描约需 75 秒。每个单元只读取一个寄存器,不写入任何内容。
最多 16 个数据块,间隔 1 到 60 秒。曲线可查看 5 分钟、15 分钟或 1 小时的范围,轮询失败会在曲线上显示为断点。
列为 timestamp、block、address、raw、value、unit 和 status,UTF-8 编码,时间为 UTC。文件只会通过共享菜单离开应用。
保存端点和寄存器定义,包括数值格式、字节序和字序、缩放系数和单位。默认导出会去掉主机、标签和值。
可按客户端、服务器或合并条目筛选,并导出已脱敏的 JSON,用于发给同事或附在支持工单里。其中不含原始帧和寄存器值。
Modbus 没有撤销。FieldKit 把读取和写入分开,并在你和每次写入之间加了一道确认。
设备的安全仍由你负责。请先在模拟器或非生产环境的寄存器表上试写。
启动服务器,把你的 SCADA、HMI 或客户端代码指向 iPhone 的地址,对着一份由你掌控的寄存器表进行测试。
1502。iOS 上不承诺后台运行和端口 502。
iPhone 没有 RS-485 接口,但 Wi-Fi 或 Ethernet 上的透传转换器可以胜任。选择 RTU over TCP 后,应用会把带 CRC 的 RTU 帧发送到转换器的 TCP 端口。
购买前请先看这份清单,它能告诉你 FieldKit 是否适合你的工作。
| 代码 | 功能 | 单次请求上限 |
|---|---|---|
| 01 | Read Coils | 2000 位 |
| 02 | Read Discrete Inputs | 2000 位 |
| 03 | Read Holding Registers | 125 个寄存器 |
| 04 | Read Input Registers | 125 个寄存器 |
| 05 | Write Single Coil | 1 个线圈 |
| 06 | Write Single Register | 1 个寄存器 |
| 15 | Write Multiple Coils | 1968 个线圈 |
| 16 | Write Multiple Registers | 123 个寄存器 |
来自 App Store 页面的真实截图,使用的是演示地址。
你只需向 Apple 付款一次。App Store 会显示你所在国家或地区的价格。
没有免费版或试用版。退款申请由 Apple 处理,请前往 reportaproblem.apple.com。
网络中使用标准 Modbus TCP 的设备:PLC、电能表、HMI、网关、逆变器,以及 ESP32 或 Raspberry Pi 项目。RS-485 设备可通过透传型 Wi-Fi 或 Ethernet 转换器使用。
不支持 Solarman V5 等厂商私有扩展,即使它使用端口 8899 也一样。
支持 RTU over TCP:应用把带 CRC 的 RTU 帧发送到转换器的 TCP 端口。不支持直接连接 RS-485、USB、串口或蓝牙,也不支持 Modbus ASCII。
查找设备会检查你的 Wi-Fi 子网(最大到 /24)中你所选的端口。扫描 Unit ID 会在已知的主机和端口上尝试各个单元编号。两者都只发送 FC 03 读取请求。
把地址表示法切换为 PLC 4xxxx,然后输入 40001。应用发送的协议地址是 0。同一设置里还有 0-based 和 1-based。Modbus 寻址是怎么回事。
不会。查找设备、扫描 Unit ID 和实时监控只发送读功能码。写入要经过准备写入和确认写入,没有其他途径会发送写入。
不能。请按“服务器只在应用打开并显示在屏幕上时运行”来规划。默认端口是 1502,iOS 上不保证能使用端口 502,所以请让你的客户端连接 1502。
可以。在第二台 iPhone 或 iPad 上运行 FieldKit 服务器,或在笔记本电脑上启动 Python 模拟器。不用 PLC 测试 Modbus TCP 的三种方法。
Modbus 工作只需要本地网络,首次连接时 iOS 会请求本地网络权限。崩溃报告和使用统计的开关处于打开状态时,应用会通过互联网发送它们;你选择发送的反馈也会用到互联网。
崩溃报告发送到 Sentry,匿名使用统计发送到我们自己的 Aptabase 服务器。这两个开关默认打开,你可以在设置中分别关闭。两者都不包含主机、IP 地址、配置文件名称、寄存器值或原始帧。阅读隐私政策。
目前不能。FieldKit 运行在 iOS 18 或更高版本的 iPhone 和 iPad 上。
应用界面支持以下语言:英语、德语、巴西葡萄牙语、俄语、日语、韩语、简体中文和繁体中文。
参考文章中的帧是我们从真实服务器抓取的,另有三个在浏览器中运行的工具。