FP_SD_GET_FILE_STATUS

Renvoyer les propriétés d’un fichier spécifié sur la carte SD

Cette instruction FP renvoie les propriétés du fichier sur la carte mémoire SD, spécifié par s_FullFileName et enregistre le résultat dans d_dutStatus.

Paramètres

Entrée

s1_FullFileName (STRING)

Nom du fichier

Sortie

d_dutStatus (FP_SD_FILE_STATUS_DUT)

Contient les propriétés du ficher.

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.

  • Le drapeau "Accès mémoire SD terminé" (sys_blsSDMemoryAccessDone) est FALSE lorsque l’instruction est exécutée, et devient TRUE et reste TRUE lorsque l’instruction est terminée.

Drapeaux d’erreur

sys_bIsSDMemoryAccessError
  • FALSE : lorsque l’instruction a été exécutée sans erreur.

  • TRUE : lorsqu’une erreur est apparue lors de l’exécution de l’instruction.

  • Utilisez sys_iSDMemoryAccessErrorCode pour vérifier le code d’erreur.

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*)
		dutFileStatus: FP_SD_FILE_STATUS_DUT;
	END_VAR

Corps du POU

La fonction est exécutée lorsque la variable bStart passe de FALSE à TRUE.

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 := 4 ;
        NETWORK_BODY
B(B_F,FP_SD_GET_FILE_STATUS!,,20,0,33,4,,?DEN?Ds_FullFileName?AENO?Cd_dutStatus);
B(B_CONTACT,,bStart,3,1,5,3,R);
B(B_CONTACT,,sys_bIsSDMemoryAccessActive,11,1,13,3,N);
B(B_VARIN,,'\Test\TestString1.csv',18,2,20,4,);
B(B_VAROUT,,dutFileStatus,33,2,35,4,);
L(1,2,3,2);
L(13,2,20,2);
L(5,2,11,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF DF(bStart)AND not sys_bIsSDMemoryAccessActive then
    FP_SD_GET_FILE_STATUS(s_FullFileName := '\Test\TestString1.csv', d_dutStatus => dutFileStatus);
END_IF;

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