Twincat 3 Messwerte mit ADS in Excel schreiben

FunnyFunnel

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
für eine Studienarbeit programmiere ich derzeit mit TwinCAT 3 einen Messablauf.
Dabei bekomme ich jeden Zyklus (alle 2ms) ein Array mit 10 Messwerten (Struct aus skalierten + gefilterten Wert + Position (alles Real)).

Diese brauche ich aber Excel. Ich habe versucht dafür jeweils einen neuen XML Eintrag in ein XML-File schreiben zu lassen bzw. auch einen Puffer erstellt und dann nach >20 Zyklen den Schreibvorgang ausführen lassen. Allerdings kann der Server die Werte nicht so schnell abarbeiten.

Deswegen ist meine Frage, bevor ich daran noch weiter rumbastle, wie das Schreiben von PLC Variablen direkt in VBA/Excel über ADS ermöglicht wird. Also dass ich die Messwerte direkt aus einem PLC Array über ein in Excel erstelltes VB Sub ausführen kann. Damit würde ich mir auch den Zwischenschritt des XML-Imports in Excel sparen. Aus den Beispielen im Beckhoff Infosys bin ich nicht ganz schlau geworden, was hat es insbesondere mit dem "ADSOCX" auf sich.
Hat das schonmal jemand realisiert und vielleicht sogar ein anschauliches Beispiel parat?

Vielen Dank schonmal

Grüße Funnel
 
Hallo,
um wie viele Werte handelt es sich denn schlußendlich inn Summe ?
Das du alle 2 ms einen oder mehrere Werte aus einer SPS (gleich welcher) auslesen kannst möchte ich stark bezweifeln. Das geht sicherlich mit speziellen Messkarten, die gleich Bestandteil deines Rechners sind (hier fällt mir z.B. National Instruments ein) und mit einer sehr schnellen Applikation - aber so ...?
Was allerdings u.U. funktionieren würde wäre, dass deine SPS ein Array_of_Werte füllt und du dies im Anschlu0 an die Messung in Excel einliest.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die schnelle Antwort.
Genau so einen Ansatz suche ich. Habe mir bereits einen 2D Array Puffer geschrieben in der Form: [Zyklus,Messwerte]. Dort lege ich für jeden Zyklus die Werte der Messung ablege. Sind bis zu 5000 pro Messung (500 Zyklen mit je 10 Werten). Nur mit dem Export/Einlesen mit Excel nach der Messung, weiß ich nicht direkt wie ich das hinbekomme über ADS.
Diese AdsOcx Funktionen sind bei mir in Excel VBA nicht vorhanden. Im Infosys ist das hier unter Beispiel aufgeführt. Wie realisier ich sowas direkt in Excel?

Gruß
Funnel
 
Hallo,
ich habe so eine Messreihe per FiFo-Buffer übergeben weil ich die Daten in nahezu Echtzeit in LabView angezeigt habe. In deinem Fall würde ich eine CSV schreiben und diese in Excel einlesen.
Hier könntest du die nötigen Funktionen finden.

Gruß
jensemann
 
Zurück
Oben