HslCommunication,一个工具测遍所有 PLC

基本都是"一个工具管一个协议"------Modbus Poll 管 Modbus,UaExpert 管 OPC UA,MQTTX 管 MQTT,今天阿木想跟大家分享一个珍藏多年压箱底的工具,做设备通讯测试用得最多的一个测试工具------Hslcommunication,胡工通讯工具。这款工具融合了市场上90%以上常用品牌&型号的PLC通讯协议,包括Modbus,西门子S7,三菱MC,MQTT,罗克韦尔CIP,松下Mewtocol,台达TCP NET等等各种PLC协议,还有其它不常用到的一些品牌仪表的通讯协议也有,比如电力规约DLT645/IEC104等等,同时它还可以作为通讯协议测试服务器使用,拥有这一款协议测试工具之后,其它通讯测试工具基本上可以卸载大半了,我愿称之为"通讯百宝箱"。
除此之外,Hslcommunication还是一个可直接调用的.Net通讯库,对做上位机开发的同学尤其有用。只是新版本非开源,需付费授权使用。网络上有老的开源版本,小项目也够用。
HslCommunication(作者 Richard.Hu,圈内称"胡工")是国内使用极广的工业通信库,把几十种工业协议封装成同一套 API

两个重要功能:

形态 用途
HslCommunicationDemo(图形工具) 现场快速验证设备通不通、地址对不对
HslCommunication.dll / NuGet 包 直接在你自己的上位机项目里调用(有C#/Java/Python版本都有)

支持范围(这是它最值钱的地方):

PLC 品牌:西门子(S7-200/300/1200/1500)、三菱(FX/Q 系列)、欧姆龙、罗克韦尔 AB、基恩士、松下、倍福、汇川、台达、永宏、富士、信捷、横河、LS、GE......

协议:Modbus RTU / TCP / ASCII、OPC UA(客户端)、西门子 S7、三菱 MC、欧姆龙 FINS、自由协议......

不止 PLC:

  • 机器人:ABB、库卡 KUKA、发那科 FANUC、安川、埃夫特

  • 其他:Redis、MQTT、WebSocket、HTTP、CNC 数控机床、电能表(DLT645)、条码扫描、身份证读卡器、电子秤

一、当测试工具用(Demo 版)

Demo 是绿色软件,解压就能跑,依赖 .NET Framework。

使用步骤:

  1. 左侧选设备 ------ 找到对应品牌点开(如"西门子"→"西门子 PLC")

  2. 填参数 ------ IP、端口。常用默认端口:

  • 西门子 S7:102(还要填机架号 0、槽号 1)

  • 三菱 MC:6000

  • Modbus TCP:502

  1. 点连接 → 弹出框显示"连接成功",然后就能读写测试

实用功能:

  • 地址直接用 PLC 地址 ------ 西门子写 DB1.DBW0、三菱写 D100、Modbus 写 40001,不用自己换算

  • 批量读写、字符串读写、浮点数读写

  • 实时日志 ------ 每一帧的错误信息都能看到,排查问题很快

  • 字节序可切换 ------ 读浮点数不对时,找 ByteTransform / 字序设置,切 ABCD / CDAB 试试

  • 还能当仿真服务器 ------ 可以模拟出一台虚拟 PLC(如西门子服务端),没有硬件也能练手

    阿木的用法:在做现场PLC数据采集,或做上位机项目时拿到一台从没连过的 PLC,我先用 Demo 连一次。通了,说明链路和地址没问题,再往代码里搬;不通,先解决现场问题。 比闷头写代码快得多。


二、当开发库用(NuGet 安装)

这才是它真正的杀手锏。

安装步骤:

Visual Studio 里右键项目 → 管理 NuGet 程序包 → 搜索HslCommunication→ 安装。

或命令行:

复制代码
Install-Package HslCommunication

认准作者 Richard.Hu / dathlin 的官方包。

三行代码读写 PLC:

// 西门子 S7-1200SiemensS7Net plc = new SiemensS7Net(SiemensPLCS.S1200, " 192.168.0.1"); ``plc.ConnectServer(); ``short value = plc.ReadInt16("DB1.DBW0").Content; // 读 ``plc.Write("DB1.DBW0", (short)666); // 写 ``plc.ConnectClose();

复制代码
// Modbus TCP    ModbusTcpNet modbus = new ModbusTcpNet("192.168.0.2", 502);   modbus.ConnectServer();  short v = modbus.ReadInt16("40001").Content;  modbus.Write("40001", (short)888);

特点:

特点 说明
统一 API 所有品牌都是 ReadInt16 / ReadFloat / ReadString / Write,切换品牌只换类名
OperateResult 统一返回 每次读写返回带 IsSuccess 和 Message 的结果对象,失败原因直接可读,不用猜
长短连接可选 默认短连接;高频采集可 SetPersistentConnection() 开长连接
内置断线重连 底层帮你处理网络异常,不用自己写重连逻辑
跨平台 .NET Core 下可跑 Linux;另有 Java 版和 Python 版

关于授权(重要,务必看清楚):这块必须清楚,别稀里糊涂用。

版本 授权情况
V7.0.1 及更早 最后一个开源版本。官网说明:个人用户可免费使用;企业商业使用仍需购买商业授权
新版本(V9 之后) 闭源,需付费授权。未激活时有时限(早期 8 小时 / 24 小时,视版本而定)

官网对"商业使用"的界定(这段建议仔细读):

  • 二次开发软件后卖给其他企业使用 → 商业使用

  • 二次开发软件后用于自己的工厂,因为产生经济效益 → 也算商业使用

个人的建议:

  1. 学习、自测、个人研究 → 用 V7.0.1 及更早的开源版本,主流品牌常用型号都够用;

  2. 企业项目、交付给客户、用在自己工厂产线上 → 请购买商业授权。一套授权的费用,远低于项目出问题时你要承担的责任;

  3. 别抱着侥幸心理。这个库作者一直在维护,用得放心,也该给开发者应有的尊重。

说句实在话------一个能让开发周期从两周缩短到两天、还长期有人维护的库,付费是合理的。 这也是国内工业软件生态能持续发展的基础。


常见问题:

现象 大概率原因
连接超时 / 失败 IP 与电脑不同网段、防火墙拦截、PLC 端口未开放
读出来值不对 数据类型选错(int/float 混了)或字节序错,切字序试试
提示地址无效 地址格式写法不对,严格按 PLC 编程软件里的地址填
写入失败 PLC 侧该地址不允许写,或正处于 RUN 保护状态
三菱连不上 PLC 参数里 MC 协议端口没打开
西门子连不上 机架号/槽号填错(S7-1200/1500 通常 0 和 1)

上位机开发替代方案:

  • 西门子,你也可以看看开源免费的 S7NetPlus(GitHub 可搜);

  • Modbus,不同的开发语言网络上都能找到Modbus协议库,比如libmodbus、FreeModbus‌------C/C++;NModbus------C#/Modbus TCP;uModbus------Python

  • 三菱/汇川,你也可以使用三菱官方API;

另外,阿木还想跟大家分享一个开源协议库:IoTClient,它是一个.NET 通信协议开源库,支持主流 PLC(西门子、三菱、欧姆龙等)、ModBus、Bacnet 等工业通信协议,基于.NET Standard 2.0,可跨平台运行(Windows、Linux、树莓派)。‌‌

网址:https://github.com/zhaopeiym/IoTClient/

同样,它同时还有配套的测试工具IoTClient Tool,绿色免安装版,比Hslcommunication更小,只是协议没有Hslcommunication全,但是常用的PLC品牌协议也都有,基本够用。如果大家有需要可以下方留言,阿木发给大家。

相关推荐
涛思数据(TDengine)2 小时前
栖息地 AI 超恒气候系统用 TDengine 支撑全屋环境品质实时监测与历史追溯
人工智能·ai·时序数据库·tdengine·工业ai
在繁华处2 小时前
2.1 上下文:决定 Agent 能力上限的关键
前端·人工智能·microsoft
ndsc_d2 小时前
2026年有哪些好用的AI UI设计工具?主流工具功能和适用场景对比
前端·人工智能·ui·ai·设计师·ai ui·ai ui工具
阿狗童鞋2 小时前
Python爬虫进阶实战指南
开发语言·爬虫·python
下页、再停留2 小时前
【C#桌面客户端系列学习-7】数据查询展示
开发语言·c#·visual studio
天空鸟_时光不老2 小时前
1-2-2-什么是大语言模型
人工智能·语言模型·自然语言处理
挖掘狂人2 小时前
Redis 正式接入 AI:当"最懂速度的数据库"开始解决"记忆问题"
人工智能·redis·后端
Jason_zhao_MR2 小时前
新一代电能数据采集终端方案
linux·人工智能·嵌入式硬件·fpga开发·嵌入式