Requête d’arrêt d’une communication cyclique
Cette instruction FP arrête le nœud sur lequel la requête d’arrêt est faite et écrit le résultat dans la variable de sortie d_Result. La table des numéros de nœuds est spécifiée par FP_ETHERNETIP_STATE_TABLE_DUT.
Entrée
Table des numéros de nœuds pour les requêtes d’arrêt
Adresse de départ de la mémoire de sauvegarde du numéro de nœuds maximum (1-256) ou constante.
Sortie
Destination vers laquelle les données lues sont écrites.
0 : L’arrêt du nœud spécifié est terminé.
1 : Arrêt du nœud spécifié en cours.
2 : Échec de l’arrêt du nœud spécifié.
3 : Démarrage multiple de FP_ETHERNETIP_STOP
Si la zone lue est en dehors de l’intervalle autorisé.
Si l’instruction est exécutée dans un programme d’interruption.
Si la zone lue est en dehors de l’intervalle autorisé.
Si l’instruction est exécutée dans un programme d’interruption.
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;
wResult: WORD:=0;
dutNodes_NodeTableStop: FP_ETHERNETIP_STATE_TABLE_DUT;
END_VAR
Lorsque les variables sys_bIsEtherNetIPStartStopControllable et bEnable sont définies sur TRUE, la fonction est exécutée.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_VARIN,,dutNodes_NodeTableStop,14,5,16,7,);
B(B_VAROUT,,wResult,28,5,30,7,);
B(B_CONTACT,,bEnable,12,4,14,6,);
B(B_CONTACT,,sys_bIsEtherNetIPStartStopControllable,8,1,10,3,);
B(B_F,FP_ETHERNETIP_STOP!,,16,3,28,7,,?DEN?Dd_dutStateTable?AENO?Cd_Result);
L(1,2,8,2);
L(10,2,10,5);
L(10,5,12,5);
L(14,5,16,5);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (sys_bIsEtherNetIPStartStopControllable) AND (bEnable) then
FP_ETHERNETIP_STOP(d_dutStateTable := dutNodes_NodeTableStart,
d_Result => wResult)
END_IF;