 Grafischen Debugger benutzen

Die ISaGRAF Workstation verfügt über einen vollständigen, grafischen und symbolischen Debugger. Der Befehl "Debuggen" im Fenster des Programm-Managers startet den Debugger, um die auf die Ziel-SPS geladene Anwendung zu testen. In diesem Modus erfolgt ein Dialog mit der Zielsteuerung über einen seriellen Anschluß. Der Befehl "Simulieren" im Fenster des Programm-Managers startet den Debugger und die Simulation der Zielsteuerung gleichzeitig. Auf diese Weise können Anwendungen getestet werden, wenn die Zielsteuerung noch nicht verfügbar ist. Die Befehle im Debugger-Fenster dienen der Kontrolle der gesamten Anwendung.

Debugger-Fenster

Anwendungskontrolle

Optionen

Forcierungsbefehle

Online-Änderungen

DDE-Datenaustausch

Wenn der Debugger startet und wenn die Anwendung in der Zielsteuerung die gleiche wie die in der Workstation ist, wird das Fenster des Programm-Managers automatisch im Debugging-Modus geöffnet. Die Befehle dieses Fensters können jetzt benutzt werden, um die anderen ISaGRAF Fenster (Grafik- und Texteditoren, Datenverzeichnis, Variablenlisten, E/A-Verdrahtung...) zu öffnen. Alle während einer Debugging-Sitzung geöffneten Fenster befinden sich im "Debugging-Modus", d.h. die Bearbeitungsbefehle sind deaktiviert. Die angezeigten Programmkomponenten (Schritte, Transitionen, Variablen...) erscheinen mit ihren aktuellen Ausführungszuständen oder -werten. Wenn Sie auf eines dieser Objekte doppelklicken, können Sie seinen Zustand oder Wert in der Zielanwendung ändern.

Wenn der Debugger im Simulations-Modus benutzt wird, erfolgt keine Kommunikation mit dem ISaGRAF Zielsystem. Der Debugger dialogiert lediglich mit dem Simulator-Fenster. Da das Zielsystem in diesem Modus nicht existiert, sind die Befehle "Übertragen", "Steuerung stoppen" und "Steuerung starten" im Debugger-Menü nicht verfügbar.


Debugger-Fenster

Im Fenster des Debuggers werden nur solche Daten angezeigt, die über den Status der gesamten Anwendung Auskunft geben. Dieses Fenster ist mit den anderen ISaGRAF Fenstern verknüpft, wodurch ein vollständiges, interaktives Debugging-System geschaffen wird. Erkannte Ausführungsfehler werden im unteren Teil des Debugger-Fensters angezeigt. Mit den Befehlen im Menü "Optionen" kann die Fehlerliste angezeigt, nicht angezeigt oder gelöscht werden.

Die Kontrolltafel (unterhalb des Debugging-Menüs) zeigt den globalen Status der Zielanwendung an und gibt Auskunft über die Zykluszeit. Folgende Meldungen werden für die Anzeige des Status der Zielanwendung benutzt:

Anschluß:	Der Debugger etabliert die Kommunikation mit dem Zielsystem.

Unterbrochen:	Der Debugger kann nicht mit dem Zielsystem dialogieren. Prüfen Sie das Anschlußkabel und die Kommunikationsparameter.

Keine Anwendung:	Der Anschluß ist OK, aber es befindet sich keine ISaGRAF Anwendung im Zielsystem. Laden Sie eine Anwendung.

Anwendung aktiv:	Der Anschluß ist OK und es befindet sich eine aktive Anwendung im Zielsystem. Der Debugger etabliert jetzt den Dialog mit dieser Anwendung, wenn es sich um die gleiche Anwendung wie die in der Workstation handelt.

RUN:	Die Zielanwendung befindet sich im "Echtzeitmodus".

STOP:	Die Zielanwendung befindet sich im "Schrittmodus".

Haltepunkt:	Die Anwendung befindet sich im "Schrittmodus", denn es wurde ein Haltepunkt angetroffen.

Fataler Fehler:	Die Zielanwendung ist wegen eines fatalen Fehlers funktionsuntüchtig.

Folgende Anzeigen geben Auskunft über die Zykluszeit:

Zugelassen:	Programmierte Zykluszeit.

Aktuell:	Dauer des letzten vollständigen Ausführungszyklus.

Maximum:	Längste Zykluszeit seit Anwendungsstart.

Überschreitung:	Anzahl erkannter Ausführungszyklen, die mehr Zeit als zugelassen in Anspruch genommen haben.

Alle Zeitwerte werden in Millisekunden angezeigt. Diese Zeitwerte werden nicht angezeigt, wenn der Debugger im Simulationsmodus benutzt wird.


Anwendungskontrolle

Die Menüs "Datei" und "Kontrolle" enthalten Befehle für die Installation und Kontrolle der aktuellen ISaGRAF Anwendung auf dem ISaGRAF Zielsystem.

Zielanwendung stoppen

Zielanwendung aktivieren

Anwendung übertragen

Versionsnummer anzeigen

Online-Änderungen

Echtzeitmodus

Schrittmodus

Einen Zyklus ausführen

Zykluszeit

Alle Haltepunkte löschen

E/A-Variablen freigeben

Anmerkung:	Manche dieser Befehle sind im Simulationsmodus nicht verfügbar, da die vom Simulator verarbeitete Anwendung automatisch von der ISaGRAF Workstation installiert wird.


Zielanwendung stoppen

Der Befehl "Datei / Steuerung stoppen" stoppt die Ausführung der im ISaGRAF Zielsystem aktiven Anwendung.


Zielanwendung aktivieren

Der Befehl "Datei / Steuerung starten" aktiviert die Anwendung im Zielsystem. Nach dem Laden einer Anwendung startet diese automatisch und der Befehl "Starten" braucht nicht benutzt zu werden. Der Befehl "Starten" wird insbesondere nach einem "Stop"-Befehl benutzt.

Hinweis:	Die Zielanwendung muß gestoppt (inaktiv) sein, bevor eine neue Anwendung geladen werden kann.


Anwendung übertragen

Der Befehl "Datei / Übertragen" wird benutzt, um den Anwendungscode in das Zielsystem zu laden. Wählen Sie den zu ladenden Code entsprechend des Zielsystem-Prozessors und der Anwendungsoptionen.


Versionsnummer anzeigen

Der Befehl "Datei / Versionsnummer lesen" wird benutzt, um die komplette Identifizierung der Workstation- und Zielanwendungen anzuzeigen. Die Workstation-Anwendung ist die, welche gerade auf der ISaGRAF Workstation offen ist. Die Zielanwendung ist die, welche in der ISaGRAF Ziel-SPS ausgeführt wird. Folgende Elemente werden angezeigt:

VERSION:	Versionsnummer des Anwendungscodes (vom Codegenerator berechnet)

DATUM:	Datum und Uhrzeit der Code-Entwicklung

CRC:	Checksum, das vom Codegenerator anhand des Inhalts der Symboltabelle berechnet wurde. Dieser Wert hängt vom Inhalt des Variablen-Datenverzeichnisses ab.

Hinweis:	Der Befehl "Versionsnummer lesen" ist auch im Simulationsmodus verfügbar. Im Debugging-Modus kann dieser Befehl nur benutzt werden, wenn die Ziel-SPS angeschlossen ist.


Online-Änderungen

Mit dem Befehl "Datei / Anwendung aktualisieren" kann der Benutzer "Online-Änderungen" auf der laufenden Zielanwendung ausführen. Dieser Befehl wird weiter unten in diesem Kapitel erläutert. Er ist nicht verfügbar, wenn der Debugger im Simulationsmodus benutzt wird.


Echtzeitmodus

Der Befehl "Kontrolle / Echtzeitmodus" ist nur verfügbar, wenn eine Anwendung aktiv ist. Er setzt die Zielanwendung auf den normalen "Echtzeitmodus". Normaler Modus: Die Ausführungszyklen werden von der programmierten Zykluszeit ausgelöst.


Schrittmodus

Der Befehl "Kontrolle / Schrittmodus" ist nur verfügbar, wenn eine Anwendung aktiv ist. Er setzt die Zielanwendung auf den "Schrittmodus": In diesem Modus werden die Zyklen einzeln ausgeführt, wenn der Benutzer den Befehl "Einen Zyklus ausführen" im Debugging-Menü einleitet.


Einen Zyklus ausführen

Wenn sich die Zielanwendung im Schrittmodus befindet, bewirkt der Befehl "Kontrolle / Einen Zyklus ausführen" die Ausführung eines Zyklus.


Zykluszeit

Mit dem Befehl "Kontrolle / Zykluszeit ändern" kann der Benutzer die programmierte Zykluszeit ändern. Diese Zeit erscheint unter der Anzeige "Zugelassen" in der Kontrolltafel des Debuggers. Vor der Änderung der Zykluszeit sollte der "Schrittmodus" eingeleitet werden. Die Zykluszeit wird als ganzzahliger Wert in Millisekunden eingegeben.


Alle Haltepunkte löschen

Der Befehl "Kontrolle / Alle Haltepunkte löschen" löscht alle aktuellen (angetroffenen und noch aktiven) Haltepunkte der gesamten Anwendung. Bestehende Haltepunkte werden nicht automatisch gelöscht, wenn das Debugger-Fenster geschlossen wird.


E/A-Variablen freigeben

Der Befehl "Kontrolle / Alle E/A-Variablen freigeben" gibt sämtliche verriegelten E/A-Variablen der Anwendung wieder frei. Wenn eine E/A-Variable verriegelt ist, werden keine Zustandsänderungen an den Ein- und Ausgängen der entsprechenden E/A-Einrichtungen vorgenommen. Variablen, die mit den E/A verknüpft sind, können noch von der Anwendung oder dem Debugger forciert werden. Verriegelte E/A-Variablen werden beim Schließen des Debugger-Fensters nicht automatisch freigegeben.


Optionen

Das Menü "Optionen" enthält Optionen für die Anzeigen im Debugger-Fenster:

Kommunikationsparameter

Anzeigeoptionen


Kommunikationsparameter

Wenn der Debugger aktiv ist, können nur zeitbedingte Kommunikationsparameter definiert werden (Time-Outs). Die anderen Kommunikationsparameter (Geschwindigkeit, Parität...) werden vom Menü "Debuggen" im Fenster des Programm-Managers aus definiert.

Das "Time-Out der Kommunikation" ist die Zeit, die dem Zielsystem gewährt wird, bevor es beginnt, eine Anfrage der Workstation zu beantworten. Die "Aktualisierungsperiode" ist die vom Debugger benötigte Zeit, um "Leseanfragen" zu senden, die der Aktualisierung der offenen Fenster dienen.

Alle Zeitwerte werden als ganzzahlige Werte in Millisekunden eingegeben und angezeigt. Die zeitbedingten Kommunikationsparameter können nicht bestimmt werden, wenn der Debugger im Simulationsmodus benutzt wird.


Anzeigeoptionen

Die Option "Zykluszeit anzeigen" ermöglicht die Anzeige oder Nicht-Anzeige der Zykluszeitwerte in der Debugger-Kontrolltafel. Wenn diese Option aktiviert wird, werden sämtliche Zykluszeitkomponenten (Zugelassen, Aktuell, Maximum, Überschreitungen) angezeigt und aktualisiert. Durch Deaktivieren dieser Option wird der Arbeitsaufwand des Debuggers für die Kommunikation reduziert.

Wenn die Option "Fehler anzeigen" aktiviert wird, werden die bei der Ausführung erkannten Fehler laufend im unteren Teil des Debugger-Fensters angezeigt. Wenn diese Option deaktiviert wird, dann bleibt die Fehlerliste geschlossen und die Kommunikations- und Anzeigearbeit des Debuggers wird reduziert. Der Befehl "Optionen / Fehler löschen" löscht den Inhalt der aktuellen Fehlerliste im Debugger-Fenster.

Der Befehl "Optionen / Fenstergröße reduzieren" verkleinert das Debugger-Fenster, so daß es als eine kleine Tafel angezeigt wird, in der nur der Anwendungsstatus und die grafischen Schaltflächen für die geläufigsten Befehle angezeigt werden.


Forcierungsbefehle

Der symbolische ISaGRAF Debugger enthält zahlreiche Befehle, mit denen die Werte oder Zustände der Anwendungskomponenten modifiziert werden können. Um ein Element auszuwählen, doppelklicken Sie auf seinen Namen oder sein Symbol in einem der Bearbeitungsfenster, wenn das Debugger-Fenster offen ist.

Variablen

AS-Objekte


Variablen

Der Zustand einer Variablen kann geändert werden, indem man auf ihren Namen in einem der folgenden Fenster doppelklickt:

•	Datenverzeichnis

•	Variablenlisten oder Steuerungsdiagramme

•	KOP- oder FBS-Programme

•	E/A-Verdrahtung

Die folgenden Befehle sind im Debugging-Dialogfeld verfügbar:

•	Variable zu einem neuen Wert forcieren

•	Variable verriegeln (nur für E/A-Variablen)

•	Variable freigeben (nur für verriegelte E/A-Variablen)

•	Timer-Variable starten oder stoppen (automatischen Aktualisierungsmodus setzen)

Die symbolischen Werte, die benutzt werden, um die Booleschen Werte FALSE und TRUE darzustellen, sind Zeichenfolgen, die für diese spezifische Boolesche Variable im Datenverzeichnis definiert wurden. Ein analoger Wert, der für einen Forcierungsbefehl spezifiziert wird, muß in einem ganzzahligen oder realen Format erfaßt werden, entsprechend der Variablendefinition im Datenverzeichnis. Eine Zeichenfolge, die für einen Forcierungsbefehl einer Zeichenketten-Variablen spezifiziert wird, darf die bei der Deklaration dieser Variablen bestimmte, maximale Länge nicht überschreiten.


AS-Objekte

Um ein AS-Programm in der Debugging-Phase zu steuern, werden die Befehle des "Datei"-Menüs im Fenster des Programm-Managers benutzt. Das AS-Programm wird in der Programmliste ausgewählt. Die folgenden Befehle sind verfügbar:

AS-Programm starten:	Aktiviert das ausgewählte Programm (setzt eine AS-Zugriffsberechtigung in jeden seiner Initialisierungsschritte)

AS-Programm stoppen:	Stoppt das ausgewählte Programm (entfernt alle bestehenden Zugriffsberechtigungen).

AS-Programm anhalten:	Entfernt alle bestehenden Zugriffsberechtigungen des ausgewählten Programms und speichert deren Positionen.

AS-Programm erneut starten:Startet ein angehaltenes Programm erneut, indem alle durch den Befehl "anhalten" entfernten Zugriffsberechtigungen wiederhergestellt werden.

Bei Sohnprogrammen entsprechen diese Befehle den Funktionen "GSTART", "GKILL", "GFREEZE" und "GRST" der Programmiersprache.

Um einen AS-Schritt in der Debugging-Phase einer Anwendung zu steuern, doppelklicken Sie auf sein grafisches Symbol im AS-Bearbeitungsfenster. Die folgenden Befehle sind im Debugging-Dialogfeld verfügbar:

•	Haltepunkt auf die Aktivierung eines Schritts setzen

•	Haltepunkt auf die Deaktivierung eines Schritts setzen

•	Gesetzten Haltepunkt eines Schritts löschen

Hinweis:	Aktivierungs- und Deaktivierungs-Haltepunkte können nicht auf den gleichen Schritt gesetzt werden.

Um eine AS-Transition in der Debugging-Phase einer Anwendung zu steuern, doppelklicken Sie auf ihr grafisches Symbol im AS-Bearbeitungsfenster. Die folgenden Befehle sind im Debugging-Dialogfeld verfügbar:

•	Haltepunkt auf die Überschreitung einer Transition setzen

•	Gesetzten Haltepunkt der Transition löschen

•	Transition manuell überschreiten (Zugriffsberechtigungen verschieben oder hinzufügen)

Bedingtes Überschreiten: Eine Zugriffsberechtigung wird in allen einer Transition folgenden Schritten erstellt. Die Zugriffsberechtigungen in den vorangehenden Schritten werden gelöscht.

Unbedingtes Überschreiten: Eine Zugriffsberechtigung wird in allen einer Transition folgenden Schritten erstellt. Die Zugriffsberechtigungen in den vorangehenden Schritten werden nicht gelöscht.


Online-Änderungen

Mit Hilfe der Funktion "Online-Änderungen" kann eine aktive Anwendung während der Prozeßausführung vom Benutzer modifiziert werden. Bei manchen chemischen Prozessen, bei denen eine Prozeßunterbrechung die Produktion oder sogar die Sicherheit beeinträchtigen könnten, ist diese Vorgehensweise unumgänglich. Online-Änderungen sollten mit äußerster Vorsicht vorgenommen werden, da ISaGRAF unter bestimmten Umständen nicht alle Konflikte erkennen kann, die durch solche benutzerdefinierten Online-Änderungen entstehen könnten.

Codesequenzen

Variablen

Ein- und Ausgänge

Änderungsoperationen

Speicheranforderungen

Begrenzungen

Operationen


Codesequenzen

Da ISaGRAF über zahlreiche Möglichkeiten verfügt, vom Debugger aus auf Variablen, Programme oder E/A-Karten zuzugreifen, bezieht sich die hier beschriebene Funktion "Online-Änderungen" nur auf die Codesequenzen. Eine Codesequenz ist ein kompletter Satz an ST-, AWL-, KOP- oder FBS-Anweisungen, welche in einer Reihenfolge ausgeführt werden. In Programmen der Abschnitte "Zyklusanfang" und "Zyklusende" ist eine Codesequenz die gesamte Liste der Anweisungen eines Programms. In AS-Programmen ist eine Codesequenz die Programmierung der Ebene 2 eines Schrittes oder einer Transition. In einer "Online-Änderung" werden eine oder mehrere Codesequenzen ersetzt, ohne daß der SPS-Ausführungszyklus gestoppt wird. Da die Steuerung der AS-Zugriffsberechtigungen äußerst kritisch ist, ist es nicht möglich, die AS-Struktur zu ändern oder Schritte, Transitionen oder AS-Programme hinzuzufügen, neu zu nummerieren oder zu löschen.


Variablen

Die Variablen-Datenbank ist ebenfalls ein äußerst kritischer Teil einer Anwendung und andere Prozesse können jederzeit auf sie zugreifen (bei Multitasking-SPS). Zudem können die Variablenwerte vom Debugger aus modifiziert werden. Deshalb ist es unter ISaGRAF nicht möglich, Variablen online hinzuzufügen, umzubenennen oder zu löschen. Allerdings kann die Art, wie eine Variable in der Anwendung benutzt wird, geändert werden. Es ist auch möglich, "unbenutzte" interne oder E/A-Variablen in der ersten Version einer Anwendung zurückzulegen, so daß sie in zukünftigen Änderungen benutzt werden können.

In der ISaGRAF Zielsystem-Datenbank gibt es Variablen verschiedenen Stils. Bei allen gibt es bestimmte Einschränkungen:

- Deklarierte Variablen

Dies sind Variablen, die mit dem ISaGRAF Datenverzeichnis deklariert wurden. Sie können nicht geändert oder für Online-Änderungen umbenannt werden. Es wird empfohlen, zusätzliche Variablen zu deklarieren und in der Anwendung zu initialisieren, selbst wenn sie nicht sofort gebraucht werden. Solche zusätzlichen Variablen ermöglichen zukünftige Änderungen, ohne das Daten-Checksum der Anwendung zu modifizieren.

- Funktionsbaustein-Instancen

Jede Instance eines in "C" oder IEC geschriebenen Funktionsbausteins entspricht Daten, die in der Echtzeit-Datenbank des ISaGRAF Zielsystems gespeichert werden. Wenn Funktionsbaustein-Instancen hinzugefügt oder entfernt werden, sind keine Online-Änderungen mehr möglich. Deshalb is es besser, in ST (mit den im Datenverzeichnis deklarierten Funktionsbaustein-Instancen) zu arbeiten, als Bausteine in Schnellen KOP- oder FBS-Diagrammen hinzuzufügen, welche neuen, automatische deklarierten Instancen entsprechen. Auch die Modifizierung der Definition eines in der Bibliothek verfügbaren Funktionsbausteins macht eine Online-Änderung unmöglich.

- Schritte

Jeder AS-Schritt entspricht Daten, in denen die dynamischen AS-Schrittattribute (Aktivitätszeit und Flagge) gespeichert sind. Das Hinzufügen oder Entfernen von AS-Schritten ändert die Datenbank der Anwendung und ist bei Online-Änderungen nicht erlaubt.

- Versteckte, vom Compiler zugeordnete Variablen

Der ISaGRAF Compiler generiert "versteckte" Zeitvariablen, um komplexe Ausdrücke zu lösen. In manchen Fällen kann die Änderung eines solchen Ausdrucks zu einem unterschiedlichen Satz unsichtbarer Zeitvariablen führen und eine Online-Änderung unmöglich machen. Um diese Situation zu vermeiden, können der ISA.INI Datei die folgenden Eingaben beigefügt werden, um jedem Programm eine festgelegte Anzahl von Zeitvariablen zuzuordnen, selbst wenn diese nicht für die Kompilierung der ersten Version der Anwendung benötigt werden. Die folgenden Werte sind Beispiele:

[DEBUG]

MNTVboo=8	; für Boolesche Variablen

MNTVana=4	; für ganzzahlige und reale Variablen

MNTVtmr=4	; für Timer-Variablen

MNTVmsg=2	; für Zeichenketten-Variablen

Wenn diese Eingaben in ISA.INI erscheinen, gibt der Compiler eine Warnmeldung aus, falls die Neukompilierung der Anwendung eine höhere Anzahl an zugeordneten Zeitvariablen nach sich zieht.


Ein- und Ausgänge

Da das ISaGRAF E/A-System ausgesprochen offen gestaltet ist, sollten die notwendigen Änderungen von einem OEM, unter Berücksichtigung der speziellen Funktionalitäten der betreffenden Hardware, implementiert werden. Das ISaGRAF System ermöglicht nicht, E/A-Variablen online hinzuzufügen, anzuschließen oder freizugeben oder die Beschreibung einer E/A-Karte online zu ändern. Die Modifizierung der Kartenparameter und die Verriegelung der E/A-Kanäle erfolgt mit Hilfe von Standard-OEM-Funktionalitäten und der Funktion "OPERATE".


Änderungsoperationen

Um eine in Betrieb befindliche Anwendung zu modifizieren, werden die folgenden Operationen ausgeführt:

•	Quellcode der Anwendung in der Workstation modifizieren

•	Neuen Anwendungscode generieren

•	Neuen Anwendungscode mit Hilfe des Befehls "aktualisieren" laden (anstatt des Befehls "übertragen")

•	Zwischen SPS-Ausführungszyklen, mit Hilfe des Befehls "Aktualisierung ausführen", von der alten Anwendung zur neuen Anwendung übergehen.

Diese Vorgehensweise garantiert, daß die Ziel-SPS stets über eine komplette, zuverlässige und in Betrieb befindliche Anwendung verfügt und ermöglicht dem Benutzer, die zeitlichen Vorgänge der jeweiligen Operationen auf sichere und wirksame Weise zu steuern. Außerdem kann ein Projekt so oft wie möglich geändert werden. Mit Ausnahme eventueller Konsequenzen für den Prozeß selbst ist die "Online-Änderung" einem normalen Satz an "Stop-, Start- und Ladebefehlen" sehr ähnlich. Der einzige Unterschied ist, daß die Zustände der Variablen nicht verlorengehen und daß die Übergangszeit von einer Anwendung zur anderen sehr kurz ist (im allgemeinen 1 oder 2 Zyklen). Während des Übergangs werden keine Variablen modifiziert und alle internen, Eingangs- und Ausgangsvariablen behalten die gleichen Werte vor und nach der Änderung der Anwendung bei. Während des Übergangs werden keine Aktionen ausgeführt und die AS-Zugriffsberechtigungen werden nicht bewegt.


Speicheranforderungen

Um "Online-Änderungen" unterstützen zu können, benötigt die Ziel-SPS ausreichend freien Speicherplatz, damit die modifizierte Version des Anwendungscodes gespeichert werden kann, denn während des Übergangs vom alten zum neuen Anwendungscode werden beide Codes im Speicher der SPS gespeichert.


Begrenzungen

Wie bereits erwähnt sind ausschließlich Änderungen der Codesequenzen gestattet. Variablendefinitionen, Anwendungsparameter und die E/A-Verdrahtung können nicht modifiziert werden. Wenn die neue Version einer Anwendung geladen wird, wird sie von ISaGRAF mit der in Betrieb befindlichen Anwendung verglichen, um eventuelle gefährliche Änderungen zu erkennen. Wenn die Übertragung als zu riskant oder als unmöglich befunden wird, wird ein Übertragungsfehler generiert. Eine der von ISaGRAF ausgeführten Kontrollen ist der Vergleich der Checksums der Symboltabellen, so daß Änderungen der Variablennamen, Programme oder AS-Elemente erkannt werden können. Wenn ein Schritt während des Übergangs aktiv ist, so gehen seine nicht-gespeicherten Aktionen (N) verloren. Die neuen Schrittaktivierungsaktionen werden nicht ausgeführt. Aktionen, die bei der Deaktivierung des Schritts ausgeführt werden, werden vom neuen Anwendungscode übernommen. Wenn eine Transition gültig ist, wenn der Übergang stattfindet, wird ihre Rezeptivitätsgleichung aktualisiert. Der neu geladene Anwendungscode wird in der SPS nicht gesichert. Die Sicherungskopie enthält die Version, welche vorher mit den Standardladebefehlen geladen wurde.


Operationen

Um den Code einer in Betrieb befindlichen Anwendung zu aktualisieren, werden die folgenden Operationen ausgeführt:

•	Bevor man Änderungen an einer laufenden Anwendung vornimmt, wird empfohlen, das aktuelle Projekt unter einem anderen Namen zu kopieren. Die Änderungen können an den Kopien vorgenommen werden.

•	Bevor ein Programm bearbeitet wird, sollte man prüfen, ob die Option "Protokolldatei aktualisieren" in den Bearbeitungswerkzeugen aktiviert ist, um zukünftige Instandhaltungen des Programms zu erleichtern.

•	Wenn eine oder mehrere Sequenzen modifiziert wurden (ohne die AS-Struktur oder die Programmhierarchie zu verändern), muß der Code vor dem Laden in der Workstation generiert werden.

•	Unter Anwendung des Debuggers muß der Benutzer die Ziel-SPS vom alten Projekt aus anschließen und alle Operationen ausführen, welche zu einer schnelleren und zuverlässigeren Aktualisierung der Anwendung beitragen.

•	Unter Anwendung des Debuggers muß der Benutzer die Ziel-SPS vom neuen Projekt aus anschließen. Wenn der Name der Anwendung geändert wurde, ist kein Zugriff auf die Zieldatenbank möglich. Der Benutzer muß den Befehl "Datei / Aktualisieren" einleiten.

•	Die modifizierte Anwendung wird durch Auswahl der Option "Später aktualisieren" übertragen (geladen). Hierdurch wird die SPS bei der Übertragung eventuell etwas verlangsamt.

•	Nach beendeter Übertragung kann der Benutzer den Befehl "Datei / Aktualisierung ausführen" einleiten, um den Übergang im günstigsten Moment zu ermöglichen. Der Übergang nimmt 1 bis 2 Zyklen in Anspruch.

•	Wenn die Übertragung ordnungsgemäß ausgeführt wurde, werden die Programme der neuen, nun in Betrieb befindlichen Anwendung angezeigt. Wenn nicht, bleibt die ursprüngliche Anwendung aktiv.


DDE-Datenaustausch

Der ISaGRAF Debugger verfügt über einen DDE-Server (Dynamic Data Exchange). Zwischen dem ISaGRAF Debugger und anderen Anwendungen kann eine Mitteilungsringleitung (advise loop) installiert werden, so daß die aktuellen Variablenwerte in nicht-ISaGRAF Anwendungen dynamisch angezeigt werden.

Ausschließlich Transaktionen vom Typ "advise" und "poke" werden vom DDE-Server des ISaGRAF Debuggers unterstützt. Transaktionen vom Typ "request" können nur für Variablen benutzt werden, die bereits in einer Mitteilungsringleitung überwacht werden. Andere DDE-Leistungen, wie "execute", sind nicht verfügbar. Wenn eine Mitteilungsringleitung auf einer Variablen erstellt ist, wird der Wert der Variablen jedesmal in der Client-Anwendung aktualisiert, wenn die Variable sich verändert. Beliebige Variablentypen können überwacht werden. Die Identifizierung der dynamischen Verknüpfung schließt die folgenden Namen ein:

Service-Name:	"ISaGRAF"

Name des Dokuments:	Name des ISaGRAF Projekts

Name des Elements:	Name der Variablen

Wenn es sich um eine programm-lokale Variable handelt, muß ihrem Namen der eingeklammerte Name ihres Vaterprogramms folgen, und zwar in der folgenden Syntax:

variablen_name(programm_name)

Der DDE-Server des ISaGRAF Debuggers ist der aktuellen im Debugger überwachten ISaGRAF Anwendung dediziert. Bis zu 256 Variablen können vom ISaGRAF Server überwacht werden. Der DDE-Server kann sowohl im Onlinemodus des Debuggers als auch im Simulationsmodus benutzt werden. Die Aktualisierungsperiode ist die gleiche, wie die, welche für die Kommunikation zwischen dem Debugger und dem ISaGRAF Zielsystem oder Simulator definiert wurde.