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_VAR
Composición múltiple
FUNCTION_BLOCK Fb_D VAR ... VarMultiFb_A : ARRAY[1..10] OF Fb_A; END_VAR
Fb_B
contiene Dut_A
:

FUNCTION_BLOCK Fb_B VAR VarDut_A : Dut_A; END_VAR
GVL
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