Ausführen eines Online-Change

TwinCAT bietet Ihnen automatisch einen Online-Change an, wenn Sie mit einem SPS-Projekt einloggen, das bereits auf der Steuerung vorhanden ist, aber seit dem letzten Download im Programmiersystem verändert wurde. Bei diesem Vorgang werden nur die geänderten Teile neu in die Steuerung geladen. Ein laufendes Programm auf der Steuerung wird beim Online-Change nicht angehalten.

WARNUNG

Sach- und Personenschäden durch unerwartetes Verhalten der Maschine oder Anlage

Ein Online-Change verändert das laufende Anwendungsprogramm und bewirkt keinen Neustart. Abhängig von der gesteuerten Maschine können Schäden an Maschine und Werkstücken entstehen oder Gesundheit und Leben von Personen gefährdet werden.

  • Stellen Sie sicher, dass der neue Programmcode das gewünschte Verhalten des gesteuerten Systems bewirkt.
Ausführen eines Online-Change 1:

Projektspezifische Initialisierungen

Wenn ein Online-Change durchgeführt wird, werden die projektspezifischen Initialisierungen (Referenzfahrt etc.) nicht ausgeführt, weil die Maschine ihren Status beibehält. Aus diesem Grund hat der neue Programmcode möglicherweise nicht den gewünschten Effekt.

Ausführen eines Online-Change 2:

Schwerwiegende Änderungen im Downloadcode

Wenn der Online-Change schwerwiegende Änderungen im Downloadcode bewirkt (z. B. Verschieben von Variablen nötig), informiert ein Dialog über die Effekte und ermöglicht, den Online-Change abzubrechen.

Ausführen eines Online-Change 3:

Schneller Online-Change

Für kleine Änderungen (z. B. kleine Änderung im Implementierungsbereich und Verschieben von Variablen nicht nötig) wird ein „schneller Online-Change“ durchgeführt. In diesem Fall wird nur der jeweils geänderte Baustein übersetzt und nachgeladen. Insbesondere wird in dem Fall kein Initialisierungscode erzeugt. Das bedeutet, dass auch kein Code zur Initialisierung von Variablen mit dem Attribut 'init_on_onlchange' erzeugt wird. In der Regel wird das keine Auswirkungen haben, da das Attribut meist dazu verwendet wird, um Variablen mit Adressen zu initialisieren, es kann aber beim schnellen Online-Change nicht dazu kommen, dass eine Variable ihre Adresse ändert.

Um die Wirkung des Attributs init_on_onlchange auf den gesamten Applikationscode sicherzustellen, schalten Sie den schnellen Online-Change mithilfe der Compiler-Definition no_fast_online_change generell für das SPS-Projekt aus. Fügen Sie die Definition zu diesem Zweck in den Eigenschaften des SPS-Projekts in der Kategorie Übersetzen ein.

Ausführen eines Online-Change 4:

Keine Wirkung des Attributs 'init_on_onlchange' bei einzelnen FB-Variablen

Das Attribut 'init_on_onlchange' wirkt nur bei globalen Variablen, Programmvariablen und lokalen statischen Variablen von Funktionsbausteinen.

Um einen Funktionsbaustein bei einem Online Change neu zu initialisieren muss die Funktionsbausteininstanz mit dem Attribut deklariert werden. Für eine einzelne Variable in einem Funktionsbaustein wird das Attribut nicht ausgewertet.

Zeigervariablen

Zeigervariablen (Pointer) behalten ihren Wert aus dem letzten Zyklus. Wenn ein Zeiger auf eine Variable zeigt, die durch den Online-Change ihre Größe verändert hat, wird der Wert nicht mehr korrekt geliefert. Stellen Sie sicher, dass Zeigervariablen in jedem Zyklus erneut zugewiesen werden.

Überwachungsfunktionen

Nach dem Entfernen impliziter Überwachungsfunktionen, wie beispielsweise CheckBound, ist kein Online-Change möglich, nur ein Download. Eine entsprechende Meldung wird ausgegeben.

Siehe auch:

Online-Change beim Einloggen

Die Verbindungseinstellungen der Steuerung sind korrekt eingestellt. Die Anwendungsprogamme im Projekt und auf der Steuerung sind identisch. Das Programm auf der Steuerung läuft. Das SPS-Projekt ist ausgeloggt.
1. Verändern Sie Ihr SPS-Projekt.
2. Wählen Sie im Menü PLC oder in der Symbolleiste TwinCAT SPS Symbolleistenoptionen den Befehl Einloggen.
Ein Dialog erscheint, mit dem Hinweis, dass die Applikation seit dem letzten Download geändert wurde.
3. Wählen Sie die Option Mit Online-Change einloggen und klicken Sie auf OK.
Die Änderung wird auf die Steuerung geladen. Das laufende Programm auf der Steuerung wird dabei nicht angehalten. Das SPS-Projekt ist eingeloggt.

Siehe auch:

Online-Change im eingeloggten Zustand (Onlinebetrieb)

Die Verbindungseinstellungen der Steuerung sind korrekt eingestellt. Die Anwendungsprogramme im Projekt und auf der Steuerung sind identisch. Das Programm auf der Steuerung läuft. Das SPS-Projekt ist eingeloggt.
1. Selektieren Sie ein Objekt im SPS-Projektbaum. Hier wählen Sie am besten eine POU oder GVL.
2. Wählen Sie im Kontextmenü den Befehl Objekt (offline) bearbeiten.
Das Objekt öffnet sich im Editor.
3. Verändern Sie das Objekt. Hier können Sie beispielsweise eine neue Variable deklarieren oder eine Wertzuweisung ändern.
4. Wählen Sie im Menü PLC den Befehl Online-Change.
Sie erhalten eine Abfrage, ob Sie den Online-Change wirklich ausführen wollen.
5. Bestätigen Sie den Dialog mit Ja.
Die Änderung wird auf die Steuerung geladen.

Siehe auch:

Was verhindert einen Online-Change?

Es gibt Aktionen in TwinCAT, nach denen ein Online-Change auf einer Steuerung nicht mehr möglich ist. Danach ist immer ein Download des Projekts erforderlich. Ein typischer Fall sind die Aktionen Bereinigen und Alles bereinigen, die die beim letzten Download abgelegte Übersetzungsinformation löschen. Aber es gibt auch „normale“ Editieraktionen, die dazu führen, dass beim nächsten Einloggen ein Online-Change nicht mehr möglich ist. Folgende Aktionen können einen Online-Change verhindern:

Checkfunktionen

Aktivieren oder Entfernen einer Checkfunktion (CheckBounds, CheckRange, CheckDiv etc.).

Änderung in der Schnittstelle einer Checkfunktion (auch das Einfügen und Löschen von lokalen Variablen).

Taskkonfiguration

Ändern in den Konfigurationseinstellungen.

Projekteinstellungen

Kategorie Übersetzen: In der Sektion Einstellungen (Konstanten ersetzen), Änderung in den Compiler-Defines

Kategorie Common: ID-Änderungen in TwinCAT-Dateien minimieren.

 

Bausteineigenschaften

Änderung der Option Externe Implementierung

Funktionsbaustein

Ändern des Basisbausteins eines Funktionsbausteins (EXTENDS FB_Base), auch das Einfügen oder Löschen eines solchen Basisbausteins.

Änderung in der Schnittstellenliste (IMPLEMENTS I_Sample). Ausnahme: Hinzufügen einer neuen Schnittstelle am Ende der Liste.

Datentyp

Ändern des Datentyps einer Variable von einem benutzerdefinierten Datentyp zu einem anderen benutzerdefinierten Datentyp (beispielsweise von TON zu TOF).

Ändern des Datentyps von einem benutzerdefinierten Datentyp zu einem Basisdatentyp (beispielsweise von TON zu TIME).

Hinweis: Als Workaround ändern Sie gleichzeitig mit dem Datentyp immer auch den Namen der Variablen. Dann wird die Variable als neue Variable initialisiert und die alte entfernt. Ein Online-Change ist danach möglich.