Vision Studio 概述
Darra RT IDE 内置 Vision Studio 视觉系统,提供从相机配置、图像采集、模型推理到结果回写的完整工业视觉工作流。Vision Studio 与 PLC 项目深度集成,视觉结果可直接作为 PLC 变量参与逻辑控制。
视觉系统架构
Vision Studio 采用四层架构,从硬件到应用逐层解耦:
┌──────────────────────────────────────────────────┐
│ 应用层 (Application) │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ 外观检测 │ │ 定位引导 │ │ 条码识别 / OCR │ │
│ └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │
├───────┴────────────┴─────────────────┴───────────┤
│ 推理层 (Inference) │
│ ┌───────────────────┐ ┌────────────────────┐ │
│ │ ONNX Runtime │ │ OpenCV DNN │ │
│ │ (GPU / CPU) │ │ (CPU Fallback) │ │
│ └───────────────────┘ └────────────────────┘ │
├──────────────────────────────────────────────────┤
│ 采集层 (Acquisition) │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ UVC 相机 │ │ GigE │ │ GenTL 采集卡 │ │
│ │ (USB) │ │ Vision │ │ (Camera Link) │ │
│ └──────────┘ └──────────┘ └──────────────────┘ │
├──────────────────────────────────────────────────┤
│ 硬件层 (Hardware) │
│ USB 3.0 / GigE / Camera Link / CoaXPress │
└──────────────────────────────────────────────────┘
核心能力
| 功能 | 说明 |
|---|---|
| 多相机管理 | 支持同时管理多个相机,独立配置采集参数 |
| 卡片图工作流 | 拖拽式视觉程序编排,零代码构建视觉流程 |
| Vision SCL 编程 | 类 SCL 文本编程,支持视觉专用数据类型 |
| 多引擎推理 | ONNX Runtime (GPU) + OpenCV DNN (CPU 回退) |
| 模型管理 | ONNX 模型导入、版本管理、在线验证 |
| PLC 深度集成 | 异步 Job 提交,结果直写 PLC 变量 |
支持的硬件
相机接口
| 类型 | 协议 | 驱动 | 支持分辨率 |
|---|---|---|---|
| UVC 相机 | USB 3.0 / USB 2.0 | 系统原生 | 最高 3840×2160 |
| GigE Vision | GigE (1000BASE-T) | GenICam 协议 | 最高 4096×3072 |
| GenTL 采集卡 | Camera Link / CoaXPress | 厂商 GenTL Producer | 视采集卡规格 |
推理硬件
| 硬件 | 引擎 | 加速方式 |
|---|---|---|
| CPU (x64) | ONNX Runtime / OpenCV DNN | SSE4.2 / AVX2 |
| NVIDIA GPU | ONNX Runtime CUDA | CUDA 11.8+ |
| Intel GPU | ONNX Runtime OpenCL | OpenCL 2.0+ |
| 无 GPU | OpenCV DNN (CPU) | 自动回退 |
支持的推理引擎
ONNX Runtime
ONNX Runtime 是 Vision Studio 的主要推理引擎,支持:
- 模型格式: ONNX opset 11-21
- 量化支持: INT8、FP16 量化模型
- 动态输入: 可变 batch size 和分辨率
- 多 session 并发: 同一模型可同时处理多路图像
OpenCV DNN
OpenCV DNN 作为 CPU 回退引擎,无需额外运行时:
- 模型格式: ONNX、Caffe、TensorFlow、Darknet
- 适用场景: 开发调试、低算力边缘设备
- 限制: 不支持动态输入,需固定输入尺寸
与 PLC 的集成方式
Vision Studio 视觉程序以 异步 Job 方式集成到 PLC 项目:
PLC 扫描周期 ──→ 触发视觉 Job ──→ 异步执行 ──→ 完成回调 ──→ PLC 读取结果
│ │
▼ ▼
相机采集 结果写入
模型推理 PLC 变量区
后处理
- PLC 逻辑通过
VIS_JOB_START系统变量触发视觉 Job - Vision Studio 异步执行采集→推理→后处理链路
- Job 完成后自动将结果写入 PLC 指定的 DB 或全局变量
- PLC 通过
VIS_JOB_DONE状态位感知完成,读取结果 - 整个过程不阻塞 PLC 扫描周期,超时由
RuntimeResourcePolicy管理
视觉程序类型
| 类型 | 编辑方式 | 适用场景 |
|---|---|---|
| 卡片图 | 拖拽式 | 标准视觉流程,零代码快速搭建 |
| Vision SCL | 文本编程 | 复杂逻辑、自定义预处理、多条件分支 |
| 混合模式 | 卡片图 + SCL | 标准流程 + 自定义逻辑片段 |
许可与限制
| 特性 | 免费版 | 专业版 |
|---|---|---|
| 相机数量 | 1 个 | 不限 |
| 视觉程序数 | 1 个 | 不限 |
| 算子数量 | 基础 20 个 | 全部 200+ 算子 |
| 推理引擎 | ONNX Runtime CPU | ONNX Runtime CUDA |
| 模型管理 | 本地 1 个模型 | 版本管理 + 部署 |
| 异步 Job | 不支持 | 支持 |
| 运行时资源策略 | 固定 | 可配置 RuntimeResourcePolicy |