LabVIEWForum.de - RS232 <--> Durchflußregler von Brooks

LabVIEWForum.de

Normale Version: RS232 <--> Durchflußregler von Brooks
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!
Ich habe ein kleines Problem mit der Kommunikation über die RS232-Schnittstelle (ich nutze VISA) und einen Gas-Durchflussregler von Brooks.
Über ein Terminalprogramm (in meinem Fall OC-Console) kann ich den Regler wunderbar ansprechen und erhalte auch eine Antwort. Schicke ich jedoch das selbe Kommand über LabVIEW, so reagiert der Regler nicht. Ich habe schon einen Portmonitor (Sniffer) dazwischengeschaltet und die Kommandos miteinander abgeglichen. Es sind haargenau die selben Byte, die ich schicke, jedoch keine Reaktion.
Ich hab zwei Dinge unter Verdacht:
1. Die Einstellungen der Schnittstelle unterscheiden sich:
Angaben des Herstellers Brooks:
19200Baud,
1Startbit - 0 bit,
8 Databits,
1 Odd parity bit,
1 Stop bit -1 bit

-->Im Terminal verwende ich ganu diese Einstellungen und es funktioniert.
-->In LabVIEW konfiguriere ich den Port ebenfalls mit diesen Einstellungen. Odd-Parity entspricht ja ungerader Parität, oder? Ein Startbit kann man unter LabVIEW ja nicht explizit setzen, oder? Auf jeden Fall funktioniert die Kommunikation so nicht! Kann ich die Einstellungen irgendwie überprüfen/vergleichen?
2. Timing-Probleme!
Kann es sein, dass LabVIEW die Daten mit unterbrechung versendet? Ich schicke schon extra jedes Byte einzelln an den Port, ichhabe aber auch schon versucht, einfach den kompletten String auf einmal an den Port zuschreiben. Macht aber beides keinen Unterschied.

Im Portmonitor sieht die Anfrage über das Terminal und über LabVIEW genau identisch aus.

Hat mir jemand einen Tipp, wie ich das Problem angehen/eingrenzen/lösen kann.

Vielen Dank für eure Hilfe
Mak
Hi
ich sitze hier auch schon seid fast 2 Monaten an diesem Problem. Ich habe 9 Mfc´s von Brooks welche ich mit LV ansprechen möchte. In VB funktioniert alles nur LV stellt sich stur. Was für Hardware hast Du genau von Brooks? Stell doch mal deine vi´s zum download bereit, da kann ich mal drüberschaun.
Hallo,
meine Hardware:
-->Brooks Smart Modell 5860S
Ich benötige auch nur einen Regler bzw. vorerst sogar nur zum messen.
Ich habe noch kein ausgereiftes Programm geschrieben, sondern wollt gestern nur mal auf die Schnelle die Kommunikation testen, da ich über Terminal schon Daten austauschen konnt, dachte ich, das ist gleich erledigt, aber dem war nicht so. Im Anhang mal meine "vorläufigen" Test-VIs.
Sollte in der TAGberechnung noch ein Fehler sein, dann liegt es aber nicht daran, da ich natürlich auch schon den "richtigen" String direkt eingetragen habe.

Was hast du schon unternommen, bzw. rausgefunden? Bekommst du irgend eine Antwort von den Brooksteilen?

Danke für die schnelle Antwort

(LV7.1)
Hallo
ich habe da was für dich, komplett im HART-Protokoll geschrieben. Gib mir mal deine email Adresse dann schick ich es mal.
Ich habe von Brooks die MFC´s 5850S. Ich denke das mein Problem im Timing besteht. Leider gibt es keine Hilfe von Brooks dazu. Aber für deine MFC´s hätte ich was passendesBig Grin
Hallo,
danke nochmals für die VIs. Aber leider funktioniert es auch damit nicht, wie schon gesagt, die richtigen Bytes bekomm ich an den Port, jedoch reagiert der Regler nicht. Auch die Initialisierung des Com-Ports ist in deinem Bsp. identisch wie in meinem. Naja, falls jemand noch ne Idee hat, würd ich mich freuen.
Gruß Mak
Hallo alle,
ich habe das gleiche Problem, wie meine Vorredner. MFC von Brooks antwortet nicht auf die Labwiew-Kommandos, mit der Brooks eigene Software SmartControl klappt die Kommunikation. Ist da jetzt schon einer etwas weiter gekommen? Hat jemand ein laufendes VI?
Hallo alle,
ich habe das gleiche Problem, wie meine Vorredner. MFC von Brooks antwortet nicht auf die Labwiew-Kommandos, mit der Brooks eigene Software SmartControl klappt die Kommunikation. Ist da jetzt schon einer etwas weiter gekommen? Hat jemand ein laufendes VI?
Mal ein Schuß ins Blaue:
Erwartet das angeschlossene Gerät evtl. am Ende des Kommandos ein CR / LF / CRLF?

Hyperterminal schickt sowas automatisch mit, in LV muss man das explizit mit an den zu versendenden String anhängen...Wenn's das sein sollte: Das wurde hier im Forum schon desöfteren gefragt!

Gruß
Achim
Referenz-URLs