콘텐츠로 바로 가기
STAGING SERVER
DEVELOPMENT SERVER

User-Defined Data#

사용자 정의 데이터 카메라 기능을 사용하면 카메라에 사용자 정의 데이터를 저장할 수 있습니다.

기능 사용#

작동 방식#

카메라에 사용자 정의 데이터를 저장하는 방법에는 세 가지가 있습니다.

User-Defined Values 구성하기#

카메라는 최대 5개의 사용자 정의 값을 저장할 수 있습니다. 이는 애플리케이션에 필요할 수 있는 값(예: 파노라마 이미지용 광학 파라미터 값)일 수 있습니다. 이러한 값은 원하는 대로 설정하고 가져올 수 있는 32비트 부호 있는 정수 값입니다. 이는 저장소 위치로 사용되며 카메라 동작에는 영향을 미치지 않습니다.

값의 이름은 다음과 같습니다. Value1 에서 Value5.

사용자 정의 값을 구성하려면 다음을 수행하십시오.

  1. 파라미터를 원하는 UserDefinedValueSelector 파라미터를 원하는 사용자 정의 값(예: )으로 설정합니다. Value1.
  2. 다음에 대한 원하는 값을 입력하십시오. UserDefinedValue 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.

Device User ID 설정#

을(를) 통해 DeviceUserID 파라미터를 사용하여 카메라에 사용자 정의 이름을 할당할 수 있습니다.

카메라에 사용자 정의 이름을 할당하려면 다음을 수행하십시오.

  1. 다음에 대한 이름을 입력하십시오. 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를 사용하여 사용자 데이터 파일을 업로드하려면 다음을 수행하십시오.

  1. pylon Viewer에서 사용자 데이터 파일을 업로드할 카메라를 엽니다.
  2. pylon Viewer의 Camera 메뉴에서 File Access를 클릭합니다.
  3. Camera File 드롭다운 상자에서 User Data를 선택합니다.
  4. Upload를 클릭하고 업로드하려는 파일로 이동합니다. 파일 확장자는 *.dll이어야 합니다.
  5. Open을 클릭합니다.
  6. Camera File Access 대화 상자를 닫습니다.

파일이 카메라에 저장됩니다.

카메라에서 사용자 데이터 다운로드#

pylon Viewer를 사용하여 User Data 파일을 다운로드하려면 다음을 수행합니다.

  1. pylon Viewer에서 User Data 파일을 다운로드할 카메라를 엽니다.
  2. pylon Viewer의 Camera 메뉴에서 File Access를 클릭합니다.
  3. Camera File 드롭다운 상자에서 User Data를 선택합니다.
  4. Download를 클릭하고 파일을 저장할 디렉토리로 이동한 후, 파일 확장자 *.dll과 함께 원하는 파일 이름을 입력합니다.
  5. Save를 클릭합니다.
  6. 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);
# Select user-defined value 1
camera.UserDefinedValueSelector.Value = "Value1"
# Set the value for the UserDefinedValue parameter
camera.UserDefinedValue.Value = 1000
# Get the value of user-defined value 1
camera.UserDefinedValueSelector.Value = "Value1"
UserValue1 = camera.UserDefinedValue.Value

pylon Viewer를 사용하여 파라미터를 손쉽게 설정할 수도 있습니다.