El tipo de dato Enumeración que forma parte de los tipos definidos por el usuario, nos permite llamar a las cosas por su nombre y aun así, poder sumar, restar, etc. ¿Que diría de esto la de sumar peras con manzanas?, en fin, eso es otro tema.

Para declararlo lo hacemos igual que con las estructuras, borramos lo de estructuras y ponemos la enumeración, como muestra la siguiente imagen:

En este caso hemos utilizado el recurrido recurso del semáforo. El siguiente ejemplo muestra un ejemplo de programa donde simulamos el funcionamiento de un semáforo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
PROGRAM MAIN
VAR
	Color1: Colores;
	Cambiar:BOOL;
	TiempoAm: TON;
	TiempoRoj: TON;
	TiempoVer: TON;
END_VAR
 
IF Cambiar = TRUE THEN
	Color1 := Color1 +1;
	IF Color1 > 2 THEN Color1 := 0;END_IF;
	Cambiar := FALSE;
END_IF;
 
TiempoAm(IN:= Color1 = Amarillo, PT:= T#5s);
TiempoRoj(IN:= Color1 = rojo, PT:= T#10s);
TiempoVer(IN:= Color1 = verde, PT := T#7s);
 
IF TiempoAm.Q OR TiempoRoj.Q OR TiempoVer.Q THEN
	Cambiar := TRUE;
END_IF;

Y esta es la declaración y uso de enumeraciones en vb.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Class Form1
    Enum Colores
        Amarillo
        Rojo
        Verde
    End Enum
    Dim Sema1 As Colores
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        Sema1 += 1
 
 
    End Sub
End Class