13.04.2008, 19:08
' schrieb:Wie kann ich denn das Term Char generell deaktivieren?!In Visa-Config den entsprechenden Eingang, der standardmäßig auf true steht, auf false setzen.
' schrieb:Wie kann ich denn das Term Char generell deaktivieren?!In Visa-Config den entsprechenden Eingang, der standardmäßig auf true steht, auf false setzen.
' schrieb:Noch viele!Hab ein abgespecktes VI erstellt was nur diese Funktion ausführt. Also das auf false setzten klappt nicht, was ich jetz gemacht habe ist das "ASRL End in" ein "None" verpasst, jetzt ließt er alles aus, HALLELUJA!
Der eine, der auf den drei fehlenden Zeichen, die jetzt plötzlich beim vierten Lesen rauskommen, basiert, hat sich ja erledigt.
Bevor ich auf ein Handle-Problem tippe, müsste ich folgendes Abfragen: Kann es sein, dass das SubVI parallel aufgerufen wird? Kann es sein, dass parellel zu diesem VI irgendwer irgendwie auf COM4 zugreift bzw. zugreifen will?
Kannst du ein abgespecktes SubVI erstellen, bei dem dieser Fehler immernoch auftritt?
' schrieb:In Visa-Config den entsprechenden Eingang, der standardmäßig auf true steht, auf false setzen.wie heisst der denn, find wohl nicht den richtigen (siehe mein Screenshot oben)
' schrieb:wie heisst der denn, find wohl nicht den richtigen (siehe mein Screenshot oben)Rechts neben Timeout, das du verdrahtet hast, kommt zuerst ein Eingang "termination char (0xA = 'n' = LF)" und davon rechts einer der "Enable Termination Char (T)" heißt.
' schrieb:Rechts neben Timeout, das du verdrahtet hast, kommt zuerst ein Eingang "termination char (0xA = 'n' = LF)" und davon rechts einer der "Enable Termination Char (T)" heißt.Achja am Serial Port Konig, okay. Hab im Eigenschaftsknoten gesucht, okay denke mein Problem ist damit gelößt
' schrieb:
Weil ich immer nur soviele Zeichen auslese, wie auch da sind. Respektive warte ich solange, bis genau die erwartete Anzahl in "Bytes im Puffer" vorhanden sind. Ein Timeout beim Lesen brauche ich also nicht. Beim Schreiben auch nicht: Da die Übertragung zwischen Endgerät und Applikation (oft) als Master/Slave abläuft, kann man den Puffer so groß einstellen, dass der immer groß genug ist - und also das VISA-interne Timeout nicht notwendig wird.
Ob ich jetzt das Timeout-Management selbst mache und vor dem Lese/Schreib-VI abzweige oder ob ich das Timeout-Management nach dem Lese/Schreib-VI mache, bleibt sich prinzipiell gleich. Hauptsache es wird gemacht.
' schrieb:Ja, aber wenn das Lesen des Puffers selbst länger dauert als 0? Vielleicht ein paar ms vielleicht auch weniger 1 ms, dann würdest du theoretisch auch einen Timeout-Error bekommen.Das Lesen des Puffers ist durch ein Timeout "abbrechbar"? Das kann nicht sein. Selbst wenn im Puffer 10.000 Zeichen stehen dauert das Auslesen bestimmt doch nicht eine einzige ms. Was dauern mag ist das warten, bis eine bestimmte Anzahl Zeichen im Puffer steht.
Zitat:Was stört dich genau am Timeout beim Lesen?Stören tut mich daran im Prinzip gar nichts. Ich mach das immer so: Lesen, was da ist und das dann parsen.
' schrieb:Das Lesen des Puffers ist durch ein Timeout "abbrechbar"? Das kann nicht sein. Selbst wenn im Puffer 10.000 Zeichen stehen dauert das Auslesen bestimmt doch nicht eine einzige ms. Was dauern mag ist das warten, bis eine bestimmte Anzahl Zeichen im Puffer steht.
Stören tut mich daran im Prinzip gar nichts. Ich mach das immer so: Lesen, was da ist und das dann parsen.