-> Hier kostenlos registrieren
Hallo, allerseits!
Ich habe hier eine Anlage, bei der ich 100 "Rezepte" verwalten muß, die ich in Form von UDT`s mit je 50Byte Länge in einem Array Rezept[1..100] of UDT
global abgelegt habe. Nun kann ich bis zu 24 Materialien und die zugehörigen Rezepturen gleichzeitig in der Anlage haben, möchte also die Information über die "Belegung" der Anlage in der Form eines Arrays hinterlegen, nach dem Muster Belegung[1..24] of Int, wobei der Intererwert den jeweiligen Speicherplatz des Rezeptes darstellt.
Aufbau ist etwa so:
Belegung[1] = 12 -> In Platz 1 liegt Produkt mit Rezept Nr. 12
Belegung[2] = 04 -> In Platz 2 liegt Produkt mit Rezept Nr. 04
...
Belegung[24] = 0 -> In Platz 24 liegt gar kein Produkt (kein Rezept)
Das ist soweit auch kein Problem, aber...
1.
Gibt es eine Möglichkeit, direkt über den Index auf Werte der UDT`s im globalen DB zuzugreifen, nach der Art
U DB10.Rezept[variable].boolwert1
= DB10.Rezept[variable].boolwert2
Geht das???
2.
Bearbeitet (also nicht zu verwechseln mit der Belegung!) werden immer max. 2 Produkte. Diese zwei Rezepte möchte ich zur Sicherheit vor der Bearbeitung nochmal lokal in einem DB ablegen, falls mittendrin jemand über die Visu das Rezept ändert...
Ich würde also gerne eine Möglichkeit haben, relativ komfortabel folgendes zu realisieren:
Rezept[Belegung[x]] -> BLKMOV -> LokalDB.Rezept1
Einen UDT kann ich ja mit BLKMOV kopieren, aber STEP7 möchte immer absolute Zeiger bei SRCBLK und DSTBLK haben. Rezept[15] geht z.B., aber nicht Rezept[Variable].
Ich denke, ich könnte mir einen Any-Zeiger mühsam zusammenbasteln, aber geht das nicht auch einfacher???
Bin für jeden Tip bzw. Anregung dankbar...
Ich habe hier eine Anlage, bei der ich 100 "Rezepte" verwalten muß, die ich in Form von UDT`s mit je 50Byte Länge in einem Array Rezept[1..100] of UDT
global abgelegt habe. Nun kann ich bis zu 24 Materialien und die zugehörigen Rezepturen gleichzeitig in der Anlage haben, möchte also die Information über die "Belegung" der Anlage in der Form eines Arrays hinterlegen, nach dem Muster Belegung[1..24] of Int, wobei der Intererwert den jeweiligen Speicherplatz des Rezeptes darstellt.
Aufbau ist etwa so:
Belegung[1] = 12 -> In Platz 1 liegt Produkt mit Rezept Nr. 12
Belegung[2] = 04 -> In Platz 2 liegt Produkt mit Rezept Nr. 04
...
Belegung[24] = 0 -> In Platz 24 liegt gar kein Produkt (kein Rezept)
Das ist soweit auch kein Problem, aber...
1.
Gibt es eine Möglichkeit, direkt über den Index auf Werte der UDT`s im globalen DB zuzugreifen, nach der Art
U DB10.Rezept[variable].boolwert1
= DB10.Rezept[variable].boolwert2
Geht das???
2.
Bearbeitet (also nicht zu verwechseln mit der Belegung!) werden immer max. 2 Produkte. Diese zwei Rezepte möchte ich zur Sicherheit vor der Bearbeitung nochmal lokal in einem DB ablegen, falls mittendrin jemand über die Visu das Rezept ändert...
Ich würde also gerne eine Möglichkeit haben, relativ komfortabel folgendes zu realisieren:
Rezept[Belegung[x]] -> BLKMOV -> LokalDB.Rezept1
Einen UDT kann ich ja mit BLKMOV kopieren, aber STEP7 möchte immer absolute Zeiger bei SRCBLK und DSTBLK haben. Rezept[15] geht z.B., aber nicht Rezept[Variable].
Ich denke, ich könnte mir einen Any-Zeiger mühsam zusammenbasteln, aber geht das nicht auch einfacher???
Bin für jeden Tip bzw. Anregung dankbar...