09-15-2010 04:30 PM
Hi there everyone. I have successfully downloaded the et24xx driver, and connected my eurotherm controller to my COM2 port on my computer, and when I run the Temperature Control and Monitoring example, the setpoint is correctly programmed to the front of the controller, and temperature read. My question is how is the controller supposed to communicate with a power supply to control the temperature? I do not see where in the example this information is entered. For example, I feel like somewhere I need to tell the program that I am sending an analogue signal between 0 and 5 volts to a power supply in order to control the temperature. I also need to tell the program where this analogue signal leaves the eurotherm control box don't I? I cannot find where this happens in the example, and also can't see a VI in the VI tree to use.
I measured voltages of the pins and nothing seemed to be trying to communicate from the eurotherm controller.
Any help at all is appreciated.
Thanks.
09-16-2010 09:51 AM
I'm a little confused as to what you're actually trying to control. Which Eurotherm model do you have? What do you mean when you said that you're "sending an analogue signal between 0 and 5 volts to a power supply in order to control the temperature". What does the power supply have to do with this, and how are you "sending" this signal? You also said you're measuing the voltages on the pins. The pins of what?
09-16-2010 10:13 AM
Thanks for your response, and sorry I wasn't very clear.
First of all, I have a Eurotherm 2404 which is measuring the temperature of my sample. What I want it to do is also control the temperature of that sample -- for instance, I give the Eurotherm a setpoint of 400 K, and I then want the Eurotherm to program a 50V, 10A power supply to resistively heat that sample. I currently use labview to program different power supplies around my lab. This is done by sending an analog signal to the power supply between 0 and 5 V (0 V resulting in 0 V from the power supply, 2.5 V resulting in half the maximum voltage from the power supply, and 5 V being the maximum from the power supply). It appears that it is possible for the eurotherm controller to send this analog signal from one of the four modules on the back of the controller, but I cannot figure out how to do this with the given labview vi's that came with the driver.
So in general, my question is how does the eurotherm 2404 controller "talk" to a power supply (or anything for that matter) to control the temperature of my sample? I can effectively read the temperature of the sample, but now I want the eurotherm controller to take this, look at its setpoint temperature, and program a power supply to get it to that temperature.
And when I said measuring the voltages of the pins, I mean the connections on the back of the eurotherm controller. I was trying to see if the controller was trying to send a signal through any of the modules, and it appears it isn't (I don't read any voltage).
I hope this is a little more clear now. I just can't find a VI that tells the eurotherm controller where to send the analog signal, and also what voltages to send that signal with.
Again, any help is appreciated. Thanks.
09-16-2010 12:08 PM
Typically you would need a solid state relay (SSR) or silicon controlled rectifier (SCR) to control the output voltage of your power supply based on the ouput voltage out of the back of your Eurotherm. If you look through the Eurotherm Driver Tree you will find a VI to poll the OP parameter of the Eurotherm. I am away from my lab right now but I can send you code examples if you need.
09-16-2010 12:22 PM
Thanks for the reply.
I guess something that might be helpful would be an example of how you control the temperature of your sample...What do you use to heat and cool your sample and how does your Eurotherm controller talk to it? What VI's do you use and also where do you connect it on the back of the Eurotherm controller (and how do you tell the Eurotherm what pins it should be using on the back of the box)?
I have no trouble programming the power supply with a simple 0-5V analog signal....I just need to figure out a way for labview to tell the Eurotherm to send that signal when a new setpoint is given to the Eurotherm.
Thanks.
09-16-2010 12:39 PM
We have a 2416 with the 0-10V analog option on output 1. This signal is carried via a simple BNC cable to the analog modulation input of a Newport 5600 high power diode driver, that drivers a fiber coupled diode laser. The laser light is then deliver along a fiber to some optics that focus the light onto our samples which are wrapped in metal foil with a K-type thermocouple. The thermocouple is wired to the input terminal of the Eurotherm. Does this make sense?
When you initialize the controller you want to set things like maximum output on out 1. For instance. Our diode laser is not rated for the the total output current that the diode driver is capable of delivering so we have to set the Max OP on the Eurortherm to 40%. For each temperature step we first set the PID values for that step and then Setpoint. Then we poll the Process Variable (Temperature in this case) and the Output % on from the Eurotherm. So while I can program the diode driver...in the mode we operate in there is no communication with the diode driver. Determining PIDs. cutbacks etc. can be done in an automated fashion, but we have the best luck with the empirical approach.
09-16-2010 01:10 PM
I am not including images of the whole code becasue its' pretty involved with while loops for movement of stages calculation, imaging etc.
Here are the basics.The user inputs a schedule of temperature steps, times and PID paramaters (Contained in the loacal variable "Future Steps". The while loop in the following two images handles timing of these steps, and queing of new steps.
I am using Master /Slave pattern here. The Enqueue Element aave the TimeOut Enum in the second image send the next setpoint to the Eurotherm after the the previous step has timed out.
Below are images shwoing the Setpoint/PID writes and the Temp and OP polling portions of the code.
Setpoint comes from Dequeued value that was enqueued in the Timing/sequencing while loop
Lots of extra stuff in here (graphing functionality, alll T,OP data re written to a binary TDMS file. and stats on each T-step).
I am sure the pros will have something to say about my use of local variables and such, but the two while loop master/slave architecture works pretty well.
09-16-2010 01:49 PM
Sloan,
In terms of your choice of output card...you may be best choosing those manually on the user interface of the 2404 however obtuse their menu structure is. In the spirit of Ron Popeil of infomericial fame - "Set it and forget it!" This is unless you need to change which output is being used during the course of analysis. In any case VIs to deal with this should be in the CONFIGURATION column of the driver tree.
10-05-2010 09:35 PM - edited 10-05-2010 09:36 PM
Hi JHourigan,
Nice coding. I can see that the program keeps setting the setpoint value. Do you use the time duration prameter to control temperature ramping rate? If not, how to control it?
10-06-2010 09:28 AM
Xubuli,
If you go to the VI tree there are couple of canned VIs that help you to limit the ramp rate.
ET24XX Configure OP Setpoint Rate Limit.VI allows you to limit the rate of increase of the the setpoint toward the final setpoint. I think (and you'll want to check the Eurotherm manual) that if you enter a value of 50...it means that you increase by 50% of the temperature difference per second(?) So if you were at room temperature (say 20 C) and want wanted to go to a 100 C then the setpoint would in the first second ramp to 60 C and then to 100 C in the 2nd second. The problem with this mode is that the ramp rate is dependent on the difference between the current T and the setpoint.
ET24XX Configure OP Program Segment Parameters.VI provides the ability to set the ramp rate independent of delta T. But then you will need to program entire heating schedules.
I wanted more control over the timing of changes in setpoint so I programmatically set the setpoint. However I could see using ramp rate and infinite dwell to accomplish the same goals if the absolute ramp rate was important to our application.
Jeremy