SysIPReach, IP address is reachable

  1. Home
  2. Knowledge Base
  3. Manualistica
  4. Programmazione IEC 61131-3
  5. Gestione networking
  6. SysIPReach, IP address is reachable

Questo blocco funzione esegue controllo se un indirizzo IP è raggiungibile, viene eseguito l'invio del comando Ping al sistema e se si ottiene risposta viene attivato Done.

La variabile Refresh ritorna la percentuale di tempo trascorsa dall'ultima esecuzione del comando Ping sul sistema. Raggiunto il 50% del tempo circa 25 Secondi viene eseguito un nuovo comando Ping.

Function block
CODESYS: Non disponibile
LogicLab: eLLabXUnified12Lib

Enable (BOOL) Abilitazione blocco funzione, attivandolo viene eseguito un ping ogni 25 Sec.

PeerIP (STRING[15]) Stringa di definizione indirizzo IP su cui eseguire il ping.

Done (BOOL) Si attiva al termine della esecuzione comando e rimane attiva fino alla disabilitazione di Enable.

Ok (BOOL) Attivo se indirizzo IP è raggiungibile (Risposta da Ping).

Fault (BOOL) Attivo per un loop se errore esecuzione comando.

Refresh (USINT) Percentuale di tempo da ultima esecuzione Ping.

Errori

In caso di errore eseguendo immediatamente dopo la funzione SysGetLastError è possibile rilevare il codice di errore. Fare riferimento alla tabella seguente per la descrizione.

Esempi

Come utilizzare gli esempi.
Viene eseguito un ping verso l'IP di Google "8.8.8.8" e se il ping si conclude correttamente si attiva IsReachable. Mantenendo attivo il comando Enable, il ping viene continuamente ripetuto e controllato ogni circa 25 secondi. Se si desidera conoscere l'indirizzo IP di un URL occorre utilizzare il FB DNSRequest.

LogicLab (Ptp114)
PROGRAM ST_SysIPReach
VAR
    Ping : SysIPReach; (* Ping command *)
    IsReachable : BOOL; (* The IP is reachable *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_SysIPReach"
// *****************************************************************************
// It's executed a ping on the defined IP address (i.e Google).
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // EXECUTE PING
    // -------------------------------------------------------------------------
    // Execute ping to Google.

    Ping.PeerIP:='8.8.8.8';
    Ping(Enable:=TRUE); //Ping command
    IsReachable:=Ping.Done; //The IP is reachable

// [End of file]

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 4 Novembre 2019