AnsweredAssumed Answered

Keysight U2351A, communication (DI/O, AI/O) in LabVIEW

Question asked by m.werle on Jan 8, 2016
Latest reply on Jan 26, 2016 by m.werle
Edit: Problems in this post are solved. New Problems in Post #3

Hello everyone,

Im working on a control system for a generator. For this reason I'm programming a control programm in LabVIEW which communicates with the multifunctional data aquisition box by Keysight U2351A.

I've already installed the nessesary drivers and stuff. The instrument drivers provides me with special VIs in LabVIEW to configure the device more easily. 

My LabVIEW Programm is seperated into different VIs. One is responsible for the digital and analog output signals. Another one is responsible for the digital and analog input signals. 

The communication with the device doesn't start automaticly in the beginning of the programm, but manually later, after the user has adjusted everything he/she wants. 

I have several questions when it comes to the realisation:
- Should I do all the configuration in one VI (or configuring the DI/O and AI/O somewhere else)
- I'm still trying around with the Instrument-VIs (provided by the instrument driver) ... should I use them or just use the write/read VISA VIs and some strings with SCPI-commands? 

*Analog Output:*
The programm should send a new AO voltage level in a predefined frequency. (Or maybe as fast as possible?)
So... do I use single voltage output operations? 

- Voltage unipolar (0 to 10 V) 
- reference voltage intern
- No trigger needed

I used this SCPI Cmds to configure my AO:
(without the linebreaks in LabVIEW)
:SOURce:VOLTage:POLarity UNIPolar, (@201); 
:SOURce:VOLTage:RSouRCe INTernal, (@201); 
:SOURce:VOLTage:LEVel 0, (@201);
:ROUTe:ENABle 1, (@201);     
--:OUTPut 1--

and this Cmd to set my Output Voltage (e.g. 5.7 V output voltage)

SOURce:VOLTage:LEVel 5.70000, (@201)


For this example I let the Initialize-VI (1.1 in the screenshot) reset the device before it gets configured. That will be changed later on.

*Errors and problems*:

The vi runs perfectly, but when I close the while loop the error-out-VI gives me this message:
"Agilent U2300 Series.lvlib:Error Instrument reports:
+305,"Not able to perform requested operation; output has stopped"
+0,"No error"
   Complete call chain:
     Agilent U2300 Series.lvlib:Error
     Agilent U2300 Series.lvlib:Configure Analog Output"

Is this bad?

My (screenshot) VI --doesn't-- work+s+. The problem --lays somewhere-- layed in the unnessesary "OUTP 1"-command in the config. (The screenshot includes the mistake.) The AO part in the loop ist just fine. --When I start the programm and manually reset the device while the VI is in the loop, it works and I can adjust the AO voltage level with the Labview Control.--

Edited by: m.werle on Jan 8, 2016 6:41 AM

Edited by: m.werle on Jan 8, 2016 7:21 AM

Edited by: m.werle on Jan 8, 2016 7:33 AM

Edited by: m.werle on Jan 26, 2016 5:34 AM
Edited by: m.werle on Jan 26, 2016 5:34 AM