RS232C Schnittstelle mit Labview 6.1
RS232C Schnittstelle mit Labview 6.1
Hallo Leute,
Ich habe ein vermutlich simples Problem mit Labview und bräuchte eure Hilfe.
Ich bin, was die Komunikation mit Schnittstellen betrifft, ein Neuling.
also ich soll ein UNIDOS-gerät über eine RS232C schnittstelle ansprechen.
das problem ist die kommunikation mit der schnittstelle. unter
"hyperterminal" in windows gings, mit dem labview nicht so richtig.
ich denke, das problem ist das korrekte einstellen des
hardware-handshakes. laut handbuch verlangt das unidos gerät, dass DSR
und CTS aktiv sind zum senden. zum empfangen DTR und RTS. bei labview
kann ich nur DSR/DTR oder CTS/RTS wählen....
naja, ich habe hier die im handbuch stehenden konfigurationen:
---------------------------------------
Baudrate: 9600/4800/2400/1200/300
Formate: 8 bit, keine Parität, oder 7 bit, gerade Parität
Stopbits: immer 1
Protokoll: Nach dem Senden eines Kommandos ans UNIDOS muß erst dessen
Antwort abgewartet werden. Erst dann darf das nächste Telegramm
abgeschickt werden.
Handshake: Strikter hardware-handshake für beide Parteien. UNIDOS
sendet erst, wenn sein DSR und CTS aktiv sind, die Gegenstation darf
erst und nur so lange senden, wie die UNIDOS-Signale DTR und RTS aktiv
sind.
Timeout:Ist nach 3 Sekunden keine Antwort vom UNIDOS eingetroffen,
liegt ein Fehler vor.
Telegrammformat: Alle Telegramme sind mit <CR><LF> abgeschlossen.
-----------------------------------------
Hier ist ein Bild von meinem kleinen Labview Programm. beim starten sollte eigendlich der text genau einmal gesendet werden. das müsste eine reaktion auf dem UNIDOS auslösen.
tuts aber nicht.
Danke für eure hilfe leute!
Ich habe ein vermutlich simples Problem mit Labview und bräuchte eure Hilfe.
Ich bin, was die Komunikation mit Schnittstellen betrifft, ein Neuling.
also ich soll ein UNIDOS-gerät über eine RS232C schnittstelle ansprechen.
das problem ist die kommunikation mit der schnittstelle. unter
"hyperterminal" in windows gings, mit dem labview nicht so richtig.
ich denke, das problem ist das korrekte einstellen des
hardware-handshakes. laut handbuch verlangt das unidos gerät, dass DSR
und CTS aktiv sind zum senden. zum empfangen DTR und RTS. bei labview
kann ich nur DSR/DTR oder CTS/RTS wählen....
naja, ich habe hier die im handbuch stehenden konfigurationen:
---------------------------------------
Baudrate: 9600/4800/2400/1200/300
Formate: 8 bit, keine Parität, oder 7 bit, gerade Parität
Stopbits: immer 1
Protokoll: Nach dem Senden eines Kommandos ans UNIDOS muß erst dessen
Antwort abgewartet werden. Erst dann darf das nächste Telegramm
abgeschickt werden.
Handshake: Strikter hardware-handshake für beide Parteien. UNIDOS
sendet erst, wenn sein DSR und CTS aktiv sind, die Gegenstation darf
erst und nur so lange senden, wie die UNIDOS-Signale DTR und RTS aktiv
sind.
Timeout:Ist nach 3 Sekunden keine Antwort vom UNIDOS eingetroffen,
liegt ein Fehler vor.
Telegrammformat: Alle Telegramme sind mit <CR><LF> abgeschlossen.
-----------------------------------------
Hier ist ein Bild von meinem kleinen Labview Programm. beim starten sollte eigendlich der text genau einmal gesendet werden. das müsste eine reaktion auf dem UNIDOS auslösen.
tuts aber nicht.
Danke für eure hilfe leute!
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: RS232C Schnittstelle mit Labview 6.1
Hallo Basse,
hast du die Kommunikation auch mit dem LV-Beispiel "Basic Serial Write & Read" ausprobiert?
hast du die Kommunikation auch mit dem LV-Beispiel "Basic Serial Write & Read" ausprobiert?
أهلا و سهلا بالمستخدمين العرب
Re: RS232C Schnittstelle mit Labview 6.1
Hi,
es gibts nur:
Labview<->seroial.vi
Serial Comunication.vi
serial read with timeout.vi
als beispiele. und damit habe ich es leider nicht hinbekommen, eine antwort vom unidos zu erhalten.
ich habe aber mal die 8.5 30 tage version installiert und damit das easy_rs232_terminal.vi aus dem forum ausprobiert. damit klappt es!
jetzt versuche ich das programm in 6.1 nachzubauen. mal schauen ob das geht.
leider kann man es ja nicht soweit runter konvertieren.
es gibts nur:
Labview<->seroial.vi
Serial Comunication.vi
serial read with timeout.vi
als beispiele. und damit habe ich es leider nicht hinbekommen, eine antwort vom unidos zu erhalten.
ich habe aber mal die 8.5 30 tage version installiert und damit das easy_rs232_terminal.vi aus dem forum ausprobiert. damit klappt es!
jetzt versuche ich das programm in 6.1 nachzubauen. mal schauen ob das geht.
leider kann man es ja nicht soweit runter konvertieren.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: RS232C Schnittstelle mit Labview 6.1
Ich habe mit 4 seriellen Geräten zu tun gerade. Meistens liegt es an die Baudrate (probiere mal alle durch). Ich vergesse auch oft die richtige COM-Port-Nummer im LV einzustellen.
أهلا و سهلا بالمستخدمين العرب
-
- developer
- Сообщения: 265
- Зарегистрирован: 14 окт 2008, 00:09
- Награды: 1
- Версия LabVIEW: 8.x, 20x
Re: RS232C Schnittstelle mit Labview 6.1
Was learny hier meint, sind die Beispiele, die du im NI-Examplefinder findest. Den hat es auch schon in LV6.1 gegeben.learny писал(а):Hallo Basse,
hast du die Kommunikation auch mit dem LV-Beispiel "Basic Serial Write & Read" ausprobiert?
http://www.labviewforum.de/Tutorial-Wie ... t5902.html
Gruß, Jens
Re: RS232C Schnittstelle mit Labview 6.1
wie gesagt, den beispiel finder habe ich benutzt. leider haben die beispiele zur seriellen komunikation nicht funktioniert.
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: RS232C Schnittstelle mit Labview 6.1
Diese Beispiele sollten für deine Version sein.
http://zone.ni.com/devzone/cda/epd/p/id/2645
http://zone.ni.com/devzone/cda/epd/p/id/2645
أهلا و سهلا بالمستخدمين العرب
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: RS232C Schnittstelle mit Labview 6.1
Also erstens sehe ich dass du die Schnittstelle nicht konfigurierst. Du musst die Eingänge des KonfigurationsVI belegen und nicht das VI aufmachen und dort einstellen.
Zweitens, du kannst mein RS232 Terminal benutzen. Es funktioniert wie ein normaler Windows Hyperterminal.
Rest später.
/viewtopic.php?f=14&t=131
Ich sehe gerade, du hast 6.1, dann passt das "zweitens" nicht. Aber versuche zuerst die Konfiguration richtig zu machen.
Zweitens, du kannst mein RS232 Terminal benutzen. Es funktioniert wie ein normaler Windows Hyperterminal.
Rest später.
/viewtopic.php?f=14&t=131
Ich sehe gerade, du hast 6.1, dann passt das "zweitens" nicht. Aber versuche zuerst die Konfiguration richtig zu machen.
Re: RS232C Schnittstelle mit Labview 6.1
hi,
danke erstmal für die schnellen antworten.
@ eg:
zum 1. : jo stimmt, ich dachte durch doppelklick definier ich das auch. aber das wäre ja kein problem das als variable zu machen.
zum 2. : ja, dein rs 232 programm klappt prima. ( ich habe ja zusätzlich noch die 8.5 version von labview. aber nur evaluiert)
mein ziel ist es ja, die kommunikation mit labview 6.1 zustande zu kriegen.
@learny:
danke für die beispiele. die sind für mich verständlich aufgebaut. das rs232 programm von eg ist für meine anfängerkenntnisse ganzschön komplex.
jetzt zum konkreten problem:
es müsste doch gehen, das ich mit dem beispiel "advanced serial write and read" von learny die kommunikation mit dem unidos hinkriege, oder?
ich bekomme mit den momentanen einstellungen aber einen fehler (siehe bild).
welche einstellungen muss ich den vornehmen um den konfiguartionen aus dem startpost zu entsprechen. könnt ihr mir das so auf die schnelle sagen oder braucht ihr dazu noch andere informationen?
danke erstmal für die schnellen antworten.
@ eg:
zum 1. : jo stimmt, ich dachte durch doppelklick definier ich das auch. aber das wäre ja kein problem das als variable zu machen.
zum 2. : ja, dein rs 232 programm klappt prima. ( ich habe ja zusätzlich noch die 8.5 version von labview. aber nur evaluiert)
mein ziel ist es ja, die kommunikation mit labview 6.1 zustande zu kriegen.
@learny:
danke für die beispiele. die sind für mich verständlich aufgebaut. das rs232 programm von eg ist für meine anfängerkenntnisse ganzschön komplex.
jetzt zum konkreten problem:
es müsste doch gehen, das ich mit dem beispiel "advanced serial write and read" von learny die kommunikation mit dem unidos hinkriege, oder?
ich bekomme mit den momentanen einstellungen aber einen fehler (siehe bild).
welche einstellungen muss ich den vornehmen um den konfiguartionen aus dem startpost zu entsprechen. könnt ihr mir das so auf die schnelle sagen oder braucht ihr dazu noch andere informationen?
- learny
- adviser
- Сообщения: 207
- Зарегистрирован: 23 окт 2008, 17:54
- Версия LabVIEW: 8.5
- Контактная информация:
Re: RS232C Schnittstelle mit Labview 6.1
ich verwende immer die basic R/W und nicht die Advanced. Das Andvanced müsste eigentlich auch gehen.
Stimmen die Einstellungen (Port-Nr, Baudrate usw.) mit eg`s VI Einstellungen überein?
Ist der port besetzt? (z.B. Hyperterminal läuft im Hintergrund?)
Stimmen die Einstellungen (Port-Nr, Baudrate usw.) mit eg`s VI Einstellungen überein?
Ist der port besetzt? (z.B. Hyperterminal läuft im Hintergrund?)
أهلا و سهلا بالمستخدمين العرب
Re: RS232C Schnittstelle mit Labview 6.1
Also wie gesagt. die anforderungen stehen ja im startpost von mir.
meines erachtens stimmt das. leider funktioniert es noch nicht.
ja, ich habe drauf geachtet dass das gerät an ist und nicht von einem anderen programm angesprochen wird.
meines erachtens stimmt das. leider funktioniert es noch nicht.
ja, ich habe drauf geachtet dass das gerät an ist und nicht von einem anderen programm angesprochen wird.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: RS232C Schnittstelle mit Labview 6.1
Ok, aber warum hast du jetzt XON/XOFF eingestellt?
Es kann sein dass du zum Senden andere Einstellungen machen muss, als zum Empfangen. D.h. umkonfigurieren vor jedem Senden und vor jedem Empfangen. Nur Vermutung.
Es kann sein dass du zum Senden andere Einstellungen machen muss, als zum Empfangen. D.h. umkonfigurieren vor jedem Senden und vor jedem Empfangen. Nur Vermutung.
Re: RS232C Schnittstelle mit Labview 6.1
also so sehen die einstellungen mit dem programm von eg aus (siehe bild)
da funktioniert die kommunikation zumindest teilweise. ich erhalte eine fehlermeldung, das lesen funktioniert schonmal.
das UNIDOS hat den befehl erhalten und anwortet: E04
was bedeutet:Telegramm-syncronisationsfehler (kein <CR><LF> gefunden)
E:
jetzt funktioniert es ganz. es kommt kein fehler mehr. die einstellungen sind die gleichen geblieben. ich habe nur mal "local echo" und "CR=>CR/LF " aus und wieder an gemacht. komisch.
da funktioniert die kommunikation zumindest teilweise. ich erhalte eine fehlermeldung, das lesen funktioniert schonmal.
das UNIDOS hat den befehl erhalten und anwortet: E04
was bedeutet:Telegramm-syncronisationsfehler (kein <CR><LF> gefunden)
E:
jetzt funktioniert es ganz. es kommt kein fehler mehr. die einstellungen sind die gleichen geblieben. ich habe nur mal "local echo" und "CR=>CR/LF " aus und wieder an gemacht. komisch.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: RS232C Schnittstelle mit Labview 6.1
Es geht also um Termination Character.
Das bedeutet, wenn du beim Konfigurieren der Schnittstelle Termination Character eingeschaltet hast (das musst du ja, wie ich im ersten Post sehe), dann bricht VISA Read das lesen wenn:
- Timeout abgelaufen (gibt dann den Timeout Fehler aus)
- angeforderte Anzahl Bytes angekommen ist (kein Fehler)
- Termination Character angekommen ist (kein fehler)
Versuche mit dem Termination Charakter bisschen rumzuspielen.
Das bedeutet, wenn du beim Konfigurieren der Schnittstelle Termination Character eingeschaltet hast (das musst du ja, wie ich im ersten Post sehe), dann bricht VISA Read das lesen wenn:
- Timeout abgelaufen (gibt dann den Timeout Fehler aus)
- angeforderte Anzahl Bytes angekommen ist (kein Fehler)
- Termination Character angekommen ist (kein fehler)
Versuche mit dem Termination Charakter bisschen rumzuspielen.
Re: RS232C Schnittstelle mit Labview 6.1
ja ich denke du hast recht. ich habe erstmal bei dem "advanced serial write and read" beispiel rumgespielt.
allerdings hatte ich dabei keinen erfolg. also in der beschreibung steht ja, dass bei read und write <CR><LF> rangeschrieben werden soll. soweit kler.
es steht auch da. das das in hexadezimal 0D und 0A entsprechen würde.
aber bei dem Termination char kann ich nur D oder A eingeben!
in dem rs232 programm von dir eg, reicht es nur den Befehl einzugeben (zB: ?U) und den "CR=>CR/LF" knopf angeschlatet zu haben. so wie XON/XOFF.
dann funktioniert die kommunikation fehlerfrei.
Ich nehme an, ich kann den thermination char nicht einfach als konstante "<CR><LF>" festlegen, oder?
allerdings hatte ich dabei keinen erfolg. also in der beschreibung steht ja, dass bei read und write <CR><LF> rangeschrieben werden soll. soweit kler.
es steht auch da. das das in hexadezimal 0D und 0A entsprechen würde.
aber bei dem Termination char kann ich nur D oder A eingeben!
in dem rs232 programm von dir eg, reicht es nur den Befehl einzugeben (zB: ?U) und den "CR=>CR/LF" knopf angeschlatet zu haben. so wie XON/XOFF.
dann funktioniert die kommunikation fehlerfrei.
Ich nehme an, ich kann den thermination char nicht einfach als konstante "<CR><LF>" festlegen, oder?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 2071 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 344 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2429 Просмотры
-
Последнее сообщение dadreamer
-
- 2 Ответы
- 391 Просмотры
-
Последнее сообщение ujin1
-
- 5 Ответы
- 847 Просмотры
-
Последнее сообщение dadreamer