关于我
你好,我是金成,一名工业控制软件方向的个人开发者。这些年我一直与 PLC、上位机、工业协议打交道,从车间现场的数据采集到监控室内的可视化界面,大多时间都花在工控软件的设计与实现上。
我习惯把开发中遇到的协议细节、踩过的坑和验证过的方案整理下来。这个站点就是我的记录本:一边沉淀自己的实践经验,一边把可复用的工控软件开发心得分享出来。
需要说明的是,本站为个人非商业性质站点,仅用于记录开发实践与交流工控软件开发经验,不提供任何商业服务。如果你也在做工控软件,欢迎来信交流。
开发手记
日常调试与实现过程中的零散记录,按时间整理,供自己回溯,也供参考。
-
2026-09
Modbus RTU 粘包处理的几种思路
串口接收不定长报文时,基于帧间隔与长度字段的拆包策略对比,以及在 C# 串口缓冲中的落地写法。
Modbus 串口通讯 C# -
2026-07
OPC UA 订阅断线重连实践
现场网络抖动导致订阅中断后,如何检测会话失效、重建订阅并补齐采样数据,避免看板长时间静默。
OPC UA 断线重连 -
2026-05
WPF 上位机界面卡顿优化记录
采集线程频繁刷新 UI 造成卡顿,从绑定更新频率、冻结对象到虚拟化列表逐项排查与改进入手的过程。
WPF 上位机 性能优化 -
2026-03
S7 协议读浮点数的字节序坑
西门子 S7 通讯读取 REAL 类型时高低字节序与 .NET 默认顺序不一致的问题定位,以及通用转换封装。
S7 PLC 通讯 边缘网关
能力范围
围绕工控软件的长期积累,从现场通讯到上位展示,以下是我反复实践的几个方向。
上位机应用开发
基于 C#/.NET 的桌面端上位机,熟悉 WPF 与 WinForms 的界面与多线程采集架构。
PLC 与工业协议通讯
Modbus RTU/TCP、OPC UA、Siemens S7、三菱 MC 等协议的读写封装与异常处理。
数据采集与可视化
MQTT 数据上送、InfluxDB 时序存储与 Grafana 看板搭建,让现场数据可读可用。
SCADA/HMI 与边缘网关
组态界面设计、协议转换与边缘计算盒子上的轻量化服务部署。
技术栈
工控软件开发中主要使用的语言、协议与工具。
上位机
- C# / .NET 8
- WPF
- WinForms
- Avalonia
工业协议
- Modbus RTU/TCP
- OPC UA
- S7 / Melsec MC
- MQTT
数据与可视化
- InfluxDB
- Grafana
- PostgreSQL
- ECharts
平台与工具
- Linux
- Docker
- Git
- 串口/网口调试工具
联系方式
欢迎交流工控软件开发相关的话题——协议实现、上位机架构或是现场踩坑经历。你可以通过以下方式找到我。
- yu_sea@qq.com
- github.com/jincheng-gk
- 微信:jincheng_gk(请注明来意)