LabVIEWForum.de
Probleme mit VISA und FTDI-USB auf RS422 chip - 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: Probleme mit VISA und FTDI-USB auf RS422 chip (/Thread-Probleme-mit-VISA-und-FTDI-USB-auf-RS422-chip)



Probleme mit VISA und FTDI-USB auf RS422 chip - wernerIBN - 14.06.2012 15:22

Hallo,
ich habe hier ein Programm, welches mit einem anderen USB auf seriell Umwandler einwandfrei lief. Nun verwende ich einen Wandler mit FTDI-Chipsatz (neuste Treiber unter XP) und bekomme es nicht vernünftig ans laufen. lv11_img [attachment=40222] Fehlermeldungen der Art: VISA: (Hex 0xBFFF0015) Zeitüberschreitung, bevor der Vorgang abgeschlossen werden konnte usw.

Hat da jemand eine Idee was falsch ist ?

Werner


RE: Probleme mit VISA und FTDI-USB auf RS422 chip - snuz - 15.06.2012 08:15

Hallo Werner,

habe auch den FTDI Chip und realisiere damit eine RS485 Schnittstelle. Was ich gerade nicht verstehe ist in der oberen Schleife ist der Lesezugriff auf die Ressource und in der unteren der Schreibzugriff. Die untere Schleife ist getaktet, die obere nicht und könnte dabei nicht ein Konflikt entstehen, dass beide Schleifen gleichzeitig lesen und schreiben wollen?

Bei dem FTDI CHIP hatte ich die Erfahrung gemacht (bzw. kam gerade auch eine Fehlermeldung), dass der Eventtyp nicht unterstützt wird.

Einmal hat das VI funktioniert, nachdem ich die kompletten Anschlüsse des "VISA Serial" angeschlossen hatte.

Gruß snuz


RE: Probleme mit VISA und FTDI-USB auf RS422 chip - wernerIBN - 15.06.2012 08:39

Hi snuz,
danke für die Antwort.

(15.06.2012 08:15 )snuz schrieb:  Was ich gerade nicht verstehe ist in der oberen Schleife ist der Lesezugriff auf die Ressource und in der unteren der Schreibzugriff. Die untere Schleife ist getaktet, die obere nicht und könnte dabei nicht ein Konflikt entstehen, dass beide Schleifen gleichzeitig lesen und schreiben wollen?

Ja, das ist meine "geniale" Idee. Mein haupt VI arbeiten nach dem Erzeuger-Verbraucher-Pattern. Ich möchte mein VI nicht blockieren, indem ich erst ein Kommando an das serielle Gerät sende, und das braucht dann eine halbe sekunde zum Antworten. Daher sende ich einfach ins blaue das Kommando, und das geht schnell, und mein haupt-VI arbeitet weiter. Im Event-Zweig sammele ich die Antworten ein, ordne diese dann nach Funktionalität und stelle diese dann in die queue, welche normal im Verbraucherzweig alle Befehle abarbeitet. Ja, du hast recht, das könnte gleichzeitig in einem lesen und schreiben enden, aber RS422 wie RS232 ist ja VOLL-DUPLEX, nicht wie dein halbduplex RS485. Daher sollte das gehen. Wie gesagt mein alter (auch schlechter) RS422-auf-USB-Umsetzer lief mit dem identischen VI perfekt und schnell.

(15.06.2012 08:15 )snuz schrieb:  Bei dem FTDI CHIP hatte ich die Erfahrung gemacht (bzw. kam gerade auch eine Fehlermeldung), dass der Eventtyp nicht unterstützt wird.

Wie kommst du zu der Erkenntnis, mein Gefühl bestätigt das auch...

(15.06.2012 08:15 )snuz schrieb:  Einmal hat das VI funktioniert, nachdem ich die kompletten Anschlüsse des "VISA Serial" angeschlossen hatte.

Wie meinst du das ? Verwendust du denn nun Event wie ich oder nicht ?

Werner


RE: Probleme mit VISA und FTDI-USB auf RS422 chip - snuz - 15.06.2012 10:27

Zitat:Wie kommst du zu der Erkenntnis, mein Gefühl bestätigt das auch...
Nunja einmal die Fehlermeldung von vorhin aus deinem VI und zum anderen bei meiner RS485 Schnittstelle (ich hab zwei FTDI die einfach mit einander kommunizieren sollen) benutze ich gar keine Events, da so glaube ich mich recht zu erinnern gab es kein Event das der FTDI Chip unterstützte bzw. Labview gab mir das raus.

Zitat:Wie meinst du das ? Verwendust du denn nun Event wie ich oder nicht ?
Ja dein VI lief für einen kurzen Zeitraum durch, ich hatte wie oben die Anschlüsse mit den gegebenen Konstanten belegt und in der unteren Schleife die Zeit herunter gesetzt ich benutzte das Event "All Enabled" (habs gerade nochmal getestet und ging wieder).

snuz


RE: Probleme mit VISA und FTDI-USB auf RS422 chip - wernerIBN - 15.06.2012 10:59

Hi,
danke für die Antwort. Bei mir geht jetzt gar nichts mehr... ich bekomme jetzt VISA-unbekannter Systemfehler. Wenn ich auf deine Events "all enabled" gehe, meldet VISA mir "Eventtyp nicht unterstützt". Ok, sowas sehe ich zum ersten mal. Ich bin mehr wie verwundert, dass es vom USB Chipsatz des Umsetzers abhängt, ob der einen "Serial TermChar" Event unterstützt, und das FTDI sowas offensichtlich nicht kann...

Der andere, frühere, Umsetzter hängte sich nach Stunden einfach auf, man musste das USB-Kabel ziehen und wieder in den PC-USB-Slot stecken, dann lief er wieder. Ansonsten perfekt. Deswegen wechselte ich auf den mir empfohlenenen FTDI-Umsetzer, und der macht diesen Mist...

Das beste ist, mit einem Terminalprogramm kann ich problemlos tippen "PR SN" + Enter und das Ding antwortet (mit FTDI-Umsetzter) brav und fehlerfrei mit der Seriennummer + CR. Und sowas simples krieg ich in LV nicht auch hin ?Ahrg1

Wie liest du denn dein serielles Kommando aus, gibts da was was variabel lange Strings bis zum CR einliest ? Evtl könnte ich mein Problem in Pollen umändern...

Werner


RE: Probleme mit VISA und FTDI-USB auf RS422 chip - snuz - 15.06.2012 11:09

Was mir gerade noch einfällt ich habe den FTDI 232BL. Zum Programm, der eine schreibt (ist getaktet) & der andere ließt, wobei der Lesende nicht weiß wann eine komplette Übertragung beendet ist bzw. sie angefangen hat. Das ist also alles "gefrickelt".

snuz

P.S. sehe gerade im Bild obere Schleife "referenge" zu "Bool (strict)" das hab ich nicht im VI weiß nicht wo das herkommt, ach das ist die lokal Variable....


RE: Probleme mit VISA und FTDI-USB auf RS422 chip - wernerIBN - 15.06.2012 13:06

Danke, verstehe.

Gibts da was was variabel lange Strings bis zum CR einliest ?
Oder muss man das selber bauen ?

Werner


RE: Probleme mit VISA und FTDI-USB auf RS422 chip - snuz - 15.06.2012 13:41

Also einmal müsste man die synchronisieren (wie auch immer). Und danach müsste ein kleines Protokoll festlegen das z.B. "CR" Ende des Strings bedeutet. Der String an sich kann variabel sein, an sich ist es für eine Kommunikation besser, wenn er eine feste Größe hat und der Rest z.B. mit irgendwas konstanten gefüllt wird. Aber hier in meinem VI kannst Du Alles schicken und er empfängt es - natürlich gibt es eine bestimmte Breite an Informationen die pro Sendevorgang gesendet wird (also die Nachricht wird abgearbeitet und wiederholt gesendet).

0123456789testCR soll er senden
0123456 (erster String Empfang)
89testCR (zweiter String Empfang)

Die Frage ist auch ob Du mit Prüfsummen arbeitest, damit man sehen kann ob was schief gelaufen ist.
Es gibt ja auch auf der FTDI Seite Labview VIs die einem die Arbeit abnehmen sollen, bei mir hat das nicht wirklich funktioniert, hast Du mit FTDI VIs Erfahrung? Und mit wem kommunizierst Du eigentlich?

P.S. Die Schaltung für FTDI 232 hab ich selbst zusammen gebaut je nachdem was man hinter den FTDI 232 hängt bekommt man die gewünschte Schnittstelle. Das war für ein Frequenzumrichter eines Motors, was sich erst später erst herausstellte war, dass der Frequenzumrichter im Handbuch die RS485 Schnittstelle hatte vom Werk aber nie funktioniert hat (somit habe ich nicht weiter daran gearbeitet).


RE: Probleme mit VISA und FTDI-USB auf RS422 chip - wernerIBN - 18.06.2012 08:26

Hi snuz,
ich habe immer CR am Ende jedes Kommandos. Daher war es elegant dieses CR als Event zu benutzen, und dann beim Erkennen des CR auszulesen. Das hat beim anderen USB-chip PERFEKT funktioniert, nicht bei dem FTDI. Ich habe es jetzt auf Pollen umgestellt, ohne Event, und es läuft. Ist natürlich unelegant, da ich häufiger pollen muss, um keinen String zu verpassen. So erhalte ich halt etwa jedes zweite mal einen Lesefehler (Timeout) weil noch kein String zum lesen da war... den Fehler ignoriere ich einfach.
Nicht schön, aber was soll ich machen.
Es ist eine Schrittmotorsteuerung. Zu FTDI habe ich keinen Kontakt. In einem anderen Projekt habe ich die DLL-Schnittstelle von FTDI benutzt, ging perfekt - umsomehr entäuscht es mich das gerade FTDI Probleme mit dem Event hat... ob es nun an VISA oder FTDI liegt ist mir egal, es geht halt nicht - muss ich halt anders lösen. Eben Pollen.

Danke für eure Hilfe.