Skip to main content

refactorisation

En général, la refactorisation est une méthode permettant d'améliorer la conception d'un logiciel déjà écrit sans modifier son comportement.

refactoriser dans CODESYS offre des fonctionnalités pour renommer les noms d'objets et de variables et pour mettre à jour les E/S de blocs. Vous pouvez afficher tous les emplacements où des objets et des variables renommés sont utilisés, puis les renommer dans leur ensemble ou les sélectionner individuellement. De plus, vous pouvez Outils → Options configurer si et à quels points CODESYS Vous invite automatiquement à refactoriser.

Renommer les variables globales

Condition : vous avez ouvert un projet qui contient au moins un bloc fonctionnel Facebook et une liste de variables globales. La liste des variables globales GVL est ouvert dans son éditeur et contient la déclaration d'une variable, par exemple iGlobal. Facebook utilisé iGlobal.

Procédure. Renommer les variables globales à l'échelle du projet
  1. Sélectionnez le nom d'une variable globale, par exemple iGlobal.

  2. Sélectionnez la commande dans le menu contextuel Refactoriser → Renommer iGlobal.

  3. Entrer en dialogue Renommer dans le champ de saisie Nouveau nom entrez un nouveau nom, par exemple iGlobalOK et cliquez d'accord.

    Le dialogue refactorisation s'ouvre. Dans la fenêtre de gauche, dans l'arborescence des appareils, se trouvent les objets GVL et Facebook marqué en rouge et surligné en jaune. Dans la fenêtre de droite se trouve Facebook ouvert dans son éditeur et iGlobal est déjà dans iGlobalOK renommé.

  4. cliquer sur d'accord.

    Il n'y a pas de variable globale dans votre projet iGlobal. Partout est maintenant iGlobalOK.

Procédure. Renommer les variables globales à l'échelle du projet (sauf pour un POU)
  1. Sélectionnez le nom d'une variable globale, par exemple iGlobal.

  2. Sélectionnez la commande dans le menu contextuel Refactoriser → Renommer iGlobal.

  3. Entrer en dialogue Renommer dans le champ de saisie Nouveau nom entrez un nouveau nom, par exemple iGlobalTest et cliquez d'accord.

    Le dialogue refactorisation s'ouvre. Dans la fenêtre de gauche, dans l'arborescence des appareils, se trouvent les objets GVL et Facebook marqué en rouge et surligné en jaune. Le module fonction est dans la fenêtre de droite Facebook ouvert dans son éditeur. À la place de iGlobal est iGlobalTest listé.

  4. Positionnez le curseur dans la fenêtre de droite et ouvrez le menu contextuel.

  5. Choisissez la commande Jeter cet objet et cliquez d'accord.

    Dans votre projet est la variable globale iGlobal dans Facebook cadeau. La variable est maintenant dans les objets dans lesquels la variable s'est produite autrement iGlobalTest spécifié.

    Le message d'erreur apparaît dans la fenêtre de message que l'identifiant iGlobal n'est pas défini.

Ajouter et supprimer des variables d'entrée

Vous pouvez ajouter ou supprimer des variables d'entrée ou de sortie dans la partie déclaration des POU à l'aide de commandes de refactoring. Mise à jour aux points d'utilisation/points d'appel des blocs CODESYS en conséquence, vous pouvez accepter ou refuser cela pour chaque point d'utilisation. Vous obtenez la boîte de dialogue pour cela refactorisation.

Prérequis : Vous avez le POU FCT de type Fonction ouverte sous l'éditeur. La fonction a déjà des variables d'entrée input1 et input2 et inputx. Elle sera dans les programmes PLC_PRG et POU appelé.

  1. Placez le focus dans la partie déclaration de la fonction FCT.

  2. Choisissez la commande Refactoring → Ajouter une variable.

    La boîte de dialogue standard de déclaration d'une variable apparaît.

  3. Déclarer des variables input_3 avec portée VAR_INPUT et type de données INT. Fermez la boîte de dialogue avec d'accord.

    Le dialogue refactorisation apparaît (voir figure ci-dessous). Les zones touchées sont marquées en jaune. (1)+(2)

  4. Sélectionnez l'option en haut à droite Ajouter des entrées avec un texte d'espace réservé. (3)

  5. Dans la fenêtre de gauche, placez le curseur sur l'un des objets à fond jaune, par exemple PLC_PRG. Sélectionnez la commande dans le menu contextuel Accepter l'intégralité du projetpour ajouter la nouvelle variable aux points d'utilisation de FCT à ajouter tout au long du projet.

    Dans la fenêtre de droite, vous pouvez voir le changement dans la partie implémentation de PLC_PRG: Espace réservé _REFACTOR_ apparaît à l'endroit où la nouvelle variable a été insérée.

  6. Fermer la boîte de dialogue refactorisation Avec d'accord.

  7. Choisissez la commande Édition → Rechercher. Recherchez "_REFACTOR_" dans le projet pour examiner les emplacements concernés et les modifier en conséquence.

  8. Remarque : Vous pouvez également insérer directement la nouvelle variable avec une valeur d'initialisation souhaitée sans utiliser d'abord un espace réservé. Dans ce cas, sélectionnez l'option ":.add avec la valeur suivante" à l'étape 4 et entrez la valeur à droite de celle-ci.

_cds_img_refactoring_view.png

Exemple de nouvelle variable avec texte générique dans un bloc CFC

_cds_img_refactoring_in_cfc.png

Notez également la possibilité de supprimer des variables via le refactoring.

Réorganiser les variables dans la déclaration

Dans la partie déclaration des blocs, vous pouvez utiliser la refactorisation pour modifier l'ordre des déclarations. Ceci est possible avec des déclarations de portées VAR_INPUT, VAR_OUTPUT ou VAR_IN_OUT.

Condition : vous avez ouvert la partie déclaration d'un POU, qui contient par exemple les déclarations suivantes :

VAR_INPUT
    invar2 : INT;
    invar1 : INT;
    in : DUT;
    bvar : BOOL;
    invar3 : INT;
END_VAR
  1. Placez le curseur dans ce bloc de déclaration et appuyez sur le bouton droit de la souris pour ouvrir le menu contextuel.

  2. Choisissez la commande Refactoring → Réorganiser les variables.

    Le dialogue Réarranger apparaît avec une liste de VAR_INPUT-Variables.

  3. Par exemple, sélectionnez l'entrée invar1 : INT ; et faites-le glisser devant l'entrée avec la souris invar2..

    La déclaration de invar1 est désormais la priorité absolue.

  4. Fermez la boîte de dialogue avec d'accord.

    Le dialogue refactorisation apparaît. Les zones touchées sont marquées en jaune. (Voir l'image ci-dessus)

  5. Confirmer avec d'accordpour appliquer le nouvel ordre au bloc.

Modifier la déclaration de variable et appliquer automatiquement la refactorisation

Vous êtes pris en charge par la refactorisation dans la déclaration lors du changement de nom des variables (à l'aide de l'autodéclaration).

Exigence : module de fonction fb_A.

  1. Choisissez la commande Outils → Options.

    dialogue choix s'ouvre.

  2. Choisissez la catégorie refactorisation.

  3. Activez ci-dessous déclaration automatique les options Lorsque vous renommez des variables et Pour ajouter ou supprimer des variables, ou pour modifier l'espace de noms.

  4. Double-cliquez sur le module fonction fb_A.

  5. Sélectionnez dans la déclaration de fb_A une variable par exemple iA. Alternativement, vous pouvez placer le curseur devant ou dans la variable.

  6. Donner Édition → Déclarer une variable un (basculer + F2).

    Le dialogue déclarer une variable s'ouvre. La boîte de dialogue contient les paramètres de iA.

  7. Changer le nom de iA après iCounter_A.

  8. L'option Modifications à l'aide de la refactorisation apparaît et est activé.

  9. Cliquez sur d'accord.

    Le dialogue refactorisation Renommez iA en iCounterA s'ouvre. Toutes les positions affectées par le changement de nom de la variable y sont marquées.

  10. Terminez la boîte de dialogue avec d'accord.

    Les modifications sont acceptées.