Verzeichnis auf SD-Karte anlegen
Dieser FP-Befehl legt auf der SD-Karte ein Verzeichnis an mit dem Namen s1_FullDirName.
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.
Ein Unterverzeichnis kann nur direkt unterhalb des entsprechenden übergeordneten Verzeichnisses mit einem Befehl angelegt werden. Für Verzeichnisse auf tiefer liegenden Hierarchieebenen müssen zuerst übergeordnete Verzeichnisse angelegt werden.
Wenn das anzulegende Verzeichnis bereits vorhanden ist, tritt ein Fehler auf.
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 legt das Verzeichnis 'Test' im Root-Verzeichnis der SD-Karte an.
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,,'\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_CREATE_DIR!,,23,0,33,4,,?DEN?Ds1_FullDirName?AENO);
L(1,2,3,2);
L(13,2,23,2);
L(5,2,11,2);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bStart)AND not sys_bIsSDMemoryAccessActive then
FP_SD_CREATE_DIR('\Test');
END_IF;