1. 课程导入与In-Sight系统概览
在工业机器视觉领域,Cognex In-Sight 系列是应用最广泛的智能相机平台之一。它把图像采集、图像处理、结果判定与通信输出集成在一台紧凑的工业相机内,无需外接 PC 即可独立完成检测任务。对于刚接触 In-Sight 的工程师来说,真正需要建立的第一层认知不是"怎么点按钮",而是理解这套系统的组成结构、任务在系统中的位置,以及为什么任务配置与版本管理会直接决定一条产线的稳定性。
In-Sight 视觉系统家族与硬件形态
In-Sight 产品线按形态大致可分为三类。第一类是一体化智能相机,如 In-Sight 2000、7000 系列,镜头、光源接口、处理器和 I/O 集成在同一壳体内,适合空间受限、检测逻辑相对固定的工位。第二类是高性能视觉系统,如 In-Sight 8000、9000 系列,具备更高的分辨率与处理能力,可运行 PatMax、PatMax RedLine、表面检测等复杂工具,常用于定位精度要求高或节拍紧张的场合。第三类是视觉控制器形态,如 In-Sight VC 系列,可连接多台相机,适合多工位协同或需要集中处理的场景。
无论哪种形态,其内部逻辑是一致的:相机采集图像 → 运行作业(Job)中的工具序列 → 输出通过/失败(Pass/Fail)结果与测量数据 → 经 I/O、以太网、现场总线或工业协议发送给 PLC、机器人或上位系统。理解这条链路,是后续所有配置工作的基础。
任务配置到底在配置什么
在 In-Sight 软件(In-Sight Explorer 或 In-Sight Vision Suite)中,一个完整的检测任务通常包含以下要素:
- 图像来源与触发方式:连续采集、外部硬件触发、软件触发或编码器触发。触发方式决定了检测节拍与图像一致性。
- 定位工具:如 PatMax、PatQuick 或斑点定位,用于在图像中找到产品基准位置,后续测量都基于该坐标系。
- 测量与检测工具:卡尺、边缘、圆、直线、Blob、OCR、条码等,用于提取尺寸、缺陷或字符信息。
- 判定逻辑:把测量值与上下限比较,或组合多个工具的通过条件,形成最终的 Pass/Fail。
- 标定:将像素坐标转换为毫米坐标,使测量结果具有物理意义。
- 通信与 I/O 映射:把结果、坐标或字符串输出到 PLC 或上位机。
这些要素共同保存在一个作业文件中。作业文件就是视觉系统的"程序",它决定了相机看到什么、怎么算、输出什么。因此,任务配置不是一次性的调试动作,而是一项需要被记录、被管理、被复现的工程资产。
版本管理为什么是必修课
很多初学者会把版本管理理解为"备份文件",这远远不够。在真实产线上,版本管理要解决的是四类问题:
- 可追溯:某次误判发生后,需要知道当时运行的作业是哪个版本、参数是什么、谁在什么时候改过。
- 可回滚:新版本上线后出现批量误判,必须能在几分钟内恢复到上一稳定版本。
- 可同步:同一条产线有多台相同工位的相机,作业需要保持一致,避免"同料不同判"。
- 可复现:换机、换镜头或换光源后,能快速把已验证的配置迁移到新硬件上。
常见误区:把作业文件直接覆盖保存,不保留旧版本;或者只在工程师电脑上留一份,相机内没有备份。一旦现场误操作或相机故障,恢复成本极高。建议每次修改前先导出当前作业,命名中包含日期与变更摘要。
本课程的学习路径与实战目标
本课程围绕"能配、能调、能管、能恢复"四个能力层次展开。前段聚焦 In-Sight 软件界面、作业结构与工具配置方法,让学员能够独立完成一个包含定位、测量与判定的完整作业;中段进入标定、通信与多工具协同,解决实际检测中的精度与节拍问题;后段集中讲解版本管理、文件结构、备份策略与现场恢复流程,并通过综合案例把配置与版本管理串成一条完整的工作链。
学习完成后,学员应能独立完成以下任务:根据检测需求选择合适的工具组合;在 In-Sight 软件中建立并调试作业;对作业进行版本命名、导出与归档;在产线出现异常时快速定位是配置问题还是硬件问题,并执行回滚或重新部署。
学习建议:每学完一个工具或一个配置环节,都把自己的作业文件按"日期_工位_变更内容"的规则另存一份。这个习惯本身就是版本管理的起点,也会在后续章节中反复用到。
一个最小可用的作业示例
为了给后续章节建立参照,这里给出一个典型检测任务的配置轮廓(参数为教学示例,非实测值):检测对象为金属支架上的两个圆孔,要求孔径在 5.00 ± 0.10 mm,孔间距在 30.00 ± 0.15 mm。配置思路是:先用 PatMax 定位支架外轮廓建立基准坐标系,再用两个 FindCircle 工具分别测量两个孔,通过标定把像素半径换算为毫米,最后用数学表达式计算孔径与孔距,并与上下限比较输出 Pass/Fail。触发方式设为外部硬件触发,结果通过以太网发送到 PLC。
作业结构示例(教学用):
Job: Bracket_Hole_Check
├─ Trigger: Hardware Trigger (Input 0)
├─ Calibration: 0.025 mm/pixel
├─ Locator: PatMax (Bracket_Outline)
├─ Tool1: FindCircle (Hole_A) → Radius_A
├─ Tool2: FindCircle (Hole_B) → Radius_B
├─ Math1: Dia_A = Radius_A * 2 * 0.025
├─ Math2: Dia_B = Radius_B * 2 * 0.025
├─ Math3: Distance = Distance(Center_A, Center_B) * 0.025
├─ Judge: 4.90 ≤ Dia_A ≤ 5.10 AND 4.90 ≤ Dia_B ≤ 5.10
│ AND 29.85 ≤ Distance ≤ 30.15
└─ Output: Ethernet → PLC (Pass/Fail + 3 values)