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

Error Codes#

Error Codes camera feature를 사용하면 카메라에서 Error Codes를 읽을 수 있습니다.

여러 서로 다른 오류가 발생하는 경우 오류 목록에 저장되며 하나씩 조회할 수 있습니다.

기능 사용#

작동 방식#

카메라는 특정 오류를 감지할 수 있습니다. 이러한 오류가 발생하면 카메라는 이 오류에 error code를 부여하고 해당 Error Code를 Memory에 저장합니다.

여러 서로 다른 오류가 발생하는 경우, 카메라는 감지된 각 오류 유형에 대한 코드를 저장합니다. 카메라는 해당 오류가 감지된 횟수와 관계없이 각 코드를 한 번씩만 저장합니다.

Error Codes 확인#

Error Codes를 확인하는 작업은 카메라 모델과 발생한 오류 수에 따라 반복적으로 진행됩니다.

ace 2, boost, dart M/R 및 racer 2 카메라#

Basler ace 2, boost, dart M/R, racer 2 카메라는 Basler 지원팀에서 평가할 수 있는 오류 목록을 생성할 수 있습니다.

ace 2, boost, dart M/R, racer 2 카메라에서 Error Codes를 확인하는 방법:

  1. 다음의 값을 가져옵니다. BslErrorPresent 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.
  2. 파라메터 값이 true:
    1. 다음의 값을 가져옵니다. BslErrorReportValue 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.
    2. 나중에 참조할 수 있도록 컴퓨터에 값을 저장하거나 적어 둡니다.
    3. 다음을 실행합니다. BslErrorReportNext 명령입니다. 이를 통해 장치에서 다음 Error Code를 가져옵니다.
    4. 다음 항목이 될 때까지 a) ~ c) 단계를 반복합니다. BslErrorReportValue 파라미터 값은 0. 매개변수 값이 0이라는 것은 더 이상 가져올 Error Codes가 없음을 의미합니다.
    5. Error Codes 목록과 함께 Basler 지원팀에 문의하십시오.

ace U/L 카메라#

Basler ace U/L 카메라는 사용자가 직접 수정하거나 Basler 지원팀에서 평가할 수 있는 오류 목록을 생성할 수 있습니다.

ace U/L GigE 카메라에서 Error Codes를 확인하는 방법:

  1. 다음의 값을 가져옵니다. LastError 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.
  2. 나중에 참조할 수 있도록 컴퓨터에 값을 저장하거나 적어 둡니다.
  3. 다음을 실행합니다. ClearLastError 명령입니다. 이를 통해 Error Codes 목록에서 마지막 Error Code가 삭제됩니다.
  4. 다음 항목이 될 때까지 1) ~ 3) 단계를 반복합니다. LastError 파라미터 값은 NoError.
  5. 아래 표를 참조하여 오류를 해결하거나 Error Codes 목록과 함께 Basler 지원팀에 문의하십시오.
사용 가능한 Error Codes#

다음 표는 Basler ace U/L 카메라에만 적용됩니다.

LastError Enumerator 의미
NoError 오류 Memory가 마지막으로 지워진 이후로 카메라에서 감지된 오류가 없습니다.
Overtrigger Overtrigger가 발생했습니다.
카메라가 준비되지 않은 상태에서 사용자가 카메라에 트리거 신호를 인가했습니다.
User Sets User Sets을(를) 로드하는 동안 오류가 발생했습니다. 일반적으로 이 오류는 User Sets에 유효하지 않은 값이 포함되어 있음을 의미합니다. 다른 User Sets을(를) 로드해 보십시오.
InvalidParameter 입력된 파라미터가 허용 범위를 벗어났거나 유효하지 않습니다. 일반적으로 이 오류는 사용자가 직접 레지스트리 접근을 통해 파라미터를 설정할 때만 발생합니다.
OverTemperature 카메라는 Temperature State 기능을 지원하며 현재 over temperature threshold를 초과한 상태입니다. 이 오류는 카메라 부품이 손상될 수 있음을 나타냅니다.
PowerFailure 이 오류는 전원 공급이 충분하지 않음을 나타냅니다.
전원 공급 장치를 확인하십시오.
InsufficientTriggerWidth 이 오류는 트리거가 최소 Exposure Time보다 짧을 때 Trigger Width exposure mode에서 보고됩니다.

샘플 코드#

ace 2, boost, dart M and dart R Cameras#
// Check whether an error occurred on the device
bool errorPresent = camera.BslErrorPresent.GetValue();
// Get the first error code
int64_t errorReportValue = camera.BslErrorReportValue.GetValue();
// Retrieve the next error code from the device
camera.BslErrorReportNext.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Check whether an error occurred on the device
bool errorPresent = CBooleanParameter(nodemap, "BslErrorPresent").GetValue();
// Get the first error code
int64_t errorReportValue = CIntegerParameter(nodemap, "BslErrorReportValue").GetValue();
// Retrieve the next error code from the device
CCommandParameter(nodemap, "BslErrorReportNext").Execute();
// Check whether an error occurred on the device
bool errorPresent = camera.Parameters[PLCamera.BslErrorPresent].GetValue();
// Get the first error code
Int64 errorReportValue = camera.Parameters[PLCamera.BslErrorReportValue].GetValue();
// Retrieve the next error code from the device
camera.Parameters[PLCamera.BslErrorReportNext].Execute();
/* 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 */
_Bool errorPresent = false;
int64_t errorReportValue = 0;
/* Check whether an error occurred on the device */
errRes = PylonDeviceGetBooleanFeature(hdev, "BslErrorPresent", &errorPresent);
CHECK(errRes);
/* Get the first error code */
errRes = PylonDeviceGetIntegerFeature(hdev, "BslErrorReportValue", &errorReportValue);
CHECK(errRes);
/* Retrieve the next error code from the device */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslErrorReportNext");
CHECK(errRes);
# Check whether an error occurred on the device
errorPresent = camera.BslErrorPresent.Value
# Get the first error code
errorReportValue = camera.BslErrorReportValue.Value
# Retrieve the next error code from the device
camera.BslErrorReportNext.Execute()
ace U/L 카메라#
// Get the value of the last error code in the memory
LastErrorEnums lasterror = camera.LastError.GetValue();
// Clear the value of the last error code in the memory
camera.ClearLastError.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// Get the value of the last error code in the memory
String_t lasterror = CEnumParameter(nodemap, "LastError").GetValue();
// Clear the value of the last error code in the memory
CCommandParameter(nodemap, "ClearLastError").Execute();
// Get the value of the last error code in the memory
string lasterror = camera.Parameters[PLCamera.LastError].GetValue();
// Clear the value of the last error code in the memory
camera.Parameters[PLCamera.ClearLastError].Execute();
size_t len = 0;
char lasterror_str[64] = {0};
/* Get the value of the last error code in the memory */
len = sizeof(lasterror_str);
errRes = PylonDeviceFeatureToString(hdev, "LastError", lasterror_str, &len);
CHECK(errRes);
/* Clear the value of the last error code in the memory */
errRes = PylonDeviceExecuteCommandFeature(hdev, "ClearLastError");
CHECK(errRes);
# Get the value of the last error code in the memory
lasterror = camera.LastError.Value
# Clear the value of the last error code in the memory
camera.ClearLastError.Execute()

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