Auswertung eines analogen Signals

Rübezahl

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

momentan arbeite ich an einem Projekt an dem ich 1 analoges Signal erfassen und auswerten muss. Zuerst war es angedacht dies mit LabView zu tun aber nun soll dies doch mit einer SPS gemacht werden. Da meine Ausbildungszeit etwas her ist, bitte ich um ein bisschen Hilfe bei der Hardwareauswahl von euch.

Signal: 130 ms ist der Sensor mit dem Signal beufschlagt. Je 1 ms ist ein Wert zu speichern. Das gesamte Signal soll mathematisch ausgewertet werden. Zwischen zwei Signalen ist ca. eine Pause von 90 ms.

Gibt es hierzu eine ausreichend schnelle SPS? Die Zykluszeit sollte ja hier weniger als 1 ms betragen oder könnte man dies über Interrupts lösen?

Die Daten sollen zur Analyse gespeichert werden und an eine Datenbank übertragen werden.

Einstellungen an dem System sollen über eine Visualisierung vorgenommen werden. Da der Messort und die Messwarte ein gutes Stück auseinanderliegen, frage ich mich ob ich direkt am Messort einen Embedded PC brauche der mir die Daten dann an eine Visu übermittelt oder könnte ich über eine Steuerung in Verbindung mit Ethernet die Daten an einen Rechner schicken und anschließend verarbeiten. Geht das bei der Datenflut?

Was meint ihr? Ich bin da relativ unbedarft und wäre über ein paar Tipps froh!

Grüße
 
... wenn du das mit Siemens machen willst, dann wäre eine CPU 317 für den Fall leistungsstark genug.
Realisieren würde ich das grundsätzlich mit einem Zeit-OB. Ein Intervall von 1 ms ist hier machbar. Bei größeren CPU's kannst du sogar noch schneller werden.

Ich zeichne auf diesem Weg selbst sehr häufig Messwerte auf - allerdings habe ich so ein Intervall nur um Daten für eine FFT-Analyse aufzunehmen. Bei den meißten anderen Fällen reichen mir Intervalle von 5 oder 10 ms.
Was hasr du vor ?

Gruß
LL
 
Danke für die schnellen Antworten.

Die Frage kam auf was ich machen will.

Einfach gesagt, möchte ich das Temperaturprofil von Körpern über einen Wärmesensor aufzeichnen und es auswerten. Die Körper bewegen sich über ein Förderband. Das ganze ist recht schnell, wie gesagt, der Körper befindet sich nur ca. 130 ms vor dem Sensor und der nächste Körper folgt nach ca. 90 ms (130-90-130-90....Körper-Luft-Körper-Luft).

Mit auswerten meine ich, dass ich Tag/Nachtschwankungen aufzeichnen möchte, ein durchschnittliches Artikel spezifisches Temperaturprofil erfassen möchte, die Länge des Körpers anhand der zeitlichen Länge vor dem Sensor und der vorherrschenden Bandgeschwindigkeit errechnen will...

Das ganze ist natürlich irgendwo...das heißt im Moment bin ich mir noch unsicher ob ich die Steuerung einfach dezentral irgendwo platzieren kann um dann per Ethernet die Daten auf einem PC auszuwerten oder ob ich gleich einen Embedded System z.B. von S7-CX von IBHsoftec nehmen soll. Eine Visualisierung sollte ebenfalls programmiert werden.

Mit einer LabView Lösung wäre wohl ein CompactRio System nicht schlecht...aber wie gesagt, es soll eine SPS sein.

Nun denn, jetzt werden erst mal die Service Lines der Hersteller gequält. Ich höre sie jetzt schon ächtzen...

Grüße und danke noch einmal für die Antworten.
 
für diese anwendung würde ich mir alles andere als siemens aussuchen ... speicherprogrammierbare steuerungen gibt es ja auch von sehr guten anderen herstellern! ... gerade für die schnelle aufzeichnung ist ein system, welches auf deine bedürnisse zugeschnitten ist, wohl die beste lösung - ich bin für ein embedded system und einer schnittstelle zur übergeordneten steuerung
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Idealer Anwendungsfall für B&R-CPU.

CPU: EC20 oder CP1484 (beide haben Ethernet, beide haben einige MB Arbeitsspeicher, beide haben X2X als IO-Bus) - die EC20 erlaubt 1ms Zykluszeit, die CP1484 0.8 ms (CP1485 bzw. CP1486 würden 0.4 ms bzw. 0.2 ms erlauben)
AI: irgendwas aus dem X20-Sortiment (z.B. AI2622) - bei Verwendung der CP1484 kannst Du das AI-Modul direkt neben die CPU stecken. Die AI laufen übrigens Taktsynchron zum SPS-Programm.
Programmierung: in ST, C oder Basic
Visualisierung: Die CPUs von B&R erlauben es, eine Visualisierung auf der CPU zu hinterlegen (ohne Panel). Auf diese Visu kann man per Ethernet und VNC zugreifen.

ein paar Links dazu
AI-Modul: http://www.br-automation.com/cps/rde/xchg/br-productcatalogue/hs.xsl/products_63144_DEU_HTML.htm
CPU (CP1484): http://www.br-automation.com/cps/rde/xchg/br-productcatalogue/hs.xsl/products_90082_DEU_HTML.htm
CPU (EC20): http://www.br-automation.com/cps/rde/xchg/br-productcatalogue/hs.xsl/products_87167_DEU_HTML.htm

Ach ja, noch was:
z.B. die CP1484 hat 32MB RAM, wovon Erfahrungsgemäß zumindest 16 frei zur Verfügung stehen. Du könntest also schon mal einige Minuten lang (bei 1 INT alle 1 ms wären es ca. 2 Stunden) aufzeichnen, bevor Du die Daten an einen PC zur Auswertung weitergibts (oder direkt auf der CPU auswertest). Schreibst Dzu Deine Daten in regelmäßigen Abständen auf die CF-karte raus oder auf ein Netzlaufwerk, aknnst Du die Intervalle für die externe Auswertung zusätzlich hinauszögern.


mfg Maxl
 
Zuletzt bearbeitet:
Einfach gesagt, möchte ich das Temperaturprofil von Körpern über einen Wärmesensor aufzeichnen und es auswerten. Die Körper bewegen sich über ein Förderband. Das ganze ist recht schnell, wie gesagt, der Körper befindet sich nur ca. 130 ms vor dem Sensor und der nächste Körper folgt nach ca. 90 ms (130-90-130-90....Körper-Luft-Körper-Luft).
Im Prinzip wurde so ein System am B&R User Meeting 2006 in Salzburg durchgekaut. In diesem Fall wurde die Kontur einer produzierten Mozartkugel im Vorbeifahren vermessen.
 
Zusätzlich zu den Zweifeln an der Zykluszeit hape ich auch noch folgende:
- Welcher Analogeingang liefert dir einen Wert/ms? Baugruppen der S7-300 lagen da mal bei 176ms (für 8 Kanäle, 16bit Auflösung) es gab auch schnellere mit ??ms (für 2 Kanäle, 12bit).

Ich würde nach einer Platine suchen, die einen Mikrocotroller, A/D-Wandler und Ethernet-Anschluß hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zusätzlich zu den Zweifeln an der Zykluszeit hape ich auch noch folgende:
- Welcher Analogeingang liefert dir einen Wert/ms? Baugruppen der S7-300 lagen da mal bei 176ms (für 8 Kanäle, 16bit Auflösung) es gab auch schnellere mit ??ms (für 2 Kanäle, 12bit).
Warum? Man darf nicht immer in S7-Dimensionen denken ;)
Es gibt mittlerweile auch von Siemens AI-Karten mit einer Wandlungszeit von 1 ms (weiß nicht ob für S7-300 - in jedem Fall aber für ET200S). Die Weiterverarbeitung im 1 ms-Takt wird mit S7 allerdings schwierig, eine IM151-7 dürfte kaum schnell genug sein, mit der Taktsynchronität ist es auch noch nicht so rosig.

Die von mir verlinkten AI-Karten haben eine Wandlungszeit von 300µs für alle Kanäle. Ich hab die Dinger (in 4 Kanal-Ausführung) bei meinem letzten B&R Projekt im 2 ms Raster ausgelesen (taktsynchron zum IPO-Takt der CNC) - funktioniert wunderbar.
Aus dem gleichen System gäbs dann noch eine Ausführung mit 50µs Wandlungszeit - allerdings muss man dann die Oszi-Funktion der Baugruppe verwenden. (sprich: man lässt z.B. 20 Werte im Raster von 50µs aufzeichnen, und liest dann den gesamten datenpuffer im 1 ms-Takt aus)

Wo ich mir bei dem ganzen Konzept am meisten Sorgen mache, ist, ob man die Daten schnell genug aus der SPS per Ethernet an den übergeordneten Rechner weitergeben kann. Meiner Meinung nach muss hier der Hauptanteil der Arbeit bereits von der SPS erledigt werden.

mfg Maxl
 
Zuletzt bearbeitet:
Welcher Analogeingang liefert dir einen Wert/ms? Baugruppen der S7-300 lagen da mal bei 176ms (für 8 Kanäle, 16bit Auflösung) es gab auch schnellere mit ??ms (für 2 Kanäle, 12bit).

Nur für die Vollständigkeit :
Die 6ES7-335-7HG01-0AB0 kann mit einer Auflösung von 14 Bit im 0.5 ms-Takt Messwerte einlesen (ich setze das Ding recht häufig für schnelle Messungen ein). Die wäre für die S7-300.

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gehen auch 25µs mit "S7"

Hallo!

Aus dem Step7-Lager (oder Kompatible)

Eine Speed7 CPU mit Speedbus Analogmodul: (25µs Abtastzeit 8 Kanäle!)


Wenn man mit Weckalarm alle 250µs oder 500µs arbeitet, kann man dort die Analogwerte direkt auslesen und verarbeiten (L PEW xx)
(wird dann direkt von dem Modul geholt, dauert etwa 20µs)

Wenn man mit einem OB1 läuft, der nur wenig Programm hat, kann man auch unter die 250µs kommen. (Bei System 300 und lokalem Rückwandbus ist der Rückwandbuszyklus und der OB1 Zyklus immer synchronisiert) Nur die Feldbuszyklen können "frei" laufen.

Aber jetzt der eigentlich interessante Fall:

Weckalarm mit z.B. 500µs (oder auch langsamer) und Analogmodul auf FIFO-Mode mit 8 Kanälen und 25µs pro Kanal einstellen:

Daten kann man dann alle 500µs abholen und verarbeiten, Modul tastet mit sehr geringem Jitter ab und speichert die Werte in seinem internen Speicher.



Grüße
 
Super!!!

Dank an alle. Hatte ja meine Zweifel fragen in Foren zu stellen...aber ich muss sage ich bin positiv überrascht!

Gruß an alle
 
Weckalarm mit z.B. 500µs (oder auch langsamer) und Analogmodul auf FIFO-Mode mit 8 Kanälen und 25µs pro Kanal einstellen:

Daten kann man dann alle 500µs abholen und verarbeiten, Modul tastet mit sehr geringem Jitter ab und speichert die Werte in seinem internen Speicher.
Das entspricht Funktionell dem was auch die AI2632 von B&R schaffen. Mir war nicht bekannt, dass sowas auch mit einem S7-System möglich ist.

Trotzdem glaube ich dass wir langsam übers Ziel hinausschießen - der Abtastzyklus 1ms reicht Rübezahl :cool:
 
Zurück
Oben