LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I control my Thermo Neslab RTE-111 using Labview 6i?

I'm trying to control a Thermo Neslab RTE-111 circulating bath using a serial controller in LabView 6i. I found a controller for Thermo Neslab baths at the Developer Exchange, but I cannot get it to work. Does anyone else have any experience with this bath or similar?
0 Kudos
Message 1 of 11
(5,477 Views)
Hello-

Unfortunately I was unable to find a driver for this instrument either at http://ni.com/idnet. This leaves you with one of a couple options. It may be possible to modify an existing driver to work with this instrument. Otherwise, http://www.ni.com/devzone/idnet/other.htm states a few options to obtaining a driver. Drivers are developed based on demand and popularity so the more requests, the greater the possibility that one will be developed.

If you have any further queries, please let me know.

Randy Solomonson
Application Engineer
National Instruments
0 Kudos
Message 2 of 11
(5,477 Views)

Hi all,

 

I'm currently trying to communicate with the RTE-11 using LV 7.0.  I downloaded the driver for the RTE-140 series, and I checked the guides for both series and found that they're practically identical.  I ran the driver, but got the timeout error.  I wanted to check the settings in the device, but had trouble doing so as the process seemed different from the manual's.  Has anyone tried entering into the set loop of the device?  Any help would be greatly appreciated. The device communicates through RS-232.

0 Kudos
Message 3 of 11
(5,184 Views)

never mind,

I fixed the problem. Thanks 

0 Kudos
Message 4 of 11
(5,180 Views)
Please tell what the problem was.  That way if someone else searches the forum because they have the same problem, they will learn from your wisdom.Smiley Wink
0 Kudos
Message 5 of 11
(5,171 Views)

Hi all,

the driver for the RTE-140 workds for the RTE-111.  Today, i got the chance to actually change the setting in the device and turned on the RS-232 setting and made sure that the baud rate, parity and stop bit matched.  Although the reading vis from the driver worked, oddly enough I still couldn't write; I tracked down to the checksum vi where the array concatenation gave an "*" for the temperature bytes.  I still haven't figured the problem; hopefully, I'll find out an answer tomorrow.  Any help would be appreciated.

 
0 Kudos
Message 6 of 11
(5,164 Views)

Hi all,

So, I still haven't figured out the problem with the checksum vi from the RTE-140 driver.  It worked fine when concatenating a string of 5 or less bytes but anymore resulted in an "*".  For instance, if CA 00 01 F0 02 01 2C is the input, it'd give a checksum of B (not the DF desired; checksum should be the addition of all bytes(starting 00)). I really appreciate it if someone can help.  I've attached the checksum vi.

0 Kudos
Message 7 of 11
(5,151 Views)

You have your Append Checksum boolean switch controlling a case selector.  If it is set to True (Append Checksum), it takes two characters (1 byte) away from the checksum calculation and gives the correct result of DF.  Since you loop through and begin with i+1 times 2, it begins with the 00 characters (1 byte) just like you want.

 

If you set it to false, it takes 4 characters away from the checksum calculation, thus the first two characters (OK) but also the last two (not good) and you wind up with the wrong checksum of B.  Note you should probably set the width for the last number to hexadecimal string to be 2 so that you get 0B rather than just B.

 

Verify the integer representations you are using throughout the checksum.  Many of your constants and wires are I16, but also U32 and I8.  In reality, the calculation of the checksum should probably be just U8 throughout.

 

It would also be better if you set up your string array control to be in hex display and use the ASCII representions.  Rather than having 2 characters represent a byte such as F0, it would be better if it was just a single byte that would show up as F0 if the control was in hex display.  That way you don't have to do the 2 character manipulations all over the place.

 

Also, you can use the boolean functions such as XOR directly on a U8 integer numbers rather than converting them first to boolean arrays and back to numbers again.  By handling the strings as ASCII bytes rather than 2character representations of a byte, and proper use of integer representations and boolean math, you could probably knock your code down to a third of what it is.

 

Attached is a VI with modified code (I can only save it back to LV 😎 along with a screen shot of the code.

Download All
0 Kudos
Message 8 of 11
(5,145 Views)

Thanks so much Ravens Fan,

Not sure why, but I ran the same vi today on my laptop, using the same inputs, and strangly I got the desired checksum.  In any case, you're right though; the vi can really be shorten.

thanks again

0 Kudos
Message 9 of 11
(5,127 Views)

Thanks all for the information,

I downloaded the 2009 driver and am running into the same issues you all are.

Is it possible to replace the driver on line with one that contains these mods and works correctly?

 

 

0 Kudos
Message 10 of 11
(4,169 Views)