14.06.2012, 15:22
Beitrag #1
|
wernerIBN
Datenflussumgeher
Beiträge: 124
Registriert seit: Sep 2009
8.6 und 2011
2000
DE
52425
Deutschland
|
Probleme mit VISA und FTDI-USB auf RS422 chip
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.
Fehlermeldungen der Art: VISA: (Hex 0xBFFF0015) Zeitüberschreitung, bevor der Vorgang abgeschlossen werden konnte usw.
Hat da jemand eine Idee was falsch ist ?
Werner
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
|
|
|
15.06.2012, 08:15
Beitrag #2
|
|
|
15.06.2012, 08:39
Beitrag #3
|
wernerIBN
Datenflussumgeher
Beiträge: 124
Registriert seit: Sep 2009
8.6 und 2011
2000
DE
52425
Deutschland
|
RE: Probleme mit VISA und FTDI-USB auf RS422 chip
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
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
|
|
|
15.06.2012, 10:27
Beitrag #4
|
snuz
LV-Eumel
Beiträge: 245
Registriert seit: Mar 2009
2011
2008
EN
Deutschland
|
RE: Probleme mit VISA und FTDI-USB auf RS422 chip
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
|
|
|
15.06.2012, 10:59
Beitrag #5
|
wernerIBN
Datenflussumgeher
Beiträge: 124
Registriert seit: Sep 2009
8.6 und 2011
2000
DE
52425
Deutschland
|
RE: Probleme mit VISA und FTDI-USB auf RS422 chip
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 ?
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
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
|
|
|
15.06.2012, 11:09
(Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2012 11:12 von snuz.)
Beitrag #6
|
|
|
15.06.2012, 13:06
Beitrag #7
|
wernerIBN
Datenflussumgeher
Beiträge: 124
Registriert seit: Sep 2009
8.6 und 2011
2000
DE
52425
Deutschland
|
RE: Probleme mit VISA und FTDI-USB auf RS422 chip
Danke, verstehe.
Gibts da was was variabel lange Strings bis zum CR einliest ?
Oder muss man das selber bauen ?
Werner
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
|
|
|
18.06.2012, 08:26
Beitrag #9
|
wernerIBN
Datenflussumgeher
Beiträge: 124
Registriert seit: Sep 2009
8.6 und 2011
2000
DE
52425
Deutschland
|
RE: Probleme mit VISA und FTDI-USB auf RS422 chip
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.
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
|
|
|
| |