Bei der Variante mit Variant ermittle ich die Anzahl der Elemente über den CountOfElements Befehl. Damit weiß ich wie oft
ich mich mit der For-Schleife durch die Elemente loopen muss bis ich das ganze Array durch habe.
Wenn ich über die For Schleife auf der richtigen Operation eingerastet bin, kopiere ich mir das entsprechende Array Element mit
dem Move_BLK_Variant Befehl in den lokalen Speicher.
Am Schluss, wenn die Operation fertig ist, werden die Daten aus dem lokalen Speicher wieder mit Move_BLK_Variant zurück
geschrieben.
Ich bekomm es mit TIA leider gerade nicht hin eine Quelle aus dem FB zu machen. Sonst würde ich den FB hier zur Verfügung
stellen.
@Heinileini
Doch für mich könnte die Konsistenz zum Problem werden, weil nämlich im udtSchraubOperationen auch Ergebnisse zurück
geschrieben werden. So ist alles an einer Stelle und ich muss mich nicht an anderer Stelle nochmal zusätzlich durch eine Struktur
von Ergebnisdaten loopen. Wozu, wenn ich in dem Such-FB schon auf dem richtigen Element eingerastet bin.
Aber ich kann mir ja nach wie vor auch mit dem Array[*] of udtSchraubOperation Ansatz die Daten zunächst in den lokalen Speicher
holen und dann irgendwann wenn die Operation beendet ist zurückschreiben.
Das hat den Vorteil, dass ich mir ein vernünftiges Update Flag setzen kann, wenn Daten zurückgeschrieben werden. Dieses Flag hab
ich mir nämlich mit dem neuen Ansatz erstmal unbemerkt wegrationalisiert.
Dann wäre ich den Variant los, damit mehr TIA like, und es würde nahezu identisch wie vorher funktionieren. Nur wie ich mir den Datensatz
in den lokalen Speicher hole wäre anders.