Im Allgemeinen ist ein Refactoring der Prozess einer Neustrukturierung und Verbesserung eines bestehenden Softwarecodes, ohne dass sein Verhalten geändert wird.
Die Refaktorierung in EcoStruxure Machine Expert stellt Funktionen zum Umbenennen von Objekten und Variablen zur Verfügung. Sie können die Nutzungsorte geänderter Objekte und Variablen anzeigen und alle gemeinsam oder nur einzelne Elemente umbenennen. Sie können festlegen, ob und an welchen Speicherorten Sie nach einem Refactoring gefragt werden möchten. Für eine globale Applikation steht der Befehl zur Verfügung.
Für weitere Informationen siehe auch Optionen, Refactoring.
Der Befehl
wird für ein globales, projektweites Umbenennen von Objekten und Variablen verwendet.Er steht im Kontextmenü zur Verfügung, wenn Sie mit der rechten Maustaste in der Deklaration auf einen Variablennamen oder in einem Navigator auf eines der folgenden Objekte klicken:
Funktionen
POUs
GVLs
Methoden
Eigenschaften
Geräte
Der Befehl ist auch verfügbar, wenn Sie im Editor zur Einheitenkonvertierung Variablen und Einheitenkonvertierungen auswählen.
Der Befehl steht nicht im Online-Modus zur Verfügung.
Wenn Sie den Befehl
ausführen, wird ein Dialogfeld angezeigt. Es zeigt den Speicherort, an dem der entsprechende Name verwendet wird: im rechten Teil des Fensters die einzelnen Speicherorte, im linken Teil die Navigationsstruktur, in der das betreffende Objekt markiert ist.Sie können für jeden Speicherort die folgenden Befehle auswählen:
: Einzelne Änderungen können Sie im rechten Fenster übernehmen oder zurückweisen.
: Alle Änderungen für das entsprechende Objekt werden übernommen oder zurückgewiesen.
: Alle Änderungen im Projekt werden übernommen oder zurückgewiesen.
Übernommene Änderungen werden mit einem gelben Hintergrund angezeigt, zurückgewiesene mit einem grauen.
Der Befehl
ermöglicht die Deklaration von Variablen in einer POU und die Durchführung einer automatischen Aktualisierung an verschiedenen Verwendungspunkten.Er steht im Kontextmenü oder im Menü Dialogfeld wird geöffnet.
zur Verfügung, wenn der Cursor in einem Deklarationseditor platziert ist. DasNachdem Sie das Dialogfeld
mit bestätigt haben, wird das Dialogfeld geöffnet. In dem Dialogfeld erscheint die Baumstruktur des Projekts auf der linken Seite. Die POUs, in denen die neue Variable verwendet wird, sind in der Baumstruktur unterlegt. Mit einem Doppelklick auf eine POU können Sie auf der rechten Seite des Dialogfelds eine detaillierte Ansicht öffnen. In diesem Deklarations- und Implementierungsbereich der POU sind die neuen Deklarationen auf der rechten Seite gelb unterlegt.Bevor Sie sich für das Akzeptieren bestimmter Änderungen an bestimmten Speicherorten entscheiden, müssen Sie die geeignete Option in der Liste über dem Deklarations- und Implementierungsbereich der POU auf der rechten Seite wählen:
Option |
Beschreibung |
---|---|
|
Wählen Sie diese Option, um den Standardplatzhaltertext |
|
Wählen Sie diese Option, um immer dann einen Initialisierungswert einzufügen, wenn die neue Variable im Implementierungscode erscheint. Geben Sie den Initialisierungswert im Textfeld auf der rechten Seite der Option ein. |
Zum Annehmen oder Ablehnen der Änderungen klicken Sie mit der rechten Maustaste auf die geänderten Speicherorte oder führen die Befehle im linken oder rechten Abschnitt des Dialogfelds aus, wie im Abschnitt Prozess des Umbenennens in diesem Kapitel beschrieben ist.
Beispiel 1:
Beim Refactoring empfängt der Baustein fun
eine neue Eingangsvariable input3
mit dem Initialisierungswert 1. Die Änderung wirkt sich wie folgt aus:
Vor dem Refactoring:
fun(a + b, 3, TRUE);
fun(input1:= a + b , input2 :=3 , inputx := TRUE);
Nach dem Refactoring:
fun(a + b, 3, input3:=1, TRUE);
fun(input1:= a + b , input2 :=3 , input3:=_REFACTOR_,inputx := TRUE);
Beispiel 2:
Beim Refactoring empfängt der Baustein fun
eine neue Eingangsvariable input3
mit dem Platzhaltertext _REFACTOR_
:
Vor dem Refactoring:
inst(input1 := a + b, input2 := 3, inputx := TRUE);
fun(a + b, 3, TRUE);
Nach dem Refactoring:
inst(input1 := a + b, input2 := 3, input3 := _REFACTOR_, inputx := TRUE);
fun(a + b, 3, input3:=_REFACTOR_, TRUE);
Der Befehl
ermöglicht das Entfernen der Ein- oder Ausgangsvariablen aus einer POU. Die Variable wird automatisch an den verschiedenen Verwendungspunkten aus der POU entfernt.Der Befehl ist im Kontextmenü oder im Menü
verfügbar, wenn der Cursor im Deklarationseditor auf der Kennung der zu entfernenden Variablen platziert wird. Ein Dialogfeld mit Informationen über das Entfernen wird geöffnet. Wenn Sie die Meldung bestätigen, wird das Dialogfeld geöffnet.Sobald Sie die im Dialogfeld
vorgeschlagenen Änderungen akzeptieren, werden die entsprechenden Ein- und Ausgangsvariablen automatisch aus der entsprechenden POU an den verschiedenen Verwendungspunkten entfernt.
In einer POU entfernt das Refactoring die Eingangsvariable input4
. Die Variable wird automatisch an den verschiedenen Verwendungspunkten aus der POU entfernt:
Vor der Entfernung:
inst(input1 := a + b, input2 := 3, input4 := 1, input5 := TRUE);
fun(a + b, 3, 1, TRUE);
Nach der Entfernung:
inst(input1 := a + b, input2 := 3, input5 := TRUE);
fun(a + b, 3, TRUE);
Der Befehl
gilt nur für den CFC- und den FBD/LD/IL-Editor. Er entspricht den Befehlen und .Der Befehl
aktualisiert die Ein- und Ausgangsanschlüsse der POU an allen Verwendungspunkten, entsprechend der aktuellen POU-Deklaration.Er steht im Kontextmenü oder im Menü
zur Verfügung, wenn der Cursor auf dem POU-Namen in der ersten Zeile der POU-Deklaration oder im Geräteeditor platziert wird.Über den Befehl VAR_INPUT, VAR_OUTPUT oder VAR_IN_OUT ändern.
können Sie die Reihenfolge der Variablendeklarationen in den BereichenBeispiel:
VAR_INPUT
invar2 : INT;
invar1 : INT;
in : DUT;
bvar : BOOL;
invar3 : INT;
Gehen Sie vor wie folgt, um die Reihenfolge der Deklarationen zu ändern:
Schritt |
Aktion |
---|---|
1 |
Klicken Sie mit der rechten Maustaste auf den Deklarationsteil und führen Sie den Befehl aus.Ergebnis: Das Dialogfeld VAR_INPUT-Variablen geöffnet. wird mit einer Liste der |
2 |
Ziehen Sie den Eintrag invar1 : INT; an die Position vor dem Eintrag invar2.. Ergebnis: Die invar1-Deklaration befindet sich an der obersten Position. |
3 |
Klicken Sie auf , um das Dialogfeld zu schließen.Ergebnis: Das Dialogfeld wird geöffnet. Die betroffenen Elemente werden in gelb dargestellt. |
4 |
Klicken Sie auf , um die neue Reihenfolge der Parameter des Funktionsbausteins zu übernehmen. Beachten Sie, dass die geänderte Reihenfolge der Parameter ebenfalls für die Aufrufverwaltung der POUs übernommen wird. |
Refactoring kann Sie bei der Umbenennung von Variablen (mithilfe von
) wie in nachstehendem Beispiel gezeigt unterstützen.Voraussetzung für dieses Beispiel ist die Verfügbarkeit eines Funktionsbausteins fb_A mit einem Eingang iA.
Schritt |
Aktion |
Kommentar |
---|---|---|
1 |
Führen Sie den Befehl aus. |
Ergebnis: Das Dialogfeld wird geöffnet. |
2 |
Wählen Sie die Kategorie auf der linken Seite aus. |
– |
3 |
Wählen Sie im Bereich die Optionen und aus. |
– |
4 |
Doppelklicken Sie auf den Funktionsbaustein fb_A. |
– |
5 |
Wählen Sie eine Variablen in der Deklaration von fb_A aus, z. B. iA. |
Sie können auch den Cursor vor oder in die Variable setzen. |
6 |
Führen Sie den Befehl aus. |
Oder verwenden Sie das Tastaturkürzel + .Ergebnis: Das Dialogfeld iA angezeigt. wird geöffnet. In diesem Dialogfeld werden die Einstellungen für die Variable |
7 |
Bearbeiten Sie den iA zu iCounter_A. und ändern Sie |
Ergebnis: Das Dialogfeld wird geöffnet. Die POUs, in denen die Variable verwendet wird, werden in der Baumstruktur optisch hervorgehoben. |
8 |
Kicken Sie auf , um die Umbenennung anzuwenden und das Dialogfeld zu schließen. |
– |