FP_OPERATION_RECORDING_WRITE_TO_SD

Écrire les enregistrements des événements sur carte SD

Cette instruction FP écrit les données enregistrées par la fonction d’enregistrement des événements du numéro de configuration, spécifié par s1_nNumber, dans un fichier CSV qui est sauvegardé sur carte SD dans le dossier OPH0OPH7 (selon le numéro de configuration utilisé). Ce dossier est créé automatiquement sur la carte mémoire SD.

Paramètres

Entrée

s1_nNumber (ANY16)

Spécifie le numéro de configuration dans l’intervalle de 0–7

s2_bTimeDescending (BOOL)

Indique si les enregistrements doivent être écrits dans l’ordre croissant ou décroissant de l’horodatage.

  • FALSE : croissant

  • TRUE : décroissant

s3_nLanguage (ANY16)

Spécifie le numéro de langue défini dans la configuration Enregistrement des événements :

  • 0 : langue 0

  • 1 : langue 1

s4_bClearRecordedDataAfterWriting (BOOL)

Spécifie le comportement après écriture sur la carte SD :

  • FALSE : les données enregistrées ne sont pas effacées

  • TRUE : les données enregistrées sont effacées

Remarques

  • Lorsque cette instruction est en cours d’exécution, la variable système sys_bIsSDMemoryAccessActive est définie sur TRUE. Lorsque l’écriture sur carte SD est terminée, sys_bIsSDMemoryAccessActive est redéfinie sur FALSE.

  • Lorsque cette instruction est en cours d’exécution, la variable système sys_bIsSDMemoryAccessDone est définie sur FALSE. Lorsque les données enregistrées ont été écrite sur la carte SD, sys_bIsSDMemoryAccessDone redevient TRUE.

  • Lorsque cette instruction a été exécutée avec succès, la variable système sys_bIsSDMemoryAccessError est définie sur FALSE. Si l’écriture des données enregistrées sur carte SD a échoué, sys_bIsSDMemoryAccessError est définie sur TRUE.

  • Au lieu d’utiliser cette instruction, vous pouvez également envoyer la commande à partir d’une page web créée avec Control Web Creator. Voir le manuel Web Server Function Manual pour en savoir plus.

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • Si un numéro de configuration non défini a été spécifié.

  • Si le numéro de configuration spécifié est en dehors de l’intervalle autorisé.

  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

  • Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si un numéro de configuration non défini a été spécifié.

  • Si le numéro de configuration spécifié est en dehors de l’intervalle autorisé.

  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

  • Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.

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
		bWrite: BOOL:=FALSE;
	END_VAR

Corps en LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_CONTACT,,bWrite,5,1,7,3,R);
B(B_F,FP_OPERATION_RECORDING_WRITE_TO_SD!,,14,0,34,7,,?DEN?Ds1_nNumber?Ds2_bTimeDescending?Ds3_nLanguage?Ds4_bClearRecordedDataAfterWriting?AENO);
B(B_VARIN,,0,12,2,14,4,);
B(B_VARIN,,FALSE,12,3,14,5,);
B(B_VARIN,,1,12,4,14,6,);
B(B_VARIN,,TRUE,12,5,14,7,);
L(1,0,1,7);
L(1,2,5,2);
L(7,2,14,2);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY
    END_NET_WORK
END_BODY

Corps en ST

If DF(bWrite) Then
    FP_OPERATION_RECORDING_WRITE_TO_SD(s1_nNumber := 0, s2_bTimeDescending := FALSE,
                                       s3_nLanguage := 1, s4_bClearRecordedDataAfterWriting := TRUE);
End_if;

Modifié le : 2023-04-05Commentaires sur cette pageAssistance téléphonique