深圳C#与halcon机器视觉培训课程
【课程特点】
独创的零跨度教学模式,适合 PLC 电气工程师出身人员; 精心提炼的课程体系,让机器视觉不再艰深晦涩; 豪华的实战教学设备,贴近一线视觉项目,助你学习机器视觉之路无忧!
【课程时长】
周二到周日,早 08:30-晚 20:30。
全日制学习约 60 天。
【适合对象】
目前在做电气工程师,有一定 PLC 编程基础, 想要向上进阶 C#上位机/机器视觉开发技术的人员。
【基础要求】
对 C#上位机、运动控制卡、halcon 视觉感兴趣,想进阶提升的电气工程师。 电气工程师进阶上位机视觉,建议有一定的 ST 语言、结构化编程、网络通信、 伺服轴运动控制基础,且参与过中大型 PLC 编程项目。
【课程内容】
【板块一:C# 工控上位机编程】
《第1部分:C#语言基础语法 + Winform 界面基础》
第1章节:从 PLC 编程基础过渡到 C#编程基础
1.1 Visual Studio 开发环境介绍
1.2 第1个程序:“HelloWorld”
1.3 变量、常量概念(从 PLC 编程无缝过渡)
1.4 方法、形参、实参概念(从 PLC 编程无缝过渡)
1.5 基本数据类型概念(从 PLC 编程无缝过渡)
1.6 赋值、比较、运算等操作符概念(从 PLC 编程无缝过渡)
1.7 if、for、case 等流程控制语句概念(从 PLC 编程无缝过渡)
1.8 类、结构、对象实例化概念(从 PLC 编程无缝过渡)
1.9 字符串处理、拼接、截取、分解(从 PLC 编程无缝过渡)
1.8 总结 C#语言的编程风格与代码层次
第二章节:从触摸屏过渡到 Winform 界面编程
2.1 Winform 控件、属性、布局(从触摸屏无缝过渡)
2.2 事件响应、事件方法、事件绑定控件(从触摸屏无缝过渡)
2.3 控件的分类与工具(从触摸屏无缝过渡)
2.4 使用代码操作控件的属性(从触摸屏宏指令无缝过渡)
2.5 编程小作业:齿轮比计算器、电工工具箱、工控查询神器
第三章节:从 PLC 结构化编程过渡到面向对象 OOP 理论
3.1 数组、枚举等复合数据类型(从 PLC 编程无缝过渡)
3.2 类的成员字段、方法、属性、构造、静态成员等
3.3 成员关键字 public、private、static、this 等
3.4 对象与类的实例化、对象的内存占用、类的引用本质
3.5 从 PLC 的 FB 封装过渡到 C#的类
第四章节:.Net Frameworks 框架原理与编译技巧
4.1 托管代码、CLR、GC 回收机制
4.2 Debug 和 Release、X64 和 X86 的区分联系
4.3 解决方案、项目、编译与引用
4.4 代码调试、断电调试、变量监视与异常
4.5 try...catch 异常捕获、异常处理机制
4.6 代码的健壮性与程序运行故障排除
《第二部分:C#语言进阶语法 + Winform UI 层架构设计》
第1章节:集合、数据结构、泛型概念
1.1 List、ArrayList、键值对与 Hashtable
1.2 装箱、拆箱、字典的本质概念
1.3 队列、表、堆栈等常用数据结构
1.4 泛型类、泛型方法与泛型集合
1.5 Table 结构的增、删改查技巧
1.6 编程小作业:使用泛型集合实现 PLC 配方数据存取
1.7 编程小作业:使用字典实现简易身份证匹配器
第二章节:Winform 深入、UI 架构设计
2.1 窗体对象、MDI 多窗体镶嵌设计
2.2 UI 美化、无边框设计、统一参数模板
2.3 Winform 通用控件、高级控件、自定义控件
2.4 Datagridview 控件与数据源绑定
2.5 编程小作业:使用 Winform 高级控件制作聊天小工具
2.6 编程小作业:使用 MDI 多窗体镶嵌制作工业上位机界面模板
第三章节:多线程、委托、事件、PLC 扫描原理
3.1 线程类、线程对象、线程方法概念
3.2 Thread、Task 和 ThreadPool 线程池的性质
3.3 前台线程、后台线程与跨线程访问控件
3.4 委托概念、委托定义顺序与 lambda 表达式
3.5 事件 event 定义、订阅触发响应
3.6 使用 While 循环构造 PLC 扫描周期
3.7 线程的并发阻塞优先级参数传递
3.8 对线程进行 Winbug 底层追踪
3.9 编程小作业:通过多线程实现简易 PLC 扫描
《第三部分:C#多功能操作 + 数据库技术》
第1章节:C#操作文本文件、画笔、CAD、office 等
1.1 txt、csv 文本文件操作
1.2 XML 文档结构与存储操作
1.3 Word、Excel、office 文件操作
1.4 对象序列化、反序列化操作
1.5 GDI+画笔类库、画布、图形操作
1.6 CAD 操作、打印与 CAD 坐标提取
1.7 编程小作业:实现配方产品记录报警数据存储
1.8 编程小作业:使用 GDI+制作自定义控件
1.9 编程小作业:导入 CAD 图纸并生成坐标数据
第二章节:C#类库操作技术 2.1 命名空间、程序集、using 的使用
2.2 动态链接库 dll 的应用
2.3 程序集部署、config 配置文件操作
2.4 C# 特性标记与反射技术
2.5 C# 程序模块化引用设计
第三章节:C#与 Windows 操作技术
3.1 鼠标与键盘的操作控制
3.2 计算机系统信息与硬件信息
3.3 磁盘、启动与注册表操作
3.4 进程管理、句柄管理与 EXE 文件
3.5 编程小作业:通用软键盘界面制作
3.6 编程小作业:注册表删除工具
第四章节:SQLServer 数据库应用
4.1 数据库与 SQL 语言
4.2 SQLServer 查询技术
4.3 数据表的增删改查操作
4.4 键、约束、子查询概念
4.5 规范化与数据库关系图
第五章节:ADO.Net 数据访问技术
5.1 Access 与 SQLServer 数据库的连接
5.2 数据适配器、数据集 DataSet 对象
5.3 Datagridview 绑定数据库
5.4 LINQ 数据访问技术
5.5 编程小作业:使用数据库实现生产数据管理
附加课程:WPF 界面设计
附加课程:QT 与 MFC 拓展技术
《第四部分:C# OOP 设计模式 + 企业级项目实战应用》
第1章节:C#面向对象编程思想
1.1 类的封装、继承、多态性质概述
1.2 继承权限、子类、里氏代换、分部类、密封类
1.3 虚方法、抽象类、接口实现、接口多态
1.4 类的设计思想、高内聚低耦合、职责明确
1.5 开闭原则、里氏原则、依赖倒置、接口隔离、合成复用、迪米特法则 第二章节:C#程序设计模式专题
2.1 设计模式之创建型模式概论
2.2 简单工厂、工厂方法、抽象工厂、单例模式
2.3 使用反射+ 配置文件实现工厂方法
2.4 UML 类图与类关系概述
2.5 结构型模式、行为型模式
2.6 链式编程与管道式编程模型
2.7 异步消息事件驱动机制
第三章节:汇运视 通用视觉+运动控制 项目框架搭建
3.1 企业级项目框架设计(UI+业务逻辑+链路+控制+数据+实体+图像处理层)
3.2 通过配置文件+反射实现 PLC、运动控制卡、相机 SDK 的通用类调用
3.3 多任务并行处理(多线程并行采集、线程锁模式、状态机、消息队列)
3.4 通用视觉处理+整机逻辑流程+数据分析 框架搭建
3.5 软件的调试、故障排查、性能分析、效率优化
3.6 软件的发布、打包、交付给最终用户(包含设备调试实战)
【板块二:halcon 视觉开发】
《第1部分:halcon 环境与图像处理基础》
第1章节:halcon 环境、编程概念
1.1 halcon 界面编辑、软件安装
1.2 变量、算子、图像概念
1.3 tuple 数组定义、赋值、运算
1.4 子函数、函数参数、函数定义
1.5 控制流语句,if、for、while、switch
第二章节:图像处理与形态学基础
2.1 halcon 图像获取方式、连接相机
2.2 图像变量 image、region、XLD
2.3 图像数据结构与组成
2.4 图像邻域、连通域概念、二值化、灰度变换
2.5 图像直方图、增强、均衡化、高斯滤波
2.6 图像几何变换、镜像、平移、反转、缩放
2.7 形态学变换,腐蚀膨胀、开闭运算、顶底帽变换
2.8 区域分析、矩、凸性、特征选择
2.9 Blob 分析(预处理、二值化、形态学、特征选择、几何定位)
第三章节:halcon 导出 C#/C++/VB.Net 代码
2.1 halcon 导出 C#代码
2.2 halcon 导出 C++代码
2.3 halcon 导出 VB.Net 代码
2.4 编程小作业:使用 C#实现 halcon 的简易联合编程
《第二部分:条码、二维码与字符识别》
第1章节:条码检测
1.1 条码检测相关算子、一维码模型
1.2 使用 ROI 感兴趣区域划定目标
1.3 条码检测基本流程(预处理、创建、检测、销毁条码模型)
1.4 条码检测方法扩展(校正、调整、扩展检测、结果可视化)
1.5 应用案例:多种复杂一维码检测实战应用(圆珠笔、光盘)
第二章节:二维码检测
2.1 halcon 支持的二维码及其类型
2.2 二维码模板自训练识别
2.3 二维码识别预处理技巧
2.4 多码多线程同时识别技巧
2.5 应用案例:复杂场合下的二维码检测(光照不良、反光、曲面等情况)
第三章节:OCR 字符检测
2.1 OCR 字符识别原理(分类器、特征向量、神经网络)
2.2 OCR 检测基本流程(预处理、设置、分割、训练、求解)
2.3 OCR 助手的配置与交互
2.4 一维码检测与 OCR 联合使用
2.5 应用案例:普通字符、环形字符、倾斜字符、汉字识别
《第三部分:模板匹配、形状识别》
第1章节:灰度与相关性匹配
1.1 基于灰度值模板匹配
1.2 归一化相关系数(NCC)、图像金字塔
1.3 匹配基本流程(预处理、创建模板、匹配模板、参数选择)
1.4 基于相关性模板匹配
1.5 应用案例:匹配助手连接相机、配合图像文件操作
第二章节:基于形状匹配
2.1 基于边缘轮廓模板(XLD)匹配
2.2 单模板、双模板、正反面模板、不等比例模板
2.3 匹配基本流程(预处理、创建模板、匹配模板、参数选择)
2.4 基于点匹配、组件匹配、描述符匹配、全局可变形匹配
2.5 应用案例:复杂场合下的模板匹配(变形、模糊、高噪声、边界处理)
《第四部分:坐标标定与尺寸测量》
第1章节:一维测量与单目标定
1.1 一维测量原理、灰度投影、剖面求导
1.2 矩形、弧形、规则图形测量原理
1.3 测量基本顺序(构造测量对象、剖面线计算、局部极值)
1.4 世界坐标、相机坐标、像素坐标、物理坐标矩阵关系
1.5 内参矩阵、外参矩阵、坐标系 3D 姿态变换
1.6 应用案例:单摄像机实现物料实际尺寸测量和精度分析
第二章节:二维测量、标定、综合应用
2.1 单目标定畸变矫正原理
2.2 双目相机/多路相机使用圆形阵列、六边蜂窝标定
2.3 二维测量边缘检测原理(离散卷积、图像滤波、锐化)
2.4 XLD 轮廓拟合原理(拟合、最小二乘法)
2.5 应用案例:检测实时定位(飞拍设备)卡尺测量跟随
《第五部分:缺陷检测、频域与深度学习》
第1章节:图像频域与傅里叶变换
1.1 傅里叶频域变换原理解析
1.2 频谱图分析、频域滤波技巧
1.3 离散傅里叶变换、标准正交基、相位频谱表达
1.4 频域+空域滤波与缺陷检测应用
1.5 Laws 纹理特征提取与缺陷检测应用
1.6 应用案例:边缘凹陷、纸牌缺口、屏幕划痕、电阻焊点检测
第二章节:深度学习与卷积神经网络
2.1 深度学习理论、halcon 搭建深度学习环境
2.2 深度学习基本流程(数据集预处理、模型训练、模型验证、模型测试)
2.3 CNN 卷积神经网络原理模型
2.4 tensorflow 深度学习常用框架
2.5 基于语义分割的深度学习算法
2.6 应用案例:物料分类、光学分选、检测口罩是否佩戴正确
【板块三:项目联合实战】
《第1部分:C#+PLC+上位机通信》
第1章节:Socket 与串口通信(从 PLC 编程无缝过渡)
1.1 C# Socket 类、对象与通信顺序
1.2 Socket 客户端、服务器编程与线程优化
1.3 C# serial 串口类与串口对象
1.4 编程小作业:通用串口/网口调试助手的制作
第二章节:Modbus 通信协议(从 PLC 编程无缝过渡)
2.1 C#上位机通信报文解析技巧
2.2 Modbus/RTU 通信协议的上位机实现顺序
2.3 编程小作业:简易 Modscan 调试助手的制作
第三章节:C#上位机 PLC 通信(从 PLC 编程无缝过渡)
3.1 通过协议报文方式实现 PLC 通信(MC/SLMP、3E 帧、S7 通信)
3.2 通过第三方组件方式实现 PLC 通信(MX、S7.net、HSL)
3.3 编程小作业:简易 MES 系统的建立(三菱、西门子 PLC)
《第二部分:C#+视觉+运动控制卡》
第1章节:雷赛/固高运动控制卡
1.1 运动控制卡硬件选型与物理配线
1.2 运动控制卡环境、引用顺序
1.3 运动控制卡基本函数、SDK 调用
1.4 编程小作业:操作运动控制卡 demo 并独立编写
第二章节:运动控制底层封装
2.1 使用多线程封装 PLC 风格的运动控制类
2.2 面向大型项目的通用运动控制类封装(使用继承+反射机制)
2.3 运动控制类底层嵌入 汇运视 标准视觉框架中
《第三部分:C#+视觉+工业机器人》
第1章节:机器人视觉基本原理
1.1 四轴机器人相机安装多种方案
1.2 坐标系、工具坐标、法兰中心概念
1.3 XYZ 平台、UVW 平台的区别和联系
1.4 EPSON 机器人的通信操作(从 PLC 编程无缝过渡)
第二章节:四轴机器人(EPSON)视觉定位
2.1 机器人九点标定原理与操作
2.2 不同位姿下的矩阵补偿运算
2.3 上下相机纠偏原理与操作
2.4 手眼标定理论、原理与操作实战
2.5 欧拉角、姿态筛选消退法、四元数解算
2.6 项目实战:双相机+机器人对位贴合项目
【教学现场】
指导现场
上课环境
老师指导
教学现场
【学校简介】
深圳八方汇企业管理咨询有限公司为中控自动化工程有限公司旗下的子公司,授课导师拥有19年实战项目开发经验,颠覆行业传统,为工程师“指路”。从0基础到独立做项目只需要短短的3-5周,高效、快捷到连你自己都觉得不可思议,实现普工/电工→电气工程师→高级工程师→自主创业的人生蜕变升级。
学校9位全职老师分阶段授课,其余8位工作人员协助老师全程为学员提供服务。首先一对一,接着一对多,再一对一,又一对多这样循环,所有的课程20多天循环一次,一切只为把学员培养成能独立做项目的电气工程师而奋斗!
课程采用创新无书本的教学模式,20%理论+ 70%实战+ 10%工厂案例,以通俗易懂的大白话简洁明了的授课,对PLC编程总结出来的公式就是:条件+结果=PLC编程。用到日常生活中的公交车,电灯泡,自来水龙头等作形象的比喻;通过数台不同种类的真实设备1台1台的攻关式的上机实战,当您玩到最 后一台最难的都玩转了,您的编程思维还能差吗?后期公司项目部这边会不定期的带着大家出去做项目提前适应工程师岗位流程,那您上班的时候还会恐慌吗? 如果上班了遇到自己实在解决不了的问题导师上门服务协助您解答,那工程师的这条路走起来将更加顺利
【学习理念】
专注自动化教育,致力于让全国有志于学习电气自动化技术的人员,
都能就近拥有优质的PLC现场学习资源!
【学校环境】
休息区
设备
上课环境
机器设备