Erfahrungen mit LABJACK (U12)

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
AlterMann
Beiträge: 233
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Erfahrungen mit LABJACK (U12)

Beitrag von AlterMann »

Hallo

Hat schon jemand von euch einen Labjack-Meßadapter für die USB Schnittstelle mit Lazarus gemeinsam verwendet?

Kann jemand bestätigen (oder verneinen), ob sich der Adapter mit FPC ansprechen läßt?

angenehmen Tag
Christian
Früher war alles besser. Und aus Holz!

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Erfahrungen mit LABJACK (U12)

Beitrag von af0815 »

Allgmein: Wenn es Delphi Beispiele gibt und Linux über C (nicht C++) unterstützt wird, sieht es nicht schlecht aus.

Modbus geht mit Lazarus sowohl Linux als auch Windows.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Erfahrungen mit LABJACK (U12)

Beitrag von MacWomble »

Zumindest gibt es hier Beispiele unter Delphi:
https://labjack.com/support/software/examples/u12

Ebenfalls sind Treiber für Linux, Mac und Windows verfügbar.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Erfahrungen mit LABJACK (U12)

Beitrag von mischi »

Ich hab schon mal die header übersetzt. Wenn etwas nicht geklappt hat, lag es nicht an Pascal, sondern dass ich die Routinen falsch verwendet habe. Welchen Labjack hast du? Das Delphi-Beispiel habe ich in ein Lazarus-Beispiel gewandelt. Im eigentlichen Programm lade ich die Libraries dynamisch, damit das Programm auch laufen kann, wenn die Libraries nicht da sind.

Ein Code-Snippet:

Code: Alles auswählen

uses
  dynlibs;
 
const
  {$IFDEF MSWINDOWS}
    defaultLibPath = 'ljackuw.dll';
  {$ENDIF MSWINDOWS}
  {$IFDEF LINUX}
    defaultLibPath = 'libljacklm.so.0';
  {$ENDIF LINUX}
  {$IFDEF DARWIN}
    defaultLibPath = 'libljacklm.dylib';
    {$linklib libljacklm}
  {$ENDIF DARWIN}
 
function ljacklm_Load_Lib: THandle;
begin
  ljacklm_Load_Lib := ljacklm_Load_Lib(defaultLibPath);
end;
 
function ljacklm_Load_Lib(LibPath: string): THandle;
begin
  ljacklm_Load_Lib := LoadLibrary(LibPath);
  if ljacklm_Load_Lib = NilHandle then
    Exit;
 
  pointer(GetDriverVersion)   := GetProcedureAddress(ljacklm_Load_Lib, 'GetDriverVersion');
  pointer(GetFirmwareVersion) := GetProcedureAddress(ljacklm_Load_Lib, 'GetFirmwareVersion');
  pointer(GetErrorString)     := GetProcedureAddress(ljacklm_Load_Lib, 'GetErrorString');
  pointer(AOUpdate)           := GetProcedureAddress(ljacklm_Load_Lib, 'AOUpdate');
  pointer(AISample)           := GetProcedureAddress(ljacklm_Load_Lib, 'AISample');
 
end
Zuletzt geändert von mischi am Sa 7. Jul 2018, 08:58, insgesamt 2-mal geändert.
MiSchi macht die fink-Pakete

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Erfahrungen mit LABJACK (U12)

Beitrag von MacWomble »

Habe keinen, aber mich interessierte, was das ist ;-)
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Erfahrungen mit LABJACK (U12)

Beitrag von af0815 »

Digitale und Analoge Ein- und Ausgabe.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

AlterMann
Beiträge: 233
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Erfahrungen mit LABJACK (U12)

Beitrag von AlterMann »

Danke für die Antworten.

Ich habe (noch) keinen Labjack.
Derzeit bin ich bem Sondieren was für meine Aufgabenstellung am besten geeignet ist, und da bin ich auf diese Adapter gestoßen.

Wir haben seit Jahrzehnten XY-Schreiber an einer Prüfpresse in Betrieb, die Kraft-Weg-Diagramme aufzeichnen.

Da die Schreiber ziemlicht teuer und inzwischen häufig defekt sind, habe ich die Aufgabe übernommen das auf neue Füße zu stellen.
Die Daten sollen in der Werkstatt auf einem Bildschirm dargestellt, in meine SQL-Datenbank gespeichert und bei Bedarf ausgedruckt werden.

Da das ganze auch Leute bedienen, die nicht so Computeraffin sind, soll das natürlich so einfach wie möglich zu bedienen sein.
Deshalb schreibe ich die Software selbst und verwende kein Labview oder myOpenLab o.ä.

Es soll wahlweise ein Windowsnotebook oder ein Raspberry eingesetzt werden können. Deshalb soll die Schnittstelle zwischen A/D-Wandler und Computer möglichst universell sein.

Die differentiellen Eingänge des Labjack müßten zwar nicht sein, sind aber aus Gründen der Störsicherheit u.U. doch von Vorteil.

LG
Christian
Früher war alles besser. Und aus Holz!

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Erfahrungen mit LABJACK (U12)

Beitrag von mischi »

Im Anhang einige ganz kleine Programme, mit denen man sich Schritt für Schritt hoch arbeiten kann. Kein Lazarus, nur Freepascal.
Dateianhänge
LabJackTests.zip
(11.64 KiB) 105-mal heruntergeladen
MiSchi macht die fink-Pakete

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Erfahrungen mit LABJACK (U12)

Beitrag von Mathias »

Ich habe (noch) keinen Labjack.
Derzeit bin ich bem Sondieren was für meine Aufgabenstellung am besten geeignet ist, und da bin ich auf diese Adapter gestoßen.

Wir haben seit Jahrzehnten XY-Schreiber an einer Prüfpresse in Betrieb, die Kraft-Weg-Diagramme aufzeichnen.

Wen ich dich richtig verstehe, willst du so ein Ding kaufen, um Analog-IN-Signal am PC zu verarbeiten ?

Da könnte ich dir bestens einen Arduino mit einem/mehrere I²C AD-Wandler empfehlen. Mit dabei 16Bit genauigkeit und fast keinem Rauschen.

Wir hatten in der Firma so was gekauft: http://www.quancom.de/qprod01/homed.htm
Sau teuer aber unbrauchbar, weil viel zu starkes rauschen und viel langsamer als vom Hersteller angegeben. Und was man nicht vergessen darf, du bist vom Herstelle abhängig.

Die Arduino-Lösung, hat nicht mal 10€ gekostet. Und ist sehr flexibel.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Erfahrungen mit LABJACK (U12)

Beitrag von mischi »

Mathias hat geschrieben:Wen ich dich richtig verstehe, willst du so ein Ding kaufen, um Analog-IN-Signal am PC zu verarbeiten ?

Da könnte ich dir bestens einen Arduino mit einem/mehrere I²C AD-Wandler empfehlen. Mit dabei 16Bit genauigkeit und fast keinem Rauschen.

Wir hatten in der Firma so was gekauft: http://www.quancom.de/qprod01/homed.htm
Sau teuer aber unbrauchbar, weil viel zu starkes rauschen und viel langsamer als vom Hersteller angegeben. Und was man nicht vergessen darf, du bist vom Herstelle abhängig.

Die Arduino-Lösung, hat nicht mal 10€ gekostet. Und ist sehr flexibel.

War das Rauschen wirklich im ADC oder kam es mit dem Signal mit? Meiner Erfahrung nach, liegt es meistens am zweiten. Auch sonst sind die zwei nicht wirklich vergleichbar, denn die maximale Abtastfrequenz ist doch schon mal unterschiedlich und die macht sich auch im Rauschen bemerkbar, wenn es im Signal steckt. 10 kHz gegen 50 kHz. ADCs unterscheiden sich durchaus auch, was die Genauigkeit angeht. Bei billigen fällt da schon mal ein Wert aus oder die Kennlinie ist nicht gerade. Zugegebenermaßen ist das bei DACs häufiger ein Problem und nicht so sehr bei ADCs. Und wenn die Qualität eines billigen ausreicht, spricht ja nichts dagegen. Ich denke, dass beim Ersatz eines XY-Schreibers Auflösung und Abtastrate eher weniger ein Problem sind, Rauschen des Signals vielleicht schon eher, weil der Schreiber ein Tiefpass mit höchsten 100 Hz ist. Da kann es schon einmal ratsam sein, sich das Signal mit einem Oszi anzuschauen.
MiSchi macht die fink-Pakete

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Erfahrungen mit LABJACK (U12)

Beitrag von Mathias »

War das Rauschen wirklich im ADC oder kam es mit dem Signal mit?
Das Rauschen kam eindeutig aus der Quancom-Karte, da das Rauschen auch vorhanden war, wen man die Eingänge direkt auf GND angeschlossen hat.
Und bei den billigen ADS1115 welche am Arduino angeschlossen waren hat es nur 1-2 Digit gerauscht. Und dies bei fast 1000 Messungen/Sekunde. Die verrauschte Quancom hat nicht mal 200 Messungen hingekriegt.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Erfahrungen mit LABJACK (U12)

Beitrag von mischi »

Mathias hat geschrieben:
War das Rauschen wirklich im ADC oder kam es mit dem Signal mit?
Das Rauschen kam eindeutig aus der Quancom-Karte, da das Rauschen auch vorhanden war, wen man die Eingänge direkt auf GND angeschlossen hat.
Und bei den billigen ADS1115 welche am Arduino angeschlossen waren hat es nur 1-2 Digit gerauscht. Und dies bei fast 1000 Messungen/Sekunde. Die verrauschte Quancom hat nicht mal 200 Messungen hingekriegt.

Dann war mit dem Quancom-Zeug etwas furchtbar daneben. Mein Vergleich sind günstige USB-ADCs so um die 100 € (labjack und schlechtere) und teurere für knapp 1000 € (National Instruments, Agilent aka HP). Aber auch schon vor so 5 Jahren.
MiSchi macht die fink-Pakete

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Erfahrungen mit LABJACK (U12)

Beitrag von Mathias »

Dann war mit dem Quancom-Zeug etwas furchtbar daneben.
Dann kennst du die Dinger, inklusive der unbrauchbare Suport.
Auch laufen Karten welche vor mehreren Jahren gekauft wurden nicht mehr mit modernen OS. Einziger Vorteil von Quancom war die Delphi-Schnittstelle.

Ich weis nicht wie das mit LABJACK ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Erfahrungen mit LABJACK (U12)

Beitrag von mischi »

Mathias hat geschrieben:Dann kennst du die Dinger, inklusive der unbrauchbare Suport.
Ne. Hab ich nie verwendet
Mathias hat geschrieben:Auch laufen Karten welche vor mehreren Jahren gekauft wurden nicht mehr mit modernen OS. Einziger Vorteil von Quancom war die Delphi-Schnittstelle.
Hätte ich zunächst als ein Qualitätsmerkmal genommen und wohl genau so rein gefallen wie du.
Mathias hat geschrieben:Ich weis nicht wie das mit LABJACK ist.
So weit keine Klagen. Haben mir damit gefallen, dass sie auch Treiber für Linux und macOS anbieten.
MiSchi macht die fink-Pakete

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Erfahrungen mit LABJACK (U12)

Beitrag von af0815 »

Die Probleme beim ändern der BS Version sind auch bei großen Herstellern wie NI möglich. Habe in meinen alten Job relativ viel mit Meßkarten für die Akustik zu tun gehabt. Bei mess-Systemen ist es üblich, keine Änderung am System zu machen. Keine Updates etc. Wir haben ganz einfach MaBo, CPU, ... auf Lager gelegt für ca. 10 Jahre :-) weil die Meßkarten mal nen ISA Slot benötigt haben. Und dort Software zu schmeissen, wo etliche Mannjahre drinnen waren geht auch nicht. Waren übrigends Pascal Applikationen :-)

Aktuell ist die updatepolitik von MS bei Windows 10 ein Problem. Die haben schon mit den Updates HW und Treiberkompatibilität zerstört. Voriges Jahr sind Kameras mit 4K mehre Monate nicht mit voller Auflösung gelaufen weil MS änderungen wegen Hello gemacht hat, was die Treibersschichten einger Hersteller zerstört hat. Alle Treiber und Updates wurden aber zwangsweise über MS-Update ausgerollt. Mit sowas kannst du ganz leicht bei Kunden aus der Listung fallen und man kann nichts (mehr) dagegen machen.

Man kann die Devices mit den Treibern nur testen und dann Augen zu und durch. Aktuell ist Linux IMHO besser, weil du ein solches System von 'unwanted' Updates besser schützen kannst. Die HW kann man sowieso nur testen und die Applikationsvorschläge der Hersteller ernst nehmen. Erdungen, Masseschleifen etc. Man kann sich über eine Ethernetschnittstelle auch ungewollte Pegel einfangen, durch WIFI und USB Einstreuungen. Das kann aber nur Messen und prüfen in der eigentlichen Applikation.
Ich habe noch immer Trenntrafos bei mir :-) auch für PC und Versorgung kann sowar im Analogbereich zum mtesten hilfreich sein.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten