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

Ergebnis 1 bis 3 von 3

Thema: UDT in SCL einbinden

  1. #1
    Registriert seit
    14.01.2015
    Beiträge
    20
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Da ich hier schon einige Themen durchgelesen habe und mich nichts wirklich erleuchtet hat, muss ich wohl doch nachfragen.

    Ich habe einen UDT erstellt in welchem ein Array of Struct zu finden ist. Diesen Rufe in in einem DB mehrmals auf.

    Nun möchte ich im SCL einen FB schreiben, bei dem ich den Pointer auf einen Datenbereich als IN_OUT Variable übergebe, wie aus der AWL-Programierung bekannt.

    Abschießend möchte ich Indirekt auf das Array im übergeben Datenbereich zugreifen.

    Ich stelle den UDT mal Beispielhaft dar.

    Beispiel UDT:
    Datensatz : Array [1..3] of Struct
    Struct
    Daten of INT
    Daten_OK of BOOL
    End_Struct


    Code:
    VAR_IN
        Nummer : INT;
    END_VAR
    
    VAR_IN_OUT
        UDT : UDT123;
    End_VAR
    
    VAR_OUT
        Ausgang: BOOL;
    END_VAR
    
    BEGIN
    
         Ausgang := UDT.Datensatz[Nummer].Daten_OK;
    Kann es sein, dass ich die Struktur des UDT nochmal separat übergeben muss? Oder kann man in so einem Fall gar nicht indirekt adressieren?
    Zitieren Zitieren UDT in SCL einbinden  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    So ähnlich hatte ich das an einem Input, sollte gehen.
    Allerdings hatte ich einen Unterschied:

    Als Input definiert:

    Def_ModulStruct : ARRAY[1..32] OF "Modul"; //Structur mit Moduldefinition im Modul-DB

    Im DB defininert:

    ModulSend ARRAY[1..32] of "Modul"

    Im FB konnte ich dann folgenden Aufrug machen:

    Offset_Modul := Def_ModulStruct[I].ID;


    Das sollte auch am INOUT möglich sein, wobei es da ja immer irgendwelche feinen Unterschiede gibt.

    Aber ich würde das allemal nicht UDT im Bausteinkopf nennen, möglicherweise ist das in Step7 ein reservierter Begriff.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    DasRallum ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.01.2015
    Beiträge
    20
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ah doch. Funktioniert.
    Danke dir. Der Fehler lag an anderer Stelle.

    Ich hab die Variable btw nicht wirklich UDT genannt. Das war nur bei dem Beispiel.

Ähnliche Themen

  1. Step 7 SCL - Verschachtelung von UDT
    Von DiGo1969 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.07.2015, 12:34
  2. Antworten: 4
    Letzter Beitrag: 20.04.2015, 15:30
  3. UDT in SCL erstellen
    Von Felse im Forum Simatic
    Antworten: 33
    Letzter Beitrag: 11.09.2009, 09:39
  4. UDT in AWL und SCL
    Von Thomas_v2.1 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 15.06.2008, 22:12
  5. Größe UDT in SCL
    Von Larry Laffer im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 17.12.2007, 20:25

Lesezeichen

Berechtigungen

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