Forum: Mikrocontroller und Digitale Elektronik "fertiger" uC für Industrieapplikation mit LAN


von Sepp (Gast)


Lesenswert?

Hallo,

wir brauchen für eine Industrieanwendung einen µC, da wir ein Signal 
auswerten müssen das für unsere SPS (300µs Zykluszeit) zu schnell ist.

Mit einem µC könnten wir das Signal aber problemlos einlesen.

Kennt jemand von euch ein fertiges Modul (Arduino?) das den µC, die 
externe Beschaltung (Quartz, Spannungsversorgung, Filter-C usw.) und 
auch schon eine LAN-Schnittstelle enthält?

Ich möchte vermeiden, die komplette Platine etc. entwickeln zu müssen 
und würde gerne auf ein fertiges Modul zurückgreifen, das ich "nur noch" 
programmieren muß.

Habt ihr dazu einen Tip für mich?

Danke schon im voraus!
Sepp

von Bastelkönig (Gast)


Lesenswert?

Sepp schrieb:
> ein Signal
> auswerten müssen das für unsere SPS (300µs Zykluszeit) zu schnell ist.

300us sind eine elend lange Zeit. Was ist das für ein Signal? Kommt da 
ein Datenstrom? Ein einzelnes Signal? Immer wieder mal?

Wäre es eine Lösung, den kurzen Impuls einfach länger zu halten, damit 
die SPS mitkommt?

von Sepp (Gast)


Lesenswert?

Das ist ein Rechtecksignal, ich muß die Pulsbreiten mit ca. 100µs 
Auflösung messen...

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

willst du nun nur das eine Signal erfassen (wie sieht das denn aus?) 
oder gleich die SPS mit ersetzen?

Gruss Reinhard

von .... (Gast)


Lesenswert?

Warum brauchst du dafür LAN? Kannst du nicht einfach die Pulsbreite 
messen und über eine einfachere Schnittstelle an die SPS weiterreichen?

von René B. (reneb)


Lesenswert?

Wieso nicht die Pulsbreite messen und an einen Analogeingang der SPS 
geben? Einen LAN-ComStack zu schreiben, der für deine SPS etwas 
brauchbares liefert ist wesentlich kniffliger. Kannst ja mal das Pollin 
AVR Net-IO nehmen. Pulsbreite kannst du dort mit dem AVR erfassen und 
ein Ethernet-IC sitzt auch drauf. Gleiches für das Rasberry-PI (ARM). 
Aber ich wollte da nix für ne SPS-Kommunikation per LAN programmieren...

von Gregor B. (Gast)


Lesenswert?


von Matthias L. (Gast)


Lesenswert?

Nimm eine SPS-Klemme mit Oversampling, oder eine, die auf solche 
Timinganwendungen/Messungen spezialisiert ist.

zB:
http://www.beckhoff.de/default.asp?ethercat/el1252.htm

von Dr G. Reed (Gast)


Lesenswert?

Recht nett finde ich die Flyport-Module von http://www.openpicus.com/

Klein, 16 Bit PIC Controller und den recht leistungsfähigen TCP/IP Stack 
von Microchip mit Webserver, EMAIL, DNS, SNTP und Konsorten.
Offenes Hardware-Design.

Die Umgebung ist auch sehr gut dokumentiert.

Gibts mit RJ45 Ethernet Buchse oder WLAN-Modul

von Jürgen S. (jurs)


Lesenswert?

Sepp schrieb:

> Kennt jemand von euch ein fertiges Modul (Arduino?) das den µC, die
> externe Beschaltung (Quartz, Spannungsversorgung, Filter-C usw.) und
> auch schon eine LAN-Schnittstelle enthält?
>
> Ich möchte vermeiden, die komplette Platine etc. entwickeln zu müssen
> und würde gerne auf ein fertiges Modul zurückgreifen, das ich "nur noch"
> programmieren muß.

Ein Arduino-UNO Board mit einem aufgesteckten Ethernet-Shield (W5100 
Chip) ist relativ fertig. Die beiden Teile brauchen nur zusammengesteckt 
werden, ist so ähnlich wie mit zwei Lego-Bausteinen.

Und zum Einlesen von Impulslängen direkt in Mikrosekunden gäbe es die 
Funktion "pulseIn" aus der Arduino-Library, mit der direkt Pulselängen 
in Mikrosekunden ermittelt werden können.

PinMode(3, INPUT);
pulsetime=PulseIn(3, HIGH);

natürlich kann man auch die LOW-Zeit von Impulsen messen, und mit 
Timeout, falls gerade kein Signal anliegt, damit die Funktion nicht 
unendlich lange wartet:
pulsetime=PulseIn(3, LOW, 450);

Die pulseIn-Funktion ist auf einem 16 MHz Arduino-Board wohl so ca. auf 
+/-10 Mikrosekunden genau.

Das Ethernet-Shield vom Arduino kann nur eine Verbindung zur Zeit, also 
FTP geht damit nicht. Aber HTTP-Client oder HTTP-Server könnte man damit 
realisieren, falls die Daten per HTTP weitergereicht werden sollen.

von Sepp (Gast)


Lesenswert?

Hallo,

danke für die vielen Rückmeldungen!!!

> willst du nun nur das eine Signal erfassen (wie sieht das denn
> aus?)
> oder gleich die SPS mit ersetzen?

Ich will nur ein Signal erfassen.
Die SPS soll bestehen bleiben.

> Warum brauchst du dafür LAN? Kannst du nicht einfach die Pulsbreite
> messen und über eine einfachere Schnittstelle an die SPS weiterreichen?

LAN geht mit am Einfachsten...

> Wieso nicht die Pulsbreite messen und an einen Analogeingang
> der SPS geben?

Wenn ich das Signal schon digital habe, möchte ich nicht den Umweg 
Digital => Analog => Digital gehen, das ist zu kompliziert und auch 
störungsbehaftet.

> Einen LAN-ComStack zu schreiben, der für deine SPS etwas
> brauchbares liefert ist wesentlich kniffliger.

Sockets von der SPS aus sind kein Problem, das haben wir schon öfters 
gemacht.

> Kannst ja mal das Pollin AVR Net-IO nehmen. Pulsbreite kannst du
> dort mit dem AVR erfassen und ein Ethernet-IC sitzt auch drauf.

Pollin wollte ich eigentlich nicht einsetzen für industrielle 
Anwendung...

> Gleiches für das Rasberry-PI (ARM).

Das schon eher, aber da ist es mit Lieferzeit+Verfügbarkeit 
problematisch...
Außerdem ist ein ARM schon fast Overkill für die Mini-Aufgabe...

> Nimm eine SPS-Klemme mit Oversampling, oder eine, die auf solche
> Timinganwendungen/Messungen spezialisiert ist.

Die hilft mir leider nichts, da ich mehrere Pulse (<50) habe, die ich 
erfassen muß.
Es geht um die Vermessung von Bauteilen; es wird eine Lichtschranke an 
einer Linearachse mit v=const bewegt, über die Pulsbreiten soll die 
Größe verschiedener Bauteile ermittelt werden.

> Recht nett finde ich die Flyport-Module von http://www.openpicus.com/
> Klein, 16 Bit PIC Controller und den recht leistungsfähigen TCP/IP
> Stack von Microchip mit Webserver, EMAIL, DNS, SNTP und Konsorten.
> Offenes Hardware-Design.
> Die Umgebung ist auch sehr gut dokumentiert.
> Gibts mit RJ45 Ethernet Buchse oder WLAN-Modul

Das schaut glaub ich ganz gut an, werde ich mir mal anschauen...

> Ein Arduino-UNO Board mit einem aufgesteckten Ethernet-Shield
> (W5100 Chip) ist relativ fertig. Die beiden Teile brauchen nur zusammengesteckt
> werden, ist so ähnlich wie mit zwei Lego-Bausteinen.

Danke, auch das werde ich mir mal durchlesen....

Gruß Sepp

von Matthias L. (Gast)


Lesenswert?

>> Nimm eine SPS-Klemme mit Oversampling, oder eine, die auf solche
>> Timinganwendungen/Messungen spezialisiert ist.

>Die hilft mir leider nichts, da ich mehrere Pulse (<50) habe, die ich
>erfassen muß.

Ja und? Eine Klemme heisst nicht ein Eingang. Eine Klemme hat mehrere 
Eingänge. Und du kannst soviele Klemmen zusammenstecken, wie du Eingänge 
brauchst.

ABer stimmt schon. schlechter geeignete Module zu verwenden ist immer 
besser...

von temp (Gast)


Lesenswert?

Ich würde LPCXpresso1769 empfehlen. Für 25€ unschlagbar. Nur die 
Ethernetbuchse muss noch angeschlossen werden. Softwarebeispiele gibts 
genügend im Web, allerdings ist das nichts für blutige Anfänger.
Eine für dieses Projekt vollständig ausreichende Entwicklungsumgebung 
gibts gratis dazu.

von Sepp (Gast)


Lesenswert?

>>> Nimm eine SPS-Klemme mit Oversampling, oder eine, die auf solche
>>> Timinganwendungen/Messungen spezialisiert ist.
>
>>Die hilft mir leider nichts, da ich mehrere Pulse (<50) habe, die ich
>>erfassen muß.
>
> Ja und? Eine Klemme heisst nicht ein Eingang. Eine Klemme hat
> mehrere
> Eingänge. Und du kannst soviele Klemmen zusammenstecken, wie
> du Eingänge
> brauchst.
>
> ABer stimmt schon. schlechter geeignete Module zu verwenden ist
> immer
> besser...

Ich habe nicht 50 verschiedene Signale, sondern ein Signal, in dem 
verschieden breite Pulse vorkommen (siehe Beschreibung: 
Bauteilvermessung).

Die Breite dieser einzelnen Pulse muß ausgewertet werden.

Die SPS-Klemmen können leider immer nur eine geringe Anzahl von Pulsen 
mit der hohen Genauigkeit analysieren...

von Matthias L. (Gast)


Lesenswert?

>Ich habe nicht 50 verschiedene Signale, sondern ein Signal, in dem
>verschieden breite Pulse vorkommen (siehe Beschreibung:
>Bauteilvermessung).

>Die Breite dieser einzelnen Pulse muß ausgewertet werden.

>Die SPS-Klemmen können leider immer nur eine geringe Anzahl von Pulsen
>mit der hohen Genauigkeit analysieren...

Die Klemme kann jede Flanke deineS oder deineR Signal(e) als Zeitstempel 
besser 1us aufnehmen. Daraus kannst du die Breite errechnen.

Aber wenn du nicht willst, ich hab das "Problem" nicht...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.