I have been trying to

use the vi with PID control. Everything is working fine on the labview. However, when I get my ruler to measure really what happened in the experimental apparatus, I do get way off results from the VI results. Can the problem due to the real time issue?To clarify the problem, I have a piston moves through the cylinder. In the simplified attached vi, the left hand side of the block diagram defines the velocity profile of the piston which is basically a trapezoidal. Then, I use the time in seconds coming from the loop delay on the right hand side of the block diagram. Then the output of the formula node goes to PID module to give the desired voltage to the selonoid valve to move the piston. Problems are;
1) When I keep the loop d
elay time at 1ms, the piston moves 2-3 times further than it suppose to move. Then, I change loop delay time to 2ms, 5ms, 10ms, 20ms... I always get DIFFERENT piston movement. Can it be due to the real time card problem? Do we need to buy a board which performs real time applications? Or Is there any other solution I can get away this problem. I only need time in seconds. I used the delay time to use the seconds. But, it is not helping me. Is there any source in labview like clock, I can get only in seconds so that I do not need to worry about delay time?
2) I am planing to use image processing tools in the Labview at the same vi? Do you think that will be a problem in terms of real time issue?
Thanks...
Attachments:
Test15.vi ‏121 KB

use the vi with PID control. Everything is working fine on the labview. However, when I get my ruler to measure really what happened in the experimental apparatus, I do get way off results from the VI results. Can the problem due to the real time issue?Hello,
First of all, in a software-timed application, delay time is the actual control loop rate, and it has a direct effect on the system behavior. According to control theory, a control system must sample a physical
process at a rate about 10 times faster than the fastest time constant in the physical process. Therefore, you first need to determine the fastest time constant in the system ans choose your loop rate accordingly. If the required loop rate is faster then 1 ms (the fastest loop rate you can obtain in a software-timed loop) then you need to use a real-time hardware and apply hardware-timed loop. You can find many on-line example at
http://www.ni.com/devzone/dev_exchange/ex_search.htm
about this method.
Your current loop might take mo
re then 1 ms. To calculate it, you can use Sequence structure as shown in the attached VI. The problem might also be a PID tuning issue. As far as I understand this is a position control application and you are getting a very big steady-state error. You can refer the document linked below to get more information about PID tuning.
http://zone.ni.com/devzone/conceptd.nsf/webmain/4B7775373E4AE64986256B6000691505?opendocument
I hope this helps.
Best Regards,
Remzi A.
Application Engineering
National Instruments
Attachments:
benchmark.vi ‏19 KB

Similar Messages

Maybe you are looking for

  • When closing any single tab exits firefox entirely why? just started happing

    Just rebooted system (Windows PC) on return from holiday. When closing ant tab instead of that single tab being closed, Firefox closes completely even though I have not touched the main "X" how can I reset or resolve this issue? Rich.

  • Field symbols and logical databases

    Hi, How to use field symbols in an abap HR program with logical database? For most of the reports and interfaces in HR, I have used GET PERNR with logical database to fetch data from the tables. I understand that this method of programming using logi

  • Creating a PDF and Ordering Calendar's Issues

    Ok, so I'm new to this iPhoto program. I have been using it to organize all my pictures, fixing red eye and such. So I decided I would make a calendar for my wife this year. I choose a template, started dragging photos and adding birth dates. I did n

  • Multiple BPEL processes as operations in the same port type

    Dear Oracle BPEL experts, Is it possible to deploy several BPEL processes that are initiated through different operations in the same PortType? (I am using Oracle BPEL Process Manager Console v10.1.2.0.2 and Oracle JDeveloper v10.1.2.1.0, Build 1915)

  • Report 3.0 : How to set the printer margin??

    Hi all, In report previewer, I am able to set the printer page margin mannally. Then, If, I've get some reports by RUN_PRODUCT in batch mode, how can I set the page margin?? Regards, Andrew null