La versione 1.1 di EcoStruxure Machine Expert non supporta i controllori M258, LMC058 e LMC078.

Refactoring

Panoramica

In generale, il refactoring è il processo di ristrutturazione e ottimizzazione del codice software esistente senza modificarne il comportamento.

Il refactoring in EcoStruxure Machine Expert fornisce funzionalità per assegnare nuovi nomi oggetto e variabile. Consente di visualizzare tutte le ubicazioni di utilizzo di oggetti e variabili modificati e rinominarli tutti contemporaneamente o solo singolarmente. È possibile configurare se e in quali ubicazioni può essere richiesta l'esecuzione della ristrutturazione. È possibile utilizzare esplicitamente il comando Refactoring > Rinomina.

Per ulteriori informazioni, consultare anche Opzioni, Refactoring.

Comando Rinomina

Il comando Refactoring > Rinomina viene utilizzato per rinominare a livello globale di progetto oggetti e variabili.

È disponibile nel menu contestuale se si posiziona il cursore su un nome di variabile nella dichiarazione o se si fa clic con il pulsante destro del mouse su uno degli oggetti seguenti in un navigatore:

oFunzioni

oPOU

oGVL

oMetodi

oProprietà

oDispositivi

Il comando è inoltre disponibile se si selezionano conversioni delle unità di misura e variabili nell'editor per le conversioni delle unità di misura.

Il comando non è disponibile in modalità online.

Procedura di riassegnazione del nome

Dopo aver eseguito il comando Refactoring > Rinomina, viene visualizzata una finestra di dialogo che mostra le ubicazioni in cui viene utilizzato il nome interessato: nella parte destra della finestra le ubicazioni particolari, nella parte sinistra la struttura di navigazione dove è contrassegnato l'oggetto interessato.

È possibile selezionare i seguenti comandi per ciascuna ubicazione singolarmente:

oRifiuta/accetta questa modifica: rifiuta/accetta singole modifiche nella finestra di destra.

oRifiuta/accetta questo oggetto: rifiuta/accetta tutte le modifiche nell'oggetto interessato.

oRifiuta/accetta intero progetto: rifiuta/accetta tutte le modifiche nel progetto.

Le modifiche accettate vengono visualizzate con uno sfondo giallo, quelle rifiutate con uno sfondo grigio.

Comando Aggiungi <variabile>

Il comando Refactoring > Aggiungi <variabile> consente di dichiarare variabili in una POU ed esegue un aggiornamento automatico nei relativi diversi punti di utilizzo.

È disponibile nel menu contestuale o nel menu Modifica > Refactoring se il cursore è in un editor dichiarazioni. Si apre la finestra di dialogo Dichiarare una variabile.

Dopo aver confermato la finestra di dialogo Dichiarare una variabile facendo clic su OK, si apre la finestra di dialogo Refactoring comprendente la struttura del progetto sul lato sinistro. Le POU dove è utilizzata la nuova variabile sono evidenziate nella struttura. È possibile fare doppio clic su una POU per aprire la vista dettagliata nella parte destra della finestra di dialogo. In questa sezione di dichiarazione e implementazione della POU nel lato destro, le nuove dichiarazioni sono evidenziate in giallo.

Prima di stabilire quali modifiche accettare e in quale ubicazione, selezionare l'opzione idonea dall'elenco sopra la sezione di dichiarazione e implementazione della POU sul lato destro:

Opzione

Descrizione

Add inputs with placeholder text

Selezionare questa opzione per inserire il testo segnaposto standard _REFACTOR_ qualora la nuova variabile sia presente nel codice di implementazione. È possibile cercare in seguito questo testo standard per identificare le ubicazioni interessate.

Add inputs with the following value

Selezionare questa opzione per inserire un valore di inizializzazione qualora la nuova variabile sia presente nel codice di implementazione. Immettere il valore di inizializzazione nella casella di testo sul lato destro dell'opzione Add inputs with the following value.

Per accettare o rifiutare le modifiche, fare clic con il pulsante destro del mouse sulle ubicazioni modificate o eseguire i comandi nella parte sinistra o destra della finestra di dialogo, come descritto nel paragrafo Procedura di riassegnazione del nome in questo capitolo.

Esempi di aggiunta di una variabile

Esempio 1:

Con la ristrutturazione, il blocco fun riceve una nuova variabile di ingresso input3 con il valore di inizializzazione 1. La modifica ha l'effetto seguente:

Prima della ristrutturazione:

fun(a + b, 3, TRUE);
fun(input1:= a + b , input2 :=3 , inputx := TRUE);

Dopo la ristrutturazione:

fun(a + b, 3, input3:=1, TRUE);
fun(input1:= a + b , input2 :=3 , input3:=_REFACTOR_,inputx := TRUE);

Esempio 2:

Con la ristrutturazione, il blocco fun riceve una nuova variabile di ingresso input3 con il testo segnaposto _REFACTOR_.

Prima della ristrutturazione:

inst(input1 := a + b, input2 := 3, inputx := TRUE);
fun(a + b, 3, TRUE);

Dopo la ristrutturazione:

inst(input1 := a + b, input2 := 3, input3 := _REFACTOR_, inputx := TRUE);
fun(a + b, 3, input3:=_REFACTOR_, TRUE);

Comando Rimuovi <variabile>

Il comando Refactoring > Rimuovi <variabile> consente di rimuovere una variabile di ingresso o di uscita da una POU. Viene rimossa automaticamente dalla POU nei diversi punti di utilizzo.

Il comando è disponibile nel menu contestuale o nel menu Modifica > Refactoring se il cursore è nell'editor dichiarazione sull'identificativo della variabile da rimuovere. Viene visualizzata una finestra di dialogo con informazioni sulla rimozione. Se si conferma il messaggio, si apre la finestra di dialogo Refactoring.

Se si accettano le modifiche proposte nella finestra di dialogo Refactoring, le rispettive variabili di ingresso o di uscita vengono rimosse automaticamente dalla POU rispettiva nei diversi punti di utilizzo.

NOTA: In CFC, viene rimosso solo il collegamento tra l'uscita o l'ingresso rimosso e il blocco. L'uscita o l'ingresso stesso resta nel grafico.

Esempio di rimozione di una variabile in ST

In una POU, la ristrutturazione rimuove la variabile di ingresso input4. Viene rimossa automati­camente dalla POU rispettiva nei diversi punti di utilizzo.

Prima della rimozione:

inst(input1 := a + b, input2 := 3, input4 := 1, input5 := TRUE);
fun(a + b, 3, 1, TRUE);

Dopo la rimozione:

inst(input1 := a + b, input2 := 3, input5 := TRUE);
fun(a + b, 3, TRUE);

Comando Aggiorna collegamenti interessati

Il comando Refactoring > Aggiorna collegamenti interessati ha effetto solo sull'editor CFC e sull'editor FBD/LD/IL. Corrisponde ai comandi Reimposta i collegamenti e Aggiorna parametri.

Il comando Refactoring > Aggiorna collegamenti interessati aggiorna i collegamenti di ingresso e di uscita della POU, nei diversi punti di utilizzo, in base alla dichiarazione della POU corrente.

È disponibile nel menu contestuale o nel menu Modifica > Refactoring se il cursore si trova sul nome della POU, nella prima riga della dichiarazione della POU o nell'editor dispositivi.

Comando Riordinamento variabili in corso

Il comando Refactoring > Riordinamento variabili in corso consente di modificare l'ordine delle dichiarazioni delle variabili negli ambiti VAR_INPUT, VAR_OUTPUT o VAR_IN_OUT.

Esempio:

VAR_INPUT
  invar2 : INT;
  invar1 : INT;
  in : DUT;
  bvar : BOOL;
  invar3 : INT;

Passo

Azione

1

Fare clic con il pulsante destro del mouse sulla parte di dichiarazione ed eseguire il comando Refactoring > Riordinamento variabili in corso.

Risultato: la finestra di dialogo Riordina si apre con un elenco di variabili VAR_INPUT.

2

Trascinare la voce invar1 : INT; nella posizione prima della voce invar2..

Risultato: la dichiarazione invar1 è in cima.

3

Fare clic su OK per chiudere la finestra di dialogo.

Risultato: viene visualizzata la finestra di dialogo Refactoring. Gli elementi interessati cono contrassegnati in giallo.

4

Fare clic su OK per accettare il nuovo ordine dei parametri del blocco funzione. Tenere presente che l'ordine modificato dei parametri viene riflesso anche negli usi di chiamata alle POU.

Modifica di una dichiarazione di variabile e applicazione automatica della ristrutturazione

La ristrutturazione consente di rinominare le variabili (mediante Dichiarare una variabile) come indicato nell'esempio seguente.

Come prerequisito per questo esempio, deve essere disponibile un blocco funzione fb_A con un ingresso iA.

Passo

Azione

Commento

1

Eseguire il comando Strumenti > Opzioni....

Risultato: si apre la finestra di dialogo Opzioni.

2

Selezionare la categoria Refactoring a sinistra.

3

Nella sezione Dichiarare una variabile, selezionare le opzioni Per l'aggiunta o la rimozione di variabili o per la modifica dello spazio dei nomi e In occasione della rinomina di variabili.

4

Fare doppio clic sul blocco funzione fb_A.

5

Selezionare una variabile nella dichiarazione di fb_A, ad esempio, iA

Come alternativa, è possibile posizionare il cursore prima o nella variabile.

6

Eseguire il comando Modifica > Dichiarare una variabile....

Come alternativa, utilizzare la scelta rapida Maiusc + F2.

Risultato: si apre la finestra di dialogo Dichiarare una variabile. Vengono visualizzate le impostazioni della variabile iA.

7

Modificare il Nome e iA in iCounter_A.

Risultato: si apre la finestra di dialogo Refactoring - Rinomina da iA a iCounterA. Le POU dove è utilizzata la variabile sono evidenziate nella struttura.

8

Fare clic su OK per applicare il nuovo nome e per chiudere la finestra di dialogo.