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

如何操作:將泛型風格的程式碼注入原生風格的程式碼中#

在某些情況下,某項相機功能可能非常新穎,尚未被納入 Pylon 中用於原生風格程式設計的介面專用標頭中。例如,自訂相機便可能屬於此類情況。

在這些情況下,雖然仍可使用此功能,但必須直接透過 nodemap / xml 來存取。

這點在程式設計師指南中有記載,但這裡提供一個簡短的範例:

  • 開啟 Line1RisingEdge 事件(此內容位於標頭檔中):

    camera.EventSelector.SetValue(EventSelector_Line1RisingEdge);
    camera.EventNotification.SetValue(EventNotification_GenICamEvent);
    

  • 如果該功能是新功能且尚未包含在 pylon 標頭中,請直接存取相機的 XML 檔案:

    GenApi::INodeMap& nodeMap = camera.GetNodeMap();
    GenApi::CEnumEntryPtr myEnumEntry = nodeMap.GetNode("EnumEntry_EventSelector_Line3FallingEdge");
    camera.EventSelector.SetIntValue(myEnumEntry->GetValue()); // Remember to use SetIntValue
    camera.EventNotification.SetValue(EventNotification_GenICamEvent);
    

  • 或者還有一個更快速的方法:

    GenApi::CIntegerPtr(camera.GetNodeMap().GetNode("TriggerStopDelayLineTriggerCount"))->SetValue(50);
    

返回知識文章