Anweisung zum Unterdrücken von Warnungen

Syntax
(* syntax for a POU *)
{suppressWarning modelRuleNamespace.modelRuleId('reason for suppression'), scope:=element|file}
PROGRAM name1 | FUNCTION_BLOCK name2 | FUNCTION name3
...
END_PROGRAM | END_FUNCTION_BLOCK | END_FUNCTION
 
(* syntax for a data type *)
TYPE
{suppressWarning modelRuleNamespace.modelRuleId('reason for suppression'), scope:=element|file}
name4 : ...;
END_TYPE
Bedeutung  

eine Warnung für das nachfolgende Element unterdrücken, falls eine Regelverletzung für dieses Element beim Validieren der Anwendung festgestellt wird und diese Regelverletzung als Warnung zu melden wäre
Anweisungen zum Unterdrücken von Warnungen sind als Erweiterung zur →IEC-Norm verfügbar.

Die Anweisung {suppressWarning} kann vor diesen ST-Elementen eingefügt werden:

Syntax:

  • modelRuleNamespace.modelRuleId muss der voll qualifizierte Name einer vorhandenen Regel sein. Am besten kopieren Sie sich das nachfolgende Beispiel in den ST-Editor und dann verwenden Sie die Inhaltshilfe nach suppressWarning, um den voll qualifizierten Namen aus dem Beispiel zu ersetzen. Die Liste der Inhaltshilfe enthält Name und ID pro verfügbarer Regel.

  • Nach der ID und innerhalb von () muss der Grund für die Unterdrückung angegeben werden. Dabei handelt es sich um ein STRING-Literal mit maximal 255 Zeichen. Details zum STRING-Literal: siehe unter →Zeichenfolge-Literal

  • Das optionale Schlüsselwort scope definiert den Geltungsbereich. Diese Werte sind möglich:

    • element - Neuron Power Engineer unterdrückt die Warnung bei einer Regelverletzung nur für das betroffene Element (z.B. den Funktionsbaustein). element ist der Standardwert und wird ohne angegebenes Schlüsselwort scope angewendet.

    • fileNeuron Power Engineer unterdrückt die Warnungen bei einer Regelverletzung für alle Elemente in der Datei (z.B. alle Funktionsbausteine und Funktionen in der Datei).

Falls sich eine Regel auf eine Datei bezieht, hat der Wert element keine Auswirkung. Definieren Sie dann scope:=file für solche Regeln.
Beispiel: Bei der Regel ST-Objekte dürfen auf oberster Ebene nur Elemente mit dem Namen des ST-Objekts enthalten wird das gesamte ST-Objekt geprüft (also bezieht sich die Regel auf eine Datei). Die Angabe scope:=element für diese Regel hat somit keine Auswirkung.

Informieren Sie sich unter "Regeln für das Validieren einer Anwendung", ob Sie die Warnungen für eine Regel unterdrücken können bzw. falls Sie Informationen zum Geltungsbereich der einzelnen Regeln benötigen.

 

Es ist nicht möglich,

Beispiel für Unterdrückung einer Warnung für einen Funktionsbaustein im ST-Objekt 'Test'
{suppressWarning com.logicals.mrc.rules.ModelRuleStObjWithResNameOnly('The function block must have a different name than the ST-object.'), scope:=file}
FUNCTION_BLOCK Control
...
END_FUNCTION_BLOCK

Konsequenzen der Anweisung {suppressWarning} für die betroffene POE oder den betroffenen Datentyp:

  1. Die Regelverletzung wird nicht mehr als Warnung im ST-Editor oder in der Sicht Fehler angeführt, sondern als Information.

  2. Beim Validieren der Anwendung wird die unterdrückte Warnung im dafür generierten Bericht angeführt.