Hallo,

ich habe hier eine kleine Aufgabe und wäre über einen Umsetzungsvorschlag dankbar!

Umgebung: Ein Kuka Roboter und ein Ultraschallgenerator sind per Profibus mit einer S7-1500 (Master) verbunden. Die Positionsdaten des Roboters und die Ultraschall-Prozessvariablen liegen auf dem Bus und sind in der Variablentabelle der SPS vorhanden.

Prozess: Der Roboter führt den Ultraschallkopf über das Bauteil, die Prozessdaten sowie die Positionsdaten des Roboters sollen zu Analysezwecken als Messwerte gespeichert werden. Dauer Prozess: 1-180 Sekunden pro Vorgang. Auflösung der Messung: Möglichst hochfrequent

Ansatz:

Alle Prozessdaten im Profibus-Takt speichern/zwischenspeichern und in ein Logdatei überführen.

Was ist hier der sinnvolle Weg? Lege ich mit der Datalogging Funktion einen DB mit großen Arrays [0-180000] für die Prozessvariablen an und schreibe dort im Bustakt Daten im Form eines Ringpuffers fleissig rein? Nach Abschluss eines Prozessvorgangs dann die Daten mit der Logging-Funktion (DataLogWrite) in eine CSV auf der SD-Karte und ich habe die letzten 180000 Messwerte im Bustakt mit Zietstempel (~4ms)? Falls ja, kann mir jemand ein Beispiel nennen/zeigen, wie ich im Bustakt (OB61 nur bei Isosynchronbus nutzbar, oder? Zumindest bekomme ich Compilierungsfehler die ich nicht deuten kann) in ein Array in einem DB die Daten schreibe?

Gruß

Sascha