Refactoring von Variablen und FB-Typen
Dieses Thema enthält die folgenden Abschnitte:
- Allgemeine Informationen
- Besonderheiten beim Refactoring von sicherheitsbezogenen Daten
- Besonderheiten beim Refactoring von Funktionsbausteininstanzen
- Vorgehensweise zum Refactoring
- Fenster-Symbolleiste
Allgemeine Informationen
Refactoring bedeutet die Strukturverbesserung von vorhandenem Quellcode unter Beibehaltung des funktionalen Verhaltens.
Für das Refactoring unterstützt PLCnext Engineer einen Mechanismus für die automatische und konsistente Änderung von Objekteigenschaften (Variablen, FB-Instanzen etc.). Konsistent bedeutet, die zu ersetzenden Eigenschaften werden Solution-weit berücksichtigt, d.h. in jeder Variablentabelle, Datenliste, an jeder Codestelle und innerhalb der HMI-Applikation. So kann bspw. ein Objekt in nur einem Schritt und ohne funktionelle Auswirkung auf den Code umbenannt werden.
Den 'Refactoring'-Befehl finden Sie im Kontextmenü des Objekts in folgenden Editoren, sofern exakt ein Objekt selektiert ist:- Variablentabelle (lokale Deklarationen einer POE)
- Datenliste (globale IEC 61131-3-Deklarationen)
- Code-Editoren (Variablen und FB-Aufrufe)
- QUERVERWEISE
Besonderheiten beim Refactoring von sicherheitsbezogenen Daten
Die Auswirkungen, die das Refactoring von (sicherheitsbezogenen) Variablen/Instanzen auf die Sicherheitsanwendung hat, liegen allein in Ihrer Verantwortung als Applikationsentwickler. Sie müssen vor dem Refactoring von sicherheitsbezogenen Variablen und Instanznamen Folgendes beachten:
WARNUNG
|
Unbeabsichtigter Betriebszustand des Geräts
|
Besonderheiten beim Refactoring von Funktionsbausteininstanzen
- Wenn der Instanzname geändert wird, dann wird die zugehörige Instanzvariable ebenfalls umbenannt, sofern exakt eine Variable mit dem alten Namen aber noch keine Variable mit dem neuen Namen vorhanden ist.
- Wenn ein Funktionsbausteintyp geändert wird, wird auch der entsprechende Typ der Instanzvariablen geändert.
Vorgehensweise zum Refactoring
- Falls erforderlich: Nachdem Sie eine Variable hinzugefügt haben, erzeugen Sie das Projekt manuell neu ('Projekt > Neu erzeugen'). (Der 'Refactoring'-Befehl steht erst zur Verfügung, nachdem das Projekt neu erzeugt wurde oder wenn die Querverweise aktuell sind.)
- Wählen Sie aus dem Kontextmenü des zu ändernden Objekts den Befehl 'Refactoring' aus.Im Cross-Funktionen-Bereich öffnet sich nun das REFACTORING-Fenster.
In diesem Fenster sind alle Orte aufgelistet, an denen das betreffende Objekt in Ihrem Projekt verwendet wird: Deklarationen, Code-Zugriffe (im Standard- und sicherheitsbezogenen Code) sowie alle Verwendungen in der HMI-Applikation.Doppelklicken auf einen Ort in der Liste öffnet den entsprechenden Editor (Datenliste, Code etc.) und markiert dort das betreffende Objekt. - Geben (oder wählen) Sie in der ersten Tabellenzeile unter der Gruppe 'Neue Werte' einen neuen Namen, Typ oder Kommentar ein (alle anderen Eigenschaften sind schreibgeschützt).Das Feld 'Typ' enthält eine Liste der im Projekt vorhandenen Daten- und FB-Typen (FB-Namen). Wenn Sie einen anderen Typ wählen, stellen Sie sicher, dass dieser zum definierten Typ passt.
- Geben Sie alle Orte an, an denen die Eigenschaft durch die neuen Werte ersetzt werden soll.
: Beim Ausführen des Refactoring-Befehls werden alle vorhandenen Werte durch die neuen Werte ersetzt.
: Werte an diesem Ort bleiben unverändert.In der Symbolleiste des Fensters finden sich zwei Befehle zum Abwählen
oder Auswählen
aller Orte.
-
Stellen Sie sicher, dass
- Sie die Anweisungen im Gefahrenhinweis am Beginn dieser Vorgehensweise befolgt haben, und
- Ihre Auswahl zu keinem Codefehler aufgrund von Inkonsistenzen führt
- Prüfen Sie das MELDUNGEN-Fenster auf Fehler, die durch das Refactoring aufgetreten sind.
- Validieren und prüfen Sie die Applikation sorgfältig bezüglich der vom Refactoring betroffenen Variablen/Instanznamen.
Fenster-Symbolleiste
Doppelklicken auf einen Ort in der Liste öffnet den entsprechenden Editor (Datenliste, Code etc.) und markiert dort das betreffende Objekt.