Große Anzahl Messwerte sichern auf Beckhoff PC

Rodewijn

Level-1
Beiträge
90
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich bräuchte einen Rat: ein Kunde möchte eine größere Anzahl Messwerte (FLOATS) auf Festplatte sichern bei Testversuchen. Es handelt sich dabei nur um ein zeitbegrenztes "Mitloggen", dafür aber eine Taktrate von etwa 1000 Werte pro Sekunde.

Ich hatte jetzt "einfach" auf dem Beckhoff-Rechner, auf dem auch die SPS läuft per ADS-Client (Beckhoff-DLL) unter .NET (vorgegeben) soviel möglich Werte ausgelesen und die werden (zum Test) direkt in den Hauptspeicher (Variabele) geschrieben und komme nur auf etwa 485 Werte pro Sekunde. Ich lese bei meinem Testprogramm einfach immer wieder den gleichen Gleitkommewert aus und lasse einen Zähler mitlaufen, was er schaft.

Ist das überhaupt eine gute Idee über ADS, mit fiel nix anderes ein (könnte evtl. noch OPC versuchen). Hate jemand auch schonmal sowas gemacht und hat Tipps oder vieleicht viel bessere Ideen? Der begrenzende Faktor ist hier natürlich nicht die Beckhoff-SPS sondern die ADS-Server/Client-Schnittstelle

Liebe Grüße!
 
Es ist noch wichtig zu erwähnen, dass ich keinen direkten Zugriff auf die SPS-Code habe, sonst würde ich vermutlich von der SPS aus die Daten auf Festplatte schreiben. Wenn sich aber herausstellt, dass es unmöglich ist, in eine solchen Datenrate über ADS wegzuschreiben, werde ich die SPS-Softwareverfasser fragen müssen, das Programm zu ergänzen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein ADS-Zugriff dauert ca. 2ms. Da kommt das mit den 480 Werten je Sekunde schon gut hin. Das OPC schneller ist kann ich mir nicht vorstellen. Immerhin läuft da ja auch ADS-Kommuniktion im Hintergrund.
Das du nichts im SPS Programm ändern kannst ist blöd. Die einfachste Lösung die mir einfallen würde, wäre ein Puffer direkt im SPS-Programm. Der könnte dann regelmäßig über ADS gelesen werden, denn das schaufeln großer Datenmengen als Stream dauert über ADS auch nur ein paar ms.
 
OK, ganz ohne Anpassung der SPS-Software geht es dann nicht, ich werde darum bitten müssen..

Also.. ich könnte den schon mal bitten einen Datensatz von 8 Messgrößen in einem Struct zu schreiben und diesen Struct zu streamen.

Nur wie das dann mit dem Puffer von statten geht ist mir jetz noch nicht ganz klar. Er schreibt dort hinein und ich lese aus. Gibt es dann nicht die Gefahr, dass ich Sachen 2x lese oder gerade verpasse.. oder ein Überlauf?

Nun ja, ich habe auf jeden Fall schon mal ein Beispiel gefunden: "ADS-Summenkommando: Lesen oder Schreiben von mehreren Variablen" auf der Beckhoff CD oder : http://infosys.beckhoff.de/index.ph...csample_net/html/twincat.ads.sample09.htm&id=

Vielen Dank übrigens :)
 
Zuletzt bearbeitet:
Schau dir mal die (zwar kostenflichtige) Software TwinCAT Scope 2 an. Da kann man auch über Netzwerk grosse Mengen Daten loggen, da auf dem "SPS-Rechner" ein Server läuft, welcher die Daten rüberschickt. Auswertung erfolgt auch einem beliebigen Windows-Rechner oder direkt auf dem IPC
 
1000 werte pro sec. ist eine hausnummer. ich denke deine hardware wird es nicht mitmachen. ich suche auch immer schnelle hardware von der stange aber das beste was ich bekommen habe, liegt bei etwas über 30ms. alles andere ist nicht mehr von der stange und kostet richtig geld. wenn es ein analogwert ist, schau mal auf die aktualisierung der karte. bei den meisten wird dir deine aktualisierungszeit reichen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich verwende TC Scope 2 auf einem C6920 mit SSD. Wir nutzen für die NC-I eine Zykluszeit von 500us. Scope hält da auch bei 20 Messwerten locker mit.
Zum anderen nutze ich es auf div. CX5010/5020. Die meisten laufen mit 10ms und auch hier können 20 Signale übers Netzwerk abgegriffen werden.

TC Scope 2 hat zudem integrierte SPS-Bausteine, welche das Scope (bzw. den Server davon) von der PLC aus steuern lassen, bis zum Export einer csv-Datei..
 
Hallo Zusammen,

also mit "zeitbegrenzt" meine etwa eine Minute. Ob die Meßgeräte die Meßwerte überhaupt so häufig aktualisieren ist eine gute Frage. Vielleicht möchte der Auftraggeber etwas, (eine hochpräzise Analyse) die wir nur mit Sofware so oder so nicht einhalten können. Daran hatte ich gar nicht gedacht.... Ich werde dafür gleich mal anrufen müssen, oder ein Testprogramm hinschicken um das vorort ausprobieren zu lassen.

Kann man eine Testversion der aktuellen Scope2 eigentlich herunterladen, ich sehe es gerade nicht?

Viele Grüße und vielen Dank schonmal :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zyklusgenaue Messwerterfassung mit Zeitstempel sollten über Notifications eingesammelt werden. Beim Pollen kannst du Zyklen verpassen.

http://infosys.beckhoff.com/content/1031/tcsample_net/html/twincat.ads.sample03.htm?id=19449

Um den Durchsatz zu erhöhen, musst Du die ADS Packete vergrößern, da der Flaschenanzahl die Packetanzahl ist.

Das geht einerseits mit dem Anmelden von Strukturen und über das lokale Buffern im ADS Router, über das Attribut MaxDelay der Notification:

http://infosys.beckhoff.com/content...pec_adscmd_adddevicenotification.htm?id=18509
 
Zurück
Oben