Regeln für das Validieren einer Anwendung

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

Regel-
gruppe
Name der Regel
Beschreibung der Regel
Möglich für "Aktiv" (1)Mögliche
Klasse (1)
Möglicher Typ (1)Geltungs-
bereich  (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.

(tick),
(error) (Std) (3)
ERROR (Std),
WARNING
FAST (Std),
NORMAL
Dateialle
IEC 61131-3 DesignregelDie 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.
(tick),
(error) (Std)
ERROR (Std),
WARNING
FAST (Std),
NORMAL
nicht relevantFBS
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.

(warning) 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.

(tick),
(error) (Std)
ERROR (Std),
INFO,
WARNING
FAST (Std),
NORMAL,

EXPENSIVE
nicht relevantalle

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 logi.CAD 3 erstellt werden.

(tick) (Std),
(error)

ERROR,
INFO,
WARNING (Std)

FAST,
NORMAL (Std),

EXPENSIVE

nicht relevantFBS

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.

(warning) 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.

(tick) (Std),
(error)

ERROR,
INFO,
WARNING (Std)

FAST,
NORMAL,

EXPENSIVE  (Std)

nicht relevantFBS
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.

(tick),
(error) (Std)
ERROR,
INFO,
WARNING (Std)
NORMAL (Std),
EXPENSIVE
nicht relevantST, 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.

(tick),
(error) (Std)
ERROR,
INFO,
WARNING (Std)
FAST (Std),
NORMAL,

EXPENSIVE
nicht relevantFBS
IEC 61131-3 DesignregelElemente 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.
(tick),
(error) (Std)
ERROR (Std),
WARNING
FAST (Std),
NORMAL
nicht relevantFBS
IEC 61131-3 DesignregelEs dürfen keine Konnektoren oder Fortsetzungen verwendet werden.
Diese Modellregel prüft, ob →Konnektoren oder →Fortsetzungen verwendet werden.
(tick),
(error) (Std)
ERROR (Std),
WARNING
FAST (Std),
NORMAL
nicht relevantFBS
IEC 61131-3 DesignregelInstanzen von Funktionsbausteinen dürfen nicht mehrfach aufgerufen werden.
Diese Modellregel prüft, ob →Instanzen von Funktionsbausteinen mehrfach →aufgerufen werden.
(tick),
(error) (Std)
ERROR (Std),
WARNING
FAST (Std),
NORMAL
Dateialle
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.

(tick),
(error) (Std
ERROR,
WARNING  (Std)
FAST,
NORMAL  (Std)
Elementalle
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.

(tick),
(error) (Std)
ERROR,
INFO,
WARNING (Std)
FAST (Std),
NORMAL,

EXPENSIVE
nicht relevantFBS
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 gemeldet, 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.

(tick) (Std),
(error)
ERROR (Std),
INFO,
WARNING
FAST (Std),
NORMAL,

EXPENSIVE
nicht relevantFBS
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.

(tick),
(error) (Std)
ERROR,
INFO,
WARNING (Std)
EXPENSIVEnicht relevantalle

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.

(tick) ,
(error) (Std)

ERROR,
INFO,
WARNING (Std)

FAST,
NORMAL (Std),

EXPENSIVE

nicht relevantFBS

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.

(tick) (Std) ,
(error)

ERROR,
INFO,
WARNING (Std)

FAST,
NORMAL (Std)

nicht relevantalle

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.

(tick) (Std) ,
(error)

ERROR,
INFO,
WARNING (Std)

FAST,
NORMAL (Std)

nicht relevantalle
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.

(tick),
(error) (Std)

ERROR,
INFO,
WARNING (Std)
NORMAL (Std),
EXPENSIVE
DateiST
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.

(tick),
(error) (Std)
ERROR,
INFO,
WARNING (Std)
NORMAL (Std),
EXPENSIVE
DateiST
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.

(tick),
(error) (Std)
ERROR,
INFO,
WARNING (Std)
FAST, NORMAL (Std),
EXPENSIVE
Elementalle
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.

(tick) (Std),
(error)

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 logi.CAD 3 von der →IEC-Norm ab. Als Folge der Deaktivierung gilt nämlich diese Erweiterung für logi.CAD 3: →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:

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 logi.CAD 3 nicht erkannt. Vermeiden Sie deshalb entsprechende Konstrukte. Siehe "Beispiel für einen problematischen Zugriff".

(tick) (Std),
(error)
ERROR (Std),
INFO,
WARNING
FAST (Std),
NORMAL,

EXPENSIVE
ElementST, 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 logi.CAD 3 von der →IEC-Norm ab. Als Folge der Deaktivierung gilt nämlich diese Erweiterung für logi.CAD 3 (für FBS): →Zuweisungen vom Ausgang eines →Funktionsbausteins auf eine VAR_IN_OUT-Variable (= →Ein-/Ausgangsvariable) sind erlaubt.

(tick) (Std),
(error)
ERROR (Std),
INFO,
WARNING
FAST,
NORMAL (Std),

EXPENSIVE
Elementalle
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 logi.CAD 3 von der →IEC-Norm ab. Als Folge der Deaktivierung gilt nämlich diese Erweiterung für logi.CAD 3: →Ausgangsvariablen (= VAR_OUTPUT) von →Funktionsbaustein-Instanzen können außerhalb des Funktionsbausteins beschrieben werden.

(tick) (Std),
(error)

ERROR (Std),
INFO,
WARNING
FAST (Std),
NORMAL,

EXPENSIVE
ElementST, 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 logi.CAD 3 von der →IEC-Norm ab. Als Folge der Deaktivierung gilt nämlich diese Erweiterung für logi.CAD 3: →Eingangsvariablen können innerhalb von →Funktionsbausteinen beschrieben werden.

(info) In logi.CAD 3 ist es gar nicht möglich, Zuweisungen auf Eingangsvariablen von →Programmen zu erstellen. Somit gilt diese Regel ebenfalls nicht für solche Zuweisungen.

(tick) (Std),
(error)

ERROR (Std),
INFO,
WARNING
FAST (Std),
NORMAL,

EXPENSIVE
ElementST, FBS

Die folgende Regel ist nicht in allen Varianten von logi.CAD 3 verfügbar :

Regel-
gruppe
Name der Regel
Beschreibung der Regel
Möglich für "Aktiv" (1)Mögliche
Klasse (1)
Möglicher Typ (1)Geltungs-
bereich  (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"

(tick) (Std),
(error)
ERRORNORMAL (Std),
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 logi.CAD 3 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 logi.cals und bitten um die entsprechenden Informationen aus der englischen Dokumentation "logi.CAD 3 administrator's manual".

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

Beispiel für einen problematischen Zugriff
(* Die Funktion liefert die Referenz auf eine Variable, die - nach dem Funktionsaufruf - nicht mehr verfügbar ist. Hinweis: Funktionen haben kein speicherndes Verhalten. *)
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:

EintragBedeutung
alleDie Regel wird auf ST-Objekte, FBS-Objekte und KOP-Objekte angewendet.
STDie Regel wird auf ST-Objekte angewendet.
FBSDie Regel wird auf FBS-Objekte angewendet.
LVLDie 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.