# WriteImage

使用 WriteImage 函数将当前图像保存到本地设备或 FTP/SFTP 服务器。或者，您可以创建一个 SVG 文件，其中包括图像上的叠加图形。

注意:

- 您可以在联机或脱机时将文件保存到选定的存储位置。
- 如果您将作业配置为保存大量图像文件，建议您对存储设置选择 FTP 服务器或者 SFTP 服务器。如果在 In-Sight 设备上保存大量图像文件（例如，如果将 Event（事件）参数设置为 ，可能会由于可用内存空间不足而导致严重问题。

## WriteImage 输入

参数 | 说明
图像 | 指定对包含 Image 数据结构的单元格的引用。默认引用是单元格 A0 中的 Image 数据结构。
事件 | 指定强制更新的事件。 此参数需要是对具有时间戳的任何事件的引用，例如以下之一： 包含事件函数的单元格。 包含按钮函数的单元格。 注意:默认情况下，事件参考值为 0。如果您不更改默认值，将在最初将 WriteImage 插入到电子表格中时自动创建并引用标记为“写入”的按钮。
存储 | 指定是要将图像保存到本地设备还是 FTP/SFTP 服务器。 保存位置取决于连接的设备和函数的存储设置。
存储设置 | 连接的设备 | 保存位置
--- | --- | ---
本地设备 | In-Sight 设备 | In-Sight 设备 安装到 In-Sight 设备的 SD 卡 注意: 您必须使用 FTP 软件（例如 FileZilla Client）才能查看文件。有关详细信息，请参阅如何查看存储在 In-Sight 设备上的文件 . 如果您使用 SD 卡存储，请确保在运行作业之前插入 SD 卡。如果您在未插入 SD 卡的情况下配置 SD 卡存储，作业会将文件保存到内部闪存驱动器的 /sdcard 目录。
PC | PC 注意:仅支持使用 FTP 服务器保存到 PC。
FTP 服务器 | 任何设备 | 指定的 FTP 服务器
SFTP 服务器 | 任何设备 | 指定的 SFTP 服务器
服务器 | 指定将写入图像文件的网络上的服务器名称（或 IP 地址）。FTP 服务器可以是 In-Sight 模拟器或网络上被识别为 FTP 服务器的任何其他设备。 注意: 仅当您选择 FTP 服务器或者 SFTP 服务器作为存储类型时，该选项才会启用。 当需要特定端口时，您可以将其追加到服务器名称。例如，如果 FTP/SFTP 服务器使用端口 50021，则输入“127.0.0.1:50021”。
用户名 | 指定 FTP/SFTP 服务器的有效用户名。当此字段留空时，将使用“admin”。 注意:仅当您选择 FTP 服务器或者 SFTP 服务器作为存储类型时，该选项才会启用。
密码 | 指定 FTP/SFTP 服务器的密码。密码区分大小写。如果 FTP/SFTP 服务器没有密码，您可以将此字段留空。 注意: 仅当您选择 FTP 服务器或者 SFTP 服务器作为存储类型时，该选项才会启用。 为了安全起见，输入的密码将在属性表和公式栏中用“*”遮蔽。 密码将以加密形式保存在作业文件中。
文件路径 | 指定要将文件保存到的位置。 保存到 PC 时，可以将文件写入您拥有操作系统写入权限的任何位置。您可以在该字段输入硬编码路径（例如 X:/、X:/Subdir）、UNC 路径（例如 //Cognex/shared/）、映射驱动器（例如 M:/Subdir）或相对路径 (../../Subdir)。 如果路径在 In-Sight 设备或 PC 上不存在，则该函数返回 #ERR。如果路径或 FTP/SFTP 凭证在 FTP/SFTP 服务器上无效，则该函数不会返回 #ERR。 向 FTP 服务器写入文件时，还可以指定文件路径。 将文件写入 SFTP 服务器时，还可以指定绝对文件路径。如果您在路径前加上 ~，则为 SFTP 服务器的用户添加相对于主目录的文件。 如果将该字段留空，则会将文件发送到以下默认位置之一： In-Sight 设备：设备的根目录。 FTP 服务器：指定 FTP 服务器的默认目录。 SFTP 服务器：指定 SFTP 服务器的根目录。
文件名 | 指定图像文件的名称；还定义了 SVG 文件的名称。 注意: 遵守操作系统对合法字符的限制。 您可以格式化文件名的追加值参数。有关详细信息，请参见本主题中的格式化值参数部分。
文件类型 | 指定图像的文件格式。
0 = BMP（默认值） | Windows 位图格式（.BMP 扩展名）。
1 = JPEG | 标准编码 JPEG 格式（.JPG 扩展名）。
2 = PNG | 标准编码 PNG 格式（.PNG 扩展名）
最大追加值 | 可以使用指定文件名写入的唯一图像文件的最大数量（0 到 9999999；默认值 = 999）。计数器会随着每个图像文件的写入而增加，如果没有使用格式说明符，它会添加到指定文件名的末尾；否则，计数器将添加到格式说明符的位置。当计数器等于最大追加值时，计数器会自动重置；目标系统上现有的图像文件将被同名的新文件覆盖。如果该值设置为 -1 或超出范围的值，则不会将计数器追加到文件名。
重置 | 将追加到指定文件名的计数器重新启动为 0。重置后，目标位置上的现有图像文件将被同名的新文件覆盖。
0 = OFF（默认值） | 随着每个图像被写出，计数器将继续增加，直到最大追加值。
1 = ON | 计数器将重置为 0。
注意:默认情况下，未选中重置复选框。如果您不更改默认设置，则在最初将 WriteImage 函数插入电子表格时，将自动创建并引用标记为“重置”的按钮。
叠加图形 | 指定是否创建带有叠加图形的 SVG 文件。要查看 SVG 文件和图像文件，请使用支持 SVG 文件类型的 Web 浏览器打开 SVG 文件。SVG 文件包含指向与其关联的采集图像的内部链接，当浏览器打开 SVG 文件时，它会跟随该链接打开并显示采集图像以及叠加图形。
0 = OFF | 只有图像会被传输。
1 = ON （默认值） | 将传输图像和 SVG 文件。启用后，包含图形叠加数据的 SVG 文件将保存到为图像指定的相同目录中。使用 Web 浏览器一起查看叠加图形数据和图像。
注意: 启用后，SVG 文件将使用在文件名参数中指定的名称。 由于图形由第三方应用程序（例如 Web 浏览器）呈现，重叠图形数据将不是精确的像素对像素匹配。

## WriteImage 输出

返回 | WriteImage 数据结构，每当引用的事件更新时，它会将指定 Image 数据结构中包含的图像数据写入本地设备或 FTP/SFTP 服务器。 如果任何输入参数无效或文件队列已满，则返回 #ERR。 如果 In-Sight D900 系列视觉系统的内存已满，则返回 #ERR。 注意:任何无效的 FTP/SFTP 服务器路径或文件名都不会返回 #ERR。 提示: 如果将鼠标悬停在 #ERR 上，将显示以下错误消息：
消息 | 错误原因
--- | ---
#ERR：无法打开文件：文件路径/文件名 | 指定的文件路径或文件名参数不正确（即未创建文件路径）。
#ERR：错误 0:7:2：文件路径/文件名 | 视觉系统的内存已满。
结果 | 当 WriteImage 最初插入到电子表格中时，如果事件和/或重置参数处于默认设置，则写入和/或重置按钮将自动创建并在电子表格中引用。

## 格式化值参数

您可以使用“|”字符格式化值参数，以便名称对齐。如果使用“|”使用时，该值将为零或填充空白。如果紧跟在“|”之后的字符为 0，格式将补零；否则将留空。下一个字符将指示如何插入 0 或 ' '。如果文件名包含多个“|”字符，最后一个将用作格式指示符。如果“|”字符后面没有数字，则将遵循任何操作系统的限制“|”成为名称的一部分。

如果文件名设置为 MyImage，保存的文件名将是：

如果文件名设置为 MyImage|03，保存的文件名将是：

如果文件名设置为 MyImage|3，保存的文件名将是：

如果 '|'位于文件名的中间，追加值将内联插入。例如，如果文件名设置为 Fail_Image|03JobX，保存的文件名将是：