TIA AGLink Zugriff auf Array of UDT oder Array of Struct

meikSPS

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
- Programmiersprache: VBA
- TIA Version: v17

Hallo zusammen,

ich habe ein TIA Projekt mit einer SPS S7 1511C-1 PN. Dort habe ich einen Datenbaustein vom Typ "Array[0..5] of Struct". Das Struct besteht aus den Elementen bool, int, bool (siehe Bild). Der Zugriff erfolgt komplett symbolisch.
Screenshot 2024-10-14 103009.png

Jetzt möchte ich über AGLink die Werte innerhalb des Struct auslesen. Wenn ich aber auf die Node, mit dem Pfad "PID_CPU.Blocks.Test1.TestArr", des Arrays zugreife für Permission-type: None. Im angehängten Bild sieht man meine Ausgabe der Selbst geschriebenen Debugging Funktion, die einfach ziemlich viele Funktion zur Überprüfung ausführt. Das Auslesen von Normalen Arrays Funktioniert Einwandfrei zweites Bild, ("Test1" was ein einfache Array "of int").

Die Spalte mit den Werten zeigt 20-mal "Wert:", da das Array mit Rückgabewerten auf 20 Elemente Vor dimensioniert ist. Anderen Datentypen als Int werden gerade noch nicht ausgegeben und Werte lasse ich nur von Arrays ausgeben
Screenshot 2024-10-14 104507.pngScreenshot 2024-10-14 104254.png
Wenn ich die Buffersize von TestArr auslese bekomme ich auch die Richtige Größe die ich auch bekomme wenn ich Einzeltypengröße addiere.

Fragen
- Ist es überhaupt möglich ein Array of Struct oder Array of UDT zu lesen und zu schreiben
- Brauch ich eine andere Node zugreifen, um die Werte auszulesen?

Mein eigentliches Ziel ist es, auf ein Array of UDT zuzugreifen. Da jedoch beim Array of Struct das gleiche Problem auftritt, habe ich mich zunächst darauf konzentriert.

In der Zip Datei ist die Excel-datei mit den VBA dateien und ich habe noch die einzelnen VBA Skripts in einen Ordner damit man nicht Excel öffnen muss um den Code zulesen. Der Code funktioniert aber nur in Excel

Falls weitere Informationen benötigt werden, stelle ich diese natürlich gerne zur Verfügung.
 

Anhänge

Zurück
Oben