Regeln für das Validieren einer Anwendung
Im Standardumfang von logi.CAD 3 sind die folgenden Regeln für das Validieren einer Anwendung enthalten.
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- |
Name der Regel |
Möglich für "Aktiv" (1) |
Mögliche |
Möglicher Typ (1) |
Geltungs- |
Sprache (4) |
IEC 61131-3 Portabilitätsregel |
C-Bausteine dürfen nur in Bibliotheken enthalten sein. |
, |
ERROR (Std), |
FAST (Std), |
Datei |
alle |
IEC 61131-3 Designregel |
Die Verwendung von Ausdrücken in Wertfeldern wird auf Literale, Konstanten oder Variablen eingeschränkt. |
, |
ERROR (Std), |
FAST (Std), |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Die Verwendung von Bausteinen wird vollständig oder auf vorgegebene Typen eingeschränkt. 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. |
, |
ERROR (Std), |
FAST (Std), |
nicht relevant |
alle |
IEC 61131-3 Designregel |
Direkte Linien über Seiten hinweg dürfen nicht verwendet werden. Siehe unter "Automatisches Linien-Routing" für Informationen, wann direkte Linien in logi.CAD 3 erstellt werden. |
(Std), |
ERROR, |
FAST, |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Direkte Linien auf derselben Seite dürfen nicht verwendet werden. 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. |
(Std), |
ERROR, |
FAST, |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Eingänge müssen auf der linken Bausteinkante positioniert werden, Ausgänge auf der rechten. |
, |
ERROR, |
NORMAL (Std), |
nicht relevant |
ST, FBS |
IEC 61131-3 Designregel |
Eingänge und Ausgänge dürfen nicht negiert werden. |
, |
ERROR, |
FAST (Std), |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Elemente in einer Schnittstelle für einen Funktionsbaustein oder einer Funktion dürfen sich nicht überlappen. |
, |
ERROR (Std), |
FAST (Std), |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Es dürfen keine Konnektoren oder Fortsetzungen verwendet werden. |
, |
ERROR (Std), |
FAST (Std), |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Instanzen von Funktionsbausteinen dürfen nicht mehrfach aufgerufen werden. |
, |
ERROR (Std), |
FAST (Std), |
Datei |
alle |
IEC 61131-3 Designregel |
Jedes Programm muss einem Task zugewiesen werden. |
, |
ERROR, |
FAST, |
Element |
alle |
IEC 61131-3 Designregel |
Negierungen von nicht-verbundenen Baustein-Eingängen sind nicht erlaubt. |
, |
ERROR, |
FAST (Std), |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Ein Konnektor muss mit einem Ursprung verbunden sein. 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. |
(Std), |
ERROR (Std), |
FAST (Std), |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Für Projekte/Ordner/Objekte dürfen nur Bezeichner laut Vorgaben verwendet werden.
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. |
, |
ERROR, |
EXPENSIVE |
nicht relevant |
alle |
IEC 61131-3 Designregel |
Linien, die von rechts nach links führen, dürfen nicht verwendet werden. |
, |
ERROR, |
FAST, |
nicht relevant |
FBS |
IEC 61131-3 Designregel |
Namespaces der Sprachelemente müssen mit dem Bezeichner des übergeordneten Namespace-Ordners übereinstimmen. |
(Std) , |
ERROR, |
FAST, |
nicht relevant |
alle |
IEC 61131-3 Designregel |
Namespace-Ordner müssen einen eindeutigen Bezeichner besitzen. |
(Std) , |
ERROR, |
FAST, |
nicht relevant |
alle |
IEC 61131-3 Designregel |
ST-Objekte dürfen auf oberster Ebene nur ein Element enthalten. Solche Elemente sind z.B. →POE, →Datentypen oder →Interfaces. |
, |
ERROR, |
NORMAL (Std), |
Datei |
ST |
IEC 61131-3 Designregel |
ST-Objekte dürfen auf oberster Ebene nur Elemente mit dem Namen des ST-Objekts enthalten. Solche Elemente sind z.B. →POE oder →Interfaces. Beachten Sie: Diese Regel wird nicht für anwenderdefinierte →Datentypen in ST-Objekten angewendet. |
, |
ERROR, |
NORMAL (Std), |
Datei |
ST |
IEC 61131-3 Designregel |
Verbotene elementare Datentypen dürfen nicht verwendet werden 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. |
, |
ERROR, |
FAST, NORMAL (Std), |
Element |
alle |
IEC 61131-3 Verwendungsregel |
Anzahl der Ressourcen ist begrenzt. |
(Std), |
ERROR (Std), |
FAST (Std), |
nicht relevant |
– |
IEC 61131-3 Verwendungsregel |
Referenzen auf lokale Variablen dürfen in Funktionen/Methoden nicht verwendet werden.
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". |
(Std), |
ERROR (Std), |
FAST (Std), |
Element |
ST, FBS |
IEC 61131-3 Verwendungsregel |
Der Ausgang eines Funktionsbausteins darf nicht auf eine VAR_IN_OUT-Variable zugewiesen werden. 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. |
(Std), |
ERROR (Std), |
FAST, |
Element |
alle |
IEC 61131-3 Verwendungsregel |
Zuweisungen auf Ausgangsvariablen eines Funktionsbausteins außerhalb von Funktionsbausteinen sind nicht erlaubt. 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. |
(Std), |
ERROR (Std), |
FAST (Std), |
Element |
ST, FBS |
IEC 61131-3 Verwendungsregel |
Zuweisungen auf Eingangsvariablen innerhalb der POE sind nicht erlaubt. 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. In logi.CAD 3 ist es gar nicht möglich, Zuweisungen auf Eingangsvariablen von →Programmen zu erstellen. Somit gilt d iese Regel ebenfalls nicht für solche Zuweisungen. |
(Std), |
ERROR (Std), |
FAST (Std), |
Element |
ST, FBS |
Die folgende Regel ist nicht in allen Varianten von logi.CAD 3 verfügbar:
Regel- |
Name der Regel |
Möglich für "Aktiv" (1) |
Mögliche |
Möglicher Typ (1) |
Geltungs- |
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. Informationen zu den Vorgaben für die Bibliothekselemente finden Sie unter "Besonderheiten für logi.SAFE-/logi.WEB-Bibliotheken" |
(Std), |
ERROR |
NORMAL (Std), |
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:
(* 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:
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. |