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
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?
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...
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
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.
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
>> 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 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.
>>> 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...
>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...