LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Does anybody help me to develop LABVIEW program for PCR Cycle ?

Hi,
 
I am looking for LABVIEW program which can help me to do PCR cycle.Presently I have  developed a system with USB DAQ 6009,heater and thermistor to control one temperature at a time using relay switch and PID toolkit of LABVIEW.Now I am looking how can I control three temperatures in PCR cycle.Basically PCR is an amplification technique for DNA.It requires three different temperatures to be maintained in one cycle.In order to bring out complete reaction there might be 30-40 cycles.
To explain more clearly ,One cycle consist of maintaining a temperature of heater at 95degC for 1 min than at 55degC for 1 min and than to 77degC 1 min and than again 2nd cycle starts with temp reaching 90degC (1min)cooling to 55degC(1min) and than heating to 77degC(1min) ...and goes on till 30 cycles.(for cooling i will just use air)
I hope my problem make sense,I would really appreciate if any one help me in developing this thermal cycleron LABVIEW.
 
Thanks
 
Ahsan
0 Kudos
Message 1 of 6
(3,832 Views)
Hello Ahsan,

Based on the application you built for temperature control with the USB-6009, it sounds as if you are familiar with at least the basics of LabVIEW. It also sounds as if you know the requirements of the application as well. So, I assume that you are looking for some pointers for the application architecture?

I would suggest that you use a state machine architecture for this application. With this architecture you can determine the current actions of your application based on what state it is that you are in. You also control when the transition is made to the next state. The basic layout of this architecture can be found as one of the design patterns in LabVIEW. Please take a look at the linked description of this architecture and post back if I have misunderstood your question. Thanks,

Mike D.
National Instruments
Applications Engineer

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

Hi Mike,

Thanks for your suggestion,Well I looked into the state machine example and came up with following code to bring out thermal cycling.Well when I am running it,I am unable to see any data on graph chart probably what I think that the program comes in some loop.I need your help inorder to make it run properly.Please have a look at my VI.In order to explain you better I used a case structure to have three cases running one by one.In each case there is a PID controller subVI which basically brings the temperature to set point.there is also a loop to compute hold time,so basically what I want to do is that when the user gives three setpoint temperature and corresponding hold time (its the amount of time for which the setpoint temperature will hold before going to next setpoint)the program should run like this ,the PID controller brings the temperature to first setpoint and than it should hold for specified amount of time than it goes to second setpoint and hold there for certain time and than goes to third and again to first...so on unless user stops or it should run for given number of cycles when each cycle contains all three setpoints.I used Frame 1,2,3 to run each of them one by one but some how the program goes in loop.

I would really appreciate if you can help me to develop such program.

Thanks

with regards.

Ahsan

0 Kudos
Message 3 of 6
(3,763 Views)
Hello Ahsan,

As I mentioned previously, it definitely sounds to me that you will want to implement a state machine to perform this operation. After taking a look at your code, it does appear that you have a basic state machine set up. However, I have difficulty following your logic and your state transitions. Specifically, I am unclear as to the purpose of each of your three loops within each frame. I can see that there are wires between these loops; this will create a data dependency such that subsequent loops will not begin until the other loops complete. If you have specific questions related to this architecture or how it works, we can address those. However, it is difficult to debug your code unless it is commented or intuitively laid out.

What exactly is the behavior that you see? You said that it loops – this is the intention of the state machine unless you code it otherwise. I assume that you mean that it is getting stuck in a single state in an inner while loop. Have you tried using highlight execution to see where it is that your code is getting hung up? Please let us know what exact behavior it is that you do not expect and we will attempt to provide you with additional assistance. Thanks,

Mike D.
National Instruments
Applications Engineer
0 Kudos
Message 4 of 6
(3,738 Views)

Hi Mike,

Thanks a lot.Well I have attached a powerpoint slide in order to explain my code.I am not sure this is the best or correct way to do it but it will give you some idea about what I actually want to accomplish.If you have any other better way to do this please let me know.I have this temperature control VI (part 1 in slides)with a setpoint and PID control and I want to use it to bring out thermal cycling.Basically i need to change setpoint on condition when the setpoint is equal to the output from PID but after holding it for certain amount of time.and than the temperature control VI takes new setpoint and hold the temperature output for certain period and goes to new setpoint.This should keep on going in a cycle and continues on unless and until we want to stop.I was also thinking whether we can use timed sequence structure to bring out this operation.Please advise me and help me to generate such code for my application.

Looking to hear from you soon,

with regards,

Ahsan

0 Kudos
Message 5 of 6
(3,733 Views)
Hello Ashan,

After taking a look at your explanation, I would suggest that you reduce each frame to only a single loop. After this main PID loop you can provide the required amount of wait time using the LabVIEW timing VIs. At this point, your state machine will transition to the next frame to execute that PID control algorithm. I believe this is the functionality that you have described.

Did you have a chance to run this code in highlight execution? As I mentioned previously, this would allow you to examine the point at which the program is not behaving as you expect. This is where I would focus your efforts for further debugging this application. I hope this information is useful for you!

Mike D.
National Instruments
Applications Engineer
0 Kudos
Message 6 of 6
(3,714 Views)