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