FP_ETHERNETIP_START

Requête de démarrage d’une communication cyclique

Cette instruction FP démarre le nœud sur lequel la requête de démarrage 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.

Paramètres

Entrée

d_dutStateTable (FP_ETHERNETIP_STATE_TABLE_DUT)
  • Table des numéros de nœuds pour les requêtes de démarrage

  • Adresse de départ de la mémoire de sauvegarde du numéro de nœuds maximum (1-256) ou constante.

Sortie

d_Result (WORD)

Destination vers laquelle les données lues sont écrites.

  • 0 : Le démarrage du nœud spécifié est terminé.

  • 1 : Démarrage du nœud spécifié en cours.

  • 2 : Échec du démarrage du nœud spécifié.

  • 3 : Démarrage multiple de FP_ETHERNETIP_START

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • Si la zone lue est en dehors de l’intervalle autorisé.

  • Si l’instruction est exécutée dans un programme d’interruption.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si la zone lue est en dehors de l’intervalle autorisé.

  • Si l’instruction est exécutée dans un programme d’interruption.

Exemple

En-tête du POU

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_NodeTableStart: FP_ETHERNETIP_STATE_TABLE_DUT;
	END_VAR

Corps du POU

Lorsque les variables sys_bIsEtherNetIPStartStopControllable et bEnable sont définies sur TRUE, la fonction est exécutée.

Corps en LD

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_NodeTableStart,13,5,15,7,);
B(B_VAROUT,,wResult,27,5,29,7,);
B(B_CONTACT,,bEnable,12,3,14,5,);
B(B_CONTACT,,sys_bIsEtherNetIPStartStopControllable,8,1,10,3,);
B(B_F,FP_ETHERNETIP_START!,,15,3,27,7,,?DEN?Dd_dutStateTable?AENO?Cd_Result);
L(1,2,8,2);
L(14,4,14,5);
L(14,5,15,5);
L(10,2,10,4);
L(10,4,12,4);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF (sys_bIsEtherNetIPStartStopControllable) AND (bEnable) then
    FP_ETHERNETIP_START(d_dutStateTable := dutNodes_NodeTableStart,
                        d_Result => wResult);
End_if;
END_IF;

Modifié le : 2022-04-20Commentaires sur cette pageAssistance téléphonique