跳到主要内容

AI 驱动文档

您想了解什么?

设置数字输出逻辑

本指南演示如何配置 OV80i 的数字输出,以根据检测结果控制外部设备。摄像头拥有 2 个数字输出,以 True/False 逻辑工作,用于触发分拣机构、指示灯、警报或其他自动化设备。

何时使用数字输出: 自动化分拣系统、通过/不通过指示灯、拒绝机构、警报系统、PLC 通信,或任何需要根据检测结果触发的外部设备。

先决条件

  • OV80i 摄像系统已搭建并连接
  • 配方中已配置检测逻辑的活动配方
  • 要控制的外部设备(用于测试时可选)
  • 基本数字 I/O 概念理解

数字输出规格

OV80i 通过 M12 连接器提供 2 个数字输出:

输出引脚号导线颜色功能
数字输出 011可配置输出
数字输出 112可配置输出
注意

数字输出(DO0 / DO1)为 NPN 开路集电极(仅下拉电流)。需要外部上拉或负载至 +V,输出可以拉到 0 V(接地),但不能源出 24 V。

NPN 下拉输出工作原理

切换下方按钮以查看数字输出激活时电流在电路中的流动。

CameraFalseRelay+24V+24VDOGNDSystem GND

Status: OFF

Turn ON the digital output to sink current through the relay coil to ground.

工作逻辑:

  • True = 输出 ON(24V)
  • False = 输出 OFF(0V)

步骤 1:访问 Node-RED 编辑器

1.1 导航到 IO Block

  1. 在 Recipe Editor 中打开你正在使用的活动配方
  2. 点击 Configure IO 或在面包屑导航中选择 IO Block 进入 Node-RED 编辑器

1.2 验证 Node-RED 界面

检查点: 你应该在左侧看到带有节点调色板的 Node-RED 流编辑器。

步骤 2:添加数字输出节点

2.1 定位输出节点

  1. 在左侧面板的(Overview)部分找到 “Output” 节点
  2. “Output” 节点 拖拽到流程画布上
  3. 双击节点进行配置

image.png

2.2 配置输出设置

节点配置:

设置选项描述
输出引脚DO0、DO1选择要控制的实际输出
初始状态OFF、ON系统启动时的初始状态
名称自定义文本用于标识的可选标签

2.3 输出配置步骤

  1. 选择输出引脚:
    • DO0 = 数字输出 1(引脚 11)
    • DO1 = 数字输出 2(引脚 12)
  2. 设置初始状态:
    • OFF = 启动时输出处于 OFF 状态(推荐)
    • ON = 启动时输出处于 ON 状态
  3. 为节点命名:
    • 使用描述性名称,如 "Reject_Signal" 或 "Pass_Light"
  4. 单击 "Done" 保存配置

步骤 3:将逻辑连接到输出

3.1 基本通过/不通过输出

对于简单的通过/不通过指示:

  1. 若未存在,请添加 "Final Pass/Fail Output" 节点
  2. 连接:Final Pass/Fail → Output 节点
  3. 结果:检测通过时输出激活

3.2 反向逻辑(失败信号)

在检测失败时触发输出:

  1. 在通过/失败与输出之间添加“function”节点
  2. 配置 function 节点:
// Invert pass/fail signal - ensure boolean output
msg.payload = !msg.payload;
return msg;

  1. 连接: Final Pass/Fail → Function → Output Node
  2. 结果: 当检测失败时,输出将被激活

3.3 基于分类结果的自定义逻辑

在使用分类结果或其他检测数据时:

  1. 添加“function”节点 将结果转换为布尔值
  2. 针对您的逻辑配置 function:
// Convert classification result to boolean
// Example: Activate output for specific class
if (msg.payload.class === "Defective") {
msg.payload = true; // Turn output ON
} else {
msg.payload = false; // Turn output OFF
}
return msg;

  1. 连接: Data Source → Function → Output Node

3.4 布尔值转换示例

对于不同数据源,总是将其转换为布尔值:

来自置信度值:

// Activate if confidence below threshold
msg.payload = (msg.payload.confidence <0.8);
return msg;

来自 ROI 结果:

// Activate if any ROI failed
msg.payload = msg.payload.roi_results.some(roi => !roi.pass);
return msg;

备注

输出节点需要布尔输入(true/false)。在连接 Output 节点之前,请始终确保您的逻辑输出布尔值。

4.1 为什么使用脉冲输出

脉冲输出被推荐的原因:

  • 提供清晰的信号指示
  • 防止输出无限期保持 ON
  • 更适合触发外部设备
  • 更易于排查信号时序

4.2 Add Trigger Node

  1. Add "trigger" node from Function section
  2. Place between 逻辑源与输出节点之间
  3. Double-click trigger node 进行配置

4.3 Configure Trigger Settings

Pulse Configuration:

SettingRecommended ValueDescription
SendTrueInitial signal to send
Then wait500msPulse duration
Then sendFalseSignal after delay
Extend delayDisabledDon't extend on new messages

image.png

4.4 Trigger Configuration Steps

  1. First Output:
    • Send: booleantrue
    • This turns the output ON
  2. Delay Settings:
    • Then wait for: 500 milliseconds
    • Then send: booleanfalse
    • This turns the output OFF after delay
  3. Advanced Options:
    • Extend delay if new message arrives: Unchecked
    • Stop existing delay if new message arrives: Checked
  4. Click "Done" to save

Digital output

Noderedflow

4.5 Wire Pulse Configuration

Connect nodes in this order: Logic Source → Trigger → Output Node

Example flow: Final Pass/Fail → Trigger → Output (DO0)

第5步:部署与测试配置

5.1 部署流程

  1. 点击“Deploy” 按钮(右上角)
  2. 验证部署成功 的消息
  3. 检查节点状态 指示器

5.2 监控 Digital I/O Status

使用内置的 I/O 监控屏幕:

  1. 在主界面导航至 “I/O Live Monitor” 页面
  2. 实时观察输出状态
  3. 检查 "Last state change" 时间戳

Digital Outputs on IO Live Monitor page.png

Digital I/O Status Screen shows:

  • 当前输出状态(ON/OFF)
  • 上次状态更改时间戳
  • 实时状态更新

![Digital I/O Status Screen - Insert your I/O monitoring interface screenshot here showing Digital Output 1 and Digital Output 2 status with timestamps]

5.3 输出激活测试

手动测试:

  1. 添加“inject”节点 进行测试
  2. 配置 inject 节点:
    • Payload: booleantrue
    • Name: "Test Output"
  3. 连接:Inject → Trigger → Output
  4. 点击 inject 按钮 以测试输出
  5. 在 I/O 状态屏幕中验证输出激活

第6步:高级输出配置

6.1 同时输出控制

同时控制两个输出:

  1. 为 DO0 和 DO1 添加单独的输出节点
  2. 将同一逻辑源连接到两个输出
  3. 如有需要,使用不同的触发延迟

6.2 条件输出选择

基于条件路由到不同输出:

  1. 从 Function 部分添加“switch”节点
  2. 配置路由规则:
// Route based on classification result
if (msg.payload.class === "Large") {
return [msg, null]; // Send to first output (DO0)
} else if (msg.payload.class === "Small") {
return [null, msg]; // Send to second output (DO1)
}
return [null, null]; // No output

  1. 将 switch 输出连接到各自的输出节点

6.3 延迟输出序列

创建定时输出序列:

  1. 添加多个带有不同延迟的触发节点
  2. 配置序列时序:
    • 第一个触发:100ms 脉冲
    • 第二个触发:500ms 延迟,然后 200ms 脉冲
  3. 串联连接以实现顺序激活

第7步:集成示例

7.1 排序系统集成

双向分拣设置:

  • DO0(Output 1): 合格件传送带
  • DO1(Output 2): 拒收箱执行器
Final Pass/Fail → Switch Node → Trigger → DO0 (Pass)
→ Trigger → DO1 (Fail)

7.2 警报系统集成

多级警报系统:

  • DO0: 警示灯(次要缺陷)
  • DO1: 警报喇叭(重大缺陷)
Classification Logic → Function (Check severity) → Appropriate Output

7.3 PLC 通信

简单 PLC 握手:

  • DO0: 检查完成信号
  • DO1: 部件拒绝信号
All Block Outputs → Format for PLC → Trigger → DO0
→ Reject Logic → Trigger → DO1

第8步:输出问题排查

8.1 输出未激活

问题检查项解决方案
无输出信号节点连接验证所有线路是否连接
逻辑从不触发输入条件检查通过/失败逻辑配置
定时问题触发设置调整脉冲持续时间
错误的引脚处于活动状态输出引脚选择验证 DO0/DO1 配置

8.2 Using I/O Status for Troubleshooting

The Digital I/O screen helps identify:

  1. Current Output State(当前输出状态): 查看输出是否确实在变化
  2. Last State Change(最近一次状态更改): 验证输出激活的时序
  3. State History(状态历史): 跟踪输出随时间的行为

Troubleshooting with I/O Screen:

  • Output shows "OFF" always: 逻辑可能未触发
  • Output shows "ON" always: 缺少脉冲配置
  • No timestamp updates: 检查 Node-RED 连接
  • Rapid state changes: 逻辑可能触发过于频繁

8.3 External Device Issues

问题原因解决方案
设备无响应电压不匹配验证 24V 兼容性
间歇性工作接线问题检查 M12 接头接线
响应延迟外部设备时序调整脉冲持续时间

Step 9: Testing and Validation

9.1 Systematic Testing

系统化测试每个输出:

测试期望结果状态
手动触发 DO0输出 1 在脉冲持续时间内激活
手动触发 DO1输出 2 在脉冲持续时间内激活
通过条件输出正确激活
失败条件输出正确激活
I/O 状态更新时间戳显示状态变化

9.2 Production Validation

在投入生产之前:

  1. 使用实际零件及检验条件进行测试
  2. 验证输出时序符合外部设备要求
  3. 确认电气连接牢固
  4. 记录输出分配以便维护

9.3 Performance Verification

监控以下方面:

  • 响应时间: 检测后输出激活的延迟
  • 可靠性: 输出行为随时间保持一致
  • 时序精度: 脉冲持续时间与配置一致

Success! Your Digital Outputs are Ready

Your digital output system can now:

  • 基于检验结果控制外部设备
  • 提供脉冲信号以实现可靠触发
  • 支持多种输出配置,以实现复杂的自动化
  • 与 PLC 和分拣系统 集成,用于生产自动化
  • 通过内置的 I/O 接口监控输出状态

Ongoing Maintenance

Regular System Checks

  • 监控 I/O 状态屏幕以确保一致的运行
  • 验证输出时序仍在规格范围内
  • 检查 M12 接头处的电气连接
  • 定期测试手动触发以确保系统健康

Troubleshooting Resources

  • 使用 I/O 状态屏幕进行实时诊断
  • 检查 Node-RED 调试面板以排查逻辑问题
  • 验证外部设备规格与输出能力相匹配
  • 记录任何配置变更,以供将来参考

Next Steps

在配置数字输出后:

  1. 如需外部控制,设置数字输入触发器
  2. 配置 PLC 通信以实现集成自动化
  3. 在生产环境中实现安全互锁
  4. 创建系统健康状态的自动监控

🔗 相关链接