Sie können alle SD-Kartenbefehle mit einer FP-XH-Ethernet-SPS verwenden, auch wenn diese keinen SD-Steckplatz hat. Statt Daten per SD-Karte zu lesen/zu schreiben, werden die Daten im internen RAM-Speicher gespeichert.
Es werden keine Daten gespeichert, wenn die SPS ausgeschaltet ist.
Die Speichergröße ist auf 1MB begrenzt.
FP_SD_GET_FREE_KBYTES gibt den freien Speicherplatz zurück.
Nach Ausführung eines SD-Kartenbefehls wird Folgendes geprüft:
Ist eine SD-Karte eingesetzt?
Ist die Abdeckung geschlossen?
Ist die SD-Karte schreibgeschützt?
Während der Ausführung ist der Merker "SD-Kartenzugriff aktiv" (sys_bIsSDMemoryAccessActive) auf TRUE und der Merker "SD-Kartenzugriff beendet" (sys_bIsSDMemoryAccessDone) auf FALSE gesetzt.
Die Ausführung eines SD-Kartenbefehls erfolgt über mehrere SPS-Zyklen.
Wenn die Ausführung beendet ist, wird der Merker "SD-Kartenzugriffsfehler" (sys_bIsSDMemoryAccessError) je nach Ergebnis entweder auf TRUE oder FALSE gesetzt. Mit diesem Merker können Sie ermitteln, ob bei der Ausführung des SD-Kartenbefehls Fehler aufgetreten sind, wenn der Merker "SD-Kartenzugriff beendet" (sys_bIsSDMemoryAccessDone) auf TRUE gesetzt wird. Der Fehlercode wird in einem Systemdatenregister gespeichert, auf das mit sys_iSDMemoryAccessErrorCode zugegriffen werden kann.
Es kann jeweils nur ein SD-Kartenbefehlstyp ausgeführt werden. Verwenden Sie zum Ausführen mehrerer Befehle Merker wie etwa "SD-Kartenzugriff aktiv" (sys_bIsSDMemoryAccessActive).
Mit FP_SET_ERROR werden Fehleralarmmerker gelöscht.
SD-Kartenbefehle können nicht in Interrupt-Programmen verwendet werden.
Bei einem der folgenden Fehler wird die Beendigung sofort gemeldet und der Merker "SD-Kartenzugriff aktiv" wird nicht auf TRUE gesetzt:
Fehlercode | Fehlername | Ursache | Betroffene Befehle |
---|---|---|---|
0 |
Fehlerfrei ausgeführt |
||
1 |
Keine SD-Karte | Es ist keine SD-Karte eingesetzt oder die Abdeckung ist offen. |
Alle SD-Kartenbefehle zum Zeitpunkt der Ausführung |
2 |
Schreibschutz der SD-Karte aktiviert | Die SD-Karte ist schreibgeschützt. |
|
3 |
Fehler des Datei-/Verzeichnisnamens | Die Syntax des Datei- oder Verzeichnisnamens ist falsch oder es wurden zu viele Unterverzeichnisse angegeben. |
|
4 |
Datei nicht angegeben | Die angegebene Datei ist nicht vorhanden. |
|
5 |
Datei vorhanden |
Die angegebene Datei ist bereits vorhanden. |
|
6 |
Lesefehler |
Alle Lesebefehle zum Zeitpunkt der Ausführung |
|
7 |
Schreibfehler |
Die angegebene Datei ist schreibgeschützt. |
|
8 |
Falsche Position |
Die Lese- oder Schreibposition ist falsch. |
Zum Zeitpunkt der Ausführung |
9 |
SD-Karte voll | Die SD-Karte verfügt nicht über ausreichend freien Speicher. |
|
10 |
Falsches Leseformat |
Fehler des Umwandlungsformats beim Lesen einer Datei |
Zum Zeitpunkt der Ausführung |
11 |
Konflikt bei Dateizugriff |
Die angegebene Datei wird aufgezeichnet oder es wird per FTP auf sie zugegriffen. |
|
-1 bis -99 |
Sonstiges |
Alle SD-Kartenbefehle |
Geben Sie den vollständigen Pfad an (maximal 256 Zeichen).
Geben Sie keinen Laufwerksnamen an.
Geben Sie eine Dateierweiterung an, z.B. .txt.
Um Daten in einer Datei namens abc.txt im Root-Verzeichnis zu speichern, geben Sie Folgendes ein: \abc.txt
Um Daten in einer Datei namens def.txt im Unterverzeichnis sub zu speichern, geben Sie Folgendes ein: \sub\def.txt
Um Daten in einer Datei namens def.txt im Unterverzeichnis new zu speichern, geben Sie Folgendes ein: \new\def.txt
Wenn zwei oder mehr Dateien angegeben werden, tritt der Fehler 4 "Datei nicht angegeben" auf.
SD |
SDHC |
|
---|---|---|
Dateisystem |
FAT16 |
FAT32 |
Max. Länge des Dateinamens |
Unterstützt lange Dateinamen (VFAT) |
|
Max. Speicher |
2GB |
32GB |
Max. Dateigröße |
2GB |
4GB |
Max. Anzahl Dateien (8.3-Format) im Root-Verzeichnis |
512 |
65535 |
Max. Anzahl Dateien (8.3-Format) im Unterverzeichnis |
65534 |
65534 |
Max. Anzahl Dateien (langes Format) im Root-Verzeichnis |
170 |
21845 |
Max. Anzahl Dateien (langes Format) im Unterverzeichnis |
56634 |
65534 |
Merkmal |
Beschreibung |
Langer Dateiname |
255 Byte (256 Byte einschließlich vollständiger Pfad) |
Dateiname/Verzeichnisname |
ASCII-Zeichen (16#20–16#7E) |