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

Ergebnis 1 bis 5 von 5

Thema: Variablen DB komplett kopieren

  1. #1
    Registriert seit
    09.08.2012
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag,

    seit gestern "darf" ich zum ersten mal ein kleines Projekt auf einer 1500er realisieren und hätten dazu eine Frage bezüglich der Portierung einer alte Funktionalität auf die 1500er.

    Gegeben ist:
    -DB700 (abgeleitet vom Typ UDT_X)
    -DB801-810 (abgeleitet vom Typ UDT_X)

    Aufgabe:
    Ein DB soll komplett in einen anderen geschoben werden, z.B. 804->800

    Alte Lösung:
    Über einen in AWL geschrieben FC werden zwei Anypointer generiert (Parameter: DB Nummer, Länge des DBs) und der Inhalt von einem in den anderen mit BLKMOV übertragen.

    1500er:
    Die DBs sind jetzt als "optimierten Bausteine" eingestellt. Ich habe rumprobiert aber bisher keine richtige Lösung gefunden. Anbei ist ein Bild mit dem MOVE_BLK_VARIANT, nur hier wären die Quell/Ziel DBs konstant und nicht dynamisch wie gefordert.

    Gibt es hierfür eine einfache elegante Lösung? Danke schon mal!
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Variablen DB komplett kopieren  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.255
    Danke
    537
    Erhielt 2.705 Danke für 1.954 Beiträge

    Standard

    Hier mal ein Beispiel, wie ich das umgesetzt habe (nicht optimierte DB). #8
    Der restliche Thread bringt dich aber evtl. auch noch weiter.
    Suche mal im Forum nach "Variant".
    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
    Registriert seit
    26.01.2008
    Ort
    Weida
    Beiträge
    130
    Danke
    59
    Erhielt 48 Danke für 37 Beiträge

    Standard

    Hallo,

    wenn du aus UDT abgeleitete Bausteine oder Strukturen daraus Kopieren willst, dann genügt der normale MOVE Befehl.


    Siehe Bild. Im Netzwerk 1 habe ich den Datenbaustein_1 auf Datenbaustein_2 kopiert. Beide sind mit den gleichen UDT erstellt worden.

    Im Netzwerk 2 und 3 ist ein Beispiel mit MOVE_BLK_VARIANT. In diesen werden 36 Werkzeugträger im Kreis geschoben.


    Ich habe früher auch viel über Pointer adressiert. Aber in meinen jetzigen 1500 Projekten kann man komplett auf Pointer verzichten.
    Wenn man ohne Strukturen einmal was Kopieren muss hilft der Befehl SERIALIZE bzw. DESERIALIZE weiter.

    mfg Harald

    Kopi.jpg

  4. #4
    TheRealVash ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.08.2012
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    @Ralle: Danke für den Link, aber da wir wollen komplett mit optimierten DBs arbeiten.

    @Funky: Danke für den Tipp mit dem MOVE

    Aktuell sieht es folgendermaßen aus:copy.jpg

    Das Problem ist aktuell, dass man für jeden DB einen separaten Pfad braucht (3x: Load/Save/Delete).

    Die schönere Lösung (Hat durch die Anypointer in der 300 funktioniert) wäre eine automatisierte Berechnung des Quell bzw. ZielDBs in z.B. einem FC. Hättest du dazu noch einen Lösungsvorschlag?

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.255
    Danke
    537
    Erhielt 2.705 Danke für 1.954 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von TheRealVash Beitrag anzeigen
    @Ralle: Danke für den Link, aber da wir wollen komplett mit optimierten DBs arbeiten.

    @Funky: Danke für den Tipp mit dem MOVE

    Aktuell sieht es folgendermaßen aus:copy.jpg

    Das Problem ist aktuell, dass man für jeden DB einen separaten Pfad braucht (3x: Load/Save/Delete).

    Die schönere Lösung (Hat durch die Anypointer in der 300 funktioniert) wäre eine automatisierte Berechnung des Quell bzw. ZielDBs in z.B. einem FC. Hättest du dazu noch einen Lösungsvorschlag?
    Das ist eines der großen Mankos von TIA, das geht m.E. nicht mit optimierten DB. Daher mein obiger Post.
    Du kannst alles in einem DB machen und ARRAY von UDT nutzen, aber die DB-Nummer ändern, dazu muß man dann Zeiger verbiegen --> optimierter DB adé ...
    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

Ähnliche Themen

  1. DB Inhalt komplett in anderen DB kopieren
    Von K5286 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 28.10.2012, 20:44
  2. Bilder Kopieren / Variablen ändern
    Von Moroso im Forum HMI
    Antworten: 3
    Letzter Beitrag: 26.11.2010, 17:31
  3. Kopieren / Umladen von Variablen
    Von Trunschka im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 29.03.2010, 16:14
  4. Variablen Archiv kopieren
    Von TobiB. im Forum HMI
    Antworten: 3
    Letzter Beitrag: 01.12.2008, 14:49
  5. variablen kopieren wincc6.0
    Von poni im Forum HMI
    Antworten: 4
    Letzter Beitrag: 12.12.2006, 08:18

Lesezeichen

Berechtigungen

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