-

Refactoring von Variablen und FB-Typen

Dieses Thema enthält die folgenden Abschnitte:

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:

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
  • Stellen Sie sicher, dass geeignete organisatorische Maßnahmen (gemäß zutreffender Sektornormen) getroffen wurden, um Gefährdungen im Falle einer ungewollten oder falschen Funktion der Anwendungslogik als Folge des Refactoring zu vermeiden.
  • Prüfen Sie im REFACTORING-Fenster sorgfältig alle Vorkommen der betroffenen Variablen und Instanznamen, bevor Sie das Refactoring, wie im unten stehenden Schritt 5 beschrieben, durchführen.
  • Verifizieren Sie, wie sich das Refactoring von Variablen auswirkt.
  • Validieren Sie die gesamte Sicherheitsfunktion bezüglich der vom Refactoring betroffenen Variablen/Instanznamen und prüfen Sie die Applikation sorgfältig.

Besonderheiten beim Refactoring von Funktionsbausteininstanzen

Vorgehensweise zum Refactoring

  1. 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.)
  2. 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.

  3. 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.

  4. 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.

  5. 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
    bevor Sie das Refactoring in diesem Schritt anwenden.

    1. Klicken Sie in der Symbolleiste auf , um das Refactoring an allen gewählten Orten anzuwenden.
    2. Klicken Sie in der Symbolleiste auf , um den Inhalt des REFACTORING-Fensters zu aktualisieren.
Nach Abschluss des Refactoring

Fenster-Symbolleiste

Symbol / Befehl1
Aktualisiert die Liste aller Orte.
Ersetzt die vorhandenen Werte an den gewählten Orten durch die neuen Werte, die Sie in der Gruppe 'Neue Werte' eingegeben haben. Nach dem Refactoring wird die Liste automatisch aktualisiert.
Markiert (aktiviert) alle im Fenster aufgelisteten Orte.
Deaktiviert alle im Fenster aufgelisteten Orte.

Doppelklicken auf einen Ort in der Liste öffnet den entsprechenden Editor (Datenliste, Code etc.) und markiert dort das betreffende Objekt.