LabVIEWForum.de
1x COM-Port, 2 x Write & 2x Read - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: 1x COM-Port, 2 x Write & 2x Read (/Thread-1x-COM-Port-2-x-Write-2x-Read)

Seiten: 1 2


RE: 1x COM-Port, 2 x Write & 2x Read - GerdW - 07.12.2015 16:09

Hallo zusammen,

außerdem hängst du an jeden Befehl, den du zum Gerät schickst, ein CR an… (Oder war es ein LF?)


RE: 1x COM-Port, 2 x Write & 2x Read - Jann - 08.12.2015 10:58

Hallo Jens und GerdW,

nochmals vielen Dank für eure Hilfe und Geduld Blush
Nach Recherchearbeit und guter Laune am heutigen Morgen, habe ich mir nochmal ein VI aufgebaut, um das Problem mit TermChar zu lösen.
Und siehe da, es geht! Smile

Im Bild ist mein VI nochmal gezeigt.

Vielen Dank nochmals für eure Hilfe!

Meine Pumpe braucht als Termchar Carriage Return Constant und mir fehlte einzig der Konstant-Wert 13 bei der Initialisierung des Serial Ports.
Anbei nochmal für andere User ein Link für Werte von Zeilenumbrüche etc.
https://de.wikipedia.org/wiki/Zeilenumbruch

Heißt: BytesAtPort konnte ich nun ersetzen.
Nun versuche ich das ganze noch in eine State Machine zu verbauen.

2hands

Gruß
Jann


RE: 1x COM-Port, 2 x Write & 2x Read - Jann - 10.12.2015 11:28

Hallo Zusammen,

ich habe leider immer noch das Problem, dass ich nicht "gleichzeitig" 2 Befehle an meine Pumpe senden kann.

Nochmal ein paar Infos:
Zum einen möchte ich mir kontinuierlich den Druck, der an der Pumpe anliegt, anzeigen lassen und zum anderen dazu den Massenstrom, den die Pumpe fördern soll, einstellen bzw. andere Befehle senden können.

Ich habe es mal so probiert, dass ich einmal WRITE und READ durchführen lasse, z.B. zum abfragen vorliegender Fehler, und dann durch CLEAR alles im Buffer lösche, um danach dann noch mal WRITE und READ nutzen zu können, um den Druck an der Pumpe abzufragen.
Das funktioniert aber nur bedingt/ gar nicht SadBahn

Ist der Schalter DRUCK LESEN aus, dann läuft alles super. Ist dieser an, dann naja Sad.....Mit der Highlight-Funktion ist es dann jedoch kein Problem.
Im Screenshot könnt ihr den Aufbau einmal sehen.

Hat jemand eine Idee/ einen LÖsungsvorschlag für mich?


RE: 1x COM-Port, 2 x Write & 2x Read - jg - 10.12.2015 11:59

Könntest du etwas spezifischer mit deiner Aussage sein. "Funktioniert nur bedingt/gar nicht" ist nicht besonders hilfreich, um dir weiterzuhelfen.

Gruß, Jens


RE: 1x COM-Port, 2 x Write & 2x Read - GerdW - 10.12.2015 12:39

Hallo Jann,

Zitat:ich habe leider immer noch das Problem, dass ich nicht "gleichzeitig" 2 Befehle an meine Pumpe senden kann.
Das wird auch so bleiben, da du nur einen seriellen Port hast und dein Gerät immer nur auf einen Befehl antworten kann…

Zitat:Mit der Highlight-Funktion ist es dann jedoch kein Problem.
Vielleicht braucht deine "Pumpe" etwas Denkzeit zwischen Anfragen?
Schon mal eine Wartezeit in den Case eingebaut?
Wie lautet die Antwort der Pumpe auf die "STATUS?"-Abfrage?

Von einer Statemachine sieht man noch nicht so viel… Big Grin


RE: 1x COM-Port, 2 x Write & 2x Read - Jann - 10.12.2015 12:42

@jg

Also wenn die Highlightfunktion an ist, dann läuft alles ohne Probleme.
Stelle ich diese nun aus und schicke Befehle ab (Druck auslesen AN), dann bekomme ich den die Antwort von dem Befehl, jedoch bekomme ich keine Ausgabe des Druckes mehr.
Außerdem dauert es dann ca 3 Sekunden bis ich einen neuen Befehl abschicken kann.

Ist der Schalter "Druck auslesen" AUS, dann bekomme ich ganz normal die Antwort auf den Befehl (< 1 Sek), jedoch dauert es acuh hier gute 2 Sek bis ich einen neuen Befehl abschicken kann.

Hoffe das hilft weiter :/

@GerdW

ich habe nochmal eine neues verschlanktes VI aufgebaut um alles testen zu können. Die State Machine kommt noch Tongue
Das mit der Wartezeit im Case habe ich auch schon ausprobiert (jeweils mit 1,2,3,4,5 Sekunden)
Die Antwort der Pumpe auf die Status-Abfrage sieht folgendermaßen aus.
STATUS:95592201,1,0,,600,100,,,,0,0,0,0,0,0,0,0,296,0,0
Jedoch gibt es mir den Druckwert 296 kPa nicht in der nachgesetzten Druck-Abfrage (kPa und bar) heraus. :/


Entferne ich die Druckabfrage, also die Case-Struktur mit allem darin befindlichen, so bekomme ich direkt nach Absenden des Befehls eine Antwort. Ich denke also nicht, dass meine Pumpe eine "Bedenkzeit" benötigt.


RE: 1x COM-Port, 2 x Write & 2x Read - GerdW - 10.12.2015 13:03

Hallo Jann,

Zitat:Stelle ich diese nun aus und schicke Befehle ab (Druck auslesen AN), dann bekomme ich den die Antwort von dem Befehl, jedoch bekomme ich keine Ausgabe des Druckes mehr.
Du stellst "Druck lesen" auf TRUE, dann sendest du einen "STATUS?"-Befehl und bekommst eine Antwort nach dem Schema wie angegeben - aber diese Antwort enthält keine Druckangabe? Ja was denn nun: bekommst du eine Status-Antwort mit Druckwert oder keine Antwort? Hmm

Zitat:Außerdem dauert es dann ca 3 Sekunden bis ich einen neuen Befehl abschicken kann.
Wo genau musst du diese 3s warten?
Reagiert die Pumpe einfach innerhalb dieser 3s nicht oder dauert das VISARead nach dem STATUS?-Befehl einfach mal 3s, weil die Pumpe so lange für die Antwort benötigt?
Was sind deine Debugging-Ergebnisse?

Zitat:Ist der Schalter "Druck auslesen" AUS, dann bekomme ich ganz normal die Antwort auf den Befehl (< 1 Sek), jedoch dauert es acuh hier gute 2 Sek bis ich einen neuen Befehl abschicken kann.
Du bekommst eine Antwort auf den "STATUS?"-Befehl, obwohl du ihn gar nicht absendest? Hmm
Oder von welchem "Befehl" redest du nun wieder?
Auch hier die Frage: wo genau verbrätst du diese 2s Wartezeit?

Zitat:Hoffe das hilft weiter :/
Anhand meiner Fragen merkst du wohl, dass du dein Problem genauer beschreiben musst und mehr eigene Debugging-Ergebnisse liefern musst!
Du musst immer daran denken, dass wir deine Hardware nicht haben und deshalb zwar das VI anschauen, aber nicht "real life" testen können!


RE: 1x COM-Port, 2 x Write & 2x Read - Jann - 10.12.2015 13:21

Hallo Zusammen,

Zitat:
Stelle ich diese nun aus und schicke Befehle ab (Druck auslesen AN), dann bekomme ich den die Antwort von dem Befehl, jedoch bekomme ich keine Ausgabe des Druckes mehr.

Du stellst "Druck lesen" auf TRUE, dann sendest du einen "STATUS?"-Befehl und bekommst eine Antwort nach dem Schema wie angegeben - aber diese Antwort enthält keine Druckangabe? Ja was denn nun: bekommst du eine Status-Antwort mit Druckwert oder keine Antwort? Hmm

--> Also ich erhalte keine Ausgabe in dem Fenster "Ausgabe Druck bar" und "Ausgabe Druck kPa", obwohl ich mit TRUE einen erwarten würde.

Um hier aber nicht weiter für Verwirrung zu stiften. Ich habe das Problem meiner Meinung nach lösen können Smile
Ich habe einfach eine flache Sequenzstruktur mit einer Wartezeit von 50 ms eingefügt.
Mit diesen Einstellungen läuft alles so wie ich es erwarte und auch haben möchte Smile


Zu guter letzt also noch alles in eine State Machine CoolCool


RE: 1x COM-Port, 2 x Write & 2x Read - GerdW - 10.12.2015 13:26

Hallo Jann,

Idee
Du kannst sooft auf "Druck lesen" klicken, wie du willst: deine EVENT-Struktur reagiert darauf aber nicht (sie kennt nur "String senden"!) und arbeitet ansonsten ganz nach dem Grundsatz THINK DATAFLOW!


RE: 1x COM-Port, 2 x Write & 2x Read - jg - 10.12.2015 14:17

(10.12.2015 12:39 )GerdW schrieb:  Vielleicht braucht deine "Pumpe" etwas Denkzeit zwischen Anfragen?
Schon mal eine Wartezeit in den Case eingebaut?

(10.12.2015 13:21 )Jann schrieb:  Ich habe einfach eine flache Sequenzstruktur mit einer Wartezeit von 50 ms eingefügt.
Gruß, Jens