|
schnellste Messdatenerfassung?!?
|
|
30.07.2010, 11:52
Beitrag: #16
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Ab Seite 92 sind die einzelnen Fkt. der 1408 Karte beschrieben:
----- USB-1408FS The USB-1408FS supports the following UL and UL for .NET features. Analog input Analog input functions and methods supported UL: cbAIn(), cbAInScan(), cbALoadQueue(), cbFileAInScan(), cbATrig() UL for .NET: AIn(), AInScan(), ALoadQueue(), FileAInScan(), ATrig() Analog input argument values Options BACKGROUND, BLOCKIO*, CONTINUOUS, EXTCLOCK, EXTTRIGGER, NOCALIBRATEDATA, RETRIGMODE**, and SINGLEIO * USB-1408FS packet size based on Options settings are as follows: Device Options setting Packet size USB-1408FS BLOCKIO 31 SINGLEIO 1 ** RETRIGMODE can only be used with cbAInScan()/AInScan(). HighChan 0 to 7 in single-ended mode 0 to 3 in differential mode Count In CONTINUOUS mode, Count must be an integer multiple of the packet size. Rate 48 kHz maximum for BLOCKIO mode. The throughput is system dependent. Most systems will be able to achieve 40 kHz aggregate. Best results are obtained when using Windows XP or Windows Vista. When using cbAInScan() or AInScan() the minimum sample rate is 1 Hz. Range Single-ended mode: BIP10VOLTS (± 10 V) Differential mode: BIP20VOLTS (± 20 V) BIP2PT5VOLTS (± 2.5 V) BIP10VOLTS (± 10 V) BIP2VOLTS (± 2 V) BIP5VOLTS (± 5 V) BIP1PT25VOLTS (± 1.25 V) BIP4VOLTS (± 4 V) BIP1VOLTS (± 1 V) Pacing Hardware pacing, internal clock supported. External clock supported via the SYNC pin. Triggering Trigger functions and methods supported UL: cbSetTrigger() UL for .NET: SetTrigger() Trigger argument values TrigType TRIGPOSEDGE and TRIGNEGEDGE External digital (TTL) hardware triggering supported. Use the Trig_In input for the external trigger signal. -------- Auf der dritten Seite ( also 95) wird dann auf das Auslesen eines arrays eingegangen, da muss man die korrekte Groesse angeben... Gefunden ? |
|||
|
30.07.2010, 14:36
Beitrag: #17
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Hallo detlef,
die Beschreibung zur 1408 hatte ich schon gefunden. Allerdings funtioniert es nicht unbedingt so wie es soll. Die größten Probleme habe damit das nur ein "Real32" Array übergeben werden kann, die Meßwerte aber Int16 Werte sind. Gruß Peter |
|||
|
31.07.2010, 05:43
(Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2010 05:45 von detlef.)
Beitrag: #18
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Stell doch mal dein Programm hier rein, und mach mal einen Screenshot von deinem Output. Leider hab ich die Karte nicht, um damit rumzuspielen. Aber wenn ich das Help File richtig verstehe, muss man in bestimmten Situationen ein Array oder Datenmaske vorgeben um abhaengig von der Datenrate etc. die richtige Zuordnung zu erhalten.
Und wenn dann die Werte nicht die richtigen Formate haben, kann man mit UL-Funktionen umwandeln. Dazu gibt es die MccServices oder Datalogger -NetClasses. Desweiteren gibt es eine TOENG Funktion, um Werte von 0 bis 4095 in Volt umzurechnen. Ich hab mal die aktuelle CD zur Universal Library runtergeladen, die Hilfe Datei (*.chm) ist dort besser als das PDf file . Allerdings ist die mccdaq.dll Version 1.3.13.0. Wenn man die Vee Beispiel runterlädt, ist da die Version 1.4. Aber das hattet ihr ja schon. Vielleicht ist Bratbaecker da schon mit einer Loesung- wenn man die Umwandlungsfkt. der UL benutzt? |
|||
|
31.07.2010, 09:03
(Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2010 09:30 von Bratbaecker.)
Beitrag: #19
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Moin,
die Karte habe ich auch nicht, aber die Versuche ein Int Array auszulesen habe ich mit dem Demo-Board geschafft. Wie gesagt geht es mit der DLL Version 1.4 und dem Beispiel AinScanMultiChannelUnscale.vee Die Formel zum Umwandeln in Volt ist (Word/65535*Range)-(Range/2) jedenfalls beim Bipolarmode Gruß Bratbaecker |
|||
|
01.08.2010, 07:18
(Dieser Beitrag wurde zuletzt bearbeitet: 01.08.2010 08:03 von detlef.)
Beitrag: #20
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Frage an Bratbaecker: Demoboard, ist das eine Hardware, die du hast, oder ist das ein virtuelles Board?
Und an How2V: Und tut es jetzt mit mccdaq 1.4 bei dir? Welches von den angehaengten Vee Prg. laeuft? Sonst gibt es noch viele Tips hier: ftp://ftp.measurementcomputing.com/downl.../AppNotes/ Habt Ihr aber sicher schon alles..... |
|||
|
01.08.2010, 10:09
Beitrag: #21
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
@ detlef, Das Demo-Board ist ein virtuelles Board, das sich mit Instacal aufrufen läßt (add).
Gruß Bratbaecker |
|||
|
01.08.2010, 11:23
Beitrag: #22
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
jou, hab ich jetzt auch gefunden...man muss sich halt durch die Hilfen lesen ;-)
Ich werd das jetzt mal so machen wie du schon gemacht hast. Bei den Eingaben von AIN gibt es die int16, UINT16 , die INT32 und Uint32 Moeglichkeit. Werd mal checken, was da mit dem demoboard und der alten mccdaq lib geht... |
|||
|
02.08.2010, 15:26
Beitrag: #23
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Hallo detlef, hallo Bratbaecker,
Ihr hängt euch ja mächtig rein ! Das 1408 Board habe ich im Moment nicht mehr da (ist beim Kunden). Ein neues wird aber die nächste Zeit geordert. Im Moment noch vorhanden ist ein 1208LS, das macht ähnliche Probleme. Die Samplingrate dieses Boards ist zudem wesentlich geringer. Als Workaround wurde anstelle mit Netzhalbwellen (100Hz) nur mit Netzvollwellen (50Hz) gearbeitet, zudaß die vier Messungen im "Single" Modus funktionieren. Die Beispielprogramme von measurement-computing laufen ja komischerweise, aber wenn ich das Beispiel in mein Programm einkopierte, will er die Variable "Serviceinvoke" nicht kennen (Screenshot), obwohl ich in meinem Programm die gleiche dll angezogen habe. |
|||
|
02.08.2010, 16:04
(Dieser Beitrag wurde zuletzt bearbeitet: 02.08.2010 16:07 von Bratbaecker.)
Beitrag: #24
|
|||
|
|||
RE: schnellste Messdatenerfassung?!?
Zitat:Die Beispielprogramme von measurement-computing laufen ja komischerweise, aber wenn ich das Beispiel in mein Programm einkopierte, will er die Variable "Serviceinvoke" nicht kennen (Screenshot), obwohl ich in meinem Programm die gleiche dll angezogen habe.Wie hast hast du die angezogen ? Auf Links ? (kleiner Scherz)Du mußt in deinem Programm die neue MccDaq.dll mit dem .NET Assembly References mit browse hinzufügen, sonst kannst du die neuen Assemblies nicht aufrufen. Siehe dazu auch in den Function & Object Browser -> .NET/CLR Objects-> MCCDaq-> {} MccDaq->ServiceInvoke ob die Funktionen dort stehen. Nur so stehst du nicht nackig da
Gruß Bratbaecker |
|||
|
02.08.2010, 16:26
Beitrag: #25
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Hallo Bratbaecker,
mit "obwohl ich in meinem Programm die gleiche dll angezogen habe" meinte ich, das mein Programm bereits die Version 1.4 über .NET Assemble References "angebunden habe. ServiceInvoke steht auch im Function & Object Browser. Aber der Tipp (scheiß Rechtschreibreform !) war gut. Habe gerade festgestellt, wenn ich in meinem Programm vor jede Variable die er nicht kennen will (und das sind einige) noch "MccDaq." davorschreibe dann funktionierts. Ich versteh' nur nicht warum das Beispielprogramm ohne murren läuft ? Wenigstens ist in diesem Beispielprogramm (AInScanMultiChannelUnScaled) das mit dem Buffer und den Int16 Werten schlüssig. Ich werd' morgen mal probieren das einzubauen, jetzt in erst mal Feierabend, man sollte rechtzeitig in einer "Euphoriephase" schluß machen dann hälts länger bis zur nächsten "Ernüchterung". Gruß Peter |
|||
|
02.08.2010, 16:37
Beitrag: #26
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Grundsätzlich sollte man die DLL auch registieren, damit Windows sie einbindet. Siehe einige Post's zuvor.(ob das gegnügt, weiß ich aber auch nicht ?)
Grundsätzlich solltest du hier nicht einfach die Syntax kopieren, sondern über den Object-Browser die Funktion aufrufen. Gerade wenn mehrere gleichnamige DLL's im Spiel sind, kann der Aufruf dann anders aussehen. Das Problem hatte ich auch schon öfters. Gruß Bratbaecker |
|||
|
02.08.2010, 17:57
(Dieser Beitrag wurde zuletzt bearbeitet: 03.08.2010 12:54 von detlef.)
Beitrag: #27
|
|||
|
|||
|
RE: schnellste Messdatenerfassung?!?
Ich glaube, du hast die Einbindung der mccdaq.dll nicht so gemacht, wie es in dem Beispielprogramm gemacht wurde. DESHALB konnte er die Funktionen nicht finden. Erst via Menue/ Device / .Net Assembly Reference einbinden:
Dann den Namespace zuweisen: Schliesslich via .NET OPERATION BUILDER einfuegen... Das sieht dann so aus: Wenn das Assembly dann nicht diese "Hilfe" unterstuetz ( alle windows assemblies duerften das Unterstuetzen, die MCCDAQ nicht), bekommt man eine Fehlermeldung. Dann muss man via FOB ( Function & Object Browser) einbinden: In einigen Beispielen wurde dies nicht so gemacht, sondern via declare variable und dem .net object definiert. Den Unterschied sieht man dann in der Deklaration, einmal mit .net Object, einmal ohne. @Bratbaecker: Es ist davon unabhaengig, ob windows die Assembly kennt. Man weist ja selber die Datei in VEE zu. Bei How2v fehlte wohl nur das Haekchen beim Namespace, deshalb musste er ueberall mccdaq noch davorschreiben. Man kann ohne Probleme die mccdaq.dll umbenennen und 2mal einbinden, also die alte und die neue Version. Man muss nur bei den Namen aufpassen, dass diese nicht identisch sind. Haeufig benutzte ich den System Namespace, da wird es dann muessig, alles mit system davorzuschreiben...mit der Einbindung des Namespaces macht VEE das dann alles automatisch... |
|||
|
|

Suche
Mitglieder
Kalender
Hilfe




Auf Links ?
(kleiner Scherz)