2548分钟
C#+WPF上位机开发课程(模块化与反应式编程)
C#+WPF上位机开发课程(模块化与反应式编程) 在当今快速发展的工业自动化和智能设备领域,上位机开发已成为连接硬件与软件、实现高效数据处理与交互的关键技术。本课程专为有志于深入掌握C#+WPF上位机…
C#+WPF上位机开发课程(模块化与反应式编程)
在当今快速发展的工业自动化和智能设备领域,上位机开发已成为连接硬件与软件、实现高效数据处理与交互的关键技术。本课程专为有志于深入掌握C#+WPF上位机开发的工程师和开发者设计,通过模块化设计和反应式编程,帮助你构建高效、可维护的上位机应用。
课程亮点
模块化设计:课程涵盖从基础项目创建到高级模块开发的完整流程,包括Prism框架、ReactiveUI框架的应用,以及模块化开发中的依赖注入、事件聚合等关键技术。
反应式编程实战:通过观察者模式、Observable集合等反应式编程技术,实现UI与数据的实时同步,提升用户体验。
实战项目驱动:课程包含丰富的实战案例,如相机图像采集、温度数据采集、Modbus通信协议解析等,帮助学员在实际项目中掌握上位机开发技能。
工具与框架集成:介绍如何集成和使用第三方库,如MahApps主题、NLog日志框架、OpenCV图像处理库等,提升开发效率和代码质量。
跨平台与网络编程:课程还包括TCP/IP网络编程、串口通信、数据库开发等内容,帮助学员掌握上位机与硬件设备、服务器之间的数据交互技术。
讲师经验分享:由具有丰富实战经验的讲师授课,分享行业最新技术和最佳实践,帮助学员快速成长。
课程大纲
基础篇:C#新项目创建、Prism框架安装与使用、MVVM模式实践。
模块化开发:模块功能配置、代码管理、自定义特性与反射应用。
UI与交互设计:MahApps主题应用、自定义控件开发、图像与数据显示。
反应式编程:Observable集合、事件聚合器、观察者模式实战。
硬件通信与控制:相机、控制卡、传感器等硬件设备的通信与控制。
数据处理与存储:图像处理算法、数据采集与存储、数据库开发。
网络与通信:TCP/IP网络编程、Modbus协议解析、串口通信。
综合实战:上位机系统的综合设计与实现,包括硬件集成、数据处理、用户界面设计等。
讲师:重庆教主
重庆教主是资深工业自动化开发专家,拥有10年C# WPF工业控制系统开发经验,曾主导多个大型反应釜控制系统项目,擅长上位机开发,对软件架构、WPF、网络编程十分熟悉。
加入我们
立即加入,开启上位机开发之旅!
001-开篇前言及创建C#新项目.
002-安装Prism框架和ReactiveUI框架.
003-使用Prism框架的应用程序和绑定ViewModel.
004-使用Prism框架的模块功能.
005-配置Prism框架的模块目录.
006-代码提交及Gitee操作演示.
007-安装MahApps主题及应用演示.
008-创建登录模块并实现按需加载.
009-引用Font字体库并使用字体.
010-上位机通用架构设计分析.
011-自定义特性的写法.
012-扩展Prism框架功能-利用特性和反射向IOC容器中注册类型.
013-创建核心模块,使用Prism框架的依赖注入功能.
014-MVVM知识-窗体Loaded事件转Command命令.
015-用户登录-使用Prism事件聚合器和区域导航.
016-开发对话框-自定义控件UserControl.
017-断言类.
018-语言管理模块之资源字典开发(ResourceDictionary).
019-语言管理模块之简体、翻译、英语的切换应用.
020-主模块的布局(Grid控件).
021-菜单模块开发(学习模块间的依赖关系).
022-创建Image图像模块.
023-创建相机模块及编写相机抽象类.
024-非托管内存数组的管理(父类写法).
025-非托管内存数组的管理(子类写法).
026-BGRA图像结构体的封装.
027-仿真相机子类的设计与实现.
028-FPD平板探测器接口的设计.
029-FPD平板探测器父类设计.
030-FPD平板探测器仿真子类的设计.
031-加载本地Tiff图像数据.
032-创建硬件初始化模块.
033-硬件加载及生命周期管理器开发(异步及Task).
034-硬件初始化模块-加载所有硬件.
035-解决无法加载位图的问题.
036-创建NLog日志模块,捕捉应用程序全局异常.
037-创建prism对话框viewmdoel基类.
038-创建系统配置模块.
039-Json文件的序列化和反序列化帮助类.
040-系统配置管器器(ConfigManager).
041-各个模块的配置参数的读取与写入.
042-系统配置界面设计及业务编写.
043-WPF中调用WinForm控件PropertyGrid.
044-缓存服务的管理器的开发(Dictionary字典).
045-登录模块的记住密码和自动登录功能开发.
046-下载海康工业相机SDK和开发文档.
047-HIK海康相机的SDK动态库dll导入及相机初始化.
048-HIK海康相机的软触发采集图像与卸载相机.
049-控制卡接口开发.
050-控制卡抽象父类开发(初始化及配置参数).
051-控制卡抽象父类开发(运动轴回零和移动轴).
052-控制卡仿真类的开发.
053-众为兴控制卡的SDK包下载安装及模块开发.
054-众为兴控制卡初始化及开始.
055-众为兴控制卡的正负限位、原点、编程模式、脉冲当量.
056-众为兴控制卡的轴运动操作与关闭.
057-增加相机、运动轴和主要操作区域.
058-增加图像操作区域布局,安装MahApps主题.
059-增加快捷菜单,学习按钮的Style样式.
060-CheckBox控件样式及控件之间的属性绑定.
061-创建非托管数组的双缓冲内存管理器.
062-创建图像处理模块.
063-采集相机图像数据至双缓冲内存区域.
064-采集平板探测器图像数据至双缓冲内存区域.
065-16位灰色图源绑定到Image控件.
066-ComboBox控件扩展功能(绑定枚举元素).
067-关闭软件时卸载所有硬件.
068-触发采集仿真相机和仿真探测器的图像数据.
069-增加鼠标操作模式(MouseWorkMode).
070-在控件中实时获取鼠标移动位置.
071-初始化图像显示时的缩放和平移状态.
072-模块间以接口通讯及反应式编程讲解(观察者模式).
073-ScaleTransform缩放Grid控件.
074-观察Combobox的值变化进行图像快捷缩放.
075-下载opencv图像处理库.
076-导入opencv图像处理库到C++项目中.
077-C++模板应用讲解-Opencv的Mat图像转C++图像.
078-C#调用C++生成的动态链接库dll函数.
079-定义图像的结构体(struct).
080-C#的结构体与C++的结构体进行通讯及opencv库遍历图像像素.
081-修改探测器图像尺寸.
082-创建图像滤波算法处理流程模块.
083-创建滤波算法模型的接口.
084-创建一个Test滤波算法对应C++的一个函数.
085-利用反射和特性实例化滤波算法模型(重点知识).
086-导入Png图标以BitmapImage显示.
087-添加索贝尔算法,演示opencv中的函数调用.
088-反应式编程实战讲解观察者模式用法.
089-反应式编程-合并多个观察者对象.
090-反应式编程-调用opencv函数并显示图像.
091-调用opencv中值滤波器函数.
092-处理过滤器界面不切换的Bug.
093-添加opencv高斯滤波算法.
094-添加运动轴控制模块.
095-增加运动轴的开始移动和停止移动功能.
096-控制其它轴并显示运动轴的运动状态.
097-利用Path开发扇形Button样式.
098-读取与写入程序中的缓存数据.
099-创建相机预览模块项目.
100-编写相机预览模块的UI界面.
101-编写相机显示图像到前端XAML的实体类.
102-将Bitmap写入到WriteableBitmap.
103-相机预览图像的缩放与平移操作.
104-创建绘图工具模块.
105-设计绘图工具界面及CheckBox样式开发.
106-设计文字输入界面.
107-设计画笔的粗细按钮和颜色按钮.
108-编写画笔粗细枚举类型并绑定到RadioButton按钮.
109-编写鼠标操作类型及业务接口绑定到CheckBox.
110-编写椭圆、矩形和箭头的绘制实体.
111-编写线段和文字的绘制实体.
112-编写鼠标操作基类及缩放移动实体类.
113-编写鼠标绘制操作的子类业务,实现鼠标绘制核心业务.
114-编写鼠标操作的业务实体.
115-编写生成绘制元素的鼠标操作类型工厂.
116-在Image模块中编写鼠标左键绘制图形的业务逻辑.
117-绘制鼠标画出来的所有图形元素.
118-选择文字输入工具时显示文本输入框.
119-编写绘制文字的业务逻辑.
120-扩展方法-将Bitmap转成BitmapSource及16位图本地写入.
121-利用SaveFileDialog对话框保存16位图像.
122-将16位灰度图像转成8位灰度图像并保存.
123-创建温度采集器的参数配置.
124-将温度采集硬件抽象成接口.
125-TCP网络编程-初始化硬件和收发byte指令.
126-TCP网络编程-解析Modbus协议.
127-TCP网络编程-加载Modbus协议的温度采集器硬件.
128-TCP网络编程-显示温度采集值并调试通讯.
129-串口编程-分析二维码扫描仪的通讯协议.
130-串口编程-设计二维码扫描仪的接口.
131-串口编程-初始化微光二维码扫描仪.
132-串口编程-串口写入指令并接收数据.
133-串口编程-虚拟串口安装与通讯测试.
134-串口编程-串口发送数据和接收数据.
135-串口编程-串口发送指令并等待接收字节.
136-数据库开发-创建一个数据库.
137-数据库开发-创建数据库模块项目和业务接口.
138-数据库开发-EF框架生成数据库映射实体.
139-数据库开发-用户表的删除改查业务.
140-数据库开发-用户登录.
141-数据库开发-用户登录的Session保存和显示.
142-数据库开发-创建温度数据表并重新映射实体类.
143-数据库开发-采集温度数据写入数据库.
144-数据库开发-切换温度历史数据界面.
145-数据库开发-查询数据库记录并绑定到DataGrid.
146-数据库开发-数据导出到本地csv文件(大结局).
课程资料
重庆教主
WPF中文网站长