mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Datenlogger für SPS-Eingänge


Autor: Andreas Mairon (netwalker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe ein Projekt im Auge, das ich hier erst mal posten wollte um die 
Cracks zu Fragen in wie fern das realisierbar ist.

Also es geht um die Realisierung eines Datenloggers. Dieser Datenlogger 
sollte Eingänge aufnehmen wie sie auch von einer SPS aufgenommen werden. 
Es geht hier um ca. 8 Digitaleingänge, 3 Impulseingänge und 6 
Analogeingänge. Diese Eingänge sollen ca. in Minutenzyklen mit 
Zeitstempel auf eine SD-, MMC-Karte o.ä. geschrieben werden. Im CSV 
Format ö.ä.

Bei den Analogeingängen handelt es sich um den Industriestandart 0..20mA 
oder 4...20mA. Ist das möglich dies über den µC zu erfassen? Über einen 
niederohmigen Widerstand müsste man doch die Stromschwankungen als 
Spannungsabfall an dem Widerstand abnehmen können, oder?(wie bim Oszi 
gängig)

Ist es möglich diese Eingänge wie beschrieben auf eine SD-Karte 
Aufzuzeichnen? Das ganze möchte ich als Technikerarbeit für eine Firma 
durchführen.

mit besten Grüßen

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. Sicher ist es moeglich. Und Sinnvoll. Viel Glueck.

Autor: Gast123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar geht das - eine SPS ist auch nix weiter je nachdem ein kleiner oder 
grosser MC/Prozessor.

8 Digitaleingänge => du brauchst sowas wie Optokoppler oder sowas um die 
24V auf 5/3,3V runterzubrechen (wenn du SPS 24V benutzt sonnst halt an 
dein System anpassen)

3 Impulseingänge => sagt mir grad nix aber impulse mit MC aufnehmen geht 
also wird das schon irgendwie ;)

 6 Analogeingänge =) mit Multiplexing geht das - hast halt minimalste 
differenzen zw ADC1 und ADC6

"in Minutenzyklen mit
Zeitstempel auf eine SD-, MMC-Karte o.ä. geschrieben werden."

nun ja bei dieser Geschwindigkeit kannst du auch davor sitzen und 
mitschreiben ;)))

Autor: Claus Andy (cand)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Quallität der Antworten....kopfschüttel.

Man nehme:
Von Pollin
http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetz...

Hat aber nur 4AE, 8DE/ZE aber dafür 4DA. Man kann aber auch 2 Karten 
verwenden oder "Extensions" verwenden.

Software ist dabei, allerdings nicht so toll zum loggen geeignet. Hier 
schwirrt aber sowas rum. Ansonsten noch mal melden hier. Der Logger 
läuft dann aber auf dem PC, die Karte ist nur I/O TCP/IP Wandler.

Zähleingänge sind nicht ausreichend spezifiziert (macht man in Hz)
Analogeingänge sind nicht ausreichend spezifiert (macht man in Bit) (die 
Pollin hat 10Bit)

Schau dir die Specs mal an. (unter download)

Billiger gehts halt nimmer....

Autor: Andreas Mairon (netwalker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Letzten Vorschlag mit der Platine von Pollin is zwar ein guter 
Ansatz, aber ich habe vorort keien PC und somit nicht die möglichkeit 
die Daten wie bei diesem Board mit zu loggen. Ok, man könnte sich die 
ganze Sache ja dementsprechend umbiegen und evt. die besagte SD-Karte 
anbinden. Naja, da müss ich dann halt mal schaun wie für mich der beste 
Weg aussieht.

Nun ist mir aber noch mein Zweiter Lösungsansatz gekommen. Die 
Schaltschränke in denen dieser Logger eingesetzt werden soll, besitzten 
eine SPS mit Ethernet-Schnittstelle. Ich könnte die Loggdaten auf der 
SPS (es handelt sich um eine S7 von Siemens) Loggen und über eine 
Ethernetschnittstelle mit dem µC von der SPS abholen und auf die 
SD-Karte schreiben.
Wär das machbar? Wie schaut es mit Protokollen aus, wie bindet man die 
ein? Das Protokoll für die S7 SPS ist offen und da kommt man ran, nur 
wie einfach oder schwer ist es das dann dem µC mit Ethernetadapter bei 
zu bringen.

wäre da folgendes zur anbindung an den µC geeignet?:

http://shop.embedded-projects.net/product_info.php...

http://shop.embedded-projects.net/product_info.php...

danke für die hilfe bisher...

ach ja, zu den Impulsen. Es gibt z.B. Kippen die den Niederschlag 
messen. das sind kleine "Schäufelchen" die sich mit regenwasser füllen 
und wenn sie nahezu voll sind, Kippen sie. Beim Kippen wird ein Impuls 
gesendet. Man weis nun dass ein kippen ca. 4ml entspricht und nach 
zählen der impulse kann man nun eben den Niederschlag ermitteln. Aber 
das dürfte ja kein Ding sein. Einfach mittels Interrupt eine Variable 
hochzählen.

Autor: Soe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also handelt es sich bei den Impulseingängen auch um "normale" Digitale 
Eingänge? Oder nicht?!

Autor: Andreas Mairon (netwalker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, wie gesagt geht es um die aufnahme von ca. 8 Digitaleingänge, 3 
Impulseingänge und 6 Analogeingänge.

oder

dann eben die Lösung über Ethernet die schon geloggten Daten aus der SPS 
zu holen.

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Digitaleingänge mit Optokoppler abgreifen dürfte kein Problem sein. 
Bei den 0...20mA-Eingängen einen kleinen Shunt nehmen und mit 
Operationsverstärkern das Signal auf vernünftige Pegel bringen. Oder man 
baut einen u/f-Wandler, dann könnte man hier auch galvanisch trennen.

- Welche Abtastrate soll dein Logger haben? Das dürfte der Hauptpunkt 
deines Projektes sein. Möchtest du nur einmal in einer Zykluszeit der S7 
messen (30 ms), oder sicher gehen das in dem Zyklus die Eingänge sicher 
den Status haben? Dann müsstest du schon 2,5 x schneller sein (12 ms). 
Oder ist nur eine grobe Messung erwünscht, so jede Sekunde einmal?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@gerd: oben steht was von minutenzyklen...

Autor: Martin Vogel (oldmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Warum über die Antworten mit dem Kopf schütteln ? So verkehrt sind sie 
nicht und wenn sein Projekt einen Sinn hat, dann wird er dafür auch ein 
paar Euronen ausgeben können. Das Problem wird sein, das man zwar 
Signale aufnehmen kann, aber in der Regel ist eine SPS mit einer Aufgabe 
belegt und da sich mal so eben einkopmeln mit "Basteltechnik" kann den 
Prozeß gefährden. Dazu die Daten im Minutentakt auf einen kleinen 
Datenträger.. egal, wenn's der Chef absegnet...
Mein Vorschlag, die Digitalsignale wie bereits erwähnt über Optokoppler 
oder gaz einfach mit Relais, wenn keine hohe Schaltfrequenz zu erwarten 
ist. Selbiges mit den Impulseingängen, da auch hier eher ein gemütliches 
Schalten zu erwarten ist. Analog wird's etwas teuer. Einfach mal so 
einen Shunt in einen Stromkreis einbringen geht zwar, aber damit wird 
entweder die Schaltung auf Meßkreispotential gebracht oder die 
Elektronik ist etwas aufwändiger. Da können Trennverstärker nützen, 
allerdings sind diese nicht grad billig. Da bist du bei 3 Kanälen locker 
über 500 €. Anders würd ich's aber nicht empfehlen. Schnell ist mal ein 
Schuß über verschiedene Potentiale oder der Schleifenwiderstand ist zu 
groß oder .. oder .. oder. Die Datenerfassung kann empfindlich gestört 
werden und der Prozeß dahinter ????
Einfache Antwort: ein Atmega kann das was du willst, aber er garantiert 
nicht für die "seriösität" der Signalaufnahme.
gruß oldmax

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also wenn du die Daten per Ethernet von der S7 holen kannst, ist das 
wesentlich einfacher, als wenn du noch erst Signalaufbereitung betreiben 
musst. Auch der Hardwareaufwand ist geringer. Im Grunde brauchst du dann 
nur eine Ethernetschnittstelle und eine SD-Kartenschnittstelle. Beide 
könnten über SPI bedient werden.

Autor: Andreas Mairon (netwalker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gut, jetzt weis ich schon mal wo ich stehe und wo die engpässe sind. das 
hat schonmal ordentlich weitergeholfen.

die aufzeichnung findet wie gesagt in minutenzyklen statt. es geht um 
pegelstände, durchflussgeschwindigkeiten etc. in langzeit aufnahme. um 
eben z.b. am ende des monats/quartals/jahres eben statistiken auswerten 
zu können.

doch je mehr ich mich mit der ethernet geschichte beschäftige, umso mehr 
scheint das die bessere lösung zu sein. wie ja auch schon erwähnt wurde, 
dass dies wohl einfacher wäre.

jetzt ist nur meine frage, wie dann die datenkommunikation aus sieht? 
der µC ist über SPI an das ethernet modul angebunden und das wiederum 
per ethernet an die SPS. wie bring ich die sps dann dazu mit die 
benötigten daten zu übermitteln? wie schaut solch ein abfragebefehl aus 
wenn ich einen datenbaustein in der sps abfragen möchte? muss ich dafür 
dem ethernetcontroller noch eine bestimmtes protokoll oder 
nkommunikationsregeln geben um mit der sps kommunizieren zu können?

wisst ihr was an infos hierzu im netz, wie die datenkommunikation des 
ethernetkontrollers aussieht?

Autor: Andre I. (dex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
über die netzwerkschnittstelle wird industrial ethernet oder bei siemens 
profinet laufen. also ein festes protokoll an das du dich halten musst. 
mal eben irgendwelche daten darüber schieben dürfte schwierig werden, 
denn du wirst den datenverkehr aus der SPS zum uC ja in STEP7 
programmieren müssen. das schränkt deine kommunikationsmöglichkeiten 
stark ein.

ich würd mich da lieber direkt an die sensoren hängen wollen, bevor sie 
in die SPS gehen

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> muss ich dafür dem ethernetcontroller noch eine bestimmtes protokoll
> oder nkommunikationsregeln geben um mit der sps kommunizieren zu können?

Das Übertragungs-Protokoll der Ethernetschnittstelle der S7 ist TCP/IP. 
D.h. dein µC müßte einen entsprechenden Stack programmiert haben. Der 
Ethernet-Controller (aus deinen Links oben) setzt das nur um.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> denn du wirst den datenverkehr aus der SPS zum uC ja in STEP7
> programmieren müssen.

öhm, nein?

Autor: Andre I. (dex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und woher soll die sps dann wissen wann und welche daten sie übers 
ethernet verschicken soll?

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Mairon schrieb:
> jetzt ist nur meine frage, wie dann die datenkommunikation aus sieht?
> der µC ist über SPI an das ethernet modul angebunden und das wiederum
> per ethernet an die SPS. wie bring ich die sps dann dazu mit die
> benötigten daten zu übermitteln? ...

Warum eigentlich?

Wenn dein µC mit Ethernet verbunden ist und TCP/IP kann, dann ist es 
doch am einfachsten, du holst die Daten über Ethernet direkt von deinem 
µC ab, ohne dass die SPS das überhaupt mitbekommt. Dann hast du nur ein 
Protokoll zu realisieren und das ist auf beiden Seiten deins, also 
kannst du alles selbst definieren und damit einfach halten.

Gruss Reinhard

Autor: Soe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja... wenn die Steuerung tatsächlich über Profinet läuft, könnte er ja 
prinzipiell relativ einfach die Netzwerkverbindungen mitsniffen und die 
benötigten Daten dann eben speichern. Aber in Abhängigkeit der 
verwendeten Zykluszeit braucht man dann einen beliebig schnellen 
Controller. Ich denke auch, dass es einfacher werden wird, die Sensoren 
VOR der Steuerung abzufragen.

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soe schrieb:
> ... Ich denke auch, dass es einfacher werden wird, die Sensoren
> VOR der Steuerung abzufragen.

Ich meine ja parallel dazu - ich baue mir einen Datenlogger, der Signale 
erfasst und die gespeicherten Daten an einen PC weitergibt, dass da 
parallel eine SPS dranhängt und die Daten ebenfalls verarbeitet, kümmert 
mich einen feuchten Kehricht, ausser dass meine Eingänge zu den 
SPS-Eingängen parallel schaltbar sein müssen, was ein reines 
Hardwareproblem ist.

Ich weiss ja nicht, was der Zweck der ganzen Übung ist, aber wenn die 
SPS bzw. der Ablauf überwacht werden soll, dann sollte ja das Logging so 
unabhängig von der SPS wie möglich sein - sonst würde z.B. ein 
Einlesefehler der SPS im Log überhaupt nicht auftauchen.

Gruss Reinhard

Autor: Thomas H. (supergrobi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was für eine SPS ist das denn ?

ich meine, warum erst mit dem µC die Daten abholen ?
Speicher deine Daten in DB's ab und hole diese doch direkt mit dem PC 
ab. Suche mal nach Libnodave.

gruß
Thomas

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
O.K. das mit den Minuten habe ich gnadenlos überlesen. Wahrscheinlich 
auch, ob es eine 300er oder 400er ist.

Wohin und was die SPS über Netzwerk schicken soll, kann man in der 
HW-Konfig und mit den vorgefertigten Transfer/Receive-FBs programmieren. 
Man braucht einen TCP/IP-Stack und kann mit Wireshark das ganze testen.

Ein AVR mit ENC28j60 könnte das vielleicht schon schaffen, wenn der 
Stack sauber programmiert ist.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.