ユーザー定義データ#
機能を使用する#
仕組み#
カメラにユーザー定義データを保存するには、次の3つのオプションがあります。
User-Defined Valuesの設定#
カメラには、最大5つのユーザー定義値を保存できます。これらの値は、自分の用途に必要な値(パノラマ画像の光学パラメーター値など)にすることができます。これらの値は32ビット符号付き整数値で、必要に応じて設定および取得できます。これらは保管場所として機能し、カメラの動作には影響しません。
値には名前が付けられます Value1 を Value5.
ユーザー定義の値を設定するには、次の手順に従います。
- パラメーターを
UserDefinedValueSelectorパラメータを目的のユーザー定義値に設定します(例:Value1. - 希望する値を入力します。
UserDefinedValueパラメータ。
デバイスユーザーIDの設定#
次を使用することで、 DeviceUserID パラメータを使用して、カメラにユーザー定義の名前を割り当てることができます。
カメラにユーザー定義の名前を割り当てるには:
- 次の名前を入力します
DeviceUserIDで Device Control カテゴリ。次のDeviceUserIDは、数字、文字、およびスペースの任意の組み合わせで構成できます。
GigE カメラの場合、以下を設定できます DeviceUserID pylon IP Configurator でも設定できます。
USB 3.0 カメラでは、変更を有効にするために DeviceReset コマンドを使用してカメラをリセットする必要があります。
その他の device information parameters に関する情報も参照してください。
バイナリファイルとしての User Data の保存#
カメラにバイナリデータを保存できます(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の拡張子を持っている必要があります。
- [開く]をクリックします。
- Camera File Accessダイアログを閉じます。
ファイルはカメラに保存されます。
カメラからの User Data のダウンロード#
pylon Viewerを使用してユーザーデータファイルをダウンロードするには、以下の手順に従います。
- pylon Viewerで、ユーザーデータファイルをダウンロードするカメラを開きます。
- pylon Viewerの[カメラ]メニューで、[ファイルアクセス]をクリックします。
- Camera File ドロップダウンボックスで、User Data を選択します。
- Downloadをクリックし、ファイルの保存先ディレクトリに移動して、拡張子*.dllを含む希望のファイル名を入力します。
- [Save]をクリックします。
- Camera File Accessダイアログを閉じます。
指定したディレクトリにファイルがダウンロードされます。
関連する機能#
サンプルコード#
// 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を使用して、パラメーターを簡単に設定することもできます。