FP_SD_MOVE_FILE

Déplacer un fichier sur la carte mémoire SD

Cette instruction FP déplace le fichier spécifié par s1_FullFileNameSource vers le fichier spécifié par s2_FullFileNameDestination.

Paramètres

Entrée

s1_FullFileNameSource (STRING)

Fichier et répertoire source

s2_FullFileNameDestination (STRING)

Fichier et répertoire de destination

s3_Format (WORD)

Format de transfert de fichier :

Bits 0 :

  • 0 : Remplacer si le fichier existe

  • 1 : Fin anormale si le fichier existe

Bits 1–15 : Réservée au système

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.
  • Si le répertoire spécifié par s2_FullFileNameDestination n’existe pas, l’erreur 3 "Erreur de nom de fichier/répertoire" apparaît.

  • Si la capacité disponible de la carte mémoire SD est insuffisante, l’erreur 9 "Carte SD pleine" apparaît.

  • Si un répertoire est spécifié par s1_FullFileNameSource et si un fichier est spécifié par s2_FullFileNameDestination, l’erreur 3 "Erreur de nom de fichier/répertoire" apparaît.
  • Si un répertoire est indiqué par s1_FullFileNameSource, tous les fichiers de ce répertoire sont déplacés vers le répertoire désigné par s2_FullFileNameDestination.

  • Les sous-répertoires ne sont pas déplacés.

  • Les fichiers déplacés qui sont protégés en écriture le seront toujours après déplacement.

  • La capacité disponible sur la carte mémoire SD doit être supérieure à la taille des fichiers à déplacer.

  • Si un fichier est spécifié par s1_FullFileNameSource et si un répertoire est désigné par s2_FullFileNameDestination, le fichier est déplacé dans le répertoire.

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
		bStart: BOOL:=FALSE;
			(*activates the instruction*)
	END_VAR

Corps du POU

Lorsque la variable bStart passe de FALSE à TRUE et lorsque la variable système sys_bIsSDMemoryAccessActive n’est pas TRUE, la fonction est exécutée. Elle déplace le fichier 'TestString1.csv' du répertoire racine de la carte mémoire SD vers le répertoire 'Test'.

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,,'\TestString1.csv',21,2,23,4,);
B(B_VARIN,,'\Test\TestString1.csv',21,3,23,5,);
B(B_VARIN,,0,21,4,23,6,);
B(B_CONTACT,,bStart,3,1,5,3,R);
B(B_CONTACT,,sys_bIsSDMemoryAccessActive,11,1,13,3,N);
B(B_F,FP_SD_MOVE_FILE!,,23,0,37,6,,?DEN?Ds1_FullFileNameSource?Ds2_FullFileNameDestination?Ds3_Format?AENO);
L(1,2,3,2);
L(5,2,11,2);
L(13,2,23,2);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF DF(bStart)AND not sys_bIsSDMemoryAccessActive then
    FP_SD_MOVE_FILE('\TestString1.csv', '\Test\TestString1.csv');
END_IF;

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