Arduino vs LabJack für langlebige Systeme

Gast #6980374
Lesenswert?

Guten Tag,
ich stecke im Moment in der Planung eines Projektes und da ich noch 
nicht so viel Erfahrung mit Hardware-Ansteuerung (reiner 
Software-Entwickler) habe, wollte ich hier mal Meinungen einholen. 
Vorweg; das System wird mehr als 10 Jahre bestehen bleiben und die 
verwendete Hardware sollte noch verfügbar sein oder einfach zu ersetzen 
sein.
Es geht um die Ansteuerung eines Messplatzes innerhalb eines Labors. Der 
Messplatz hat 4 Motoren (4x PWM ist nötig für die Treiber) und 5 
Sensoren (digital) verbaut. Die Steuerung soll dann über eine GUI auf 
einem PC laufen.
Ich habe grundsätzlich zwei Ideen; entweder einen LabJack T7 oder einen 
Arduino. Bei dem Arduino bin ich skeptisch, ob diese in 10 Jahren immer 
noch verfügbar sind. Außerdem wäre wahrscheinlich der 
Entwicklungsaufwand höher, da der Arduino selber zu programmieren wäre. 
Im Gegensatz hat der T7 eine mitgelieferte Bibliothek, die die Steuerung 
aus einer Reihe von gängigen Sprachen ermöglicht. Zudem zielt LabJack 
ausdrücklich darauf ab, über einer langen Zeitraum verfügbar zu sein und 
hat keine Pläne die Geräte einzustellen, bevor nicht dessen Komponenten 
nicht mehr verfügbar sind und diese wurden von Herstellern mit dem Ruf 
einer langen Verfügbarkeit ausgewählt. So explizit habe ich das bei 
Arduino nicht gefunden.
Eine weitere Möglichkeit mit dem T7 wäre es, ihn nicht über die 
mitgelieferte Bibliothek zu steuern, sondern via Modbus (wäre mehr 
Programmieraufwand, aber immer noch weniger als beim Arduino meiner 
Einschätzung nach). Das hätte den Vorteil, dass der T7 mit geringem 
Aufwand auch durch ein Gerät eines anderen Herstellers (Modbus 
vorausgesetzt) ausgetauscht werden kann.
Deswegen spricht aus meiner Sicht viel für den T7 und auch der hohe 
Preis wäre gerechtfertigt, jedoch kann ich das mangels fehlender 
Erfahrung nicht gut einschätzen und würde mich über Feedback freuen.
Oder gibt es noch eine komplett andere Lösung, die ich noch nicht 
betrachtet habe?
VG Tobias
Gast #6980379
Lesenswert?

Tobias schrieb:
> Es geht um die Ansteuerung eines Messplatzes innerhalb eines Labors.
> ...
> Ich habe grundsätzlich zwei Ideen; entweder einen LabJack T7 oder einen
> Arduino. Bei dem Arduino bin ich skeptisch, ob diese in 10 Jahren immer
> noch verfügbar sind.
Warum willst du ausgerechnet in 10 Jahren die Ansteuerung tauschen?
Auch in 10 Jahren wird es kleine Prozessoren geben, wie sie auf Arduino 
Boards sitzen. Es gibt übrigens nicht "den Arduino".
https://store.arduino.cc/collections/boards

Für den Preis eines LabJack T7 kannst du dir ungefähr 10 bis 200 Arduino 
(kompatible) Boards auf Lager legen. Wenn es, wie du schreibst, um einen 
Messplatz geht, sollte das doch möglich sein. Nur das Programm solltest 
du dann wieder neu aufspielen, weil sich der Inhalt des 
Programmspeichers im Flash nicht ewig hält.
#6980388
Lesenswert?

Abhängig davon was für "digitale Sensoren" das sind und was für ein 
Protokoll sie verwenden würde ich sagen: nimm eine fertige 
Kleinsteuerung der Industrie.
Die bekommst du je nach Hersteller auch noch in 20 Jahren.

Ansonsten sehe ich es so wie Wolfgang. Kauf halt ein paar von den 
Dingern und lege sie auf Lager. Der Preis für das 10 Jahre einlagern 
wird den Kaufpreis deutlich übersteigen.

Je nach dem was für Motoren bzw. Sensoren es sind wirst du aber 
vielleicht auch noch eine Außenbeschaltung deines Arduino benötigen.
Eigene Platine?
Freifliegend?
Gehäuse?
Stecker?

Edit: Typo
Gast #6980405
Lesenswert?

Es kommt drauf an, wenn du es auf einem Arduino Uno implementieren 
kannst, würde ich eindeutig den Uno einem LabJack vorziehen.

Bei manchen Arduinos wäre ich mir nicht sicher was die 
Langzeitverfügbarkeit angeht, wobei dir natürlich die Möglichkeit bleibt 
2-3 Arduinos auf Lager zu legen. Den Uno wird es vermutlich noch in 
vielen Jahren geben, bzw. eine komplett kompatible Variante. Immerhin 
ist der Arduino Uno auch noch mit den ersten Arduinos vor 15 Jahren 
kompatibel.
#6980411
Lesenswert?

Aus meiner Sicht kann man beides nicht vergleichen. LabJack ist ein 
fertiges System um Ein- und Ausgänge über den PC zu steuern.

Man kann das mit Arduino nachprogrammieren. Die HW braucht man trotzdem, 
die muss man auch Entwicklen. Die ist nicht ganz trivial. Also 
Eingangsbeschaltung, Relais, Netzwerk usw. usw.

Der Entwicklungsaufwand ist relativ groß. Erst mal machen.

Daher WENN ich solche Bausteine wie LabJack für etwas brauche, dann 
kaufe ich sie. Und fange nicht an die zu bauen.
Gast #6980416
Lesenswert?

Vielen Dank für die schnellen und hilfreichen Antworten.

Wolfgang schrieb:
> Es gibt übrigens nicht "den Arduino".
> https://store.arduino.cc/collections/boards

Ein passendes Modell habe ich mir bei Arduino noch nicht rausgesucht.

Wolfgang schrieb:
> Warum willst du ausgerechnet in 10 Jahren die Ansteuerung tauschen?

Das wird natürlich nur der Fall sein, wenn die verwendete Hardware dann 
den Geist aufgibt.

MaWin schrieb:
> Es gibt sie schon 17 Jahre, und es ist kein Ende in Sicht.

Ja, aber nach meiner Information nicht die gleichen Modelle und es wäre 
in dem Fall nicht sicher gestellt, dass das selbe Programm drauf läuft. 
Oder liege ich da falsch? Es könnte ja sein, dass andere Register für 
eine bestimmte Funktion geschrieben werden müssen, das war auf jeden 
Fall mein Gedanke.

N. M. schrieb:
> e nach dem was für Motoren bzw. Sensoren es sind wirst du aber
> vielleicht auch noch eine Außenbeschaltung deines Arduino benötigen.

Also die Motoren werden über einen Treiber gesteuert und der braucht ein 
PWM Signal. Die Sensoren sind einfache Endschalter. Also das dürfte für 
einen Arduino (welcher auch immer es dann wird) kein Problem sein.

Findet Ihr denn grundsätzlich einen Arduino (z.B. ATmega 2560) als die 
beste µC-Lösung oder kennt Ihr noch andere µC, die ich mir anschauen 
könnte?
Gast #6980423
Lesenswert?

Tobias schrieb:
> aber nach meiner Information nicht die gleichen Modelle

Na ja, Uno mit 328 ist aber auch schon 15 Jahre alt. Nur den 8er gibt es 
nicht mehr zu kaufen - aber sehr wohl selbst zusammenzustecken.

Tobias schrieb:
> Findet Ihr denn grundsätzlich einen Arduino (z.B. ATmega 2560) als die
> beste µC-Lösung

Grundsätzlich ist die beste Lösung die, die zum Problem passt, über das 
du NATÜRLICH nichts schreibst.

Aber um 10 Jahre einen PC mit einer 700 EUR Erweiterung laufen zu lassen 
muss das ja schon ein sehr lang laufendes Laborexperiment sein bei dem 
Kosten keine Rolle spielen.
Gast #6980433
Lesenswert?

MaWin schrieb:
> Aber um 10 Jahre einen PC mit einer 700 EUR Erweiterung laufen zu lassen
> muss das ja schon ein sehr lang laufendes Laborexperiment sein bei dem
> Kosten keine Rolle spielen.

Es könnte ein Prüfplatz für ein Produkt sein, dessen Lebensdauer 10 
Jahre betragen sollte.
Gast #6980442
Lesenswert?

MaWin schrieb:
> Grundsätzlich ist die beste Lösung die, die zum Problem passt, über das
> du NATÜRLICH nichts schreibst.

Ich bitte um Entschuldigung. Welche Informationen fehlen Dir zu dem 
Problem? Ich wollte den Beitrag nicht in die Länge ziehen.
Wie gesagt, es geht um eine Messstation, in der die genannten 
Komponenten verbaut sind. Die Motoren verfahren einen Messtisch, der bis 
zu bestimmten Position verfahren werden soll, das erreichen der 
Positionen wird über die Endschalter erkannt.
Die Motoren sollen nach Auswahl des Benutzers über eine GUI (via C#) 
gesteuert werden. Je nachdem, ob die Endschalter aktiviert sind, müssen 
die Motoren gestoppt werden.

Es handelt sich um eine Messstation, an der im Dienstleistungsbetrieb 
Kalibrierungen durchgeführt werden.
Gast #6980475
Lesenswert?

Tobias schrieb:
> Welche Informationen fehlen Dir zu dem Problem?

Du verrätst weder etwas zu den PWM-Signalen (Frequenz (-bereich), Pegel, 
Änderungsgeschwindigkeit), noch etwas zu den Sensoren (Schnittstelle, 
Abtastfrequenz, Pegel).
Für Schlittenverstellung wären doch Schrittmotoren die einfachste Sache, 
damit der Controller direkt die Hoheit über die Position besitzt. 
Einfach Motor am Endschalter stoppen funktioniert als 
Sicherheitsschaltung, aber nicht für  saubere 
Positionssteuerung/-regelung (Systemträgheit).
Gast #6980482
Lesenswert?

Schnittstellen (nach aussen ) klar definieren.
Dann spielt es keine Rolle mehr, was  (innendrin) werkelt.
Alternative: Hardware horten - in der Hoffnung dass sie nach >10 Jahren 
noch tut. Hast halt Lagerkosten
Gast #6980496
Lesenswert?

ein PC hält auch locker 20 Jahre, man muss ja nicht eine gnadenlos 
übertaktete Gamer Kiste nehmen.

Ich hätte eher Bedenken das der Labjack so lange lieferbar ist. Und wenn 
man eine konkrete Anwendung mit spezieller Peripherie hat, dann ist eine 
eigene Platine doch sowieso sinnvoll. Arduino Software kann man ja 
trotzdem nutzen wenn es unbedingt sein muss.
Gast #6980604
Lesenswert?

Johannes S. schrieb:
> ein PC hält auch locker 20 Jahre, man muss ja nicht eine gnadenlos
> übertaktete Gamer Kiste nehmen.

Die Schwachstellen beim PC sind Massenspeicherlebensdauer, 
Schnittstellenkompatibilität und OS-Kompatibilität.
Da sieht das über 20 Jahre betrachtet ganz schlecht aus, jedenfalls wenn 
der nicht völlig abgekoppelt irgendwo ein Eremitendasein fristet und 
halbwegs 24/7 läuft.
Gast #6980635
Lesenswert?

Wolfgang schrieb:
> Tobias schrieb:
>> Welche Informationen fehlen Dir zu dem Problem?
>
> Du verrätst weder etwas zu den PWM-Signalen (Frequenz (-bereich), Pegel,
> Änderungsgeschwindigkeit), noch etwas zu den Sensoren (Schnittstelle,
> Abtastfrequenz, Pegel).
> Für Schlittenverstellung wären doch Schrittmotoren die einfachste Sache,
> damit der Controller direkt die Hoheit über die Position besitzt.
> Einfach Motor am Endschalter stoppen funktioniert als
> Sicherheitsschaltung, aber nicht für  saubere
> Positionssteuerung/-regelung (Systemträgheit).



Dir soll es ausreichend sein wenn der TO das sowohl \so\ also auch so 
lösen kann, denn Du sollst nicht sein Pflichten oder gar Lastenheft 
schreiben sondern eine Antwort geben was aus Deiner Sicht sinnvoller 
ist.

iaW da ist Erfahrung gut und nicht pedantisch bis ins letzte Detail 
nachfragen um dann doch keine Antwort liefern zu wollen.

@TO: Machs mit einem Arduino, egal ob auf AVR oder ARM-Basis und 
dokumentiere den Krempel ordentlich, schreib die SW auf einer Linuxkiste 
und packe diese Maschine in eine VM damit Du ggfs "nur" den Unterbau der 
VM austauschen kannst. BTDT und so können wir Projekte die 15Jahre alt 
sind problemlos weiterbetreuen.
Gast #6980671
Lesenswert?

MiWi schrieb:
> schreib die SW auf einer Linuxkiste
> und packe diese Maschine in eine VM

VM sind keine exklusive Linux Erfindung. Wenn man kein Linux know how 
hat, dann kann man 'sein' OS durchaus weiter benutzen. Und es gibt genug 
portable IDE Lösungen die auch einen OS Wechsel oder paralelles Nutzen 
möglich machen.

Wolfgang schrieb:
> Die Schwachstellen beim PC sind Massenspeicherlebensdauer,
> Schnittstellenkompatibilität und OS-Kompatibilität.

ein bisschen Pflege ist da schon nötig, ein Auto lässt man auch nicht 20 
Jahre ohne Wartung laufen. Backup oder Raid 0 sind auch Möglichkeiten um 
HDD Ausfällen den Schrecken zu nehmen.
Gast #6980698
Lesenswert?

Tobias schrieb:
> Im Gegensatz hat der T7 eine mitgelieferte Bibliothek, die die Steuerung
> aus einer Reihe von gängigen Sprachen ermöglicht.

...wenn du in 10 Jahren dafür noch Treiber bekommen kannst!

Wenn das System wirklich so lange laufen soll, würde ich da eine 
Trennung einziehen und dokumentieren: Simple digitale Signale für die 
Motorsteuerung und I/Os, sauber auf Klemmleiste o.ä.
Welche Steuerung da dran hängt, ist dann am Ende egal. PWM und binäre 
Signale wirst du in 10 Jahren wohl irgendwie erzeugen können. Eine 
sorgfältige Doku der Abhängigkeiten usw. wird dir auch heute schon beim 
Entwickeln helfen.

Eine Alternative wäre eine netzwerkfähige Steuerung, die eine 
Web-Oberfläche ausliefert.
Browser und TCP/IP wird es wahrscheinlich noch deutlich länger geben als 
USB Treiber Support für ein Nischenprodukt.
Gast #6981361
Lesenswert?

Johannes S. schrieb:
> MiWi schrieb:
>> schreib die SW auf einer Linuxkiste
>> und packe diese Maschine in eine VM
>
> VM sind keine exklusive Linux Erfindung. Wenn man kein Linux know how
> hat, dann kann man 'sein' OS durchaus weiter benutzen. Und es gibt genug
> portable IDE Lösungen die auch einen OS Wechsel oder paralelles Nutzen
> möglich machen.
>

Stimmt...

doch bedenke: ein schön verpacktes Linux ist auch ohne weiteres 
Lizenzgetöse in 10 Jahren in einer VM nutzbar.

Bei einem aktuellen Windows mit seinem Bedürfniss die Lizenzserver 
regelmäßig kontatkieren zu wollen bin mir mangels Erfahrung nicht so 
sicher ob das in 10 Jahren in einer VM noch zufriedenstellend läuft.
#6981678
Lesenswert?

Meiner Meinung nach sind 2 weitere Spezifikationen wichtig:
1.) welche Stückzahl
2.) Wie sind die Sensoren aufgebaut: analog oder digital

Bei Stückzahl 1 und analogen Sensoren mit hohen Anforderungen an die 
Genauigkeit ist m.E. ganz klar der Labjack im Vorteil. Ab Stückzahl 100 
und geringen oder gar keinen Anforderungen an die Analoggenauigkeit 
punktet der Arduino, aber für mehr als 12bit Analoggenauigkeit wirds 
aufwendig.
Gast #6982894
Lesenswert?

Ich würde auf den Arduino setzen. Wir haben genug proprietäre Systeme im 
Einsatz, für die es vom - noch existierenden - Hersteller keinen Support 
mehr gibt. Ein stetiger Quell der Freude...

1. OpenHardware, d.h. man kann den einzelnen Arduino im Notfall sogar 
nachbauen, solange noch Chips verfügbar sind.

2. Durch die OpenHardware existieren viele Klone, so daß die Chance 
besteht, daß zumindest noch ein Klon verfügbar ist, wenn Arduino selbst 
keine Lust mehr auf das Board hat.

3. Um ganz sicherzugehen, eine gewisse Anzahl Arduinos als ET einlagern. 
Die kosten ja nicht so viel.

4. Die Programmierung kann i.d.R. über ISP oder USB erfolgen. Wenn es 
das Budget erlaubt, dann einen einfachen PC nur für diese Aufgabe 
"wegstellen". Ebenso einen Programmer.

5. Die Arduino-IDE abstrahiert die Hardware schon ziemlich, d.h. es wäre 
vermutlich später auch relativ problemlos möglich, das Programm auf 
einen anderen Arduino zu portieren.

6. 10 Jahre sind keine uendlich lange Zeit. Irgendwann wir es ohnehin 
irgendein ET geben (kann auch im mechanischen Teil stecken), das nicht 
mehr lieferbar ist, dann ist ohnehin improvisieren angesagt.

zu 1. Ich würde auf einen Arduino mit Atmel-Chip setzen. Microchip/Atmel 
sind dafür bekannt, daß sie i.a. lange Produktlaufzeiten haben oder 
zumindest pinkompatible Nachfolgemodelle liefern.
Den 8051 gibt es ja nun schon über 40 Jahre - und auch da ist noch kein 
Ende in Sicht...
Gast #6982915
Lesenswert?

Klar macht es Spaß so etwas mit einem Arduino zu machen. Aber es scheint 
kein Hobbyprojekt zu sein sondern eine Firma will damit einen (vmtl. 
einzigen) Messplatz aufbauen um damit Geld zu verdienen. Vermutlich will 
die Firma am liebsten das ganze die nächsten 10 Jahre auch nicht mehr 
anfassen müssen. Damit sind für mich sowohl PC-basierte als auch selbst 
gebaute Lösungen raus. Wie oben bereits von jemanden anderen 
vorgeschlagen würde ich dafür eine SPS verwenden. Schau mal bei Siemens, 
Eaton und Co nach einer passenden SPS.
Moderator (Firma: Titel) Persönliche Seite #6982941
Lesenswert?

Tobias schrieb:
> einen LabJack T7
Was ist das?
Nicht, dass ich das nicht selber googeln könnte, aber letztlich ist das 
halt eine fertige Kiste mit fertigen Modulen, die auf einem heutigen OS 
mit heutiger PC-Hardware läuft.

Und genau diese Hardware musst du samt Software im Zweifelsfall als 
Backup für die nächsten 15 Jahre instandhalten und bevorraten.

> Zudem zielt LabJack ausdrücklich darauf ab, über einer langen Zeitraum
> verfügbar zu sein und hat keine Pläne die Geräte einzustellen, bevor nicht
> dessen Komponenten nicht mehr verfügbar sind
Das kann also schon morgen sein, wenn es der neuen Geschäftsleitung 
gefällt und ein Widerstand auf der Leiterplatte abgekündigt wird. 
Solnage du eine Verfügbarkeitserklärung nicht schriftlich und 
rechtssicher auf dem Papier hast (und das wirst du nicht bekommen), sind 
solche Erklärungen gut gemeinte Verkaufsargumente und unmittelbar nach 
dem Verkauf nur noch heiße Luft.


Tobias schrieb:
> Deswegen spricht aus meiner Sicht viel für den T7
Wenn du unbedingt den T7 nehmen willst, dann nimm ihn. Denn sonst wird 
bei jedem noch so kleinen Problem immer der Arduino Schuld sein.

> und auch der hohe Preis wäre gerechtfertigt
Wir verwenden für unsere Testumgebung für Fertiggeräte Beckhoff 
Panel-CPU mitsamt der darauf TwinCat-SPS, damit wenigstens die 
Testsoftware einen Generationswechsel bei der Steuerung halbwegs 
anstandslos überlebt.
Und klar ist auch, dass man da schon mal 10-20k€ für so einen Testplatz 
hinlegt...
Gast #6982973
Lesenswert?

Tobias schrieb:
> Zudem zielt LabJack
> ausdrücklich darauf ab, über einer langen Zeitraum verfügbar zu sein

Hast aber schön das PR Dokument auswendig gelernt.
Vorschlag:
Lass Dir vom Hersteller eine Garantie geben das Du die nächsten 10J 
Geräte, Ersatzteile und Support bekommst.
Vertragsstrafe 100K$
Machen die nicht?
Tja, dann ist das Geseiher nichts wert.

Garantien auf 10J Verfügbarkeit wurden mir von Kontron schon innerhalb 
des ersten Jahres gestrichen. Ab dem Datum gab es nichts. Lagerbestand 
NULL, Produkt abgekündigt, Last Time Buy fiel aus wegen ist nicht.
Da standen wir mit unseren beiden Prototypen und durften völlig neu 
anfangen. Das sind nur Worte, von Verkäufern, die Umsatz wollen.

Also entweder legst Du Dir alles für 10-20J hin, inkl. der Rechner, SW 
Dongels etc. pp. oder Du setzt auf etwas das Du komplett selbst in der 
Hand hast und jederzeit nachentwickeln kannst.
Auch Schnittstellen verschwinden mit der Zeit, Treiber laufen nicht mehr 
unter neuem OS, das alte OS läuft aber nicht auf neuer HW.
Der auf 10J projektierte Messplatz soll in ein paar Jahren nun doch noch 
drei mal gebaut werden und ist auch nach 20J doch noch okay...

Arduinos sind nur MCUs mit minimaler Beschaltung.
Nein, ich würde keinen Arduino dafür nehmen.
Ich würde mir gleich die MCU meiner Wahl schnappen und alles darum herum 
bauen.
Der Lab jack T7 ist ein Plastikbomber aus USA der mit tollen Angaben 
protzt  aber wenn Du dann selber feststellst das die Unterlagen aus USA 
oft nicht das Papier wert sind auf dem sie gedruckt wurden, stehst Du da 
und kannst nichts machen.

Definiere mal ganz genau was für Sensoren, welche Anzahl wovon, 
potentialgetrennt oder nicht.
Skizziere den kompletten Messplatz und dann weist Du was Du wirklich 
brauchst.
Und such dir nen HW Entwickler.
HW Design ist weit mehr als offensichtliche ICs hintereinander zu pappen 
und irgendwie mit Kupferbahnen zusammenzuknüddeln.
Gerade wenn Du nicht nur eine hohe Auflösung sondern dabei auch noch 
eine akzeptable GENAUIGKEIT haben willst und eine Qualität die auch 10J 
durchhält.
Gast #6983794
Lesenswert?

>Arduinos sind nur MCUs mit minimaler Beschaltung.
>Nein, ich würde keinen Arduino dafür nehmen.
Ich würde nichts mehr anderes als was Arduino-artiges nehmen. Open 
Source, Treiber gut abstrahiert, mit Sicherheit ewig verfügbar und 
selbst anpassbar.

Und wenn's um die Beschaltung geht, gibt es Adaptershields in allen 
Farben und Formen:
https://www.rugged-circuits.com/24v-industrial/24v-industrial-shield

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren