LabVIEWForum.de - Bitte helft mir(keine Verbindung über RS 485)

LabVIEWForum.de

Normale Version: Bitte helft mir(keine Verbindung über RS 485)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo
finde es sehr gut das es das Forum gibt, hoffe das ihr mir helfen könnt.
Ich habe vor "Digitale Massflowcontroller" über LabVIEW anzusprechen, nur ich komme nicht weiter.
Ich gehe von meiner COM1 Schnittstelle zu einem Umsetzer(von RS232->RS485). Der Umsetzer muß aber nicht beachtet werden. Hinter dem umsetzer hängen meine "Digitale Massflowcontroller" und werden mittels RS 485 angesprochen.
Ich habe ein altes DOS Programm mit dem ich Befehle hochschicken kann und somit den Befehlscode rausbekomme.
Die Steuerbefehle werden in HEX gesendet.
Hier mal ein Bsp: 82 8A 32 7B 8C 87 EC 05 39 42 B4 00 00 6C
Wenn ich das zu dem "Digitale Massflowcontroller" schicke sollte eigentlich eine Antwort kommen? Nur leider kommt nichts zurück?!
Wäre schön wenn Ihr mal drüber schaun könntet und mir weiterhelfen würdet.[attachment=28989:attachment][attachment=28989:attachment]
ersetze mal testweise "COM1" durch "ASRL1::INSTR". Kann an deinem sonst Programm keinen Fehler erkennen.
Bist du sicher, dass 8 Zeichen zurückkommen? Wenn weniger zurückgesendet werden, dann geht die VISA-Read-Routine in den Timeout.
Ich würde mir den Error-Out dieser Routine mal ansehen. Da steht der Fehler drin, wenn es nicht funktioniert.

VISA ist aber installiert, oder?!
HI

Eine Frage sendest du wirklich hex oder schreibst du in dein control nur ascii zeichen ?

Du kannst dein String control auf HEX-Anzeige umschalten damit stellst du sicher das du auch hex sendest

Gruß

Jürgen
es kommt immer die Meldung "VISA: (Hex 0xBFFF0015) Timeout abgelaufen, bevor Operation vollständig."
Was ist mit Error-Out dieser Routine gemeint?

Ja VISA ist installiert!
Wäre es möglich wenn mal jemand von euch ein vi bastelt und ich teste es mal. Es muß über den COM1 im HEX Code die Steuerbefehle hochschicken und auch wieder empfangen. Der Empangene Steuerbefehl ist meistens länger als der gesendete?! Keine Ahnung warum das so ist. Ich kann an dem alten Dos Programm den Empangenen auch auslesen, somit hätte ich dann einen Vergleich ob alles funktioniert? Ich habe echt keine Ahnung wo mein Problem liegt.
Bei RS485 können ja mehrere Geräte am Bus hängen.
Dein RS485 MFC hat doch bestimmt eine Adresse die eingestellt werden muss?
Diese Adresse muss auch in den Befehl den du schickst vorkommen.

Benutze doch mal ein Monitorprogramm um genau zu sehen was das DOS-Programm alles schickt.

VDB
Das ist richtig. Es gibt sogennante TAG. Nummern für jeden MFC. In dem HEX Code den ich gepostet habe ist dieser schon enthalten. Ich kann mit dem DOS Programm einen Befehl auswählen was der MFC machen soll, dann generiert er einen HEX Code indem alle informationen enthalten sind und schickt Ihn. Daher habe ich den o.g. HEX Code. Nur schaffe ich es nicht LabVIEW begreiflich zu machen diesen zu schicken und mir eine Antwort zu senden.
An dem Converter sehe ich das was ankommt durch eine Leuchtdiode die blinkt, nur leider passiert nicht mehr.
Zum VI:

1) Statt 8 Bytes würde ich alle Bytes empfangen
2) Zwischen Senden und Empfangen würde ich eine kleine Pause einbauen
3) Den Control String1 auf HEX umstellen (Rechtsklick -> Hex Display)Wie Buhrz schon gesagt hat.

Gruss
' schrieb:Zum VI:

1) Statt 8 Bytes würde ich alle Bytes empfangen
2) Zwischen Senden und Empfangen würde ich eine kleine Pause einbauen
3) Den Control String1 auf HEX umstellen (Rechtsklick -> Hex Display)Wie Buhrz schon gesagt hat.

Gruss


Wie kann ich einstellen das alle Bytes empfangen werden? Wo kann ich die Pause einbauen?
Den Control String 1 habe ich auf hex eingestellt.
Referenz-URLs