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 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
.
Sélectionnez le nom d'une variable globale, par exemple
iGlobal
.Sélectionnez la commande dans le menu contextuel
.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à dansiGlobalOK
renommé.cliquer sur d'accord.
Il n'y a pas de variable globale dans votre projet
iGlobal
. Partout est maintenantiGlobalOK
.
Sélectionnez le nom d'une variable globale, par exemple
iGlobal
.Sélectionnez la commande dans le menu contextuel
.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
estiGlobalTest
listé.Positionnez le curseur dans la fenêtre de droite et ouvrez le menu contextuel.
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 autrementiGlobalTest
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é.
Placez le focus dans la partie déclaration de la fonction FCT.
Choisissez la commande
.La boîte de dialogue standard de déclaration d'une variable apparaît.
Déclarer des variables
input_3
avec portéeVAR_INPUT
et type de donnéesINT
. 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)
Sélectionnez l'option en haut à droite Ajouter des entrées avec un texte d'espace réservé. (3)
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 deFCT
à 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.Fermer la boîte de dialogue refactorisation Avec d'accord.
Choisissez la commande
. Recherchez "_REFACTOR_" dans le projet pour examiner les emplacements concernés et les modifier en conséquence.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.

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

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
Placez le curseur dans ce bloc de déclaration et appuyez sur le bouton droit de la souris pour ouvrir le menu contextuel.
Choisissez la commande
.Le dialogue Réarranger apparaît avec une liste de
VAR_INPUT
-Variables.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.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)
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
.
Choisissez la commande
.dialogue choix s'ouvre.
Choisissez la catégorie refactorisation.
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.
Double-cliquez sur le module fonction
fb_A
.Sélectionnez dans la déclaration de
fb_A
une variable par exempleiA
. Alternativement, vous pouvez placer le curseur devant ou dans la variable.Donner basculer + F2).
un (Le dialogue déclarer une variable s'ouvre. La boîte de dialogue contient les paramètres de
iA
.Changer le nom de
iA
aprèsiCounter_A
.L'option Modifications à l'aide de la refactorisation apparaît et est activé.
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.
Terminez la boîte de dialogue avec d'accord.
Les modifications sont acceptées.