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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Größe UDT in SCL

  1. #11
    Registriert seit
    12.05.2007
    Beiträge
    416
    Danke
    14
    Erhielt 45 Danke für 40 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Du musst die AnyVariable mit der AT Zuweisung zerpflücken!

    AnyPointer
    AT Adresse : STRUCT // Adresse (Any-Pointer siehe Any-Aufbau)
    Id : BYTE; // Id
    Datentyp : BYTE; // Datentyp
    Laenge : WORD; // Laenge
    DbNr : WORD; // Nummer
    Adresse : DWORD; // Adresse
    END_STRUCT;

  2. #12
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Zitat Zitat von schumi91 Beitrag anzeigen
    Ja, ist als Temp Variable und als in_out deklariert. Folgendes habe ich vor. Es soll ein Mux gebaut werden, der aus einem DB mit Datensätzen einer Struktur in einen Mux DB kopiert. Da ich nicht jedes mal den Baustein ändern will, wenn die Structur sich ändert, wollte ich die Länge wie unter AWL (Pointer sub.) berechnen. Da ich noch nicht mit Pointer unter SCL gearbeitet habe, fällt mir keine Lösung ein.
    Hallo Schumi,
    da fällt mir schon noch etwas schönes dazu ein :
    Du baust dir einen FB, der dein ARRAY_of_myUDT verwaltet. Dieser FB hat (unter Anderem) einen IN_Parameter "Index_ausgeben" und einen IN_OUT_Parameter vom Typ myUDT.
    Wenn du nun einen bestimmten Block benötigst, dann sagst du einfach über den FB, das er den UDT übergeben bzw. wieder zurücklesen soll. Das wäre von der Programmierung etwas eleganter.
    Falls du das im Programm öfters machen möchtest, so kannst du den FB mit dem gleichen I-DB ja öfter aufrufen. Ist kein Problem und spart sogar Bearbeitungszeit gegenüber dem Lade-Transferiere-FC.

    Vielleicht ist das ja was für dich ...

    Gruß
    LL

  3. #13
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hallo Schumi, schau Dir folgendes an http://support.automation.siemens.co...0000#A21947175 MfG Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  4. #14
    Registriert seit
    06.10.2003
    Beiträge
    3.412
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Bleibt noch zu erwähnen, dass man nach dem Vorschlag von xhasx und Daniel die UDTs nicht als Parameter "UDT" verwendet, sondern einen Pointer als ANY darauf setzt. Dann kann man mit dem AT-Struct die ANY-Pointer verändern und beispielsweise adressierte Strukturen mittels SFC20 kopieren.

    Falls jedoch mit UDTs als Parameter-UDT gearbeitet wird, kann man die kompletten Strukturen ganz einfach zuweisen, wie z.Bsp. UDT_OUT:=UDT_IN. Auf die Adressen hat man dann allerdings keinen Zugriff, wüsste jedenfalls nicht wie. Wahrscheinlich liegt hier das Problem. Verwendet einfach ANY als Parametertyp.


    Gruß, Onkel
    Geändert von Onkel Dagobert (17.12.2007 um 20:32 Uhr)
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  5. #15
    Registriert seit
    12.05.2007
    Beiträge
    416
    Danke
    14
    Erhielt 45 Danke für 40 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das mit den Any's ist recht und gut - wenn man die nicht zwei Ebenen tiefer weitergeben will... Da wird's dann wieder tricky!!! Ich sag nur Temporaere Any. Das ist ech noch ne Siemens Lücke.

Ähnliche Themen

  1. Größe Schaltschrank
    Von stromsepp im Forum Schaltschrankbau
    Antworten: 10
    Letzter Beitrag: 22.03.2011, 20:12
  2. Größe der MMC bestimmen
    Von MeisterLampe81 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 09.01.2010, 15:14
  3. PDU größe und TCP/IP frame
    Von BorisDieKlinge80 im Forum Hochsprachen - OPC
    Antworten: 12
    Letzter Beitrag: 22.12.2009, 14:34
  4. Größe der SCL Quelle?
    Von Felse im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 16.03.2009, 13:16
  5. maximale Größe von FC?
    Von bischkul im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.12.2008, 08:56

Lesezeichen

Berechtigungen

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