Hallo,
Ich habe im Moment ein grundsätzliches Problem mit einer Aufgabe. Ich nehme über eine serielle Schnittstelle ein Signal auf und verarbeite es dann weiter. Nun soll die vorliegende serielle Schnittstelle erst dann gestartet werden wenn ein analoger Trigger auslöst. Ich weiß im Moment leider nicht wirklich wie ich da ran gehen soll und wollte deswegen um eine kleine Starthilfe bitten.
Gruß
Samuel
Hallo samuel,
soll die serielle Schnittstelle wirklich erst mit dem Trigger "gestartet" werden? Oder würde es nicht auch ausreichen, erst ab dem Trigger die ankommenden Daten zu verarbeiten/speichern?
Hallo Gerd,
im Endeffekt habe ich beides. Ich habe ein analoges Drehzahlsignal welches die serielle Schnittstelle startet. Die serielle Schnittstelle nimmt eine Kraft Fz auf. Ein weiteres analoges Signal erfasst die Z-Position. Sobald die Z-Position eine gewissen wert überläuft soll die Datenaufnahme des seriellen Signals also der Kraft Fz starten.
Gruß
Hallo samuel,
Zitat:Ich habe ein analoges Drehzahlsignal
Du hast also ein (NI-)DAQmx-Gerät, mit welchem du eine Drehzahl analog misst.
Zitat:Die serielle Schnittstelle nimmt eine Kraft Fz auf.
Über die serielle Schnittstelle liest du ein zweites Signal (Kraft) aus.
Zitat:Ein weiteres analoges Signal erfasst die Z-Position.
Wieder zurück zum DAQmx-Gerät, welches dir ein drittes Signal (Winkelposition?) liefert.
Zitat:Sobald die Z-Position eine gewissen wert überläuft soll die Datenaufnahme des seriellen Signals also der Kraft Fz starten.
Sehe ich es immer noch richtig, wenn ich dir nahelege, nicht "die serielle Schnittstelle zu starten" (d.h. die Daten
aufnahme), sondern einfach die Daten
auswertung zu starten?
PseudoCode:
Code:
IF Z > Limit THEN
nutze aktuellen Wert von F
ELSE
nutze nicht den aktuellen F-Wert
ENDIF
Hallo Gerd,
vielleicht reden wir gerade ein bisschen aneinander vorbei oder ich habe mich falsch ausgedrückt. Aber bei dem ersten Trigger soll via VISA die serielle Schnittstelle den Befehl erhalten "Messung starten". Die Hardware an der seriellen Schnittstelle ist also an aber erst mit dem Trigger wird der Befehl gesendet Messung starten.
IF Drehzahl > LIMIT then
sende Befehl für Messung starten an Hardware
Wenn dann im gestarteten Zustand die Z Position erreicht ist sollen die Messdaten ausgelesen und gespeicehrt werden.
Gruß
Nochmal ein Edit: NUR der Befehl MESSUNG STARTEN wird via SERIELLER SCHNITTSTELLE an die Hardware gesendet. Das eigentliche Messsignal wird dann analog von der Hardware ausgelesen wenn die Z Position erreicht ist.
Hallo samuel,
Zitat:Ich nehme über eine serielle Schnittstelle ein Signal auf und verarbeite es dann weiter.
Zitat:...oder ich habe mich falsch ausgedrückt.
Scheint so:
Zitat:NUR der Befehl MESSUNG STARTEN wird via SERIELLER SCHNITTSTELLE an die Hardware gesendet.
PseudoCode:
Code:
repeat
until Drehzahl > LIMIT
sende Befehl für "Messung starten" per RS232
repeat
until Z Position erreicht
Lese Messdaten
Speichere Messdaten
Mal im Ernst:
Du redest dauernd von "Hardware", ohne irgendeine Info darüber herauszurücken. Ohne konkrete Fragen gibt es auch keine konkrete Antwort. Der PseudoCode sollte also alles beinhalten, was du brauchst...
Hallo,
sry wusste nicht das es relevant ist. Die Kraft wird über ein Kistler 5015 Modul ausgelesen. Das Kistler Modul hängt an einer Kraftaufnehmerplatte. Zur Drehzahl und Wegmessung weiß ich selbst nur analog. Frage da aber nochmal nach.
Wie gesagt mir geht es darum, dass ich nicht weiß wie ich den Trigger vom Analogsignal so hinbekomme, dass er das Schreiben mittels VISA auslöst. Ich kann mir das in LV nicht wirklich vorstellen. Weißt du was ich meine?
Danke
Hallo samuel,
du solltest auch noch klären, wie und mit welcher Hardware du deine analogen Signale in den Rechner ("dein Programm") bekommst. Erst dann kann man sagen/anraten, wie man einen Trigger für das Analogsignal programmiert! Der Kistler5015 ist "nur" ein (Ladungs-)Verstärker...
Wie schon gesagt: keine Informationen, keine Antworten...
Hallo Gerd,
und danke für die Antwort. Da ich dieses Jahr diesbezüglich keine Ansprechperson mehr habe gehe ich davon aus, dass zur Verarbeitung des analogen Signals eine PCI-MIO-16 genutzt wird.
Brauchst du sonst noch irgendwelche infos?
Gruß samuel
Hi samuel,
die PCI-MIO16 gab es in verschiedenen Varianten, NI nennt mindestens 2 Vergleichstypen bei einer Google-Suche: PCI6011/MIO16XE50 und PCI6040/MIO16E1…4. Ohne genaue Informationen keine genauen Antworten...
Zitat:wie ich den Trigger vom Analogsignal so hinbekomme, dass er das Schreiben mittels VISA auslöst. Ich kann mir das in LV nicht wirklich vorstellen.
Da die serielle Schnittstelle eher langsam arbeitet, wird wohl eine einfache Schleife ausreichen:
Code:
repeat
read 1 sample from analog input
until sample > limit
send cmd to serial port
Programmiere das erst einmal und teste, ob es für dich ausreicht.
Über Sampleraten, zu detektierende Signale etc. hast du ja bisher auch noch nichts verraten: ohne genaue Informationen keine genauen Antworten. Hatte ich das schon einmal gesagt?