跳到主要内容

配置设备与 Safety

何时用

当 App 需要连接 PLC、机器人、运动总线、相机或自定义设备,或者需要为真实输出配置工程联锁时,使用本指南。

Object 是 Page 和 QG 调用设备的业务接口。Page 负责显示与操作意图,QG 负责编排步骤、等待、超时和恢复,Object 负责具体设备能力。不要在多个 Page 中散落寄存器地址,也不要绕过 Object 直接复制底层控制逻辑。

开始前

  • 准备经审核的设备清单、型号、固件 / 控制软件版本、协议、地址、单位、量程、轴参数和 IO 表;
  • 确认当前 Runtime target、License、功能包和真实硬件与本次测试一致;
  • 确认 App 和运动总线已经停止,设备处于允许调试的状态;
  • 为真实输出安排现场监护、急停方式、隔离区域和低速 / 无负载测试条件;
  • 明确哪些动作只能由具备资质的工程师执行,哪些结果必须留存验收记录。
危险

Theseus 的软件命令和 Safety 工程联锁都不是认证安全控制。硬件急停、安全门、安全继电器、安全 PLC、控制器安全功能和风险评估必须独立有效。

步骤

1. 配置普通 Object 或自定义设备

  1. Resources → Objects 右键选择新增对象
  2. 选择与现场协议和设备版本完全匹配的 Provider;不要用名称相似的类型代替。
  3. 使用能表达工艺含义的 Object id 和名称,在 Properties 填写连接参数、单位、范围和 Object 引用。
  4. 保存后立即处理红色字段、缺失类型和断开引用。
  5. 在 QG 中把底层读写封装成业务动作、等待、超时和恢复分支;Page 只触发意图并显示结果。
  6. 先用模拟输入或只读状态验证,再测试可能产生动作的方法。

没有合适的内置能力时,进入高级:自定义 C# Object 能力。完成自定义能力的 Build 和只读验证后,再回到本页配置 Object 与现场设备。

2. 配置 Motion 与 IO

  1. 打开 Settings → 常规,启用 Motion 并保存。
  2. 打开 Settings → 轴/IO,先按已审核点表配置总线、轴、组和 IO。
  3. 需要从现场采集主站信息时,先用 App Start 或 Debug 进入测试状态,再执行 Scan Devices;核对设备身份和布局后,才选择 Capture Master Config 保存明确配置。
  4. Stop App,保存修改并执行 Build;在 Problems 中修复模块、点位或配置错误。
  5. 再次 Start 或 Debug,先执行 Pulsar Scan Devices,核对实际设备与已保存配置,再执行 Pulsar Start
  6. 只读检查总线、驱动器、位置、限位和 IO 反馈。
  7. 按“单轴、低速、无负载、可立即停止”的顺序验证回零和运动,最后才测试多轴、流程动作和真实输出。

配置保存不会热更新正在运行的实例。任何轴、IO 或联锁修改都要经过 Stop → Build → Start / Debug,再重新执行在线检查。

3. 连接外部控制器

  1. Resources → Objects 新增与现场协议匹配的通信 Object,例如 Modbus、Omron Host Link 或 S7-200 Smart。
  2. 在 Properties 中明确填写网络 / 串口参数、站号、地址、数据类型、字节 / 字顺序和 timeout;不要让 AI 或运行时猜测点位。
  3. 在 QG 或自定义 Object 能力中把底层调用封装成业务动作,并明确取消、超时、未知结果和恢复路径。
  4. 保存并 Build 后,在隔离环境中先验证连接和读取,再测试幂等写入;非幂等动作不得盲目重试。
  5. 断线或 timeout 后,把可能已经发送的动作标记为“未知”,通过独立状态和现场反馈确认,不要自动重放。

外部控制器程序和认证 Safety 逻辑仍由原厂工程工具维护;Theseus 不替代控制器工程。

4. 配置 Vision

  1. Settings → 常规启用 Vision 并保存。
  2. 打开唯一配置入口 Resources → Vision,从 Cameras 分组新建 Camera。
  3. 在 Camera WorkArea 选择模拟器或 GigE,填写连接参数,并完成发现、连接和采集检查。
  4. 从 Inspections 分组新建 Inspection;在线检测选择已配置 Camera,算法前期验证可使用离线样本。
  5. 定义检测目标,准备有代表性的 OK、NG 和边界样本。
  6. 生成或编辑草稿,执行 Run Validation Set;由视觉或工艺负责人检查误检、漏检和边界结果,人工批准后再激活为生产版本。
  7. Stop App,保存并 Build;再用 Start 或 Debug 创建使用新版本的实例,从 Page 或 QG 复测正常结果、相机断开和服务异常。

OK / NG 是检测业务结果。相机、服务、算法或解析异常必须保持为错误,不能伪装成 NG,也不能沿用上一次结果。

5. 配置 Safety 工程联锁

  1. 先完成 Motion、轴和 IO 点位配置,并由现场工程师确认单位、方向和安全状态。
  2. 打开 Resources → Safety
  3. 依次定义 Safety InputsSafety OutputsSafety Interlocks
  4. 为每条联锁写清触发条件、目标输出、安全状态、复位条件和异常处理。
  5. Stop App,保存并执行 Build;在 Problems 中修复所有 Safety 错误。
  6. Start 或 Debug 后重新核对现场状态,再逐项测试输入触发、输出响应、复位、通信中断和异常值。
  7. 把测试步骤、实际结果、负责人和未解决风险写入验收记录。
危险

Safety 联锁验收不能证明硬件安全回路合格。任何软件联锁失败都不得削弱硬件急停、安全门、驱动器安全功能或认证控制器的保护。

6. 完成现场验收

  1. 离线审查:核对类型、参数、单位、范围、引用、凭据和 Git diff。
  2. Build 审查:Build 成功,Problems 没有阻断项。
  3. 只读联调:验证身份、版本、连接、状态和数据类型,不发送输出。
  4. 单动作联调:在受控条件下测试单个动作、timeout、取消和恢复。
  5. 流程联调:用 Debug 验证 QG 正常路径、故障、断线和防重复动作。
  6. 运行验收:用 Start 和真实 Page 验证权限、错误文案、长时间运行和人工恢复。
  7. 留证:保存参数基线、测试结果、责任人和风险接受结论。

成功表现

  • Resources 中的 Object 名称和说明能被工艺与现场人员理解,没有缺失或重复类型;
  • Motion 在线设备、轴和 IO 反馈与已审核点表和真实硬件一致;
  • 外部控制器参数、地址、数据类型和业务动作与原厂工程一致;
  • Vision 生产版本通过验证集和现场边界复测,技术错误不会伪装成业务结果;
  • 每条 Safety 联锁都在预定输入下进入预定状态,并按批准方案复位;
  • 所有真实运动和输出都具备独立硬件保护、现场监护和可追溯验收记录;
  • 修改配置后确实执行了 Stop → Build → Start / Debug,没有把保存误认为运行更新。

排错

现象处理
Object 类型缺失或红色检查模块、功能包和自定义 C# Provider Build;保留精确错误,不用相似类型替代
Motion / Safety 已保存但在线没变化Stop → Build → Start / Debug,再执行 Pulsar Scan Devices 和 Start;确认目标正确
Scan Devices 与保存配置不一致保持总线停止,不要 Capture / Start;核对接线、身份、顺序、固件和点表并由负责人确认
外部控制器方法缺失或调用失败核对 Provider 与协议版本、连接参数、引用和 Build diagnostics;断线后先读独立状态,不自动重复写
Vision 仍使用旧版本确认版本已验证、人工批准并激活;Stop、Build 后再 Start / Debug,仅保存草稿不生效
Vision 离线仍想继续生产停止依赖检测的步骤;不得用模拟图像、旧结果或技术错误代替当前结果
Safety 找不到点位先在 Settings → 轴/IO修复并保存上游 Motion / IO 配置,重新 Build 后再选择

人工确认

  • 协议、设备版本、地址、单位、量程、数据类型和 timeout;
  • 轴方向、软硬限位、回零、速度、负载、工具和安全区域;
  • 外部控制器写操作、未知结果处理、任务周期和恢复方案;
  • Vision 样本覆盖、误检 / 漏检代价、验证集证据、人工批准与激活版本;
  • 每个真实动作的测试条件、现场监护、急停和复位步骤;
  • Safety 风险分析、独立硬件安全回路和最终联锁验收。AI 不能批准现场动作或安全设计。