个人 · 工控软件开发记录

金成工控开发录

我是金成,一名专注工业控制领域的软件开发者。这里记录我在上位机应用、PLC 通讯、数据采集等方向的开发实践与手记,沉淀经验,也供同行参考。

关于我

你好,我是金成,一名工业控制软件方向的个人开发者。这些年我一直与 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 与边缘网关

组态界面设计、协议转换与边缘计算盒子上的轻量化服务部署。

精选作品

几个持续维护的工控方向个人项目,从现场采集到调试工具,都是日常在用的东西。

产线数据采集看板

实时采集多台 PLC 的运行数据,写入时序库并生成可视化看板,现场大屏在用。

C# InfluxDB
了解详情

Modbus 通讯调试工具

支持 RTU/TCP 的报文调试小工具,可自定义功能码、收发原始帧并解析寄存器数值。

C# WPF
了解详情

边缘协议网关

部署在边缘盒子上的 Modbus 转 MQTT 协议转换服务,支持断网缓存与补传。

Python MQTT
了解详情

技术栈

工控软件开发中主要使用的语言、协议与工具。

上位机

  • C# / .NET 8
  • WPF
  • WinForms
  • Avalonia

工业协议

  • Modbus RTU/TCP
  • OPC UA
  • S7 / Melsec MC
  • MQTT

数据与可视化

  • InfluxDB
  • Grafana
  • PostgreSQL
  • ECharts

平台与工具

  • Linux
  • Docker
  • Git
  • 串口/网口调试工具

联系方式

欢迎交流工控软件开发相关的话题——协议实现、上位机架构或是现场踩坑经历。你可以通过以下方式找到我。