Verzeichnis auf SD-Karte löschen
Dieser FP-Befehl löscht das in s1_FullDirName angegebene Verzeichnis auf der SD-Karte. Wenn sich noch Dateien in dem Verzeichnis befinden, verwenden Sie den Befehl FP_SD_DELETE_DIR_WITH_FILES.
Eingang
Verzeichnisname: Legt den Namen des Verzeichnisses.
Der Merker "SD-Kartenzugriff aktiv" (sys_bIsSDMemoryAccessActive) wird auf TRUE gesetzt, nachdem der Trigger EN des SD-Kartenbefehls auf TRUE gesetzt wurde, und bleibt TRUE, bis die Ausführung beendet wurde. In dieser Zeit lassen sich keine anderen SD-Kartenbefehle ausführen.
Wenn das zu löschende Verzeichnis nicht vorhanden ist, tritt ein Fehler auf.
Wenn das angegebene Verzeichnis nicht leer ist, tritt ein Fehler auf. Prüfen Sie den Inhalt des Verzeichnisses.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR
bStart: BOOL:=FALSE;
(*activates the instruction*)
END_VAR
Wenn die Variable bStart von FALSE auf TRUE gesetzt wird und die Systemvariable sys_bIsSDMemoryAccessActive nicht auf TRUE gesetzt ist, wird die Funktion ausgeführt. Sie löscht das Verzeichnis 'Test' aus dem Root-Verzeichnis der SD-Karte.
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_VARIN,,'\Test\',21,2,23,4,);
B(B_CONTACT,,bStart,3,1,5,3,R);
B(B_CONTACT,,sys_bIsSDMemoryAccessActive,11,1,13,3,N);
B(B_F,FP_SD_DELETE_DIR!,,23,0,33,4,,?DEN?Ds1_FullDirName?AENO);
L(1,2,3,2);
L(5,2,11,2);
L(13,2,23,2);
L(1,0,1,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bStart)AND not sys_bIsSDMemoryAccessActive then
FP_SD_DELETE_DIR('\Test');
END_IF;