Zu schnelles Digitales Signal - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Zu schnelles Digitales Signal (/Thread-Zu-schnelles-Digitales-Signal) |
Zu schnelles Digitales Signal - deicebear - 01.09.2010 08:21 Hallo, mein einer digitaler Eingang, ein normales ON/OFF, True/False-Signal, flankt manchmal zu schnell, so dass LabView mit mir meckert und die DAQ-Dose quittiert werden möchte. Gibt es eine möglichkeit dies zu verhindern, oder ein Eingangssignal eine gewisse zeit zu Halten? Meine Version istlv85und das meiste in englisch. Danke für eure Tipps. Zu schnelles Digitales Signal - GerdW - 01.09.2010 08:24 Hallo deicebear, "LabView mit mir meckert und die DAQ-Dose quittiert werden möchte" Kannst du das mal genauer erläutern und evtl. mit einem VI verdeutlichen? Was ist eine DAQ-Dose und wo quittiert man die? Was "meckert" LabVIEW genau? Zu schnelles Digitales Signal - deicebear - 01.09.2010 10:55 Hallo GerdW, vielen Dank für Deine schnelle Antwort und Deiner Anteilnahme. Ich habe mal ein Beispiel vi85 erstellt (im Anhang). Hier simuliere ich den Fehler mit einem digitalen Ausgangssignal, es ist der selbe Fehler wie bei einem digitalen Eingangssignal welches zu schnell schaltet. Mit DAQ-Dose meinte ich die USB-Box und das damit verbundene VI "DAQ-Assistent". Mit Quittieren meine ich, die wahl zwischen Continue oder Stop der Error-Meldung. Wenn man in meinem BeispielVI den Startknopf betätigt, wird dieser sofort wieder auf FALSE gesetzt, allerdings meckert das DAQ-Assistenten VI mit einem Error (siehe PNG-Bild im Anhang). Gibt es da einen Trick dies zu verhindern? Ich würde bei mir im Programm nämlich gerne solche Schalter, die sich automatisch rückstellen, verwenden, ebenso auch schnell schaltende Eingänge berücksichtigen können, falls ein solcher mal ungeplant auftreten sollte. Meine LabVIEW Version ist die 8.5.1 in dt/eng Zu schnelles Digitales Signal - jg - 01.09.2010 11:07 ' schrieb:Mit DAQ-Dose meinte ich die USB-Box und das damit verbundene VI "DAQ-Assistent".Scherzkeks, sag bitte genau, welche DAQ-Hardware du verwendest! Gruß, Jens Zu schnelles Digitales Signal - Y-P - 01.09.2010 19:33 : Lieber so, als sich egoistisch in der Abwehr des Gegners festzulaufen. Gruß Markus ' schrieb:flankt manchmal zu schnell Zu schnelles Digitales Signal - GerdW - 01.09.2010 19:43 Hallo deicebear, an einer genauen Fragestellung musst du aber noch arbeiten... "Gibt es da einen Trick dies zu verhindern?" Ja. Ich unterstelle mal, das mit USB-Box eine USB-6008 o.ä. gemeint ist. Die sind recht langsam - und können garantiert nicht so schnell wie deine Whileschleife (ohne Wait-Statement!) laufen. Hast du schon mal daran gedacht, der Fehlermeldung zu folgen und in deiner Schleife ein Wait einzubauen? Wenn du nur alle 10ms einen Wert rausgibst, wird die USB-Box nämlich recht happy darüber sein und kooperativ mitarbeiten Genereller Tipp: Immer mal wieder die Manuals zur verwendeten Hardware lesen... Zu schnelles Digitales Signal - deicebear - 02.09.2010 08:57 Ihr könnt einen aber auch vollkommen entrüsten Also ich benutze, für das Signal in meinem Beispiel VI, ein USB-6525 mit 8 Ein- und 8 Ausgängen, hätte aber auch noch eine PCI-6220 im Rechner bereits installiert. Nach einem Wait habe ich auch schon gesucht, habe aber nur ein Halteglied gefunden, welches in der Basisversion nicht verfügbar ist. Dachte mir, ich kann so zumindest die Eingänge glätten, aber wenn es eh an der Schnittstelle liegt, ist es ja rein theoretisch von der Programmseite aus, per Halteglied, ohne beeinflussung. Wo finde ich denn ein Wait, ich habe jetzt mal diese Clockuhr "Wait Until Next" benutzt und selbst bei 350ms kommt der Fehler noch ab und an (siehe PNG im Anhang) und könnte mir vielleicht wer zeigen wie man das "Wait" verwendet? Habe es auch im PNG mit drin. Offtopic: Das komische bei meinem eigentlich Programm ist, ich benutze die "Wait Until Next" benutze und auf 10 ms stellke, dann läuft das Programm dennoch mit mehr als 10ms, ist ja auch logisch, es brauch ja eventuell eine mindestzeit für das gesamte Program. Allerdings wird mein Programm immer langsamer, für 500 Zyklen braucht es ca. 1 Min und 5 Sek. bei 1000 Zyklen bin ich schon bei 2 Min. 50 Sek. - Gut, aber das gehört nicht in diesen Thread hier, glaube es liegt an einem Array was dauernd per Schieberegister erweitert wird, falls wer nen Tipp hat, wo man da nach dem Fehler suchen kann. Vielen Dank für eure Antworten schonmal und entschuldigt meine Art wie ich einiges Beschreibe |