09-19-2009 09:23 AM
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.
09-23-2009 03:55 AM
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.
09-30-2009 09:52 AM
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
09-30-2009 05:06 PM
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
09-30-2009 07:28 PM
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
09-30-2009 07:50 PM
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
10-01-2009 02:12 AM
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.