将数据发送到 In-Sight 视觉系统
要将数据从 ControlLogix PLC 发送到电子表格,必须使用 ReadUserDataBuffer 函数从 EtherNet/IP 堆栈中提取数据。该函数采用 FormatInputBuffer 函数中创建的数据格式,从(网络输出)的数据区读取数据,然后设置这些数据的格式并输入电子表格。该数据会在每个 RPI 周期从 PLC 接收;相对应的电子表格数据仅在电子表格操作执行时才更新。
- 右键单击一个空单元格并将 FormatInputBuffer 函数插入到电子表格中。
-
在 FormatInputBuffer 对话框中,单击添加按钮并将两个 32 位浮点数添加到列表。
- 单击确定按钮关闭 FormatInputBuffer 属性表。
- 右键单击一个空单元格并将 ReadUserDataBuffer 函数插入到电子表格中。将 ReadUserDataBuffer 函数的 Buffer(缓冲区)参数设置为对最近创建的 FormatInputBuffer 函数的单元格引用。
-
右键单击一个空单元格并将 GetBufferData 函数插入到电子表格中。将 GetBufferData 函数的 ReadBuffer 参数设置为对最近创建的 ReadUserDataBuffer 函数的单元格引用。GetBufferData 函数的 index(索引)参数决定了 FormatInputBuffer 中要引用的数据值。例如,如果将 index(索引)参数设置为 0,将返回 FormatInputBuffer 中的第一个浮点数据值。如果将 index(索引)参数设置为 1,将返回 FormatInputBuffer 中的第二个浮点数据值。
- 在 RSLogix 中,转到脱机模式。
-
在 RSLogix 中,右击用户自定义 > 数据类型文件夹并在菜单中选择新数据类型...
-
为新数据类型指定一个描述性名称,并将两个浮点值添加到“成员”列表中。
-
接着,使用用户自定义数据类型在项目的控制器标记中添加一个新的标记,如下例中所示。
-
将一个 COP 指令添加到 MainRoutine 梯形逻辑程序。
- 将 In-Sight 视觉系统联机。
-
在 RSLogix 中,单击“脱机”按钮上的下拉箭头,然后单击下载。
-
打开“控制器标记”对话框并更改 InSight_Top_Output.Data1 和 InSight_Top_Output.Data2 的值。在 PLC 中更改 InSight_Top_Out.Data1 和 InSight_Top_Out.Data2 值后,在 PLC 中设置 SetUserData 位,等待 SetUserDataAck 位设置完毕,然后清除 SetUserData 位。一旦 ReadUserDataBuffer 单元格在电子表格中运行,这些值将在电子表格中更新。