Seite 1 von 1

API Skalierungsfaktor

Verfasst: Fr 27. Apr 2012, 13:11
von sbi
Hallo,

ich versucher zur Zeit aus einer Applikation heraus die Daten meines K6D mit dem GSV3USBx2 auszulesen. Ich musste feststellen das die gemessenen Werte um den Faktor 5 zu klein sind was genau dem Skalierungsfaktor entspricht der hier http://www.me-systeme.de/docs/de/basics/kb-display.pdf beschrieben ist. In der GSV-Multichannel Software lässt sich der Faktor einstellen, mir ist jedoch nicht klar wie ich das über die API erreichen kann.

Es existieren verschiedene Funktionen wie

GSVsetScale
GSVwriteScale
GSVgetScale

jedoch schein keine geeignet zu sein um damit den Skalierungsfaktor zu setzen? Generell ist mir nicht klar wo der Unterschied zwischen der set und write Funktion ist, und warum eine set-Funktion keinen Parameter annimmt der gesetzt werden soll.

Viele Grüße

Re: API Skalierungsfaktor

Verfasst: So 29. Apr 2012, 10:25
von Kabelitz
Hallo,

die Funktion "GSVsetScale" ist in der Tat nicht geeignet.
Diese Funktion bedient eine Autoscale Funktion des AD-Umformers in den Geräten GSV-2. Nicht in GSV-3.

Zwischenfrage: Dann benutzen Sie 3 Stück GSV-3USBx2 für den 6-Achsen-Sensor? Das funktioniert, wir haben aber auch 8-Kanal Geräte GSV-1A8USB...

Die Funktion die Sie suchen, heisst GSVsetNorm / GSVgetNorm. Diese speichert einen Skalierungsfaktor im EEProm des Messverstärkers.
Sie müssen aber die Messwerte, die Sie mit GSVread auslesen, noch mit diesem Faktor multiplizieren.

Also: in der Initialisierung Ihrer Software bitte einmal "GSVgetNorm" ausführen.

Der Betrag des Faktors hängt auch davon ab, wie die Kalibriermatrix aufgestellt ist.
Infos zur Matrix gibt es auch hier:
http://www.me-systeme.de/de/manuals/a5/ba-k6d.pdf

Faktor 5 ist aber plausibel, wenn die Kalibriermatrix für GSV-1A8USB aufgestellt wurde, und jetzt nur GSVread angewendet wurde bei GSV-3USB.

Tipp: Setzen Sie den "Normierungsfaktor" am besten mit der Software GSVControl. Probieren Sie nicht, das Format für den "Normierungsfaktor" zu verstehen.
Im Notfall sende ich Ihnen ein Programmierbeispiel, in den CodeSnippts im Forum scheint es nicht zu sein.

Viele Grüße

Re: API Skalierungsfaktor

Verfasst: Mi 2. Mai 2012, 13:27
von sbi
Hallo,

zunächst: Ich habe hier einen GSV-3A6 USB Messverstärker, mein Fehler.

Die Funktion GSVsetNorm / GSVgetNorm konnte ich in der API (http://www.me-systeme.de/docs/de/manuals/ba-megsv.pdf) nicht finden. Sie meinen vermutlich die GSVDispSetNorm bzw. GSVDispGetNorm?

Also: in der Initialisierung Ihrer Software bitte einmal "GSVgetNorm" ausführen.

Passiert im Hintergrund mehr als nur die Ausgabe des Wertes? Wenn nein, was bringt der Aufruf dann bei der Initialisierung? Wenn ja, was geschieht genau?

Vielen Dank

Re: API Skalierungsfaktor

Verfasst: Di 10. Jul 2012, 20:19
von Sebastian Wetz
Hallo,

zunächst:
Sie haben richtig vermutet, die Funktionen der megsv.dll heißen DispSetNorm zum Setzen und DispGetNorm zum Auslesen. Beim Setzen wird er im GSV-3 (bzw im GSV-2) nichtflüchtig gespeichert und beim Lesen daraus ausgelesen.

Nun muß bei Verwendung der Funktionen GSVread oder GSVreadMultiple der megsv.dll der Messwert, der in der Initalisierung des Anwendungsprogramms mit DispGetNorm ausgelesen wird, mit dem Skalierungsfaktor multipliziert werden, da diese Funktionen alle Messwerte in Bereich von -1,05 bis +1,05 anzeigen (bei unipolar von 0 bis 1,05). Die Messwerte werden also von der megsv.dll stets normiert auf 1 (d.h. unnormiert) kommuniziert. Daher kann man den Skalierungsfaktor (in Ihrem Fall 5) auch per Anwendungsprogramm speichern bzw verwalten und auf die Verwendung von DispSetNorm und DispGetNorm verzichten.
Allerdings benötigt der Messverstärker diesen Wert ggf auch selbst, und zwar
1. Bei Benutzung des ASCII-Messwertprotokolls. Hierbei werden vom Messverstärker selbst fertig normierte Messwerte übertragen (übrigens: Die megsv.dll entnormiert diese dann wieder, damit das Leseergebnis der GTSVread STETS auf 1 normiert ist und o.g. Zusammnehang stets gilt).
2. Bei Verwendung eines GSV-2 Messverstärkers mit Display.

Außerdem kann im allgemeinen (nicht beim K6D-Sensor) mit diesem Skalierungsfaktor ein Sensor kalibriert werden. In diesem Fall ist es meistens günstiger, den Faktor im Messverstärker zu speichern, insbesondere, wenn der Sensor fest mit dem Messverstärker verdrahtet ist.

Gruß
S. Wetz