Hallo Leute Wollte mal fragen, ob es möglich ist GPIB Geräte mit altem Standard 488.1 anzusteuern mit GPIB Karten der neuen Generation 488.2. Wo gibt es da Probleme ? G. Tobi
Probleme gibt es da keine IEEE488.2 ist eine Erweiterung (um grundlegende Protokollfunktionen) und kompatibel zu 488.1
Danke erstmal Ich versuche einen alten Dos Rechner der als Motorcontroller (Bindeglied zwischen GBIP Karte und Motorsteuerung) fungiert an neue Technik anzupassen, dazu existiert zwar schon ein uraltes Dos Programm, welches nun angepasst werden soll. Leider funktioniert die Kommunikation nicht. Das Programm fragt den Bus ab mit ibrd(addr, lpstring, längestring) und gibt als Adresse (addr) die eigene Adresse an und nicht den Master. Da das Programm aber mal funktionierte habe ich mir dabei nichts gedacht, sollte ich als Adresse mal die 0 (Master) angeben ? Ja blöde Frage aber wie gesagt das DOS Programm sollte ja mal funktioniert haben. Wie gesagt das Programm bleibt bei ibrd hängen, und ich weiss nicht, was ich beim Master für ein Befehl senden muss, damit es beim Slave auch gelesen werden kann. ibwr habe ich schon getestet , es kam eine Fehlermeldung zurück. Wäre auf jede Antwort erfreut. G. Tobi
Hmm, ich werde aus deiner Beschreibung nicht wirklich schlau. Beim GPIB unterscheidet man eigentlich zwischen Talker (=Master?), Listener (=Slave?) und Controller. Erzähl mal, was mit welcher Adresse am Bus hängt und was passieren soll. Was dein Befehl "ibrd" macht, solltest du in der Dokumentation nachschlagen... wir können es nämlich nicht erraten... Und wenn du nicht weißt, welche Befehle du senden musst, um dein System zu initialisieren => Handbücher! Wie ich schon sagte, erweitert IEEE488.2 den alten Standard um grundlegende Protokollfunktionen, die vorher gar nicht vorhanden waren. Du wirst also nicht drum herum kommen, die Befehle nachzuschlagen.
Vielleicht einfacher: DOS Rechner mit GPIB Karte = Slave = Listener Windows Rechner mit GPIB Karte = Master = Talker Master Adresse = 0 ; Slave Adresse = 21 ; Ein uraltes Dos Programm läuft auf dem DOS Rechner und fragt ständig den Bus ab. Da wir uns ja jetzt im 21. Jahrhundert befinden weiß keiner mehr so richtig, welche Kommandos der Master absenden muss, damit am Slave etwas ankommt. Der Quellcode des DOS Programms liegt vor. Ich habe aber keine Ahnung davon, welche Kommandos und mit welchen Parametern vom Master übergeben wurden, damit die Kommunikation zustande kommt. Der Dos Rechner = Slave = Listener Wertet die ankommenden Daten aus und übergibt Kommandos an Motorsteuerungskarten. Oberstes Ziel ist eine Kommunikation zustande zu bringen zwischen dem Dos und dem Windows Rechner. Ich habe eigentlich gedacht, dass die Befehle ibrd ( ib read ) und so weiter denjenigem bekannt sind, der mir antwortet. Normalerweise fungieren Ja Messgeräte u.s.w als Slave und der PC mit der Karte als Master. Nun soll aber ein Rechner als Slave fungieren irgendeiner eine Ahnung oder ein Tip wie das Normalerweise gemacht wird ? G. Tobi
Was für eine Karte hast du da eingebau ? ist es eine PC2A-Karte von NI ??, wenn ja dann kannst du über das Program IBCONF.EXE im Fenster GBIP0, Zeile: Board is System Controller = yes oder = no einstellen ob die jeweilige Karte Master oder Slave ist. Gruß Walter
Hi, > DOS Rechner mit GPIB Karte = Slave = Listener > Windows Rechner mit GPIB Karte = Master = Talker > Master Adresse = 0 ; > Slave Adresse = 21 ; aha... Gewöhnlich ist die 21 die Adresse vom Controller. Aber da auch mehrere Controller möglich sind, sollte das kein Problem sein. > Das Programm fragt den Bus ab mit > ibrd(addr, lpstring, längestring) und gibt als Adresse > (addr) die eigene Adresse an und nicht den Master. Auf dem Bus wird nur die Ziel- nicht die Quelladresse übertragen. > Da wir uns ja jetzt im 21. Jahrhundert befinden weiß keiner > mehr so richtig, welche Kommandos der Master absenden muss, > damit am Slave etwas ankommt. Der Quellcode des DOS Programms > liegt vor. Ich habe aber keine Ahnung davon, welche Kommandos > und mit welchen Parametern vom Master übergeben wurden, damit > die Kommunikation zustande kommt. Im Quellcode deines DOS-Programms sollten sich alle Befehle die irgendetwas bewirken finden; z.B. in Vergleichen mit den Werten, die vom Bus gelesen werden. > Wie gesagt das Programm bleibt bei ibrd hängen Und wieder: Dokumentation... wartet die Funktion solange, bis irgendwann Daten für deinen Rechner am Bus anliegen? > Ich habe eigentlich gedacht, dass die Befehle ibrd ( ib read ) > und so weiter denjenigem bekannt sind, der mir antwortet. Ist das dein Ernst? Du hast nicht ein Wort darüber verloren, welche Hardware, welche Bibliotheken, welche Programmiersprache... du verwendest. Soll ich das aus den Eingeweiden meiner Goldfische lesen? ;-) Gruß Christian
Es ist eine ISA Karte von NI habe auch IBCONF gefunden als Adresse war dort die 5 eingestellt, vielleicht lag es daran, habe mal die Adresse auf 21 eingestellt. Hoffe das jetzt mal irgendwann was Passiert. G. Tobi
> DOS Rechner mit GPIB Karte = Slave = Listener > Windows Rechner mit GPIB Karte = Master = Talker > Master Adresse = 0 ; > Slave Adresse = 21 ; Ich verstehe deine Hardware nicht ?? Du hast einen DOS-Rechner mit eigener GPIB-Karte, einen Windows-Rechner mit eigener GBIP-Karte und eine Motorsteuerung mit GPIB-Anschluß. Was möchtest Du überhaupt machen ?? Gruß Walter
Die Motorsteuerung besteht aus ISA Steckkarten, diese haben !keinen! eigenen GPIB Controller. Deswegen wurde ein Programm geschrieben welche die GPIB Kommandos einer anderen GPIB Karte umwandelt in Kommandos, die die Motorsteuerung versteht. Der Dos Rechner fungiert also als Bindeglied zwischen der Motoransteurung und dem GPIB Bus. Ich habe es inzwischen endlich geschafft eine Kommunikation zustandezubringen. Danke an alle, die sich Beteiligt haben. Ganz besonders Walter, der den entscheidenden Tip gab. Den Rest, das Dos- Programm zu dischiffrieren ( Rechtschreibkorrektur erwünscht ) muss ich alleine durchboxen. G. Tobi
Rechtschreibkorrektur: "dechiffrieren" ;-) Hauptsache, du kommst weiter. Viel Erfolg noch
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.