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

Line Overload Status#

Line Overload Status 카메라 기능을 사용하면 GPIO 라인에 과부하가 걸렸는지, 즉 전원이 올바르게 공급되지 않는지 확인할 수 있습니다.

기능 사용#

Line Overload의 원인#

GPIO 라인이 출력 라인으로 설정된 경우, 카메라 항목에 지정된 대로 올바른 출력 신호 전압을 인가해야 합니다. 카메라 항목은 면조사 및 라인 스캔 카메라 섹션에서 확인할 수 있습니다.

적절한 전압을 인가하지 않으면 라인 과부하가 발생할 수 있습니다. 카메라의 절대 최대 정격 전압을 초과하지 않는 한, 카메라는 과부하를 감지하여 다음을 통해 보고할 수 있습니다. BslLineOverloadStatus 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.

I/O Line의 과부하 상태 확인#

GPIO 라인의 과부하 여부를 확인하려면 다음을 수행합니다.

  1. 파라미터를 원하는 LineSelector 매개변수를 원하는 I/O 라인(예: )으로 설정합니다. Line1.
  2. 다음의 값을 가져옵니다. BslLineOverloadStatus parameter. 이 파라미터는 읽기 전용입니다.

값이 false (0)은 GPIO 라인에 과부하가 걸리지 않았음을 의미합니다.

값이 true (1)은 GPIO 라인에 과부하가 걸렸음을 의미합니다. I/O 라인의 구성을 확인하십시오.

모든 I/O Line의 과부하 상태 확인#

단일 작업으로 모든 I/O 라인의 과부하 상태를 확인하려면 다음을 읽으십시오. BslLineOverloadStatusAll parameter. 이 파라미터는 64비트 값으로 보고됩니다.

정보

The BslLineOverloadStatusAll 매개변수는 pylon Viewer 기능 트리가 아닌 pylon API를 통해서만 사용할 수 있습니다.

값의 특정 비트는 I/O 라인과 연결되어 있습니다. 각 비트는 해당 라인의 상태를 나타냅니다.

  • 비트가 0이면 해당 라인에 과부하가 걸리지 않은 것입니다.
  • 비트가 1이면 해당 라인에 과부하가 걸린 것입니다. I/O 라인의 구성을 확인하십시오.

비트와 라인의 연결 관계는 다음과 같습니다.

  • 비트 0은 Line1 상태를 나타냅니다.
  • 비트 1은 Line2 상태를 나타냅니다.
  • 비트 2는 Line3 상태를 나타냅니다.

예: 모든 라인이 High 상태 = 0b111

정보

카메라 모델에서 Line Inverter 기능이 활성화되면 카메라는 BslLineOverloadStatusAll parameter 값을 반전시킵니다. 모든 0 비트는 1로 변경되고 그 반대의 경우도 마찬가지입니다.

샘플 코드#

ace 2, boost 및 dart R 카메라#
// Select a line
camera.LineSelector.SetValue(LineSelector_Line1);
// Determine the status of the selected line
bool status = camera.BslLineOverloadStatus.GetValue();
// Get the line overload status of all I/O lines
// Because the GenICam interface does not support
// 32-bit words, the line status is reported as a 64-bit value
int64_t lineOverloadStatusAll = camera.BslLineOverloadStatusAll.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Select a line
CEnumParameter(nodemap, "LineSelector").SetValue("Line1");
// Determine the status of the selected line
bool status = CBooleanParameter(nodemap, "BslLineOverloadStatus").GetValue();
// Get the line overload status of all I/O lines
// Because the GenICam interface does not support
// 32-bit words, the line status is reported as a 64-bit value
int64_t lineOverloadStatusAll = CIntegerParameter(nodemap, "BslLineOverloadStatusAll").GetValue();
// Select a line
camera.Parameters[PLCamera.LineSelector].SetValue(PLCamera.LineSelector.Line1);
// Determine the status of the selected line
bool status = camera.Parameters[PLCamera.BslLineOverloadStatus].GetValue();
// Get the line overload status of all I/O lines
// Because the GenICam interface does not support
// 32-bit words, the line status is reported as a 64-bit value
Int64 lineOverloadStatusAll = camera.Parameters[PLCamera.BslLineOverloadStatusAll].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 */
_Bool status = false;
int64_t lineOverloadStatusAll = 0;
/* Select a line */
errRes = PylonDeviceFeatureFromString(hdev, "LineSelector", "Line1");
CHECK(errRes);
/* Determine the status of the selected line */
errRes = PylonDeviceGetBooleanFeature(hdev, "BslLineOverloadStatus", &status);
CHECK(errRes);
/* Get the line overload status of all I/O lines */
/* Because the GenICam interface does not support */
/* 32-bit words, the line status is reported as a 64-bit value */
errRes = PylonDeviceGetIntegerFeature(hdev, "BslLineOverloadStatusAll", &lineOverloadStatusAll);
CHECK(errRes);
# Select a line
camera.LineSelector.Value = "Line1"
# Determine the status of the selected line
status = camera.BslLineOverloadStatus.Value
# Get the line overload status of all I/O lines
# Because the GenICam interface does not support
# 32-bit words, the line status is reported as a 64-bit value
lineOverloadStatusAll = camera.BslLineOverloadStatusAll.Value
기타 카메라#
// Select a line
camera.LineSelector.SetValue(LineSelector_Line1);
// Determine the status of the selected line
bool status = camera.LineOverloadStatus.GetValue();
// Get the line overload status of all I/O lines
// Because the GenICam interface does not support
// 32-bit words, the line status is reported as a 64-bit value
int64_t lineOverloadStatusAll = camera.LineOverloadStatusAll.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Select a line
CEnumParameter(nodemap, "LineSelector").SetValue("Line1");
// Determine the status of the selected line
bool status = CBooleanParameter(nodemap, "LineOverloadStatus").GetValue();
// Get the line overload status of all I/O lines
// Because the GenICam interface does not support
// 32-bit words, the line status is reported as a 64-bit value
int64_t lineOverloadStatusAll = CIntegerParameter(nodemap, "LineOverloadStatusAll").GetValue();
// Select a line
camera.Parameters[PLCamera.LineSelector].SetValue(PLCamera.LineSelector.Line1);
// Determine the status of the selected line
bool status = camera.Parameters[PLCamera.LineOverloadStatus].GetValue();
// Get the line overload status of all I/O lines
// Because the GenICam interface does not support
// 32-bit words, the line status is reported as a 64-bit value
Int64 lineOverloadStatusAll = camera.Parameters[PLCamera.LineOverloadStatusAll].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 */
_Bool status = false;
int64_t lineOverloadStatusAll = 0;
/* Select a line */
errRes = PylonDeviceFeatureFromString(hdev, "LineSelector", "Line1");
CHECK(errRes);
/* Determine the status of the selected line */
errRes = PylonDeviceGetBooleanFeature(hdev, "LineOverloadStatus", &status);
CHECK(errRes);
/* Get the line overload status of all I/O lines */
/* Because the GenICam interface does not support */
/* 32-bit words, the line status is reported as a 64-bit value */
errRes = PylonDeviceGetIntegerFeature(hdev, "LineOverloadStatusAll", &lineOverloadStatusAll);
CHECK(errRes);
# Select a line
camera.LineSelector.Value = "Line1"
# Determine the status of the selected line
status = camera.LineOverloadStatus.Value
# Get the line overload status of all I/O lines
# Because the GenICam interface does not support
# 32-bit words, the line status is reported as a 64-bit value
lineOverloadStatusAll = camera.LineOverloadStatusAll.Value

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