# 将数据发送到 In-Sight 视觉系统

要将数据从 ControlLogix PLC 发送到电子表格，必须使用 ReadUserDataBuffer 函数从 EtherNet/IP 堆栈中提取数据。该函数采用 FormatInputBuffer 函数中创建的数据格式，从（网络输出）的数据区读取数据，然后设置这些数据的格式并输入电子表格。该数据会在每个 RPI 周期从 PLC 接收；相对应的电子表格数据仅在电子表格操作执行时才更新。

1. 右键单击一个空单元格并将 FormatInputBuffer 函数插入到电子表格中。

2. 在 FormatInputBuffer 对话框中，单击添加按钮并将两个 32 位浮点数添加到列表。

3. 单击确定按钮关闭 FormatInputBuffer 属性表。
4. 右键单击一个空单元格并将 ReadUserDataBuffer 函数插入到电子表格中。将 ReadUserDataBuffer 函数的 Buffer（缓冲区）参数设置为对最近创建的 FormatInputBuffer 函数的单元格引用。

5. 右键单击一个空单元格并将 GetBufferData 函数插入到电子表格中。将 GetBufferData 函数的 ReadBuffer 参数设置为对最近创建的 ReadUserDataBuffer 函数的单元格引用。GetBufferData 函数的 index（索引）参数决定了 FormatInputBuffer 中要引用的数据值。例如，如果将 index（索引）参数设置为 0，将返回 FormatInputBuffer 中的第一个浮点数据值。如果将 index（索引）参数设置为 1，将返回 FormatInputBuffer 中的第二个浮点数据值。

6. 在 RSLogix 中，转到脱机模式。

7. 在 RSLogix 中，右击用户自定义 > 数据类型文件夹并在菜单中选择新数据类型...

8. 为新数据类型指定一个描述性名称，并将两个浮点值添加到“成员”列表中。

9. 接着，使用用户自定义数据类型在项目的控制器标记中添加一个新的标记，如下例中所示。

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

11. 将 In-Sight 视觉系统联机。

12. 在 RSLogix 中，单击“脱机”按钮上的下拉箭头，然后单击下载。

13. 打开“控制器标记”对话框并更改 InSight_Top_Output.Data1 和 InSight_Top_Output.Data2 的值。在 PLC 中更改 InSight_Top_Out.Data1 和 InSight_Top_Out.Data2 值后，在 PLC 中设置 SetUserData 位，等待 SetUserDataAck 位设置完毕，然后清除 SetUserData 位。一旦 ReadUserDataBuffer 单元格在电子表格中运行，这些值将在电子表格中更新。