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

Ergebnis 1 bis 8 von 8

Thema: Variablen Namen in Variable schreiben

  1. #1
    Registriert seit
    10.04.2008
    Beiträge
    38
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ist es möglich, dass ich eine Variable anlege und denn Namen der Variablen mit einer Funktion dann in einer Stringvariable schreibe?

    Danke!
    Zitieren Zitieren Variablen Namen in Variable schreiben  

  2. #2
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard

    nein, den die "NAMEN" sind im späteren Kompilat schall und rauch nach meinem wissen, aber was ist die eigentliche aufgabenstellung? welchen kontroller nutzt du?

  3. #3
    Registriert seit
    19.10.2009
    Beiträge
    194
    Danke
    8
    Erhielt 50 Danke für 44 Beiträge

    Standard

    Das geht evtl. mit Strukturvariablen, aber etwas umständlich:
    Code:
    FUNCTION_BLOCK FB_Handling
    VAR_INPUT
        pStruct: POINTER TO ST_TypeGeneric;
    END_VAR
    VAR_OUTPUT
        BoolVal: BOOL;
        RealVal: REAL;
    END_VAR
    VAR
        pRealStruct: POINTER TO ST_TypeReal;
        pBoolStruct: POINTER TO ST_TypeBool;
    END_VAR
    
    pBoolStruct:= pRealStruct:= pStruct;
    IF pStruct^.typename = 'BOOL' THEN
        BoolVal:= pBoolStruct^.BoolVal;
    ELSIF pStruct^.typename = 'REAL' THEN
        RealVal:= pRealStruct^.RealVal;
    END_IF
    END_FUNCTION_BLOCK
    
    TYPE ST_TypeGeneric :
    STRUCT
        typename: STRING(31);
    END_STRUCT
    END_TYPE
    
    TYPE ST_TypeBool :
    STRUCT
        typename: STRING(31):= 'BOOL';
        BoolVal: BOOL;
    END_STRUCT
    END_TYPE
    
    TYPE ST_TypeReal :
    STRUCT
        typename: STRING(31):= 'REAL';
        RealVal: REAL;
    END_STRUCT
    END_TYPE

  4. #4
    Vogei ist offline Benutzer
    Themenstarter
    Registriert seit
    10.04.2008
    Beiträge
    38
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke Leute habs nun! Es gibt einen Funktionsbaustein von Beckhoff, der ist im XML Serverpaket enthalten, mit dem der Name der Variable ermittelt werden kann. => FB_SymNameByAddr

    Danke trotzdem

  5. Folgender Benutzer sagt Danke zu Vogei für den nützlichen Beitrag:

    witkatz (22.05.2012)

  6. #5
    Vogei ist offline Benutzer
    Themenstarter
    Registriert seit
    10.04.2008
    Beiträge
    38
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Wie kann ich den thread schließen??

  7. #6
    Registriert seit
    19.10.2009
    Beiträge
    194
    Danke
    8
    Erhielt 50 Danke für 44 Beiträge

    Standard

    Zitat Zitat von Vogei Beitrag anzeigen
    Es gibt einen Funktionsbaustein von Beckhoff, der ist im XML Serverpaket enthalten, mit dem der Name der Variable ermittelt werden kann. => FB_SymNameByAddr
    Ein undokumentierter FB, nicht schlecht!
    Nur Vorsicht bei Memory Shared Variablen. Ich hab den Baustein direkt mal ausprobiert und festgestellt, dass dann der alphabetisch erste Variablenname ermittelt wird.
    Gruß
    witkatz

  8. #7
    Vogei ist offline Benutzer
    Themenstarter
    Registriert seit
    10.04.2008
    Beiträge
    38
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von witkatz Beitrag anzeigen
    Ein undokumentierter FB, nicht schlecht!
    Nur Vorsicht bei Memory Shared Variablen. Ich hab den Baustein direkt mal ausprobiert und festgestellt, dass dann der alphabetisch erste Variablenname ermittelt wird.
    Gruß
    witkatz
    Was ist gemeint mit Memory Shared??

  9. #8
    Registriert seit
    19.10.2009
    Beiträge
    194
    Danke
    8
    Erhielt 50 Danke für 44 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Variablen deren Adressen sich überschneiden, z.B. so was in der Art:
    nStateDword AT%IB0: DWORD;
    byStateByte AT%IB0: ARRAY [0..3] OF BYTE;
    bStateError AT%IX0.0: BOOL;
    bStateOP AT%IX0.1: BOOL;
    Geändert von witkatz (23.05.2012 um 09:00 Uhr)

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 24.01.2012, 10:11
  2. Antworten: 5
    Letzter Beitrag: 30.11.2009, 10:27
  3. 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
  4. Variablen-Namen für Audit-Trail anpassen
    Von ssound1de im Forum HMI
    Antworten: 0
    Letzter Beitrag: 14.07.2009, 10:55
  5. Variablen Namen
    Von MatMer im Forum Programmierstrategien
    Antworten: 10
    Letzter Beitrag: 14.03.2006, 16:38

Lesezeichen

Berechtigungen

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