FB_DBWrite
Mit dem Funktionsbaustein FB_DBWrite können die Werte einzelner Variablen in Datenbanken geschrieben werden.
Die Tabellenstruktur muss die Spalten "Timestamp", "Name", und "Value" besitzen siehe "SQL Compact Datenbank". Um den Funktionsbaustein benutzen zu können, muss die Datenbank, in die geschrieben werden soll und das ADS-Gerät, vom dem die Variable gelesen werden soll, in der XML - Konfigurationsdatei deklariert werden.
VAR_INPUT
VAR_INPUT
sNetID : T_AmsNetID;
hDBID : UDINT;
hAdsID : UDINT;
sVarName : T_MaxString;
nIGroup : UDINT;
nIOffset : UDINT;
nVarSize : UDINT;
sVarType : T_MaxString;
sDBVarName : T_MaxString;
eDBWriteMode : E_DBWriteModes;
tRingBufferTime : TIME;
nRingBufferCount: UDINT;
bExecute : BOOL;
tTimeout : TIME;
END_VAR
sNetID : Ist ein String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird.
hDBID : Ist die ID der zu verwendenden Datenbank.
hAdsID : Ist die ID des zu verwendenden ADS-Gerätes.
sVarName : Gibt den Namen der Variable an.
nIGroup : IndexGroup der Variable (optional Nur bei BC9000).
nIOffset : IndexOffset der Variable (optional Nur bei BC9000).
nVarSize : Größe der Variable in Byte (optional Nur bei BC9000)
sVarType : Datentyp der Variable (optional Nur bei BC9000)
Mögliche Variablendatentypen: "BOOL" / "LREAL" / "REAL" / "INT16" / "DINT" / "USINT" / "BYTE" / "UDINT" / "DWORD" / "UINT16" / "WORD" / "SINT"
sDBVarName : In der Datenbank zu verwendende Variablenname.
eDBWriteMode : Gibt an ob die Werte in neuen Datensätzen unten angehangen werden, oder ob die vorhandenen Datensätze aktualisiert werden.
tRingBufferTime : Gibt das maximale Alter von Datensätzen in einer Tabelle an. (nur bei Ringbuffer_WriteMode)
nRingBufferCount : Gibt die maximale Anzahl von Datensätzen in einer Tabelle an. (nur bei Ringbuffer_WriteMode)
bExecute : Mit der steigende Flanke wird das Kommando ausgeführt.
tTimeout; : Gibt die Zeit bis zum Abbrechen der Funktion an.
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrID : UDINT;
sSQLState : ST_DBSQLError;
END_VAR
bBusy : Kommando wird gerade per ADS übertragen. Solange bBusy auf TRUE, wird kein neues Kommando angenommen.
bError : Wird TRUE, sobald ein Fehler eintritt.
nErrID : Liefert bei einem gesetzten bError-Ausgang den ADS Error Code bzw. TcDatabaseSrv_Error_Codes.
sSQLState : Liefert den SQL - Fehlercode des entsprechenden Datenbanktyps
Werte loggen von ADS-Devices (außer BC9000) | Werte loggen von BC9000 |
---|---|
FB_DBWrite1( | FB_DBWrite1( |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.10.0 | PC oder CX (x86) | TcDatabase.Lib |
TwinCAT v2.10.0 | CX (ARM) |