Release-Notes für Version 1.50.0

Dieser Artikel enthält die Release-Notes für logi.CAD 3 , Version 1.50.0.Sie gelten auch für logi.CAD 3 , Version 0.50.0. Außerdem finden Sie in diesem Artikel auch Release-Notes, die nur für logi.CAD 3 , Version 0.50.0 gültig sind. Die Release-Notes für die aktuelle Version finden Sie unter "Release-Notes für aktuelle Version".

Inhalt dieses Artikels:

Allgemeine Informationen

Zu →logi.RTS:

Wenn Sie  logi.CAD 3 , Version 1.50.0oder  logi.CAD 3 , Version 0.50.0verwenden, installieren und verwenden Sie die folgende Version von logi.RTS:

Das Installationspaket für logi.RTS ist im Lieferumfang von  logi.CAD 3  enthalten.

Zur Kompatibilität:
Falls Sie eine frühere Version von  logi.CAD 3  verwendet haben und die aktuelle Version verwenden wollen, lesen Sie unter "Sind meine Projekte aufwärts- und abwärtskompatibel?" nach, welche Punkte Sie beachten müssen.
Zum Raspberry Pi:

Lesen Sie in der Kurzanleitung Raspberry Pi in Betrieb nehmen nach, welche →Raspbian-Version für die Verwendung von  logi.cals  empfohlen wird.
Falls Sie eine neuere Version von →Raspbian einsetzen wollen, kommt u.U. ein Linux-Kernel ≥ Version 3.18 zum Einsatz. In diesem Fall können Probleme beim Hardwarezugriff auftreten (speziell auf Bus-Systeme, wie z.B. →I2C, SPI usw.). Im Zusammenhang mit →logi.RTS äußert sich die Problematik derart, dass z.B. Ein-/Ausgänge von →PiFace-Modulen trotz erfolgreicher Initialisierung nicht angesprochen werden können. Nähere Informationen zur Konfiguration von Linux-Systemen mit aktuellem Kernel finden Sie unter: http://www.forum-raspberrypi.de/Thread-tutorial-geraetetreiber-und-device-tree-dt

Neuigkeiten in logi.CAD 3 , Version 1.50.0

IDNeuigkeiten
8644

Die Funktionen PACK, UNPACK2, UNPACK4 und UNPACK8 stehen nun zur Verfügung.

  • Der PACK-Baustein liefert als Ergebnis die übertragenen Werte der Bytes, die an den Eingängen anliegen.
  • Die UNPACK-Bausteine übertragen den Wert, der am Eingang anliegt, byteweise auf die Ausgänge.

Siehe Neuer Baustein bzw. neue Bibliothek ist nicht in bestehenden Projekten verfügbar, falls Sie die Bausteine in bestehenden Projekten verwenden wollen.

9144Der Assert-Baustein steht zur Verfügung. Sie können mit diesem Baustein eine Aussage über den Zustand eines Elements der Anwendung (z.B. einer Variable) treffen. Somit können Sie logische Fehler in Ihrer Anwendung erkennen und/oder die Einhaltung von Spezifikationen überpüfen.

Neuigkeiten in logi.CAD 3 , Version 0.50.0

keine

Behobene Probleme in logi.CAD 3 , Version 1.50.0

Klicken Sie (mehrmals) auf eine Spaltenüberschrift, falls Sie den Tabellen-Inhalt anders sortieren wollen.

IDBehobenes Problem
8925

"Anwendung laden" verursacht Terminierung von logi.RTS auf einem Raspberry Pi, falls die geladene Anwendung auf eine ungültige Pinbase der Systembausteine für das PiFace zugreift.
Behebung: logi.RTS wird in diesem Szenario nicht mehr terminiert. Zusätzlich ist der Baustein RP_pcf8591Setup ab der Version 1.50.0 nicht mehr verfügbar. Für den Zugriff auf PCF8591-ICs verwenden Sie die Bausteine für I2C-Elemente.
Szenario für Problem: Wenn Sie die Schaltfläche Anwendung laden in der Sicht SPS drücken und die Anwendung greift auf eine ungültige Pinbase der Systembausteine für das PiFace zu (z.B. 16), terminiert logi.RTS auf einem Raspberry Pi. In der Konsole von logi.RTS erscheint z.B. die Meldung wiringPiNewNode: pinBase of 16 is < 64.
Zusatzinformation: Der Eingang pinBase des RP_piFaceSetup-Bausteins ist die Basis zur Adressierung der PiFace-Pins. Diese Basis sollte größer als oder gleich 64 sein.

8951

Eine Ausnahmesituation wird u.U. beim Speichern eines fehlerhaften ST-Objekts verursacht.
Behebung: Diese Ausnahmesituation tritt nicht mehr auf.
Szenario für Problem: Falls Sie ein fehlerhaftes ST-Objekt speichern, tritt u.U. eine Ausnahmesituation auf. In diesem Fall erscheint der Eintrag com.logicals.iec.model.pou.impl.DeclaredVariableImpl cannot be cast to com.logicals.iec.model.type.TypeDefinition im Fehlerprotokoll.
Zusatzinformation: Die Ausnahmesituation tritt nur bei bestimmten Fehlern auf. Beispiel: Variablen basieren auf einem anwenderdefinierten Datentyp, der gelöscht wurde.

8991

Geänderte physikalische Adressen werden beim Laden der Anwendung nicht berücksichtigt.
Behebung: Geänderte physikalische Adressen werden beim Laden der Anwendung berücksichtigt.
Szenario für Problem: Falls Sie bereits definierte physikalische Adressen (= Hardware-Adressen) für globale Variablen ändern, werden diese Änderungen beim anschließenden Laden der Anwendung nicht berücksichtigt.

Beispiel für eine globale Variable mit einer physikalischen Adresse
VAR_GLOBAL
  VALVE_POS AT %QW28 : INT;
END_VAR
9017

Verzögerung beim Schließen der Sicht "SPS".
Behebung: Das Problem tritt nun nicht mehr auf.
Szenario für Problem: Wenn Sie die Sicht SPS schließen, benötigt logi.CAD 3 etwas Zeit, bis die Sicht geschlossen ist.

Behobene Probleme in logi.CAD 3 , Version 0.50.0

IDBehobenes Problem
8956

"Anwendung laden" verursacht Terminierung von logi.RTS, falls ein C-Baustein eine Referenz-Eingangsvariable vom Datentyp STRING enthält und darauf eine STRING-Variable zugewiesen wird.
Behebung: Ein C-Baustein bzw. eine ST-Funktion darf nun keine Referenz-Eingangsvariable vom Datentyp STRING enthalten. Weiters ist eine Referenz auf eine Variable vom Datentyp STRING als Rückgabewert nicht erlaubt. Solche Deklarationen werden als fehlerhaft markiert.
Szenario für Problem: Wenn Sie die Schaltfläche Anwendung laden in der Sicht SPS drücken und die geladene Anwendung enthält einen C-Baustein mit einer Referenz-Eingangsvariable vom Datentyp STRING und darauf wird eine STRING-Variable zugewiesen (siehe Beispiel), terminiert logi.RTS. Ein Fenster mit dem Text RTSLoader.exe funktioniert nicht mehr erscheint.

Beispiel für C-Baustein
{extern_c}
FUNCTION MyBlock
  VAR_INPUT
    In1 : INT;
    In2 : REF_TO STRING;
  END_VAR
END_FUNCTION
Beispiel für Verwendung des C-Bausteins
PROGRAM Program1
  VAR
    Var1 : STRING[64];
  END_VAR
  MyBlock(In1 := 42, In2 := REF(Var1));
END_PROGRAM

Bekannte Probleme in logi.CAD 3 , Version 1.50.0

Klicken Sie (mehrmals) auf eine Spaltenüberschrift, falls Sie den Tabellen-Inhalt anders sortieren wollen.

ID

Bekanntes Problem

1795

Befehl "Öffnen mit", "Direkt angezeigter Editor" nicht erfolgreich
Szenario: Wenn Sie im Kontextmenü des Projektexplorers den Befehl Öffnen mit und Direkt angezeigter Editor wählen (z.B. für ein ST-Objekt), wird folgende Meldung angezeigt: Wiederherstellen des direkten Editors nicht möglich. Direktunterstützung fehlt
Abhilfe: Verwenden Sie den Befehl Öffnen mit und ST-Editor, um ST-Objekte und SPS-Objekte zu öffnen. Für andere Objekte, wie z.B. Textdateien, können Sie den Befehl Öffnen mit und Texteditor verwenden.

1844

"Umbenennen" und "Löschen" im Projektexplorer nach dem Starten von logi.CAD 3 möglich
Szenario: Nach dem Starten von logi.CAD 3  können Sie die Befehle Umbenennen bzw. Löschen aufrufen (aus dem Menü Datei bzw. Bearbeiten oder via Tastenkombination F2 bzw. Entf), obwohl diese keine sinnvolle Funktionalität haben.
Zusatzinformation: Dieses Problem tritt auch auf, falls Sie einen neuen Arbeitsbereich wählen oder den Arbeitsbereich wechseln und im Projektexplorer sind keine Projekte enthalten.
Abhilfe: Erstellen Sie ein Projekt und selektieren Sie zumindest eine Ressource darin, bevor Sie den entsprechenden Befehl aufrufen.

1920

Fehlermeldung beim Umbenennen von Projekten, die nicht im Arbeitsbereich liegen
Szenario: Wenn Sie ein Projekt außerhalb des Arbeitsbereichs erstellt haben und dieses anschließend umbenennen, werden interne Fehler angezeigt, dass die Datei .project (im Arbeitsbereich) für das Projekt nicht vorhanden ist. Das Umbenennen selbst hat jedoch funktioniert.
Zusatzinformation: Das Problem wird durch verlinkte Ordner verursacht, die Systembausteine enthalten. Beispiele für solche Ordner: IEC61131-3, Raspberry Pi IO. Diese verlinkten Ordner müssen jedoch im Projekt vorhanden sein, damit Sie Systembausteine in Ihrem ST-Code verwenden können.
Abhilfe (empfohlen, um die Meldung zu vermeiden):

  • Löschen Sie solche verlinkten Ordner im Projekt, das Sie umbenennen wollen.
  • Benennen Sie das Projekt um.
  • Erstellen Sie ein temporäres Projekt, das die verlinkten Ordner enthält.
  • Ziehen Sie die verlinkten Ordner aus dem temporären Projekt in das umbenannte Projekt.
  • Löschen Sie das temporäre Projekt.

Abhilfe (falls die Meldung bereits aufgetreten ist):

  • Im Explorer des Betriebssystems: Gehen Sie zum Ordner, der in der Meldung genannt wird und die Datei .project enthält. Löschen Sie diesen Ordner.
  • Löschen Sie die internen Fehler aus der Sicht Fehlerprotokoll.
2752

Kommentare werden beim Formatieren des Codes nicht zueinander ausgerichtet. Bei einem Kommentar am Anfang der Datei wird eine Leerzeile eingefügt.
Szenario: Falls Sie bereits vorhandenen ST-Code mit dem Befehl Formatieren (im Kontextmenü) bzw. der Tastenkombination Strg+Umschalt+F formatieren, werden Kommentare im ST-Code u.U. nicht zueinander ausgerichtet (siehe Beispiel).
Beispiel (vor dem Formatieren):

FUNCTION_BLOCK FUB_LEDCylon
    /*
     * The LEDs are shifted back and forth.
     */
END_FUNCTION_BLOCK

wird zu (nach dem Formatieren):

FUNCTION_BLOCK FUB_LEDCylon
/*
     * The LEDs are shifted back and forth.
     */
END_FUNCTION_BLOCK

Falls außerdem am Anfang der Datei ein Kommentar vorhanden ist, wird eine Leerzeile vor diesem Kommentar eingefügt. Dadurch beginnt die Datei mit einer Leerzeile.
Abhilfe: nicht vorhanden

2809

Verlinkte Ordner werden beim Exportieren eines Projekts in eine Archivdatei berücksichtigt.
Szenario: Falls Sie ein Projekt in eine Archivdatei exportieren, wird der Inhalt von verlinkten Ordner (z.B. IEC61131-3 mit den IEC-Bausteinen) ebenfalls exportiert. Falls Sie anschließend das Projekt aus der Archivdatei importieren, sind die zuvor verlinkten Ordner zu "eigentlichen" Ordnern im Projekt geworden. In Folge treten möglicherweise Probleme auf, wenn Sie die Objekte verwenden, die im (eigentlich verlinkten) Ordner liegen; z.B. wenn Sie die IEC-Bausteine im ST-Code erfassen.
Abhilfe: Beim Exportieren in eine Archivdatei klappen Sie das zu exportierende Projekt in der linken Liste des Dialogs auf, entfernen Sie die Markierung für die verlinkten Ordner und drücken Sie erst dann Fertigstellen, um den Export zu starten. Nach dem Importieren sind die verlinkten Ordner im Projekt automatisch vorhanden.

6049

Beim Ersetzen eines ST-Codes, der aus einer Vorlage stammt, erscheint u.U. ein Dialog mit einem Fehlersymbol, aber ohne Fehlertext.
Szenario für Problem: Wenn Sie einen ST-Code aufgrund einer Vorlage aus der Inhaltshilfe eingefügt haben und diesen durch den ST-Code einer neuen Vorlage ersetzen, erscheint u.U. ein Dialog mit einem Fehlersymbol, aber ohne Fehlertext. Nach dem Bestätigen des Dialogs werden nur die ersten Buchstaben vom ST-Code der neuen Vorlage eingefügt.
Beobachtet wurde dieses Problem, als ST-Code aufgrund der Vorlage for eingefügt wurde, dieser Code selektiert wurde und dann die Vorlage while in der Inhaltshilfe ausgewählt wurde. Nach dem Bestätigen des Dialogs wurde nur whi eingefügt.
Abhilfe: Löschen Sie zuerst den bereits eingefügten ST-Code. Fügen Sie erst dann die neue Vorlage aus der Inhaltshilfe ein.

7259

Eine Ausnahmesituation wird verursacht, wenn Sie ein Projekt schließen, das beim Starten von logi.CAD 3 mit mehreren Editoren bereits geöffnet ist.
Szenario für Problem: Wenn Sie ein Projekt schließen, das beim Starten von logi.CAD 3 geöffnet ist und gleichzeitig zumindest 2 Editoren geöffnet sind, wird das Projekt geschlossen, allerdings wird nur einer der Editoren geschlossen. Außerdem wird diese Meldung in einem Fenster und in der Sicht Fehlerprotokoll angezeigt: An internal error occurred during "Calculating highlighting". Es handelt sich dabei um eine Ausnahmesituation.
Abhilfe: Bestätigen Sie die Meldung im Fenster und schließen Sie die weiterhin geöffneten Editoren des Projekts (z.B. Menü Datei, Befehl Alle schließen). Löschen Sie das Fehlerprotokoll, falls Sie die Meldungen dort nicht mehr benötigen.

8898

"Mit Editor verlinken" im Projektexplorer hat manchmal keine Funktionalität.
Szenario für Problem: Bei gewählter Schaltfläche Mit Editor verlinken im Projektexplorer passiert manchmal nichts, wenn Sie den aktiven Editor wechseln. Tatsächlich sollte die Selektion im Projektexplorer mit dem aktiven Editor verlinkt werden.
Abhilfe: siehe Troubleshooting-Artikel Das Wechseln des aktiven Editors aktualisiert nicht die Selektion im Projektexplorer

9139

Die Anwendung kann nicht geladen werden, falls Sie auf eine dereferenzierte STRING-Variable mit Hilfe eines Index zugreifen.
Szenario für Problem: Falls Sie mit Hilfe eines Index auf eine dereferenzierte STRING-Variable in Ihrer Anwendung zugreifen (siehe Beispiel), kann die Anwendung nicht geladen werden. Diese Meldung erscheint: Die Anwendung für die SPS kann nicht erstellt werden.

Beispiel
PROGRAM Test
  VAR
    str : STRING[100];
    strref : REF_TO STRING[100] := REF(str);
    byteref : REF_TO BYTE;
  END_VAR
  VAR
    str_ofs : UINT;		
  END_VAR
  byteref := GET_BYTE_REF(IN:=strref^[str_ofs + 1]); (* accessing the dereferenced STRING-variable 'strref' by means of an index *)
END_PROGRAM

Abhilfe: nicht vorhanden

9215

Beim umfassenden Ändern eines umfangreichen Projekts wird möglicherweise eine verwirrende Fehlermeldung angezeigt.
Szenario für Problem: Falls Sie den Inhalt eines ST-Objekt in einem umfangreichen Projekt umfassend ändern, wird möglicherweise die Meldung index=0, size=0 in der Sicht Fehlerprotokoll angezeigt. Zusätzlich werden Syntaxfehler im neu eingegebenen Text für das Objekt nicht als fehlerhaft markiert.
Abhilfe: nicht vorhanden

9248

Wenn Sie Referenzen auf STRING-Variablen mit NULL vergleichen, wird ein Typisierungsfehler angezeigt.
Szenario für Problem: Der Vergleich der Variable str_ref im folgenden Beispiel führt zu einem Typisierungsfehler.

Beispiel
PROGRAM Counter
	VAR
		str : STRING[100];
		str_ref : REF_TO STRING[100];
	END_VAR
	
	if str_ref = NULL THEN /* type resolving error */
	END_IF;
END_PROGRAM
Abhilfe: nicht vorhanden
9252

Aufruf der Funktion CONCAT mit dem Ergebnis einer benutzerdefinierten Funktion bringt logi.RTS zum Absturz
Szenario für Problem: Der Aufruf von CONCAT mit dem Ergebnis der Funktion getBase() im folgenden Beispiel führt zum Absturz des logi.RTS.

Beispiel
FUNCTION getBase : STRING[20]
       getBase := 'PROGRAM1';
END_FUNCTION

PROGRAM Program1
       VAR
             s : UDINT;
             str : STRING[256];
       END_VAR

    str := CONCAT(getBase(),'.W4');
       
END_PROGRAM

Abhilfe: Weisen Sie das Ergebnis des Funktionsaufrufs vor Aufruf der CONCAT-Funktion einer Variablen zu (siehe Beispiel).

Beispiel
FUNCTION getBase : STRING[20]
getBase := 'PROGRAM1';
END_FUNCTION

PROGRAM Program1
       VAR
             s : UDINT;
             str : STRING[256];
       END_VAR

    str := getBase();
    s := SIZEOF(CONCAT(str,'.W4'));
       
END_PROGRAM

Bekannte Probleme in logi.CAD 3 , Version 0.50.0

keine