从 In-Sight 视觉系统获取数据

要将数据从 In-Sight 视觉系统获取到 ControlLogix PLC,必须使用 WriteResultsBuffer 函数将数据推入 EtherNet/IP 堆栈。

该函数得到由 FormatOutputBuffer 函数创建的数据缓冲区,并在 WriteResultsBuffer 中配置的事件执行时将其写入 In-Sight 视觉系统的数据区域。然后,在电子表格执行完成后的下一个 RPI 周期中,此数据将被传输到 PLC。

如果设置为启用缓冲结果,对该数据区域的 EtherNet/IP 缓冲区写入操作将排队,否则新结果可能会覆盖以前的结果。

提示应使用 ResultsValid 位来决定何时读取数据,以防止 PLC 逻辑中可能由此设置引起的间歇性时序问题,因为 ResultsValid 只会在数据准备好读取时而不是在此之前变为 High。
  1. 将这些函数插入电子表格:CountRandEditIntSum。将 Sum 函数的参数设置为对 Rand 和 EditInt 函数返回的值之和的单元格引用。

  2. 右键单击一个空单元格,然后将 FormatOutputBuffer 函数插入电子表格。
  3. 在 FormatOutputBuffer 对话框中,单击添加按钮。这将启动单元格选择模式;选择 Sum 函数所在的单元格。
  4. 在 FormatOutputBuffer 对话框中,使用数据类型下拉菜单将数据类型更改为 32 位浮点
  5. 在 FormatOutputBuffer 对话框中,再次点击添加按钮。这将启动单元格选择模式;选择 Count 函数所在的单元格。

  6. 单击确定按钮关闭 FormatOutputBuffer 属性表。
  7. 右键单击一个空单元格并将 WriteResultsBuffer 函数插入电子表格。将 WriteResultsBuffer 函数的 Buffer(缓冲区)参数设置为对最近创建的 FormatOutputBuffer 函数的单元格引用。

  8. 在 RSLogix 中,转到脱机模式。
  9. 在 RSLogix 中,右击数据类型 > 用户自定义文件夹并在菜单中选择新数据类型

  10. 为新数据类型设置一个描述性名称并添加两个浮点值到成员:列表。

  11. 接下来,使用用户自定义的数据类型将新标记添加到项目的控制器标记中。

  12. 将一个 COP 指令添加到 MainRoutine 梯形逻辑程序。

    注意“Length”(长度)字段是将被复制到 COP 中的 Dest 字段的输入结构的数量。
  13. 将 In-Sight 视觉系统联机。
  14. 在 RSLogix 中,单击“脱机”按钮上的下拉箭头,然后选择下载

  15. 在程序被下载到 ControlLogix PLC 后,“随机”和“采集计数器”电子表格单元格中的数据会以浮点数的格式显示在 InSight_Top_Input 标记中。