Hallo,
ich möchte mir einen einzelnen Puls generieren, um diesen dann für eine Anwendung als Startelement zu nehmen.
Vorstellung:
Warte auf Puls... Puls generiert.... Negative Flanke des Pulses ist mein Signal, um mein Programm zu starten.
Mir fehlt derzeit leider die Hardware, damit ich mein Programm damit testen kann, aber ich denke es sollte auch ohne Hardware möglich sein. Einfach ein Signal generieren, dieses auf einen anderen Port (Line eines Ports) kurzschließen und diesen Port (diese Line) dann als mein Startsignal nehmen.
Danke Chris
Der Puls soll auch eine gewisse definierte Länge von 32µs haben, ich bin grad am googlen ob ich etwas finde. Wenn mir hier vorher jemand helfen kann wäre das natürlich noch besser.
Das geht zwar, aber was soll das? Entweder man startet einen Anwendung mit einer externen Impulsflanke - das geht. Oder man startet eine Awendung direkt vom Programm aus. Im letztgenannten Fall muß man doch nicht erst einen Impuls auf einen Port schicken und über eine gelötete Drahtbrücke wieder zurücklesen.
So ein Pech aber auch: Die fehlt die Hardware, um ein Programm zu testen, für das man gar keine Hardware brauchte
' schrieb:Das geht zwar, aber was soll das? Entweder man startet einen Anwendung mit einer externen Impulsflanke - das geht. Oder man startet eine Awendung direkt vom Programm aus. Im letztgenannten Fall muß man doch nicht erst einen Impuls auf einen Port schicken und über eine gelötete Drahtbrücke wieder zurücklesen.
So ein Pech aber auch: Die fehlt die Hardware, um ein Programm zu testen, für das man gar keine Hardware brauchte
Ok, ich versuche es nochmal zu erklären:
Ich bekomme demnächst externe Hardware, diese gibt mir auf einer Leitung einen Pulse und signalisiert mir damit: Es kommt jetzt in den nächsten Takten auf Leitung XY Daten an, bitte lese diese. Ich warte also auf diesen Puls (=Lesen bis Timeout oder halt das Signal kommt), und sobald die negative Flanke dieses Pulses erreicht ist starte ich mein Programm zum Lesen der Eingänge. Der Puls hat eine Länge von 32us, deshalb brauche ich irgendwas das mir erlaubt einen Puls einer bestimmten Länge zu erzeugen. Ich muss ja das Timing Diagramm einhalten.
Da ich nicht auf die Hardware warten kann, will ich das Programm lauffähig haben bis die Hardware da ist. So, komplett verwirrt?
Verstehe, die fehlt "Hardware", aber damit ist nicht die Messkarte gemeint, sondern ein externes Gerät, welches einen Impuls liefert, den Du über die Messkarte einliest, um damit ein Programm zu starten.
Welche Messkarte ist es denn? Und ist denn für die Simulation die Impulslänge so wichtig, wenn eh nur die Flanke ausgewertet wird?
Die Verwirrung wäre nicht enstanden, wenn Du gleich gesagt hättest, daß es sich um eine Simulation handelt.
' schrieb:Verstehe, die fehlt "Hardware", aber damit ist nicht die Messkarte gemeint, sondern ein externes Gerät, welches einen Impuls liefert, den Du über die Messkarte einliest, um damit ein Programm zu starten.
Welche Messkarte ist es denn? Und ist denn für die Simulation die Impulslänge so wichtig, wenn eh nur die Flanke ausgewertet wird?
Die Verwirrung wäre nicht enstanden, wenn Du gleich gesagt hättest, daß es sich um eine Simulation handelt.
Ja sorry, ich hab vergessen: NI 6537 (48Hz - 50Mhz) und die Hardware ist ein einfacher IC (der erst geliefert wird). (Man geht aus dass wenn man es irgendwo mal erwähnt hat es eh alle wissen, aber ich muss mir angewöhnen es jedesmal zu erwähnen. Jeder Thread muss ja die Information bereitstellen.
)
Die Impulslänge habe ich aus der Spec des IC, deshalb gehe ich mal davon aus dass ich diese nicht beliebig lang machen kann (?). Erkennen wird die Karte den Impuls sowieso, sprich ich könnte es wahrscheinlich "trocken" mit längerem Impuls testen und wenn ich dann den schnellen Impuls habe ändert sich ja nur die Zeit die die Karte braucht. Schnell genug ist sie ja.
Ich dachte einfach daran, ein einfaches Signal (Array) zu erzeugen und dieses dann auszugeben. Und sobald dieses Signal gelesen wurde würde ich zu meinem State springen, der die Werte einliest. Derzeit fliegt das Programm aber bereits wegen einer Bufferfehlermeldung:
Possible reason(s):
Requested value is not a supported value for this property.
Property: SampQuant.SampPerChan
Requested Value: 0
Minimum Value: 2
Maximum Value: 4294967295
Task Name: _unnamedTask<2>
Das Programm selbst kann ich nicht hochladen, sind leider bereits Dinge drin die ich nicht mehr herzeigen kann.
Die Karte ist leider ganz anders spezifiziert als die Universalkarten, die ich immer verwendet habe und mit denen ich mich auskenne. Aber immerhin ist jetzt der Boden gut aufbereitet für ein qualifizierte Antwort von einem, der die Karte kennt. Der Köder liegt aus, eigentlich müßte jetzt jemand anbeißen
' schrieb:Die Karte ist leider ganz anders spezifiziert als die Universalkarten, die ich immer verwendet habe und mit denen ich mich auskenne. Aber immerhin ist jetzt der Boden gut aufbereitet für ein qualifizierte Antwort von einem, der die Karte kennt. Der Köder liegt aus, eigentlich müßte jetzt jemand anbeißen
Nicht nur das, der Karte liegt weder eine Beschreibung bei noch gibt es irgendwelche Tutorials noch sonstwas dafür. Hat ja nur schlappe 3000 Euro gekostet, darf man ja bitte nicht auch noch erwarten dass man dazu mehr beilegt als ein Wischblatt. NI halt, Kommentar überflüssig.
Hab jetzt versucht einfach ein Boolean Array zu übergeben, funktioniert auch nicht wirklich.
Zitat:Possible reason(s):
Not enough samples were written to satisfy the initial data transfer request condition.
To successfully start a generation, increase the number of samples initially written to the buffer before starting. Alternatively, decrease the number of samples required to start by changing the data transfer request condition.
End of Data Sample Number: 1
Minimum Value: 4
Task Name: _unnamedTask<1E>
Ein Hoch den bescheuerten LabVIEW Errormeldungen.... RTFM ohne M ist oft schwierig.
Hilf Dir selbst, dann hilft Dir Gott!
Im besten Fall ein Puls von 2us. Sollte reichen denke ich. Einzig vielleicht ein wenig verlangsamen wäre interessant, muss mal googlen ob ich da irgendwie etwas einstellen kann. Der Timer frißt ja leider nur ms und keine kleineren Zeiteinheiten.