Laden und Speichern von Rezepturen

Der Funktionsbaustein fb_ReadWriteFile ermöglicht Daten (max. 16.000 Byte) dauerhaft im Flash-Speicher des BX-Controllers zu sichern. Ein neues Programm oder ein Reset des Projektes lässt diesen Speicherinhalt unberührt. Dieser Funktionsbaustein ist nicht für den Dauerhaften und ständigen Gebrauch geeignet. Es sind max. 10000 Schreibzyklen erlaubt. Es darf beliebig oft gelesen werden.

Anwendung: Sichern von Rezepten oder Einstellungen die sich selten oder gar nicht ändern, zum Beispiel Reglerparameter.

Laden und Speichern von Rezepturen 1:

Beachten Sie beim Schreiben der Daten

  • Während des Schreibens darf die Spannung nicht unterbrochen werden, es empfiehlt sich daher, das Schreiben von einem Bedien-Panel oder über die Navigationsschalter oder einfach über einen digitalen Eingang anzustoßen, um sicher zu gehen, dass während des Schreibens der BX-Controller nicht ausgeschaltet wird. Ein automatisches Schreiben empfiehlt sich nicht, da man nicht sicherstellen kann, ob nicht grade in diesem Moment das Schreiben unterbrochen wird.
  • Das Schreiben der Daten benötigt ca. zwei Sekunden, unabhängig von der Anzahl der Daten, die geschrieben werden.
  • Wird der BX-Controller während des Schreibvorgangs ausgeschaltet gehen die Daten verloren.
  • Es ist nur eine Instanz dieses Bausteins erlaubt.

Funktionsbaustein fb_ReadWriteFile

Funktionsbaustein zum Lesen und Schreiben von Rezepturen

Funktionsbaustein fb_ReadWriteFile

VAR_INPUT

bRead           :BOOL;
bWrite          :BOOL;
OffsetRead      :WORD;
DataReadSize    :WORD;
DataRead        :Pointer to Byte;
OffsetWrite     :WORD;
DataWriteSize   :WORD;
DataWrite       :Pointer to Byte;

Legende

bRead: Eine positive Flanke stößt das Lesen des Bausteins an (bWrite muss FALSE sein)
bWrite: Eine positive Flanke stößt das Schreiben des Bausteins an (bRead muss FALSE sein)
OffsetRead: Offset im Speicher max.16.000 Byte
DataReadSize: Größe der Daten in Byte, die gelesen werden sollen (max. 16.000 Byte)
DataRead: Pointer per ADR auf die Daten zeigen
OffsetWrite: Offset im Speicher max.16.000 Byte
DataWriteSize: Größe der Daten in Byte, die geschrieben werden sollen (max. 16.000 Byte)
DataWrite: Pointer per ADR auf die Daten zeigen

VAR_OUTPUT

bBusy          :BOOL;
bError         :BOOL;
bErrorId       :UDINT

Legende

bBusy: Zeigt an des der Baustein noch aktiv ist
bError: Baustein hat einen Fehler
bErrorId: Fehlernummer

Rückgabeparameter iErrorId

Bedeutung

0

kein Fehler

1dez

READ: Daten-Offset und Daten-Länge über 16.000 Byte

2dez

WRITE: Daten-Offset und Daten-Länge über 16.000 Byte

0x31440708

CRC-Fehler im Datenspeicher

0x31470708

Das Schreiben der Daten ist noch nicht abgeschlossen

Notwendige Bibliotheken:

Laden und Speichern von Rezepturen 2: Download Beispiel Programm in ST (Beispieldatei)

readwritefile.prx