Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Mehrdrahtnachrichten werden von Listenern nicht erkannt, Adressierung & EDN OK... Zwei Karten getestet

Hallo,

 

Ich habe folgendes Problem mit meiner PCI-GPIB Karte. Die Karte ist installiert Treiber V. 2.70. Der Selbsttest ist OK. Ich kann mit der Karte den BUS scannen und auch im Interactive Control Geräte Adressieren, testen und Eindrahtnachrichten versenden.

Alle Mehrdrahtnachrichten werden aber NICHT erkannt. Die Listener empfangen irgendetwas aber nicht das richtige. Betriebsart ist EOI ohne EOS. Ich habe ZWEI Karten aus unterschiedlicher Quelle getestet (einmal NI PCI-GPIB einmal NI PCI-GPIB/GBIB+ -ohne Analyzer). Beide Karten produzieren den selben Fehler!

 

Ein Test mit einem anderen Rechner brachte dasselbe Ergebniss. Gegentest des Busses mit altem ISA Rechner & ISA-Karte war erfolgreich

 

Betriebssystem Windows XP-Prof. V2002, SP3.

 

Gibt es weitere Lösungsmöglichkeiten? Oder eine Testmöglichkeit die einzelnen Daten und Steuerleitungen des Busses manuell auf HI/LO zu setzen?

 

Gruß

Carsten Sch. 

 

0 Kudos
Message 1 of 7
(4,343 Views)

Mag 'ne doofe Frage sein, wird denn auch eine EndeDerNachricht Information übermittelt?

Wenn ich mich recht erinnere kann das bei 488 auf zwei Arten erfolgen: EOT-Leitung oder EOT-Zeichen senden. Manche Listener sind da recht eigen. Und evtl. hat der alte Treiber/Karte das automatisch gemacht, die Neue aber nicht.

 

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 2 of 7
(4,318 Views)

Hi Carsten,

 

 

hast du mal versucht den Treiber auf die neuste Version zu aktualisieren? Und bekommst du im MAX mit dem Testpanel das gleiche Verhalten?

 

TomBaum

0 Kudos
Message 3 of 7
(4,268 Views)

Hallo Henrik, Hallo Tom,

 

Also ich habe mittlerweile verschiedene Treiber, verschiedene Betriebssysteme (Win2000, 98, XP) auf 3 verschiedenen Rechnern Probiert. Teilweise mit Jungfäulichen, nur für diesen Test neu aufgesetzten Systemen. Vom Aktuellsten (7.6.1 ? habe das gerade nicht im Kopf) bis zur ältesten noch zu findenden WIN98 version.

Es ist komplett dasselbe Ergebniss. Es ist zum Verzweifeln. Ich habe auch testweise fünf verschiedene Listener, also alles was bei mir mit GPIB Schnittstelle herumsteht (Funkmessplatz, 2x Spekki, Network Analyzer sowie eine Schaltkarte) in den verschiedensten Konstellationen getestet. Kabel ausgetauscht.

 

Das einzige wo ich weiter bin ist, das es tatsächlich irgendein Problem mit der ENDE Erkennung gibt.

Die Probleme treten sowohl im MAX Communicator als auch im IC auf. Ich habe auch versucht mit LABVIEW meinen Spekki zu steuern (Das einzige Gerät wo ich ein fertiges VI gefunden habe, selber machen ist ja erst Sinnvoll wenn die HW läuft). ebendfalls Fehlerhaft.

 

Eines meiner Geräte (Der Funkmessplatz) hat die nützliche Funktion das er empfangene IEEE NAchrichten im Display anzeigt. Aber selbst das hilft mir nicht weiter...

 

Es läuft scheinbar weder die EOI noch die EOS Endeerkennung (habe mehrere Listener  die beides für sich oder in Kombi können) Das EOI Singnal ist aber DA. Ich kann es am Digiskope eindeutig sehen! 

WEnn ich so normal NAchrichten versende zeigt mein Messplatz aber nichts an! ICh habe rausgefunden das er einfach weiter auf weitere Daten wartet. Egal wie ich im MAX EOI und EOS konfiguriere...

Das interessanteste ist aber, wenn ich das EOS Zeichen CR mit \x13 einfach an den String anhänge, DANN zeigt mir mein Listener den Befehl korrekt als Empfangen im Display an - Macht aber trotzdem NICHTS!
WARUM ??? Und selbst wenn ich das "Nichts machen" Ignoriere, warum kann ich händisch das EOS Byte senden, die Automatische Generierung klappt aber scheinbar nicht? 

Als Krönung kommt aber noch: Hängt sich die Kombi LISTENER - KARTE zwischendurch kurz auf, so reagiert das Messgerät plötzlich auf Komandos, aber völlig anders als es soll... Einzelne Buchstaben werden plötzlich als Komandos gewertet, Aber voll Reproduzierbar... (Also B macht immer dasselbe, A auch usw.)

 Die ISA-Karten in der DOS Umgebung in meinen 486er laufen aber mit ansonsten völlig identischem Aufbau 1a!

 

Ich bin mit meinem Latein echt am ende, glaube vom Bauch her an ein Timing Problem. Da ich alle Signale am Scope sehen kann und auch die Ascii Zeichen alle Korrekt übermittelt werden glaube ich nicht mehr an einem Hardwaredefekt!Leider habe ich keinen 16Kanal Logikanalyzer zur Hand um das zu verifizieren. Aber warum dann mit drei Rechnern??? (1, 2, & 2,6 GHz).

Gibt es da irgendein Bekanntes Problem (Notwendige Einstellung BIOS/Betriebssystem?) 

Nächte Woche bekomme ich ein 4Kanal DSO das auch PRE-Trigger kann (Kann mein Derzeitiges leider nicht). Ausserdem noch eine dritte PCI Karte. Dann werde ich mal der Sache weiter auf dem Grund gehen.

 

Fall aber noch jemand Ideen hat - Ich bin für Jede Hilfe dankbar!

 

Gruß

Carsten

 

 

0 Kudos
Message 4 of 7
(4,257 Views)

Hallo Nochmal,

 

also ich habe jetzt herausgefunden das egal was ich einstelle wohl KEIN EOS Byte automatisch übermittelt wird. Zumindest die Zahl der DAV Impulse wird nicht erhöht. Ebendfalls habe ich herausgefunden das mit \x13 nicht das CR übermittelt wird sondern irgendetwas anderes. Das wird wohl der Grund sein warum das Gerät nicht reagiert. EOI kommt zuverlässig beim letzten Byte (Synchron mit DAV). Statt \x13 funktioniert iauch \x[irgendeineZahl mit <= 2 Stellen]

 

Lasse ich das \x im String weg werden einfach alle Strings nacheinander in den Speicher glesen und erst beim ersten \x verarbeitet. Bei der AT-BUS Karte kommt übrigends EOS [CR] + EOI was problemlos funktioniert...

 

Werde mal weiterschauen was tasächlich auf den D0-D7 Leitungen los ist, kann mir dieses Verhalten aber absolut nicht anders als mit Treiberproblemen erklären. Bleibt nur die Frage wareum nur bei mir, dafür aber mit Zwei KArten und drei PCs???

 

Habe alle einstellmöglichkeiten Möglichkeiten durch... Wie kann das jetzt nun sein?

 

Gruß

Carsten

0 Kudos
Message 5 of 7
(4,248 Views)

Ergänzung:

 

Ich sollte so spät (02.43 MEZ) nicht mehr Arbeiten. Natürlich muss bei der Escape Sequenz \x der Hex Wert eingegeben werden. Verwende ich das entsprechend \x0d statt der dezimalen 13 für [CR] so funktioniert es jetzt 100%

 

Allerdings bleibt die Frage: Warum funktioniert, unabhängig von der Einstellung im MAX / IC die automatische generierung nicht, wo das Manuelle hinzufügen innerhalb des Strings doch 1a geht? 

Das muss doch ein SW BUG oder Einstellungsfehler sein?

 

GRuß

Carsten 

 

0 Kudos
Message 6 of 7
(4,247 Views)

In LabVIEW würde ich über die Propertynodes (Eigenschaftsknoten) mal die VISA Einstellungen einsehen/setzen.

 

Es gibt auch noch ein Tool. Nennt sich NI-SPY und kann die 488 Aktivitäten protokollieren. Auf welchem Layer das arbeitet ????? Selber wenig genutzt.

 

 

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 7 of 7
(4,238 Views)