技术教程

来自一线项目的实战教程与踩坑记录,覆盖上位机、工业通讯、边缘采集、时序数据库与国产化落地,每篇都尽量给到可运行的步骤与明确结论。

实战教程

工控上位机数据采集,协议、网关与数据库到底怎么选
实战教程 · 2026-09-01

从上位机直连到边缘网关解耦,一篇讲清采集架构、协议、网关软件与时序数据库的选型顺序和判断标准。

数据采集选型方法边缘网关
工控通讯的断线重连机制:心跳、退避与状态恢复设计
实战教程 · 2026-08-15

断线重连是工业通讯的基本功,却最容易被写成“死循环重连”。本文系统讲清心跳检测、指数退避、状态机和数据补齐的完整设计。

断线重连通讯可靠性心跳机制
SQLite 在单机上位机中的可靠使用:模式、备份与防损坏
实战教程 · 2026-08-13

单机 HMI 用 SQLite 存历史非常轻量,但用不好会丢数据甚至库损坏。本文讲清日志模式、事务批量写、备份和防损坏的工程实践。

SQLite上位机数据存储
设备报警如何上传 MES:报警代码映射、分级与去重规则
实战教程 · 2026-08-11

PLC 里成百上千个原始报警点,不能原样堆给 MES。本文讲清如何设计统一报警代码映射表、报警分级、去重与生命周期管理。

MES报警管理数据映射
MQTT 在工业现场的正确用法:主题设计、QoS 与遗嘱消息
实战教程 · 2026-08-09

MQTT 是工业物联网最常用的消息协议,但主题乱设计、QoS 乱选会埋坑。本文讲清主题分层、三种 QoS 的取舍和遗嘱消息在设备离线判定中的作用。

MQTTEMQXMosquitto
入门 Web HMI:用 Vue3 + TypeScript 做一个实时设备状态页
实战教程 · 2026-08-07

Web HMI 是未来趋势,跨平台、免安装、易分发。本文带前端基础薄弱的工控工程师,用 Vue3 + TypeScript 搭一个能实时刷新的设备状态页。

Web HMIVue3TypeScript
WPF 上位机用 MVVM 架构:让界面和逻辑彻底分开
实战教程 · 2026-08-05

WPF 做工业上位机,代码全堆在按钮事件里会越来越难维护。本文讲清 MVVM 的 Model/View/ViewModel 分工和数据绑定,给出可落地的项目结构。

WPFMVVMC#
Node-RED 实现设备状态优先级与通讯中断判定
实战教程 · 2026-08-03

一台设备同时有运行、待机、报警、故障、离线等状态,界面到底显示哪个?本文用 Node-RED 实现状态优先级计算和通讯中断自动判定。

Node-RED设备状态报警逻辑
Grafana 做工业监控看板:从数据源到告警通知
实战教程 · 2026-08-01

Grafana 是工业看板事实标准。本文讲清如何接 TDengine 数据源、设计设备状态看板、配置阈值颜色和告警,做出真正给现场用的大屏。

Grafana数据看板告警
Telegraf 采集设备数据写入 TDengine:完整配置步骤
实战教程 · 2026-07-29

Telegraf 插件丰富,是把 MQTT/Modbus 数据写入 TDengine 的常用桥梁。本文给出从输入插件到 TDengine 输出插件的完整配置和验证方法。

TelegrafTDengine数据采集
TDengine 3.x 在 Ubuntu 22.04 离线安装与开机自启(实测)
实战教程 · 2026-07-26

工控内网服务器常常无法联网。本文给出 TDengine 3.x 在 Ubuntu 22.04 上的离线安装步骤、服务自启、客户端验证和常用初始配置。

TDengineUbuntu离线安装
OPC UA 快速上手:开源栈选型与第一个客户端
实战教程 · 2026-07-23

OPC UA 是工业互联的标准方向。本文对比 C/C++、Python、Java 主流开源栈,带读者理清地址空间、节点、订阅三个核心概念,写出第一个可用客户端。

OPC UAopen62541Eclipse Milo
西门子 S7 读取 DB 块:三种开发方式对比与选型
实战教程 · 2026-07-20

读取西门子 S7-1200/1500 的 DB 块,有 Snap7、OPC UA、开源 S7 库等多种方式。本文对比它们的适用场景,并讲清 DB 块优化访问等关键设置。

西门子S7Snap7
三菱 MC 协议上位机通讯:批量读取与断线重连实战
实战教程 · 2026-07-17

三菱 Q/L/FX 系列以太网通讯常用 MC 协议(3E 帧)。本文讲清批量读的报文结构、软元件代码,以及生产环境必须做的断线重连机制。

三菱MC协议PLC通讯
Modbus TCP 多地址批量读取:减少轮询次数的正确做法
实战教程 · 2026-07-15

逐个地址轮询是 Modbus 通讯慢的常见原因。本文讲清保持寄存器/输入寄存器的批量读原理,以及如何合并连续地址、显著降低网络开销。

Modbus TCP通讯优化libmodbus

踩坑实录

2G 内存边缘服务器被跑满:边缘服务资源规划清单
踩坑实录 · 2026-08-27

在小规格服务器上堆了一堆服务,结果内存占满、频繁卡顿。本文给出边缘节点的服务取舍、资源预算和排查命令清单。

边缘计算服务器运维内存优化
上位机界面在小分辨率工控屏显示不全:根因与修复
踩坑实录 · 2026-08-25

在开发机上界面正常,搬到低分辨率工控触屏就按钮被截断、文字溢出。本文讲清根因和可自适应的布局方法。

HMI界面适配分辨率
OPC DA 的 DCOM 配置有多折腾?为什么新项目应直接上 OPC UA
踩坑实录 · 2026-08-23

老项目用 OPC DA 常被 DCOM 配置折磨到崩溃。本文讲清 DCOM 难在哪、典型坑,以及向 OPC UA 迁移的建议。

OPC DAOPC UADCOM
用 MySQL 存高频点位的教训:为什么工业监控需要时序数据库
踩坑实录 · 2026-08-21

不少团队图熟悉,用关系数据库存设备点位,几个月后查询变慢、磁盘暴涨。本文复盘原因,并说明时序数据库到底解决了什么。

时序数据库TDengine数据库选型
网络一抖数据就缺一段?断网缓存与补传方案对比
踩坑实录 · 2026-08-19

边缘采集到中心库之间网络不稳定,会造成数据缺口。本文对比几种断网缓存方案,给出边缘侧低成本、不丢数据的落地做法。

断网缓存数据补传边缘计算
SQLite 报 database disk image is malformed:排查与预防全记录
踩坑实录 · 2026-08-17

数据库损坏导致后台列表空白是很棘手的问题。本文复盘 malformed 的常见成因、排查步骤、恢复手段,以及如何从流程上彻底避免。

SQLite故障排查数据库损坏

方案架构

为什么应用必须和通讯解耦?一套能维护十年的设计原则
方案架构 · 2026-07-13

通讯逻辑和业务逻辑混写,是上位机项目后期改不动、不敢改的主要原因。本文讲清解耦的具体做法和带来的长期价值。

解耦架构设计上位机
从单机 SCADA 到多厂区监控:分阶段演进路线,避免一步到位的坑
方案架构 · 2026-07-06

监控系统最忌讳一上来就按集团级规模设计。本文给出单机→车间→厂区→集团的四阶段演进路线,以及每一阶段该做什么、不该过早做什么。

SCADA数字化转型演进路线
边缘采集落地:Neuron + EMQX + TDengine 各管什么、怎么配合
方案架构 · 2026-06-29

国产边缘采集栈 Neuron、消息中间件 EMQX、时序数据库 TDengine 经常被一起提到。本文讲清三者分工、数据流向和最小部署方式。

NeuronEMQXTDengine
工业通讯的「驱动工厂」模式:新增协议不再改主程序
方案架构 · 2026-06-22

每接一种新协议就改一遍主逻辑,是采集系统难以维护的根源。本文讲清驱动工厂模式的接口设计,让协议扩展变成新增文件而非修改核心。

设计模式驱动工厂工业通讯
30 台设备集中监控怎么搭?从驱动层到时序库的标准化架构
方案架构 · 2026-06-15

以 30 台冲床/设备集中监控为例,给出一套可复制的采集、存储、展示标准架构,以及每一层的技术选型和容量估算方法。

数据采集时序数据库监控系统