User-Defined Data#
기능 사용법#
작동 원리#
카메라에 사용자 정의 데이터를 저장하는 방법에는 세 가지가 있습니다.
User-Defined Values 구성#
카메라는 최대 5개의 User-Defined Values을 저장할 수 있습니다. 이는 애플리케이션에 필요할 수 있는 값(예: 파노라마 이미지의 광학 파라미터 값)일 수 있습니다. 이 값은 원하는 대로 설정하고 가져올 수 있는 32비트 부호 있는 정수 값입니다. 이는 저장소 위치 역할을 하며 카메라 동작에는 영향을 미치지 않습니다.
값의 이름은 다음과 같습니다: Value1 (으)로 Value5.
User-Defined Value를 구성하려면:
- 다음 값 중 하나로
UserDefinedValueSelector파라미터를 원하는 User-Defined Value(예:)로 설정합니다.Value1. - 다음에 대한 원하는 값을 입력하십시오:
UserDefinedValue파라미터.
Device User ID 설정#
With the DeviceUserID 파라미터를 사용하여 카메라에 사용자 정의 이름을 할당할 수 있습니다.
카메라에 사용자 정의 이름을 할당하려면:
- 다음에 대한 이름을 입력합니다.
DeviceUserID(으)로 Device Control 카테고리. 다음DeviceUserID숫자, 문자, 공백의 조합으로 구성될 수 있습니다.
GigE 카메라의 경우 다음을 설정할 수 있습니다. DeviceUserID pylon IP Configurator에서도 마찬가지입니다.
USB 3.0 카메라의 경우 변경 사항을 적용하려면 DeviceReset 명령을 사용하여 카메라를 재설정해야 합니다.
다른 device information parameters에 대한 정보도 참조하십시오.
User Data를 바이너리 파일로 저장#
카메라에 바이너리 데이터(ace 카메라의 경우 최대 약 200 kB)를 저장할 수 있습니다. 이 데이터는 User Data라는 별도의 파일로 저장되며 pylon Viewer의 File Access 기능을 사용하여 전송됩니다.
일반적인 User Data의 예:
- 캘리브레이션 데이터
- Shading Correction 데이터
카메라에 User Data 업로드#
pylon Viewer를 사용하여 사용자 데이터 파일을 업로드하려면 다음을 수행하십시오.
- pylon Viewer에서 사용자 데이터 파일을 업로드할 카메라를 엽니다.
- pylon Viewer의 Camera 메뉴에서 File Access를 클릭합니다.
- Camera File 드롭다운 상자에서 User Data를 선택합니다.
- Upload를 클릭하고 업로드할 파일로 이동합니다. 파일 확장자는 *.dll이어야 합니다.
- Open을 클릭합니다.
- Camera File Access 대화 상자를 닫습니다.
파일이 카메라에 저장됩니다.
카메라에서 User Data 다운로드#
pylon Viewer를 사용하여 사용자 데이터 파일을 다운로드하려면 다음을 수행하십시오.
- pylon Viewer에서 사용자 데이터 파일을 다운로드할 카메라를 엽니다.
- pylon Viewer의 Camera 메뉴에서 File Access를 클릭합니다.
- 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를 사용하여 파라미터를 손쉽게 설정할 수 있습니다.