TIA Blockmove für S7 1200 Alternative

Ph3niX

Level-2
Beiträge
482
Reaktionspunkte
132
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich scheitere gerade kläglich daran, den Blockmove-Befehl in der 1200er CPU, genauer gesagt in eienr 1214 DC/DC/Rly einzusetzen. Den Alten BLKMOV gibt es in der Form ja nicht mehr und ich möchte mit einem Pointer auf meine Rezeptliste in einem Array zugreifen und diese verschiedenen Parameter in mein Struct verschieben, je nachdem, welches Rezept angewählt wurde.

Zuerst habe ich dies mit "MOVE_BLK" versucht, dort kann ich allerdings keinen Pointer einsetzen, es heißt, dass der aktuelle Datentyps des Arrays bzw des Struct nicht zum Datentyp des Parameters IN passt.

Nun habe ich den Baustein "MOVE_BLK_VARIANT" im Einsatz, hieran kann ich meinen Pointer schon einmal ohne Fehlermeldungen einsetzen, jedoch bekomme ich an der Return_Value entweder den Fehler:
Der Wert am Parameter SRC_INDEX befindet sich außerhalb der Grenzwerte des VARIANT. (8382)

Im ersten Screenshot sieht man oben das Array [0..9] of Struct und diese Structures sollen in die Structure in Zeile 25 verschoben werden, also je nachdem, welche ausgewählt wurde.

Was habe ich an der Beschaltung von dem MOVE_BLK_VARIANT" denn falsch gemacht?

Über Hilfe wäre ich sehr erfreut :smile:

Gruß Andre.
 

Anhänge

  • 3.PNG
    3.PNG
    106,8 KB · Aufrufe: 69
  • 2.PNG
    2.PNG
    18,7 KB · Aufrufe: 55
  • 1.PNG
    1.PNG
    12,1 KB · Aufrufe: 65
Einfacher mit nem gewöhnlichen MOVE-Befehl und variablem Index.

Move-Box einfügen.
Vorne "Rezepte.Rezept[Rezepte.Rezept_Index]"
Hinten "Rezepte.Rezept_bearbeiten"

Auf 1200/1500 kannst du mit MOVE auch identische Strukturen/UDTs ineinander verschieben.
Wobei es sich für Rezept-Aufbauten lohnen würde die Rezeptposition als UDT aufzubauen.
 
Hab schon Feierabend gemacht, aber ich werde das morgen mal ausprobieren. Schönen Dank für eure Hinweise!

UDT's hab ich noch nichts mit zu tun gehabt, zwar schon häufiger gelesen, aber evtl wäre es ja sinnvoll diese Mal zu nutzen, werde ich mir auch morgen mal ansehen.
 
Zurück
Oben