AI 驱动文档
您想了解什么?
第 5 步:输出
判定决定了结论。输出决定由谁得知这一结果:通过现场总线连接的 PLC、相机上的某根导线,或两者兼有。如果一个 PLC 读取多个程序,请先统筹规划所有程序的 slots:
PLC 槽位规划器
将各程序并排对照,让每个槽位在所有程序中含义一致。
| 插槽 | 总线数据 | |||
|---|---|---|---|---|
| 1 | 96 至 119 | 含义变化 | ||
| 2 | 120 至 143 | 含义变化 | ||
| 3 | 144 至 167 | |||
| 4 | 168 至 191 | |||
| 5 | 192 至 215 | |||
| 6 | 216 至 239 | |||
| 7 | 240 至 263 | |||
| 8 | 264 至 287 |
| 字节 | 字段 | 含义 |
|---|---|---|
| 96 | Type | 6, 条码读取 |
| 97 | Status | 通过、判定、N/A、启用和已运行位 |
| 98 | Error | 0 表示无 |
| 100 | Score x1000 | 解码成功为 1000,未解码为 0 |
| 104 | F1 Symbology | |
| 108 | F2 MatchOutcome | |
| 112 | F3 FailureCause | |
| 116 | F4 | 此工具类型不使用 |
槽位 1 的通过位:字节 28,位 0。 此记录中不包含解码的条码文本;该文本在用户结果区域中发送。 槽位 9 至 64 仅承载通过位,不含记录。
一个规划辅助工具。相机在输出步骤的 字节 视图,以及您固件对应的 EDS 或 GSDML 文件,才是布局的最终依据。
- PLC recipe ID:PLC 用来选择该程序的编号。复制和导入会为程序分配新的 ID
- Slots:1 到 8 发送完整结果,9 到 64 发送通过位。请保持每个 slot 在各程序中的含义一致
- 输出:两根导线,DO0 和 Strobe Out。新建的默认输出已是剔除闸门
- 输出永远不会阻止激活。没有输出的程序也是有效的
该步骤包含三个独立的部分。一个程序可以使用其中一个、两个或全部三个。

如果相机上未选择任何协议,会出现一个信息横幅,提示此处配置的内容尚未传递到 PLC,但 slots 和 recipe ID 仍可编辑。这是刻意设计的:导入的程序会携带这些配置,您可以现在配置、以后再调试上线。
准备就绪后,在 Industrial Ethernet 中选择协议。
PLC recipe ID
一个从 1 到 32767 的数字,用于向控制器标识该程序。
该程序在 PLC 和工业以太网通信中的持久 ID。在本相机的所有程序中唯一。
PLC 通过它远程选择程序:PLC 写入该 ID 并发起切换请求,相机加载相应程序并确认。它也会显示在 All Recipes 的程序表中。
创建程序时相机会自动分配一个 ID,因此该字段永远不会为空。ID 在整个相机范围内唯一,尝试重复使用某个 ID 会被拒绝,并提示已占用该 ID 的程序名称。
这常常让人在调试上线时措手不及。复制和导入都会分配一个新的 ID,因此副本不会响应您的 PLC 程序所期望的编号。导入时 Slot 分配会随之一并带过来,但 recipe ID 不会。
复制或导入后,请回到此字段,设置控制器实际选用的 ID。
PLC 写入 ID,发起切换请求,相机确认后短暂离线以加载程序,然后报告加载完成。已在运行的检测会在旧程序下完成。未知的 ID 会触发切换错误,而不是悄无声息地什么都不做。
ID 是相机与 PLC 程序之间的契约。请在构建第二个程序之前就确定编号方案,与您的 PLC 标签列表记录在同一文档中,且绝不要将一个 ID 用于不同的产品。
一种合理的方案是每个零件号对应一个编号,例如 recipe ID 1204 用于检测零件 1204。日后面对柜子里的相机临时猜测,是件痛苦的事。
PLC 工具结果
此设置决定每个工具通过 PLC 在哪个槽位报告其结果。槽位是进程映像中的固定位置,因此控制器始终从同一地址读取给定工具的结果。
默认情况下未分配任何工具,相机会显示没有工具通过 PLC 报告。判定结果仍会发送;缺少的是每个工具的详细信息。
两种槽位

槽位 1 至 8:完整工具结果。 一条完整的结果记录加一个通过位,在默认组件中传输。下表显示了每个槽位的确切位置:
| 槽位 | 传输字节 |
|---|---|
| 1 | 字节 96 至 119 |
| 2 | 字节 120 至 143 |
| 3 | 字节 144 至 167 |
| 4 | 字节 168 至 191 |
| 5 | 字节 192 至 215 |
| 6 | 字节 216 至 239 |
| 7 | 字节 240 至 263 |
| 8 | 字节 264 至 287 |
每个完整槽位为 24 字节。点击该行上的 + Assign 以将工具分配到该槽位。
槽位 9 至 64:仅通过位。 单个通过或失败位,不含结果记录。正如相机所述,这些在 8 个完整槽位之后非常有用。
选择哪些工具使用完整槽位
您有 8 个完整槽位和最多 64 个工具的通过位。完整槽位是稀缺资源,因此应将其用于控制器需要数值而不仅仅是判定的工具。
| 分配完整槽位给 | 因为 PLC 需要 |
|---|---|
| AI Count | 计数值本身,用于记录或比较 |
| Color Match | 分数或 ΔE,用于跟踪漂移 |
| AI OCR | 解码的文本,用于可追溯性 |
| Barcode Read | 解码的码,用于与订单匹配 |
| AI Segmentation | 缺陷面积,用于分级而非拒收 |
对于答案真正是二元的工具(例如仅输出好或坏的分类器),通过位就足够了。
每条记录为 24 字节:一个小的报头,包含工具类型、状态和错误,一个通用分数,然后是四个工具特定的值。点击任意已分配行上的 Bytes,相机会显示该槽位的精确字段映射,因此无需手工转录偏移量。
Barcode Read 记录包含码制、内容是否匹配以及失败原因。解码后的字符串本身是单独发送的,位于输入组件的用户结果区域。如果您的 PLC 需要实际的码,请从该区域读取,而不是从工具记录中读取。
每条记录的第一个字节说明生成该记录的工具类型。检查此字节的控制器在程序切换后不会将 OCR 记录误读为对齐器记录,这正是保持槽位含义稳定要防范的故障模式。
没有任何机制阻止程序 A 将条码放入槽位 1,而程序 B 将计数放入该槽位。相机会乐于照办,而您的 PLC 程序就必须先知道哪个程序处于活动状态才能解释这些字节。
这是您可以避免的一整类集成缺陷:只要一次性决定槽位 1 始终为条码、槽位 2 始终为计数,并在不使用该槽位的程序中将其留空。空槽位没有任何代价。
未分配槽位的工具并未被禁用。它仍会运行、判定、出现在库中,并且如果有判定规则涵盖它,它仍会参与判定。只是它不会单独向 PLC 报告。无论如何,程序的整体通过或失败结果仍会到达控制器。
新工具始终以未分配状态开始,因此这是默认状态而非错误。
在槽位之间移动工具
分配同时也是重新排序的方式,具体行为取决于工具的来源:
| 您拖放 | 到已占用的槽位 | 结果 |
|---|---|---|
| 已有槽位的工具 | 两个工具交换槽位 | |
| 未分配的工具 | 原占用者被完全移出 PLC |
将未分配的工具移入已占用的槽位,会在没有警告的情况下将先前的占用者从 PLC 映射中挤出。如果某控制器正在读取该槽位,它将不再接收到该工具的记录。
在任何槽位重新排布之后,请检查未分配区域。所有从映射中掉落的内容都会列在那里。
Place in a slot 按钮以最低的空闲整槽位为目标。当这 8 个槽位全部被占用后,按钮仍会打开,但列表中每个工具都会变灰且无法点击,看起来像是一个 bug。
要放置第 9 个工具,请改用 Slots 9 to 64 标题上的 + Assign a slot 并输入槽位号。
输出
第三部分根据结果切换相机上的物理线。
根据结果切换相机上的某条线。随此程序一起保存。

您可获得两条输出,每个物理引脚一条。当两条均被使用后,Add output 按钮仍可见但禁用,并显示工具提示说明两个引脚均已被占用。
每条输出可读作一句话:
Drive
[DO0]when[the recipe result][fails][Hold until next result]
新添加的输出默认配置为 DO0、the recipe result、fails、hold until next result、PNP,这是大多数输出首选的剔除闸门接线。对于简单的剔除闸门,您可以直接添加输出并保存,无需做任何更改。
四项选择
使用哪条线
| 选项 | 说明 |
|---|---|
| DO0 | Digital Output 0,引脚 11 |
| Strobe Out | 引脚 12,也可用于外部照明 |
由什么驱动
| 选项 | 使用场景 |
|---|---|
| the recipe result | 总体判定。剔除闸门的常规选择 |
| one tool | 单个工具的结果,便于针对某一特定失败做出响应 |
选择 one tool 会显示一个工具选择器。对齐器不会出现在选项中,被禁用的工具会显示为已禁用标签,但会阻止保存,因为由一个永远不运行的工具驱动的输出永远不会触发。
哪个方向
| 选项 | 典型用途 |
|---|---|
| passes | 驱动良品指示灯,或打开让良品通过的闸门 |
| fails | 驱动剔除执行器或故障指示灯 |
保持切换的时长
| 选项 | 行为 |
|---|---|
| Hold until next result | 该线保持切换状态,直至下一个零件被检测 |
| Pulse | 每次触发时该线切换一段设定的时间,范围为 10 至 60000 ms,初始为 100 ms |
Hold 适用于任何需要在零件行进至执行器期间保持状态的场合,这包括大多数剔除机构。
Pulse 适用于任何边沿触发的场合,例如计数器输入或在上升沿锁存的 PLC。如果脉冲进入采样较慢的设备,请将脉冲时间设置为长于 PLC 扫描周期,否则会被完全错过。
高级:根据接线匹配极性
在每条线路的 Advanced 下:
将此设置与您所接设备匹配。
| 选项 | 行为 |
|---|---|
| PNP, switches high(默认) | 输出为拉电流(source) |
| NPN, switches low | 输出为灌电流(sink) |
极性不匹配不会产生错误。相机正常切换,但设备没有响应,这会让人去怀疑程序损坏或相机故障。
在排查之前,请先对照设备数据手册确认。I/O Live Monitor 会显示相机正在切换该输出,即使设备没有反应,这是最快速的辨别方法。
使用 Add output 添加第二条线路,例如一根线输出通过、另一根输出失败。
指示灯 LED
在该步骤的底部:
相机的指示灯可以跟随检测结果变化。这是相机级设置,所有程序共用。
Open Indicator LED settings 会带您前往该页面。
与此页面上的其他设置不同,指示灯 LED 不随程序一起保存。更改它会影响相机上的每一个程序。在为某一个产品修改之前,请知悉这一点。
在运行中的产线上输出如何表现
该句描述了正常零件的情况。而以下这些场景才决定一个集成是否稳固。
Hold 跟随电平,双向生效。 设置为失败时保持的输出,会在零件失败时拉高,并在下一个通过的零件到来时自动回落。无需再用第二根线来清除它。
Pulse 会排队而非丢失。 如果在一个脉冲仍然为高时又触发了第二个零件,该脉冲会被记录下来并在之后触发,而不是丢失。若在同一时间窗口内到达第三个,则会替代第二个。
如果一条输出由单个工具驱动,而该工具因对齐失败被跳过,则该输出不会收到任何事件,并保持原本的状态。
它既不会回落,也不会触发。被保持的拒绝输出会继续置位;已清除的则保持清除。请将其与 Judgment 上的对齐失败策略配合使用,或改为由程序总判定结果驱动安全相关的信号线,因为后者始终会产生一个事件。
程序切换时会先清除引脚。 加载程序时,每个已配置的输出都会被驱动到其空闲状态,因此之前程序所置位的输出不会一直卡住。
输出在 Setup 模式下也会触发。 您无需进入 Production 即可测试接线。手动触发并在 I/O Live Monitor 中观察引脚状态即可。
10 ms 的脉冲发送到一个每 20 ms 扫描一次的控制器,可能永远不会被捕获。如果接收端逻辑没有在硬件上做边沿锁存,请将脉冲宽度设置为大于扫描周期,或改用 hold。
从其他页面影响您的输出的操作
编辑器中其他位置的三类编辑操作会悄悄改写您在此处的设置。
| 您的操作 | 对输出的影响 |
|---|---|
| 在步骤 3 中删除工具 | 由该工具驱动的任何输出都会被删除,其槽位被释放 |
| 在步骤 3 中禁用工具 | 由其驱动的输出会变为阻止保存的错误,因为它永远无法触发 |
| 复制程序 | 按工具配置的输出会被丢弃;基于程序总判定结果的输出会被保留 |
槽位更改与该步骤的其他内容是通过不同的调用保存的。如果槽位更改中途失败,之前的槽位更改已经生效,而程序 ID 和输出配置尚未生效,未保存标记会继续显示。
如果保存报错,请重新读取该页面,不要假设什么都没有发生。
实例讲解
仅驱动剔除阀,无其他配置。 当程序判定失败时驱动 DO0,保持至下一次结果,PNP。无现场总线,无槽位。将引脚 11 接至剔除阀,参见引脚定义。这是一个完整且合规的配置。
向 PLC 上报结果。 设置 PLC 程序 ID,将条码放入槽位 1、计数放入槽位 2,分类器保留在通过位上。在工业以太网中选择 EtherNet/IP 或 PROFINET,并从中下载 EDS 或 GSDML 文件,让控制器直接获取数据布局,无需手动抄录字节偏移。
由生产线进行程序切换。 为每个产品的程序分配一个与零件号对应的独立 PLC 程序 ID。换型时 PLC 写入该 ID,相机自动切换,操作员无需任何操作。
继续之前
- 已设置 PLC 程序 ID,并与 PLC 标签列表一同记录
- 控制器需要读取数值的每个工具都已分配完整槽位
- 槽位含义与其他程序保持一致
- 输出极性与实际接线的设备匹配
- 根据读取信号的设备选择保持或脉冲模式,且脉冲长度大于 PLC 扫描周期
- 安全相关的接线由程序判定结果驱动,而非由单个可能被定位跳过的工具驱动
- 若该程序为复制或导入所得,已重新核对 PLC 程序 ID