콘텐츠로 건너뛰기
STAGING SERVER
DEVELOPMENT SERVER

Line Overload Status#

Line Overload Status camera feature를 사용하면 GPIO 라인이 과부하 상태인지, 즉 전원이 올바르게 공급되지 않는지 확인할 수 있습니다.

기능 사용법#

Line Overload 발생 원인#

GPIO 라인이 출력 라인으로 구성된 경우, 카메라 항목에 지정된 대로 적절한 출력 신호 전압을 인가해야 합니다. 카메라 항목은 Area and Line Scan Cameras 섹션에서 확인할 수 있습니다.

적절한 전압을 인가하지 않으면 라인 과부하가 발생할 수 있습니다. 카메라도 허용되는 절대 최대 전압을 초과하지 않는 한 과부하를 감지하여 다음을 통해 보고할 수 있습니다. BslLineOverloadStatus 파라미터.

I/O Line의 Overload Status 확인 방법#

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

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

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

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

모든 I/O Line의 Overload Status 확인 방법#

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

정보

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

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

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

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

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

예시: 모든 라인 high = 0b111

정보

만약 Line Inverter 기능이 활성화되면 카메라는 다음을 반전시킵니다. BslLineOverloadStatusAll 파라미터 값. 모든 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를 사용하여 파라미터를 손쉽게 설정할 수 있습니다.