# 从 PLC 读取数据

为了从运行 In-Sight ViDi 1.5.0 的视觉系统上的 In-Sight ViDi 电子表格中获取数据和更高版本固件并将其提供给 Siemens PLC，您必须使用 WriteResultsBuffer 函数将这些数据推送到 PROFINET 堆栈中。该函数得到由 FormatOutputBuffer 函数创建的数据缓冲区，并将数据写入 PROFINET 检查结果模块中的检查结果区域。系统在下一个更新周期传输从 PLC 读取的数据。

## 工作流示例

1. 在 In-Sight ViDi 中创建新作业
2. 从选择板的片段选项卡中，将以下两个片段添加到电子表格：采集 > AcqCounter 和数学和逻辑 > 随机。
3. 打开 AcquireImage 单元格并将触发器参数设置为连续。
4. 右键单击一个空单元格，然后选择插入函数以打开插入函数对话框。在左侧窗格中，单击输入/输出类别，然后从右侧窗格中双击 FormatOutputBuffer 函数来将其插入到电子表格中。
5. 数据的前 4 个字节会自动添加到 PROFINET 缓冲区。前 4 个字节定义了 InspectionID 和 InspectionResultCode（作为 16 位整数），但不出现在 FormatOutputBuffer 列表中。
6. 在 FormatOutputBuffer 对话框中点击添加按钮。该操作会启用一个单元格选择模式；在“随机”片段中选择按比例随机数单元格。
7. 在 FormatOutputBuffer 对话框中，再次点击添加按钮。该操作会启用单元格选择模式；选择 AcqCounter 片段的单元格计数。
8. 单击确定按钮关闭 FormatOutputBuffer 对话框。
9. 右键单击一个空单元格，然后选择插入函数以打开插入函数对话框。在左侧窗格中，单击输入/输出类别，然后从右侧窗格中双击 WriteResultsBuffer 函数来将其插入到电子表格中。
10. 将 WriteResultsBuffer 函数的 Protocol（协议）参数设置为 PROFINET，并将 Buffer（缓冲区）参数设置为对最近创建的 FormatOutputBuffer 函数的缓冲区数据结构的单元格引用。