# 工业通信信号

In-Sight 视觉系统使用一组固定的预命名信号，将数据和结果传输到 PLC 和 In-Sight 设备以及/或者从 PLC 和 In-Sight 设备传输数据和结果。

要使用触发器控制和状态信号控制来自 PLC 的触发，必须满足以下条件：

- 属性必须设置为 Industrial Ethernet。
- 视觉系统必须处于联机状态。
- $System.OnlineEnabled 标记必须为 True。

注意:信号在所支持的协议（EtherNet/IP、ROFINET）之间共享。但它们以不同的方式被映射到系统。关于每种协议信号映射的特定内容，请参阅以下主题：

- EtherNet/IP I/O 程序集数据格式程序集

输入程序集 | 信号 | 说明
Acquisition Error | 当 In-Sight 设备由于以下原因之一无法获取图像时，就会设置这个位： 属性未设置为工业以太网。 In-Sight 设备未联机。 $System.OnlineEnabled 标记为 False。 In-Sight 设备当前正在采集图像。 In-Sight 设备的图像缓冲区不足。 当成功采集被触发、或者 Trigger Enable 位切换时，此位被清除。 注意:如果在 Trigger Enable 位为“Low”时设置 Trigger 位，因为 Trigger 位被忽略，将导致采集错误。
Acquisition ID | 无论触发器源如何，该 ID 都会在每次采集完成时递增，并可用于将采集与其检查结果同步。采集 ID 在采集开始时更改。如果 PLC 是触发器源，则在设置 Trigger Acknowledge 位之前设置采集 ID。
Command Completed | 当命令执行完成时设置此位，并在清除 Execute Command 位时被清除。
Command Executing | 在命令执行期间设置此位。
Command Failed | 如果命令未能成功执行，或者如果设置了未知的命令 ID，则在命令完成时设置此位。
Command Result Code | 此字段用于表示命令未成功执行的原因（该代码对应执行的命令）： 0x0000 = 命令成功 / 未知失败 0x0002 = 错误命令 0x208D = 请求与系统状态不兼容
Error | 发生错误时设置该位，该错误在“错误 ID”字段中定义。
Error ID | 请参阅第 1 页上错误 ID 代码。
Exposure Complete | 当视觉系统的图像传感器不再暴露于光线时设置该位。它用于指示被检查的部件可以从视觉系统的视野下方移动。
External Event Acknowledge | 在相关脚本完成执行后将生成外部事件确认。
Inspection Completed | 在检查后切换该位。
Inspection Image ID | 这些字节用于为每张与此结果集关联的图像提供采集 ID。
Inspection ID | 与该组结果关联的采集 ID。
作业通过 | 该位指示检查的通过和/或失败状态。
Inspection Result Code | 这些字节用于传递用户自定义的结果代码。检查结果代码由 WriteResultsBuffer 函数的“结果代码”参数定义。
Inspection Results | 检查工具结果的这些字节可以通过 WriteResultsBuffer 函数写入当前启用的工厂通信协议。
Online | 该位表示 In-Sight 设备联机而且 $System.OnlineEnabled 标记的状态为 True。
Results Buffer Overrun | 当设置 Enable Results Buffer 位时设置此位，并且结果数量超出结果队列的容量。
Results Valid | 当检查图像 ID、检查结果代码和检查结果字段有效时设置此位。当设置 Inspection Results Acknowledge 位时，此位被清除。
Set User Data Acknowledge | 设置该位来确认 Set User Data 命令已完成执行。
System Ready | 该位表示 In-Sight 设备已完全启动且准备好接受和处理触发器。
Trigger Acknowledge | 该位表示 In-Sight 设备已通过 Trigger 位成功触发。Trigger Acknowledge 位将保持设置，直到 Trigger 位被清除。
Trigger Ready | 该位指示 In-Sight 设备可以通过 Trigger 位接受新触发器。当已设置 Trigger Enable 位且视觉系统当前未采集图像时，该字段为 true。
Current Job ID | 这些位表示当前作业文件名的预添加编号。Job ID 是一个从 0 到 65535 的 16 位数字，但是 PLC 函数只能加载 0-999 之间的作业 ID。 注意:如果文件名中的作业 ID 号大于 65535，则作业 ID 变为 65535，因为编号上限为 65535。
输出程序集 | 信号 | 说明
Buffer Results Enable | 如果设置了该位，检查 ID、检查结果和检查结果字段保持不变，直到检查结果确认字段已确认它们且设置完毕。缓冲区中最多可保存 16 组结果。每个结果必须使用 Inspection Results Acknowledge 信号明确确认。
Clear Error | 如果设置了该位，将会清除 Error 和 Error ID 信号；Clear Error 位需要保持 High，直到 Error 位被清除。如果错误已排队，清除该位将导致 Error 和 Error ID 信号被设置为下一个排队错误代码。
Clear Exposure Complete | 当该信号保持 High 时，曝光完成状态将保持重置。一旦此信号设置为 Low，曝光完成状态将在下一次曝光完成时设置为 High。
Execute Command | 当 Execute Command 位设置为 High 时，视觉系统会读取 Command ID 信号并执行相关命令。该信号必须保持 High，直到设置了 Command Completed 位。Command Completed 位设置后，清除 Execute Command 位还将清除 Command Completed 位。
External Event | 设置外部事件让 PLC 能够触发电子表格中的关联事件。
Set Offline | 如果设置该位，In-Sight 视觉系统将暂停并且 $System.OnlineEnabledComm 的状态为 False。
Trigger Enable | 设置此字段可启用通过 Trigger 位启用触发。清除该位可禁用网络触发机制。
Command ID | 该字段表示将在 Execute Command 位上升沿执行的命令。在 Command Completed 位设置前，此信号不应更改。 0-0x0fff = 保留 0x1000-0x1fff = 保留 0x2000 = 将 $System.ProcessinEnabled 标记设置为 False 0x2001 = 将 $System.ProcessinEnabled 标记设置为 True 0x2002-0xFFFF = 保留
Inspection Results Acknowledge | 设置 Buffer Results Enable 位时，Inspection Results Acknowledge 位确认 PLC 已收到检查图像 ID、检查结果代码和检查结果数据。
Set User Data | 该位用于表示在视觉系统中有新的用户数据可供读取。将整个用户数据区域锁存到保持缓冲区后，视觉系统将通过发出 Set User Data Acknowledge 信号向 PLC 指示它已读取数据，而且可以根据需要开始将新数据加载到缓冲区。
触发器 | 设置 Trigger 位将在 视觉系统上触发采集。还必须设置 Trigger Enable 位。
User Data | 数据缓冲区，可以使用 ReadUserDataBuffer 函数将其读入电子表格。数据写入缓冲区的方式与它们在 PLC 中的显示完全相同，位的显示顺序与 RSLogix 5000 中定义们的顺序相同。