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)
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) (3)
ERROR (Std),
INFO,
WARNING
FAST (Std),
NORMAL,

EXPENSIVE
nicht relevant

IEC 61131-3 Designregel

Direkte Linien dürfen nicht verwendet werden.
Diese Modellregel prüft, ob direkte Linien verwendet werden. Solche Linien werden gemeldet.

(tick) (Std),
(error)

ERROR,
INFO,
WARNING (Std)

FAST,
NORMAL (Std),

EXPENSIVE

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

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

EXPENSIVE
nicht relevant
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 relevant

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 relevant
IEC 61131-3 DesignregelST-Objekte dürfen nur eine POE enthalten.
Diese Modellregel prüft, ob ST-Objekte mehrere →POE enthalten. Solche ST-Objekte werden gemeldet.

(tick),
(error) (Std)

ERROR,
INFO,
WARNING (Std)
NORMAL (Std),
EXPENSIVE
Datei
IEC 61131-3 Designregel

ST-Objekte dürfen nur POE/Datentypen mit dem Namen des ST-Objekts enthalten.
Diese Modellregel prüft, ob der Name von →POE/→Datentypen, die in einem ST-Objekt deklariert sind, mit dem Namen dieses ST-Objekts übereinstimmt. POE/Datentypen mit anderen Namen werden gemeldet.

(tick),
(error) (Std)
ERROR,
INFO,
WARNING (Std)
NORMAL (Std),
EXPENSIVE
Datei
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
Element
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".
(info) Diese Regel ist nicht in allen Varianten von  logi.CAD 3  verfügbar .

(tick) (Std),
(error)
ERRORNORMAL (Std),
EXPENSIVE
nicht relevant
IEC 61131-3 Verwendungsregel
Referenzen auf lokale Variablen dürfen in Funktionen nicht verwendet werden.
Diese Modellregel prüft, ob Referenzen auf lokale Variablen in Funktionen 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 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 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
Element
IEC 61131-3 Verwendungsregel

Zuweisungen auf Eingangsvariablen innerhalb der POE sind nicht erlaubt.
Diese Modellregel prüft, ob →Zuweisungen auf →Eingangsvariablen innerhalb von →Programmen und/oder →Funktionsbausteinen vorhanden sind. Solche Zuweisungen werden gemeldet.
Zuweisungen auf Eingangsvariablen innerhalb von →Funktionen sind ohnehin nicht möglich und werden von der Validierung nicht 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 : →Eingangsvariablen können innerhalb von →Programmen und/oder  →Funktionsbausteinen beschrieben werden.

(tick) (Std),
(error)

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

EXPENSIVE
Element
IEC 61131-3 Verwendungsregel

Zuweisungen auf oder von lokalen Variablen eines Funktionsbausteins außerhalb von Funktionsbausteinen sind nicht erlaubt.
Diese Modellregel prüft, ob →Zuweisungen auf oder von →lokalen Variablen (= VAR) eines →Funktionsbausteins außerhalb von Funktionsbausteinen vorhanden sind. Solche Zuweisungen werden gemeldet. Zuweisungen auf oder von lokalen Variablen (= VAR) einer →Funktion oder eines →Programms sind außerhalb ohnehin nicht möglich und werden von der Validierung nicht 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 : →Lokale Variablen (= VAR) von →Funktionsbaustein-Instanzen können außerhalb des Funktionsbausteins beschrieben und gelesen werden.

(tick) (Std),
(error)

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

EXPENSIVE
Element
IEC 61131-3 Verwendungsregel

Verbindungen von einem Ausgang eines Funktionsbausteins auf eine VAR_IN_OUT-Variable sind nicht erlaubt.
Diese Modellregel prüft, ob Verbindungen von einem Ausgang eines →Funktionsbausteins auf eine VAR_IN_OUT-Variable vorhanden sind. Solche Verbindungen 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): Verbindungen (= Linienvom Ausgang eines →Funktionsbausteins auf eine VAR_IN_OUT-Variable (= →Ein-/Ausgangsvariable) sind erlaubt.

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

EXPENSIVE
Element
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

Hinweise zur Tabelle:

(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".
(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 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