![]() |
Digitale Eingänge vergleichen und Wert ausgeben - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Digitale Eingänge vergleichen und Wert ausgeben (/Thread-Digitale-Eingaenge-vergleichen-und-Wert-ausgeben) |
Digitale Eingänge vergleichen und Wert ausgeben - Schwand - 26.05.2010 09:35 Hallo Chri, das erste Daqmx-Vi erstellt einen Task mit den gewünschten Hardwareeingängen, der dann von den nachfolgenden Daqmx verarbeitet werden kann. Dabei können verschiedene Eigenschaften des Signals (zB digital/analog) festgelegt werden. Das zweite startet dann den Task, der hinter der Whileschleife wieder beendet wird. Diese beiden sind nicht unbedingt für alle (Mess-)aufgaben notwendig, ich baue sie aber meist mit ein. (Statt des Stop-Vi kann man auch das Erase Task-Vi nutzen) Die sollten dann auch ausserhalb der Schleife sein, da sie bei komplexeren Programmen Rechenzeit kosten (können). In der Schleife werden dann die Signale/Eingänge ausgelesen Das Array beeinhaltet die Werte der Eingänge, da können auch mehr rein. Dann musst du vorne (bei DAQmx Create Channel) allerdings auch mehr Eingänge auswählen. Die Schleife wird entweder beendet, wenn beide Signale 1 sind, also kein Fehler vorliegt, oder wenn der Quittierenknopf gedrückt wird. Dann wird auch gleichzeitig die Fehlerled zurückgesetzt. Gibt sicher elegantere Lösungen, aber als Inspiration reicht es ja vielleicht. Digitale Eingänge vergleichen und Wert ausgeben - Chri - 28.05.2010 19:33 Hallo again, vielen Dank für die Erklärung, war echt hilfreich! Habe nun versucht, die Schaltung zu ergänzen, jedoch denke ich das meine Ausgabe so nicht funktioniert ![]() Habe bei der letzten Schaltung zu ergänzen versucht, dass die Quittierfunktion nicht über einen Button erfolgt, sondern über einen Knopfdruck eines Schlüsselschalters funktioniert bzw. einließt. Nun die Frage, kann das so funktionieren mit dem links unteren Kanal? Also das ich den Knopf drücke und er dann eben quittiert (Werte zurücksetzt) Was dann eben gar nicht geklappt hat war die Ausgabe. Wollte den Wert des Vergleichs über eine externe 2 Farbenlampe ausgeben. Jede Farbe hat einen eig. Kontakt im Schaltkasten. Also bei Fehler soll rot leuchten, bei erfolgreichen Vergleich die Grüne. Nur funkt die Ausgabe so nicht wie ichs mir gedacht habe.. Kann mir da wer vl. zeigen wie ich diesen Output am besten aufbaue? Nun noch ein Punkt, wenn ich das ganze per Tastendruck eines Schalters starten will, einfach eine Schleife drüber ziehen wo am Ausgang gewartet wird ob der Stop- Knopf gedrückt wird oder? Habe meine Frage bestmöglich in der Schaltung gekennzeichnet. Schonmal ein schönen WE an alle, SG Chri [attachment=26772] ![]() Digitale Eingänge vergleichen und Wert ausgeben - Y-P - 28.05.2010 20:11 Bitte nächstes Mal die LabVIEW-Version Deines VIs mit angeben. Hab sie jetzt mal für Dich eingefügt.... ![]() Gruß Markus Digitale Eingänge vergleichen und Wert ausgeben - Chri - 30.05.2010 16:24 Hat da wer vielleicht eine Idee? Zumindest bezüglich der Ausgänge ^^ Digitale Eingänge vergleichen und Wert ausgeben - Y-P - 30.05.2010 19:27 ![]() Ich habe das Problem nicht verstanden.... Gruß Markus Digitale Eingänge vergleichen und Wert ausgeben - Chri - 30.05.2010 19:37 Naja, also Hauptproblem ist es, das ich nicht weiß wie die Ausgabe funktioniert. Sprich, nachdem die 2 Werte miteinander verglichen wurden, möchte ich gerne die 0 dazu verwenden, um im Schaltkasten die Rote Lampe zu aktivieren. Sozusagen: Wenn vergleich = 0, dann Lampe rot aktiv; Nur weiß ich nicht, wie ich das Signal einem Ausgang zuführe. Dachte das geht vl. ähnlich wie bei einem Eingang, aber irgendwie hats nicht funktioniert. Und des weiteren will ich ein Signal an den Ausgang 2 schicken wenn der Vergleich eine 1 bringt, um die grüne Lampe leuchten zu lassen. Digitale Eingänge vergleichen und Wert ausgeben - Y-P - 31.05.2010 07:21 Also bevor Du schreiben kannst, musst Du auf jeden Fall auch ein "Create Task" und ein "Start Task" verwenden, genauso wie Du es bei Deinen Eingängen gemacht hast. Dann solltest Du auch auf den Ausgang schreiben können. Gruß Markus Digitale Eingänge vergleichen und Wert ausgeben - Schwand - 31.05.2010 08:47 Meinst du das in etwa so: ![]() Digitale Eingänge vergleichen und Wert ausgeben - Y-P - 31.05.2010 09:27 Genau. So müsste es klappen. EDIT: Hab' noch was gefunden, das Du optimieren solltest. ![]() [attachment=26787] Gruß Markus Digitale Eingänge vergleichen und Wert ausgeben - Chri - 02.06.2010 13:30 Hallo, habe nun versucht das Programm in Betrieb zu nehmen. Der Vergleich und die Signalleuchten funktionieren einwandfrei. Bei der Quittierung funktionierts aber noch nicht ganz. Glaube es liegt daran, das ich das Zurücksetzen der Leuchten ja auch irgendwie über eine Line ausgeben muss oder? Nun meine Frage; Wäre es vl. besser, die Quittierung (soll die Signalleuchten wieder auf 0 setzen) in eine eigene Schleife zu bringen? Wo es dann eben einen Quittiertaster gibt, der das Programm zurück setzt und einen Starttaster, der es wieder starten lässt. SG Chri PS: Mein Programm schaut noch sehr ähnlich wie das von Schwand mit Version 1.4 aus. |