enum B&R

Hannes

Level-1
Beiträge
67
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo nochmal,
gibt es eine Möglichkeit, enums in einer B&R Steuerung zu verwenden, z.B.: so:

_LOCAL INT counter1;
_LOCAL INT counter2;
_LOCAL INT testVar;
_LOCAL INT i;
_LOCAL plcstring s[20];
_GLOBAL enum TestEnum {Pause, Start, Ende, Anfang};



_INIT void InitProgram(void)
{
TestEnum e; // hier bekomme ich leider einen Fehler
}

_CYCLIC void CycicProgram(void)
{
}

Vielen Dank,
 
Hallo Hannes,
das Automation Runtime kennt nur elementare Datentypen (INTs, DINTs usw.), eine Variable kann kein Aufzählunstyp sein. Was nicht heisst das du sie nicht verwenden kannst (ich selbst verwende sie sehr gerne).

Code:
enum TestEnum {Pause, Start, Ende, Anfang};
typedef enum TestEnum TestEnum_typ;  /* neuen Datentyp deklarieren */

_INIT void InitProgram(void)
{
  enum TestEnum e;  /* Variante 1 */
  TestEnum_typ x;   /* Variante 2 */
}

Variante 2 mit der Datentypdeklaration macht den Code für mich lesbarer. Ich verwende sie zwar nicht für enum´s dafür aber bei struct´s. Variablen die im Prinzip nur Elemente eines enum´s aufnehmen sind bei immer elementare Typen.

Grüsse, harrylask
 
Zurück
Oben