# 视觉对位控制 **Repository Path**: Sea-Strong/visual-alignment-control ## Basic Information - **Project Name**: 视觉对位控制 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-13 - **Last Updated**: 2025-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Company.Shell ## 🐯 平台简介 Company.Shell 是一个基于工业自动化视觉检测的综合控制系统。该平台集成了硬件控制、图像处理、用户管理、任务运行和配置管理等多个模块,支持对工业相机、运动控制卡、光源、电桥等硬件进行初始化和操作,适用于高精度的视觉对位和元件检测任务。 ### 系统功能 | 编号 | 功能 | 描述 | | ---- | -------------- | ------------------------------------------------------------ | | 1 | 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置、角色权限分配与登录验证 | | 2 | 硬件初始化 | 系统启动时自动检测并初始化相机、运动控制卡、光源、电桥等硬件模块 | | 3 | 主界面导航 | 提供多功能菜单,支持在运行监控、设置、标定、BOM管理等模块间切换 | | 4 | 运行任务控制 | 支持选择轨道类型、运行模式、BOM名称,并启停检测任务,实时监控流程状态 | | 5 | 相机标定 | 对左/右相机进行像素当量标定,支持区域选择、参数计算与保存 | | 6 | MARK点校准 | 配置不同料带宽度下的MARK点、齿轮孔和元件识别区域,支持自动搜索与保存 | | 7 | 轴坐标系标定 | 通过6点法建立视觉像素坐标与运动轴世界坐标的映射关系,实现高精度对位 | | 8 | 运动轴参数配置 | 配置各轴(X/Y/Z/主轴/棘轮轴等)的速度、加速度、工艺位点及手动控制 | | 9 | IO口参数配置 | 配置输入/输出点的功能标签、状态监控,并支持手动控制真空泵、加热器等 | | 10 | 元件管理 | 添加、删除、配置元件型号、深度、颜色等参数,并支持图像定位与轴联动 | | 11 | BOM物料管理 | 创建和管理物料清单,关联元件信息,设置工作模式与精度范围 | | 12 | 系统基础设置 | 配置控制卡IP、相机网络、寸动步长、系统标题等全局参数 | | 13 | 图像操作与保存 | 支持左右相机切换、区域框选、拍照、保存灰度/彩色图像用于分析或存档 | | 14 | 丝印模板制作 | 在印丝检测模式下引导用户制作丝印比对模板,支持预览与确认 | | 15 | 权限与安全控制 | 根据用户角色动态控制功能可见性,确保操作员无法访问管理员专属功能 | ## 🐨 技术栈 ### 项目架构 该项目采用模块化架构设计,使用 **Prism + Unity** 实现 MVVM 模式,支持模块延迟加载和依赖注入。 ### 主要框架与库 | 框架 | 说明 | 版本 | | ----------------------- | ------------------------------------------------------------ | ------- | | Prism.Unity | MVVM + 模块化框架 | 8.1.97 | | ReactiveUI | 响应式 MVVM 框架 | 19.5.4 | | ReactiveUI.Fody | 与Fody结合的官方插件,简化属性通知的代码编写 | 195.0.0 | | NLog | 日志框架 | 5.3.4 | | MahApps.Metro | WPF现代UI美化/增强框架 | 2.4.11 | | MahApps.Metro.IconPacks | MahApps.Metro官方配套图标库 | | | EntityFramework | .Net的数据库实体框架 | 6.4.4 | ### 模块划分 | 项目 | 说明 | | ------------------------- | ------------------ | | Company.Application.Login | 登录界面与用户认证 | | Company.Application.UI | 主界面与样式资源 | | Company.Core | 公共核心类与工具 | | Company.Logger | 日志记录功能 | | Company.Shell | 主程序与模块集成 | ## 🐷 演示图 ### 系统功能截图 | 模块 | 示例图片 | | ----------- | -------- | | 登录 & 首页 | ![登录](https://gitee.com/zhijiantianya/yudao-cloud/raw/master/.image/登录.jpg) ![首页](https://gitee.com/zhijiantianya/yudao-cloud/raw/master/.image/首页.jpg) | ## 🧩 功能亮点 - **模块化设计**:系统采用 Prism 框架实现模块化,便于功能扩展和维护。 - **响应式编程**:使用 ReactiveUI 实现响应式 MVVM,简化异步与事件绑定逻辑。 - **硬件集成控制**:支持相机、控制卡、光源、电桥等硬件的控制与初始化。 - **图像处理**:基于 OpenCV 的图像处理算法,支持标定、搜索元件、丝印比对等功能。 - **权限管理**:通过角色控制功能可见性,保障系统安全性。 - **配置灵活**:系统基础配置、轴参数、光源、相机等均可通过界面配置。 ## 🛠 安装与运行 1. 克隆项目到本地: ```bash git clone https://gitee.com/Sea-Strong/visual-alignment-control ``` 2. 打开解决方案: 使用 Visual Studio 2019 或更高版本打开 `Company.Shell.sln` 文件。 3. 构建并运行: - 设置 `Company.Shell` 项目为启动项目。 - 点击“运行”按钮,启动应用程序。 4. 系统依赖: - .NET Framework 4.7.2 或更高版本 - OpenCV 460(包含在项目中) - ZMotion 运动控制卡 SDK(如使用真实硬件) - SQLite 数据库支持 ## 📦 主要模块介绍 - **登录模块**:提供用户身份验证、权限控制。 - **主界面模块**:提供导航与核心功能入口。 - **配置模块**:支持相机、控制卡、光源、IO、用户等系统参数的设置。 - **BOM管理模块**:管理物料清单与元件信息。 - **运行模块**:执行检测任务,支持多种运行模式。 - **图像处理模块**:封装图像采集、比对、保存功能。 - **硬件初始化模块**:自动检测并初始化各类硬件设备。 ## 🧪 开发与测试 - 使用 `Company.Hardware.Emulation` 系列模块可进行硬件仿真测试。 - 所有模块均支持延迟加载,提升启动效率。 - 使用 `Entity Framework` 与 SQLite 实现本地数据存储。 - 支持日志记录(NLog),便于调试与问题追踪。 ## 📝 贡献与反馈 欢迎提交 issue 或 PR,帮助完善项目功能与文档。请遵循项目的代码风格,并确保提交的代码经过充分测试。 ## 📄 License 该项目遵循 [MIT License](https://opensource.org/licenses/MIT),详情请参见项目根目录的 `LICENSE` 文件。