LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Keithley 2182 does not keep configuration

Dear all,

I am developing a LabVIEW program in which I measure voltages with the Keithley 2182. When I remotely implement my configuration (voltage digits and voltage range, f.i.), the apparatus quickly goes back to the default one. Why can be this be caused? Am I missing or not applying correctly some function? I attach a screenshot of the block diagram and front panel to show how my program was designed.

 

Thank you in advance

frontpanel.JPGblockdiagram.JPG

0 Kudos
Message 1 of 6
(2,358 Views)

Hi ambabiloni,

 


@ambabiloni wrote:

the apparatus quickly goes back to the default one. Why can be this be caused?


We don't know why this happens - as you only show a very small portion of your VI…

 


@ambabiloni wrote:

I attach a screenshot of the block diagram and front panel to show how my program was designed.


Would you send just a picture of your car to the garage when it needs to be repaired?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 6
(2,354 Views)

Hi GerdW,

 

Here is the vi in which my question was based.

Thank you for your fast reply,

 

Regards,

 

Adrián.

0 Kudos
Message 3 of 6
(2,348 Views)

Hi Adrian,

 

please clean up this VI before any further steps…

 

THINK DATAFLOW:

  1. The initialization VIs are called when the inner while loop starts its first iteration.
  2. The inner while loop starts for each new iteration of the outer while loop.
  3. The outer while loop starts a new iteration when the inner loop has finished.
  4. The inner loop finishes on either Stop button or an error of device communication.

So please debug using probes: are there communication errors? Are the Init VIs called again and again?

 

Example for possible cleanups:

The conversion belongs into a subVI, and there should be error handling in case the communication went wrong…

 

I would split up the whole VI into atleast 3 parallel running loops, with each device handled in it's own loop.

By using notifiers (or tag channels) you can use subVIs to simplify the mainVI, no need to use locals for data transfer.

Do you really need to multpliy with 1e6 to scale from Volt to mV?

Do you really need to read the data file in each iteration to display some data? You should atleast use DATAFLOW to avoid parallel file access (with possible errors!):

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Download All
Message 4 of 6
(2,345 Views)

Dear GerdW,

 

Thank you very much for your quick and detailed response. You are very right, there is problem in the loops that can provoke this mistake. Moreover, your solutions to optimize and simplify the operations performed in this program are very useful, it will help a lot.

 

Kind Regards,

 

Adrián.

0 Kudos
Message 5 of 6
(2,234 Views)

Following the previous message, I deleted the outer loop and kept only the operation for the Keithley for simplifying the operation.

 

I have seen that when I select "Configuration", the configuration for the voltage digits works but for enabling "autorange" or selecting "Voltage Channel" it does not respond. Looking at the Keithley display, I have seen it changes for a small fraction of time and then goes back to the default option.

 

Can anyone help me to determine why is the VI (included in this message) working for voltage digits but not for the other options?

 

Thank you in advance,

 

Regards

 

0 Kudos
Message 6 of 6
(2,204 Views)