Ping

TwinCAT TIA
Netzwerk Netzwerk-Werkzeuge

ns=2;s=DEPRAG Smart/Network/Tools/Ping

Dieser Befehl sendet an die konfigurierte Hostadresse eine ICMP-Anforderung (Internet Control Message Protocol). Es wird eine entsprechende Antwort von der Hostadresse innerhalb der konfigurierten Zeit erwartet. Diese Funktion ist für den Test von Netzwerkverfügbarkeiten, Erreichbarkeit von SPSen, Statusdiagnose des Netzwerkes, etc. hilfreich.

Parameter:

    TimeOutInMilliseconds
    Die Zeitspanne in Millisekunden (nach dem Senden der Meldung), die auf die Antwort von der Hostaddresse gewartet werden soll.

Rückgabewert:

    Ping
    Eine Struktur-Variable vom Typ OpcMethodReturnValueToolsReturnValue. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Der Rückgabewert ist eine Instanz der "ToolsReturnValue"- Klasse mit folgenden Eigenschaften:
        AverageTimeInMilliseconds
        Ein Int64-Wert, der die durchschnittliche Zeit in Millisekunden für die Ausführung eines Pings darstellt.
        SuccessfulPings
        Ein Int32-Wert, der die Gesamtanzahl erfolgreicher Pingversuche angibt.
        UnsuccessfulPings
        Ein Int32-Wert, der die Gesamtanzahl der fehlgeschlagenen Pingversuche angibt.

Beispiele:

Neben den bereits erläuterten Parametern sind für die Implementierung in TwinCAT 3 nachfolgende Variablen anzulegen / zu übergeben:

Beckhoff Parameter:

    bPingServer
    Eine boolesche Variable, über welche die Ausführung des Ping-Befehls getriggert werden kann.
    OutputDataPing
    Eine Instanz der "ST_PingOutputData" Struktur, in welche der Rückgabewert der Ping-Methode geschrieben wird.
    hrPing
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ "HRESULT".
    fbTools
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_Tools" Funktionsbausteins.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
    bPingServer  : BOOL;
    OutputDataPing : ST_PingOutputData;
    hrPing  : HRESULT;
                            
    fbTools             : FB_Tools;
END_VAR

hrPing := fbTools.Ping(bPingServer, depragSmartConnection.ConnectionHandle, '10.10.222.110', 3, 5000, OutputData => OutputDataPing);
IF hrPing <> S_FALSE THEN 
    bPingServer := FALSE;
END_IF
                                                    

Für Beispiele und Erklärungen bezüglich der Aufrufe von Knoten via Siemens TIA Portal sei an dieser Stelle auf den Unterpunkt "Siemens TIA Portal" in Abschnitt "Erste Schritte" verwiesen.