Skip to Content
上位机完整能力地图

上位机开发完整能力地图

这页专门回答一个问题:把整套文档敲完以后,到底会不会做上位机,还缺不缺关键基础?

先说结论

Week 01-12 负责 C#、.NET、Avalonia 和 MVVM 基础;Week 13-21 负责设备通信、工业协议、实时采集、历史数据、趋势报警、工业界面和现场交付。两阶段都完成,才形成完整的上位机基础能力。

这套路线覆盖的是“通用工业上位机开发底座”,不是声称学完就自动精通所有厂家的设备和协议。

21 周能力覆盖表

能力领域学习周次必须做到什么
C# 基础语法Week 01能独立写变量、判断、循环、方法和集合程序
集合与数据处理Week 02能筛选、分组、统计、清洗和处理坏数据
面向对象Week 03能用类、接口、组合、事件建立设备模型
异步与取消Week 04能写不阻塞界面的任务、超时、并发和取消
工程结构Week 05能拆分 Core、Service、Infrastructure、App 和 Tests
Avalonia 基础Week 06-08能搭窗口、布局、控件、样式、模板和复用控件
MVVMWeek 07能正确使用 Binding、Command、验证和集合通知
桌面交付基础Week 09-12能保存配置、处理大列表、记录日志、测试和发布
字节与串口Week 13能分析十六进制报文,完成串口异步收发和帧解析
TCP 与 UDPWeek 14能处理粘包拆包、心跳、超时、重连和设备发现
ModbusWeek 15能读写线圈和寄存器,处理地址、字序、缩放和异常码
OPC UAWeek 16能连接、浏览、读写、订阅并处理证书和质量码
实时采集引擎Week 17能设计驱动、调度、队列、缓存、质量码和 UI 节流
SQLite 历史数据Week 18能建表、批量写入、时间查询、迁移、保留和备份
趋势与报警Week 19能做实时/历史趋势和完整报警生命周期
Avalonia 工业专项Week 20能管理生命周期、导航、UI 线程、工业控件和安全写入
测试与现场交付Week 21能做模拟器、自动测试、诊断、权限、升级、回滚和联调

一个真实上位机的数据流

真实设备或模拟器 -> Serial / TCP / Modbus / OPC UA 驱动 -> 采集调度器 -> TagSample(值 + 质量 + 时间) -> 有界队列 -> 最新值缓存 -> Avalonia ViewModel -> 实时界面 -> 报警服务 -> 活动报警 / 确认 / 恢复 / 审计 -> SQLite 批量写入 -> 历史查询 -> 趋势图 / 报表 -> 日志和指标 -> 诊断包 -> 现场排错

如果其中任意一段只会复制,不会解释和排错,就回到对应周重做。

Avalonia 是否覆盖完整

用于上位机的 Avalonia 核心能力已经覆盖:

  • XAML、布局、常用控件、资源和样式。
  • DataTemplate、ControlTemplate、UserControl 和自定义控件。
  • MVVM、Binding、Command、数据验证和集合通知。
  • 页面导航、对话框、文件选择和应用生命周期。
  • UI 线程、Dispatcher、后台任务、进度和取消。
  • 大列表虚拟化、趋势数据节流和界面性能。
  • 键盘焦点、状态可读性、本地化和工业操作流程。
  • 安全写命令、权限、联锁、确认、回读和审计。
  • 发布、关闭清理、异常日志和现场诊断。

Avalonia 只是界面层。真正的上位机能力还包括通信、采集、数据库、报警和现场排错,所以不能只学 Week 06-08。

学完能达到什么阶段

只完成 Week 01-12

能达到扎实的初级 C# / Avalonia 桌面开发阶段。可以开发普通 CRUD 桌面程序,但还不能独立承担工业通信项目。

完成 Week 13-19

能开发包含串口、TCP、Modbus、OPC UA、采集、SQLite、趋势和报警的上位机核心功能。

完成 Week 20-21 和毕业项目

能够独立承担常见初中级上位机项目:需求拆分、架构、开发、模拟测试、设备联调、发布和故障定位。

“专业从业者”还需要真实项目经验。建议至少做 2-3 个完整项目,并经历一次真实设备联调和一次现场故障处理。

哪些不属于通用基础

下面内容根据行业和设备选择,不必全部塞进第一条主线:

  • CAN、CANopen、EtherCAT、Profinet、EtherNet/IP。
  • MQTT、IEC 60870-5-104、BACnet、DL/T 645。
  • PLC 编程、运动控制、机器视觉和机器人 SDK。
  • 大型 SCADA、MES、云端数据平台和 Web 远程监控。
  • 特定厂家的私有协议、驱动库和组态软件。

遇到具体项目后,再增加对应协议专题。不要在基础没有扎实时同时追十种协议。

最终毕业项目必须包含

  1. 至少 3 台模拟设备和 1 种真实通信方式。
  2. 设备和点位配置。
  3. 后台采集、取消、超时、重连和质量码。
  4. 实时监控、历史查询和趋势图。
  5. 报警产生、延时、死区、确认、恢复和审计。
  6. SQLite 批量写入、保留、备份和恢复。
  7. 操作员、工程师和管理员权限。
  8. 安全写入、联锁、确认和回读。
  9. 日志、健康指标和一键诊断包。
  10. 自动测试、发布包、升级回滚和验收文档。

完成的判断标准不是“页面做出来了”,而是断网、坏数据、数据库忙、重复点击、关闭窗口等异常情况下仍然可控、可恢复、可排查。