There is a plug&play driver available for 4156C at
http://adn.tm.agilent.com/index.cgi?CONTENT_ID=2279
That may be your best bet in getting started. As Shawn mentioned (while quoting an impeccable source ) the old panel driver was written for 4156A and hasn't been maintained or updated since 1994 or 1995.
To answer the last question, IEEE-488.2 defines 3 ways to synchronize a measurement. However, not all 3 are implemented by every instrument.
The first is the *WAI. This command will block the input buffer from processing any more commands until all pending overlapped operations have completed. The problem with this one is that it generally hangs the handshake on GPIB, and will often cause timeouts as you have discovered.
The answer is to increase the timeout, or disable it completely. You do this through a direct I/O transaction to the interface session. Don't forget to restore the old timeout value afterwards.
A second way is to send the *OPC? Command. This command returns a value of
1 when all pending operations have completed, but it does have the same potential timeout problems as described above.
The third method is the one I use when available. Send the command *OPC (not *OPC?). This command will assert the OPC bit in the serial poll register when all pending operations have completed. After sending the *OPC command, perform serial polls until the OPC bit is asserted (I think it is bit 4, but I don't have a manual handy). You must also place a wait statement in the polling loop or the instrument will thrash doing serial poll responses and never complete the measurement.
Again, I don't know if the 4156 has the *OPC command available, but I would use this if available. If there is no *OPC command in the 4156, you can generally find a status bit that indicates end of sweep. However this can be complicated in a SCPI instrument and probably you would need to find an example in the manual.
Jay Nemeth-Johannes
Smart Sensor Systems
720 SW 14th Street
Loveland, Colorado 80537
(970) 663-0006
www.SmartSensorSystems.com
> -----Original Message-----
> From: Arunanshu Mohan Roy [mailto:ngmtmp1@cypress.com]
> Sent: Thursday, May 25, 2006 8:08 AM
> To: VRF
> Subject: [vrf] controlling HP4156A using Direct IO
>
> Hi
>
> I'm having some trouble writing codes for HP4156A semiconductor
> parameter analyzer. has anyone got any samples that I can take a look
> at. Also is there a good way to find out when a measurement has been
> completed after the command is given? I'm currently using a *WAI
> command but it leads to a timeout error if the measurement takes too
> long.
>
> Thanks a lot
> Arunanshu
>
> ---
> You are currently subscribed to vrf as:
> jay.johannes@completetest.com To subscribe please send an email to:
> "vrf-request@lists.it.agilent.com" with the word subscribe in the
> message body.
> To unsubscribe send a blank email to
> "leave-vrf@it.lists.it.agilent.com".
> To send messages to this mailing list, email "vrf@agilent.com".
> If you need help with the mailing list send a message to
> "owner-vrf@it.lists.it.agilent.com".
> Search the "unofficial vrf archive" at
> "www.oswegosw.com/vrf_archive/".
>
---
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com".
Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/".
http://adn.tm.agilent.com/index.cgi?CONTENT_ID=2279
That may be your best bet in getting started. As Shawn mentioned (while quoting an impeccable source ) the old panel driver was written for 4156A and hasn't been maintained or updated since 1994 or 1995.
To answer the last question, IEEE-488.2 defines 3 ways to synchronize a measurement. However, not all 3 are implemented by every instrument.
The first is the *WAI. This command will block the input buffer from processing any more commands until all pending overlapped operations have completed. The problem with this one is that it generally hangs the handshake on GPIB, and will often cause timeouts as you have discovered.
The answer is to increase the timeout, or disable it completely. You do this through a direct I/O transaction to the interface session. Don't forget to restore the old timeout value afterwards.
A second way is to send the *OPC? Command. This command returns a value of
1 when all pending operations have completed, but it does have the same potential timeout problems as described above.
The third method is the one I use when available. Send the command *OPC (not *OPC?). This command will assert the OPC bit in the serial poll register when all pending operations have completed. After sending the *OPC command, perform serial polls until the OPC bit is asserted (I think it is bit 4, but I don't have a manual handy). You must also place a wait statement in the polling loop or the instrument will thrash doing serial poll responses and never complete the measurement.
Again, I don't know if the 4156 has the *OPC command available, but I would use this if available. If there is no *OPC command in the 4156, you can generally find a status bit that indicates end of sweep. However this can be complicated in a SCPI instrument and probably you would need to find an example in the manual.
Jay Nemeth-Johannes
Smart Sensor Systems
720 SW 14th Street
Loveland, Colorado 80537
(970) 663-0006
www.SmartSensorSystems.com
> -----Original Message-----
> From: Arunanshu Mohan Roy [mailto:ngmtmp1@cypress.com]
> Sent: Thursday, May 25, 2006 8:08 AM
> To: VRF
> Subject: [vrf] controlling HP4156A using Direct IO
>
> Hi
>
> I'm having some trouble writing codes for HP4156A semiconductor
> parameter analyzer. has anyone got any samples that I can take a look
> at. Also is there a good way to find out when a measurement has been
> completed after the command is given? I'm currently using a *WAI
> command but it leads to a timeout error if the measurement takes too
> long.
>
> Thanks a lot
> Arunanshu
>
> ---
> You are currently subscribed to vrf as:
> jay.johannes@completetest.com To subscribe please send an email to:
> "vrf-request@lists.it.agilent.com" with the word subscribe in the
> message body.
> To unsubscribe send a blank email to
> "leave-vrf@it.lists.it.agilent.com".
> To send messages to this mailing list, email "vrf@agilent.com".
> If you need help with the mailing list send a message to
> "owner-vrf@it.lists.it.agilent.com".
> Search the "unofficial vrf archive" at
> "www.oswegosw.com/vrf_archive/".
>
---
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to "owner-vrf@it.lists.it.agilent.com".
Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/".
http://adn.tm.agilent.com/index.cgi?CONTENT_ID=2279
That may be your best bet in getting started. As Shawn mentioned (while
quoting an impeccable source
4156A and hasn't been maintained or updated since 1994 or 1995.
To answer the last question, IEEE-488.2 defines 3 ways to synchronize a
measurement. However, not all 3 are implemented by every instrument.
The first is the *WAI. This command will block the input buffer from
processing any more commands until all pending overlapped operations have
completed. The problem with this one is that it generally hangs the
handshake on GPIB, and will often cause timeouts as you have discovered.
The answer is to increase the timeout, or disable it completely. You do
this through a direct I/O transaction to the interface session. Don't
forget to restore the old timeout value afterwards.
A second way is to send the *OPC? Command. This command returns a value of
1 when all pending operations have completed, but it does have the same
potential timeout problems as described above.
The third method is the one I use when available. Send the command *OPC
(not *OPC?). This command will assert the OPC bit in the serial poll
register when all pending operations have completed. After sending the *OPC
command, perform serial polls until the OPC bit is asserted (I think it is
bit 4, but I don't have a manual handy). You must also place a wait
statement in the polling loop or the instrument will thrash doing serial
poll responses and never complete the measurement.
Again, I don't know if the 4156 has the *OPC command available, but I would
use this if available. If there is no *OPC command in the 4156, you can
generally find a status bit that indicates end of sweep. However this can
be complicated in a SCPI instrument and probably you would need to find an
example in the manual.
Jay Nemeth-Johannes
Smart Sensor Systems
720 SW 14th Street
Loveland, Colorado 80537
(970) 663-0006
www.SmartSensorSystems.com
> -----Original Message-----
> From: Arunanshu Mohan Roy [mailto:ngmtmp1@cypress.com]
> Sent: Thursday, May 25, 2006 8:08 AM
> To: VRF
> Subject: [vrf] controlling HP4156A using Direct IO
>
> Hi
>
> I'm having some trouble writing codes for HP4156A
> semiconductor parameter analyzer. has anyone got any samples
> that I can take a look at. Also is there a good way to find
> out when a measurement has been completed after the command
> is given? I'm currently using a *WAI command but it leads to
> a timeout error if the measurement takes too long.
>
> Thanks a lot
> Arunanshu
>
> ---
> You are currently subscribed to vrf as:
> jay.johannes@completetest.com To subscribe please send an
> email to: "vrf-request@lists.it.agilent.com" with the word
> subscribe in the message body.
> To unsubscribe send a blank email to
> "leave-vrf@it.lists.it.agilent.com".
> To send messages to this mailing list, email "vrf@agilent.com".
> If you need help with the mailing list send a message to
> "owner-vrf@it.lists.it.agilent.com".
> Search the "unofficial vrf archive" at
> "www.oswegosw.com/vrf_archive/".
>
---
You are currently subscribed to vrf as: rsb@soco.agilent.com
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to
"owner-vrf@it.lists.it.agilent.com".
Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/".