# Analogwerte sehr schnell auswerten und protokollieren



## funkey (7 Januar 2014)

Hallo,
keine Ahnung ob ich im richtigen Forum bin, irgendwie passt es nirgends.
ich müsste zwei Analogwerte auf die Millisekunde genau loggen. Kennt jemand eine Hardware mit der das zu bewerkstelligen ist?
Mit einer S7 wird das wahrscheinlich nicht gehen, oder? Vielleicht mit einer S7-1500? Die dürfte ja schnell genug sein, aber man braucht ja einen riesigen FIFO-Bereich bzw. man kann die Werte ja auch nicht so schnell über TCP auslesen.

Vielen Dank für Antworten!

Gruß
funkey


----------



## rostiger Nagel (7 Januar 2014)

Siemens Mikroboxen mit PC104 Karten die können dat.
Da schreibst du dir ein kleines Program mit ODK und wenn
du willst könntest du das sogar direkt in eine Datenbank 
Schreiben.


----------



## Blockmove (7 Januar 2014)

Handbuch lesen kannst du ja selber.
Von daher schau dir die Wandlungszeiten der S7-Analogbaugruppen an.
Ein Geschwindigkeitswunder ist die 1500er übrigends nicht.
Da gibt es einiges auf dem Markt was deutlich schneller ist.

Rein aus dem Bauch raus würde ich sagen, dass eine S7 nicht unbedingt für dein Vorhaben geeignet ist.

Gruß
Dieter


----------



## funkey (7 Januar 2014)

Vielen Dank für die Antworten und die Infos. Ich habe leider überhaupt keine Ahnung von den Siemens Mikroboxen. So wie ich das sehe sind das kleine IPCs, bei denen die Hardware individuell zusammengestellt werden muss. Da gibt es aber einiges von dem ich nichts weiß wie, da werde ich wohl einen Berater von Siemens brauchen. Aber es muss bestimmt nicht Siemens-Zeug sein, es muss ja auch nicht mit der Steuerung reden, sondern mit einen PC mit Datenbank oder so. Außerdem glaube ich wird das bei Siemens richtig teuer, da habe ich schon wieder was von Lizenzen und so gelesen.


----------



## rostiger Nagel (7 Januar 2014)

Also mit der Microbox hast du ja schon einmal einen PC.
Preislich ist das wirklich bezahlbar, ich würde da mal wirklich
deinen Siemens Vertreter ansprechen. 

Die PC gibt es erstmal als Bundel und verhält sich dann wie eine 
SPS, er wird ganz normal mit Step 7 programmiert. Die Karte steckst
du dann einfach. Von der Geschwindigkeit ist es so, das selbst mit großen
Programmen eine Zykluszeit von 1ms kaum erreichbar ist, deshalb ist
die RTX die einigste SPS bei Siemens die die Zykluszeit in mikrosekunden
angibt.


----------



## StefanK (7 Januar 2014)

Hi, 
schon mal Gedanken über richtige Messtechnik gemacht? Stichworte: HBM, IMC, Labview...


----------



## zako (7 Januar 2014)

Blockmove schrieb:


> Von daher schau dir die Wandlungszeiten der S7-Analogbaugruppen an.



Na das ist ja z.B. eine der Stärken der S7-1500, dass Rückwandbus und Analogwertwandlungszeiten deutlich schneller ist.




Blockmove schrieb:


> Ein Geschwindigkeitswunder ist die 1500er übrigends nicht.


Da gibt es ja Tabellen von SIEMENS, welche 1500, welche S7-300/400 entspricht.  Die 1518 soll ja dann das Flagschiff werden (incl. Taktsynchronität ab 250µs). Da ist der Performancegewinn durch Beachtung des Programmierleitfadens noch gar nicht eingerechnet.

Wer es schneller braucht, der kann ja z.B. eine SIMOTION nehmen. Auf der SPS/IPC/DRIVES wurden 125µs Programmzyklus mit 62,5µs Profinet IRT Takt vorgestellt. Dort kann man ja eine ET200S high speed hängen.


----------



## Mobi (8 Januar 2014)

Was heißt genau auf die Millisekunde? Abtastrate 1ms oder z.B. genau alle 1000ms?


----------



## funkey (8 Januar 2014)

Danke für die weiteren Infos!



Mobi schrieb:


> Was heißt genau auf die Millisekunde? Abtastrate 1ms oder z.B. genau alle 1000ms?


Entschuldigung, ich war nicht genau. Ich brauche eine Abtastrate von 1ms. Also jeden Wert von jeder Millisekunde. Wie lange die Werte dann vorhanden sein müssen bis sie verworfen werden können weiß ich nicht. Ich denke ein paar Minuten müsste reichen.


----------



## euro (9 Januar 2014)

Ich hatte das ganze mal mit Hardware von Beckhoff gelöst. Einen CX9020 als Controller und dazu EL3104 als Analogbaugruppe (Wandlungszeit 100us).

Habe über 1min 4 Messwerte in einem Array aufgezeichnet und anschließend per ADS die Daten auf einen PC übertragen.

Gesendet von meinem Sony Tablet S mit Tapatalk


----------



## HMI-Muckel (9 Januar 2014)

ibaPDA von der iba AG kann das auf jeden Fall.... einfach mal googeln


----------



## ronnie.b (9 Januar 2014)

Hallo,
ich kann da die Messtechnik von Delphin empfehlen.
Hier mal ein Link
http://www.delphin.de/hardware/expert-key/technische-daten.html

Es gibt da verschiedene Geräte. Einfach mal anschauen.


----------



## Sarek (9 Januar 2014)

Würde sagen mit ner VIPA Speed 7 ist das auch problemlos machbar.
Und die kannst Du mit dem Simatic Manager programmieren,


----------



## ronnie.b (10 Januar 2014)

Sarek schrieb:


> Würde sagen mit ner VIPA Speed 7 ist das auch problemlos machbar.
> Und die kannst Du mit dem Simatic Manager programmieren,



Ich denke der Flaschenhals wird hier die Analogkarte sein. Das müsste dann eine High-Speed Baugruppe von VIPA sein.


----------



## Larry Laffer (10 Januar 2014)

funkey schrieb:


> Ich brauche eine Abtastrate von 1ms. Also jeden Wert von jeder Millisekunde. Wie lange die Werte dann vorhanden sein müssen bis sie verworfen werden können weiß ich nicht. Ich denke ein paar Minuten müsste reichen.



Hallo,
das würde Siemens mit einer CPU >= 317 auch leisten können. Analog-Eingangskarten mit einer passenden Wandlungszeit haben die auch - wahlweise für das CPU-Rack oder für die ET200S.
Was mit da eher Sorgen machen würde wäre die Aufzeichnungszeit - du kommst da sehr schnell (selbst bei trickreicher Programmierung) an die absoluten Speicher-Grenzen der SPS. Denk da doch noch mal drüber nach ...


Gruß
Larry


----------



## ronnie.b (10 Januar 2014)

Da hast du recht. Für solche Anwendungen sind eigentlich eher Datenlogger mit entsprechendem Speicher geeignet.


----------



## Togamo (11 Januar 2014)

Hallo,

Soweit ich mich erinnern kann hatte ich mal so Boxen von Siemens die konnten das sehr gut.

Grüße Bernd


----------



## KingKai78 (22 Januar 2014)

also ich würd auch die Simatic microbox nehmen wenns unbedingt siemens Step7 sein muss. Da hast du dann auch Speicher satt für die Daten...


----------



## trinitaucher (22 Januar 2014)

euro schrieb:


> Ich hatte das ganze mal mit Hardware von Beckhoff gelöst. Einen CX9020 als Controller und dazu EL3104 als Analogbaugruppe (Wandlungszeit 100us).
> 
> Habe über 1min 4 Messwerte in einem Array aufgezeichnet und anschließend per ADS die Daten auf einen PC übertragen.


Das wäre auch mein Vorschlag.
Ne PC-basierte Hardware von Beckhoff mit TwinCAT. Dazu eine entsprechende Analogbaubaugruppe am EtherCAT, z. B. diese: 
http://beckhoff.de/default.asp?ethercat/el3101_el3102.htm (60µs kleinste Wandlungszeit).
Dann sammelst du mit der kleinstmöglichen Zykluszeit deine Werte in ein Array und speicherst das zwischendurch als Datei auf dem PC, im Netzwerk oder irgendwo sonst ab.

Wenn die Hardware nicht schnell genug ist, nimmst du ne Oversampling-Klemme, z. B. diese: http://beckhoff.de/default.asp?ethercat/el3702.htm
Kleinste Wandlungszeit 10µs. Wenn der PC nur 1 ms kann, dann macht man in diesem Fall zB ne Abtastung mit 100-fachem Oversampling (100 kHz)

Wie schnell musst du denn überhaupt wie viele Werte erfasst und abgespeichert haben?


----------



## dane93 (27 Januar 2014)

Schau dir mal die Steuerungen von B&R an, die sind verdammt schnell und schon länger echtzeitfähig
Gruß


----------



## funkey (27 Januar 2014)

Vielen Dank für die zahlreichen Informationen. Mal schauen was den Geschäftsleuten am besten zusagt. Ich melde mich dann wieder wenn ich genaueres weiß und es dann Ergebnisse gibt, wie und ob das ganze umgesetzt wird.



trinitaucher schrieb:


> Wie schnell musst du denn überhaupt wie viele Werte erfasst und abgespeichert haben?


Es handelt sich um nur zwei Werte, die aber mindestens jede Millisekunde aufgezeichnet werden müssten.


----------



## StefanK (27 Januar 2014)

funkey schrieb:


> Es handelt sich um nur zwei Werte, die aber mindestens jede Millisekunde aufgezeichnet werden müssten.



Ich denke, das sich die Frage von "trinitaucher" auf die Anzahl der Datensätze bezieht. Also über welchen Zeitraum die Daten gesammelt werden sollen, denn irgendwann ist jeder DB, jedes Array oder sonstiger Puffer voll... Und dann..?? Datei, Datenbank.. ??

Gruß


----------



## Majestic_1987 (9 Februar 2014)

> Auf der SPS/IPC/DRIVES wurden 125µs Programmzyklus mit 62,5µs Profinet IRT Takt vorgestellt



Sorry, ich muss Siemens-Bashing betreiben:

Also das habe ich kürzlich auf nem CX2030 (2000€ inkl. aller Lizenzen) realisiert bzw. übertroffen. 11 Servoachsen in Positionsregelung plus ziemlich viel SPS-Programm. Zykluszeit 50µs. Glaube nicht, dass man dafür eine Simotion bekommt. Beckhoff hat übrigens 12,3µs Zykluszeit gezeigt ;-)

Du kannst mit nem CX9000 (kostet irgendwas um 300€ in etwa) oder nem CX8000 (ka ob der schon verfügbar ist) problemlos im ms-Takt loggen. Du könntest sogar XFC-Eingangsklemmen nehmen, die dir per Oversampling bis zu 100.000 Samples/s liefern, sogar zeitsynchronisiert und mit Zeitstempel. Diese Klemmen sind halt etwas teurer, vermute mal so um die 150-200€ für eine 2-Kanal-Analogeingangsklemme. Programmiersoftware ist allerdings kostenlos.

Auslesen kannst du dann z.b. über ADS. Rein theoretisch sogar über ein VB-Makro direkt in Excel rein oder so. Sinniger wäre aber natürlich irgendein kleines Programm, dass die Werte in ne Datenbank schreibt. Mit VB.Net oder C# ein Programmieraufwand von vllt. 2-3h wenn man's noch nie gemacht hat. ADS-Bibliotheken sind auch kostenlos dabei und VisualStudio Express bekommt man ebenfalls für lau.

Grundsätzlich sollte Speicher da auch kein Problem sein. Habe mit eigenen Augen schon Software gesehen, wo mehrere DWORD-Arrays mit 20.000 Elementen drin waren.


----------



## Blockmove (9 Februar 2014)

Majestic_1987 schrieb:


> Auslesen kannst du dann z.b. über ADS. Rein theoretisch sogar über ein VB-Makro direkt in Excel rein oder so. Sinniger wäre aber natürlich irgendein kleines Programm, dass die Werte in ne Datenbank schreibt. Mit VB.Net oder C# ein Programmieraufwand von vllt. 2-3h wenn man's noch nie gemacht hat. ADS-Bibliotheken sind auch kostenlos dabei und VisualStudio Express bekommt man ebenfalls für lau.



Und wie schnell ist die ADS-Kommunikation?
Wie groß muss der Puffer (Anzahl der Datensätze) in der SPS sein?

Gruß
Dieter


----------



## Majestic_1987 (9 Februar 2014)

Ich habe noch keine Messungen diesbezüglich durchgeführt. Die Kommunikation an sich ist natürlich nicht deterministisch, aber da sie über TCP/IP transportiert wird ist sie zum Anzeigen von Werten durchaus hinreichend schnell. Alle komerziellen HMI/SCADA-Systeme (Zenon, VisiWin, Lauer, Wonderware, etc.) setzen auf ADS und da sind Updatezeiten von 0.1s üblicherweise kein Problem. Ob das "schnell genug" ist hängt ja auch wieder von der Anwendung ab.

Wenn du in der SPS einfach einen Puffer mit sagen wir 500 oder 1000 Werten machst und dir was kluges überlegst, wann du den ausliest, passt das sicherlich. Vielleicht per Notification wenn der Puffer voll ist? Wäre vermutlich eine eleganze Lösung. Dann hat das Programm bei 1000 Werten genau 1s für Daten auslesen, verarbeiten und wegspeichern bevor der Puffer wieder voll ist. Das wird ausreichend sein, denke ich. Und 1000 REAL's sind jetzt nicht wirklich viele Daten.


----------



## zako (9 Februar 2014)

> Sorry, ich muss Siemens-Bashing betreiben:
> 
> Also das habe ich kürzlich auf nem CX2030 (2000€ inkl. aller Lizenzen) realisiert bzw. übertroffen. 11 Servoachsen in Positionsregelung plus ziemlich viel SPS-Programm. Zykluszeit 50µs.




... also Beckhoff gibt auf seiner Homepage für Highspeed-Regelalgorithmen folgende Daten an:
Stromregler bis zu 61,5 µs Zykluszeit für die hochdynamische Regelung eisenloser Linearmotoren
Drehzahlregler bis zu 125 µs
Lageregler bis zu 250 µs
siehe
http://www.beckhoff.de/default.asp?drive_technology/ax5000_ethercat.htm

also mit dem SIEMENS SINAMICS S120 kannst Du minimal Lagereglerstörverhalten / Drehzahlregler / Stromregler 31,25µs / 31,25µs / 31,25µs.
Im Prinzip ist das alles nur Zahlenwerk. Wichtiger ist hier, welche regelungstechnische Freiheitsgrade das System bringt, wie Sollwertfilter (Tiefpass, Bandsperren, ...), Vorsteuersymmetrierungen, Interpolatoren, Drehmomentvorsteuerung, antriebsinterne Achskopplung, ...


----------



## Majestic_1987 (9 Februar 2014)

zako schrieb:


> ... also Beckhoff gibt auf seiner Homepage für Highspeed-Regelalgorithmen folgende Daten an:
> Stromregler bis zu 61,5 µs Zykluszeit für die hochdynamische Regelung eisenloser Linearmotoren
> Drehzahlregler bis zu 125 µs
> Lageregler bis zu 250 µs
> ...



Ich hab ja nur nur gesagt, dass man Problemlos die PLC/NC und den  Feldbus mit <100µs betreiben kann. Ob der Antrieb da letztlich mit  der Drehzahlregelung oder Stromregelung "hinterherkommt" oder die Regelung da ein Bottleneck hat, sei mal  dahingestellt. Und es ging hier primär NICHT um die Schnelligkeit der  Regelungsalgorithmen im Antriebsregler sondern konkret um die  Schnelligkeit von SPS und NC. Und da kommt man eben auf 50µs runter. 

Dass  es nicht nur auf Zahlen ankommt ist mir auch klar. Im Thread ging's  aber eben um Datenlogging und nicht um Antriebsregelung. Und natürlich  hast du dahingehend recht, dass es auf das Gesamtpaket ankommt.


----------



## trinitaucher (16 Februar 2014)

zako schrieb:


> ... also Beckhoff gibt auf seiner Homepage für Highspeed-Regelalgorithmen folgende Daten an:
> Stromregler bis zu 61,5 µs Zykluszeit für die hochdynamische Regelung eisenloser Linearmotoren
> Drehzahlregler bis zu 125 µs
> Lageregler bis zu 250 µs
> ...


Diese Angaben der "Highspeed-Regelalorithmen" bezieht sich auf die Hardware AX5000, nicht auf TiwnCAT als Steuerungssystem. Üblicherweise arbeitet die überlagerte TwinCAT-NC mit 1 oder 2 ms, selten schneller.
Mit dem AX5000 macht die Lageregler nur bis hinunter zu 250µs Zykluszeit Sinn, darunter bringt es keinen Vorteil mehr wegen der kaskadierten Regelung.
Einstellbar wären bis 50µs Zykluszeit hinunter, was in praktischen Anwendungen mit mehreren NC-Achsen aber auch einen sehr schnellen PC voraussetzt. 

Bei der ursprüngliche Frage ging's um Analogwertaufzeichnung. Da könnte man mit 50µs Zykluszeit und Analog-Oversamplingklemme EL3702 mit 5-fach Oversampling auf 10µs Abtastrate kommen.
Aber auch mit "langsamer" Steuerung bei 1 ms Zykluszeit könnte man mit der Oversamplingklemme mit 100-fach Oversampling auf diese 10µs Abtastung kommen.


----------

