Requête d’envoi d’une commande PING
Cette instruction FP envoie une commande PING à l’adresse IP de destination de la connexion spécifiée par sPort. n_Requests indique combien de fois une commande PING est envoyée. Vérifiez que les paramètres adaptés sont également entrés dans le navigateur sous .
Entrée
Port Ethernet sur l’unité centrale (FP7 types E) :
SYS_ETHERNET_USER_CONNECTION_1–SYS_ETHERNET_USER_CONNECTION_216
Nombre de requêtes d’envoi de la commande PING
Valeurs : 1–10
Sortie
Sauvegarde le résultat de la commande PING dans le DUT FP_ETHERNET_PING_DUT.
Cette instruction est dédiée à ET-LAN.
Le délai d’attente de réponse à la commande PING est d’une seconde (fixe).
La taille des données envoyées/reçues est de 56 octets (fixe).
Lorsqu’une adresse IP de destination n’est pas spécifiée, une erreur apparaît.
Utilisez les instructions FP_IPV4_GET_CONNECTION ou FP_IPV6_GET_CONNECTION pour vérifier si une adresse IP de destination a été indiquée pour la requête PING.
Si une requête PING est envoyée alors que Ethernet est en cours d’initialisation, tous les éléments du DUT FP_ETHERNET_PING_DUT sont définis sur 0.
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
bEnable: BOOL:=FALSE;
iRequest: INT:=0;
dutEthernet: FP_ETHERNET_PING_DUT;
END_VAR
La fonction est exécutée lorsque la variable bEnable est définie sur TRUE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 10 ;
NETWORK_BODY
B(B_F,FP_ETHERNET_PING!,,19,2,30,7,,?DEN?Ds_Port?Dn_Requests?AENO?Cd);
B(B_VARIN,,SYS_ETHERNET_USER_CONNECTION_10,17,4,19,6,);
B(B_VARIN,,iRequest,17,5,19,7,);
B(B_VAROUT,,dutEthernet,30,4,32,6,);
B(B_CONTACT,,bEnable,3,1,5,3,);
L(1,2,3,2);
L(5,2,5,4);
L(5,4,19,4);
L(1,0,1,10);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if(bEnable) then
FP_ETHERNET_PING(sPort := SYS_ETHERNET_USER_CONNECTION_10,
n_Requests := iRequest,
d => dutEthernet);
END_IF;