Skip to main content

Elemento: Composizione

Una composizione è una relazione UML in cui un elemento contiene un altro elemento. Nel codice IEC, ciò corrisponde all'istanziazione di un elemento: instFb_A : Fb_A. La cardinalità indica la frequenza con cui si verifica la relazione. Nel codice IEC, corrisponde a un ARRAY[ .. ]. Quando si specifica una cardinalità maggiore di 1, il sistema dichiara quanto segue: instMultiFb_A : ARRAY[0..9] OF Fb_A;.

Una composizione punta da una classe o da un elenco di variabili globali a una classe (digitare: FUNCTION_BLOCK) o a DUT.

Visualizzazione di una freccia con una punta nera solida

_uml_img_composition.png

Proprietà

Tabella 4.

Relazione

Tipo di relazione

Ottimizza percorso

Quando questa opzione è selezionata, il percorso della freccia di relazione viene ottimizzato automaticamente. I punti fissi sono il punto iniziale dell'elemento iniziale e il punto finale dell'elemento finale. Ad esempio, se l'elemento finale viene spostato, il punto in cui la freccia punta all'elemento finale rimane lo stesso. Quando questa opzione è deselezionata, il percorso rimane invariato. Non appena un elemento di relazione viene posizionato manualmente nel diagramma di classe, questa opzione viene deselezionata.

Selezionare questa opzione se è richiesta l'ottimizzazione automatica.

Elemento iniziale

Nome dell'elemento in cui inizia l'elemento di relazione

Elemento finale

Nome dell'elemento a cui punta l'elemento di relazione

Identificatore

Per il Associazione e Composizione solo relazioni

Nome dell'elemento di relazione



Input dell'utente

Azione

Descrizione

  1. Seleziona il Composizione (VAR) _uml_icon_tool_composition.png attrezzo.

  2. Fare clic su una classe o su un GVL.

  3. Fare clic sull'elemento che dovrebbe essere un componente.

    Il Dichiarazione variabile si apre la finestra di dialogo.

  4. Specificare un nome e fare clic ok per uscire dalla finestra di dialogo.

Tra gli elementi viene disegnata una composizione.

Il codice IEC viene adattato automaticamente estendendo la parte dichiarativa dell'elemento esistente.

Esempio: VarFbA : FB_A;

  1. Seleziona il Composizione (VAR) _uml_icon_tool_composition.png attrezzo.

  2. Seleziona una classe o un GVL.

  3. Fare clic su un'area vuota nel diagramma.

    Il Aggiungi POU si apre la finestra di dialogo.

  4. Specificare un nome, configurare le impostazioni e fare clic Aggiungere per uscire dalla finestra di dialogo.

Viene creata una composizione che punta dalla classe alla nuova classe.

Il codice IEC viene adattato automaticamente estendendo la parte dichiarativa dell'elemento esistente.

Esempio: VarFb_A : Fb_A;

  1. Seleziona il Scelta _uml_tool_selection.png attrezzo.

  2. Fare clic su una composizione.

  3. Sposta la linea.

Le linee sono cambiate. Il Ottimizza il percorso la proprietà viene deselezionata automaticamente.

  1. Seleziona il Scelta _uml_tool_selection.png attrezzo.

  2. Fare clic su una composizione.

  3. premi il Del tasto o fare clic Eliminare nel menu contestuale.

La composizione viene rimossa dallo schema e dal codice IEC. L'istanza della classe o DUT viene rimossa dalla parte di dichiarazione dell'elemento.

Esempio

Esempio 12. Composizione di una classe

Fb_D contiene Fb_A:

_uml_img_example_composition.png

Composizione unica

FUNCTION_BLOCK Fb_D
VAR
    VarFb_A : Fb_A;
END_VAR

Composizione multipla

FUNCTION_BLOCK Fb_D
VAR
...
    VarMultiFb_A : ARRAY[1..10] OF Fb_A;
END_VAR


Esempio 13. Composizione di un oggetto dati

Fb_B contiene Dut_A:

_uml_img_example_composition_dut.png
FUNCTION_BLOCK Fb_B
VAR
    VarDut_A : Dut_A;
END_VAR


Esempio 14. Composizione in GVL

GVL contiene Fb_B e VarDut_A:

_uml_img_example_composition_gvl.png
VAR_GLOBAL
    g_iCounter : INT;
    g_a : BOOL;
    pPOU_2: POINTER TO POU_2;
    VarFb_B: Fb_B;
    VarDut_A: Dut_A;
END_VAR