用户自定义数据#
该功能的使用#
运作原理#
您有三种选项可在相机中存储用户自定义数据:
配置 User-Defined Values#
相机最多可以存储五个用户定义的值,它们可以是您的应用可能需要的值(例如,全景图像的光学参数值)。这些值是您可以根据需要设置和获取的 32 位有符号整数值。它们充当存储位置,对相机的操作没有影响。
这些值的名称为 Value1 变为 Value5.
要配置用户定义的值:
- 设置
UserDefinedValueSelector参数设置为所需的用户自定义值,例如Value1. - 输入所需的
UserDefinedValue参数。
设置设备用户 ID#
通过使用 DeviceUserID 参数,您可以为相机指定一个用户自定义名称。
要为相机指定用户自定义名称:
- 为
DeviceUserID表格中显示 Device Control 类别输入名称。该DeviceUserID可以由数字、字母和空格的任意组合组成。
对于 GigE 相机,您也可以在 DeviceUserID 中设置 IP Configurator。
对于 USB 3.0 相机,您必须使用 DeviceReset 命令重置相机,更改才能生效。
另请参见有关其他 device information parameters 的信息。
将用户数据存储为二进制文件#
您可以在相机上存储二进制数据(在 ace 2 相机上最高约为 200 kB)。该数据作为名为 User Data 的独立文件进行保存,并通过 pylon Viewer 中的 File Access 功能进行传输。
典型用户数据的示例:
- 标定数据
- Shading Correction 数据
将 User Data 上传至相机#
要使用 pylon Viewer 上传用户数据文件:
- 在 pylon Viewer 中,打开要上传用户数据文件的相机。
- 在 pylon Viewer 的相机菜单中,单击文件访问权限。
- 在 Camera File 下拉框中,选择 User Data。
- 单击 Upload 并浏览找到要上传的文件。该文件的扩展名必须为 *.dll。
- 单击打开。
- 关闭相机文件访问对话框。
该文件存储在您的相机上。
从相机下载用户数据#
要使用 pylon Viewer 下载用户数据文件,请执行以下操作:
- 在 pylon Viewer 中,打开您要从中下载用户数据文件的相机。
- 在 pylon Viewer 的相机菜单中,单击文件访问权限。
- 在 Camera File 下拉框中,选择 User Data。
- 单击 Download,导航到要保存文件的目录,然后输入所需的带文件后缀 *.dll 的文件名。
- 点击保存。
- 关闭相机文件访问对话框。
该文件将下载到指定的目录中。
相关功能#
示例代码#
// Select user-defined value 1
camera.UserDefinedValueSelector.SetValue(UserDefinedValueSelector_Value1);
// Set the value for the UserDefinedValue parameter
camera.UserDefinedValue.SetValue(1000);
// Get the value of user-defined value 1
camera.UserDefinedValueSelector.SetValue(UserDefinedValueSelector_Value1);
int64_t UserValue1 = camera.UserDefinedValue.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Select user-defined value 1
CEnumParameter(nodemap, "UserDefinedValueSelector").SetValue("Value1");
// Set the value for the UserDefinedValue parameter
CIntegerParameter(nodemap, "UserDefinedValue").SetValue(1000);
// Get the value of user-defined value 1
CEnumParameter(nodemap, "UserDefinedValueSelector").SetValue("Value1");
int64_t UserValue1 = CIntegerParameter(nodemap, "UserDefinedValue").GetValue();
// Select user-defined value 1
camera.Parameters[PLCamera.UserDefinedValueSelector].SetValue(PLCamera.UserDefinedValueSelector.Value1);
// Set the value for the UserDefinedValue parameter
camera.Parameters[PLCamera.UserDefinedValue].SetValue(1000);
// Get the value of user-defined value 1
camera.Parameters[PLCamera.UserDefinedValueSelector].SetValue(PLCamera.UserDefinedValueSelector.Value1);
Int64 UserValue1 = camera.Parameters[PLCamera.UserDefinedValue].GetValue();
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK; /* Return value of pylon methods */
int64_t UserValue1 = 0;
/* Select user-defined value 1 */
errRes = PylonDeviceFeatureFromString(hdev, "UserDefinedValueSelector", "Value1");
CHECK(errRes);
/* Set the value for the UserDefinedValue parameter */
errRes = PylonDeviceSetIntegerFeature(hdev, "UserDefinedValue", 1000);
CHECK(errRes);
/* Get the value of user-defined value 1 */
errRes = PylonDeviceFeatureFromString(hdev, "UserDefinedValueSelector", "Value1");
CHECK(errRes);
errRes = PylonDeviceGetIntegerFeature(hdev, "UserDefinedValue", &UserValue1);
CHECK(errRes);
您也可以使用 pylon Viewer 轻松设置参数。