Unterschiede zu TwinCAT 2
Bibiliotheksversionen
- Mehrere Versionen einer Bibliothek sind im gleichen Projekt möglich. Eindeutige Zugriffe erfolgen durch Angabe des Namensraums.
- Installation in Repositories (Datenbanken mit Bibliotheken in verschiedenen Versionen)
- Automatische Aktualisierung
- Debugging möglich
- Bibliotheksprofile und Platzhalter für erleichterte Versionskompatibilität
Kompatibilität mit Projekten in anderen Dateiformaten
- Projekte unterschiedlicher Formate können mit dem Befehl Vorhandenes Element hinzufügen… automatisch in das TwinCAT-3-Format konvertiert werden. Sie können definieren, wie dabei eingebundene Bibliotheken gehandhabt werden sollen.
- Ein Konverter für das TwinCAT-2-Format ist Teil des Standard-Programmiersystems. Wenn Sie ein TwinCAT-2-Projekt auch in TwinCAT 3 verwenden wollen, müssen Sie jedoch einige Voraussetzungen und Einschränkungen beachten.
Datentypen
Folgende Datentypen sind neu:
- any_type
- UNION
- LTIME
- BIT
- References
- Aufzählungen / Enumerationen: Basisdatentyp kann angegeben werden.
di : DINT := DINT#16#FFFFFFFF :
nicht erlaubt
Editoren
ST-Editor:
- Klammerungen, Umbrüche, Code-Komplettierung, Inline-Monitoring, Inline-set/reset-Zuweisung
FUP/KOP/AWL-Editor:
- FUP, KOP und AWL sind ineinander konvertierbar und haben einen gemeinsamen Editor.
- AWL-Editor als Tabelleneditor
- Der Hauptausgang in Bausteinen mit mehrfachen Ausgängen kann gesetzt werden.
- Verzweigungen und „Netzwerke in Netzwerken“
AS-Editor:
- Nur ein Schritttyp, Makros, Mehrfachselektion von unabhängigen Elementen, keine Syntaxüberprüfung während des Editierens
Visualisierungskonzept
- Der Visualisierungseditor arbeitet standardmäßig mit einem Werkzeugkasten und einem Editor für die Elementeigenschaften zusammen.
- Teile der Visualisierungsfunktionalität sind gemäß IEC 61131 realisiert und werden somit über Bibliotheken bereitgestellt. Ein internes Laufzeitsystem führt die wichtigsten Visualisierungsfunktionen aus.
- Textlisten und Bildersammlungen werden für die Verwaltung von Texten und Bilddateien verwendet.
- Ein Visualisierungsmanager handhabt verschiedene Visualisierung-Clients (wie Web Client, Standalone Client...), die flexibel und mit geringem Aufwand für die unterschiedlichsten angepassten SPS-Projekte verwendet werden können.
- Visualisierungsprofile definieren, welche Bibliotheksversionen und welche Elemente aktuell verfügbar sind.
- Visualisierungsstile erlauben eine einfache Anpassung des „Look-and-Feel“ der Visualisierungen.
Operatoren und Variablen
- Neue Gültigkeitsbereich-Operatoren, erweiterte Namensräume
- Init-Methode ersetzt den INI-Operator
- Exit-Methode
- Ausgangsvariablen in Funktions- und Methoden-Aufrufen
- VAR_TEMP, VAR_STAT
- Beliebige Ausdrücke für Variablen-Initialisierung
- Zuweisung als Ausdruck
- Index-Zugriff mit Zeigern und Strings
Objektorientierung
- Erweiterungen für Funktionsblöcke (Funktionsbausteine): Eigenschaften, Schnittstellen, Methoden, Vererbung, Methodenaufruf
Weiteres
- Konfigurierbare Menüs, Werkzeugleiste und Tastaturbedienung
- Unicode-Unterstützung
- Einzeilige Kommentare: // Kommentar
- CONTINUE in Schleifen
- Bedingte Kompilierung
- Bedingte Haltepunkte
- Debuggen: Ausführen bis Cursor, Ausführen bis Rücksprung
Änderungen gegenüber TwinCAT 2 PLC:
- FUNCTIONBLOCK ist nicht länger ein gültiges Schlüsselwort anstelle von FUNCTION_BLOCK für Funktionsbausteine
- Nach TYPE (Deklaration einer Struktur) muss ein „:“ stehen.
- ARRAY-Initialisierung muss mit runden Klammern versehen sein.
- INI wird nicht mehr unterstützt und muss durch die Init-Methode ersetzt werden.
- In Funktionsaufrufen ist es nicht länger möglich, explizite Parameterzuweisungen mit impliziten zu mischen. Deshalb kann die Reihenfolge der Parametereingangszuweisungen verändert werden:
fun(formal1 := actual1, actual2); // → Fehlermeldung
fun(formal2 := actual2, formal1 := actual1); // gleiche Semantik wie ...
fun(formal1 := actual1, formal2 := actual2);
- Pragmas (Import von TwinCAT-2-Pragmas ist noch nicht implementiert.)
- Der TRUNC-Operator konvertiert nun in den Datentyp DINT anstelle von INT. Bei einem TwinCAT-2-Import wird automatisch eine entsprechende Typkonvertierung hinzugefügt.
- Direkte Adressierung von allokierten Variablen:
Die direkte Adressierung von allokierten Variablen hat sich geändert. Während unter TwinCAT 2 unabhängig vom Datentyp immer von derselben Stelle ausgegangen worden ist, wird unter TwinCAT 3 unterschieden:
TwinCAT 2: W0 enthält B0 und B1, W1 enthält B1 und B2, W100 enthält B100 und B101
TwinCAT 3: W0 enthält B0 und B1, W1 enthält B2 und B3, W100 enthält B200 und B201