Skip to main content

Rezepturen verwenden

Rezepturverwalter hinzufügen

  1. Selektieren Sie im Gerätebaum das Objekt Applikation.

    Für eine Applikation kann nur ein Rezepturverwalter hinzugefügt werden.

  2. Wählen Sie den Befehl Projekt → Objekt hinzufügen → Rezepturverwalter.

    Der Rezepturverwalter wird zum Gerätebaum hinzugefügt.

Rezepturdefinition hinzufügen

Voraussetzung: Ein Rezepturverwalter ist in der Applikation vorhanden.

  1. Selektieren Sie im Gerätebaum das Objekt Rezepturverwalter.

  2. Wählen Sie den Befehl Projekt → Objekt hinzufügen → Rezepturdefinition.

    Die Rezepturdefinition wird unterhalb des Rezepturverwalters hinzugefügt.

    Es können zu einem Rezepturverwalter beliebig viele Rezepturdefinieitonen hinzugefügt werden.

Speicherort festlegen

Legt den Ablageort zum Lesen und Schreiben von Rezepturdateien fest.

Hinweis

Die Pfadkonfiguration kann je nach verwendeter SPS unterschiedlich ausfallen.

Bei CODESYS Control Win SL müssen relative Pfade, die auf ein Verzeichnis im SPS‑Dateisystem (PlcLogic) verweisen, immer mit ./ beginnen. Andernfalls kann es zu unerwartetem Verhalten kommen, da Rezepturdateinamen in der Regel einfach an den konfigurierten Speicherort angehängt werden.

Voraussetzung: Ein Rezepturverwalter ist in der Applikation vorhanden.

Prozedur. Über die CODESYS-Programmieroberfläche
  1. Öffnen Sie im Gerätebaum das Objekt Rezepturverwalter.

  2. Öffnen Sie im Objekt Rezepturverwalter die Registerkarte Speicherung.

  3. Legen Sie den gewünschten Pfad im Feld Dateipfad fest oder verwenden Sie den Explorer über die Schaltfläche _cds_icon_button_threedots.png.

. Programmatisch aufrufen
  • Verwenden Sie die Methode RecipeManCommands.SetStoragePath (METH).

    Mit dieser Methode kann der Speicherpfad zur Laufzeit aktualisiert werden, um beispielsweise Rezepturdateien unterschiedlichen Verzeichnissen zuzuordnen.

Variablen zu einer Rezepturdefinition hinzufügen

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

  1. Öffnen Sie den Editor der Rezepturdefinition durch einen Doppelklick auf das Objekt.

  2. Führen Sie einen Doppelklick im Editor auf das leere Feld unterhalb Variable aus. Geben Sie den Namen einer Variablen an, für die Sie eine Rezeptur definieren wollen. Die Eingabehilfe steht dazu bereit: Schaltfläche _cds_icon_button_threedots.png.

    Voraussetzung: Die Variablen müssen im Deklarationseditor des Programms oder der GVL deklariert sein.

  3. Fügen Sie bei Bedarf weitere Variablen ein.

    Die Werte einer Variable können für jede Rezeptur separat festgelegt werden.

Eine neue, leere Rezeptur hinzufügen

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Prozedur. Über die CODESYS-Programmieroberfläche
  1. Öffnen Sie den Editor der Rezepturdefinition durch einen Doppelklick auf das Objekt.

  2. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle der Tabelle.

  3. Wählen Sie die Option Rezeptur einfügen.

  4. Vergeben Sie einen eindeutigen Namen und bestätigen Sie mit OK.

. Programmatisch aufrufen
  • Verwenden Sie die Methode RecipeManCommands.CreateRecipeNoSave (METH), um eine leere Rezeptur zu erzeugen, ohne weitere Aktionen auszuführen.

    Der Suffix NoSave verhindert, dass eine Rezepturdatei am aktuell definierten Speicherort angelegt wird.

    Hinweis

    Eine Rezeptur wird nach ihrer Erstellung nur dann automatisch in eine Rezepturdatei gespeichert, wenn im Objekt Rezepturverwalter in der Registerkarte Allgemein die Option Rezepturänderungen automatisch in Rezepturdateien speichern aktiviert ist.

Eine Rezepturdatei speichern

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Prozedur. Über die CODESYS-Programmieroberfläche
  1. Öffnen Sie den Editor der Rezepturdefinition, welche die Rezeptur enthält, die in eine Rezepturdatei exportiert werden soll.

  2. Geben Sie unter der Rezeptur den Wert der Variablen für diese Rezeptur an.

  3. Klicken Sie mit der rechten Maustaste auf eine beliebige Zelle in der Rezepturspalte der zu speichernden Rezeptur.

  4. Wählen Sie die Option Rezeptur speichern....

  5. Verwenden Sie das Explorer‑Fenster, um den gewünschten Speicherort und Dateinamen zu vergeben.

. Programmatisch aufrufen

Eine neue Rezeptur hinzufügen, die aktuelle SPS-Werte enthält

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Prozedur. Über die CODESYS-Programmieroberfläche
  1. Öffnen Sie den Editor der Rezepturdefinition durch einen Doppelklick auf das Objekt.

  2. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle der Tabelle.

  3. Wählen Sie die Option Rezeptur einfügen und bestätigen Sie mit OK.

  4. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle der Rezepturspalte der neu erzeugten Rezeptur.

  5. Das Programmiersystem muss online mit der SPS verbunden sein. Wählen Sie im Kontextmenü die Option Rezeptur lesen, um aktuellen SPS‑Variable auszulesen und in die Rezeptur zu übernehmen.

. Programmatisch aufrufen
  • Verwenden Sie die Methode RecipeManCommands.CreateRecipe (METH).

    Diese Funktion erzeugt eine neue Rezeptur im Puffer und liest anschließend automatisch die aktuellen SPS‑Variablen ein.

    Hinweis

    Wenn im Objekt Rezepturverwalter in der Registerkarte Allgemein die Option Rezepturänderungen automatisch in Rezepturdateien speichern aktiviert ist, dann wird die Rezeptur zusätzlich automatisch in eine Rezepturdatei gespeichert.

Eine Rezeptur aus dem Dateisystem in den Puffer laden

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Prozedur. Über die CODESYS-Programmieroberfläche
  1. Öffnen Sie den Editor der Rezepturdefinition, für die die Rezeptur geladen werden soll.

  2. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle der Tabelle.

  3. Wählen Sie die Option Rezeptur einfügen und bestätigen Sie mit OK.

    Eine neue Rezeptur mit dem angegebenen Namen erscheint auf der rechten Seite der Tabelle.

  4. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle der eingefügten Rezeptur.

  5. Wählen Sie die Option Rezeptur laden... und bestätigen Sie mit OK.

  6. Verwenden Sie das Explorer‑Fenster, um die gewünschte Rezepturdatei zu suchen und auszuwählen.

    Die Daten werden angezeigt.

. Programmatisch aufrufen

Rezeptur aus einer Datei laden

Voraussetzung: In der Applikation gibt es eine Rezepturverwaltung. In einer Rezepturdefinition gibt es eine Rezeptur myRec mit Variablenwerten. Eine Rezepturdatei myRec.txt, die Einträge für diese Rezeptur enthält, liegt im Dateisystem vor.

Beispiel der Rezepturdatei:

PLC_PRG.bVar:=0
PLC_PRG.iVar:=2
PLC_PRG.dwVar:=35232
PLC_PRG.stVar:='first'
PLC_PRG.wstVar:='123443245'
  1. Öffnen Sie mit Doppelklick auf das Objekt Rezepturdefinition im Gerätebaum den Tabelleneditor für die Definition der einzelnen Rezepturen.

    Sie sehen eine Spalte myRec mit den aktuellen Werte für diese Rezeptur.

  2. Bearbeiten Sie die Datei myRec.txt in einem externen Texteditor und ersetzen die Variablenwerte durch andere, die Sie in die Rezepturdefinition in CODESYS laden möchten. Speichern Sie die Datei.

  3. Klicken Sie in der Rezepturdefinition in die Spalte von myRec und wählen im Kontextmenü den Befehl Rezeptur laden....

    Ein Hinweis auf die mögliche Notwendigkeit eines Online-Changes beim nächsten Einloggen erscheint. Ein Online-Change wird nötig, falls Sie durch das Laden der Rezeptur die aktuellen Werte der Rezepturvariablen verändern.

  4. Schließen Sie den Hinweisdialog mit Ja (Fortfahren). Wählen Sie die Datei myRec.txt aus dem Datei-Explorer zum Laden aus.

    Die Rezepturwerte in der Rezepturdefinition werden entsprechend den in der Datei gelesenen Werten aktualisiert.

Tipp

Wenn Sie nur einzelne Variablen der Rezeptur mit neuen Werten überschreiben möchten, entfernen Sie vor dem Laden in der Rezepturdatei die Werte für die restlichen Variablen. Einträge ohne Wertangabe werden nicht eingelesen und somit bleiben diese Variablen auf der Steuerung und im Projekt durch die Aktualisierung unberührt.

Bei Werten vom Datentyp REAL/LREAL wird in manchen Fällen auch der Hexadezimalwert in die Rezepturdatei geschrieben. Dies ist notwendig, damit bei der Rückkonvertierung der exakt identische Wert wiederhergestellt wird. In diesem Fall ändern Sie den Dezimalwert und löschen den Hexadezimalwert.

SPS‑Werte in eine gepufferte Rezeptur einlesen

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Aktuelle SPS‑Variablenwerte werden in eine gepufferte Rezeptur eingelesen.

Prozedur. Über dei CODESYS-Programmieroberfläche
  1. Öffnen Sie den Editor der Rezepturdefinition, die die Rezeptur enthält, in welche die SPS‑Variablen eingelesen werden sollen.

  2. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle in der Rezepturspalte der Rezeptur.

  3. Wählen Sie die Option Rezeptur lesen. Diese Option ist nur im Onlinebetrieb der Applikation verfügbar.

. Programmatisch aufrufen

Rezepturwerte aus einer Rezepturdatei in SPS‑Variablen schreiben

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Diese Funktion lädt Werte aus einer Rezepturdatei in eine bereits vorhandene gepufferte Rezeptur und schreibt diese anschließend in die zugeordneten SPS‑Variablen.

Prozedur. Über dei CODESYS-Programmieroberfläche
  1. Öffnen Sie den Editor der Rezepturdefinition, die die Rezeptur enthält, aus der die Werte in die SPS‑Variablen geschrieben werden sollen.

  2. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle in der Rezepturspalte der Rezeptur, die in die SPS geschrieben werden soll.

  3. Wählen Sie die Option Rezeptur laden und schreiben.... Diese Option ist nur im Onlinebetrieb der Applikation verfügbar.

. Programmatisch aufrufen

Rezepturwerte aus einer gepufferten Rezeptur in SPS‑Variablen schreiben

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Prozedur. Über dei CODESYS-Programmieroberfläche
  1. Öffnen Sie den Editor der Rezepturdefinition, die die Rezeptur enthält, aus der die Werte in die SPS‑Variablen geschrieben werden sollen.

  2. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle in der Rezepturspalte der Rezeptur, die in die SPS geschrieben werden soll.

  3. Wählen Sie die Option Rezeptur schreiben. Diese Option ist nur im Onlinebetrieb der Applikation verfügbar.

. Programmatisch aufrufen

SPS‑Werte in eine gepufferte Rezeptur einlesen und in eine Rezepturdatei exportieren

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Prozedur. Über dei CODESYS-Programmieroberfläche
  1. Öffnen Sie den Editor der Rezepturdefinition, die die Rezeptur enthält, welche zum Einlesen der SPS‑Variablen verwendet werden soll und anschließend in eine Rezepturdatei geschrieben wird.

  2. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle in der Rezepturspalte der gewünschten Rezeptur.

  3. Wählen Sie die Option Rezeptur lesen und speichern… und bestätigen Sie im folgenden Dialog Ihre gewünschte Online-Change-Option mit OK.

  4. Wählen Sie einen Speicherort und einen Dateinamen und klicken Sie Speichern.

. Programmatisch aufrufen

Rezepturwerte von der Steuerung laden

Sie können Rezepturwerte, die auf dem Steuerungsgerät vorliegen, in die im Projekt vorliegenden Rezepturdefinitionen übernehmen, auch wenn diese Definitionen im Projekt mittlerweile erweitert wurden.

Voraussetzung: Die Option Rezepturverwaltung in der SPS im Rezepturverwalter ist aktiviert.

  1. Erstellen Sie im Projekt eine Rezepturdefinition RecDef1, die die Variablen PLC_PRG.ivar und PLC_PRG.bvar enthält. Fügen Sie eine Rezeptur R1 ein: Wert für PLC_PRG.ivar: 33, Wert für PLC_PRG.bvar: TRUE.

  2. Loggen Sie auf die Steuerung ein und laden Sie die Applikation.

    Die Rezepturdatei R1.RecDef1.txtrecipe wird im Standardverzeichnis der Steuerung ($PlcLogic$) abgelegt.

  3. Loggen Sie wieder aus und fügen Sie in der Rezepturdefinition im Projekt eine weitere Variable hinzu: PLC_PRG.dwvar.

  4. Editieren Sie die Rezepturdefinitionsdatei R1.RecDef1.txtrecipe auf dem Gerät und ändern Sie den Wert für PLC_PRG.ivar von 33 auf 34.

    Fügen Sie außerdem auf dem Gerät eine weitere Rezeptur R2 hinzu. Dazu kopieren Sie die Datei R1.RecDef1.txtrecipe und benennen sie um in R2.RecDef1.txtrecipe. Dann editieren Sie diese Datei und ändern die Rezepturwerte: PLC_PRG.ivar: 1, PLC_PRG.bvar: FALSE.

    Nun liegen auf dem Gerät zwei Rezepturen R1 und R2 bereit. Im Projekt gibt es nur R1 und sie enthält außerdem andere Werte als R1 auf dem Gerät..

  5. Loggen Sie mit Online-Change wieder auf die Steuerung ein.

  6. Wählen Sie den Befehl Rezepturen vom Gerät laden aus dem Kontextmenü.

    Eine Meldungsbox informiert, dass das Ausführen des Befehls beim nächsten Einloggen einen Online-Change auslösen kann, und dass die Rezepturen der aktuellen Rezepturdefinition mit den Rezepturen aus dem Laufzeitsystem überschrieben werden.

  7. Bestätigen Sie, dass Sie fortfahren wollen.

    Eine Meldungsbox informiert, dass die vom Gerät geladene Rezeptur für PLC_PRG.dwvar keinen Wert aus der Steuerung liefern kann.

  8. Bestätigen Sie, dass Sie fortfahren wollen.

    Der Wert von PLC_PRG.ivar in Rezeptur R1 in der Rezepturdefinition im Projekt ändert sich auf 34. Die Rezeptur R2 mit den Werten 1 und FALSE erscheint nun ebenfalls in der Rezepturdefinition. PLC_PRG.dwvar bleibt in der Rezepturdefinition.

Eine Rezeptur löschen

Voraussetzung: Ein Rezepturverwalter mit einer Rezepturdefinition ist in der Applikation vorhanden.

Prozedur. Über dei CODESYS-Programmieroberfläche
  1. Öffnen Sie die Rezepturdefinition, aus der eine Rezeptur gelöscht werden soll.

  2. Klicken Sie mit der rechten Maustaste in eine beliebige Zelle der Rezepturspalte der zu entfernenden Rezeptur.

  3. Wählen Sie die Option Rezeptur entfernen.

. Programmatisch aufrufen