Projekteinstellungen

Damit ein TwinCAT-Projekt, welches unter Verwendung eines Quellcodeverwaltungssystems gemanagt wird, möglichst unabhängig voneinander in einem Team bearbeitet werden kann, können verschiedene Einstellungen gesetzt werden. Diese sind im Folgenden beschrieben.

Independent Project File

Es ist in TwinCAT möglich, einzelne Subprojekte, NC-Achsen oder IO-Geräte explizit in separaten Dateien zu speichern. Diese enthalten dann alle Parameter etc. des jeweiligen TwinCAT-Objekts, so dass bei Änderungen an diesem Objekt nicht die komplette Projekt-Datei ausgecheckt werden muss. So werden z.B. auch die Verknüpfungen eines SPS-Projekts nicht mehr in der TwinCAT-Projekt-Datei gespeichert, sondern in der entsprechenden XTI-Datei des SPS-Projekts.

Damit diese Funktionalität in TwinCAT genutzt werden kann, muss dies einmal „global“ freigeschaltet werden. Dies erfolgt über die TwinCAT –> XAE Environment –> File settings Kategorie in den Optionen der TwinCAT Engineering Umgebung.

Projekteinstellungen 1:

Die Option Enable Multiple Files schaltet die Nutzung dieser Funktionalität für neue Projekte frei. Die Optionen darunter definieren, für welche Elemente in einem neuen Projekt diese Funktionalität per Default eingeschaltet wird.

Projekteinstellungen 2:

Neustart notwendig

Eine Änderung dieser Optionen wird erst nach einem Neustart der Entwicklungsumgebung wirksam.

Verwendung von Independent Project Files in einem Projekt

Ist diese Option für ein TwinCAT-Objekt nicht per Default aktiviert, kann dies über die Option Independet Project File im Kontextmenü des TwinCAT-Objekts manuell erfolgen bzw. auch wieder zurückgesetzt werden.

Projekteinstellungen 3:

Objekte, die als Independent Project File gespeichert sind, werden mithilfe einer kleinen Diskette als Overlay Icon im TwinCAT-Baum markiert. Eine schwarze Diskette zeigt an, dass es für dieses Objekt keine noch nicht gespeicherten Änderungen gibt, bei einer roten Diskette ist dies der Fall.

Projekteinstellungen 4:

Keep Unrestored Link Info

Wenn nicht anders eingestellt, speichert TwinCAT nur die benötigten Informationen, damit die Projektablage nicht unnötig belastet wird. Hierzu gehört auch, dass TwinCAT überprüft, ob Verknüpfungen noch gültig sind. Werden ungültige Verknüpfungen gefunden, werden sie automatisch gelöscht. Dieser Mechanismus ist beim Mergen (Zusammenführen) von Projekten hinderlich, da bei einem Merge lediglich der Code und die Verknüpfungen gemergt werden können, das Prozessabbild aber erst nach einem erneuten Kompilieren des nun gemergten Codes aktualisiert zur Verfügung steht. Somit ist es möglich, dass die Verknüpfungsinformationen neuer sind, als das Prozessabbild und damit würde der Optimierungsautomatismus alle Verknüpfungen zu den neuen Variablen im Prozessabbild löschen. Mit der Option Keep Unrestored Link Info werden die Verknüpfungsinformationen, die zum Löschen markiert sind, erhalten und automatisch wieder hergestellt, sobald die Variablen im Prozessabbild auftauchen.

Projekteinstellungen 5:

LineIDs

LineIDs werden benötigt, um Zeilen im Source Code zu Zeilen im Maschinen-Code zuzuordnen. Das ist wichtig, sobald Breakpoints gesetzt werden. Ohne LineIDs würde das folgende Szenario nicht wie gewünscht funktionieren:

Es wird ein Breakpoint im Source Code gesetzt. Danach werden vor dem Breakpoint Leerzeilen oder Kommentare im Source Code eingefügt. Das sind keine Änderungen, die zu einem Online-Change führen. Die Engineering-Umgebung wird nun geschlossen und wieder geöffnet. Ohne gespeicherte LineIDs kann es passieren, dass die gesetzten Breakpoints auf Leerzeilen zeigen. Wenn TwinCAT sich die LineIDs merkt, zeigen die Breakpoints auf die gewünschte Stelle.

LineIDs werden standardmäßig am Ende einer POU vermerkt. Dies sind allerdings Änderungen, die nicht in den SPS-Editoren ersichtlich sind. Sie werden daher im Project Compare Tool als formale und nicht inhaltliche Änderungen angezeigt. Im Falle eines Merge können diese Änderungen also nicht sinnvoll gemergt werden. Zudem entstehen Änderungen in den LineIDs auch dann, wenn Leerzeilen und Kommentare eingefügt und danach wieder gelöscht werden. Inhaltlich sind die beiden POUs in den SPS-Editoren gleich, in der XML-Repräsentation der Datei allerdings nicht, da sich die LineIDs möglicherweise geändert haben.

Um diese Nachteile der LineIDs zu vermeiden, ist es möglich, die LineIDs in einer separaten Datei zu speichern (Seperate Line Ids). Sie sind dann nicht länger Bestandteil einer POU. Ab der TwinCAT Version 3.1.4026 ist es zudem möglich, das Speichern der LineIDs komplett zu unterbinden (Write Line Ids). Dies hat allerdings den Nachteil, dass sämtliche Änderungen in einer POU, die in der Vergangenheit keinen Einfluss auf das Kompilat hatten, z.B. das Hinzufügen von Leerzeilen und Kommentaren, nun mindestens einen Online-Change erfordern.

Projekteinstellungen 6: