跳至內容
測試伺服器
開發伺服器

Line Mode#

Line Mode 相機功能可讓您決定或設定 I/O 線路是用作輸入、輸出還是輸入輸出線路。

您可以設定任何 通用 I/O 線路 (GPIO 線路) 的 Line Mode。至於 光耦合 I/O 線路,您只能判定目前的 Line Mode。

使用功能#

設定 Line Mode#

請僅在 I/O 線路未在使用時設定 Line Mode。否則,相機可能會出現無法預期的行為。

將相機中的 LineSelector 參數設為所需的 GPIO line.

將相機中的 LineMode 參數設定為以下值之一:

  • Input:將 GPIO 線路設定為輸入線路。
  • Output:將 GPIO 線路設定為輸出線路。
  • InOut:若適用,將 GPIO 線路設定為輸入輸出線路。這例如可用於 Two-Wire Interface 及 Light Control 功能。

決定 Line Mode#

  1. 將相機中的 LineSelector 參數至所需的 I/O 線路。
  2. 取得 LineMode 參數以判定 I/O 線路的目前 Line Mode。

範例程式碼#

// Select GPIO line 3
camera.LineSelector.SetValue(LineSelector_Line3);
// Set the line mode to Input
camera.LineMode.SetValue(LineMode_Input);
// Get the current line mode
LineModeEnums e = camera.LineMode.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Select GPIO line 3
CEnumParameter(nodemap, "LineSelector").SetValue("Line3");
// Set the line mode to Input
CEnumParameter(nodemap, "LineMode").SetValue("Input");
// Get the current line mode
String_t e = CEnumParameter(nodemap, "LineMode").GetValue();
// Select GPIO line 3
camera.Parameters[PLCamera.LineSelector].SetValue(PLCamera.LineSelector.Line3);
// Set the line mode to Input
camera.Parameters[PLCamera.LineMode].SetValue(PLCamera.LineMode.Input);
// Get the current line mode
string e = camera.Parameters[PLCamera.LineMode].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 */
size_t len = 0;
char e_str[64] = {0};
/* Select GPIO line 3 */
errRes = PylonDeviceFeatureFromString(hdev, "LineSelector", "Line3");
CHECK(errRes);
/* Set the line mode to Input */
errRes = PylonDeviceFeatureFromString(hdev, "LineMode", "Input");
CHECK(errRes);
/* Get the current line mode */
len = sizeof(e_str);
errRes = PylonDeviceFeatureToString(hdev, "LineMode", e_str, &len);
CHECK(errRes);
# Select GPIO line 3
camera.LineSelector.Value = "Line3"
# Set the line mode to Input
camera.LineMode.Value = "Input"
# Get the current line mode
e = camera.LineMode.Value

您也可以 use the pylon Viewer 來輕鬆設定參數。