F161_MRD_STATUS

Lire les données d’état en mode RUN

Les données d’état sont lues à partir du port COM d’un module de communication multiple indiqué.

Paramètres

Entrée

s_Port (WORD, INT, UINT)

Spécification du numéro de connecteur (octet de poids fort) et du numéro du port (octet de poids faible) du module MCU auquel les données sont transmises

  • 16#xx01 : COM1 sur le module MCU dans le connecteur 16#xx

  • 16#xx02 : COM2 sur le module MCU dans le connecteur 16#xx

Sortie

d1_Status (MCU_STATUS_DUT)

Paramètres de communication définis dans le DUT prédéfini

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
  • Si le module MCU n’existe pas dans le connecteur spécifié
  • Si le port de communication spécifié n’existe pas.
sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
  • Si le module MCU n’existe pas dans le connecteur spécifié
  • Si le port de communication spécifié n’existe pas.

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
		ReadCommunicationParameter: BOOL:=FALSE;
		McuStatus: MCU_STATUS_DUT;
	END_VAR

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 := 6 ;
        NETWORK_BODY
B(B_VARIN,,ReadCommunicationParameter,15,3,17,5,);
B(B_VARIN,,16#0201,15,4,17,6,);
B(B_COMMENT,,The status parameters MCU_STATUS_DUT of port 1 of the MCU in slot 2 are read:,2,1,34,2,);
B(B_VAROUT,,McuStatus,27,4,29,6,);
B(B_F,F161_MRD_STATUS!,,17,2,27,6,,?DEN?Ds_Port?AENO?Cd1_Status);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

(*The status parameters MCU_STATUS_DUT of port 1 of the MCU in slot 2 are read:*)
if (ReadCommunicationParameter) then
   F161_MRD_STATUS(s_Port := 16#0201, d1_Status => McuStatus);
end_if;

Modifié le : 2022-01-24Commentaires sur cette pageAssistance téléphonique