Hallo zusammen
Habe das Problem, dass ich einen Digitalausgang blinken lassen soll und bin schön langsam mit meinem Latein am Ende.
Habe als NI-Gerät ein NI USB-6009 zur Verfügung.
Das erstellen eines Rechtecksignals ist ja noch einfach aber diese in ein Bool zu bringen bereitet mir schwiegirgkeiten. Oder muss ich ganz anders anfangen.
Das Signal wird für eine PWM Regelung benötigt.
mfg Mad_din
Das Standard-Problem mit den 6008/6009:
Die DIOs kannst du bei dieser Karte nur per Software-Timing setzen bzw. abfragen.
Eine Digital-Waveform inkl. Timing kannst du somit nicht direkt schreiben. Einfach mal den NI Example Finder starten, und dann auf die Beispiele einschränken, die mit einer 6009 möglich sind.
Um welche Zeiten geht es denn bei deiner PWM Regelung, d.h. wie lang soll Signal High bzw. Low sein?
Gruß, Jens
(03.06.2013 09:12 )mad_din schrieb: [ -> ]Habe das Problem, dass ich einen Digitalausgang blinken lassen soll und bin schön langsam mit meinem Latein am Ende.
Und der Screenshot zeigt deine bisherigen Versuche? Hm...du solltest die Erzeugung mal mit der Ausgabe verbinden...und das ganze für dauerhafte Abarbeitung in eine While-Schleife packen...ich vermute, du verwendest momentan den "run continuously"
Wie wäre es, wenn du mal im LV Example Finder nach "digital output" suchst?
A.
Habe jetzt die Regelung fertig.
Danke!
Habe noch eine Frage zu den max. erreichbaren Frequenzen.
Die Schaltdauer ist bei höheren Frequenzen nicht konstant.
Gibt es eine möglichkeit das zu verbessern?
mfg mad_din
(04.06.2013 12:25 )mad_din schrieb: [ -> ]Habe noch eine Frage zu den max. erreichbaren Frequenzen.
So aus dem Bauch heraus, bei ca. 100-200 Hz dürfte unter Windows mit Software-Timing Schluss sein. Weniger als 2-3 ms High (Achtung, nur ganzzahlige Werte sind möglich!!!) dürfte auch kaum gehen.
(04.06.2013 12:25 )mad_din schrieb: [ -> ]Die Schaltdauer ist bei höheren Frequenzen nicht konstant.
Logisch, bei Software-Timing.
(04.06.2013 12:25 )mad_din schrieb: [ -> ]Gibt es eine möglichkeit das zu verbessern?
Keine 6009 verwenden.
Gruß, Jens
Und deine Schleife läuft genau 1x durch...ist es so wie ich denke? Du verwendest nicht den Start-Button sondern "Run continuously"?
Wenn ja, dann könntest Du Deine Schleife auch weglassen.
... Spaß beiseite. Bitte in so einem Fall immer "Run" verwenden und in Deiner Whileschleife einfach einen Stop-Button an der Abbruchbedingung einfügen.
Ich frage mich gerade für was "Run continously" überhaupt gut sein soll. Ich habe das noch nie benötigt.
Gruß Markus
(04.06.2013 13:37 )Achim schrieb: [ -> ]Und deine Schleife läuft genau 1x durch...ist es so wie ich denke? Du verwendest nicht den Start-Button sondern "Run continuously"?
(04.06.2013 14:09 )Y-P schrieb: [ -> ]Ich frage mich gerade für was "Run continously" überhaupt gut sein soll. Ich habe das noch nie benötigt.
Hin und wieder ist das für kleinere Experimente ganz nützlich, um den Programmieraufwand minimal zu halten. Ein bisschen coden...und die Eingangsparameter verändern...wie wirkt sich das aus...dann muss man nicht ne Schleife außenrum machen.
Sobald ne ernsthafte Applikation daraus werden soll, ist das natürlich Kokolores!
A.
OK, sehe ich ein, wobei ich als erstes immer eine Schleife reinziehe und dann erst mit Code fülle. Aber das ist Ansichtssache.
Gruß Markus
(04.06.2013 14:20 )Achim schrieb: [ -> ] (04.06.2013 14:09 )Y-P schrieb: [ -> ]Ich frage mich gerade für was "Run continously" überhaupt gut sein soll. Ich habe das noch nie benötigt.
Hin und wieder ist das für kleinere Experimente ganz nützlich, um den Programmieraufwand minimal zu halten. Ein bisschen coden...und die Eingangsparameter verändern...wie wirkt sich das aus...dann muss man nicht ne Schleife außenrum machen.
Sobald ne ernsthafte Applikation daraus werden soll, ist das natürlich Kokolores!
A.