跳到主要内容

AI 驱动文档

您想了解什么?

第 5 步:输出

判定决定了结论。输出决定由谁得知这一结果:通过现场总线连接的 PLC、相机上的某根导线,或两者兼有。如果一个 PLC 读取多个程序,请先统筹规划所有程序的 slots:

PLC 槽位规划器

将各程序并排对照,让每个槽位在所有程序中含义一致。

插槽总线数据
196 至 119含义变化
2120 至 143含义变化
3144 至 167
4168 至 191
5192 至 215
6216 至 239
7240 至 263
8264 至 287
2 个槽位在不同程序中含义不同PLC 必须先知道当前运行的是哪个程序,才能读取这些字节。请为每种工具类型分配一个固定槽位,并在不使用该工具的程序中将其留空。空槽位不占用任何成本。
Part 1204 中的槽位 1
字节字段含义
96Type6, 条码读取
97Status通过、判定、N/A、启用和已运行位
98Error0 表示无
100Score x1000解码成功为 1000,未解码为 0
104F1 Symbology
108F2 MatchOutcome
112F3 FailureCause
116F4此工具类型不使用

槽位 1 的通过位:字节 28,位 0。 此记录中不包含解码的条码文本;该文本在用户结果区域中发送。 槽位 9 至 64 仅承载通过位,不含记录。

一个规划辅助工具。相机在输出步骤的 字节 视图,以及您固件对应的 EDS 或 GSDML 文件,才是布局的最终依据。

简而言之
  • PLC recipe ID:PLC 用来选择该程序的编号。复制和导入会为程序分配新的 ID
  • Slots:1 到 8 发送完整结果,9 到 64 发送通过位。请保持每个 slot 在各程序中的含义一致
  • 输出:两根导线,DO0 和 Strobe Out。新建的默认输出已是剔除闸门
  • 输出永远不会阻止激活。没有输出的程序也是有效的

该步骤包含三个独立的部分。一个程序可以使用其中一个、两个或全部三个。

OV Spark 输出步骤,显示 PLC recipe ID 卡片

如果相机上未选择任何协议,会出现一个信息横幅,提示此处配置的内容尚未传递到 PLC,但 slots 和 recipe ID 仍可编辑。这是刻意设计的:导入的程序会携带这些配置,您可以现在配置、以后再调试上线。

准备就绪后,在 Industrial Ethernet 中选择协议。

PLC recipe ID​

一个从 1 到 32767 的数字,用于向控制器标识该程序。

该程序在 PLC 和工业以太网通信中的持久 ID。在本相机的所有程序中唯一。

PLC 通过它远程选择程序:PLC 写入该 ID 并发起切换请求,相机加载相应程序并确认。它也会显示在 All Recipes 的程序表中。

创建程序时相机会自动分配一个 ID,因此该字段永远不会为空。ID 在整个相机范围内唯一,尝试重复使用某个 ID 会被拒绝,并提示已占用该 ID 的程序名称。

复制或导入程序会为其分配新的 PLC recipe ID

这常常让人在调试上线时措手不及。复制和导入都会分配一个新的 ID,因此副本不会响应您的 PLC 程序所期望的编号。导入时 Slot 分配会随之一并带过来,但 recipe ID 不会。

复制或导入后,请回到此字段,设置控制器实际选用的 ID。

PLC 写入 ID,发起切换请求,相机确认后短暂离线以加载程序,然后报告加载完成。已在运行的检测会在旧程序下完成。未知的 ID 会触发切换错误,而不是悄无声息地什么都不做。

有计划地分配 ID,并记录在案

ID 是相机与 PLC 程序之间的契约。请在构建第二个程序之前就确定编号方案,与您的 PLC 标签列表记录在同一文档中,且绝不要将一个 ID 用于不同的产品。

一种合理的方案是每个零件号对应一个编号,例如 recipe ID 1204 用于检测零件 1204。日后面对柜子里的相机临时猜测,是件痛苦的事。

PLC 工具结果​

此设置决定每个工具通过 PLC 在哪个槽位报告其结果。槽位是进程映像中的固定位置,因此控制器始终从同一地址读取给定工具的结果。

默认情况下未分配任何工具,相机会显示没有工具通过 PLC 报告。判定结果仍会发送;缺少的是每个工具的详细信息。

两种槽位​

OV Spark 输出槽位表及传输字节范围

槽位 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 需要实际的码,请从该区域读取,而不是从工具记录中读取。

让 PLC 检查工具类型字节

每条记录的第一个字节说明生成该记录的工具类型。检查此字节的控制器在程序切换后不会将 OCR 记录误读为对齐器记录,这正是保持槽位含义稳定要防范的故障模式。

在不同程序间保持槽位含义稳定

没有任何机制阻止程序 A 将条码放入槽位 1,而程序 B 将计数放入该槽位。相机会乐于照办,而您的 PLC 程序就必须先知道哪个程序处于活动状态才能解释这些字节。

这是您可以避免的一整类集成缺陷:只要一次性决定槽位 1 始终为条码、槽位 2 始终为计数,并在不使用该槽位的程序中将其留空。空槽位没有任何代价。

未分配槽位的工具并未被禁用。它仍会运行、判定、出现在库中,并且如果有判定规则涵盖它,它仍会参与判定。只是它不会单独向 PLC 报告。无论如何,程序的整体通过或失败结果仍会到达控制器。

新工具始终以未分配状态开始,因此这是默认状态而非错误。

在槽位之间移动工具​

分配同时也是重新排序的方式,具体行为取决于工具的来源:

您拖放到已占用的槽位结果
已有槽位的工具两个工具交换槽位
未分配的工具原占用者被完全移出 PLC
移除是无声的

将未分配的工具移入已占用的槽位,会在没有警告的情况下将先前的占用者从 PLC 映射中挤出。如果某控制器正在读取该槽位,它将不再接收到该工具的记录。

在任何槽位重新排布之后,请检查未分配区域。所有从映射中掉落的内容都会列在那里。

"Place in a slot" 仅覆盖槽位 1 至 8

Place in a slot 按钮以最低的空闲整槽位为目标。当这 8 个槽位全部被占用后,按钮仍会打开,但列表中每个工具都会变灰且无法点击,看起来像是一个 bug。

要放置第 9 个工具,请改用 Slots 9 to 64 标题上的 + Assign a slot 并输入槽位号。

输出​

第三部分根据结果切换相机上的物理线。

根据结果切换相机上的某条线。随此程序一起保存。

OV Spark 输出配置,展开了 Advanced 极性设置

您可获得两条输出,每个物理引脚一条。当两条均被使用后,Add output 按钮仍可见但禁用,并显示工具提示说明两个引脚均已被占用。

每条输出可读作一句话:

Drive [DO0] when [the recipe result] [fails] [Hold until next result]

新添加的输出默认配置为 DO0、the recipe result、fails、hold until next result、PNP,这是大多数输出首选的剔除闸门接线。对于简单的剔除闸门,您可以直接添加输出并保存,无需做任何更改。

四项选择​

使用哪条线

选项说明
DO0Digital 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

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 中观察引脚状态即可。

让脉冲比 PLC 扫描周期更长

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
第 10 步,共 13 步
← 上一步步骤 4:判定
下一步 →步骤 6:收尾