Quantcast
Channel: Instrument Control (GPIB, Serial, VISA, IVI) topics
Viewing all articles
Browse latest Browse all 5565

GPIB only received FFFFF as a response in NI MAX

$
0
0

Hello everyone, 

I am new to LabView and GPIB. Currently I am trying to communicate with an old piezo controller (Physik Instrumente (PI) E-710) through NI-PCI GPIB. I can communicate with the controller if I used the original software from PI (Nanocapture 2.02 beta). But it is very old and inconvenient, so I want to make my own LabView program to control it.

 

To do so, I used NI I/O trace (formerly NI Spy) to see the configuration and the commands sent/received when I used the original software, and tried to replicate the setting and commands in NI MAX Interactive control. 

 

Problem:

The NI MAX always shows a random number of "FFFF..." as a response from the piezo controller, even in the identification of the instrument (picture attached). I thought this might be due to wrong configuration setting.

 

Troubleshooting 1 : use the IO Trace and change the configuration in NI MAX

 

IO Trace showed:

1 ibconfig(0, IbcAUTOPOLL(0x0007), 0 (0x0))

2 ibdev(0, 4, 0(0x0), T3s (12), 0, 0x0C0A)

3 ibonl(UD0,1)

4 ibclr(UD0)

5 ibeos(UD0,0x0C0A)

6 ibeot(UD0,0)

7 ibrsp(UD0, 64 (0x40))

8-... ibrsp(UD0, 0 (0x00))

 

I checked the meanings in the GPIB reference, and tried to follow the configuration in NI MAX:

GPIB Setting:    Primary address: 0 

Secondary address: none 

I/O timeout: 3 s

System Controller: checked

Enable Autopolling: unchecked

Termination Setting: only checked "Terminate Read at EOS" box. EOS Byte: 10.

 

However, I cannot set EOS byte as 0x0C0A or 3082 in decimal like what IO Trace showed (EOS can only 0-255). So I set 10 (Line Feed) as the EOS because the E-710 manual said the command is terminated by Line Feed (byte 10).

 

Failed. I still only can read "FFFFFF..." as the response from the device.

 

Troubleshooting 2 : use the NI MAX Interactive control to replicate the command seen in IO Trace.

 

I cannot replicate exactly like what I saw in IO Trace. What I can make:

1 ibconfig(GPIB0, IbcAUTOPOLL(0x0007), 0 (0x0))

2 ibdev(GPIB0, 4, 0(0x0), T3s (12), 0, 0x0C0A)

3 ibonl(UD0,1)

4 ibclr(UD0)

5 ibeos(UD0,0x0C0A)

6 ibeot(UD0,0)

7 ibrsp(UD0, 0 (0x00))

 

I cannot order the board 0 because interactive control in NI MAX always start with board GPIB0. And I never got the 0x40 as a response from ibrsp.

 

Still failed. Only got "FFFFFF..." when I tried to read (ibrd) or querry the identity of the device.

 

Questions:

Did I misunderstood something? If I cannot communicate with NI MAX, can I still communicate with the device using LabView program? With GPIB, VISA, or? Also sometimes Iberr has a value (1 and 3082 in my case) even though the Ibstat did not show any error (0x0100), why this happens?

 

I am using NI MAX and IO Trace ver 17.

 

Sorry for the long post. Thank you very much.

 

Kind regards,

Jane

 


Viewing all articles
Browse latest Browse all 5565

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>