Line Overload Status All#

The Line Overload Status All camera feature allows you to determine the overload status of all I/O lines in a single operation.

An I/O line is overloaded if it is not powered correctly.

To determine the overload status of an individual I/O line, use the Line Overload Status feature.

Info

This feature is only available via the pylon API, not via the pylon Viewer feature tree.

Using the Feature#

Causes for Line Overload#

If a GPIO line is configured as an output line, you must apply appropriate output signal voltages as specified in your camera topic. You can find your camera topic in the "Models" section.

If you don't apply the appropriate voltages, a line overload may occur. As long as the absolute maximum voltage of the camera is not exceeded, the camera can detect the overload and report it via the BslLineOverloadStatusAll parameter.

Determining the Overload Status of All I/O Lines#

To determine the overload status of all I/O lines, read the BslLineOverloadStatusAll parameter. The parameter is reported as a 64-bit value.

Certain bits in the value are associated with the I/O lines. Each bit indicates the status of its associated line:

  • If a bit is 0, the associated line is not overloaded.
  • If a bit is 1, the associated line is overloaded. Check the configuration of your I/O lines.

The bit-to-line association is as follows:

  • Bit 0 indicates Line1 status.
  • Bit 1 indicates Line2 status.
  • Bit 2 indicates Line3 status.

Example: All lines high = 0b111

Info

If the Line Inverter feature is enabled, the camera inverts the BslLineOverloadStatusAll parameter value. All 0 bits change to 1, and vice versa.

Sample Code#

// 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();
// 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 = CIntegerPtr(nodemap.GetNode("BslLineOverloadStatusAll"))->GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// 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();
// 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();
// 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 = Pylon.DeviceGetIntegerFeature(hdev, "BslLineOverloadStatusAll");
/* 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 lineOverloadStatusAll = 0;
/* 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);