Elemento: Composición
Una composición es una relación UML en la que un elemento contiene otro elemento. En código IEC, esto corresponde a la instanciación de un elemento: instFb_A : Fb_A. La cardinalidad indica con qué frecuencia ocurre la relación. En el código IEC, esto corresponde a un ARRAY[ .. ]. Cuando especifica una cardinalidad mayor que 1, el sistema declara lo siguiente: instMultiFb_A : ARRAY[0..9] OF Fb_A;.
Una composición apunta desde una clase o una lista de variables globales a una clase (escriba: FUNCTION_BLOCK) o un DUT.
Visualización de una flecha con una cabeza negra sólida

Propiedades
Relación | Tipo de relación |
Optimizar ruta | Cuando se selecciona esta opción, la ruta de la flecha de relación se optimiza automáticamente. Los puntos fijos son el punto inicial en el elemento inicial y el punto final en el elemento final. Por ejemplo, si se mueve el elemento final, el punto donde la flecha apunta al elemento final permanece igual. Cuando esta opción no está seleccionada, la ruta permanece sin cambios. Tan pronto como un elemento de relación se coloca manualmente en el diagrama de clases, esta opción se deselecciona. Seleccione esta opción si se requiere optimización automática. |
Elemento de inicio | Nombre del elemento donde comienza el elemento de relación |
Elemento final | Nombre del elemento al que apunta el elemento de relación |
identificador | Para el Asociación y Composición solo relaciones Nombre del elemento de relación |
Entrada del usuario
Acción | Descripción | |
|---|---|---|
| Se dibuja una composición entre los elementos. El código IEC se adapta automáticamente ampliando la parte de declaración del elemento existente. Ejemplo: | |
| Se crea una composición que apunta desde la clase a la nueva clase. El código IEC se adapta automáticamente ampliando la parte de declaración del elemento existente. Ejemplo: | |
| Las líneas están cambiadas. los Optimizar enrutamiento la propiedad se deselecciona automáticamente. | |
| La composición se elimina del diagrama y del código IEC. La instanciación de la clase o DUT se elimina de la parte de declaración del elemento. | |
Ejemplo
Fb_D contiene Fb_A:

composición única
FUNCTION_BLOCK Fb_D
VAR
VarFb_A : Fb_A;
END_VARComposición múltiple
FUNCTION_BLOCK Fb_D
VAR
...
VarMultiFb_A : ARRAY[1..10] OF Fb_A;
END_VARFb_B contiene Dut_A:

FUNCTION_BLOCK Fb_B
VAR
VarDut_A : Dut_A;
END_VARGVL contiene Fb_B y VarDut_A:

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