LabVIEWForum.de - parallel poll beim ieee488/gpib

LabVIEWForum.de

Normale Version: parallel poll beim ieee488/gpib
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich versuche versuche jetzt schone eine weile (ohne erfolg) beim 488Bus einen parallel poll durchzuführen
Ich habe mich dabei an die folgende Anleitung gehalten :
docs.jach.hawaii.edu/JCMT/gpib/gpib_appnote5_polling/gpib_appnote5_polling.pdf

Ich habe es erstmal mit einem Gerät getestet , und Sense auf 0 gestellt, was ja bedeuten müßte das
das Geräte die Leitung setzt wenn es keinen Request (ist = 0) angemeldet hat.
Ich habe das mit verschiedenen Geräten/Antwortkanälen probiert, leider erhalte ich
als Response immer nur Nullen.

//zurücksetzen
SendIFC(0);

//parallelpoll für Gerät mit Geräteadresse , für Datenleitung konfigurieren
Sense = 0;
PPollConfig(0,Geräteadresse, Datenleitung, Sense);

//parallelpoll durchführen
PPoll(0, Response)


Kann es sein das nicht alle Geräte Parallel-Poll unterstützen ?

Falls jemand einen Tip hat würde ich mich sehr freuen,
Grüße,
Lutz Altmann
Hallo,

ich kenne mich damit leider nicht aus, trotzdem interessiert mich das Thema auch.
Wo kriegst Du die Funktionen her und wie bindest Du die in LabVIEW ein (C-Code oder Quick-Basic)? Wacko
Wie werden die Befehle an das Gerät geschickt und woher kennst Du die Befehle? Blink
Ich arbeite auch mit GPIB, aber ich schicke über VISA meine SCPI-Befehle (*IDN?,...) und das verstehen die Geräte dann. Smile

Gruß Markus
Hallo,
also ich benutze die C-Funktionen aus der gpib.h Bibliothek.
Es handelt sich dabei um spezielle Busbefehle, die eigentlich Geräteunabhängig sind .
Man kann damit das Gerät identifizieren welches einen Service Request angezeigt hat.

Code .:
#include <gpib.h>
#include <ansi_c.h>
static short response;
Addr4882_t AddressList[3];
int main(){

// reset
SendIFC(0);

//config ppoll
// board device datenleitung für antwort sense
PPollConfig (0, 7, 8, 0);


//ppoll
PPoll(0, &response);

printf("nresponse: %in",response);


AddressList[0] = 7;
AddressList[1] = NOADDR;

//unconfig ppoll
PPollUnconfig(0, AddressList);

printf("finished");

}


' schrieb:Hallo,

ich kenne mich damit leider nicht aus, trotzdem interessiert mich das Thema auch.
Wo kriegst Du die Funktionen her und wie bindest Du die in LabVIEW ein (C-Code oder Quick-Basic)? Wacko
Wie werden die Befehle an das Gerät geschickt und woher kennst Du die Befehle? Blink
Ich arbeite auch mit GPIB, aber ich schicke über VISA meine SCPI-Befehle (*IDN?,...) und das verstehen die Geräte dann. Smile

Gruß Markus
.... und wird das in LabVIEW eingebunden, oder läuft das unabhängig? Wacko
Wenn es eingebunden wird, wo kann man das dann machen? Blink
Ich habe noch nie irgendwo gesehen, wie man C mit LabVIEW einbindet. Sad
Dabei würde es mich do so interessieren.....Unsure

Gruß Markus

' schrieb:Hallo,
also ich benutze die C-Funktionen aus der gpib.h Bibliothek.
Es handelt sich dabei um spezielle Busbefehle, die eigentlich Geräteunabhängig sind .
Man kann damit das Gerät identifizieren welches einen Service Request angezeigt hat.

Code .:
#include <gpib.h>
#include <ansi_c.h>
static short response;
Addr4882_t AddressList[3];
int main(){

// reset
SendIFC(0);

//config ppoll
// board device datenleitung für antwort sense
PPollConfig (0, 7, 8, 0);
//ppoll
PPoll(0, &response);

printf("nresponse: %in",response);


AddressList[0] = 7;
AddressList[1] = NOADDR;

//unconfig ppoll
PPollUnconfig(0, AddressList);

printf("finished");

}
Referenz-URLs