Auswerten der Node Table
Download: https://github.com/Beckhoff/TF6230_Samples/tree/main/TcPrpNodeTableSample
Aufbauend auf dem vorherigen Beispiel wird hier auch die „Node Table“ mit der Struktur TcPrpNodeEntry abgefragt. Aus dem TwinCAT PRP Module wird mittels ADS Read die Tabelle über die Knoten im Netzwerk ausgelesen (siehe FB_TcPrpAdapter.GetNodeTable) und anhand von einer definierten MAC-Adresse ein spezifischer Knoten in der Liste gesucht und ausgewertet (siehe FB_TcPrpAdapter.GetNodeIndexByMac und FB_TcPrpAdapter.GetNodeEntry).
Die verschiedenen Werte aus der „Node Entry“ werden anhand von LAN-A und LAN-B zusammengefasst, um daraus zu ermitteln, ob die Kommunikation zu dem Knoten unterbrochen wurde. Wenn für mehr als zwei Sekunden keine Frames aus dem jeweiligen LAN von diesem Knoten empfangen wurden, so wird dies als „Timeout“ erkannt (siehe FB_TcPrpNode.bTimeout{A,B}). Sollten weder Frames auf LAN-A, noch auf LAN-B erkannt werden, so wird dies als „Disconnect“ angezeigt (siehe FB_TcPrpNode.bDisconnect).