如何快速搭建基于OpenIVS的自动化工业视觉检测系统?

摘要:前言 随着工业4.0和智能制造的发展,工业视觉在质检、定位、识别等场景中发挥着越来越重要的作用。然而,开发一个完整的工业视觉系统往往需要集成相机控制、图像采集、图像处理、AI推理、PLC通信等多个模块,这对开发人员提出了较高的技术要求。 推
前言 随着工业4.0和智能制造的发展,工业视觉在质检、定位、识别等场景中发挥着越来越重要的作用。然而,开发一个完整的工业视觉系统往往需要集成相机控制、图像采集、图像处理、AI推理、PLC通信等多个模块,这对开发人员提出了较高的技术要求。 推荐一个基于 .NET 平台的开源工业视觉软件框架OpenIVS,提供完整的视觉系统开发所需的基础功能模块,帮助大家快速开发高效、稳定的工业检测系统。 项目介绍 OpenIVS 全称 Open Source Industrial Vision System,是一个面向工业视觉领域的开源软件框架,提供一套标准化、模块化、可扩展的视觉系统开发平台。 它基于 .NET 平台开发,支持与主流工业相机(如海康MVS)、图像处理库(如Halcon、OpenCV)、AI推理SDK(如深度视觉AI平台)进行集成,并提供 PLC 控制、图像采集、模型推理、结果反馈等功能模块,适用于各种自动化检测场景。 项目功能 OpenIVS 主要包含以下核心功能模块: 1、相机连接与图像采集 支持海康MVS相机驱动; 可配置触发方式、曝光参数、图像保存路径; 支持单相机或多相机管理; 图像质量与存储策略可自定义。 2、AI模型推理 集成深度视觉AI平台高性能SDK; 支持加载多个模型并实现级联推理; 支持图像预处理与结果后处理; 模型路径可通过界面动态配置。 3、PLC控制与设备逻辑 支持Modbus串口通信协议; 可设置串口参数、设备ID、寄存器地址; 提供位置控制、OK/NG信号反馈等基础逻辑; 支持扩展自定义控制动作。 4、系统配置与设置 提供图形化设置页面,便于修改相机参数、PLC设置、模型路径; 支持图像保存策略(是否保存OK图或NG图); 可灵活调整位置序列、处理流程、图像处理算法等。 项目特点 OpenIVS 不仅功能全面,还具备以下优势: 模块化设计 各功能模块(相机、AI、PLC、图像处理)高度解耦,便于独立开发、调试与替换。 开源免费 作为开源项目,开发者可以自由查看源码、进行二次开发,适配自身业务需求。 易于扩展 支持多相机、多模型、多任务并发处理,满足复杂工业场景下的定制化需求。 跨平台兼容性好 基于 .NET 平台,可在 Windows 上稳定运行,未来可拓展至 Linux 环境。 实时性强、稳定性高 通过异步处理机制和良好的资源管理,确保系统在高频率检测任务中的实时性和稳定性。 安装需求 在使用 OpenIVS 前,需要安装以下软件: 1、海康相机MVS 版本:MVS_STD_4.4.0_240913.exe 下载地址:MVS_STD_4.4.0_240913.zip 用于相机连接和图像采集 2、Halcon(可选) 版本:halcon-20.11.1.0-windows.exe 下载地址:https://www.mvtec.com/downloads 如果需要使用Halcon接口进行图像处理,则需要安装 3、深度视觉AI平台 官方网站:https://dlcv.com.cn 需要安装高性能SDK套件才能加载模型进行推理 需要使用深度视觉AI平台训练模型 该SDK提供了模型推理所需的各项功能 参考文档:https://docs.dlcv.com.cn/deploy/csharp_sdk 项目使用 1、修改PLC配置 在 ModbusManager.cs 中可以修改PLC相关配置: 串口通信参数设置 _modbusApi.SetSerialPort( settings.PortName, // 串口名称 settings.BaudRate, // 波特率 settings.DataBits, // 数据位 settings.StopBits, // 停止位 settings.Parity, // 校验位 (byte)settings.DeviceId // 设备ID ); 也可以在设置页面修改: 位置控制参数 修改MoveToPositionAsync方法可调整位置控制逻辑 调整位置精度:Math.Abs(currentPosition - position) < 1.0f 增加其他动作 可在ModbusManager中增加其他PLC控制动作,以满足特定需求。例如:增加 OK/NG 信号控制。
阅读全文