PID control using LabView 6i

Hallo,
We use NI PCI 6024E Card in PC with Celeron 1,1 GHz, 256 MB SDRAM,
The Card has 16 Analog input and 2 analog output. I plan to use this card as
a PID controller.
Our LabView contains the modules for motions and all the add ons to.
The question is, whether the PCI 6024E is capable to do controling, since we
have to
control the velocity of 2 mm/s with scan rate 50 S/s.
thanks

I can tell you that using a PC of similar horsepower under XP Pro and a PCI-6071E I've successfully run PID loops with sample rates of 10KS/s in 100msec bursts. At first I was seeing a fairly high rate of input buffer overflows. But when I set LabVIEW's execution priority to "High" this problem all but disappeared. (At some time in the future we plan to migrate to LabVIEW RT, which I hope will cure this problem completely.) 50S/s should be a breeze. You might want to add memory. I've got 512Meg in my machine.

Similar Messages

  • Help me in my mini project about dc motor control using labview

    hi,
       actually the idea is that  using pid controller in labview.. controlling motor.i.e giving a setpoint to pid... n checking whether motor is running accordinly using a sensor.. i.e feedback n/w...  i dnt knw hw to proceed.. can u help me with the circuit diagram

    Hi swats,
    "i dnt knw hw to proceed.."
    I suppose you mean "I don't know how to proceed..", something is wrong with your "o" key
    I would suggest going to the library of your school or university and get a book on basics of electric devices. There you will find a lot of hints on how to measure speed of motors and how they work. In fact your question covers several seminar hours in "Electrical Measurements" course at university...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Basic PID control for LabVIEW 7.0

    I am trying to find the basic PID control VI in my LabVIEW pallet. I thought that there was some PID VI's in 6.1 but I can't seem to find them in 7.

    Hi Dan,
    I don't think we ever put the simple PID in the pallet. However, if you'll run the NI Example Finder (Help>>Find Examples...) and search on PID, you'll find examples that use the simple subVI.
    Best Regards,
    Doug Norman

  • Mult-channel PID control using PID Toolkit

    I am controlling the light level in six locations (zones) using light sensors, dimmable ballasts (which respond to a 2 to 10 VDC signal) and the PID toolkit.  In my VI, I loop through 6 times (once for each zone) to control the light levels.  I use the simple PID.vi to determine the next setpoint for the dimmable ballast on the lights.  My problem is as follows, I think:
    The PID algorithm uses past response and the current difference between the measured variable and the setpoint to calculate the next setpoint.  If my understanding is correct, then I am confusing the PID algorithm by calling it with 6 different data sets.  It is almost as if I need 6 separate PID functions, one for each zone. 
    Perhaps I am wrong about the operation of the PID algorithm.  Can someone straighten me out?
    Attached is a snapshot of the VI.  The FOR loop goes from 1 to 6, that is, once for each sensor zone.
    Message Edited by rgentry on 04-29-2007 09:11 PM
    Attachments:
    temp.jpg ‏92 KB

    rgentry,
    The PID has two modes of operation: Single Channel and Muti-channel. The way you developed your algorithm, you are using single channel algorithm with multiple setpoint and variables. This will not work properly since LV will not keep the internal states correct for each channel.
    To fix this, it is pretty simple. Remove the For Loop and provide the whole 1D array to the PID.vi. This will enable the "multi-channel" mode and every time you call your VI, it will keep the internal states for each channel, as if you had 6 different PIDs in parallel. Notice that the interpolation also will work the same way, you just need to remove the build array primitive.
    Hope this helps!
    Barp - Control and Simulation Group - LabVIEW R&D - National Instruments

  • EMG based DC motor control using labview

    I have a project where i need to use my EMG data to control DC motor
    using labview.I've already got the EMG signal by using ADinstrument and
    import the signal to labview. The problem is i don't know how to connect
    the signal with DC motor. This motor will start to move when it detect
    the signal exceed certain value and stop when it less that value. I'm
    still new with labview and i'm using labview 8.0. Can someone help
    me?thanx

    Please check out our Biomedical User Group - there are similar project discussions going on there and links to the NI Biomedical Starter Kit - a free download for doing biomedical data acquisition, signal processing, and other tasks.
    Steve
    Visit the NI Biomedical User Group at:
    www.ni.com/biomedusers

  • Throttle body PID control using pulse width modulation

    Hello all,
    I am trying to do a PID control for a throttle body (using pulse width modulation) for a set value of feedback voltage. The process variable is the pulse width duty cycle. The throttle body is expected to be fully open at a feedback voltage of 5V and pulse width duty cycle of 42.5%.  When I use the highlight execution using the attached file, I can see the throttle body fully open (the values observed are: PID output 42.5 %, feedback voltage approximately 4.7V). However, when the highlight execution is unclicked, the throttle body flutters in the closed condition (still PID output 42.5%, feedback voltage approximately 0.9 V). Can any one please help by suggesting any modification to this attached file to make this throttle body respond to the set value of feedback voltage.
    Many thanks 
    Ajith
    Attachments:
    Throttle body control using PWM technique - PID.vi ‏525 KB

    How did you determine your P, I, and D gains? If you have not tuned your controller, you'll get poor performance. Running with execution highlighting will slow down the execution, which will change the effect of the gains. I would start with pure proportional control (I and D = 0) with a small proportional gain, and see if it responds in approximately the way you want. If so, then your code is probably correct, and you just need to do a full tuning to get good performance. There are many resources available on the web, on this forum and elsewhere, for PID tuning. Note that since your code uses a simple PID example, and not the one from the PID toolkit, the gains do not have the units that are used in many tutorials so you'll have to correct the calculations to compensate.

  • Really need help (motor control using labview)

    hi all readers,
    im new beginner. really need help for my project. i've been assigned to monitor/control motor using labview 8.5 (using NI DAQmx). the problem is, the techinician told me that i cant use 3phase motor with this card. things that i need to displayed using labview is :
    torque
    power
    current
    voltage
    speed
    really appreciated if readers can help me with this:
    wut type of motor shud i use that compatible with NI DAQmx
    thanks a lot.

    Hi fauziana,
    NI data acquisition devices are primarily designed to take measurements, so it's a good idea to measure the signals that you have mentioned with a DAQ device.
    You also can use DAQ devices for control tasks, but for reliable and deterministic control behavioryou typically need to use a real-time operating system (not Windows!). If you want to learn more about the pros and cons of using DAQ devices for motion control tasks, please refer to these threads. Still for standard motion control tasks it's much more efficient in terms of development time, to use a dedicated motion control device for the motion control part of your application.
    In general the control part is independant from the motor type, as these devices only generate control signals (+/- 10 V). There are many power drives available, that accept this type of control signal and you should select your motor according to the requirements of your application.
    For a more detailed system consulting, please contact your local NI branch. To select the products that fit best to your application requirements a face to face discussion is much more efficient than a discussion forum thread, because there are a lot of parameters that need to be taken into consideration. If you tell me in which country you are living, I can provide appropriate contact data to you.
    Thanks and kind regards,
    Jochen Klier
    National Instruments

  • How to create a strictly typed refnum control using LabVIEW scripting

    I wish to use LabVIEW scripting to create a strictly-typed refnum control that is bound to my custom control (a type-defined cluster), but I'm unfamiliar with scripting and can't see how to do it.
    If I create a New VI Object, using Control Refnum as the Style, how do I provide my custom control to the VI Object Class terminal? When I try using a reference to my custom control.ctl file (using Open VI reference) I get an error: "Error 1057 occurred... Type mismatch: Object cannot be cast to the specified type."
    Or, if I create a new Control Refnum as above, using a standard Cluster as the VI Object Class, how do I then convert this refnum control to a strictly typed refnum that is bound to my custom cluster control type?
    Thanks in advance for any advice,
    Thoric (CLA, CLED, CTD and LabVIEW Champion)
    Solved!
    Go to Solution.

    Here we go...
    You have to create a new Control VI and then specify the VI Type as Typedef.
    Regards,
    Da Helmut
    Attachments:
    example.vi ‏22 KB

  • Building SCADA software for substation automation control using LabVIEW

    Hi, I would be interested to know if anyone has built or developed a SCADA software for substation automation control using purely LabVIEW and its add-on tools (beside NI LookOut). The SCADA software, somehow similar to WinCC, should fulfill basic SCADA function for substation such as monitoring and interlocking control of CB and DS (single/double point), generate event or alarm list which includes information such as topical/not topical, valid/invalid...., archiving, redundancy, etc.

    Hi Remzi,
    Thank you for your information.
    I understand that the DSC Module is a tool capable of developing monitoring and control system. Using the module would enable me to build a SCADA software (similar to LookOut) according to my requirement. But I think it's quite a difficult task to design and build a SCADA software from the scatch. Unlike a SCADA software, the DSC module is not really a SCADA software where user can directly parameter the I/O points and graphics via GUI. I've actually tried the LookOut software, but found that it's not really suitable for substation automation & control field. Hence, I would be grateful to know if anyone in this field has developed similar SCADA software for substation automation.
    Best Regards,
    Edmund

  • PCI Express interface control using LABVIEW

    I've made my own PCI Express card which is meant for data transmission from external device to PC through PCI Express intergace.
    Everything is being controlled by FPGA chip.
    My qiestion is, how to make Labview be able to recognise the device and send data through PCIe interface?
    Thanks you very in advance for you help.

    Hi
    Meghan,
    Thanks for your reply!
    Basically, this is a signal
    acquisition system. The main part are ADC which is connected to FIFO memory and
    then to PCI Express pins. Cyclone from ALTERA is meant to control all the
    processes.
    Something similar you can find here: 
    http://www.knottsystems.com/cyclone.aspSo, all the system is located on the PCI
    Express card which is supposed to communicate with a PC through PCI Express
    Bus.
    There is a program inside the Cyclone which makes all the necessary
    packages according to PCIe Specification for the data transmission through the
    Bus.
    So the problem is how to get data into the PC using
    Labview.
    Thanks,
    Igors
    Engineer of Electronics

  • Zaber linear actuators control using labview

    Hi
    am new at using Labview-{3 weeks old as of 31st May} and i would like to control three Zaber Linear actuator to operate a X-Y-Z translation/linear stage. 
    Any advice as to where to start
    Regards
    Jeffrey K.
    Solved!
    Go to Solution.

    Hi, I wrote the LabView instrument driver for
    Zaber Technologies that's described on our web site. It comes with
    several example VIs you can experiment with. The Write Commands and Read Responses example is useful for trying out the different commands on the controllers. Once you've played a bit and read through the beginner examples, you might find the Simultaneous requests example useful for your XYZ setup.
    Another option for learning how to use our devices is to download our Zaber Console software for Windows. It lists all the commands and settings along with a description of how they all work. Once you're familiar with the devices and their commands, you can either write a script in Zaber Console, or go back to LabView and use our instrument driver.
    For a general introduction to LabView, I've been pretty happy with the book LabView for Everyone.
    Message Edited by Don Kirkby on 06-14-2010 05:06 PM

  • Sorensen SGI control using labview

    Hi,
    I am attempting to control a sorensen sgi400/63 dc power supply using labview. I have the supply connected via rs232 and using windows hyper terminal i am able to issue a *idn? command and get a response back detailing model name / number etc. - This says to me that the comms link is working.
    My troble comes when trying to use labview to do the control. I  have downloaded the labview driver for this power supply form ni.com - this gave me a .zip folder (called sornsg.zip) containing some .vis. I opened the self test vi. It seems when run in highlight execution mode that all is well writing to the supply, but reading from it throws the error -10738007339. Any ideas?
    I have contacted sorensen but no reply as yet...
    Many thanks.
    Attached is screen shot of the vi not working quite as i'd like.
    Attachments:
    selft test.jpg ‏1615 KB

    I still have the error.
    What error are you getting?
    I'm not sure what you mean by changing the display mode to "\".
    Right click on your "*IDN?" string constant and select the display mode - Normal, \, Hex or Password
    Also in the "Visible Items" select "Display Style" to show the '\" symbol in the string constant.
    Is there anyway to configure a termination character in labview?
    Yes with the same property node that you are using to set the other com port settings.
    But for the writes you do not need to if you include at the end of your *IDN? string. Now as for the read, it is good to set the termination character for the VISA reads and then set the bytes to read to some number larger than anything you expect.
    Omar

  • Spellman power supply SL40PN2000 remote control using Labview

    We have a SL40PN2000 Spellman power supply. We want to do remote programming using Labview program.
    We want to control the voltage output. 
    Many thanks for your help.

    You need to first determine the remote control interface. Is it GPIB, RS-232, Ethernet, USB, etc.? In the case of GPIB, you would need to purchase a GPIB controller.
    There is not an existing instrument driver but you can review the information here on what a driver is and how to devleop one.

  • Which operating system is best for computer control using LabVIEW

    I am using LabVIEW 7.1 and want to write a program to control a system of pumps, heaters, and  compressors.  I am wondering if using Windows XP is a bad thing, given how many background processes computers tend to use these days.  I don't want my computer to slow down for intermittant checking for updates, or any other sort of routine maintenance computers are set up to do.  I have heard mixed things about windows reliability and computer control, most of which is people saying windows could crash and completely ruin my tests.  Does anyone have any advice on the best operating system to use for continuous computer control of my system? 

    If you plan on using a desktop PC for control type applications, then your best option in terms of performance will be with a Real-Time operating system. Windows is not deterministic for many reasons. Determinism involves the ability to respond to an event within a specified amount of time with an acceptable amount of error (jitter). First of all, Windows is not deterministic because it has to service mouse and keyboard events, as well as anti-virus software, automatic updates, etc.
    You can, however, convert an existing desktop PC to a Real-Time target with a Real-Time OS and use it for your control type application with the deterministic behavior of PXI, Compact FieldPoint, and other Real-Time targets. Check out this link for more information.
    On a side note to a previous reply, using the LabVIEW Real-Time module on Windows XP won't make your application deterministic. Your best bet, as others have noted, is to use the LabVIEW RT Module on an RT OS with good RT programming practices (avoiding memory allocations, etc.).
    Jarrod S.
    National Instruments

  • Inverted pendulum PID control using Arduino

    Hi everyone, I still have a ongoing problem trying to control the inverted pendulum using a self built PID algorithm. The problem is not with the algorithm itself but the program around the algorithm. Anyway this is what IM trying to do.
     I want to be able to constantly read the angle of the pendulum, which will be done using the arduino read analog vi. Now the pendulum angle will be represented as a voltage. This is all fine. Now:
    1. If the angle(voltage) is inside a specified correction range I want the PID algorithm to turn on  and let the algorithm work on the error as it would normally (while updating the angle(voltage) reading after each PID loop.
    2. Also when this angle(voltage) goes back outside the specific correction range I would like the PID algorithm to STOP, however at this stage I would like the overall program to continue running and keep checking the angle(voltage) to see if its value comes back into range and if it does switch back again to the PID algorithm.
    I don't have great knowledge of labview and IM still learning about it. I have included my program so far below. rev2 is the higher layer and the PID algorithm itself is rev1. 
    I have tested my program with the arduino but what happens is this:
    the checking of the angle range works but once the value is true i.e. Angle is inside correction range , the angle value moves into the PID algorithm however is never updated at this stage and I can not get back out of the PID while loop.
    Sorry if what I have been saying does not make sense and was hard to follow, however I have include my code below for help. And I would really appreciate help on this and what I could look at in order to get it working all comments are very welcome.
    Thanks
    Fran
    Attachments:
    PID rev2.vi ‏1143 KB
    PID rev1.vi ‏1158 KB

    ladysman217f wrote:
    the checking of the angle range works but once the value is true i.e. Angle is inside correction range , the angle value moves into the PID algorithm however is never updated at this stage and I can not get back out of the PID while loop.
    That's a very accurate description of the problem with your code - enough so that I think you could figure out how to solve it.  You might find it helpful to run your code with execution highlighting enabled.  Remember that values at loop tunnels never change.  At the moment you take one measurement of the angle, feed it into the PID loop, and then the PID continues to run in its own loop without ever measuring the angle again.  You either need to put the measurement and the PID algorithm in the same loop; you could do this by making the PID run only once per call, or by moving the angle measurement into the loop that implements the algorithm.

Maybe you are looking for