Exception "AccessViolation" bei ungültigem Namen für die Rezepturdefinition (behoben ab V3.14)

Behoben ab:
L-force Controller 3200C ab V3.14
L-force Controller p500 ab V3.14
L-force Controller c300 ab V3.14
L-force Controller p300 ab V3.14
 
Verhalten der neuen Version:
Wenn die Methode GetRecipeNames des Funktionsbaustein RecipeManCommands mit dem Namen einer nicht vorhandenen Rezepturdefinition aufgerufen wird, dann gibt die Methode den Wert 16#4004 (ERR_RECIPE_DEFINITION_NOT_FOUND) zurück. Eine Exception tritt nicht auf.
 
Beschreibung des Verhaltens:
Die PLC Abarbeitung stoppt mit der Exception "AccessViolation".
 
Unter welchen Bedingungen tritt das Verhalten auf?
Wenn die Methode GetRecipeNames des Funktionsbaustein RecipeManCommands mit dem Namen einer nicht vorhandenen Rezepturdefinition aufgerufen wird, stoppt die PLC mit der Exception "AccessViolation".
 
Betroffene Produkte:
L-force Controller 3200C ab V3.0
L-force Controller p500 ab V3.3
L-force Controller c300 ab V3.8
L-force Controller p300 ab V3.8
 
Kurzfristige Maßnahmen/Empfehlungen?
Rufen Sie die Methode GetRecipeNames mit dem Namen einer vorhandenen Rezepturdefinition auf.
 
Bewertung:
Der Funktionsbaustein RecipeManCommands wird verfügbar, wenn der Rezepturverwalter in das PLC Designer-Projekt eingefügt wurde. Wird eine Methode dieses Bausteins mit einem nicht vorhandenen Namen einer Rezepturdefinition aufgerufen, dann stoppt die PLC Abarbeitung mit einer Exception. Typischerweise werden Rezeptdaten von der Visualisierung verwaltet. Wird VisiWinNET als Visualisierung eingesetzt, erfolgt durch VisiWinNET die Rezepturverwaltung. In diesem Fall wird der FB RecipeManCommands nicht eingesetzt und damit tritt die Funktionseinschränkung nicht auf. 

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/201400149/0/
Kontaktformular