Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Error 1074135030 and hyper-terminal failure while communicating with the power supply

Solved!
Go to solution

Hi Ela,

did myself a simple vi and found your problem! It's quite simple, you have range check enabled!!! disable it and you will be able to pass anything to the xtr even if you're out of range it will be sent to it.

 

Check this simple vi, you should be able to run happily after that Smiley Happy 

 

regards,

Richard Aubin
Certified LabView Associate Developer
richard.aubin@agcocorp.com
Message 31 of 48
(2,737 Views)

Hello Richard,

 

Thanks for your help, it seems your suggestion works for me :womanvery-happy: I really really appreciate your help. At least, in this step, I got what I wanted. I remember I tried disabling the limit check before but I'm wondering why it doesn't work, anyway, now it works.

 

I used your code but your code gives me an error :

IviDCPwr IVI Error Converter.vi<ERR>

A connection to the instrument has not been established.

 

 

<b>Complete call chain:</b>

     IviDCPwr IVI Error Converter.vi

     IviDCPwr Configure Current Limit.vi

     xtr PSU IVI test.vi

 

I do not know why! the initialization works but next step it fails.

I used my own code without using the IviDCPwr palette.

 

Anyway, Thanks thanks thanks;) 

0 Kudos
Message 32 of 48
(2,727 Views)

Hello,

 

As we discussed before, i eventually succeeded in working with my device, everything is going well with it to generated the desired output voltage. Now I want to use it in my main code in a loop that changes the output voltage-level in each iteration. I have attached a shot from my code.all the functions including initialize, enable output, close,... are placed out of the loop and only the function" configure the output level"  that set the desired level for output is located in the loop. I have error SOMETIMES...different errors:

 

1)       XanXTR Configure Voltage Level.vi<ERR>

Driver Status:  (Hex 0xBFFF0015) Timeout expired before operation completed.

 

Primary Error:(Hex 0xBFFC0011) Identification query failed. 

 

2) Error -1074135039 occurred at XanXTR Configure Voltage Level.vi

XanXTR Configure Voltage Level.vi<ERR>

Driver Status:  (Hex 0xBFFA0001) Instrument error detected.  Call the PREFIX_error_query function and examine the error  code and error message parameters for additional information regarding the error.

 

Primary Error:(Hex 0xBFFA0001) Instrument error detected.  Call the PREFIX_error_query function and examine the error  code and error message parameters for additional information regarding the error. 

 

I recieve these two errors alternatively, they come up and disapear fast.

 

Any idea??? specially about that second error

 

Thanks,

Elahe 

0 Kudos
Message 33 of 48
(2,669 Views)

Hi Ela,

the image you've posted is very compressed can't see much of what is going in this vi.

 

Anyway, for those kind of problems I would go trying different thing:

1- what is the settling time of the power supply, will it work if I go slower (these instruments don't have a big serial buffer, it has to complete an action completly before it's ready to receive more actions)

2- try putting a disable-enable output before and after setting the new power (sometimes documented in the user manual for a more stable use)

3- look at the serial communication with a sniffer to see if power supply send complete answers (use NI-SPY included with many NI installs like NI-VISA full install, not runtime)

   3.1 if sometimes incomplete answers, the timeout value for the read action might be too small... but I would doubt that because it would fail pratically all the time.

 

ps: you're point 2) is just a reading problem with "*ESR?", this command is sent each time to verify status events and errors on instrument. It was probably caused by a previous incomplete reading or the reason why you get a timeout... 

 

pps: checking the documentation i've seen a "*OPC?" that queries the operation complete status. It could help if you'd put this before and loop on it until previous operation is completed before sending the new power configuration. There is probably an LV vi for this in the xanxtr driver. 

 

Try those and give me news about you're progress.

 

regards,

 

Richard Aubin
Certified LabView Associate Developer
richard.aubin@agcocorp.com
Message 34 of 48
(2,652 Views)

Hi Richard,

 

Thanks a lot for your input.

I followed your suggestions:

 

1) the setting time of the device is 0.03s for each operation by default. I am using the same one

2) I tried it and doesn't worked for me

3) 3.1) you are right, I checked it by NI-spy and the read function doesn't become complete before the the device is powered with the next input

3.2)You are right, I attached the capture file(capture4).

I used a "set command time delay" function after "configure output level" to allow the device enough time to complete the operation. The typical value is 0.025-0.30. I set it for .35 .4 .45 .For .35 and .4 I have the same errors. for .45, I almost have no errors but sometime at the start of the running, I have "the identification query failed" but in spy capture the same error is seen (capture 6) 

 

PPS: I attached my code have a look at it please, I used the " write to buffer"  to write *OPC? and activate the first bit of the  " set the event register", I have looped this function as long as the first bit is not set( if it is set , means the OPC completed). I used this loop both before and after the "configure output level" individually, but it seems , it doesn't work at all because I have no output  i.e. the code remain in the loop because the first bit doesn't become set . I have no idea just attached the capture for this one as well(capture7).

 

I really appreciate your following up my problem and sorry for my bad way of writing! 

 

Thankssssss,

Ela 

 

Download All
0 Kudos
Message 35 of 48
(2,626 Views)

My code( loop after powering the device)(main loop 😎 & (loop before powering the device)(main loop9)

 

Download All
0 Kudos
Message 36 of 48
(2,625 Views)

Hi Ela,

you will have to save your VIs to labview version 8.2 because I don't have an easily accessible version of 8.6 and over... and not really tempted to disrupt my stable setup with a newer version of labview (even though its possible to install many versions....)

 

Thanks,

Richard Aubin
Certified LabView Associate Developer
richard.aubin@agcocorp.com
0 Kudos
Message 37 of 48
(2,604 Views)

HI Richard,

 

These are saved for LV 8.2.

 

Thanks 

Download All
0 Kudos
Message 38 of 48
(2,595 Views)

Hi Ela,

I'm looking at your vi and there is some points I'd like to underline:

1-if I understand your vi your are regulating a peltier cell. A peltier has to be regulated in current not in voltage so why are you changing the voltage when you are regulating the current already?

2-When doing an *OPC? you have to read back from it and verify if you get a 0 or 1 (1 is completed I think). Problem with the command is that I doubt it would work on the PSU because of channel adressing.

3-I'm sending a very simple example of a current regulation setup with error query. No need of status register query with the error query.

 

Other than that, I don't see what could be done.

 

Regards,

Richard Aubin
Certified LabView Associate Developer
richard.aubin@agcocorp.com
Message 39 of 48
(2,574 Views)

Hi Richard,

 

Thanks for your suggestions, I am going to make the proper adjustments to my code. but I have another question.

That is really great that you are familiar with peltier cell. You are right and I want to use this code to regulate the peltier temperature using a PID controller. 

 

I have two heatsink one for cold side and one for hot side. I use the peltier for heating. so the temperature of the block which is attached to the cold side( and becomes warm)  should be adjusted in  the desired temperature( this desired temperature will being calculated in another code).

 

When I want to adjust the initial value for the voltage and current mannually, I used the data sheet curves of my peltier cell, but now in the code I am not sure if the way I use is correct. I  set the max voltage and start changing the current (by PID) where by the PSU is kept in CC always and can regulate the peltier by current. If this method is correct please, confirm it then I can apply your suggestions.

0 Kudos
Message 40 of 48
(2,562 Views)