TwinCAT-2-SPS-Projekt öffnen
Verwendung von TwinCAT 3.1: Build 4026
- Der TwinCAT Package Manager mit einem aktuellen TwinCAT 3.1 4026 Build ist bereits installiert.
- 1. Fügen Sie den Outdated Feed hinzu.
- 2. Installieren Sie von diesem Feed folgende Workloads/Pakete:
- TwinCAT 3.1.4024 Remote Manager Version: z.B. TwinCAT.StandardRM.XAE 4024.71.2
- TwinCAT 2 Converter: TwinCAT.XAE.PLC.Tc2ProjectConverter
- 3. Öffnen Sie die TcXaeShell (32 Bit).
- 4. Laden Sie die zuvor installierte TwinCAT 3.1.4024 Remote Manager Version.
- Fahren Sie wie bei TwinCAT 3.1 Build 4024 fort.
Verwendung TwinCAT 3.1: Build 4024
- TwinCAT XAE ist gestartet.
- Ein TwinCAT-Projekt ist geöffnet.
- Lesen Sie die unterhalb der folgenden Anleitung beschriebenen Einschränkungen.
- 1. Markieren Sie das SPS-Objekt in der Ansicht Projektmappen-Explorer.
- 2. Wählen Sie im Menü Projekt oder im Kontextmenü den Befehl Vorhandenes Element hinzufügen.
- 3. Wählen Sie im Dialog Öffnen das gewünschte Plc 2.x-Projekt oder Bibliothek aus dem Dateisystem. Zur Suche können Sie den Dateifilter in der rechten unteren Ecke des Dialogs setzen.
- Danach startet automatisch der TwinCAT 2.x-Konverter.
- 4. Der TwinCAT 2.x-Konverter prüft, ob das Projekt fehlerfrei kompilierbar ist. Wenn ja, bearbeitet der Konverter das Projekt automatisch.
- Wenn das Projekt Visualisierungsobjekte mit Platzhaltervariablen enthält, die der Konverter nicht auflösen kann, erfolgt ein direktes Einbinden der jeweiligen Visualisierungen als Gruppierung an Stelle der Visualisierungsreferenzen.
- Bibliothekskonvertierung: Wenn im zu öffnenden Projekt eine Bibliothek referenziert ist, für die noch keine Konvertierungsregel definiert ist, erscheint der Dialog Konvertierung einer Bibliotheksreferenz.
- 5. Legen Sie hier fest, ob und wie der Konverter die bisherige Bibliotheksreferenz durch eine aktuelle ersetzen soll.
Falls Sie dabei eine Bibliothek auswählen, für die Projektinformationen fehlen, erscheint der Dialog Projektinformationen, den Sie ausfüllen müssen.
- Der Konverter lädt das angepasste Projekt.
Einschränkungen beim Weiterverwenden eines TwinCAT-2.x-Projekts in TwinCAT 3.1
![]() | Automatische Syntaxanpassungen nur bei vorheriger Übersetzbarkeit Zwischen TwinCAT 2 (TC2) und TwinCAT 3 (TC3) unterscheidet sich die Syntax an einigen Stellen (z. B. bei der Initialisierung von Arrays). Beachten Sie, dass der Konverter die Syntax an diesen Codestellen nur dann anpasst, wenn das zu konvertierende TwinCAT-2-Projekt „TwinCAT-2-seitig“ kompiliert werden kann. Im Detail bedeutet das: Bei dem Konvertierungsprozess übersetzt der Konverter, der in TwinCAT 3 enthalten ist, das ausgewählte TwinCAT-2-Projekt zunächst mit einem TwinCAT-2-Compiler. Nur wenn diese „TwinCAT-2-seitige“ Übersetzung erfolgreich ist, werden bei der Erstellung des TwinCAT-3-SPS-Projekts Syntaxanpassungen des TwinCAT-2-Codes vorgenommen. Voraussetzung für eine erfolgreiche „TwinCAT-2-seitige“ Übersetzung ist, dass Sie dem Konverter alle benötigten TwinCAT-2-Bibliotheken zur Verfügung stellen. Dies können Sie z. B. erreichen, indem Sie die Bibliotheken, die im TwinCAT-2-Projekt referenziert werden, in den Ordner C:\TwinCAT\3.1\Components\Plc\Converter\Lib einfügen. Alternativ können Sie dem Konverter die Speicherorte der TwinCAT-2-Bibliotheken über die angezeigten Konvertierungsdialoge mitteilen. |
Kompilierung | Das Projekt muss ohne Übersetzungsfehler in TwinCAT 2.x PLC Control kompilierbar sein. TwinCAT gibt bei der Übersetzung dennoch Warnungen aus. Diese werden durch implizite Konvertierungen hervorgerufen, die zu Informationsverlust führen können (beispielsweise durch Vorzeichenwechsel). TwinCAT 3.1 prüft case-Anweisungen gegen die Switch-Variable: CASE USINT OF INT wird in TwinCAT 2.x nicht überprüft, es gibt jedoch eine Fehlermeldung beim Import in TwinCAT 3.1. |
Bibliotheken | Alle Variablen und Konstanten, die in einer Bibliothek verwendet werden, müssen auch in dieser Bibliothek deklariert sein. Die Bibliothek muss in TwinCAT 2.x fehlerfrei übersetzbar sein. |
Syntaktische und semantische Einschränkungen |
|
Speicher |
|
Visualisierung
Platzhalter und deren Ersetzung | Platzhalter | VAR_INPUT | Verwendung | Ersetzung | ||
| MAIN.$LocalVar$.aArr[0] | localVar: MyStruct; | localVar.aArr[0] | localVar := MAIN.myStructVar | ||
| $Var$.aArr[0] | Var : MyStruct; | Var.aArr[0] | Var := MAIN.myStructVar | ||
| MAIN.myStructVar.aArr[$Index$] | Index : INT; | MAIN.myStructVar.aArr[Index] | Index := 0 | ||
Problematische Platzhalter |
| |||||
Nicht importierbare Elemente | Trend, ActiveX - Der Import ist nicht möglich, weil die Implementierung sehr unterschiedlich ist. In TwinCAT 3.1 wird eine entsprechende Warnung ausgegeben und ein entsprechender manueller Nachbau ist nötig. | |||||
Programmiersprachen | ST, AWL, FUP | Keine Einschränkungen | ||||
| KOP | TwinCAT 3.1 importiert Funktionsbausteine mit Parallelverzweigungen so, dass der Teil vor der Verzweigung für jeden Zweig wiederholt wird. Das entspricht dem generierten Code, den TwinCAT 2.x für Parallelverzweigungen erzeugt.
| ||||
| AS |
Erklärung: In TwinCAT 3.1 erhalten die impliziten Variablen, welche TwinCAT 3.1 für Aktionen anlegt, einen Unterstrich als Präfix. Es würde ein ungültiger Kennzeichner mit doppeltem Unterstrich entstehen. | ||||
| CFC |
| ||||
Siehe auch:
