Funktion: Der Befehl dient dem Anstoßen eines Online-Change auf die gerade aktive Applikation. Dabei lädt CODESYS nur die geänderten Teile einer bereits auf der Steuerung laufenden Applikation neu in die Steuerung.
Aufruf: Menü „Online“, Kontextmenü des Objekts „Applikation“.
Voraussetzung: Die Applikation ist im Onlinebetrieb.
Der Befehl ist im Kontextmenü verfügbar, wenn eine Applikation im Gerätebaum selektiert ist. Somit können Sie einen Online-Change gezielt auf eine Applikation ausführen, auch wenn die Applikation aktuell nicht die "aktive" ist.




VORSICHT

Online-Change verändert das laufende Applikationsprogramm und bewirkt keinen Neustart.
Stellen Sie sicher, dass der neue Applikationscode dennoch das gewünschte Verhalten des gesteuerten Systems bewirkt.
Abhängig von der gesteuerten Anlage können Schäden an Anlage und Werkstücken entstehen oder Gesundheit und Leben von Personen gefährdet sein.




HINWEIS

1. Wenn ein Online-Change durchgeführt wird, werden die applikationsspezifischen Initialisierungen (zum Beispiel Referenzfahrt) nicht ausgeführt, weil die Maschine ihren Status beibehält. Aus diesem Grund hat der neue Programmcode möglicherweise nicht den gewünschten Effekt.
2. Variablen auf Pointer behalten ihren Wert aus dem letzten Zyklus. Wenn ein Pointer 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 die Pointer in jedem Zyklus erneut zugewiesen werden.
3. Eine "Kindapplikation" wird von der Steuerung entfernt, wenn ein Online-Change erfolgt, nachdem Sie die "Vaterapplikation" geändert haben.




HINWEIS

Seit Compilerversion>=3.5.0.0 wird für kleine Änderungen 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 erzeugt wird zur Initialisierung von Variablen mit dem
Attribut init_on_onlchange
.
In der Regel wird das keine Auswirkungen haben, da das Attribut meist dazu verwendet
wird, um Variablen mit Adressen zu initialisieren. Beim schnellen Online-Change kann
es aber nicht dazu kommen, dass eine Variable seine Adresse ändert.
Um die Wirkung des Attributs init_on_onlchange
auf den gesamten Applikationscode sicherzustellen, müssen Sie den schnellen Online-Change
mit Hilfe der Compiler-Definition no_fast_online_change
generell für die Applikation ausschalten. Fügen Sie die Definition zu diesem Zweck
in den „Eigenschaften“ der Applikation in Registerkarte „Übersetzen“ ein.
Beim Laden listet CODESYS im Meldungsfenster in der Kategorie „Übersetzen“ auch die geänderten Schnittstellen, betroffenen Variablen und alle Bausteine, für die neuer Code generiert wurde. Wenn sich Speicherorte ändern, wird in einer Dialogbox auf mögliche Probleme in Zusammenhang mit Pointern hingewiesen.
In der Ansicht „Speicherreserve für Online-Change“ können für Funktionsbausteine eines Projekts Speicherreserven für den Online-Change konfiguriert werden, sodass bei Änderungen eines Funktionsbausteins beim Online-Change Instanzvariablen im Speicher nicht verschoben werden müssen .
Was verhindert einen Online-Change?
Es gibt Aktionen in CODESYS, nach denen ein Online-Change auf eine Steuerung mehr möglich ist. Danach ist immer ein vollständiges Neukompilieren der Applikation erforderlich. Ein typischer Fall ist die Aktion „Alles bereinigen“, die die beim letzten Download abgelegte Übersetzungsinformation löscht. Solche Aktionen erzeugen jedoch typischerweise eine Warnung und müssen von Ihnen quittiert werden.
Aber es gibt auch „normale“ Editieraktionen, die dazu führen, dass beim nächsten Einloggen
ein Online-Change nicht mehr möglich ist. Achten Sie deshalb beim Editieren in den
Programmbausteinen auf folgendes Symbol in der Statusleiste: . Wenn dieses Symbol eine rote Farbe annimmt:
, kann danach nur noch ein vollständiger Download auf die Steuerung durchgeführt werden.
Mit einem Doppelklick auf das Symbol öffnet sich der Dialog „Applikationsinformation“ mit einer Liste der Unterschiede zum letzten Download. Im Dialog finden Sie auch
Information dazu, welche der Änderungen einen Online-Change verhindern.
Aktionen und Änderungen in verschiedenen Bereichen einer Applikation, die einen Online-Change verhindern:
Checkfunktionen |
Aktivieren oder Entfernen einer Checkfunktion ( Änderung in der Schnittstelle einer Checkfunktion (auch das Einfügen und Löschen von lokalen Variablen) |
Taskkonfiguration |
Änderung in den Konfigurationseinstellungen |
Projekteinstellungen |
Änderung der „Compile-Optionen“ in der Sektion „Einstellungen“ (Unicode, Konstanten ersetzen, Logging in Haltepunkten), Änderung in den „Compiler-Defines“ |
Applikationseigenschaften |
Änderung der „Zielsystem-Speichereinstellungen“ (Registerkarte „Build“) |
Bausteineigenschaften |
Änderung der Option „Externe Implementierung“ (Registerkarte „Build“) |
Tasklokale globale Variablenliste |
Alle Änderungen |
Funktionsbaustein |
Ändern des Basisbausteins eines Funktionsbausteins ( Änderung in der Schnittstellenliste ( |
Datentyp |
Änderung des Datentyps einer Variable von einem benutzerdefinierten Datentyp zu einem
anderen benutzerdefinierten Datentyp (beispielsweise von Änderung des Datentyps von einem benutzerdefinierten Datentyp zu einem Basisdatentyp
(beispielsweise von Hinweis: Als Workaround sollten Sie gleichzeitig mit dem Datentyp immer auch den Namen der Variable ändern. Dann wird die Variable als neue Variable initialisiert und die alte entfernt. Ein Online-Change ist danach möglich. |
Alarmkonfiguration |
Änderung in der Alarmdatenbankkonfiguration Änderung der Anzahl der Latch-Variablen (hat ebenfalls Auswirkungen auf das Speicherformat in der Datenbank) Änderung an der Konfiguration der verteilten Alarme |
Datenquelle |
Alle Änderungen in der Konfiguration |
Gerätekonfiguration |
Änderung im Gerätebaum (auch durch Befehl „Gerät aktualisieren“) Änderung in einer Gerätekonfiguration: Im Standardfall sind Änderungen an Geräteparametern nicht Online-Change-fähig. Ausnahmen können jedoch in der Gerätebeschreibung konfiguriert sein. Hinweis: Das E/A-Mapping auf Variablen ist über Online-Change möglich. |
Visualisierung |
Umschalten der Overlay-Funktion Vor V3.5 SP6: Änderung in der Konfiguration des Trace-Elements Hinweis: Ab V3.5 SP6 gilt: Bei Online-Changes, die Visualisierungen betreffen oder sich auf die Daten der Applikation auswirken (beispielsweise: neue Variable eingefügt), initialisiert sich die Visualisierung vollständig neu. Für die TargetVisu bedeutet dies zum Beispiel, dass sich die Visualisierung schließt und mit der Startseite erneut öffnet. Im Fall der WebvVisu startet die Visualisierung nach einer kurzen Wartezeit ebenfalls neu mit der Startvisualisierung. |
Einheitenumrechnung |
Einfügen oder Entfernen von Objekten zur Einheitenumrechnung |
Trend |
Änderung der Anzahl Variablen oder der maximalen Anzahl Variablen. Änderung der Anzahl Variablen mit Beschreibung oder speziellen Linieneinstellungen |
Siehe auch