Elemento: Asociación
Una asociación es una relación UML que expresa reconocimiento. El elemento de reconocimiento apunta a otro elemento como un puntero.
En el código IEC, esto corresponde a un POINTER TO
o REFERENCE TO
declaración (por ejemplo, ptrFb_A: POINTER TO Fb_A;
o ptrFb_B: REFERENCE TO Fb_B;
). Por eso ambos Asociación (PUNTERO) y Asociación (REFERENCIA) Los elementos están disponibles en el editor UML. 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:
ptrMulti_B : ARRAY[1..8] OF POINTER TO Fb_B;
Una asociación apunta desde una clase o una lista de variables globales a una clase (escriba: FUNCTION_BLOCK
) o un DUT
.

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 asociació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 asociación que apunta desde la clase o GVL 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 asociación se elimina del diagrama y del código IEC. los |
Ejemplos
Fb_C
reconoce Fb_B
y Fb_A
(único y múltiple).

FUNCTION_BLOCK Fb_C VAR VarFb_A : POINTER TO Fb_A; VarMultiFb_A: ARRAY [1..10] OF POINTER TO Fb_A; (* Kardinalität 10 *) END_VAR
Fb_C
reconoce Dut_A
.

FUNCTION_BLOCK Fb_C VAR pDut_A: POINTER TO Dut_A; END_VAR
GVL
reconoce POU_2
.

VAR_GLOBAL g_iCounter : INT; g_a : BOOL; pPOU_2: POINTER TO POU_2; END_VAR