良友工控助手是一款由国内资深工程师基于 .NET 10 平台独立开发的 Windows 桌面软件。虽然名称中带有“工控”二字,但它的应用范围并不局限于工业场景——在工业自动化、物联网、仪器仪表等领域,凡涉及设备调试、产品测试、网络通信、研发辅助、故障排查与网络运维的工作,覆盖研发、测试、生产、交付、售后及技术支持等各个环节,都可以借助本软件完成。良友工控助手的愿景,是成为工程师桌面上的瑞士军刀——把研发、测试、运维中高频出现的调试与验证需求收进同一个窗口,一器在手,随取随用。软件由开发者曾磊独立开发并维护,自 2022 年启动至今。
软件的诞生源于实际项目中的痛点。2022 年,曾工作为高级软件工程师,负责罗马尼亚智能电表海外交付项目,既要指导测试人员完成产品测试,又要对接现场、提供技术支持。该项目设备采用 DLMS 通信协议,报文分析对接耗费了大量时间:当时缺少便捷的 DLMS 报文解析工具,只能依靠人工逐字节拆解报文,效率低下且极易出错;遇到加密的 DLMS 报文,解析难度更是成倍增加;而不熟悉 DLMS 协议规范的工程师,拿到报文往往无从下手。面对这样的现状,曾工利用业余时间着手开发,经过约一个月的编码与自测,DLMS 协议解析工具开发完成。投入实际使用后效果十分突出:原本人工解析一份 DLMS 报文往往需要一到两个小时,借助该工具可在 1 秒内按照协议规范逐字段完成解析;即便是不熟悉 DLMS 协议的人员,也能轻松完成报文分析工作。这款 DLMS 解析工具可以说是良友工控助手的技术缘起,但还谈不上软件本身的雏形。
后续工作中,曾工接手充电桩运营平台的开发与维护,再次遇到充电桩与平台之间通信报文难以人工分析的问题,于是着手开发充电桩报文解析工具。开发过程中曾工发现,日常工作常需要安装大量小工具——串口调试、TCP/UDP 网络测试、文件哈希校验、报文解析等各类软件分散在电脑中,调用和管理十分不便。由此萌生了插件化集成的构想:把各类调试工具封装成插件,统一收纳到一个软件里,需要用哪一项功能就启用对应插件,无需再同时安装多款软件。基于这一构想,良友工控助手正式成型。最初版本仅集成了作者日常高频使用的若干工具,包括 TCP 客户端调试工具、TCP 服务端调试工具、UDP 系列通信工具、文件哈希工具等。所有插件采用统一的 UI 界面、一致的操作逻辑,大幅降低了用户的学习与使用成本——这就是 2022 年良友工控助手最初的软件雏形。
自 2022 年至今,曾工持续对软件进行迭代、维护与优化,界面历经多轮改版,功能在大量项目现场经过实战检验,并在智慧矿山、煤矿综采等工业场景中得到实际应用。如今的良友工控助手界面简洁直观、上手门槛低、功能完备可靠,已集成 13 个功能插件。软件支持同一插件同时开启多个相互独立的运行实例,用户可按需选中并删除指定实例;插件在软件内以树形节点组织:一类插件对应一个父节点,每新建一个实例即生成一个下属子节点,删除实例则移除对应子节点。下面逐一介绍良友工控助手内置的 13 个插件的核心功能。
1TCP 客户端测试工具
TCP 客户端测试工具用于主动向指定的 TCP 服务端发起连接,并在连接建立后与服务端完成双向数据交互,是验证“我的程序能不能和某个 TCP 服务对上话”时最直接的工具。TCP 是面向连接、可靠传输的通信协议,具备数据确认、重传与拥塞控制机制,保障数据有序完整到达。在良友工控助手的 TCP 客户端测试工具中填写服务端 IP 地址与服务端口,点击连接即可向目标服务端发起连接请求;连接成功后,日志会给出本端与服务端的地址信息,按钮自动切换为断开状态。工具支持发送与接收的数据分别以 Hex 字符串或文本字符串展示与发送,两种模式可独立设置,标签随模式切换同步变化;如果使用文本字符串与服务端通信,还可以选择字符编码,支持的编码有 UTF-8、ASCII、Unicode、GB2312 和 ANSI(跟随操作系统)。Hex 模式下输入时空格会被自动忽略,便于直接粘贴设备手册中分段带空格的报文;当输入长度为奇数时,会明确提示 Data Length Error。工具支持勾选自动重连,连接被服务端关闭或网络中断时会在后台持续尝试重连,并完整记录重连次数与重连失败信息,方便观察设备或链路的断线恢复行为。收发日志带毫秒级时间戳并按事件着色——发送为蓝色、接收为绿色、状态为黑色、错误为红色,每条收发记录都标注字节数,便于核对报文完整性。工具还支持多开实例,可同时连接多个服务端进行对比调试。可用于验证 TCP 服务端连通性,排查连接失败、端口不通、握手异常等网络问题;模拟业务客户端向服务端下发指令,调试服务端业务处理逻辑;捕获服务端返回的原始报文,校验应答数据格式;模拟工控 TCP 客户端设备,与网关、PLC、上位机程序做联调测试;也可结合自动重连开展长连接的稳定性与断线重连测试。凡是需要 TCP 客户端通信或 TCP 连接交互验证的场景,都可以使用良友工控助手的 TCP 客户端测试工具进行调试与验证。
2TCP 服务端测试工具
TCP 服务端测试工具用于在本机监听指定端口,被动等待 TCP 客户端接入,实现与多个 TCP 客户端之间的数据交互,是在没有服务端时“扮演服务端”完成联调的最直接手段。TCP 是面向连接、可靠传输的通信协议,具备数据确认、重传与拥塞控制机制,保障数据有序完整到达。在良友工控助手的 TCP 服务端测试工具中,启动监听后会完整列出全部已接入的客户端,显示每个客户端的连接 ID、IP 地址与端口;客户端接入与断开时,日志同步给出对应地址与状态。选中一个或多个客户端后,既可以向其发送数据(多选即可一次群发),也可以主动断开指定客户端的连接;工具同时提供广播发送功能,编辑报文后点击广播,即可把同一份报文下发给所有已连接的客户端。工具支持发送与接收的数据以 Hex 字符串或文本字符串展示,两种模式可独立设置;如果使用文本字符串通信,还可以选择字符编码,支持的编码有 UTF-8、ASCII、Unicode、GB2312 和 ANSI(跟随操作系统)。Hex 模式下输入时空格会被自动忽略,便于直接粘贴设备手册中分段带空格的报文。该工具同时兼容 IPv4 与 IPv6 双协议栈,可同时接收两种协议下的客户端连接并完成数据交互。收发日志带毫秒级时间戳并按事件着色——发送为蓝色、接收为绿色、错误为红色,每条收发记录都按连接 ID 区分并标注字节数,多台设备同时在线也不会混淆;客户端正常断开与异常断开会被分别记录,异常断开附带错误码与错误说明,便于定位网络异常。工具还支持多开实例,可同时搭建多个不同端口的服务端。可用于调试自研 TCP 客户端程序,模拟工控网关、上位机服务端;对接测试 PLC、采集器等 TCP 硬件设备;验证多客户端并发接入能力,观测客户端连接、断开等状态变化;也可以复现服务端广播推送业务场景,排查粘包、断连、报文交互异常等问题。凡是需要搭建 TCP 服务端、验证多客户端接入与数据交互的场景,都可以使用良友工控助手的 TCP 服务端测试工具进行调试与验证。
3UDP 单播测试工具
UDP 单播测试工具用于与指定的单个目标端点进行 UDP 数据报收发,是点对点 UDP 通信调试最直接的手段。UDP 通信基于数据报,本质上不区分客户端与服务端,具有无连接、不可靠、不重传、开销小、实时优先的特点,因而在设备状态上报、指令下发、传感器数据采集等工控与物联网场景中被广泛使用。在良友工控助手的 UDP 单播测试工具中,先指定本机监听的 UDP 本地端口,并填写目标 IP 地址与目标端口,点击 Listen 后工具将绑定本机全部 IPv4 地址并开始监听该端口,任何发往本机该端口的数据报都会被接收;随后点击 Send,即可向对端 UDP 端点发送报文。收发共用同一个 Socket,因此工具既能主动向设备下发指令,也能被动接收设备主动上报的数据,工控现场最常用的“先监听本机端口、再看设备上报了什么”即可一次完成。工具支持发送与接收的数据分别以 Hex 字符串或文本字符串展示,两种模式可独立设置、标签随切换同步变化;如果使用文本字符串与对端通信,还可以选择字符编码,支持的编码有 UTF-8、ASCII、Unicode、GB2312 和 ANSI(跟随操作系统)。Hex 模式下输入时空格会被自动忽略,便于直接粘贴设备手册中分段带空格的报文;当输入长度为奇数时,会明确提示 Data Length Error。收发日志带毫秒级时间戳并按事件着色——发送为蓝色、接收为绿色、错误为红色、状态为黑色,每条记录都标注目标或来源地址(IP:端口)与字节数,能清楚分辨每个数据报发往哪里、又来自哪台设备,这在监听端口同时收到多个来源报文时尤为必要;监听期间本地端口会锁定不可修改,未启动监听时发送按钮禁用并提示 Not Started,避免无效操作。工具还支持多开实例,可同时监听多个端口、分别对应不同设备。可用于调试 Modbus-UDP 等工控 UDP 协议,验证点对点 UDP 通信链路连通性;模拟 UDP 客户端向设备下发指令、接收设备应答报文;排查端口占用、防火墙拦截、报文丢包等网络问题;也可用于测试高频小包传输场景,观察实时通信下的数据交互行为;需要组播或广播时,可改用 UDP 组播、UDP 广播插件配合使用。凡是使用 UDP 点对点通信的场景,都可以使用良友工控助手的 UDP 单播测试工具进行调试与验证。
4UDP 组播(多播)测试工具
UDP 组播可以实现一对多的 UDP 通信:组播发送方仅发送一份报文,由网络设备将报文分发至所有加入该组播组的主机。UDP 通信基于数据报,具有无连接、不可靠、不重传、开销小、实时优先的特点。在良友工控助手的 UDP 组播测试工具中,先指定一个用于监听的本地 UDP 端口,再配置组播组地址、TTL 生存时间、最大数据报长度、组播回环与双栈模式等关键参数——这些参数都位于右侧参数区的 Multicast 页签内。组播地址必须使用 224.0.0.0~239.255.255.255 范围内的专用组播 IP 段,工具会在加入组播组前自动校验地址合法性,不符合 D 类地址范围时直接拒绝并给出明确提示,避免把单播地址误当组播地址使用;其中 224.0.0.X 属于链路本地地址,仅用于局域网设备发现,无法跨路由转发,局域网应用一般从 239.x.x.x 段取值。TTL 为报文生存时间,控制组播数据包能够跨越的网络设备层数,默认值为 1,此时数据包仅局限于当前局域网;想要跨 VLAN、跨路由器传输组播数据,需要适当调大 TTL 数值。最大数据报长度默认 1472 字节,恰为以太网 MTU 1500 减去 IP 头与 UDP 头之后的常规取值,可按实际协议报文长度调整。组播回环决定本机是否接收自己发出的组播数据,关闭时相当于只发不收的发布端,可用于验证本机的组播收发链路;双栈模式可同时兼容 IPv4 与 IPv6。点击 Listen 加入目标组播组后,即可接收组内成员推送的组播报文;点击 Multicast Send 即向当前组播组发送一份报文,组内所有成员同时收到;切到 Unicast 页签填写目标地址与端口后点击 Unicast Send,还能在同一个端口上向指定成员做点对点单播发送,无需另开插件,组播下发与单播点名可在一次调试中完成。工具支持发送与接收的数据以 Hex 字符串或文本字符串展示,发送与接收两种模式可独立设置、标签随切换同步变化;如果使用文本字符串进行组播通信,还可以选择字符编码,支持的编码有 UTF-8、ASCII、Unicode、GB2312 和 ANSI(跟随操作系统);Hex 模式下输入时空格会被自动忽略,当输入长度为奇数时会明确提示 Data Length Error。收发日志带毫秒级时间戳并按事件着色——发送为蓝色、接收为绿色、错误为红色、状态为黑色,每条记录都标注发送的组播地址或接收的来源地址与字节数,便于核对组播报文是否完整到达、是否来自预期成员;加入组播组后,端口、组播地址、TTL、回环、数据报长度与双栈等参数会锁定不可修改,未启动时发送按钮禁用并提示 Not Started,避免运行中误改配置。工具还支持多开实例,可同时加入多个组播组、模拟多个订阅节点。可用于产线设备状态同步、设备组播自动发现与注册、批量配置分发等组播场景的联调与验证;验证交换机 IGMP Snooping 与组播路由配置是否正确,定位“组播数据出不了本网段”一类问题;也可用于组播协议教学与报文核对。凡是使用 UDP 组播通信的场景,都可以使用良友工控助手的 UDP 组播测试工具进行调试与验证;组播发现设备后需要与单个设备做点对点通信时,也可配合 UDP 单播插件使用,或直接在同窗口的 Unicast 页签内完成。
5UDP 广播测试工具
UDP 广播测试工具用于向同一局域网内的所有主机发送数据报:广播报文发出后会被交付给本网段内的所有主机,且无法跨路由器转发,是设备自动发现、局域网批量通告等“一对所有”场景最直接的手段。UDP 通信基于数据报,具有无连接、不可靠、不重传、开销小、实时优先的特点。在良友工控助手的 UDP 广播测试工具中,先指定一个用于监听的本地 UDP 端口,点击 Listen 后工具将绑定本机全部 IPv4 地址并开始监听该端口,本网段到达的广播报文与发往该端口的单播报文都会被接收,日志中以来源地址加以区分;右侧参数区分为 Broadcast 与 Unicast 两个页签,广播地址、最大数据报长度与双栈模式均在 Broadcast 页签内配置。广播地址默认 255.255.255.255,即有限广播地址,报文仅在本地局域网内传播,留空时同样回退到该地址;也可填写对应子网的定向广播地址(如 192.168.1.255),把广播范围精确限定在指定网段。最大数据报长度默认 1472 字节,即以太网 MTU 1500 扣除 IP 头与 UDP 头后的常用取值,可按实际协议报文长度调整;双栈模式可开启或关闭。若填写的广播地址格式非法,工具会在启动前直接拒绝并给出提示,避免以错误的配置发起广播。点击 Broadcast Send 即可向配置的广播地址发送广播数据,接收侧无需做任何特殊配置,只要在同一网段监听相同的端口即可收到;发送与接收共用同一个本地端口,因此工具既能主动广播,也能被动接收网内其他设备的广播上报。切到 Unicast 页签填写目标地址与端口后点击 Unicast Send,还能在同一个本地端口上向指定设备做点对点单播,广播发现加单播点名可在一次调试中完成,无需另开插件;监听期间广播地址、最大数据报长度、双栈模式与本地端口会锁定不可修改,而单播的目标地址与端口仍可随时调整。工具支持发送与接收的数据分别以 Hex 字符串或文本字符串展示,两种模式可独立设置、标签随切换同步变化;如果使用文本字符串进行广播通信,还可以选择字符编码,支持的编码有 UTF-8、ASCII、Unicode、GB2312 和 ANSI(跟随操作系统);Hex 模式下输入时空格会被自动忽略,便于直接粘贴设备手册中分段带空格的报文,当输入长度为奇数时会明确提示 Data Length Error。收发日志带毫秒级时间戳并按事件着色——发送为蓝色、接收为绿色、错误为红色、状态为黑色,每条记录都标注广播地址或来源地址与字节数,便于核对广播是否发出、是否被预期设备接收;未启动监听时发送按钮禁用并提示 Not Started,避免无效操作。工具还支持多开实例,可同时监听多个端口、模拟多个接收节点。可用于局域网内设备发现与搜索调试,验证设备广播上报功能;测试设备广播指令响应行为;模拟广播查询报文,获取局域网设备应答;排查防火墙、交换机隔离策略造成的广播报文接收异常;也可开展局域网广播压力测试,评估广播报文对局域网带来的负载影响,调试完成后应及时停止,避免对生产网络造成广播风暴。凡是使用 UDP 广播通信的场景,都可以使用良友工控助手的 UDP 广播测试工具进行调试与验证;广播发现设备后需要与单个设备做点对点通信时,也可配合 UDP 单播插件使用,或直接在同窗口的 Unicast 页签内完成。
6TCP 端口转发工具
TCP 端口转发工具用于将本机监听端口收到的 TCP 连接请求透明转发至指定的远端 TCP 服务,在两端 TCP 连接之间完整维护会话并完成双向数据透传,接入方无需感知中间存在中转环节,是内网端口映射、跨网段访问与临时替代 NAT 配置的常用手段。TCP 是面向连接、可靠传输的通信协议,具备数据确认、重传与拥塞控制机制,保障数据有序完整到达。在良友工控助手的 TCP 端口转发工具中,支持 IPv4 与 IPv6 两种 IP 协议类型,本地监听地址可直接从本机网卡地址列表中选取(含 0.0.0.0 任意地址与 127.0.0.1 回环),并可设置本地监听端口、远端目标 IP 与远端目标端口(远端目标需为合法 IP 地址)以及最大 TCP 并发连接数(1~2000);还可选择启用 Socks5 代理,通过代理链路访问后端目标服务,支持填写代理地址、端口、用户名与密码,并可为每条转发任务填写备注,便于管理。工具支持同时创建多条转发任务,任务列表可查看每条转发规则的运行状态、本地地址与端口、远端地址与端口、当前连接数与备注;可对任务执行编辑、启用、禁用、删除操作,支持多选后批量启用或禁用,双击列表项即可快速编辑;新增任务时还会自动检测本地地址与端口是否与已启用规则冲突并给出提示。选中某条转发规则,可以查看该规则下的所有 TCP 连接,展示客户端地址、收发字节数、连接建立时间等信息,连接断开后自动移出列表。日志面板完整记录转发任务启动、停止、客户端接入与断开以及转发异常等事件,错误信息以红色高亮,便于快速定位链路问题;转发规则可一键保存为本地配置文件,后续直接加载即可恢复全部转发任务并自动逐条启动,无需重复配置,切换测试环境与生产环境十分方便。该工具不提供报文内容查看与编解码设置,仅负责 TCP 数据流的透明中转。可用于内网端口映射调试、跨网段访问 TCP 设备,借助 Socks5 代理实现网络链路中转;模拟端口映射场景,验证客户端访问远端服务的连通性;排查 TCP 链路中间层连接异常等问题。工具还支持多组转发任务同时运行与多开实例,满足多端口代理需求。凡是需要搭建 TCP 端口代理、链路中转与网络透传的场景,都可以使用良友工控助手的 TCP 端口转发工具进行调试与验证。
7局域网主机发现与端口扫描工具
局域网主机发现与端口扫描工具可实现内网存活主机探测与 TCP 端口批量扫描,能够快速梳理内网网络资产,精准识别在线设备及其开放服务端口,是工控局域网运维、设备排查、网络盘点的核心调试工具。主机探测基于 ICMP Ping 协议,端口探测基于 TCP 连接,工具仅扫描 TCP 端口、不包含 UDP 端口;整体具备扫描精度高、适配性强、占用资源低的特点,适配各类工业局域网及普通办公内网环境。在良友工控助手的局域网主机发现与端口扫描工具中,支持多种扫描目标格式:单个 IP、IP 地址范围(含 192.168.1.1-254 短格式)与 CIDR 网段,可批量添加、删除多条扫描目标规则并组合执行,单次最多可覆盖 10000 个 IP;同时可一键导入本机网卡所在的局域网子网,快速锁定扫描目标网段。可自定义配置扫描并发线程数(10~300)与 ICMP 探测超时时间(100~5000ms),灵活适配不同网络环境,兼顾扫描速度与网络运行稳定性;支持开启“主机发现完成后自动端口扫描”联动,实现先发现主机、后探测端口的一体化扫描流程;也可对选中的单台在线主机右键单独发起端口扫描,不影响其他主机。端口扫描支持常用端口快速扫描与自定义端口扫描两种模式,可手动输入单个端口、端口范围、逗号分隔列表等组合格式,满足精细化端口探测需求(Modbus 502 等工控端口请使用自定义端口)。工具在探测主机存活的同时,会通过 ARP 缓存获取设备 MAC 地址、通过 DNS 反向解析获取主机名;即使设备当前 Ping 不通,只要本机 ARP 缓存中仍有记录,也会一并列出并标记为离线,便于识别“最近在线过”的闲置设备。工具内置完整的扫描结果展示面板,可实时展示扫描进度、已扫描 IP 数、发现主机数与在线主机数等统计信息;列表可视化呈现各主机的在线状态、IP 地址、MAC 地址、主机名及开放端口总数,支持按主机状态、IP 地址筛选与按列排序;选中对应在线主机,可精准查看该主机的所有开放端口及对应的协议服务名称,清晰识别设备运行的网络服务。扫描可随时中止并保留已发现的结果,主机扫描结果可一键导出为 CSV 文件,目标规则与扫描参数可保存为本地配置文件,后续直接加载即可复用,无需重复配置;工具支持多开实例,可同时扫描不同网段。可用于工控现场局域网资产盘点、全网在线设备批量筛查、内网未知设备排查、设备开放端口与服务检测,快速发现内网闲置 IP、异常接入设备,排查端口开放异常、网络设备互通异常等问题,辅助运维人员完成局域网网络拓扑梳理与安全隐患排查。凡是需要进行局域网主机探测、端口检测、内网资产统计与网络故障排查的场景,都可以使用良友工控助手的局域网主机发现与端口扫描工具进行扫描调试与运维验证。
8串口调试工具
串口调试工具用于实现 RS-232/RS-485 串行端口的数据收发调试。串口通信属于异步串行通信,依靠波特率、数据位、校验位、停止位等参数完成收发双方的时序匹配,硬件上可搭配 RTS、DTR 硬件流控信号实现链路握手,广泛应用于 PLC、传感器、串口仪表、嵌入式设备等工控设备的数据交互调试场景。在良友工控助手的串口调试工具中,可选择目标串口设备编号,配置波特率、数据位、校验位、停止位与握手流控模式,并支持 RTS、DTR 硬件流控引脚开关控制(打开串口前勾选可设定初始电平,打开后勾选可实时改变电平);点击刷新按钮还能重新枚举系统串口,USB 转串口设备插拔后无需重启软件即可识别。点击 Open 打开串口即完成链路建立,日志会逐项回显本次实际生效的波特率、数据位、校验位、停止位、流控与读写超时等底层参数,配置是否真正落到系统端一目了然;Stop 按钮可随时释放串口资源。工具支持串口发送和接收的数据以 Hex 字符串或文本字符串展示,发送端与接收端可独立选择解析模式;如果使用文本字符串进行串口通信,还可以选择字符编码,支持的编码有 UTF-8、ASCII、Unicode、GB2312 和 ANSI(跟随操作系统);Hex 模式下输入时空格会被自动忽略,便于直接粘贴设备手册中分段带空格的报文。发送区域支持开启定时循环发送,可自定义发送间隔的毫秒数值,勾选后点击一次 Send 即启动定时器、按间隔自动重复发送当前内容,取消勾选或关闭串口时自动停止,适合周期性轮询设备、模拟心跳与串口压力测试。收发日志面板带毫秒级高精度时间戳,区分 TX 发送与 RX 接收数据流,同步统计报文字节长度,发送与接收数据以不同颜色区分显示,便于观察报文交互;无效操作会给出明确提示——未打开串口就发送提示 Serial Port Not Open,发送内容为空提示 Send Data Cannot Be Empty,Hex 字符数为奇数提示 Data Length Error。工具支持数据日志自动保存,勾选自动保存并指定本地文件后,串口全部交互报文将实时追加持久化到该文件,写入期间仍可用其他程序打开查看,便于后期回溯分析;工具还支持多开实例,可同时调试多路串口。可用于串口设备通信联调、串口指令收发测试、Modbus-RTU 类串口协议调试、传感器串口报文抓取,也可用于定位串口参数不匹配、流控配置错误导致的通信异常,通过完整的串口交互日志排查设备通信故障。凡是需要开展串口设备报文调试、串口通信故障定位与串口循环压力测试的场景,都可以使用良友工控助手的串口调试工具进行调试与验证;与良友工控助手的 Modbus 主站、从站工具配合,可一端抓取原始报文、一端自动组帧解析,快速判断是参数问题还是报文问题。
9Modbus 主站测试工具
Modbus 是工业领域广泛使用的现场总线通信协议,分为 Modbus TCP、Modbus RTU、Modbus ASCII 三种协议变体,可基于串口、TCP 客户端、UDP 多种通道实现主站与从站设备间的数据交互;协议结构简单、通用性强、部署轻量,是工控设备最主流的通信调试协议。在良友工控助手的 Modbus 主站测试工具中,可选择通信通道类型(SerialPort 串口、TcpClient TCP 客户端、Udp)并配置对应的通道参数:串口可设置波特率、数据位、校验位、停止位与流控 RTS/DTR;网络通道配置远端 IP 地址与远端端口,其中本地端口仅 UDP 通道需要设置。同时选择 Modbus 协议类型(Modbus TCP、Modbus RTU、Modbus ASCII),切换通道时会自动带出匹配的协议,也可手动指定。工具支持打开多个主站实例,并可添加多路轮询界面,分别配置不同的 Slave ID 与寄存器起始地址,实现多从站、多地址分组的独立轮询监测;还支持一键将全部 Modbus 主站轮询参数保存至本地配置文件,后续直接加载,即可恢复通信参数与轮询窗口布局,无需重复手动配置,大幅提升重复调试效率。每个轮询页可配置从站 Slave ID、功能码、协议地址、数量与循环扫描周期;输入协议地址后自动换算应用地址(支持 5 位/6 位地址显示切换);支持 01/02/03/04 读取与 05/06/0F/10 写入的完整功能码,数量上限随功能码自动收敛,并校验起始地址与数量不越界;读取方式可选循环轮询或单次读写,循环模式按设定的扫描周期(ms)持续采集;视图显示行数可自定义,地址列、名称列的展示样式可控,名称列可直接编辑,为每个地址标注点位含义并随配置一同保存。工具提供寄存器表格视图,可在线读取寄存器数值,支持右键设置寄存器值、查看寄存器二进制位、切换十进制/十六进制/二进制数值显示格式。工具内置报文与错误信息窗口,实时展示原始收发报文与通信异常日志:TCP 按事务号、RTU/ASCII 按从站地址与功能码匹配请求与响应;响应校验失败、响应超时(5s)与处理超时(1s)均会记入日志,便于快速定位通信异常。还可一键执行读取、清空表格数值与应用配置操作。可用于 Modbus 从站设备通信联调、寄存器读写功能验证、多从站设备轮询测试、原始收发报文抓取分析,排查参数配置错误、链路异常、寄存器数据异常等问题,适配各类 PLC、仪表、采集模块等 Modbus 工控设备调试场景。凡是需要开展 Modbus 协议通信调试、设备轮询监测、批量参数测试与通信故障定位的场景,都可以使用良友工控助手的 Modbus 主站测试工具进行调试与验证。
10Modbus 从站模拟工具
Modbus 从站模拟工具让一台电脑扮演 Modbus 从站设备,在没有真实设备的情况下响应主站的读写请求。Modbus 协议分为 Modbus TCP、Modbus RTU、Modbus ASCII 三种变体,可通过串口、TCP、UDP 等通道承载,本工具对三种协议与多种通道均提供了支持。在良友工控助手的 Modbus 从站模拟工具中,可选择通信通道类型(SerialPort 串口、TcpServer TCP 服务端、Udp)并配置对应的通道参数:串口可设置串口号、波特率、数据位、校验位、停止位与流控 RTS/DTR;网络通道配置监听地址与监听端口(默认 0.0.0.0:502)。点击 Start,即以 Modbus 从站(服务器)身份监听端口,等待主站设备或上位机连接,同时可选择 Modbus TCP、Modbus RTU 或 Modbus ASCII 协议类型。工具支持在一个窗口内创建多路从站功能页,并可同时多开多个从站实例;每个页面独立配置从站 Slave ID、功能类型(线圈状态、离散输入、保持寄存器、输入寄存器)、协议地址与数量,输入协议地址后自动换算应用地址(支持 5 位/6 位地址显示切换),显示行数可自定义并按数量自适应,还可隐藏名称列、加粗地址列与地址表头。工具提供寄存器表格视图,可直接在单元格内手工编辑数值(支持十进制、十六进制、二进制及布尔值输入),编辑即同步写入从站数据区;右键可设置寄存器值、查看并勾选寄存器二进制位、切换数值显示格式,还可复制、粘贴、生成随机值、按地址范围快速填充;每个地址均可逐行命名点位,并随配置一同保存。更有价值的是,每个线圈或寄存器均可设置自动模拟规则:线圈可在主站每次读取前自动翻转,寄存器可在每次读取前自动递增或在设定范围内重新随机,使主站轮询到的是持续变化的数据,真实还原现场工况。工具会自动响应主站的 01/02/03/04 读取与 05/06/0F/10 写入请求,支持 Slave ID 0 广播写入;收到非法地址、数量或功能码时,会按当前协议自动返回对应的异常响应帧,未注册的从站号请求则自动忽略,可真实模拟设备的异常分支行为。工具内置报文与错误信息窗口,实时展示原始收发报文与通信日志,错误信息红色高亮并单独归集,便于快速定位通信问题。工具栏提供新建、打开、保存、切换、关闭与全部关闭,可将全部从站配置一键保存为本地的 .mos 配置文件,后续加载即可恢复通道参数、全部从站功能页、点位名称与模拟规则,无需重复手动配置;向已有窗口追加加载时会忽略文件中的端口参数、自动跳过数据区重叠的功能页,避免误改正在运行的配置。可用于无真实设备时模拟 Modbus 从站供主站程序自测、验证主站读写逻辑与异常处理、批量点位数据模拟、广播写入验证以及寄存器数据异常排查等场景。与良友工控助手的 Modbus 主站测试工具搭配使用,一端模拟从站、一端做主站轮询,无需真实设备即可完成完整的 Modbus 协议联调,是工控软件开发与现场调试的实用工具。
11Modbus 报文解析工具
一串十六进制报文并不直观,快速读懂一帧报文往往是现场调试的关键一步。Modbus 报文结构紧凑、字段含义固定,但人工逐字节对照协议规范既费时又容易出错。在良友工控助手的 Modbus 报文解析工具中,只需在左侧输入框粘贴抓取到的原始十六进制报文(支持空格与换行分隔),选择该帧的数据方向(Request 请求/Response 响应)与输出格式(Xml / Text),点击 Parse 即可完成解析,无需手动指定协议类型——工具会自动识别报文属于 Modbus TCP、Modbus RTU 还是 Modbus ASCII,并按方向自动匹配对应的报文结构。解析结果逐字段拆解后输出到右侧窗口,涵盖 MBAP 头(事务号、协议标识、长度、单元标识)、从站地址、功能码、起始地址、数量、字节数、数据区以及 CRC / LRC 校验等内容,完整支持 01/02/03/04 读取与 05/06/0F/10 写入等常用功能码的请求与响应;当报文校验不通过时会明确给出错误原因,遇到从站返回的异常响应时会直接标注异常码,无法识别的报文也会给出提示,便于快速判断问题出在参数配置、数据校验还是设备返回异常。解析结果采用颜色区分,注释为绿色、校验错误与异常信息为红色,一眼即可定位问题所在。此外,在解析结果中选中十六进制数据后右键,还可按 Int16、UInt16、Int32、UInt32、Int64、UInt64、Float、Double、Binary 等类型直接换算为具体数值,多寄存器类型支持大端、小端及字节交换等多种字序组合,换算结果以独立窗口按序号列表展示,方便核对寄存器数值;工具支持多开实例,可同时解析多帧报文。可用于现场抓包后的原始报文分析、主从站通信异常定位、寄存器数值换算核对、协议对接中的字段校验等场景。与良友工控助手的 Modbus 主站/从站测试工具配合使用,抓报文、读报文、验数值一气呵成,是排查 Modbus 通信问题的实用工具。
12数据与文件哈希工具
哈希(Hash)是软件开发与数据运维中最常用的数据指纹技术,可把任意长度的文本、十六进制数据或文件映射为固定长度的摘要值,具有计算快速、相同内容必得相同摘要、结果不可逆的特点,是校验文件完整性、验证发布包是否被篡改、比对数据是否一致的主流手段。良友工控助手的 Data Hasher(数据哈希)工具分为数据哈希与文件哈希两个页签,无需记住命令行参数或另装工具,一个窗口即可完成全部哈希与校验值计算。数据哈希页支持 Text 文本与 Hex 十六进制两种输入格式:文本模式按编码把字符串转换为字节后计算,Hex 模式则直接按原始字节计算,结果与设备报文、协议数据的字节级哈希完全一致,适合用来验证自定义校验算法的实现;勾选所需的算法(MD5、SHA256、SHA512 或国密 SM3),点击 Hash 即可一次算出全部结果并按算法分行显示,输入非法十六进制时会明确给出错误提示,不会静默出错。文件哈希页支持一次选择多个文件批量计算,可自由组合勾选 MD5、SHA256、SHA512、SM3、CRC32 五种算法,每个文件输出完整路径、文件大小以及所勾选算法的哈希值;大文件采用异步分块读取,计算过程不阻塞界面,进度条实时反映整体进度;还可一并提取文件的版本号(Version)与最后修改时间(Date),批量处理安装包或固件时顺带整理出发布清单。数据哈希与文件哈希两类结果分栏显示,正常输出与异常提示以颜色区分;Clear 可快速清空结果(数据页还会同时清空输入),便于连续操作;工具支持多开实例,可同时处理多批数据、互不干扰。可用于上位机安装包与设备固件的发布校验,经 U 盘、邮件或网盘传输后的大文件完整性比对,固件升级前的指纹核对,通信报文校验值自测,以及国密合规项目中的 SM3 摘要验证等场景。与良友工控助手的 Modbus 报文解析工具配合使用,可用 Hex 模式复算报文的校验值,并与解析结果相互印证,是数据完整性与安全校验的实用工具。
13超级工具箱
在日常开发与工控调试中,字符串、十六进制、URL、Base64、JWT 之间的编码转换是最琐碎也最高频的操作——报文要转成 Hex 查看、Hex 要还原成文本、中文要做 URL 转义、想看看接口返回的 Token 里究竟是什么,每次都要打开在线网站、另装一个工具,或者临时写段脚本。良友工控助手的超级工具箱(Super Toolbox)把这些转换全部内置到一个窗口,离线本地计算、无需联网,敏感数据不出本机。使用时先在 Select 下拉框中选择要执行的转换类型(共 14 种),按钮文字会随所选类型自动变更,再按需在 Encoding 下拉框指定字符编码(UTF-8 / ASCII / Unicode / GB2312 / ANSI),在输入框填入源数据,点击按钮即可在下方结果区看到转换结果。工具覆盖报文处理最常用的字符串与 Hex 互转:To HexString 按所选编码把文本转为十六进制报文,To PlainString 把十六进制报文还原为可读文本(输入非十六进制时原样输出);Add Spaces 每两个字符插入一个空格,把连续 Hex 整理成分段报文以便阅读;Del Spaces 一键移除全部空格与换行,把从日志里复制来的多行报文压成一行;To Upper / To Lower 统一字母与 Hex 大小写;Get Length 计算字符长度与十六进制长度,并在长度为偶数时额外给出折半长度即字节数,构造协议帧长度字段时直接可用。编解码方面,URL Encode / URL Decode 用于 HTTP 接口调试与查询参数构造;Base64 提供四个方向——文本转 Base64、Hex 转 Base64、Base64 还原文本、Base64 还原 Hex,便于把二进制报文作为 JSON 字段传输,或把对接方返回的 Base64 还原成原始字节分析;JWT Decode 粘贴完整 Token 即可解出 Header 与 Payload 两段 JSON,快速查看签名算法、过期时间与权限声明(仅解码内容,不做签名校验)。所有结果都在结果区着色显示——日志行带时间戳、结果蓝色、错误红色,异常输入会明确报错而不是静默失败;Clear 可一键清空输入与结果,便于连续执行多次转换;工具箱支持多开实例,可同时进行多组互不相干的转换。可用于设备报文与文本之间的来回转换、日志中多行 Hex 的格式化整理、接口联调时的 URL 与 Base64 编解码、JWT 有效期与权限声明排查、协议帧长度字段计算,以及替代存在数据泄露风险的在线转换网站等场景。凡是需要在文本、Hex 与各类编码之间做快速转换的场景,都可以使用良友工控助手的超级工具箱;与 Modbus 报文解析工具配合,可先用 Add Spaces 把抓到的报文整理成规整格式再粘贴解析;与 TCP、UDP、串口系列工具配合,可把日志中的报文整理后复用;与 Data Hasher 配合,则构成从编码转换到哈希校验的完整数据处理链。
结语
从 TCP 客户端与服务端、UDP 单播/组播/广播,到 TCP 端口转发、局域网主机发现与端口扫描、串口调试,再到 Modbus 主站、从站与报文解析、数据与文件哈希、超级工具箱——13 个插件各自解决一类问题,却共享同一套 UI 风格与操作逻辑:会用其中一个,其余的几乎零门槛上手;每个插件都支持多开实例,需要几路就开几路,互不干扰;所有功能均在本地完成,无需联网、不上传数据,敏感报文与固件始终留在本机。统一而不拼凑、集成而不臃肿,正是这种组合方式让它得以替代电脑里那些零散安装、各自为政的小工具——不必再在一堆软件之间反复切换,也不必为了一个临时需求去打开在线网站或现写一段脚本。
工控从来不是它的边界,只是它的起点。凡是涉及设备调试、产品测试、网络通信、研发辅助、故障排查与网络运维的工作,无论是在工业现场、实验室,还是在日常的办公桌面上,几乎都能在这 13 个插件里找到现成的那一件。现场的时间常常耗在“报文看不懂、链路连不上、数据对不齐”这类重复而琐碎的环节上;良友工控助手要做的,就是把这些环节逐一接过去,让工程师把精力留给真正需要判断的部分。
软件仍在持续迭代:界面在改、功能在补、细节在打磨,插件的数量也会随着实际需求不断扩充——今天的 13 个插件,只是它当前的样貌,而非终点;来自一线使用中的每一条反馈,都可能成为下一版新增功能的方向。而它的愿景始终未变——成为工程师桌面上的瑞士军刀。凡是需要开展设备调试、网络通信验证、数据校验与故障排查的场景,都可以把它收进工具箱,需要用的时候,它就在那里。良友工控助手,竭诚为您服务。