Hallo zusammen
Mein Programm geht nach einer Datenerfassung in einen "Wartezustand".
In diesem Zustand wartet das Programm auf den nächsten Starttrigger für eine erneute Datenerfassung. Die Wartezeit beträgt ca. 30-60min.
Das Triggersignal habe ich auf einem DIO Kanal und mache ein SW-Timed Polling. Ähnlich dem Beispiel im Examplefinder "Digital Input SW Timed Input".
Meine Frage ist nun. Kann das Polling von dem DIO irgendwie umgangen werden? Interrupts, Events auf Flankenwechsel etc....
Für ein Beispiel wäre ich sehr dankbar....
Gruäss Bruno
Hallo Bruno,
wenn du über einen Digitaleingang einen Impuls bekommst, auf den du triggern willst, wirst du wohl um´s Polling nicht umhinkommen, zumindest in diesem VI. Dieses Ereignis kannst du dann an andere Programmteilnehmer (VIs) natürlich per Melder, Queues o.ä. weiterleiten, damit die nicht auch pollen müssen. Zudem musst du dir einen für deine Zwecke ausreichenden Timeout wählen - wenn also einmal pro s reicht, musst du ja nicht mit 10ms pollen.
Und wenn einmal pro Minute reicht, dann zerhacke diese Minute entweder in kleinere Einheiten oder mach die Wartezeit über eine Melderwartefunktion mit entsprechendenm Timeout von einer Minute abbrechbar.
Gruß, Marko
Gibt es auch alternativen zum Polling? So eine Art Interrupt auf DIO.
Das SW-Timed Vi ist nicht zwingend nötig.
Das hängt von der verwendeten DAQ-Hardware ab.
Es gibt durchaus NI-DAQ-Karten, die ein "Digital-Start-Signal" direkt verarbeiten können.
Entsprechende Beispiele gibt es im NI Example Finder.
Gruß, Jens
Ich habe eine ni usb 6351 XSerie Messkarte.
Im Example habe ich schon nachgeschaut. Da finde ich Beispiele mit einem Trigger. Aber bei Wartezeiten von bis zu 60min kommt doch ein Timeout Errror.
(10.02.2014 13:45 )tschibi schrieb: [ -> ]Aber bei Wartezeiten von bis zu 60min kommt doch ein Timeout Errror.
, das weiß ich auch nicht im Detail. Beim richtigen Bsp warst du, genau das meinte ich. Ist natürlich schon extrem, mehr als 30 min Wartezeit.
Hast du Erkenntnisse über eine max. Wartezeit, die ohne Timeout Error funktioniert?
Mögliche Idee: Der Timeout-Error wäre ja ein erwarteter Fehler, also Abfangen und getriggerte Datenerfassung einfach nochmal anstarten. Irgendwann geht es dann.
Gruß, Jens