IsReceptionDone

Évaluer le drapeau "Réception terminée"

Cette fonction renvoie la valeur du drapeau "Réception terminée". Il est TRUE si le délimiteur a été reçu au port de communication affecté à Port.

Paramètres

Entrée

Port (WORD, INT, UINT)

Indique les ports de communication (selon le type d’API) :

  • Port COM, par ex. SYS_COM0_PORT

  • Port Ethernet, par ex. SYS_ETHERNET_USER_CONNECTION_1

  • MCU/SCU, par ex. 16#xx01 (xx = numéro du connecteur) dans COM01

Sortie

IsDone (BOOL)

Défini sur TRUE, si le délimiteur a été reçu. Le délimiteur est spécifié dans le registre système correspondant dans les paramètres du port COM.

Remarques

Évaluation du drapeau "Réception terminée".

Si aucun autre octet n’est reçu ou si l’instruction ClearReceiveBuffer est exécutée pendant le temps indiqué, la sortie IsDone passe à TRUE. La réception d’autres données n’est pas autorisée. Le drapeau "IsDone" devient FALSE lorsque F159_MTRN ou ClearReceiveBuffer est exécutée. Cette fonction peut être utilisée pour FP7 ou MCU également pour le mode temporisation. Le drapeau "réception terminée" peut être évalué à l’aide des instructions ou des variables système suivantes :

  • IsReceptionDone

  • IsReceptionDoneByTimeOut

  • sys_bIsComPort1ReceptionDone, sys_bIsComPort2ReceptionDone, sys_bIsToolPortReceptionDone (selon le port)

La fin de la réception peut être déterminée en contrôlant le contenu du tampon de réception. Le nombre d’octets reçus peut changer pendant l’exécution d’une scrutation. Par exemple, si le nombre d’octets reçus est lu plusieurs fois, il peut y avoir plusieurs états au cours d’une scrutation.

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
		iPort: INT:=0;
		bIsDone: BOOL:=FALSE;
	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 := 5 ;
        NETWORK_BODY
B(B_F,IsReceptionDone!,,5,0,14,3,,?DPort?CIsDone);
B(B_VARIN,,iPort,3,1,5,3,);
B(B_VAROUT,,bIsDone,14,1,16,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

bIsDone:=IsReceptionDone(Port := iPort);

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