Grundregeln für das Arbeiten

Dieser Artikel enthält eine Übersicht der Punkte, die Sie beim Arbeiten mit logi.CAD 3 beachten müssen:

Falls Sie Details zu einem Punkt benötigen, klicken Sie auf den danebenstehenden Link. Dadurch gelangen Sie zu einem Artikel, in dem üblicherweise der Punkt durch eine Warnung oder einen Hinweis präzisiert wird (durch das Zeichen images/download/thumbnails/414778331/ConfluenceWarning-version-1-modificationdate-1534246167423-api-v2.png oder images/download/thumbnails/414778336/ConfluenceNote-version-1-modificationdate-1534246187230-api-v2.png identifizierbar).
Falls Sie weitere Fragen zu einem Punkt haben und keine Informationen in der Benutzerdokumentation von logi.CAD 3 finden, kontaktieren Sie das Support-Team von logi.cals.

Andere nützliche Links:

Schritt-für-Schritt-Anleitungen
vom Installieren bis zum Testen Ihrer ersten Anwendung

Kurzanleitungen

weitere Aktionen

Referenzdokumentation

schnelles Suchen in der Benutzerdokumentation

Wie finde ich schnell einen bestimmten Befehl?

Beim Installieren

Zu beachten:

Details unter:

keine Sonderzeichen im Installationspfad von logi.CAD 3

Installieren

Bei Zielsystemen zusätzlich zu beachten:

falls Raspberry Pi als SPS verwendet wird:

zu installierende Version für →Laufzeitsystem

Für Kurzanleitung benötigte Hardware/Software

falls ein 64-Bit-System von Linux verwendet wird:

bestimmte Befehle im Terminal-Fenster ausführen

64 Bit Linux

Beim Starten

Zu beachten:

Details unter:

Zugriff zulassen, falls Windows-Sicherheitshinweise angezeigt werden

Entwicklungsumgebung und Laufzeitumgebung starten

je einen neuen Arbeitsbereich pro Start von logi.CAD 3 verwenden

(außerhalb des Installationsverzeichnisses von logi.CAD 3)

Entwicklungsumgebung und Laufzeitumgebung starten,
Arbeitsbereich wählen/wechseln


logi.CAD 3 in anderer Sprache starten

Wie ändere ich die Sprache für die Benutzeroberfläche?,
Elemente und Meldungen nach Start in englischer Sprache

Beim Erstellen von Projekten

Zu beachten:

Details unter:

keine Leerzeichen und Sonderzeichen im Projektnamen und der Position

Neues Projekt erstellen

Projekte nicht im Arbeitsbereich erstellen

Neues Projekt erstellen

verlinkte Ordner nach Importieren zu "eigentlichen" Ordner geworden

Projekt importieren

Beim Arbeiten im Projektexplorer

Zu beachten:

Details unter:

→Bibliotheken nicht manipulieren

Mit Projektexplorer verwalten

Dateierweiterungen nicht ändern

Ressourcen umbenennen

verlinkte Ordner in Archivdatei nicht mitexportieren

Ressourcen exportieren

Änderungen außerhalb logi.CAD 3 – Aktualisierung erforderlich

Über Status der SPS informieren,
Wann ist die auf die SPS geladene Anwendung nicht mehr aktuell?

Blenden Sie die Ordner src-gen oder target nur für Problembehebungen ein.

für allgemeine Informationen: Mit Projektexplorer verwalten
für Anweisungen zum Einblenden der Ordner: Sind meine Projekte aufwärts- und abwärtskompatibel?

Beim Erstellen der Anwendung

Allgemeine Programmierrichtlinien

Keine Erkennung von Endlosschleifen bzw. von fehlenden Abbruchbedingungen

Endlosschleifen sowie fehlende Abbruchbedingungen werden von logi.CAD 3 nicht erkannt. Achten Sie auf korrekte Abbruchbedingungen (z.B. mit Hilfe von IF-Anweisungen), mit denen Endlosschleifen verhindert werden.

Beispiel für Endlosschleife ohne Abbruchbedingung

Beispiel für Endlosschleife mit einer Abbruchbedingung

PROGRAM Test1
MyFun(1);
END_PROGRAM
 
FUNCTION MyFun
VAR_INPUT
In : INT;
END_VAR
 
MyFun(In + 1);
 
END_FUNCTION

Falls Sie solche Anwendungen auf die SPS dennoch laden, wird u.U. das →Laufzeitsystem beendet. In diesem Fall erscheint ein Fenster mit diesem Text: RTSLoader.exe funktioniert nicht mehrLösungen finden Sie im Troubleshooting-Artikel: Die SPS ist nicht ansprechbar. Das Laufzeitsystem reagiert langsam oder gar nicht.

PROGRAM Test1
MyFun(1);
END_PROGRAM
 
FUNCTION MyFun
VAR_INPUT
In : INT;
END_VAR
IF In < 10 THEN
MyFun(In + 1);
END_IF;
END_FUNCTION

Keine Prüfung von Rekursionen

Rekursionen bei →Funktionen und →Methoden werden von logi.CAD 3 nicht verboten oder geprüft. Erstellen Sie trotzdem keine Selbstaufrufe und vermeiden Sie einen gegenseitigen Aufruf von 2 (oder mehr) Funktionen/Methoden in Ihrer Anwendung.
Beachten Sie, dass Rekursionen von Funktionen/Methoden in Ihrer Anwendung unerwartete Ereignisse beim Ausführen der Anwendung verursachen können, z.B. könnte die Anwendung in einer Endlosschleife ausgeführt werden und/oder das →Laufzeitsystem reagiert nicht mehr.

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Im Gegensatz dazu werden Rekursionen bei →Funktionsbausteinen erkannt und als fehlerhaft markiert.

Beim Erstellen der Anwendung in ST

Zu beachten:

Details unter:

keine Prüfung von ungültigen Beschaltungen durch logi.CAD 3

(z.B. bei der Verwendung von Numeric-Funktionen, wie z.B. des EXPT-Bausteins, aber auch bei Verwendung des MUL_TIME-Bausteins)

Numeric-Funktionen
(z.B. EXPT-Baustein und MUL_TIME-Baustein)



keine Schlüsselwörter für Bezeichner verwenden

Reservierte Schlüsselwörter in ST

aktuell unterstützte ST-Elemente

Artikel im Abschnitt "Unterstützte ST-Syntax"

Ausdrücke mit über 20 Operanden/Operatoren beeinflussen die Performance.

Ausdrücke in ST

beim Zuweisen von Ausdrücken: keine Erkennung von mathematischen Fehlern

Ausdrücke in ST

Folgende ST-Elemente werden mit Einschränkungen unterstützt:

  • direkt abgeleitete Datentypen (z.B. max. 10 Ebenen für Verschachtelungen)

  • ARRAY-Datentyp (keine Referenz-Typen,
    ARRAY-Datentypen mit bis zu 4 Dimensionen,
    keine Prüfung bei Verwendung von Variablen und/oder Operatoren für ARRAY-Indizes)

  • strukturierter Datentyp (keine Initialisierung bei Funktionsbausteinen, keine Referenzen auf Funktionsbausteine)

  • ARRAY-Variablen (wie ARRAY-Datentyp)

  • Referenz-Variablen (z.B. keine Referenzen auf Typ eines Funktionsbausteins)

  • CASE-Anweisung (nur ANY_INT-Ausdrücke für den Selektor)


Verschiedenes für die Verwendung von Ein-/Ausgangsvariablen (= VAR_IN_OUT)

Deklaration von Ein-/Ausgangsvariablen in ST

Bei STRING-Variablen:

  • maximale Länge = 32.767

  • Zeichenkombination '$00'beendet die Zeichenfolge einer STRING-Variable.

Deklaration von STRING-Variablen (inkl. Zugriff)

keine Erkennung von Endlosschleifen bei REPEAT- und WHILE-Anweisungen

WHILE-Anweisung in ST, REPEAT-Anweisung in ST

Folgende Datentypen werden nicht unterstützt:

LTIME , WSTRING , WCHAR , LDATE_AND_TIME , LTIME_OF_DAY und LDATE

→allgemeiner Datentyp

Ungenauigkeiten bei Gleitkommazahlen (REAL- und LREAL-Werte)

Unterstützte Datentypen

Systembausteine, basierend auf der →IEC-Norm aber mit Einschränkungen:

  • Bitstring-Funktionen: SHL, SHR, ROL, ROR

  • Compare-Funktionen: EQ, GE, GT, LE, LT, NE

  • Convert-Funktionen: TO_BOOL, TO_DWORD, TO_LREAL, TO_LWORD, TO_REAL, TO_TIME, TO_WORD

  • Numeric-Funktionen: MOVE

  • Select-Funktionen: LIMIT, MAX, MIN, MUX_BYTE, MUX_DINT,
    MUX_DWORD, MUX_INT, MUX_SINT, MUX_UDINT,
    MUX_UINT, MUX_USINT, MUX_WORD, SEL

  • String-Funktionen: CONCAT, DELETE, FIND, INSERT, LEN, LEFT, MID, REPLACE, RIGHT


Systembausteine, basierend auf der →IEC-Norm aber mit Erweiterungen:

  • Bitstring-Funktionen: SHL, SHR

  • Convert-Funktionen: TO_BOOL, TO_BYTE, TO_DINT,
    TO_DWORD, TO_INT, TO_LINT, TO_LREAL, TO_LWORD,
    TO_REAL, TO_SINT, TO_UDINT, TO_UINT, TO_ULINT,
    TO_USINT, TO_WORD

  • Counter-Funktionsbausteine: CTD_UINT, CTU_UINT, CTUD_UINT

  • Numeric-Funktionen: EXPT

  • Select-Funktionen: MUX_BYTE, MUX_DINT, MUX_DWORD, MUX_INT, MUX_SINT, MUX_UDINT, MUX_UINT, MUX_USINT, MUX_WORD


Systembausteine in Erweiterung der →IEC-Norm:

  • erweiterte Bitstable-Funktionsbausteine

  • erweiterte Bitstring-Funktionen

  • erweiterte Control-Funktionsbausteine

  • erweiterte Convert-Funktionen

  • erweiterte Numeric-Funktionen

  • erweiterte Select-Funktionen

  • erweiterte Timer-Funktionsbausteine

  • erweiterte Memory-Funktionen

Je nach dem verwendeten Zielsystem:

Zu beachten:

Details unter:

Andere verfügbare Systembausteine

Beim Erstellen der Anwendung in FBS

Zu beachten:

Details unter:

Deklaration einer POE in einem FBS-Objekt möglich

POE in FBS erstellen

Beim Erstellen der Anwendung in KOP

Zu beachten:

Details unter:

Deklaration einer POE in einem FBS-Objekt möglich

POE in KOP erstellen

Kontakte/Spulen, die nicht in Funktionen zur Verfügung stehen

Kontakte in KOP und Spulen in KOP

Beim Erstellen von Bausteinen mit C-Code

Mögliche Probleme für eine Anwendung durch Namenskonflikte im C-Code (z.B. bei Vendor-Bausteine und Import eines Simulink-Modells).

Falls Sie nicht-eindeutige Namen im →C-Code verwenden und diese sind im globalen Namespace verfügbar, ist es möglich, dass Konflikte bei der Verwendung von mehreren Bausteinen mit solchem C-Code verursacht werden. Diese Konflikte verursachen jedoch nicht immer Fehler/Warnungen beim Erstellen der Anwendung. In Folge ist es möglich, dass das Laufzeitverhalten auf eine unerwünschte Weise beeinflusst wird.
Beispiel: Die Sicht Variablenwerte zeigt 2 Variablen, denen der Ergebniswert von POU1 bzw. POU2 zugewiesen ist. Der Wert für Program1.rc2 zeigt den unerwarteten Wert 1, während im C-Code tatsächlich der Wert 2 zugewiesen ist. Das Problem wird aufgrund des gleichen Namen RESULT im C-Code der 2 Vendor-Bausteine POU1 bzw. POU2 verursacht.
images/download/attachments/486703346/NameConflict01-version-1-modificationdate-1644238179360-api-v2.png


Zusätzliche Information: Dieses Problem betrifft:

Abhilfe 1: Verwenden Sie POE-eindeutige Namen (wenn möglich, sogar projekt- und POE-eindeutig) für alle C-Identifier, die in einem globalen Namespace verfügbar sind. Falls Sie ein Simulink-Modell importieren, verwenden Sie am besten die eindeutigen Namen bereits im Simulink-Modell.
Abhilfe für das obige Beispiel: Die Sicht Variablenwerte zeigt nun den erwarteten Wert 2 für Program1.rc2, da nun POE-eindeutige Namen im C-Code verwendet werden.
images/download/attachments/486703352/NameConflict02-version-1-modificationdate-1644238318505-api-v2.png

Abhilfe 2: Falls Sie die Bausteine mit C-Code in einer Bibliothek zur Verfügung stellen, geben Sie die Bausteine in der Bibliothekskonfiguration mit DEPLOY:=OBJECT an (siehe unter "Deklaration des Inhalts für die Bibliothek" für Details zu DEPLOY:=OBJECT). In Folge wird beim Erstellen der Bibliothek der Binärcode für die POE getrennt erstellt.


Beim Definieren von Einstellungen für die SPS

Zu beachten:

Details unter:

max. 32 Tasks pro Ressource

Mehrere Tasks im SPS-Objekt deklarieren

Einschränkungen bei der Ausführung von mehreren Programmtypen

Mehrere Programmtypen zuordnen (= neue Instanzen erstellen)

Einschränkungen für VAR_CONFIG-Abschnitte

VAR_CONFIG-Abschnitte im SPS-Objekt deklarieren

Beim Testen der Anwendung

Zu beachten:

Details unter:

Anzeige in Sicht Instanzen : nur Basis-Typ für ARRAY-Variablen

Variablen einfügen und Werte beobachten

Wert für Variable ändern ≠ Forcen

Wert für Variable ändern (Wert auf SPS schreiben)

eingesetztes Zielsystem beeinflusst evtl. in logi.CAD 3 eingegebene/ dargestellte Literale

Anwendung testen oder Daten debuggen

Bei Zielsystemen zusätzlich zu beachten:

Standard-Timer-Auflösung für Linux-Betriebssysteme

Zykluszeit im SPS-Objekt eingeben

Beim Debuggen der Anwendung

Zu beachten:

Details unter:

  • Das Debuggen ist nur für Anwendungen möglich, die auf die integrierte SPS geladen sind.

  • Änderungen der Source-Dateien (während der Debugging-Sitzung) können unerwartete "Sprünge" in der Debugging-Sitzung verursachen.

Kontrollfluss-Debuggen: Anwendung mit Unterbrechungspunkte debuggen

  • Die Debugging-Sitzung muss beendet werden, bevor logi.CAD 3 beendet wird.

  • Durch das Beenden der Debugging-Sitzung wird die integrierte SPS automatisch gestoppt.

Debugging beenden

Beim Erstellen der Anwendung in →C oder →C++

Zu beachten:

Details unter:

beim Erstellen von Projekten eine andere Position für C/C++-Projekte verwenden

Die gleiche Positon für C-/C++-Projekte bzw. andere Projekte verursacht Probleme

  • Geänderte Schnittstellen für C-/C++-Funktionen ohne Anpassungen verursachen Fehler beim Laden auf SPS.

  • Kommentare in C-Bausteinen nicht im C++-Stil eingeben.

Beim Verwenden eines Raspberry Pis

Zu beachten:

Details unter:

Voraussetzungen für SD-Karte

Für Kurzanleitung benötigte Hardware/Software

zu installierende Version für Laufzeitsystem

Für Kurzanleitung benötigte Hardware/Software

Spannungsversorgung für Raspberry Pi

Raspberry Pi zusammenstecken und IP-Adresse ermitteln

Standardeinstellung en_GB.UTF-8 UTF-8 aktiviert

Raspberry Pi konfigurieren

bei Datenübertragung via MQTT: Verbindung für TCP-Port steuern

Datenübertragung via MQTT vorbereiten/durchführen

Standard-Timer-Auflösung für Linux-Betriebssysteme (z.B. Raspbian)

Zykluszeit im SPS-Objekt eingeben

Bei Zugriff auf Hardware-IOs via EC-Master und EC-Engineer

Zu beachten:

Details unter:

beim Vorbereiten der Umgebung: Voraussetzungen für Netzwerkkarte

Umgebung für Zugriff auf Hardware-IOs vorbereiten

Laufzeitsystem unter Windows installieren (enthält eine Evaluierungsversion des EC-Masters)

Umgebung für Zugriff auf Hardware-IOs vorbereiten

Keine der Ressource-globalen Variablen ändern

Auf Hardware-IOs via EC-Engineer zugreifen

Beim Ändern des Layouts

Zu beachten:

Details unter:

unterschiedliche Schritte zum Verschieben/Andocken von Sichten/Editoren
(sofern diese außerhalb von logi.CAD 3 liegen)

Sichten und Editoren verschieben oder andocken,
Fenster nach dem Verschieben verschwunden