Dateiformat der Backup-Datei
1. Datei-Header vom Typ ST_SercosFileHeader
2. n * Daten
a) Parameter-Header vom Type ST_ParamHeader
b) Parameter-Daten als Bytes
Beispiel für n Parameter
1 * ST_SercosFileHeader (268
Bytes)
-----------------------------------------------------
nVersion ( 4 Bytes)
nListType ( 4 Bytes)
cbCommentLen ( 4 Bytes)
sComment ( 256 Bytes)
n * (ST_SercosParamHeader + Data)
-----------------------------------------------------
nIDN ( 2 Bytes)
cbSize
( 2 Bytes)
nAttrib
( 4 Bytes)
arrData (cbSize Bytes),
kann für jeden Parameter verschieden groß sein, je nach Typ oder
Listenlänge
Beispiel für n = 3 Parameter
ST_SercosFileHeader
(268 Bytes)
----------------------------------------------------------------------------
nVersion ( 4 Bytes), i.e. = 01 00 00 00
(= 1)
nListType ( 4 Bytes), i.e. = 00 00 00 00
(= 0)
cbCommentLen ( 4 Bytes), i.e. = 00 00 00 00
(= 0)
sComment ( 256 Bytes), i.e. = 00 00 00 00 00 00 00 ... 00
(256 * 00)
1st parameter ST_SercosParamHeader + Data
(10 Bytes)
----------------------------------------------------------------------------
nIDN ( 2 Bytes), i.e. = nnnn
cbSize
( 2 Bytes), i.e. = 02
00 (= 2)
nAttrib
( 4 Bytes), i.e. = xx xx xx xx
arrData (2 Bytes), i.e. = 12 34
2nd parameter
ST_SercosParamHeader + Data (16
Bytes)
----------------------------------------------------------------------------
nIDN ( 2 Bytes), i.e. = nnnn
cbSize
( 2 Bytes), i.e. = 08
00 (= 8)
nAttrib
( 4 Bytes), i.e. = xx xx xx xx
arrData ( 8 Bytes),
i.e. = 12 34 56 78 9a bc de
f0
3rd parameter
ST_SercosParamHeader + Data (12
Bytes)
----------------------------------------------------------------------------
nIDN ( 2 Bytes), i.e. = nnnn
cbSize
( 2 Bytes), i.e. = 04
00 (= 4)
nAttrib
( 4 Bytes), i.e. = xx xx xx xx
arrData ( 4 Bytes),
i.e. = 12 34 56 78
TYPE ST_SercosFileHeader (268 Bytes)
Der Datei-Header der Sercos-Backup-Datei basiert auf der Struktur ST_SercosFileHeader.
TYPE ST_SercosFileHeader :
STRUCT
nVersion : UDINT; (* 4 Bytes *)
nListType : UDINT; (* 4 Bytes *)
cbCommentLen : UDINT; (* 4 Bytes *)
sComment : T_MaxString; (* 256 Bytes *)
END_STRUCT
END_TYPE
nVersion: beinhaltet die Dateiversion, momentan 1
nListType: beinhaltet die IDN-Parameterliste, die für das Backup benutzt wurde. Der Standard-Wert ist 192 (Liste aller Backup-Parameter), bei benutzerdefinerter Backupliste steht hier 0. Alternativ kann die Liste aller Sercos-Parameter (IDN 17) verwendet werden. Das Restore erfordert allerdings die Liste aus Parameter 192 oder über die benutzerdefinierte Liste (0) erfolgen.
cbCommentLen: Länge des Kommentars der Backup-Datei
sComment: Kommentar der Backup-Datei. Der String wird mit allen 256 Zeichen geschrieben.
TYPE ST_SercosParamHeader (8 Bytes)
Im Anschluß an den Datei-Header folgt in der Backup-Datei je Parameter ein Parameter Header vom Typ ST_SercosParamHeader.
TYPE ST_SercosParamHeader :
STRUCT
nIDN : UINT; (* 2 Bytes *)
cbSize : UINT; (* 2 Bytes *)
nAttrib : DWORD; (* 4 Bytes *)
END_STRUCT
END_TYPE
nIDN: Sercos-Parameter-Nummer
cbSize: Länge der Daten in Bytes, die diesem Header folgen. Kann für jeden Parameter verschieden sein, ja nach Parameter Typ oder Listenlänge.
nAttrib: Attribut des Sercos-Parameters (siehe ST_SercosParamData), wird zur Bestimmung von Länge und Datentyp benötigt.
Parameter Daten (cbSize Bytes)
Auf jeden Sercos-Parameter-Header in der Backup-Datei folgen unmittelbar die Daten. Die Anzahl der Daten-Bytes ist im Parameter-Header in cbSize gespeichert.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v2.8.0 | PC (i386) | TcIoFunctions.Lib ( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib werden automatisch eingebunden ) |