RecipeMan-Befehle

Überblick

Beim Aufrufen eines Rezepturbefehls erfolgt ein interner Datenzugriff. Je nach Gerätetyp dauert dieser Vorgang einige Millisekunden. Stellen Sie sicher, dass diese Aufrufe nicht von der MAST-Task bzw. von einer Task mit einem konfigurierten Watchdog oder von einer Echtzeit-Task durchgeführt werden. Das kann zu einem Anwendungsfehler führen und den Übergang der Steuerung in den HALT-Zustand auslösen.

Beachten Sie, dass bei aktivierter Option Änderungen automatisch in Rezepturdateien speichern bei jeder Rezepturänderung auch ein Dateizugriff erfolgt. Deaktivieren Sie die Option, wenn die Speicherung der Rezeptur von der Anwendung ausgelöst wird.

Rückgabewerte

Die folgenden Rückgabewerte kommen für Rezepturbefehle in Frage:

Rückgabewert

Beschreibung

ERR_NO_RECIPE_MANAGER_SET

Auf der Steuerung ist kein Rezepturverwalter verfügbar.

ERR_RECIPE_DEFINITION_NOT_FOUND

Die Rezepturdefinition existiert nicht.

ERR_RECIPE_ALREADY_EXIST

Die Rezeptur ist bereits in der Rezepturdefinition vorhanden.

ERR_RECIPE_NOT_FOUND

Die Rezeptur ist in der Rezepturdefinition nicht vorhanden.

ERR_RECIPE_FILE_NOT_FOUND

Die Rezepturdatei existiert nicht.

ERR_RECIPE_MISMATCH

Der Inhalt der Rezepturdatei stimmt nicht mit der aktuellen Rezeptur überein.

HINWEIS: Dieser Rückgabewert wird nur erzeugt, wenn der Speichertyp textuell ist und wenn ein Variablenname in der Datei nicht dem Variablennamen in der Rezepturdefinition entspricht. Die Rezepturdatei ist nicht geladen.

ERR_RECIPE_SAVE_ERR

Die Rezepturdatei konnte nicht mit Schreibzugriff geöffnet werden.

ERR_FAILED

Die Operation war nicht erfolgreich.

ERR_OK

Die Operation war erfolgreich.

CreateRecipe

Diese Methode erstellt eine neue Rezeptur in der angegebenen Rezepturdefinition und liest anschließend die Steuerungswerte in die neue Rezeptur. Zum Schluss wird die neue Rezeptur in der Standarddatei gespeichert.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_ALREADY_EXIST, ERR_FAILED, ERR_OK

CreateRecipeNoSave

Diese Methode erstellt eine neue Rezeptur in der angegebenen Rezepturdefinition und liest anschließend die Steuerungswerte in die neue Rezeptur.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

DeleteRecipe

Diese Methode löscht eine Rezeptur aus einer Rezepturdefinition.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

DeleteRecipeFile

Diese Methode löscht die Standardrezepturdatei aus einer Rezeptur.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_FILE_NOT_FOUND, ERR_OK

LoadAndWriteRecipe

Diese Methode lädt eine Rezeptur aus der Standardrezepturdatei und schreibt anschließend die Rezeptur in die Steuerungsvariablen.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_FILE_NOT_FOUND, ERR_RECIPE_MISMATCH, ERR_FAILED, ERR_OK

LoadFromAndWriteRecipe

Diese Methode lädt eine Rezeptur aus der angegebenen Rezepturdatei und schreibt anschließend die Rezeptur in die Steuerungsvariablen.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

FileName:

Name der Datei

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_FILE_NOT_FOUND, ERR_RECIPE_MISMATCH, ERR_FAILED, ERR_OK

LoadRecipe

Diese Methode lädt eine Rezeptur aus der Standardrezepturdatei. Der Name der Standardrezep­turdatei lautet <Rezeptur>.<Rezepturdefinition>.<Rezepturerweiterung>.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_FILE_NOT_FOUND, ERR_RECIPE_MISMATCH, ERR_FAILED, ERR_OK

ReadAndSaveRecipe

Diese Methode liest die Steuerungswerte in die Rezeptur ein und speichert anschließend die Rezeptur in der Standardrezepturdatei.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_SAVE_ERR, ERR_FAILED, ERR_OK

ReadAndSaveRecipeAs

Diese Methode liest die Steuerungswerte in die Rezeptur ein und speichert anschließend die Rezeptur in der angegebenen Rezepturdatei. Der Inhalt einer vorhandenen Datei wird dabei überschrieben.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

FileName:

Name der Datei

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_SAVE_ERR, ERR_FAILED, ERR_OK

SaveRecipe

Diese Methode speichert die Rezeptur in der Standardrezepturdatei. Der Inhalt einer vorhandenen Datei wird dabei überschrieben. Der Name der Standardrezepturdatei lautet <Rezeptur>.<Rezepturdefinition>.<Rezepturerweiterung>.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_SAVE_ERR, ERR_FAILED, ERR_OK

ReadRecipe

Diese Methode liest die Steuerungswerte in die Rezeptur ein.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

WriteRecipe

Diese Methode schreibt die Rezeptur in die Steuerungsvariablen.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName:

Name der Rezeptur

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

ReloadRecipes

Diese Methode lädt die Liste der Rezepturen neu aus dem Dateisystem.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_FAILED, ERR_OK

GetRecipeCount

Diese Methode gibt die Anzahl der Rezepturen aus der jeweiligen Rezepturdefinition zurück.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

Rückgabewerte: -1 :, wenn die Rezepturdefinition nicht gefunden wird.

GetRecipeNames

Diese Methode gibt die Rezepturnamen aus der jeweiligen Rezepturdefinition zurück.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

pStrings :

Die Zeichenfolgen, in denen die Rezepturwerte gespeichert werden sollen.

iSize :

Die Größe eines Zeichenfolgen-Arrays.

iStartIndex :

Der Startindex, kann für eine Scrolling-Funktion verwendet werden.

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_FAILED, ERR_OK

Beispiel:

Es sind 50 Rezepturen vorhanden. Um eine Tabelle zu erstellen, die jeweils 10 Rezepturnamen zeigt, definieren Sie ein Zeichenfolgen-Array:

strArr: ARRAY[0..9] OF STRING;

Entsprechend dem iStartIndex können die Rezepturnamen aus einem bestimmten Bereich gelesen werden.

iStartIndex := 0;

Die Namen 0...9 werden zurückgegeben.

iStartIndex := 20;

Die Namen 20...29 werden zurückgegeben. In diesem Beispiel:

iSize := 10;

GetRecipeValues

Diese Methode gibt die Rezepturvariablenwerte aus der entsprechenden Rezeptur zurück.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName

Name der Rezeptur

pStrings :

Die Zeichenfolgen, in denen die Rezepturwerte gespeichert werden sollen.

iSize :

Die Größe eines Zeichenfolgen-Arrays.

iStartIndex :

Der Startindex, kann für eine Scrolling-Funktion verwendet werden.

iStringLength :

Die Länge des Zeichenfolgen-Arrays.

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

Beispiel:

Es sind 50 Rezepturen vorhanden. Um eine Tabelle zu erstellen, die jeweils 10 Rezepturnamen zeigt, definieren Sie ein Zeichenfolgen-Array:

strArr: ARRAY[0..9] OF STRING;

Entsprechend dem iStartIndex können die Rezepturnamen aus einem bestimmten Bereich gelesen werden.

iStartIndex := 0;

Die Werte 0...9 werden zurückgegeben.

iStartIndex := 20;

Die Werte 20...29 werden zurückgegeben. In diesem Beispiel:

iStringLength := 80;
iSize := 10;

GetRecipeVariableNames

Diese Methode gibt den Variablennamen der entsprechenden Rezeptur zurück.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName

Name der Rezeptur

pStrings :

Die Zeichenfolgen, in denen die Rezepturwerte gespeichert werden sollen.

iSize :

Die Größe eines Zeichenfolgen-Arrays.

iStartIndex :

Der Startindex, kann für eine Scrolling-Funktion verwendet werden.

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

Beispiel:

Es sind 50 Rezepturen vorhanden. Um eine Tabelle zu erstellen, die jeweils 10 Rezepturnamen zeigt, definieren Sie ein Zeichenfolgen-Array:

strArr: ARRAY[0..9] OF STRING;

Entsprechend dem iStartIndex können die Rezepturnamen aus einem bestimmten Bereich gelesen werden.

iStartIndex := 0;

Die Namen 0...9 werden zurückgegeben.

iStartIndex := 20;

Die Namen 20...29 werden zurückgegeben. In diesem Beispiel:

iSize := 10;

SetRecipeValues

Diese Methode legt die Rezepturwerte in der entsprechenden Rezeptur fest.

Parameter

Beschreibung

RecipeDefinitionName:

Name der Rezepturdefinition

RecipeName

Name der Rezeptur

pStrings :

Die Zeichenfolgen, in denen die Rezepturwerte gespeichert werden sollen.

iSize :

Die Größe eines Zeichenfolgen-Arrays.

iStartIndex :

Der Startindex, kann für eine Scrolling-Funktion verwendet werden.

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

Beispiel:

Es sind 50 Rezepturen vorhanden. Um eine Tabelle zu erstellen, die jeweils 10 Rezepturnamen zeigt, definieren Sie ein Zeichenfolgen-Array:

strArr: ARRAY[0..9] OF STRING;

Entsprechend dem iStartIndex können die Rezepturnamen aus einem bestimmten Bereich gelesen werden.

iStartIndex := 0;

Die Werte 0...9 werden festgelegt.

iStartIndex := 20;

Die Werte 20...29 werden festgelegt. In diesem Beispiel:

iStringLength := 80;
iSize := 10;

GetLastError

Diese Methode gibt den letzten erkannten Fehler der vorherigen Operationen zurück.

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_OK

ResetLastError

Diese Methode setzt den letzten erkannten Fehler zurück.

Rückgabewerte: ERR_NO_RECIPE_MANAGER_SET, ERR_OK