适合人群:
在校大学生、电气自动化转上位机开发者、自学软件开发者、程序员等,希望对自身技能有更高的突破,以及转行做软件架构工程师的从业者。
你将会学到:
学习C#与WPF上位机模块化开发,全面了解并掌握软件架构,熟悉反应式编程,学会串口编程、网络编程
课程简介:
本课程是重庆教主从业软件开发十年的经验集成,侧重于软件架构,利用Prism、ReactiveUI等框构,打造模块化与反应式编程项目,让上位机开发从此没有秘密。以下是本程课所讲解到的模块内容:
上位机开发模块:
Shell模块(程序入口)、核心模块(对话框、枚举、扩展类型、帮助类型、IOC容器、语言管理、接口),UI通用模块(模板样式、转换器、字体库、图片、语言资源),系统配置模块、缓存模块、日志模块、硬件模块(PLC,控制卡,相机(搜海康机器人),光机,平板探测器,X射线管,扫码枪,串口),业务模块(共享接口、登录、主界面、菜单、其它业务模块)、数据库模块(数据库接口、仓储层)
问:学习本课程需要购买硬件吗?
答:不需要,所有涉及硬件的模块,我都开发仿真模块,方便调试。


相关推荐:
C#+WPF开发全自动温湿度控制系统课程(25年6月完结)
C#+WPF+Opencv模块化开发视觉对位运动控制系统(完结)
硬核实战:C# + WPF 打造半导体晶圆与石墨岛搬移上位机系统
课程目录
第1章 初出茅庐(20节)
硬核实战:C# + WPF 打造半导体晶圆与石墨岛搬移上位机系统
课程目录
第1章 初出茅庐(20节)
1-1001 开篇前言及创建 C# 新项目
1-2002 安装 Prism 框架和 ReactiveUI 框架
1-3003 使用 Prism 框架的应用程序和绑定 ViewModel
1-4004 使用 Prism 框架的模块功能
1-5005 配置 Prism 框架的模块目录
1-6006 代码提交及 Gitee 操作演示
1-7007 安装 MahApps 主题及应用演示
1-8008 创建登录模块并实现按需加载
1-9009 引用 Font 字体库并使用字体
1-10010 上位机通用架构设计分析
1-11011 自定义特性的写法
1-12012 扩展 Prism 框架功能——利用特性和反射向 IOC 容器中注册
1-13013 创建核心模块,使用 Prism 框架的依赖注入功能
1-14014 MVVM 知识——窗体 Loaded 事件转 Command 命令
1-15015 用户登录——使用 Prism 事件聚合器和区域导航
1-16016 开发对话框——自定义控件 UserControl
1-17017 断言类
1-18018 语言管理模块之资源字典开发(ResourceDictionary)
1-19019 语言管理模块之简体、翻译、英语的切换应用
1-20020 主模块的布局(Grid 控件)
第2章 拨云见雾(20节)
2-1021 菜单模块开发(学习模块间的依赖关系)
2-2022 创建 Image 图像模块
2-3023 创建相机模块及编写相机抽象类
2-4024 非托管内存数组的管理(父类写法)
2-5025 非托管内存数组的管理(子类写法)
2-6026 BGRA 图像结构体的封装
2-7027 仿真相机子类的设计与实现
2-8028 FPD 平板探测器接口的设计
2-9029 FPD 平板探测器父类设计
2-10030 FPD 平板探测器仿真子类的设计
2-11031 加载本地 Tiff 图像数据
2-12032 创建硬件初始化模块
2-13033 硬件加载及生命周期管理器开发(异步及 Task)
2-14034 硬件初始化模块——加载所有硬件
2-15035 解决无法加载位图的问题
2-16036 创建 NLog 日志模块,捕捉应用程序全局异常
2-17037 创建 Prism 对话框 ViewModel 基类
2-18038 创建系统配置模块
2-19039 Json 文件的序列化和反序列化帮助类
2-20040 系统配置管理器(ConfigManager)
第3章 见山见水(20节)
3-1041 各个模块的配置参数的读取与写入
3-2042 系统配置界面设计及业务编写
3-3043 WPF 中调用 WinForm 控件 PropertyGrid
3-4044 缓存服务的管理器的开发(Dictionary)
3-5045 登录模块的记住密码和自动登录功能开发
3-6046 下载海康工业相机 SDK 和开发文档
3-7047 HIK 海康相机的 SDK 动态库 dll 导入及相机初始化
3-8048 HIK 海康相机的软触发采集图像与卸载相机
3-9049 控制卡接口开发
3-10050 控制卡抽象父类开发(初始化及配置参数)
3-11051 控制卡抽象父类开发(运动轴回零和移动轴)
3-12052 控制卡仿真类的开发
3-13053 众为兴控制卡的 SDK 包下载安装及模块开发
3-14054 众为兴控制卡初始化及开始
3-15055 众为兴控制卡的正负限位、原点、编程模式、脉冲
3-16056 众为兴控制卡的轴运动操作与关闭
3-17057 增加相机、运动轴和主要操作区域
3-18058 增加图像操作区域布局,安装 MahApps 主题
3-19059 增加快捷菜单,学习按钮的 Style 样式
3-20060 CheckBox 控件样式及控件之间的属性绑定
第4章 千山万水(20节)
4-1061 创建非托管数组的双缓冲内存管理器
4-2062 创建图像处理模块
4-3063 采集相机图像数据至双缓冲内存区域
4-4064 采集平板探测器图像数据至双缓冲内存区域
4-5065 16 位灰色图源绑定到 Image 控件
4-6066 ComboBox 控件扩展功能(绑定枚举元素)
4-7067 关闭软件时卸载所有硬件
4-8068 触发采集仿真相机和仿真探测器的图像数据
4-9069 增加鼠标操作模式(MouseWorkMode)
4-10070 在控件中实时获取鼠标移动位置
4-11071 初始化图像显示时的缩放和平移状态
4-12072 模块间以接口通讯及反应式编程讲解(观察者模式)
4-13073 ScaleTransform 缩放 Grid 控件
4-14074 观察 ComboBox 的值变化进行图像快捷缩放
4-15075 下载 OpenCV 图像处理库
4-16076 导入 OpenCV 图像处理库到 C++ 项目中
4-17077 C++ 模板应用讲解——OpenCV 的 Mat 图像
4-18078 C# 调用 C++ 生成的动态链接库 dll 函数
4-19079 定义图像的结构体(struct)
4-20080 C# 的结构体与 C++ 的结构体进行通讯及 OpenCV 调用
第5章 深度学习(20节)
5-1081 修改探测器图像尺寸
5-2082 创建图像滤波算法处理流程模块
5-3083 创建滤波算法模型的接口
5-4084 创建一个 Test 滤波算法对应 C++ 的一个函数
5-5085 利用反射和特性实例化滤波算法模型(重点知识)
5-6086 导入 Png 图标以 BitmapImage 显示
5-7087 添加索贝尔算法,演示 OpenCV 中的函数调用
5-8088 反应式编程实战讲解观察者模式用法
5-9089 反应式编程——合并多个观察者对象
5-10090 反应式编程——调用 OpenCV 函数并显示图像
5-11091 调用 OpenCV 中值滤波器函数
5-12092 处理过滤器界面不切换的 Bug
5-13093 添加 OpenCV 高斯滤波算法
5-14094 添加运动轴控制模块
5-15095 增加运动轴的开始移动和停止移动功能
5-16096 控制其它轴并显示运动轴的运动状态
5-17097 利用 Path 开发扇形 Button 样式
5-18098 读取与写入程序中的缓存数据
5-19099 创建相机预览模块项目
5-20100 编写相机预览模块的 UI 界面
第6章 绘图工具(22节)
6-1101 编写相机显示图像到前端 XAML 的实体类
6-2102 将 Bitmap 写入到 WriteableBitmap
6-3103 相机预览图像的缩放与平移操作
6-4104 创建绘图工具模块
6-5105 设计绘图工具界面及 CheckBox 样式开发
6-6106 设计文字输入界面
6-7107 设计画笔的粗细按钮和颜色按钮
6-8108 编写画笔粗细枚举类型并绑定到 RadioButton
6-9109 编写鼠标操作类型及业务接口绑定到 CheckBox
6-10110 编写椭圆、矩形和箭头的绘制实体
6-11111 编写线段和文字的绘制实体
6-12112 编写鼠标操作基类及缩放移动实体类
6-13113 编写鼠标绘制操作的子类业务,实现鼠标绘制核心
6-14114 编写鼠标操作的业务实体
6-15115 编写生成绘制元素的鼠标操作类型工厂
6-16116 在 Image 模块中编写鼠标左键绘制图形的业务
6-17117 绘制鼠标画出来的所有图形元素
6-18118 选择文字输入工具时显示文本输入框
6-19119 编写绘制文字的业务逻辑
6-20120 扩展方法——将 Bitmap 转成 BitmapSource
6-21121 利用 SaveFileDialog 对话框保存图像
6-22122 将 16 位灰度图像转成 8 位灰度图像并保存
第7章 通讯编程(14节)
7-1123 创建温度采集器的参数配置
7-2124 将温度采集硬件抽象成接口
7-3125 TCP 网络编程——初始化硬件和收发 byte 指令
7-4126 TCP 网络编程——解析 Modbus 协议
7-5127 TCP 网络编程——加载 Modbus 协议的温度采集
7-6128 TCP 网络编程——显示温度采集值并调试通讯
7-7129 串口编程——分析二维码扫描仪的通讯协议
7-8130 串口编程——设计二维码扫描仪的接口
7-9131 串口编程——初始化微光二维码扫描仪
7-10132 串口编程——串口写入指令并接收数据
7-11133 串口编程——虚拟串口安装与通讯测试
7-12134 串口编程——串口发送数据和接收数据
7-13135 串口编程——串口发送指令并等待接收字节
7-14 课后练习
第8章 数据库开发(12节)
8-1136 数据库开发——创建一个数据库
8-2137 数据库开发——创建数据库模块项目和业务接口
8-3138 数据库开发——EF 框架生成数据库映射实体
8-4139 数据库开发——用户表的删除改查业务
8-5140 数据库开发——用户登录
8-6141 数据库开发——用户登录的 Session 保存和显示
8-7142 数据库开发——创建温度数据表并重新映射实体类
8-8143 数据库开发——采集温度数据写入数据库
8-9144 数据库开发——切换温度历史数据界面
8-10145 数据库开发——查询数据库记录并绑定到 DataGrid
8-11146 数据库开发——数据导出到本地 csv 文件(大结局)
8-12 课后作业



