DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Frage zum Systemtakt, Kontrollleuchte für laufende Messung

Hallo Forum,
 
 
bei unserem FH-Projekt sind in unserem DIAdem-DAC MSR Programm einige Fragen aufgetreten, die wir leider noch nicht alleine lösen konnten.
 
Wir verwenden einen intel Celeron Laptop mit PCMCIA-6024E Karte und DIAdem 9.0 um an einem Motorprüfstand Kraft, Weg und Temperatursignale aufzunehmen. Die verwendete M&A Version ist die 3.1.1.3004.
 
Trotz einer unter /Einzlwertverabeitung/DefaultTakt/ eingestellten Abtastrate von 2000 Hz, werden die abgespeicherten Daten nur so gespeichert,  als würden die Werte mit 350Hz abgetastet. Es fehlen also Messwerte und unser Signal wird etwas eckig. Wenn wir die Anzahl der Messweite beim speichern auf 4000 setzen und mit 2000Hz abtasten sollte die Messung ja 2s laufen. Sie läuft aber eben deutlich länger.
 
Als zweites suchen wir eine Möglichkeit über eine große, deutlich sichtbare Lampe zu zeigen das die Messdaten gespeichert werden.
 
Ich hänge mal unsere bisherige Lösung als DAC File an.
 
Frohe Weihnachten,
Daniel Gossler 
 
 
 
 
0 Kudos
Message 1 of 7
(4,428 Views)
Hallo,

als Status-Anzeige "Daten werden gespeichert" kann man den Block "Zustand" im DIAdem DAC verwenden (DIAdem -> Dac -> Anzeige -> Zustand). Den Block könnte man z.B. folgendermaßen parametrieren:

Blockeigenschaften -> Darstellung
"Zustandsart=weitere" und "Anzahl der Zustände=2"

Blockeigenschaften -> Darstellung -> Zustände...
Nr.1 -> "Zustand bis 0.9", "Beschriftung=keine Speicherung"
Nr.2 -> "Zustand bis 2", "Beschriftung=Speicherung läuft"
plus Farbe nach Wahl

Jetzt muss man sich nur noch ein grünes Datensignal generieren, welches während der Speicherung 1 und sonst 0 ist.
0 Kudos
Message 2 of 7
(4,417 Views)
Hallo,

Hier sind noch einige Anmerkungen zum Abtastratenproblem:

DIAdem versucht eingestellte Abtastraten so gut wie möglich zu erreichen. Wenn die Abtastrate relativ hoch ist, kann es passieren, dass der Takt nicht eingehalten werden kann. Je nach Einstellung in den Messparametern wird dann einfach so schnell gemessen wie möglich oder es wird abgebrochen. Es gibt auch Fälle in denen die Einzelwerterfassung im Hintergrund noch im Takt erfolgt, die Verarbeitung der Daten hinkt aber hinterher. In solchen Fällen werden die Daten korrekt erfasst und abgespeichert, die Anzeige und Speicherung erfolgt aber etwas verspätet. Die Zeitwerte und der Messwerteverlauf sollten nach der Messung also wie erwartet aussehen.

Eine Einzelwerterfassung im Interrupt mit 2000Hz ist schon relativ schnell, könnte aber noch funktionieren. Für die Darstellung der Drehzahl wurde allerdings ein Scriptblock zum Glätten der daten benutzt, der mit großer Sicherheit nicht schnell genug laufen kann.

Für diese Messaufgabe ist es vermutlich sinnvoller, wenn die Daten im Hardwaretakt erfasst werden. Dabei kommt der Takt nicht über einen Interrupt vom PC, sondern der Timer der Karte wird genutzt und die Treibersoftware sorgt für eine Pufferung der Daten. Im Hardwaretakt kann man mit deutlich höheren Abtastraten messen. Die Berechung der Drehzahlanzeige über den Scriptblock sollte auf jeden Fall vermieden werden.



0 Kudos
Message 3 of 7
(4,384 Views)

Hallo,

wir können den Takt im Programm mit Hilfe des Hardwaretaktes steuern. Die digitale Drehzahlerfassung hat dabei im Zusammenhang mit unserer DAQ-Karte dazu geführt, das der Takt nicht verändert werden konnte.

Jetzt hat sich ein neues Problem aufgetan, nämlich wie wir das Drehzahlsignal analog messen und vorallem auswerten können. Wir benutzen eine DAQCard 6024E und der Drehzahlmesser gibt uns nur ein Rechtecksignal aus das wir dann auswerten. ( wie oben geschildert haben wir das Signal früher über einen digitalen Eingang über die DAQCard eingespeist, nur leider funktioniert diese Lösung nicht mehr mit dem Hardwaretakt). Wir haben also parallel zwei Blöcke für den Systemtakt eingeführt und zwei DAQ Eingänge. Einer ist jetzt digital, arbeitet mit Sotwaretakt und der andere nun rein analoge mit Hardwartakt. Da wir auch den Speicherblock mit dem Systemtakt verbunden haben brauchen wir nun auch zwei unterschiedliche Blöcke zum speichern der Messwerte. Ist das sinnvoll bzw. gibt es eine bessere Lösung um sowas zu vermeiden?

Außerdem kommt noch ein Fehler, dass die Messung aufgrund eines Interruptfehlers (1 bzw. 3) abgebrochen wurde.

Frohes neues Jahr und und vielen Dank für die Hilfe.

 

 

0 Kudos
Message 4 of 7
(4,342 Views)
Hallo,

ohne die Originalhardware und die Signale kann man nicht alles genau ausprobieren. Gleichzeitiges Messen von analogen Eingängen und digitalen Eingängen bzw. Zählern ist traditionell eine schwierige Aufgabe. Soweit ich den Schaltplan jetzt verstehe wird die Drehzahl über einen Zähler ermittelt, der ohnehin nicht mit 2 kHz erfasst werden sollte. Die anderen Kanäle sind analoge Eingänge, wobei die Temperaturen im MAX konfiguriert sind und bereits vom Treiber entsprechend umgerechnet werden.

Bei der ursprünglichen Messung im Softwaretakt führt das dazu, dass nicht im Interrupt gemessen werden kann und damit tritt auch kein Überlauf ein. Die Messung wird einfach so schnell wie möglich durchgeführt.

In der letzten Messung werden die analogen Eingänge im Hardwaretakt erfasst, was von der Geschwindigkeit her kein Problem sein dürfte. Der zusätzliche Zähler kann nun aber im Interrupt erfasst werden und deshalb kommt jetzt die Fehlermeldung wenn der Takt nicht eingehalten werden kann. Ich vermute dieser Eingang steht weiterhin auf 2 kHz. Eventuell kann man das Problem beheben, indem man den Zähler mit einer viel geringeren Abtastrate erfasst.

Auf jeden Fall ist eine Messung mit einem analogen Drehgeber viel einfacher, weil dann nur noch eine Anzahl von analogen Eingängen mit hoher Geschwindigkeit erfasst werden muß.

Für eine genauere Analyse müsste ich aber noch etwas genauer wissen, wie die verschiedenen analogen und digitalen Eingänge konfiguriert sind. Bei der Drehzahlmessung ist es auch wichtig zu wissen, wie das Signal genau aussieht.Wieviele Pulse kommen pro Umdrehung? Wie genau muß die Drehzahl angezeigt werden?




0 Kudos
Message 5 of 7
(4,325 Views)

Hallo,

unser Sensor gibt uns ein Rechecksignal aus bei der eine Umdrehung mit 60 Peaks aufgelöst wird. So genau müssen wir es aber gar nicht haben. Für uns sind Kräfte und der Weg wichtig. Temperatur und Drehzahl brauchen wir nur um sicher zustellen, dass wir vergleichbare Werte erzeugen.

 Wenn ich das richtig verstanden habe wäre es für uns jetzt ideal wenn wir dieses Signal analog erfassen und auswerten können. Wir sehen uns das gleich noch einmal an, aber bisher haben wir aber noch keinen Weg gefunden mit dem man so ein Signal in eine Frequenz oder Drehzahl umwandeln könnte. Gibt es da einen einfachen Weg für?

Eine alternative Lösung wäre den Eingang für die Drehzahl einfach im Softwaretakt laufen zu lassen. Dazu haben wir jetzt einen zweiten Block DAQ-Eingang erzeugt und lassen den mit Softwaretakt laufen. Das führt beim speichern halt dazu, dass unser Speicherblock meckert weil wir mit unterschiedlichen Frequenzen arbeiten. Kann man den irgendwie davon überzeugen, dass er beides erfasst oder wird das einfach zu schnell?

Vielen Dank, Saxo

 

0 Kudos
Message 6 of 7
(4,298 Views)
Hallo,

Messungen mit verschiedenen Abtastraten sind kein Problem. Man setzt zwei Taktblöcke ein und verbindet die Taktleitungen mit zwei DAQ-Eingangsblöcken und zwei Speicherblöcken. Man erhält dann zwei Gruppen von Kanälen, die jeweils ihren eigenen Zeitkanal haben.

Das Drehzahlsignal ist für diesen Zweck völlig ausreichend. Der Sensor liefert bei 2000 U/min 2000 Pulse pro Sekunde. Wenn der Frequenz-Zähler langsam genug abgefragt wird, erhält man ein relativ genaues Ergebnis. Die Temperaturen müssen aber im Hardwaretakt mitgemessen werden. Die gleichzeitige Messung von analogen Eingängen im Hardwaretakt und Softwaretakt ist auf einer einzelnen Karte nicht möglich. Zähler und digitale Inputs sind vom analogen Subsystem auf der Karte so getrennt, dass der analoge Hardwaretakt nicht gestört wird, wenn man zwischendurch Werte abholt.
0 Kudos
Message 7 of 7
(4,289 Views)