Appearance
新手学习路径
下面是一条从零到能独立维护简单上位机项目的学习路线。每个阶段都有明确的目标、内容、产出和验收标准。业余时间整体大约需要 4–8 周,但不需要按天数机械推进。
**先记住一个区别:**本页故意让新手完整经历“概念→技术→读项目→做项目”,目的是建立工程直觉;进入真实项目以后,不应该把这条教学路线套到每次修改。生产任务使用 V10 Intent Gate:Read-Only / Fast / Execution / Discovery。
路线总览
mermaid
flowchart LR
A[阶段一<br/>了解概念<br/>1-2 天] --> B[阶段二<br/>认识技术栈<br/>3-5 天]
B --> C[阶段三<br/>看懂项目<br/>1-2 周]
C --> D[阶段四<br/>动手做项目<br/>2-4 周]
D --> E[按实际任务进入 V10 工作方式]首页的“6 步入门路线”是这条 4 阶段路线的浓缩版;有其它开发经验的人可以改走 转型四周练习线。
阶段一:了解概念(1–2 天)
目标:能用自己的话说清上位机是什么,不再被术语吓到。
要学的内容
| 顺序 | 页面 | 你要得到什么 |
|---|---|---|
| 1 | 什么是上位机软件 | 理解上位机、下位机、工控机的关系 |
| 2 | 认识常见技术 | 认识 C#、WPF、串口、TCP、多线程、数据存储的角色 |
| 3 | 看几个真实上位机界面 | 建立“这种软件实际长什么样”的直觉 |
产出
- 能用一两句话说清“上位机是做什么的”;
- 能区分上位机、下位机、工控机、HMI、PLC;
- 知道典型项目包含界面、通信、业务流程、数据和日志。
验收标准
能回答以下问题即可:
- 上位机是软件还是硬件?
- 上位机和 PLC / 下位机是什么关系?
- C# 在上位机开发中扮演什么角色?
阶段二:认识技术栈(3–5 天)
目标:装好开发工具,能创建项目、运行程序、看懂最基本的代码结构。
| 顺序 | 页面/任务 | 你要得到什么 |
|---|---|---|
| 1 | 安装 Visual Studio Community | 能创建和运行项目 |
| 2 | 认识项目结构 | 知道 .sln、.csproj、.xaml、.cs 分别是什么 |
| 3 | 5 分钟快速开始 | 知道本站按什么方式使用 AI |
| 4 | 适用人群与边界 | 知道 AI 能帮什么、哪些能力需要自己补 |
| 5 | 创建空白 WPF 项目 | 把窗口跑起来,做一个最小交互 |
产出
- Visual Studio 可用;
- 能新建 WPF 项目并运行;
- 认识类、方法、变量和事件;
- 能在按钮点击后修改一个界面值。
验收标准
能完成以下操作即可:
- 创建一个 WPF 项目;
- 放一个 Button 和 TextBox;
- 点击按钮后显示 “Hello”;
- 知道这个交互涉及哪个 XAML 和哪个 C# 文件。
阶段三:看懂项目(1–2 周)
目标:学会“需要读多少就读多少”,而不是面对陌生 solution 只能从头逐文件看。
| 顺序 | 页面 | 你要练什么 |
|---|---|---|
| 1 | AI 辅助读懂 C# 项目 | 最小项目地图 + Read-Only Trace |
| 2 | AI 辅助 C# 开发路线图 | 建立 V10 任务分流意识 |
| 3 | 找一个开源 C# 项目 | 先识别入口和模块,再追一条真实调用链 |
| 4 | 第一个小项目 | 提前了解下一阶段要实现的闭环 |
两种读法都要练
第一次接手陌生项目:
text
启动入口
→ UI / ViewModel
→ 业务服务
→ 通信 / 数据
→ 测试日常只问一个具体问题:
text
目标符号
→ owner
→ caller / callee
→ 最终 sink
→ END后一种就是 Read-Only Trace,不需要每次重读整个项目。
产出
- 能建立一个项目的最小地图;
- 能追踪“按钮→业务→设备/数据”的调用链;
- 能区分当前代码事实和自己的推测;
- 知道什么时候停止继续扩搜。
阶段四:动手做项目(2–4 周)
目标:完成第一个串口监视工具,并在实践中经历界面、通信、资源释放、Bug 和验证。
| 顺序 | 任务 | 你要练什么 |
|---|---|---|
| 1 | 第一个小项目 基础版 | WPF + 串口收发 |
| 2 | 扩展版 | 十六进制、文件保存、状态提示 |
| 3 | WPF 开发流程 | 区分 UI MicroPatch / BehaviorPatch / Redesign |
| 4 | 串口/TCP 通信任务模板 | 区分查询、Bug、明确修改和新协议设计 |
| 5 | AI 在每一步能做什么 | 区分教学流程和生产流程 |
为什么教学项目要完整走一遍
第一个项目会故意经历:
text
需求
→ 简单设计
→ 任务拆分
→ 实现
→ Bug
→ 验证这是为了让你第一次建立完整工程感知,并不代表以后改一个 Label 也必须从需求分析开始。
产出
- 一个可运行的串口监视工具;
- 能说明串口 Session 的创建、打开、关闭和释放;
- 能解释后台接收为什么不能直接更新 UI;
- 一份自己遇到的问题和验证记录。
验收标准
至少做到:
- 能正常打开/关闭虚拟串口并收发数据;
- 接收数据时 UI 不明显卡死;
- 关闭后资源能释放,再次打开仍可工作;
- 能在 AI 帮助下增加一个小功能;
- 能解释关键代码而不是只会复制。
初学阶段优先使用虚拟串口、模拟器和 Fake。真实高风险设备不属于这个教学项目的自动验证范围。
完成之后:从“课程路线”切换到“任务路线”
做完第一个项目后,不要形成“每次开发都必须按四阶段重走”的习惯。
真实项目先判断:
text
只是查现状? → Read-Only Trace
明确小改? → Fast
规则已经说清? → Execution
业务还没想明白? → Discovery再独立判断 Verification Level:
text
V0 / V1 / V2 / V3 / V4三个主要出口
AI 在真实设备前的边界
学习项目通常使用虚拟串口和模拟数据。以后进入真实设备项目时:
text
静态 / 单测
→ Fake / Replay
→ 必要的只读设备观察
→ 显式授权的设备动作
→ 高风险动作 HITL高压、电机、阀门、继电器、加热、气路等不能因为“测试需要”自动执行。
详见 真实设备操作与验证安全边界。
时间估算
| 阶段 | 内容 | 预估时间(业余) |
|---|---|---|
| 阶段一 | 了解概念 | 1–2 天 |
| 阶段二 | 认识技术栈 | 3–5 天 |
| 阶段三 | 看懂项目 | 1–2 周 |
| 阶段四 | 动手做项目 | 2–4 周 |
| 总计 | 约 4–8 周 |
基础不同,时间可以大幅压缩或延长。不要为了赶进度跳过“自己运行、自己解释”这两个学习动作。