WPF 实战开发的高颜值工业级串口通信调试工具

279 阅读4分钟

前言

在工业自动化领域,串口通信是设备之间数据传输的重要手段。为了提高开发效率和调试便利性,一款功能强大且用户友好的串口调试工具显得尤为重要。

本文将介绍如何使用C#+ WPF开发一款兼具美观与实用的工业级串口调试工具。

项目介绍

BYSerial 是一款专为 Microsoft Windows 设计的图形界面(GUI)串口调试工具。

BYSerial 提供了通用串口调试工具的所有基本功能,并支持编译好的版本,方便用户直接试用或参考源码编写自己的程序。

不管是需要配置串口参数、实时监控数据传输,还是记录和导出通信日志,BYSerial 都能满足大家的需求。

开发工具采用 Visual Studio 2022,确保项目的高效性和稳定性。感兴趣的朋友欢迎下载和使用本项目。

项目功能

串口通讯调试:支持设备检测、流控、ASCII/HEX编码、循环发送、发送/接收数据显示及颜色区分、时间戳、状态统计、历史记录和实时保存。

TCP通讯调试:支持Client/Server模式、异步通信、UTF8编码、连接管理、与串口类似的功能集。

常用小工具:提供多种校验方法、数据转换工具、图片与Base64互转、模拟量与工程量转换、ASCII码表、颜色对照表和屏幕颜色拾取。

多语言支持:中英文双语切换。

版本更新:自动检查版本更新。

快捷命令:支持自定义快捷命令。

协议调试:支持多种Modbus协议及主流PLC品牌通讯调试,以及MQTT和BACNet调试。

数据可视化:支持串口接收数据曲线显示。

小工具详细功能

校验方法:包括LRC、XOR、CheckSum、FCS、Modbus-CRC16等。

数据转换:整数和小数与16进制HEX互转。

图片与Base64互转:方便图像处理和存储。

模拟量与工程量转换:适用于数据采集场景。

ASCII码表:快速查找ASCII码。

C# 颜色对照表:用于UI开发。

屏幕颜色拾取:使用鼠标hook技术实现。

项目使用

1、检查更新方式

利用gitee作为更新检查的服务器,将版本号和下载连接写在gitee项目文件中,实现自动检查更新并提供下载连接的功能。

2、快捷命令列表

对于调试时,常用的命令可以在此处设置,方便快速调试

3、ModbusRTU/ModbusAscii/ModbusTCP调试

PLC、MQTT、BACNet等在工控工具界面中。

4、关于Siemens的PLC地址

VB263、VW263、VD263中的B、W、D分别表示:byte型(8位)、word型(16位)、doubleword型(32位)。

在本组件传入地址的时候不需要带数据类型,直接使用对应方法读取对应类型即可,如:

VB263       - V263
VD263       - V263
VD263       - V263
DB108.DBW4  - DB108.4
DB1.DBX0.0  - DB1.0.0
DB1.DBD0    - DB1.0

5、曲线图表功能使用

先进行曲线设置,然后再打开曲线显示界面,只支持单数据采集。

HEX行 [起始序号] 为数据在返回的HEX字符串中的位置,序号从0开始,字节顺序为对应数据类型中字节解码顺序,注意字节顺序要和前面的数据类型相匹配,否则无法解析。

ASCII行 [起始序号]和[字符长度]截取需要的一个数值,序号从0开始。

引用第三方库

1、HandyControl

gitee.com/handyorg/Ha…

2、LiveCharts

v0.lvcharts.com/

3、IOTClient

gitee.com/zhaopeiym/I…

4、MQTTnet

github.com/dotnet/MQTT…

项目效果

项目源码

Gitee:gitee.com/LvYiWuHen/b…

总结

以上仅展示了Windows下的GUI串口调试工具的部分功能。更多实用特性和详细信息,请大家访问项目地址。

希望通过本文能为 WPF和串口通讯开发方面提供有价值的参考。欢迎在评论区留言交流,分享您的宝贵经验和建议。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

优秀是一种习惯,欢迎大家留言学习!