Skip to main content

Objekt: Rezepturverwalter

Registerkarte: Speicherung

Der Rezepturverwalter bietet Funktionen zur Verwaltung von benutzerdefinierten Variablenlisten, so genannten Rezepturdefinitionen. Die Rezepturdefinitionen können in „Rezepturdateien“ auf der SPS abgelegt werden.

Für weitere Informationen siehe: Mit Rezepturen Werte setzen

Speicherungstyp

textuell: CODESYS speichert die Rezeptur in einem lesbaren Format mit den konfigurierten Spalten und Trennzeichen.

binär: CODESYS speichert die Rezeptur in einem nicht lesbaren binären Format. Dieses Format benötigt weniger Speicherplatz.

Hinweis: Sie können binär gespeicherte Rezepturen nur dann wieder einlesen, wenn Sie die Variablenlisten nicht verändert haben.

Dateipfad

<directory name>

Beispiel: AllRecipes

Pfad auf dem Laufzeitsystem

. Hinweise:
  • Der Pfad ist üblicherweise ein relativer Pfad auf dem Zielsystem im Verzeichnis der Laufzeitdateien (PlcLogic).

  • Ein Zugriff auf Pfade außerhalb des Verzeichnisses PlcLogic ist nicht auf jeder Steuerung erlaubt. Ein absoluter Pfad für Windows-Systeme kann über die Schaltfläche _cds_icon_three_dots.png ausgewählt werden.

Beispiel für Dateipfad im Laufzeitsystem: PlcLogic/AllRecipes

CODESYS legt beim Download auf die Steuerung für jede Rezeptur eine Datei in diesem Verzeichnis ab. Voraussetzung ist, dass die Option Rezepturverwaltung in der SPS aktiviert ist.

Die Dateien werden bei jedem Neustart der Applikation in den Rezepturverwalter geladen.

Dateierweiterung

Dateierweiterung für die Rezepturdatei im Schema .<file extension>

Daraus ergibt sich der Standardname für Rezepturdateien in der Form: <recipe>.<recipe definition>.<file extension>

Trennzeichen

Trennzeichen zwischen den einzelnen Werten in der gespeicherten Datei

Verfügbare Spalten

Ausgewählte Spalten

Legt fest, welche Informationen in welcher Reihenfolge in die Rezepturdatei gespeichert werden

Als Default speichern

CODESYS verwendet die auf der Registerkarte vorliegenden Einstellungen projektübergreifend für alle weiteren Rezepturverwalter.

Registerkarte: Allgemein

Rezepturverwaltung in der SPS

standard icon: Muss aktiviert sein, wenn zur Laufzeit Rezepturen durch Visualisierungselemente oder durch das Anwenderprogramm geladen werden

Wenn Rezepturen ausschließlich über die CODESYS-Programmieroberfläche zur Steuerung übertragen werden, kann die Option deaktiviert werden.

Tabelle 2. Rezeptur speichern

Rezepturänderungen automatisch in Rezepturdateien speichern

Wenn Rezepturverwaltung in der SPS aktiviert ist, gibt es folgende Option für das Speichern der Rezeptur:

standard icon: Die Option ist empfohlen, weil sie das "übliche“ Verhalten einer Rezepturverwaltung bewirkt.

Die Rezepturdateien auf der SPS werden automatisch bei jeder Änderung einer Rezeptur zur Laufzeit aktualisiert.



Tabelle 3. Rezeptur laden

Wenn Rezepturverwaltung in der SPS aktiviert ist, gibt es folgende zwei Optionen für das Laden einer Rezeptur von der SPS:

Nur bei exakter Übereinstimmung der Variablenliste laden

_cds_icon_radiobutton_activated.png: Das Laden der Rezeptur erfolgt nur dann, wenn die Datei auf der SPS alle Variablen aus der Variablenliste der Rezepturdefinition der Applikation enthält und diese in derselben Reihenfolge sortiert sind. Zusätzliche Einträge am Ende werden ignoriert. Wenn die nötige Übereinstimmung nicht vorliegt, wird der Fehlerstatus ERR_RECIPE_MISMATCH gesetzt (RecipeManCommands.GetLastError).

Variablen mit übereinstimmenden Namen laden

_cds_icon_radiobutton_activated.png: Die Rezepturwerte werden nur für diejenigen Variablen geladen, die in der Rezepturdefinition der Applikation den gleichen Namen haben wie in der Rezepturdatei auf der SPS. Wenn sich die Variablenlisten in Zusammensetzung und Sortierung unterscheiden, wird kein Fehlerstatus gesetzt.

Damit können Rezepturdateien auch dann noch geladen werden, wenn Variablen in der Datei oder in der Rezepturdefinition gelöscht wurden.



Bestehende Rezepturen beim Download überschreiben

standard icon: Wenn Rezepturdateien mit dem gleichen Namen auf der Steuerung vorhanden sind, werden diese beim Start der Applikation mit den konfigurierten Werten aus dem Projekt überschrieben. Wenn stattdessen die Werte aus den bereits vorhandenen Rezepturdateien geladen werden sollen, muss diese Option deaktiviert werden.

Voraussetzung: Speicherungstyp ist textuell und die Option Rezepturänderungen automatisch in Rezepturdateien speichern ist aktiviert.

Tabelle 4. Rezeptur schreiben

Für das Schreiben von Rezepturwerten in die Variablen auf der SPS gibt es folgende Optionen:

Variable auf Min/Max begrenzen, wenn Rezepturwert außerhalb des Bereichs

_cds_icon_radiobutton_activated.png: Wenn die Rezeptur einen Wert enthält, der außerhalb des in der Definition eingetragenen Wertebereichs liegt, wird statt diesen Werts der definierte minimale oder maximale Wert in die SPS-Variable geschrieben.

Variable nicht schreiben, wenn Rezepturwert außerhalb des Min/Max-Bereichs

_cds_icon_radiobutton_activated.png: Wenn die Rezeptur einen Wert enthält, der außerhalb des in der Definition eingetragenen Wertebereichs liegt, wird kein Wert in die SPS-Variable geschrieben. Sie behält ihren aktuellen Wert.



Tabelle 5. Rezeptur lesen

Für das Lesen von Rezepturwerten aus der SPS in die Rezeptur im Projekt gibt es folgende Option:

Rezeptur auf Änderung prüfen

Beachten Sie grundsätzlich für das Lesen von Rezepturen mit Hilfe des Funktionsbausteins RecipeManCommands der RecipeManagement.library: Rufen Sie die Methode nie zyklisch auf. Denn bei jedem Aufruf kann auf das Dateisystem geschrieben werden, was zeitintensiv ist und eine Steuerung belastet. Beispielsweise ist bei einem Raspberry Pi die Anzahl der Schreibzyklen begrenzt.

standard icon: Bei jedem Methodenaufruf werden zunächst die aktuellen SPS-Variablenwerte in die Rezeptur eingelesen. Dann wird überprüft, ob sich die Werte geändert haben. Nur, wenn sich die Werte geändert haben, wird die Rezeptur gespeichert, also die Rezepturdatei mit den aktuellen Rezepturen überschrieben.

Die Option kann genützt werden, um die im lokalen Dateisystem liegende Rezepturdatei nur dann zu aktualisieren, wenn sich auf der SPS Rezepturwerte geändert haben. Allerdings wirkt sie sich auf die Performance aus, weil für die Prüfung zusätzlicher Code erzeugt wird.

_cds_icon_option_deactivated.png: Bei jedem Methodenaufruf werden zunächst die aktuellen SPS-Variablenwerte in die Rezeptur eingelesen. Dann wird die Rezeptur in der Rezepturdatei im lokalen Dateisystem geschrieben.

Hinweis: Da bei jedem Aufruf auf das Dateisystem geschrieben wird, kann die Steuerung sehr belastet werden.



Rezepturen während des Onlinebetriebs

Tabelle 6. Option "Rezepturänderungen automatisch in Rezepturdateien speichern" ist aktiviert.

Menübefehle

Verhalten der im Projekt definierte Rezepturen

Verhalten zur Laufzeit der definierten Rezepturen

Online → Reset Warm

Online → Reset Kalt

Online → Laden (Download)

Die Rezepturen aller Rezepturdefinitionen werden mit den Werten aus dem aktuellen Projekt belegt.

Dynamisch erzeugte Rezepturen bleiben unverändert.

Online → Reset Ursprung

Die Applikation wird von der SPS entfernt. Wenn danach ein erneuter Download erfolgt, werden die Rezepturen so wiederhergestellt wie bei einem Online-Reset Warm.

Shutdown und Neustart der SPS

Nach einem Neustart werden die Rezepturen erneut aus den automatisch angelegten Dateien geladen. Damit wird der gleiche Zustand wie vor dem Herunterfahren wiederhergestellt.

Online → Online-Change

Die Rezepturwerte bleiben unverändert. Während der Laufzeit kann eine Rezeptur nur über die Befehle des Funktionsbausteins RecipeManCommands verändert werden.

Debug → Stop

Debug → Start

Bei einem Stop/Start der SPS bleiben die Rezepturen unverändert.



Tabelle 7. Option "Rezepturänderungen automatisch in Rezepturdateien speichern" ist deaktiviert.

Aktionen

Im Projekt definierte Rezepturen

Zur Laufzeit definierte Rezepturen

Online → Reset Warm

Online → Reset Kalt

Online → Laden (Download)

Die Rezepturen aller Rezepturdefinitionen werden mit den Werten aus dem aktuellen Projekt belegt. Allerdings werden diese nur im Speicher gesetzt. Um die Rezepturen in einer Datei zu speichern, muss explizit der Befehl Rezeptur speichern verwendet werden.

Dynamisch erzeugte Rezepturen gehen verloren.

Online → Reset Ursprung

Die Applikation wird von der SPS entfernt. Wenn danach ein neuer Download erfolgt, werden die Rezepturen wiederhergestellt.

Dynamisch erzeugte Rezepturen gehen verloren.

Shutdown und Neustart der SPS

Nach dem Neustart werden die Rezepturen erneut aus den automatisch angelegten Dateien geladen. Damit wird der gleiche Zustand wie vor dem Herunterfahren wiederhergestellt.

Online → Online-Change

Die Rezepturwerte bleiben unverändert. Während der Laufzeit kann eine Rezeptur nur über die Befehle des Funktionsbausteins RecipeManCommands verändert werden.

Debug → Stop

Debug → Start

Bei einem Stop/Start der SPS bleiben die Rezepturen unverändert.