FP_ETHERNETIP_GET_STATE_TABLE_NODE

Rechercher tous les nœuds enregistrés pour une communication cyclique

Cette instruction FP lit la table des numéros de nœuds, recherche les nœuds qui ont été enregistrés pour la communication cyclique et sauvegarde les valeurs dans la variable de sortie du DUT FP_ETHERNETIP_STATE_TABLE_DUT.

Paramètres

Sortie

d_dutStateTable (FP_ETHERNETIP_STATE_TABLE_DUT)

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

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

Corps du POU

La fonction est exécutée lorsque la variable bEnable est définie sur TRUE.

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 := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_VAROUT,,dutNodes_RegistrationNodeTable,27,2,29,4,);
B(B_F,FP_ETHERNETIP_GET_STATE_TABLE_NODE!,,7,0,27,4,,?DEN?AENO?Cd_dutStateTable);
L(1,2,4,2);
L(6,2,7,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF (bEnable) then
    FP_ETHERNETIP_GET_STATE_TABLE_NODE(d_dutStateTable => dutNodes_RegistrationNodeTable);
END_IF;

Modifié le : 2024-06-19Commentaires sur cette pageAssistance téléphonique