XML - Database

Die Variablenwerte werden in einer XML-Datei gespeichert. Aufbau der Datenbank, Tabellen und Spalten werden in einer XSD-Datei definiert. Mit den Bausteinen FB_DBCreate und FB_DBTableCreate können die XML-Datei und die XSD-Datei erzeugt werden. Weiter Informationen zum Arbeiten mit XML-Dateien mit dem TwinCAT Database Server siehe XML-Informationen.

<?xml version="1.0" encoding="UTF-8" ?>
<TestDB_XML xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="TestDB_XML.xsd">
  <myTable_Double>
    <row ID="1" Timestamp="2012-03-08T12:45:08" Name="TestValue1" Value="222.222" />
    <row ID="2" Timestamp="2012-03-08T12:45:14" Name="TestValue1" Value="222.222" />
    <row ID="3" Timestamp="2012-03-08T12:45:18" Name="TestValue1" Value="222.222" />
    <row ID="4" Timestamp="2012-03-08T12:45:22" Name="TestValue1" Value="222.222" />
    <row ID="5" Timestamp="2012-03-08T12:45:23" Name="TestValue1" Value="222.222" />
 </myTable_Double>
</TestDB_XML>

In folgender Tabellenstruktur werden die Variablenwerte gespeichert

Spaltenname

Datentyp

Null zulässig

Eigenschaft

ID

xsd:long

nein

 

Timestamp

xsd:dateTime

nein

 

Name

xsd:string

nein

80

ValueType="Double"

Value

xsd:double

nein

 

ValueType="Bytes"

Value

xsd:hexBinary

nein

längenwert

In der Spalte „ID“ wird eine AutoID erzeugt. Das heißt der Wert in dieser Spalte wird immer um 1 erhöht.
In die Spalte „Timestamp“ wird der Speicherzeitpunkt des Datensatzes gespeichert.
In der Spalte „Name“ steht der Name der Variable.
In der Spalte „Value“ wird der Wert der Variable gespeichert.

E_DBColumnTypes

XML

PLC Control

eDBColumn_BigInt

xsd:long

T_LARGE_INTEGER (TcUtilities.lib)

eDBColumn_Integer

xsd:int

DINT

eDBColumn_SmallInt

xsd:short

INT

eDBColumn_TinyInt

xsd:byte

BYTE

eDBColumn_Bit

xsd:boolean

BOOL

eDBColumn_Money

xsd:double

LREAL

eDBColumn_Float

xsd:double

LREAL

eDBColumn_Real

xsd:double

LREAL

eDBColumn_DateTime

xsd:dateTime

DT

eDBColumn_NText

xsd:string

STRING

eDBColumn_NChar

xsd:string

STRING

eDBColumn_Image

xsd:hexBinary

ARRAY OF BYTE

eDBColumn_NVarChar

xsd:string

STRING

eDBColumn_Binary

xsd:hexBinary

ARRAY OF BYTE

eDBColumn_VarBinary

xsd:hexBinary

ARRAY OF BYTE

Hinweis

Lebensdauer Compact Flash Karte

Bei Embedded Systemen die Datenbank nicht auf der Compact Flash Karte speichern.
Entweder die Datenbank im RAM benutzen, also nicht im Ordner "Hard Disk" speichern, oder in einen Netzwerkordner ablegen. Zu viele Schreibzyklen auf der Compact Flash Karte können die Lebensdauer der Compact Flash Karte minimieren.