Skip to main content

Objeto: DUT

Un DUT (tipo de unidad de datos) declara un tipo de datos específico del usuario.

. Símbolo:
  • cds_icon_add_dut.png DUT

  • _cds_icon_textlist_dut.png Enumeración con soporte de listas de texto

Puede añadir este tipo de objeto debajo de la aplicación o en POU vista.

Cuando se crea el objeto, el Añadir DUT Se abre el cuadro de diálogo. Allí puede configurar el nuevo tipo de datos y elegir entre las construcciones (estructura, enumeración, alias y unión

tabla 28. Sintaxis para la declaración de tipos de datos definidos por el usuario

TYPE <identifier> :

<data type declaration>

END_TYPE

Construcción DUT

Entre corchetes se coloca una declaración de tipo de datos definida por el usuario TYPE y END_TYPE.

TYPE <identifier> :

STRUCT

    <member declaration>

END_STRUCT

END_TYPE

Una estructura encierra sus miembros con STRUCT y END_STRUCT. Se puede declarar cualquier número de miembros, pero al menos dos.

STRUCT

TYPE <identifier> :

(

    <list of members>

) <base data type> := <initialization> ;

END_TYPE

Una enumeración es una lista de nombres de miembros separados por comas entre corchetes. Todos los miembros tienen el mismo tipo de datos

Una enumeración también puede tener asignada una lista de texto. Se usa para localizar los valores de la enumeración. Como resultado, el objeto también tiene una vista de localización

Enumeración

TYPE <identifier> : <data type name> ;

END_TYPE

Un alias es un identificador alternativo.

Alias

TYPE <identifier> :

UNION

    <member declaration>

END_UNION

END_TYPE

Un sindicato reúne a sus miembros con UNION y END_UNION. Es un tipo de datos con varios miembros que comparten la misma ubicación de memoria.

UNION



ejemplo 506. Ejemplos

Declaración de la estructura S_POLYGONLINE con inicialización parcial de los miembros

TYPE S_POLYGONLINE :
STRUCT
    aiStart : ARRAY[1..2] OF INT := [-99, -99];
    aiPoint1 : ARRAY[1..2] OF INT;
    aiPoint2 : ARRAY[1..2] OF INT;
    aiPoint3 : ARRAY[1..2] OF INT;
    aiPoint4 : ARRAY[1..2] OF INT;
    aiEnd : ARRAY[1..2] OF INT := [99, 99];
END_STRUCT
END_TYPE

Declaración de la estructura S_PENTAGON como una extensión de S_POLYGONLINE

TYPE S_PENTAGON EXTENDS S_POLYGONLINE :
STRUCT
    aiPoint5 : ARRAY[1..2] OF INT;
END_STRUCT
END_TYPE


ejemplo 507. Ejemplo

Declaración de la enumeración E_TRAFFICSIGNAL

{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_TRAFFICSIGNAL :
(
    eRed,
    eYellow,
    eGreen := 10
);
END_TYPE

Enumeración con soporte de lista de texto en la vista de localización

cds_enum_textlist_example_trafficsignal.png

los _cds_img_button_textual_view.png Vista textual y _cds_img_button_tabular_view.png Vista de localización Los botones se encuentran en el borde derecho del editor. Haga clic en los botones para alternar entre las vistas.



ejemplo 508. Ejemplo

Declaración de un alias

TYPE A_MESSAGE : STRING[50];
END_TYPE


ejemplo 509. Ejemplo

Declaración de un UNION

TYPE U_DATA :
UNION
    lrA : LREAL;
    liA : LINT;
    dwA : DWORD;
END_UNION
END_TYPE


Diálogo: Añadir DUT

Función: El cuadro de diálogo se usa para configurar un nuevo DUT objeto (tipo de unidad de datos).

Llamar: ProyectoAñadir objetoDUT menú; menú contextual del objeto de la aplicación

Nombre

Nombre del nuevo DUT tipo de datos

Ejemplo: S_POLYGONLINE

tabla 29. Tipo de datos

Estructura

Crea un objeto que declara una estructura que combina múltiples variables con diferentes tipos de datos en una unidad lógica

Las variables declaradas dentro de la estructura se denominan miembros.

Ejemplo: S_POLYGONLINE

Avanzado

standard icon: Extiende una estructura existente por más miembros

En el campo de entrada, especifique una estructura existente. Los miembros de la estructura existente están automáticamente disponibles en la nueva estructura.

Ejemplo: S_PENTAGON

Enumeración

Crea un objeto que declara una enumeración que combina varias constantes enteras en una unidad lógica

Las constantes declaradas dentro de una enumeración también se denominan valores de enumeración.

Ejemplo: E_TRAFFICSIGNAL

Una enumeración también puede tener una lista de texto. Se usa para localizar los valores de la enumeración. Como resultado, el objeto también tiene una vista de localización

Agregar soporte de lista de texto

_cds_icon_option_deactivated.png: Enumeración que no admite ninguna lista de texto

standard icon: Enumeración con lista de texto almacenada adicionalmente para los valores de enumeración

La lista de texto le permite localizar los nombres de los valores de enumeración.

Ejemplo: ETL_TRAFFICSIGNAL

Nota: En el caso de un tipo de enumeración existente, la compatibilidad con listas de texto se puede agregar o eliminar en cualquier momento.

Para ello se utilizan los comandos del menú contextual del objeto:

Agregar soporte para listas de texto

Eliminar el soporte de listas de texto

Sugerencia: Los textos localizados se pueden mostrar, por ejemplo, en una visualización. En este caso, la salida de texto de un elemento de visualización muestra los valores de enumeración simbólicos en el idioma actual en lugar de los valores de enumeración numéricos. Cuando se especifica una enumeración compatible con listas de texto Variable de texto propiedad de un elemento de visualización, obtiene la siguiente propiedad adicional:

< <enumeration name> >.

Ejemplo:

En una visualización, se utiliza la variable PLC_PRG.eTrafficLight de tipo ETL_TRAFFICSIGNAL.

ETL_TRAFFICSIGNAL es una enumeración compatible con listas de texto. A continuación, la entrada en el editor de propiedades del elemento de visualización tiene el siguiente aspecto

PLC_PRG.eTrafficLight <ETL_TRAFFICSIGNAL>.

Para obtener más información, consulte también: Uso de textos

Sugerencia: cuando edita el tipo de enumeración en la aplicación, se abre un mensaje cuando cierra la aplicación y le pregunta si las visualizaciones afectadas deben actualizarse automáticamente.

Alias

Crea un objeto que declara un alias con el que se declara un nombre alternativo para un tipo base, tipo de datos o bloque de funciones

Ejemplo: A_MESSAGE

Unión

Crea un objeto que declara una unión que combina varios miembros con tipos de datos en su mayoría diferentes en una unidad lógica

Todos los miembros tienen el mismo desplazamiento, por lo que ocupan la misma memoria. El requisito de memoria de una unión está determinado por el requisito de memoria de su componente "más grande".

Ejemplo: U_DATA

Agregar

Cierra el cuadro de diálogo y crea el nuevo objeto.

El objeto se muestra con el cds_icon_add_dut.png símbolo en el árbol de dispositivos o en el POU vista. Cuando también se almacena una lista de texto para el objeto, el _cds_icon_textlist_dut.png se muestra el símbolo.