Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Ein Enum über mehrere Namen ansprechen Codesys V3.5

  1. #1
    Registriert seit
    11.02.2013
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Die Suchfunktion habe ich schon ausprobiert, jedoch leider keinen Treffer...
    Ich habe da ein kleines Problem.
    Vorhanden ist:

    TYPE Lebensmittel :
    (
    Banane,
    Brot,
    Apfel
    );
    END_TYPE

    GesundeLebensmittel : Lebensmittel;

    Jetzt will ich den Typ jedoch nicht nur als Lebensmittel benutzten sondern auch unter einem anderen Namen "ALIAS".

    In etwa so:
    TYPE Zutatenliste :Lebensmittel; END_TYPE

    RezeptZutaten : Zutatenliste;

    Mein Problem ist nur, dass es nicht so funktioniert wie ich das will.
    Ist das bei Codesys einfach nicht möglich , oder gibt es da einen Trick ?


    Mit freundlichen Grüßen
    Florian
    Zitieren Zitieren Ein Enum über mehrere Namen ansprechen Codesys V3.5  

  2. #2
    Registriert seit
    13.12.2011
    Beiträge
    1.496
    Danke
    160
    Erhielt 180 Danke für 163 Beiträge

    Standard

    Hallo Florian,
    kann es sein, dass Du Enum und Struktur verwechselst? Und selbst dann wäre der Name zweitrangig. Ein Typ ist eigentlich nur eine Liste von Konstanten die einen Integer-Wert haben, deren Wert Du entweder automatisch aufsteigend vergeben lassen kannst oder Du kannst Ihn selber vorgeben.Auf die Werte greifst Du dann über deren Namen zu und nicht (wie in einer Struktur) über Typname.Emumname (z.B. GuteLebensmittel.ApfelUngespritzt). Dein Namensproblem würde bei einer Struktur auch nicht bestehen, da Du vor Verwendung der Struktur ja erst Variablen vom Typ der Struktur anlegen musst und denen kannst Du dann ja passende Namen geben. Doch zurück zum Typ. Bei Deinem Beispiel würdest Du Variablen vom Typ Int anlegen und denen dann den ENUM als Wert zuweisen.

    Lebensmittel : INT;
    GuteLebensmittel : INT;

    Lebensmittel := Apfel;
    GuteLebensmittel := ApfelUngespritzt;

    Gruß

    Oliver

  3. #3
    Flump ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.02.2013
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Oliver,
    eigentlich verwechsele ich das nicht.

    Ich kann ja auch

    TYPE Lebensmittel_ascending :
    (
    Banane := 1,
    Brot := 2,
    Apfel := 3
    );

    TYPE Lebensmittel_descending :
    (
    Banane := 3,
    Brot := 2,
    Apfel := 1
    );
    END_TYPE

    Lebensmittel : INT
    ;
    Lebensmittel := Lebensmittel_descending.Apfel; (--> Lebensmittel = 1)
    Lebensmittel := Lebensmittel_ascending.Apfel; (--> Lebensmittel = 3)

    Laut Codesys Hilfe ist dies möglich.

    Mein Problem ist, dass es schon Code gibt, der auf bestimmte Namen von ENUMS zugreift (Lebensmittel := Lebensmittel_descending.Apfel)
    In meiner Bibliothek ist jedoch ein anderer Name vergeben
    TYPE Lebensmittel :
    (
    Banane := 3,
    Brot := 2,
    Apfel := 1
    );
    END_TYPE
    jedoch mit den gleichen Enum Einträgen.
    Ich möchte den ENUM gerne über Lebensmittel und über Lebensmittel_descending verwenden können.

    Damit ich den schon geschriebenen Code mit den Deklarationen in der Library verknüpfen kann müsste ich halt dem Enum
    verschiedene Namen geben können.

  4. #4
    Registriert seit
    13.12.2011
    Beiträge
    1.496
    Danke
    160
    Erhielt 180 Danke für 163 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Florian,
    wer schlaue Antworten geben will, sollte vorher genau nachgelesen haben. Ich habe leider völlig übersehen, dass es um CoDeSys 3.X geht, sorry. Da muss ich leider passen, da ich mit CoDeSys 3.X noch nie gearbeitet habe. Jetzt wird mir auch klar, warum mir Dein Code so komisch vorkam.

    Gruß

    Oliver
    Geändert von oliver.tonn (12.07.2014 um 02:27 Uhr)

Ähnliche Themen

  1. Codesys mehrere Schalter
    Von Pantii im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 18.05.2013, 12:01
  2. mehrere Motoren über ein Notausschütz
    Von docauto im Forum Schaltschrankbau
    Antworten: 39
    Letzter Beitrag: 30.08.2010, 21:23
  3. Mehrere Busteilnehmer mit einem CP340 ansprechen
    Von poppycock im Forum Simatic
    Antworten: 30
    Letzter Beitrag: 13.10.2009, 21:05
  4. Zugriff auf Variable über String mit Var-Namen
    Von grosser_marco im Forum CODESYS und IEC61131
    Antworten: 14
    Letzter Beitrag: 03.09.2009, 07:43
  5. Antworten: 13
    Letzter Beitrag: 29.11.2005, 17:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •