Skip to main content

Elemento: Generalización

A Generalización es una relación UML que expresa herencia o especialización. El elemento heredero tiene los atributos y operaciones del elemento raíz. En el código IEC, esta relación corresponde a la palabra clave EXTENDS.

Una generalización apunta desde la clase heredera a la clase raíz. Por lo tanto, la dirección de la flecha indica quién hereda de quién.

. La herencia es posible entre clases, interfaces y tipos de datos definidos por el usuario:
  • Un bloque de funciones puede heredar de otro bloque de funciones.

  • Una interfaz puede heredar de otra interfaz.

  • Un DUT puede heredar de otro DUT.

  • Los programas y funciones no pueden heredar y ser heredados.

_uml_img_element_generalization.png

Mostrar como flecha

Propiedades

tabla 6.

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

  1. Selecciona el Generalización _uml_icon_tool_generalization.png herramienta.

  2. Haga clic en el elemento que debe heredar.

  3. Haga clic en el objeto principal.

Se traza una generalización entre el heredero y el elemento padre.

El código IEC se adapta sincrónicamente especificando el elemento principal en la parte de declaración de la clase heredada.

Ejemplo: Class_A EXTENDS Class_Base

  1. Selecciona el Generalización _uml_icon_tool_generalization.png herramienta.

  2. Haga clic en el elemento que debe heredar.

  3. Haga clic en un área en blanco en el diagrama.

    Se abre un cuadro de diálogo para generar el nuevo objeto.

  4. Especifique un nombre, configure los ajustes y haga clic en Agregar para salir del diálogo.

Se traza una generalización entre el heredero y el elemento padre.

El código IEC se adapta automáticamente creando el nuevo objeto y especificando el objeto principal en la parte de la declaración del objeto heredado. Ejemplo: Class_A EXTENDS Class_Base.

Nota

Esta entrada no funciona para el elemento DUT.

  1. Selecciona el Elección _uml_tool_selection.png herramienta.

  2. Haga clic en una generalización.

  3. Mueve la línea.

Las líneas están cambiadas. los Optimizar enrutamiento la propiedad se deselecciona automáticamente.

  1. Selecciona el Elección _uml_tool_selection.png herramienta.

  2. Haga clic en una generalización.

  3. presione el Supr tecla o clic Borrar en el menú contextual.

La generalización se elimina del diagrama y del código IEC. La declaración EXTENDS se elimina de la parte de la declaración de la clase heredera.

Ejemplo

ejemplo 19. bloque de funciones

Fb_A hereda de Fb_Base:

_uml_img_example_generalization_function_block.png
FUNCTION_BLOCK Fb_A EXTENDS Fb_Base


ejemplo 20. Interfaz

Itf_A hereda de Ift_Base:

_uml_img_example_generalization_interface.png
INTERFACE Itf_A EXTENDS Itf_Base


ejemplo 21. DUT

Dut_A hereda de Dut_Base:

_uml_img_example_generalization_dut.png
TYPE Dut_Base :
STRUCT
    counter : INT;
END_STRUCT
END_TYPE

TYPE Dut_A EXTENDS Dut_Base :
STRUCT
    data : ARRAY[0..9] OF WORD;
END_STRUCT
END_TYPE