Regeln für das Validieren einer Anwendung

Im Standardumfang von Neuron Power Engineer sind die folgenden Regeln für das Validieren einer Anwendung enthalten.
(Info) Falls Sie eine dieser Regeln in Ihrer Neuron Power Engineer-Version nicht laut den folgenden Angaben verändern können, wurde die Konfiguration für diese Regel vom Systemintegrator geändert.

Regelgruppe

Name der Regel
Beschreibung der Regel

Möglich für "Aktiv" (1)

Mögliche

Klasse (1)

Möglicher Typ(1)

Geltungsbereich (2)

Sprache (4)

IEC 61131-3 Portabilitätsregel

C-Bausteine dürfen nur in Bibliotheken enthalten sein.
Diese Modellregel prüft, ob die verwendeten →C-Bausteine in Bibliotheken enthalten sind. Andere C-Bausteine werden gemeldet.

(Häkchen),
(Fehler) (Std) (3)

ERROR (Std),
WARNING

FAST (Std),
NORMAL

Datei

alle

IEC 61131-3 Designregel

Die Verwendung von Ausdrücken in Wertfeldern wird auf Literale, Konstanten oder Variablen eingeschränkt.
Diese Modellregel prüft die Verwendung von →Ausdrücken in →Wertfeldern. Nur →Literale, →Konstanten und →Variablen dürfen verwendet werden, andere Ausdrücke werden gemeldet.

(Häkchen),
(Fehler) (Std)

ERROR (Std),
WARNING

FAST (Std),
NORMAL

nicht relevant

FBS

IEC 61131-3 Designregel

Die Verwendung von Bausteinen wird vollständig oder auf vorgegebene Typen eingeschränkt.
Diese Modellregel ist konfigurierbar, um die Verwendung von →Bausteinen oder deren erlaubten Typen einzuschränken.

(Warnung) Einschränkung: Die Bausteine und deren erlaubten Typen können derzeit nicht in der grafischen Benutzeroberfläche vorgegeben werden, sondern nur in der Datei, mit der die Modellregel konfiguriert wird. Ohne einer angepassten Datei ist eine Prüfung mit dieser Regel derzeit nicht sinnvoll.

(Häkchen),
(Fehler) (Std)

ERROR (Std),
INFO,
WARNING

FAST (Std),
NORMAL,
EXPENSIVE

nicht relevant

alle

IEC 61131-3 Designregel

Direkte Linien über Seiten hinweg dürfen nicht verwendet werden.
Diese Modellregel prüft, ob direkte Linien über Seiten hinweg vorhanden sind. Solche Linien werden gemeldet.

Siehe unter "Automatisches Linien-Routing" für Informationen, wann direkte Linien in Neuron Power Engineer erstellt werden.

(Häkchen) (Std),
(Fehler)

ERROR, INFO,
WARNING (Std)

FAST,
NORMAL (def),
EXPENSIVE

nicht relevant

FBS

IEC 61131-3 Designregel

Direkte Linien auf derselben Seite dürfen nicht verwendet werden.
Diese Modellregel prüft, ob direkte Linien auf derselben Seite vorhanden sind. Solche Linien werden gemeldet.

(Warnung) Falls Sie den voreingestellten Typ von EXPENSIVE auf NORMAL oder FAST ändern, kann sich der Speicherverbrauch beim Importieren von Projekten mit FBS-Objekten bzw. beim Öffnen von FBS-Objekten beträchtlich erhöhen. Zusätzlich sind dann auch Verzögerungen beim Scrollen im FBS-Objekt möglich.

(Häkchen) (Std),
(Fehler)

ERROR, INFO,
WARNING (Std)

FAST,
NORMAL,
EXPENSIVE (Std)

nicht relevant

FBS

IEC 61131-3 Designregel

Eingänge müssen auf der linken Bausteinkante positioniert werden, Ausgänge auf der rechten.
Diese Modellregel prüft, auf welcher Bausteinkante die Eingänge/Ausgänge positioniert sind. Gemeldet werden Eingänge, die nicht auf der linken Bausteinkante positioniert sind. Ebenso werden Ausgänge gemeldet, die nicht auf der rechten Bausteinkante positioniert sind.

(Häkchen),
(Fehler) (Std)

ERROR,
INFO,
WARNING (Std)

NORMAL (def),
EXPENSIVE

nicht relevant

ST, FBS

IEC 61131-3 Designregel

Eingänge und Ausgänge dürfen nicht negiert werden.
Diese Modellregel prüft, ob negierte Ein-/Ausgänge vorhanden sind. Solche Ein-/Ausgänge werden gemeldet.

(Häkchen),
(Fehler) (Std)

ERROR,
INFO,
WARNING (Std)

FAST (Std),
NORMAL,
EXPENSIVE

nicht relevant

FBS

IEC 61131-3 Designregel

Elemente in einer Schnittstelle für einen Funktionsbaustein oder einer Funktion dürfen sich nicht überlappen.
Diese Modellregel prüft, ob sich Elemente in einer Schnittstelle für einen →Funktionsbaustein oder einer →Funktion überlappen.

(Häkchen),
(Fehler) (Std)

ERROR (Std),
WARNING

FAST (Std),
NORMAL

nicht relevant

FBS

IEC 61131-3 Designregel

Es dürfen keine Konnektoren oder Fortsetzungen verwendet werden.
Diese Modellregel prüft, ob →Konnektoren oder →Fortsetzungen verwendet werden.

(Häkchen),
(Fehler) (Std)

ERROR (Std),
WARNING

FAST (Std),
NORMAL

nicht relevant

FBS

IEC 61131-3 Designregel

Instanzen von Funktionsbausteinen dürfen nicht mehrfach aufgerufen werden.
Diese Modellregel prüft, ob →Instanzen von Funktionsbausteinen mehrfach →aufgerufen werden.

(Häkchen),
(Fehler) (Std)

ERROR (Std),
WARNING

FAST (Std),
NORMAL

Datei

alle

IEC 61131-3 Designregel

Jedes Programm muss einem Task zugewiesen werden.
Diese Modellregel prüft, ob jeder Programmtyp einem Task zugewiesen ist. Andere Programmtypen werden gemeldet.

(Häkchen),
(Fehler) (Std)

ERROR,
WARNING (Std)

FAST,
NORMAL (Std)

Element

alle

IEC 61131-3 Designregel

Negierungen von nicht-verbundenen Baustein-Eingängen sind nicht erlaubt.
Diese Modellregel prüft, ob Negierungen von Baustein-Eingängen vorhanden sind, wenn diese Eingänge nicht verbunden sind. Solche Baustein-Eingänge werden gemeldet.

(Häkchen),
(Fehler) (Std)

ERROR,
INFO,
WARNING (Std)

FAST (Std),
NORMAL,
EXPENSIVE

nicht relevant

FBS

IEC 61131-3 Designregel

Das mehrfache Beschreiben von Hardware-Ausgängen innerhalb einer Ressource ist nicht erlaubt.
Diese Modell-Regel prüft, ob Hardware-Ausgänge in mehr als einer Programm→instanz einer →Ressource geschrieben werden. →Globale Variablen mit zugeordneter IEC-Hardware-Adresse werden als Hardware-Ausgänge betrachtet. Das Schreiben solcher Variablen ist nur in exakt einer Programminstanz einer Ressource erlaubt.

Als Zusatzinformation: Diese Regel gilt für globale Variablen, ihre Unterelemente sowie für ARRAY-Variablen.

(Häkchen),
(Fehler) (Std)

ERROR (Std),
INFO,
WARNING
NORMAL (def),
EXPENSIVE
nicht relevant FBS
IEC 61131-3 Designregel

Nur tatsächliche Ressource-globale Variablen dürfen in VAR_CONFIG-Abschnitten verwendet werden.
Die VAR_CONFIG-Abschnitte dürfen nur Ressource-globale Variablen ohne Strukturelemente enthalten.

Siehe Abschnitt "Speicherort für symbolisch dargestellte Variablen instanzspezifisch zuweisen" für Informationen zu VAR_CONFIG-Abschnitten.

(Häkchen),
(Fehler) (Std)

ERROR (Std) FAST (Std),
NORMAL,
EXPENSIVE
nicht relevant

IEC 61131-3 Designregel

Ein Konnektor muss mit einem Ursprung verbunden sein.
Diese Modellregel prüft, ob ein →Konnektor mit einem Ursprung verbunden ist. Falls nicht, wird der Konnektor gemeldet.

(Info) Diese Regel wird auch auf Verbindungen eines Baustein-Eingangs mit einem Konnektor ohne Ursprung angewendet. Bei aktivierter Regel werden solche Konstrukte mit der Meldung Ausdruck hat keinen Ergebniswert, während andere Konnektoren ohne Ursprung mit der Meldung  Konnektor Name ist mit keinem Ursprung verbunden. Dies widerspricht einer Regel gemeldet werden. Bei deaktivierter Regel werden beide Meldungen nicht gemeldet.

(Häkchen) (Std),
(Fehler)

ERROR (Std),
INFO,
WARNING

FAST (Std),
NORMAL,
EXPENSIVE

nicht relevant

FBS

IEC 61131-3 Designregel

Für Projekte/Ordner/Objekte dürfen nur Bezeichner laut Vorgaben verwendet werden.
Diese Modellregel prüft, ob die Namen von Projekten/Ordnern/Objekten den Vorgaben entsprechen. Informieren Sie sich unter "Vorgaben für Namen von Projekten/Ordnern/Objekten" über diese Vorgaben.

(Info) Ein Bezeichner eines Objekts oder eines Projekts wird bereits beim Erstellen des Objekts/Projekts im Projektexplorer geprüft. Dadurch muss der im Dialog eingegebene Name den Vorgaben entsprechen.
Bezeichner für Ordner werden nur geprüft, wenn der Befehl zum Starten der Validierung gewählt wird.

(Häkchen),
(Fehler) (Std)

ERROR,
INFO,
WARNING (Std)

EXPENSIVE

nicht relevant

alle

IEC 61131-3 Designregel

Linien, die von rechts nach links führen, dürfen nicht verwendet werden.
Diese Modellregel prüft, ob Linien verwendet werden, die von rechts nach links führen. Solche Linien werden gemeldet.
Hinweis: Verbindungen mit Hilfe von →Konnektoren und →Fortsetzungen werden von dieser Regel nicht geprüft.

(Häkchen),
(Fehler) (Std)

ERROR, INFO,
WARNING (Std)

FAST,
NORMAL (def),
EXPENSIVE

nicht relevant

FBS

IEC 61131-3 Designregel

Namespaces der Sprachelemente müssen mit dem Bezeichner des übergeordneten Namespace-Ordners übereinstimmen.
Diese Modellregel prüft, ob die →Namespaces von allen Sprachelementen mit dem Bezeichner des übergeordneten Namespace-Ordners übereinstimmt. Abweichungen werden gemeldet. Falls kein Namespace-Ordner für die Sprachelemente vorhanden ist, werden keine Abweichungen gemeldet.

(Häkchen) (Std),
(Fehler)

ERROR,
INFO,
WARNING (Std)

FAST,
NORMAL (Std)

nicht relevant

alle

IEC 61131-3 Designregel

Namespace-Ordner müssen einen eindeutigen Bezeichner besitzen.
Diese Modellregel prüft, ob mehrere Namespace-Ordner mit demselben Bezeichner vorhanden sind. Abweichungen werden gemeldet.

(Häkchen) (Std),
(Fehler)

ERROR,
INFO,
WARNING (Std)

FAST,
NORMAL (Std)

nicht relevant

alle

IEC 61131-3 Designregel

ST-Objekte dürfen auf oberster Ebene nur ein Element enthalten.
Diese Modellregel prüft, ob ST-Objekte auf oberster Ebene mehrere Elemente enthalten. Solche ST-Objekte werden gemeldet.

(Info) Solche Elemente sind z.B. →POE, →Datentypen oder →Interfaces.

 

(Häkchen),
(Fehler) (Std)

ERROR,
INFO,
WARNING (Std)

NORMAL (def),
EXPENSIVE

Datei

ST

IEC 61131-3 Designregel

ST-Objekte dürfen auf oberster Ebene nur Elemente mit dem Namen des ST-Objekts enthalten.
Diese Modellregel prüft, ob der Name von Elementen, die auf oberster Ebene in einem ST-Objekt deklariert sind, mit dem Namen dieses ST-Objekts übereinstimmt. Elemente mit anderen Namen werden gemeldet.

(Info) Solche Elemente sind z.B. →POE oder →Interfaces. Beachten Sie: Diese Regel wird nicht für anwenderdefinierte →Datentypen in ST-Objekten angewendet.

(Häkchen),
(Fehler) (Std)

ERROR,
INFO,
WARNING (Std)

NORMAL (def),
EXPENSIVE

Datei

ST

IEC 61131-3 Designregel

Verbotene elementare Datentypen dürfen nicht verwendet werden
Diese Modellregel prüft, ob verbotene →Datentypen verwendet werden. Die Verwendungen solcher Datentypen werden als verboten gemeldet.

(Info) Informieren Sie sich am besten darüber, welche Datentypen verboten sind, indem Sie diese Regel in der Eigenschaften-Seite Validierung oder im Dialog Validierung für Ressource konfigurieren selektieren und den Inhalt des Felds Details kontrollieren.

(Häkchen),
(Fehler) (Std)

ERROR,
INFO,
WARNING (Std)

FAST, NORMAL (Std),
EXPENSIVE

Element

alle

IEC 61131-3 Verwendungsregel

Anzahl der Ressourcen ist begrenzt.
Diese Modellregel prüft, ob die maximale Anzahl an →Ressourcen für eine Plattform überschritten ist.

(Häkchen) (Std),
(Fehler)

ERROR (Std),
INFO,
WARNING

FAST (Std),
NORMAL,
EXPENSIVE

nicht relevant

– 

IEC 61131-3 Verwendungsregel

Referenzen auf lokale Variablen dürfen in Funktionen/Methoden nicht verwendet werden.
Diese Modellregel prüft, ob Referenzen auf lokale Variablen in Funktionen/Methoden verwendet werden. Solche Referenzen auf lokale Variablen werden gemeldet.

(Info) Falls Sie diese Regel deaktivieren, weicht Neuron Power Engineer von der →IEC-Norm ab. Als Folge der Deaktivierung gilt nämlich diese Erweiterung für Neuron Power Engineer:
→Referenzen auf lokale, temporäre →Variablen können in →Funktionen/→Methoden verwendet werden.

Mit "lokalen, temporären Variablen" sind hier jene Variablen gemeint, für die ein temporärer Speicher während der Ausführung der Funktion/Methode belegt wird. Dies sind die folgenden Variablen:

→interne Variablen (= VAR ... END_VAR)

→Eingangsvariablen (= VAR_INPUT ... END_VAR)

→Ausgangsvariablen (= VAR_OUTPUT ... END_VAR)

→Ein-/Ausgangsvariablen (= VAR_IN_OUT ... END_VAR)

→temporäre Variablen (= VAR_TEMP ... END_VAR) – Allerdings sind aufgrund von Einschränkungen die Variablen aus VAR_TEMP ... END_VAR innerhalb von REF(...) trotzdem nicht zulässig (siehe "Deklaration von Referenz-Variablen (inkl. Zuweisungen darauf)" für Details).

Beachten Sie außerdem, dass es aufgrund der deaktivierten Regel möglich ist, Konstrukte zu implementieren, die zu ungültigen Speicherzugriffen führen. Solche Konstrukte werden von Neuron Power Engineer nicht erkannt. Vermeiden Sie deshalb entsprechende Konstrukte. Siehe "Beispiel für einen problematischen Zugriff".

(Häkchen) (Std),
(Fehler)

ERROR (Std),
INFO,
WARNING

FAST (Std),
NORMAL,
EXPENSIVE

Element

ST, FBS

IEC 61131-3 Verwendungsregel

Der Ausgang eines Funktionsbausteins darf nicht auf eine VAR_IN_OUT-Variable zugewiesen werden.
Diese Modellregel prüft, ob der Ausgang eines →Funktionsbausteins auf eine VAR_IN_OUT-Variable zugewiesen wird. Solche Zuweisungen werden gemeldet.

(Info) Falls Sie diese Regel deaktivieren, weicht Neuron Power Engineer von der →IEC-Norm ab. Als Folge der Deaktivierung gilt nämlich diese Erweiterung für Neuron Power Engineer (für FBS): →Zuweisungen vom Ausgang eines →Funktionsbausteins auf eine VAR_IN_OUT-Variable (= →Ein-/Ausgangsvariable) sind erlaubt.

(Häkchen) (Std),
(Fehler)

ERROR (Std),
INFO,
WARNING

FAST,
NORMAL (def),
EXPENSIVE

Element

alle

IEC 61131-3 Verwendungsregel

Zuweisungen auf Ausgangsvariablen eines Funktionsbausteins außerhalb von Funktionsbausteinen sind nicht erlaubt.
Diese Modellregel prüft, ob →Zuweisungen auf Ausgangsvariablen (= VAR_OUTPUT) eines →Funktionsbausteins außerhalb von Funktionsbausteinen vorhanden sind. Solche Zuweisungen werden gemeldet.

(Info) Falls Sie diese Regel deaktivieren, weicht Neuron Power Engineer von der →IEC-Norm ab. Als Folge der Deaktivierung gilt nämlich diese Erweiterung für Neuron Power Engineer: →Ausgangsvariablen (= VAR_OUTPUT) von →Funktionsbaustein-Instanzen können außerhalb des Funktionsbausteins beschrieben werden.

(Häkchen) (Std),
(Fehler)

ERROR (Std),
INFO,
WARNING

FAST (Std),
NORMAL,
EXPENSIVE

Element

ST, FBS

IEC 61131-3 Verwendungsregel

Zuweisungen auf Eingangsvariablen innerhalb der POE sind nicht erlaubt.
Diese Modellregel prüft, ob →Zuweisungen auf →Eingangsvariablen innerhalb von →Funktionsbausteinen vorhanden sind. Solche Zuweisungen werden gemeldet. Ausgenommen davon sind Zuweisungen auf →Referenz-Variablen innerhalb von Funktionsbausteinen, da diese immer erlaubt sind.
Zuweisungen auf Eingangsvariablen innerhalb von →Funktionen sind grundsätzlich nie erlaubt. Ausgenommen sind wieder Zuweisungen auf Referenz-Variablen, da diese auch innerhalb von Funktionen immer erlaubt sind.

(Info) Falls Sie diese Regel deaktivieren, weicht Neuron Power Engineer von der →IEC-Norm ab. Als Folge der Deaktivierung gilt nämlich diese Erweiterung für Neuron Power Engineer: →Eingangsvariablen können innerhalb von →Funktionsbausteinen beschrieben werden.

(Info) In Neuron Power Engineer ist es gar nicht möglich, Zuweisungen auf Eingangsvariablen von →Programmen zu erstellen. Somit gilt diese Regel ebenfalls nicht für solche Zuweisungen.

(Häkchen) (Std),
(Fehler)

ERROR (Std),
INFO,
WARNING

FAST (Std),
NORMAL,
EXPENSIVE

Element

ST, FBS

IEC 61131-3 Verwendungsregel Nur Limited Variability Languages (LVL) dürfen verwendet werden.
Diese Regel prüft, ob die Anwendung Elemente verwendet, die nicht den Richtlinien für Limited Variability Languages (→LVL) entsprechen. Diese Elemente werden gemeldet.
(Häkchen),
(Fehler) (Std)
ERROR,
INFO,
WARNING (Std)
FAST,
NORMAL (def),
EXPENSIVE
nicht relevant alle

Die folgende Regel ist nicht in allen Varianten von Neuron Power Engineer verfügbar:

Regelgruppe

Name der Regel
Beschreibung der Regel

Möglich für "Aktiv" (1)

Mögliche
Klasse (1)

Möglicher Typ(1)

Geltungsbereich  (2)

Sprache (4)

IEC 61131-3 Verwendungsregel

Bibliothekskonfigurationen vom Typ "LOGISAFE" und/oder "LOGIWEB" dürfen nur Elemente verwenden, die für diesen Typ zulässig sind.
Diese Modellregel prüft, ob Bibliothekskonfigurationen vom Bibliothekstyp LOGISAFE und/oder LOGIWEB nur jene Bibliothekselemente verwendet, die den Vorgaben entsprechen. Andere Bibliothekselemente werden gemeldet.

(Info) Informationen zu den Vorgaben für die Bibliothekselemente finden Sie unter "Besonderheiten für logi.SAFE-/logi.WEB-Bibliotheken".

(Häkchen) (Std),
(Fehler)

ERROR

NORMAL (def),
EXPENSIVE

nicht relevant

– 

Hinweise zu den Tabellen:

(1) Die Einstellung kann in der Eigenschaften-Seite Validierung und/oder im Dialog Validierung für Ressource konfigurieren geändert werden. Details: siehe "Konfiguration der Regeln ändern". Dieser Artikel beschreibt auch die Bedeutung der Klassen und Typen.

(2) Der Geltungsbereich ist relevant, falls Sie Warnungen für diese Regel unterdrücken wollen. Details: siehe "Warnungen für Validierung unterdrücken".
Der Eintrag "nicht relevant" bedeutet, dass Sie die Warnungen für diese Regel nicht unterdrücken können.
(3) (Std) = (Standard); Beim Wiederherstellen der Standardwerte in der Eigenschaften-Seite Validierung oder im Dialog Validierung für Ressource konfigurieren setzt Neuron Power Engineer die Regeln auf jene Einstellungen, die in der Tabelle mit "(Std)" gekennzeichnet sind.

Einschränkung

Die Voreinstellungen von Regeln können nur in der Datei geändert werden, mit der die Modellregel konfiguriert wird.
Falls Sie Dateien für Modellregeln anpassen wollen, kontaktieren Sie Neuron und bitten um die entsprechenden Informationen aus der englischen Dokumentation "Neuron Power Engineer administrator's manual".

Der folgende ST-Code wird aufgrund der deaktivierten Regel Referenzen auf lokale Variablen dürfen in Funktionen/Methoden nicht als fehlerhaft gekennzeichnet, obwohl der Code einen problematischen Zugriff enthält:

Beispiel für einen problematischen Zugriff
(* The function returns a reference to a variable that - after the function call - is not provided anymore. Note: Functions do not store their state *)
FUNCTION MyFun : REF_TO INT
  VAR
    Var1 : INT;
  END_VAR
    MyFun := REF(Var1);
END_FUNCTION

(4) Die Spalte "Sprache" informiert Sie, auf welche Sprachelemente die Regel bei der Validierung angewendet wird:

Eintrag

Bedeutung

alle

Die Regel wird auf ST-Objekte, FBS-Objekte und KOP-Objekte angewendet.

ST

Die Regel wird auf ST-Objekte angewendet.

FBS

Die Regel wird auf FBS-Objekte angewendet.

LVL

Die Regel wird auf Objekte angewendet, die denen Einschränkungen des →LVL-Workflows entsprechen.

Die Regel wird auf keine ST-Objekte, FBS-Objekte und KOP-Objekte angewendet.