FP_SD_DELETE_DIR_WITH_FILES

Supprimer un répertoire avec fichiers sur carte SD

Cette instruction FP supprime le répertoire et tous ses fichiers sur la carte mémoire SD, dont le nom est spécifié par s1_FullDirName.

Paramètres

Entrée

s1_FullDirName (STRING[32])

Nom du répertoire : spécifie le nom du répertoire.

Remarques

  • Le drapeau "Accès mémoire SD actif" (sys_bIsSDMemoryAccessActive) devient TRUE lorsque le déclencheur EN de l’instruction de carte mémoire SD devient TRUE et reste TRUE jusqu’à ce que l’exécution de l’instruction soit terminée. Pendant ce temps, les autres instructions de carte mémoire SD ne peuvent pas être exécutées.

  • Une erreur apparaît lorsque le répertoire qui doit être supprimé n’existe pas.

  • Une erreur apparaît lorsque le répertoire spécifié contient un sous-dossier.

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.
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.

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
		sFullDirName: STRING[32]:='Logs';
		bEnable: BOOL:=FALSE;
	END_VAR

Corps du POU

La fonction est exécutée lorsque la variable bEnable est définie sur TRUE. Elle supprime le dossier 'Logs' dans le répertoire racine de la carte mémoire SD ainsi que tous ses fichiers.

Corps en LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    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_F,FP_SD_DELETE_DIR_WITH_FILES!,,14,0,30,4,,?DEN?Ds1_FullDirName?AENO);
B(B_VARIN,,sFullDirName,12,2,14,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,14,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF (bEnable) then
    FP_SD_DELETE_DIR_WITH_FILES('\Logs');
END_IF;

Modifié le : 2024-03-07Commentaires sur cette pageAssistance téléphonique