Estructuras

Descripción general

Cree estructuras en un proyecto como objetos DUT (unidad de tipos de datos) a través del cuadro de diálogo Añadir objeto.

Comienzan con las palabras clave TYPE y STRUCT y terminan con END_STRUCT y END_TYPE.

Sintaxis

TYPE <structurename>:
STRUCT
    <declaration of variables 1>
    ...
    <declaration of variables n>
END_STRUCT
END_TYPE

<nombre de estructura> es un tipo que se reconoce mediante el proyecto y se puede utilizar como un tipo de datos estándar.

Se permiten las estructuras anidadas. La única restricción es que puede que las variables no se asignen a direcciones (no se permite la declaración AT).

Ejemplo

Ejemplo de una definición de estructura denominada Polygonline:

TYPE Polygonline:
STRUCT
    Start:ARRAY [1..2] OF INT;
    Point1:ARRAY [1..2] OF INT;
    Point2:ARRAY [1..2] OF INT;
    Point3:ARRAY [1..2] OF INT;
    Point4:ARRAY [1..2] OF INT;
    End:ARRAY [1..2] OF INT;
END_STRUCT
END_TYPE

Inicialización de estructuras

Ejemplo:

Poly_1:polygonline := ( Start:=[3,3], Point1:=[5,2], Point2:=[7,3], Point3:=[8,5], Point4:=[5,7], End:= [3,5]);

Las inicializaciones con variables no son posibles. Para obtener un ejemplo de la inicialización de una matriz de una estructura, consulte Matrices.

Acceso a componentes de estructura

Puede obtener acceso a los componentes de estructura con la sintaxis siguiente:

<nombre de estructura>.<nombre de componente>

En el ejemplo anterior de la estructura Polygonline, puede acceder al componente Start con Poly_1.Start.

Acceso a bits en estructuras

El tipo de datos BIT es un tipo de datos especial que solo se puede definir en estructuras. Consume 1 bit de espacio en memoria y permite direccionar bits únicos de una estructura por nombre.

TYPE <structurename>:
STRUCT
    <bitname bit1> : BIT;
    <bitname bit2> : BIT;
    <bitname bit3> : BIT;
    ...
    <bitname bitn> : BIT;
END_STRUCT
END_TYPE

Puede obtener acceso al componente de estructura BIT con la sintaxis siguiente:

<nombre de estructura>.<nombre de bit>

NOTA: No es posible utilizar referencias y el puntero en variables BIT. Además, las variables BIT no se permiten en matrices.