Release-Notes für Version

Dieser Artikel enthält die Release-Notes für  logi.CAD 3  Version  1.124.0 .

(info) Die Release-Notes für Versionen > 1.122.0 werden in diesem Artikel angezeigt, nachdem Sie die benötigte Version in der linken Auswahlliste gewählt haben. Die Release-Notes für Versionen < 1.122.0 finden Sie hingegen im Abschnitt "Release-Notes für Versionen < 1.122.0". 

Inhalt dieses Artikels:

Allgemeine Informationen

Zu →logi.RTS:

Bei der Verwendung von  logi.CAD 3  Version  1.124.0 , installieren und verwenden Sie die Version 3.37.1
von logi.RTS.
Das Installationspaket für logi.RTS ist im Lieferumfang von  logi.CAD 3  enthalten.

(warning) Falls Sie eine ältere Version von logi.RTS verwenden, ist es u.U. nicht möglich, sich zum Zielsystem aus logi.CAD 3 heraus erfolgreich zu verbinden (siehe Troubleshooting-Artikel "Keine Verbindung zum Zielsystem, stattdessen werden Fehlermeldungen angezeigt.").
(info) Informieren Sie sich im FAQ-Artikel "Wann ist die logi.RTS-Version auf der SPS zu aktualisieren?", falls Sie kontrollieren wollen, ob die zu logi.CAD 3 passende Version von logi.RTS auf der SPS verwendet wird.

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.

logi.CAD 3 wird für 32-Bit-Windows-Systeme nicht mehr unterstützt.
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.

Zu den Systembibliotheken:Siehe "Release-Notes für Systembibliotheken".

Neuigkeiten in  logi.CAD 3  Version  1.124.0

IDKomponenteNeuigkeiten
9597logi.RTS, OPC UA

Falls Sie logi.RTS mit OPC UA verwenden, kann ein OPC-UA-Client, wie das kostenfreie Hilfstools UaExpert, nun auch Referenzvariablen (= REF_TO) anzeigen.

Beachten Sie:

  • Über REF_TO referenzierte Variablen können nun also in UaExpert gelesen werden. Standardmäßig ist es ebenfalls möglich, auf diese Variablen zu schreiben.
    Falls Sie das Schreibrecht deaktivieren wollen, müssen Sie die Datei LogicalsOpcUaSettings.xml entsprechend konfigurieren.
  • Selbstreferenzierende Strukturdatentypen (also Strukturen, bei dem ein Element durch REF_TO auf den eigenen Datentyp verweist) werden ebenfalls unterstützt. Sie können die maximale Anzeigetiefe von solchen Verweisen ebenfalls in der Datei LogicalsOpcUaSettings.xml konfigurieren.

Informationen zur entsprechenden Konfiguration finden Sie unter "OPC UA für logi.RTS in Betrieb nehmen", im Unterabschnitt "logi.RTS konfigurieren".

23014Eigene Bibliotheken erstellen

logi.CAD 3 ermöglicht nun, eine eigene Bibliothek als Snapshot-Bibliohek zu erstellen. Dafür geben Sie in der Bibliothekskonfiguration den Suffix .SNAPSHOT bei der Versionsnummer der Bibliothek an:

LIBRARY com.Musterfirma.Controller
  VERSION := 1.1.0.SNAPSHOT;
  FOLDER ...
END_LIBRARY

Die Vorteile von Snapshot-Biblioheken:

  • Das Erzeugen, Bereitstellen und Installieren der ersten Ausführung einer Snapshot-Bibliohek erfolgt wie üblich.
  • Alle nachfolgenden Änderungen der Snapshot-Bibliothek erfolgen ohne Änderung der Versionsnummer in der Bibliothekskonfiguration. Nun ist es nur mehr nötig, die geänderte Snapshot-Bibliohek zu erzeugen und bereitzustellen. Das Installieren der geänderten Snapshot-Bibliothek ist nicht nötig. Grund: logi.CAD 3 aktualisiert alle installierten Snapshot-Bibliotheken automatisch sowohl beim Öffnen und Importieren des Projekts als auch beim Starten von logi.CAD 3 .

logi.cals empfiehlt Snapshot-Bibliothken nur zu erzeugen und bereitzustellen, solange diese Bibliotheken getestet werden. Grund: Die Aktualisierung der Snapshot-Bibliotheken kann das Öffnen/Importieren des Projekts bzw. das Starten von logi.CAD 3 verlängern.
Sobald also eine Bibliothek finalisiert ist und zur Verwendung (z.B. durch Kollegen) freigegeben werden soll, vergeben Sie eine neue Versionsnummer (ohne .SNAPSHOT). Dann erzeugen Sie die finalisierte Bibliothek und stellen Sie diese bereit. Diese finalisierte Bibliohek muss für jedes Projekt installiert werden, in dem diese Bibliohek verwendet werden soll.

Behobene Probleme in  logi.CAD 3  Version  1.124.0

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

IDKomponenteBehobenes Problem
27306Eigene Bibliotheken

Beim Installieren einer Bibliothek wird möglicherweise eine Ausnahmebedingung verursacht.
Behebung: Die Ausnahmebedingung wird beim folgenden Szenario nicht mehr verursacht.
Szenario für Problem: Falls Sie eine Bibliothek installieren, in der eine POE dieser Bibliothek eine andere POE verwendet und diese andere POE ist nicht in der Bibliothek enthalten, wird eine Ausnahmebedingung verursacht. In diesem Fall erscheint der folgende Eintrag im Fehlerprotokoll: java.lang.RuntimeException: java.lang.NullpointerException
Zusatzinformation: Falls eine POE der Bibliothek eine andere POE verwendet, wird diese nicht automatisch in die komprimierte Bibliothek kopiert. Das heißt, vor dem Erzeugen der komprimierten Bibliothek müssen alle verwendeten POE durch die Anweisungen IEC := ... spezifiziert werden. Dies gilt auch für Datentypen.

27356Sicht "Instanzen", Sicht "Variablewerte"

Nach dem Einfügen einer Variable mit Verschachtelung/Rekursion aufgrund von REF_TO in die Sicht "Variablenwerte" sind Benutzeraktionen nicht mehr möglich.
Behebung: Die Sicht Instanzen zeigt maximal 50 Ebenen für eine Variable mit Verschachtelung/Rekursion aufgrund von REF_TO an. Nun ist es möglich, die Variable in die Sicht Variablenwerte zu ziehen.
Szenario für Problem: Falls eine Variable auf Basis eines Strukturdatentyps deklariert ist und eines der Strukturelemente eine Rekursion aufgrund einer Referenz (REF_TO) auf den gleichen Strukturdatentyp verursacht, kann diese Anwendung trotz dieser Rekursion auf die SPS geladen werden. Falls Sie die Variable anschließend von der Sicht Instanzen in die Sicht Variablenwerte ziehen, wird diese Variable aber nicht eingefügt. Die Sicht Variablenwerte reagiert außerdem nur mehr träge und möglicherweise können andere Benutzeraktionen, wie z.B. das Bereinigen des Projekts, nicht mehr gestartet werden.

27375Sicht "Instanzen", Sicht "Variablewerte"

Nach dem Einfügen einer Variable mit Verschachtelung/Rekursion in die Sicht "Variablenwerte" reagieren möglicherweise einige Sichten auf Benutzeraktionen nicht mehr.
Behebung: Nach dem Einfügen einer solchen Variable wird nun die folgende Meldung angezeigt: Eine oder mehrere Variablen wurden aufgrund von Rekursionen nicht eingefügt. Prüfen Sie die Sicht "Fehler" für Details.
Szenario für Problem: Falls eine Variable auf Basis eines Strukturdatentyps deklariert und eines der Strukturelemente auf Basis des gleichen Strukturdatentyps deklariert ist, wird die rekursive Verwendung als Fehler gemeldet. Falls Sie die Variable dennoch von der Sicht Instanzen in die Sicht Variablenwerte ziehen, reagieren die Sichten Instanzen und Variablenwerte gar nicht oder nur mehr träge. Außerdem tritt eine Ausnahmebedingung in logi.CAD 3 auf. Diese Ausnahmebedingung ist durch den Eintrag Unhandled event loop exception im Fehlerprotokoll erkennbar.

27519Anwendung validieren

Die geänderte Konfiguration für eine Regel mit dem Typ "FAST" wird nicht für einen geöffneten Editor angewendet.
Behebung: Die Probleme laut dem folgenden Szenario treten nicht mehr auf.
Szenario für Problem: Für das Validieren einer Anwendung können Prüfungen auf Regelverletzungen durch die Eingabe/Änderung in einem Editor ausgelöst werden. Dafür müssen Sie den Typ FAST bei der entsprechende Regel einstellen. Falls Sie jedoch eine Regel mit diesem Typ aktivieren, während ein Editor geöffnet ist, wird die Prüfung auf Regelverletzungen nicht durch die Änderung im geöffneten Editor ausgelöst.
Beispiel: Falls Sie die Regel Linien, die von rechts nach links führen, dürfen nicht verwendet werden aktivieren und die Klasse ERROR und den Typ FAST für diese Regel einstellen, werden solche Linien im geöffneten FBS-Editor nicht als fehlerhaft markiert – auch dann nicht, wenn so eine Linie neu erstellt wird. Laut der Regelkonfiguration sollten solche Linien aber als Fehler gemeldet werden.
Zusatzinformation: Das gleiche Problem trifft auch zu, falls Sie eine Regel mit dem Typ FAST deaktiveren, während ein Editor geöffnet ist. In diesem Fall wird die Prüfung auf Regelverletzungen weiterhin durch die Änderung im geöffneten Editor ausgelöst. Nun sollten die Regelverletzungen aber gar nicht mehr gemeldet werden.

27525Eigene Bibliotheken erstellen

Der Befehl "Testsuite erstellen" steht möglicherweise im Kontextmenü für Bibliothekselemente zur Verfügung. Der Befehl sollte jedoch nicht ausgeführt werden.
Behebung: Der Befehl Testsuite erstellen steht nicht mehr im Kontextmenü für Bibliothekselemente zur Verfügung.
Szenario für Problem: Wenn Sie eine Funktion aufklappen, die in einer Bibliothek vorhanden ist, und das Kontextmenü für das Unterelement öffnen, ist der Befehl Testsuite erstellen verfügbar. Falls Sie diesen Befehl auswählen, erscheint diese Meldung: Testsuite konnte basierend auf POE "Name" nicht erstellt werden. Bereinigen Sie das Projekt, bevor Sie es erneut versuchen. – Dennoch wird die Testsuite innerhalb der Bibliothek erstellt, wodurch der Inhalt der Bibliothek verändert wird. Allerdings sollte es nicht möglich sein, den Inhalt einer bereits generierten Bibliothek so zu verändern.

27547Schnittstellen-Editor

Eine Ausnahmebedingung wird beim Öffnen des Schnittstellen-Editors durch den Befehl via "Öffnen mit" verursacht.
Behebung: Der Befehl Öffnen mitAndere... und der Eintrag Schnittstellen-Editor öffnen nun den Schnittstellen-Editor. Die Ausnahmebedingung wird nicht mehr verursacht.
Szenario für Problem: Falls Sie versuchen, den Schnittstellen-Editor mit Hilfe des Befehls Öffnen mitAndere... und dem Eintrag Schnittstellen-Editor zu öffnen, wird nicht der Schnittstellen-Editor geöffnet. Stattdessen wird der folgende Text im Register angezeigt, in dem eigentlich der Schnittstellen-Editor angezeigt werden sollte: org.eclipse.ui.part.FileEditorInput cannot be cast to com.logicals.iec.interfaze.ui.InterfaceEditorInput
Dieser Text und die folgenden Einträge im Fehlerprotokoll deuten auf eine Ausnahmebedingung hin:

Unable to create part
    org.eclipse.ui.part.FileEditorInput cannot be cast to com.logicals.iec.interfaze.ui.InterfaceEditorInput
Unable to initialize part
TF-1214Testframework

Die Testabdeckung wird nicht angezeigt, wenn die POE in einem Namespace deklariert ist.
Behebung: Die Testabdeckung wird auch für POE in einem Namespace angezeigt.
Szenario für Problem: Falls eine POE im Namespace deklariert ist und Tests mit Testabdeckung für diese POE ausgeführt werden, werden diese Tests ausgeführt. Wenn Sie jedoch versuchen, die Testabdeckung anzuzeigen, wird keine Testabdeckung angezeigt.

Bekannte Probleme in  logi.CAD 3  Version  1.124.0

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

ID

Komponente

Bekanntes Problem

26433ST-Editor

Anwendungen mit AS-Elementen (in ST) verhalten sich möglicherweise nicht wie erwartet.
Szenario für Problem: Falls Sie AS-Elemente im ST-Code verwenden und die Anwendung auf die SPS laden, ist es möglich, dass die Anwendung nicht laut Erwartung abgearbeitet wird. Derzeit sind keine weiteren Details zu diesem Problem vorhanden.
Abhilfe: nicht vorhanden

26646Anwendung ausführen

Möglicherweise treten größere Ungenauigkeiten beim Ausführungszeitpunkt eines Tasks oder beim Aktivierungszeitpunkt eines Schritts auf.
Szenario für Problem: Die Ausführung einer Anwendung wird mit Hilfe eines Tasks gesteuert. Falls das Service RTSS_PERSISTENCE aktiviert ist, sind jedoch größere Ungenauigkeiten bei der periodischen Ausführung der Anwendung feststellbar. In diesem Fall schwankt also möglichlicherweise die tatsächliche Zykluszeit der Ausführung erheblich. Diese tatsächliche Zykluszeit kann mit Hilfe des SysTaskActualCycleTime-Bausteins ermittelt werden.
Zusatzinformationen:

  • Analog dazu können größere Ungenauigkeiten beim Aktivierungszeitpunkt eines Schritts auftreten.
  • Bisher wurden die Probleme bei diesen Linux-basierten Plattformen beobachtet: Raspberry Pi, Revolution Pi, µMIC.200 und SEK4
  • Aufgrund dieser Probleme ist derzeit das Service RTSS_PERSISTENCE für ARM11-Plattformen nicht mehr verfügbar.

Abhilfe: nicht vorhanden

27048Systembausteine, EXPT-Baustein

Bei einer ungültigen Beschaltung liefert der EXPT-Baustein unter bestimmten Zielsystemen einen falschen Wert.
Szenario für Problem: Bei einer ungültige Beschaltung des EXPT-Bausteins mit ANY_REAL-Werten (siehe Beispiel) sollte der Baustein "Not-a-Number" (NaN) liefern. Das Beispiel prüft die Gültigkeit des ANY_REAL-Werts außerdem mit Hilfe des IS_VALID-Bausteins, da der IS_VALID-Baustein den Wert FALSE bei "NaN" liefern wird. Für das Zielsystem "vxWorks 6.x" ist dies jedoch nicht der Fall.

Beispiel für ST-Code
FUNCTION_BLOCK ExampleExptInvalid2
  VAR
   resultRealInvalid : REAL;
  END_VAR
 
  resultRealInvalid:= EXPT(IN1 := REAL#-25.0, IN2 := REAL#0.5); (* For the built-in PLC, 'resultRealInvalid' evaluates to 'NaN' in the 'Values of Variables* view. This is not the case for vxWorks 6.x. *)
  ASSERT(NOT IS_VALID(resultRealInvalid));
 
END_FUNCTION_BLOCK

Abhilfe: nicht vorhanden

27146phyBOARD-Regor, MQTT-FunktionenBei Verwendung von MQTT-Funktionen mit einer phyBOARD-Regor steigt die CPU-Auslastung möglicherweise auf das Maximum.
Szenario für Problem: Falls Sie die MQTT-Funktionen in einer Anwendung verwenden, die Anwendung auf eine phyBOARD-Regor laden und den MQTT-Broker beenden, steigt die CPU-Auslastung auf das Maximum. Trotz des beendeten MQTT-Brokers liefert der MQTT_GetState-Baustein weiterhin den Wert CONNECTED. Danach kann die Verbindung zur phyBOARD-Regor nicht mehr hergestellt werden.
Zusatzinformation: Die Datenübertragung via MQTT benötigt einen MQTT-Broker.
Abhilfe, um die Verbindung wiederherzustellen: Starten Sie phyBOARD-Regor erneut.
27502ST-Editor

Die Meldung Ungültiges STRING-Literal wird für ein ungültiges CHAR-Literal angezeigt.
Behebung: Die Meldung Ungültiges STRING- oder CHAR-Literal wird nun für das folgende Szenario angezeigt.
Szenario für Problem: Falls Sie ein ungültiges CHAR-Literal dem Eingang des TO_BYTE-Bausteins zuweisen (siehe Beispiel), wird diese Meldung ausgegeben: Ungültiges STRING-Literal
Zusatzinformation: Das gleiche Problem kann auch bei anderen Bausteinen auftreten, falls der Baustein-Eingang sowohl CHAR als auch STRING unterstützt.

Beispiel für ST-Code
FUNCTION_BLOCK Test
  VAR
   result : BYTE;
   CheckENO: BOOL;
  END_VAR     
  result := TO_BYTE(IN:=CHAR#'+3', ENO=>CheckENO);
END_FUNCTION_BLOCK
27507ST-Viewer

Der Befehl "Instanzwert setzen" ist nicht beim INT-Wert verfügbar.
Szenario für Problem: Der Befehl Instanzwert setzen im ST-Viewer ist nicht im Kontextmenü verfügbar, falls Sie den Mauszeiger auf die Zeile mit dem Wert für eine INT-Variable positioniert haben (z.B. auf die Zeile mit dem Wert 5).
Abhilfe: Positionieren Sie den Mauszeiger auf die Zeile mit der INT-Variable (z.B. auf die Zeile mit der INT-Variable count). Nun ist der Befehl im Kontextmenü verfügbar.

27552ST-Editor

Eine Ausnahmebedingung wird verursacht, falls eine Zuweisung von einer Ein-/Ausgangsvariable (= VAR_IN_OUT) im Aufruf einer Funktionsbaustein-Instanz enthalten ist.
Szenario für Problem: Falls Sie eine Funktionsbautein-Instanz mit einer Ein-/Ausgangsvariable (= VAR_IN_OUT) aufrufen, in diesem Aufruf eine Zuweisung auf diese Ein-/Ausgangsvariable mit dem Zuweisungsoperator => enthalten ist (siehe Beispiel) und den ST-Editor speichern, wird eine Ausnahmebedingung verursacht. In diesem Fall erscheint diese Meldung im Fehlerprotokoll: java.lang.ClassCastException: com.logicals.lc3.api.model.st.type.impl.CompoundTypeImpl cannot be cast to com.logicals.lc3.api.model.st.type.SimpleType
In Folge kann die Anwendung nicht erstellt/geladen werden. Diese Meldung erscheint: Fehlerhafte Quelldateien. Die Anwendung für die SPS (Plattform-Toolkit "Name") kann nicht erstellt/geladen werden.

Beispiel für Problem
PROGRAM Test
  VAR
    iMyFb : FB1;
    Var1 : INT;
  END_VAR
  imyfb(VarInOut => Var1);
END_PROGRAM

FUNCTION_BLOCK FB1
  VAR_IN_OUT
    VarInOut : INT;
  END_VAR
  VarInOut:= 3;
END_FUNCTION_BLOCK

Abhilfe: Erweitern Sie den Aufruf um eine Zuweisungen auf die Ein-/Ausgangsvariable mit dem Zuweisungsoperator :=.

Beispiel für Abhilfe
PROGRAM Test
  VAR
    iMyFb : FB1;
    Var1 : INT;
  END_VAR
  imyfb(VarInOut := Var1, VarInOut => Var1);
END_PROGRAM

FUNCTION_BLOCK FB1
  VAR_IN_OUT
    VarInOut : INT;
  END_VAR
  VarInOut:= 3;
END_FUNCTION_BLOCK
27558Projektexplorer

Eine Ausnahmebedingung wird verursacht, falls Sie den Befehl "Recent Filters" nach dem Starten von logi.CAD 3 verwenden.
Szenario für Problem: Falls Sie die Projektansicht mit Hilfe von Filtern ändern (mit Hilfe des Befehls Filters and Customization), ist auch der Befehl Recent Filters für die schnelle Änderung der Projektansicht angeboten. Falls Sie diesen Befehl Recent Filters nach dem Starten von logi.CAD 3 auswählen, wird die Projektansicht nicht geändert. Stattdessen wird eine Ausnahmebedingung verursacht. In diesem Fall erscheint diese Meldung im Fehlerprotokoll: Unhandled event loop exception
Abhilfe: Ändern Sie die Projektansicht zumindest einmal mit Hilfe des Befehls Filters and Customization. Danach können Sie auch den Befehl Recent Filters wieder ohne Problem verwenden.

27570

Eigene Bibliotheken

Eine Bibliothek kann nicht erzeugt werden. Es werden jedoch keine Fehler gemeldet.
Behebung: Die Bibliothek kann nun erzeugt werden, da die Regelverletzung beim Erzeugen der Bibliothek korrekt als Information gewertet wird.
Szenario für Problem: Eine bestimmte Bibliothek kann nicht erzeugt werden. Bei der Valdierung dieser Bibliothek werden jedoch keine Fehler gemeldet, sondern es werden nur Informationen angezeigt.
Zusatzinformation: Das Problem konnte auf die unterschiedliche Konfiguration der Regeln für die Valdierung der Bibliothek zurückgeführt werden:

  • In der Standardkonfiguration waren Regeln mit der Klasse ERROR klassifiziert.
  • In der Konfiguration für die Bibliothek waren die gleichen Regeln mit der Klasse INFO klassifiziert.

In Folge wurde bei der Validierung der Bibliothken nur eine Information für eine Regelverletzung anzeigt. Diese Regelverletzung wurde jedoch als Fehler beim Erzeugen der Bibliothek gewertet.
Abhilfe: Deaktivieren Sie in der Standardkonfiguration die Regeln mit der unterschiedlichen Konfiguration, z.B. Ein Konnektor muss mit einem Ursprung verbunden sein.

27589Sicht "Variablenwerte"

Die Sicht "Variablenwerte" schneidet einen Instanzpfad mit mehr als 259 Zeichen ab.
Szenario für Problem: Falls Sie eine Variable in die Sicht Variablenwerte ziehen, für die der Instanzpfad mehr als 259 Zeichen beträgt, wird der Instanzpfad abgeschnitten. Dieses Problem tritt auf, falls die Variable auf Basis eines strukturierten Datentyps deklariert ist und der Basistyp dieses strukturierten Datentyp ist ein anderer strukturierten Datentyp. Dabei sind dann alle Bezeichner so lange, dass der Instanzpfad mehr als 259 Zeichen beträgt.
Abhilfe: Verkürzen Sie die Bezeichner.

27595Lokale Varianten für Bibliothekselemente

Der Befehl "Variante erstellen" steht im Kontextmenü für Datentypen in einer Systembibliothek zur Verfügung. Der Befehl sollte jedoch für diese Datentypen nicht verfügbar sein.
Szenario für Problem: Im Normalfall ist es nicht möglich, eine lokale Variante für Datentypen in einer logi.cals -Systembibliothek zu erstellen. Das Kontextmenü für das Unterelement (= Datentyp) des ST-Objekts in einer Systembibliothek enthält jedoch den Befehl Variante erstellen.
Abhilfe: nicht vorhanden

27641Eigene BibliothekenDer geöffnete Editor-Inhalt für ein Snapshot-Bibliothekselement wird nicht aktualisiert.
Szenario für Problem: Beim Öffnen eines Projekts werden Snapshot-Bibliotheken automatisch aktualisiert. Falls jedoch der Inhalt eines Snapshot-Bibliothekselement in einem Editor bereits geöffnet ist, scheint es so, als würde dieser Inhalt nicht aktualisiert. Tatsächlich wird aber nur die Anzeige des geöffneten Editors nicht aktualisiert.
Abhilfe, um das Problem zu vermeiden: Schließen Sie alle Editoren für ein Projekt, bevor Sie das Projekt mit Snapshot-Bibliotheken öffnen.
Abhilfe, falls das Projekt bereits geöffnet wurde: Schließen Sie den betroffenen Editor und öffnen Sie ihn erneut. Dadurch wird der aktualisierte Inhalt angezeigt.
TF-1224TestframeworkKommentare im Excel-Arbeitsblatt Default werden beim Import der Testsuite nicht übernommen.
Szenario für Problem: Wenn Sie eine Testuite inkl. Excel-Datei erstellen, enthält diese Excel-Datei das Arbeitsblatt Default mit der Spalte Comments. In diese Spalte tragen Sie beliebigen Text für die Vorgaben für Eingangswerte ein. Falls Sie anschließend die Testsuite basierend auf der Excel-Datei in das Testprojekt importieren, werden diese Kommentare jedoch nicht importiert. Das bedeutet, falls Sie die Testsuite danach wiederum nach Excel exportieren, sind keine Kommentare im Excel-Arbeitsblatt Default der neu erstellten Excel-Datei enthalten.
Abhilfe: nicht vorhanden
TF-1233TestframeworkEine Warnung wird beim Erstellen der Testsuite für eine POE ohne Eingangsvariable und Ausgangsvariablen angezeigt.
Behebung: Für die lokalen Variablen werden Vorgabewerte erstellt. Somit können Sie einen Test für eine POE mit lokalen Variablen ausführen.
Szenario für Problem: Falls eine POE nur lokale Variablen enthält, aber keine Eingangsvariable und Ausgangsvariablen (es sind also keine Abschnitte VAR_INPUT... END_VAR und VAR_OUTPUT...END_VAR vorhanden, aber Abschnitt VAR...END_VAR), Sie eine Testsuite für diese POE erstellen und Sie dann die erzeugte Testsuite (= Datei mit Erweiterung .test) öffnen, wird diese Warnung in der Sicht Fehlerprotokoll angezeigt: Variable 'DEFAULTS' is declared without assignment
Ohne Eingangsvariablen, Ausgangsvariablen und Vorgabewerte für die lokalen Variablen ist die Testausführung in Folge nicht sinnvoll.
Abhilfe: nicht vorhanden
TF-1239Testframework

Der Test wird möglichweise nicht erfolgreich ausgeführt, falls die Kombination der Array-Variablen und der Testsequenzen zu hoch ist.
Szenario für Problem: Falls Array-Variablen in einer zu testende POE enthalten sind, werden möglicherweise diese Meldungen bei der Testausführung angezeigt:

RobotClientException: Data type of variable "name[index].name[index]" could not be determined.
Data type of variable "name[index].name[index]" could not be determined.
...
Possible Reasons: 
* The variable does not exist.
* The variable might be a structure or array variable. In this case please add the structure element or array index.

Obwohl die Testsuite den korrekten Array-Index für die Array-Variable enthält, kann der Test trotzdem nicht ausgeführt werden. Die Ursache für das Problem ist die Anzahl der Testsequenzen für Array-Variablen – üblicherweise tritt das Problem ab ca. 30 Testsequenzen für Array-Variablen auf.
Abhilfe: Verringern Sie die Testsequenzen für die Array-Variablen.

TF-1243Testframework

Der Test wird nicht erfolgreich ausgeführt, falls eine Ein-/Ausgangsvariable (= VAR_IN_OUT) in der zu testenden POE enthalten ist.
Szenario für Problem: Falls Ein-/Ausgangsvariable (= VAR_IN_OUT) in einer zu testende POE enthalten sind und Sie die Testuite mit Hilfe der Excel-Datei erstellen, werden diese Meldungen bei der Testausführung angezeigt:

RobotClientException: Data type of variable "name[index].name" could not be determined.
Data type of variable "name[index].name[index]" could not be determined.
...
Possible Reasons: 
* The variable does not exist.
* The variable might be a structure or array variable. In this case please add the structure element or array index.

Die zu testende POE enthält aber gar keine Struktur- oder Array-Variablen.
Abhilfe: Öffnen Sie die importierte Testsuite (= Datei mit Erweiterung .test) und fügen Sie die folgenden Zeilen hinzu:

Set Variable Testmodes  &{VARIABLE_TESTMODES}
&{VARIABLE_TESTMODES}  in-out-variable-name=useTestValue

Falls der Funktionsbaustein myFB01 die Eingangsvariable IN1 und die Ein-/Ausgangsvariable IO1 enthält, muss die Testsuite so erweitert werden:

Auszug aus einer Testsuite, die um die obigen Zeilen erweitert wurde
*** Keywords ***
LC3 Setup	
  Set Variable Testmodes  &{VARIABLE_TESTMODES}
  Prepare Test Bed	myFB01		MaxDataRows=100		TestSuitePath=${SUITE SOURCE}
  Set Defaults		&{DEFAULTS}
*** Variables ***
&{DEFAULTS}  IN1=0
...  IO1=0
&{VARIABLE_TESTMODES}  IO1=useTestValue
*** Test Cases ***
TF-1253Testframework

logi.RTS wird möglicherweise terminiert und der Test nicht erfolgreich ausgeführt, falls eine Eingangsvariable nicht in der zu testenden POE enthalten ist.
Szenario für Problem: Beim Definieren von Eingangsvariablen in der Testsuite ist es möglich, dass die Eingangsvariable, die in der erste Spalte eines Testfalls definiert wurde, gar nicht in der zu testenden POE enthalten ist. In diesem Fall werden beim Ausführen des Tests diese Meldungen angezeigt: Calling method 'endSuite' of listener 'LC3RunListener' failed: RobotClientException: Test information data for ".functionBlockWithInvalidVariable" could not be created.
Zusätzlich werden die folgenden Meldungen in der Sicht Fehlerprotokoll angezeigt:

Eine oder mehrere Variablen konnten nicht im Zielsystem gefunden werden.
Unerwarteter Fehler am Zielsystem (Kommando: DIRECT_GET, Fehler: Command [C 399 RTSWatchlist DIRECT_GET "testbed_SiL" "TESTBED_FUNCTIONBLOCKWITHI...] aborted, Details: java.io.IOException: Command [C 399 RTSWatchlist DIRECT_GET "testbed_SiL" "TESTBED_FUNCTIONBLOCKWITHI...] aborted)

Diese Meldungen weisen darauf hin, dass logi.RTS für die integrierte SPS terminiert wurde. In Folge werden beim anschließenden Ausführen von korrekten Tests diese Meldungen angezeigt:

Parent suite setup failed:
RobotClientException: An error occurred while preparing the test bed: An error occurred during build and upload

Abhilfe, um die Terminierung zu vermeiden: Stellen Sie sicher, dass alle Eingangsvariablen, die in den Testfällen definiert sind, auch in der zu testenden POE enthalten sind.
Abhilfe, falls logi.RTS bereits terminiert wurde: Im Menü SPS wählen Sie den Befehl Integrierte SPS starten. Dann führen Sie den korrekten Test aus.

TF-1257Testframework

Der Test wird nicht erfolgreich ausgeführt, falls Vorgabewerte für Ein-/Ausgangsvariablen (= VAR_IN_OUT) oder lokale Variablen (= VAR) in der Testsuite enthalten sind.
Behebung: Die Vorgabenwerte für Ein-/Ausgangsvariablen oder lokale Variablen werden korrekt zugewiesen. Somit können Sie solche Teste ausführen.
Szenario für Problem: Falls Sie Vorgabewerte für Ein-/Ausgangsvariablen (= VAR_IN_OUT) oder für lokale Variablen (= VAR) in der Testsuite definieren, wird diese Meldung bei der Testausführung angezeigt: [ ERROR ] Error at output "Name" in test sequence Zahl. Expected: Zahl but was: Zahl
Zusatzinformation: Das Problem tritt nur auf, falls die benötigten Zeilen (laut Abhilfe unter TF-1243) in die Testsuite eingefügt wurde, jedoch mit dem Wert useLastValue. Falls die Excel-Datei nicht zum Erstellen/Importieren der Testsuite verwendet wird, ist der Wert useLastValue in der Testsuite mit der Erweiterung .test automatisch vorgegeben.

Zeile mit automatisch vorgegebenem Wert "useLastValue"
&{VARIABLE_TESTMODES}  in-out-variable-name=useLastValue

Abhilfe: Verwenden Sie den Wert useTestValue, wie in TF-1243 beschrieben ist.

TF-1261Testframework

Der Test wird nicht erfolgreich ausgeführt, falls mehrere Testfälle in der importierten Excel-Datei vorhanden waren.
Szenario für Problem: Falls Sie mehrere Testfälle in einer Excel-Datei definieren und dann diese Excel-Datei beim Importieren der Testsuite verwenden, wird diese Meldung bei der Testausführung angezeigt: FATAL ERROR: The values in the log file differ from the input values.
Zusätzlich wird diese Meldung in der Sicht Fehlerprotokoll angezeigt: Keyword must be "Data" or "Finish"
Abhilfe: Öffnen Sie die importierte Testsuite (= Datei mit Erweiterung .test). Suchen Sie den Abschnitt *** Test Cases ***. Fügen Sie eine Leerzeile nach jedem Testfall ein, d.h. hinter der Zeile Finish.

Auszug aus Datei nach dem Importieren
*** Test Cases ***
Test1
  Head  Time  IN1 OUT1?  CycleTime=T#10ms
  Tol    /  /  0.0
  Shift  /  /  0
  Data  0  0  0          
  Finish
Test2
  Head  Time  IN1 OUT1?  CycleTime=T#10ms
  Tol    /  /  0.0
  Shift  /  /  0
  Data  0  0  0          
  Finish
Auszug aus Datei nach der Abhilfe
*** Test Cases ***
Test1
  Head  Time  IN1 OUT1?  CycleTime=T#10ms
  Tol    /  /  0.0
  Shift  /  /  0
  Data  0  0  0          
  Finish

Test2
  Head  Time  IN1 OUT1?  CycleTime=T#10ms
  Tol    /  /  0.0
  Shift  /  /  0
  Data  0  0  0          
  Finish

(info) Falls Sie Ihr Problem in dieser Liste nicht angeführt finden, kontrollieren Sie diese Abschnitte: Troubleshooting und FAQ