Control PID

Hola a todos.
quisiera que por favor me ayuden con este tema de control PID.
Quisiera un tutorial basico de como utilizar el controlador PID en Labview, pero por favor en español.
Quiero saber como poner la funcion de transferencia en el labview, y tambien como ingresar las constantes del controlador PID, por favor ayudenme en este tema, que recien estoy ingresando a utilizar este controlador.
Gracias de antemano.

Hello everyone.
I would like you to please help me with this issue of PID control.
Would like a basic tutorial on how to use the PID controller in Labview, but please in Spanish.
I
want to know how to put the transfer function in Labview, and also as
the constant input of PID controller, please help on this subject,
recently I am entering to use this driver.
Thanks in advance.
Spanish Board

Similar Messages

  • How to implement autotuning pid in labview in flow control process????

    I tried the same way as Example available in LabVIEW..... that is general auto PID simulator... But that didn't worked out for me.....

    The 'General Auto PID Simulator.vi' example uses the technique "PID Relay" feedback where it tries to calculate the PID values based on the relay feedback, but using the PID also in the loop:
    (http://zone.ni.com/reference/en-XX/help/370401H-01/lvpidmain/pidrelay_alg/)
    This technique works, but it requires initial PID parameters that will make the relay setpoint stable and it is able to obtain the results you are expecting.
    Now, for flow control, you can try the most classic techniques. Please use other shipping examples that start with "autotuning" and in special this:
    C:\Program Files (x86)\National Instruments\LabVIEW 2013\examples\control\PID\Autotuning PID Online.vi
    In this VI, you can choose other techniques like open-loop step response, closed-loop step response and the original 'relay feedback' where it doesn't have a PID inside the estimation loop.
    Anyway, here you have more information about those techniques http://zone.ni.com/reference/en-XX/help/370401H-01/TOC4.htm.
    One more thing: keep in mind that depending on the plant parameters, a PID could not be suited for your application and a more complex controller need to be developed.
    Hope this can help you...
    Barp - Control and Simulation Group - LabVIEW R&D - National Instruments

  • Quiero saber sobre Control de tranferencia de calor con PID

    Hola Amigos quisiera saber si uno de ustedes tiene algun programa en Labviw 8.2 donde pueda controlar la temperatura con PID usando la DAQ 6008, si me puediesen ayudar le estaria muy agradecido y si no de alguna manera, gracias por su tiempo, nos vemos

    Hola Antonio el control PID, es lo mismo si es para control de calor o nivel de un tanque o cualquier cosa, la diferencia radica en que la planta que controlas es diferente y por lo tanto los paramentaros cambian pero el principio es el mismo, por lo que puedes utilizar los ejemplos de PID en Help>>Find Examples para ver cómo puedes utilizar. La forma más fácil de realizarlo es si tienes el toolkit de control PID
    Este foro te podría ser de interés:
    http://forums.ni.com/ni/board/message?board.id=6170&message.id=1932
    En esta liga puedes encontrar en español un poco de información sobre lo que es PID.
    http://es.wikipedia.org/wiki/Proporcional_integral_derivativo.
    También estos links te pueden ser de gran utilidad:
    Ready-to-Run PID Temperature Controller
    PID Theory Explained
    Using the LabVIEW PID Control Toolkit with the LabVIEW Control Design and Simulation Module
    PID Control
    Complete resources for a PID control system with NI M Series devices
    PID control
    Configuring a Non-Linear Process Control System using National Instruments Products
    Con respecto a los parámetros específicos que debes de usar dependen completamente de tu planta (sistema térmico a controlar)
    Saludos
    Benjamin C
    Senior Systems Engineer // CLA // CLED // CTD

  • Pid control de temperatura con un ventilador y resistencia

    buen dia, necesito hacer un proyecto para la universidad.
    necesito hacer un PID que controle la temperatura de una resistencia mediante un lm35 y un ventilador.
    porfavor si algun me puede ayudar se lo agradeceria .
    de antemano muchas gracias

    Que tal ps3fer, gusto en saludarte.
    Quisiera compartir contigo la siguiente información que te orientará a realizar tu proyecto para el control de temperatura utilizando PID. En el siguiente link se muestra la teoría con respecto a sistemas de lazo cerrado, la teoría clásica del PID, los efectos de sintonización en un sistema de control de lazo cerrado, así como también una introducción al uso de las librerías de PID de LabVIEW y una ejemplificación de un control PID con tarjetas de adquisición de datos de NI.
    PID Theory Explained
    Con la finalidad de utilizar las funciones de LabVIEW para el control PID es necesario tener instaldo el PID and Fuzzy Logic Toolkit. A continuación te comparto información relevante de este toolkit:
    LabVIEW 2013 PID and Fuzzy Logic Toolkit Readme
    PID and Fuzzy Logic Toolkit Help
    Así como también una liga de descarga para la versión 2013 de LabVIEW (en dado caso que poseas una versión distinta, te recomiendo busquemos la versión correspondiente del toolkit en www.ni.com):
    LabVIEW 2013 PID and Fuzzy Logic Toolkit
    De igual manera en la siguiente liga encontrarás la información correspondiente a la función PID de LabVIEW.
    PID VI
    Por último, tal como comentó code-lux, en la opción de "Help>>Find Examples" de LabVIEW podrás encontrar diversos ejemplos de control PID. De manera particular te recomiendo revises el ejemplo llamado "General PID Simulator.vi"; este ejemplo simula una planta o proceso y mediante la función PID logra estabilizar la variable del proceso hacia el set-point. Este ejemplo te dará una idea de la estructura que debes seguir para controlar tu variable de temperatura.
    Espero esta información te sea de utilidad y cualquier detalle estamos al pendiente.
    Saludos!
    Juan Arguello
    National Instruments México y Latinoamérica
    Applications Engineer

  • Fuzzy - PID produces jumpy output control

    I'm working on a VI that will control the voltage to a blower and I'm trying to do a fuzzy controlled PID to get the pressure of a chamber to the setpoint.
    When I test it out on the actual system the voltage output from the PID jumps up to a fixed voltage and holds it there for a while making the pressure overshoot the setpoint by a long ways. After a while it will move the voltage down and hold it at another fixed point for a while.
    Right as of right now its just the setpoint going into the "fuzzy controller" function, the P output from that goes into a bundle that feeds into the PID controller and the PID directly controls the voltage.
    Just wondering if there is some setting I need to change so the "P" value can be updated during the process or if there is some function that I'm missing to make this work properly.
    Thanks,
    Dan

    Dan,
    Thanks for the information.  You might have received a response more quickly if you had given that information in your initial post.  Specific questions tend to get more and better responses than general ones.
    Fairly symmetrical is probably good enough.  Systems with significant asymmetry can be difficult to control.
    You say the PID output only makes step changes. Are the changes always to full scale or zero or does it change to several intermediate values in steps? How large are the steps (in terms of the chamber pressure or percentage of full scale)?
    I think I would test this by first trying to get the PID controller to run as a porportional controller ovver a small portion of the range.  Disable the fuzzy controller. Run at an intermediate range such as 80-100 psf. See if you can tune the PID to give you a proportional control behavior in that range, even if it overshoots somewhat or takes a minute to reach the setpoint.  Then you will know the PID controller works and can make adjustments from there.
    If you are not familiar with tuning PID controllers, search the web for several tuning systems which should get you started.
    After you get it working reasonably well in one range repeat the process in several other ranges (2-5 psf, 15-40 psf, 50-70 psf,...) and note whether the tuning changes significantly from range to range.  That will give you some clues about how adaptive the system needs to be.
    Lynn

  • PID with digital output

    Hi,
    I have the application.
    I do not clear about PID function but, I would like to ask you about my application.
    I have a sensor water level and a few motors to control gates
    I measure water level and control motor via digital output(using the fieldpoint system)
    I would like to hold water level at level, so I use PV indicator  and SV control. when I change SV then will  control Motor (RW or FW motor).
    Can we use how technology to hold water level PV=SV  ?.
    Please let me know your comments.
    Thanks
    Nguyen Van Hung

    Hi Nguyen,
    There are several examples in CVI under Help » Find Examples that may be able to help speed up the development of your PID program (assuming you have purchased the CVI PID Toolkit).  These examples can be found by going to Toolkits and Modules » PID and Fuzzy Logic Control » PID.  Depending on how familiar you are with PID algorithms, I might suggest that you look at the GeneralPid example first.  Additionally, the PID Control Toolkit User Manual t is also a great place to look at the algorithms and the library functions.  Finally, in case you aren't aware, you can double click on any function that you find in the Libraries folder located in the bottom left of CVI to open a functions panel which will show all inputs and outputs of a given function.  Then, you can right click on any parameter to view details about that or on the function panel (outside an input box) for more information about the function in general.
    I hope these resources help you design an algorithm that works well for your situation!
    Regards,
    Trey C.
    Applications Engineer
    National Instruments

  • Program Structure for PID temperature Controller

    Hi everybody,
    I built a PID temperature controller VI for a third party DAQ board, based on a very basic knowledge in programming.
    Now the VI works fine in both ends "i/ps & o/ps", the problem is that i cant get the response that I'm looking for from the PID controller. Since the system is time critical, I wounder if the structure of the VI is cosing this problem. please if you have any idea, hint or suggestion.
    Marwan
    http://www.geocities.com/marwan_m13/weemee8080.jpg
    Attachments:
    PIC Temperature Control(PID).vi ‏364 KB

    Marwan,
    You say that time is critical. The timeout is set to 1 second in the main loop. You will only get one update per second with this setting.
    Several comments:
    1. I have never seen the event structure used soley to control loop timing like this. No reason it should not work, but that is not its primary purpose. If you were to use the event structure to also handle user events (as it is designed to do), then things could get complicated. The Wait (ms) functions and Elapsed Time Express VIs can perform the timing for you without the risk of unintended consequences.
    2. Generally it is recommended to use only one event structure in a program, unless you have very specific reasons for using more than one. Since you are using them only as timers, the interaction potential is minimal.
    3. Right to left wiring and avoidance of wires hidden behind other objects make code much easier to read and to debug.
    4. Putting the user controls and displays and the write to file functions in independent loops allows the PID function to run at different rates from the user interface and file save functions. Look at examples of Producer/consumer architecture.
    5. Precalculating things which do not change from iteration to iteration can save time. For example multiply by 2.55 rather than multiply by 255 and divide by 100. Also make the datatypes consistent to avoid type coercion (indicated by little dots at the input connections such as the 255 input to the mutliply. Changing the datatype of the 255 constant to Double eliminates the coercion.
    Lynn

  • Where is the PID (FPGA) Express VI?

    I have LabVIEW 2013 RT and LabVIEW FPGA installed on my Windows 7 machine.  Which palette is the PID (FPGA) Express VI on?  I have looked on both the RT and the FPGA palettes.  I have looked for the example C:\Program Files (x86)\National Instruments\LabVIEW 2013\examples\control\PID\fpga llb\CompactRIO.  The example is not on my machine. 

    I don't have an FPGA Math & Analysis -> Control on 2012 or 2013.  Maybe I failed to load everything I need.  Here is my palette.

  • Two VI merging (a Temperature PID and Light sensor detecting) plz help

    Hi,
    my goal is to get the data from the light sensing detectors and also to control the Temperature too.
    So I designed a VI named Light detecting "sensor and data storage.vi" but the problem was temperature controlling.
    as in this VI I can not set the temperature which I want.
    So I made another VI named "temperature control PID.vi", and now I can control the temperature through the thermocouple.
    But again the problem is that I can not run Both the VIs at the same time.
    and when I try to run both the VIs at same time, the following error appears,
    and I think, it is because that both the VIs has the settings for same thermocouple and can not acquire the data (teperature) at the same time.
    So I want to remove the thermocouple settings from the "Light detecting sensor and data storage.vi" and want to put the " temperature control PID.vi" into it. 
    I am uploading both the VIs, If anyone can solve it, His work will be appreciated.
    Attachments:
    Light detecting sensor and data storage.vi ‏190 KB
    temperature control PID.vi ‏140 KB

    Hi,
    I mean to say that from the first VI, i m getting the signals from detectors and it also shows me the temperature. but from this VI, I can not set the temperature of the heater.
    thats why I made another VI <the second one in attached files> by which I can control the temperature.
    but both the VIs are not working simultaneously.
    so plz delete the temperature settings from the first VI and put the second VI into it.
    thanks.

  • First order control system for proportion​al valves

    I am working on a proportional valve control program. We have four gas lines and it is desired to send four different gases through a combustion chamber sequentially. The close time for each valve is determined by the pressure measurement inside the combustion chamber. For instance, firstly, we let the nitrogen gas flows to the chamber, and the pressure inside the of it reaches 5 bars, we closed the nitrogen valve, and open the argon gas valve, and hold it opened until the pressure is reached at 15 bars inside the chamber and so on.
    I was thinking on utilizing PID for control of these valves, however, one author from my institute said that you can not do this with a PID program, you can do that with a  first order control system. Because in the system,  it is not allowable to gases exceed their set points (set pressure values). PID controls the system with osilations around set point and after it provides the set value, but in this case, we are not allowed to exceed the set point (we may reach the set point slowly and asymptotically, but never exceed it).
    I have not background on controlling hence I need your help. Could I do that with Labview? Is there a first order system control module in Control & Simulation Toolkit? And also where can I find examples, tutorials, etc. -if there are- about first order system controlling? Thanks in advance.
    Egemen

    what you are trying to do can be done with PID, but you would need to tune it to avoid overshot. But, most importantly, the use of the closed-loop PID will guarantee that your system will follow the setpoint, which can be a ramp going from the 0 to 100 % of the valve. The ramp on setpoint is a typical control technique to avoid overshoot of the system.
    Now, if you look in the PID palette under Control and Simulation, you will see the function called "Lead-Lag". This function is a 'first order' system and you can define a pole and a zero for your system. If your objective is just make the change smooth, you can make the Lead-Lag to work as a "Lag" (make the lead zero) and apply to your system. here is an example:
    C:\Program Files (x86)\National Instruments\LabVIEW 2014\examples\control\PID\Simulation - Lead-Lag.vi
    If you need something more complicated than Lead-Lag, than I would you advice to use the LabVIEW Control Design and Simulation Module. There you can really develop more advanced controllers, like higher order filters or Model Predictive Control. But this also requires you to have a better knowledge of control theory...
    Barp - Control and Simulation Group - LabVIEW R&D - National Instruments

  • Cfp 2210 PID

    Hola a todos:
    Tengo una duda;  Normalmente con los plc con los que he trabajado. Cuando yo hacia un lazo de control PID, lo hacía  y lo bajaba al PLC
    . ¿Esto se puede hacer con el PAC cFP 2210? ¿se puede bajar el lazo que he creado en labview al controlador (PAC)?
    Espero sus opiniones y ayudas.
    Dantty Ramos 

    Estimado Dantty,
    La controladora cFP-2210 corre una aplicación desarrollada en LabVIEW más funciones PID. Verifica solamente la versión de LabVIEW que posee, pues hay versiones no soportadas en la controladora en cuestión.
    http://digital.ni.com/public.nsf/allkb/004B388FDF6E7AFC8625743400765685?OpenDocument 
    Hay una pagina en nuestra web que describe informaciones benckmarks y cFP:
    http://zone.ni.com/devzone/cda/tut/p/id/3668 
    Saludos
     Jailton - NIB - 1242351   

  • How would one test the system response of the following example control loop

    Basically, I want to control the upstream pressure in a pipe, using a single setpoint PID loop on a valve. As the pressure changes up or down, upstream, I want to open or close a valve appropriately to maintain say 5kpsi.
    I will used the advanced auotune PID loop, My instrument provides a 4-20mA, and my valve accepts a 4-20mA signal.
    Would I be able to simulate this without taking the equipment to a live system? I have a simulated 4-20mA that I could inject into the DAQ and increase/decrease as required to simulate pressure changes, and the DAQ could give a 4-20mA signal to the valve.
    But how would this all work in practice. Id like to see the valve respond, but unsure how I would be able to verify the valve response and upstream pressure
    Any ideas or tips?

    You should be able to simulate without equipment to get the PID response you are looking for.  The best place to state would be the LabVIEW example programs.  Use Help -> Find Example and search for PID.  I used this one to get the PID response I was looking for: C:\Program Files\National Instruments\LabVIEW 2011\examples\control\PID\Autotuning PID Online.vi
    SOme systems respond quickly and others much slower.  Some systems can't deal with overshot and there are many design considerations.  You will need to tune the PID look for what is best for your system.If the system is straight forward and you can apply "rules" then consider the Fuzzy Logic controller.  I have had success with both but there is no magic answer for PID loops except trial and error.
    Matthew Fitzsimons
    Certified LabVIEW Architect
    LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison

  • How to programmatically change the feedback device??

    Hello,
    We are using the NI UMI7774, together with a Servo-drive for a linear actuator. In our application, we must first go to a certain position, then maintain a certain force for while, then go back to a certain position....
    For the position control we have mapped the actuator's encoder as the feedback device in MAX - and it works well. For the force control part, we want do use the "Force control using analog feedback"-method (see NI-Motion manual, chapter 13). For this, the force sensor needs to be mapped as the feedback device...
    (1) The question is, HOW can we make this mapping programmatically in our application source code???...is there a method "setFeedbackDevice()" or something??
    (2) Is it likely that we have to have 2 PID-settings (one for the position control part and one for the force control part) and if yes, how can we load the PID parameters programmatically, without opening MAX??
     (3) In the mean time, we have experimented a bit: Using MAX and the encoder as the feedback device, we have positioned the actuator to a certain point. Then we mapped the Force sensor as the feedback device in MAX and pressed Save. However, when we run the force-control-using-analog-feedback example, it didnt work. It still used the encoder as the feedback and hence just moved to a certain position.....We then did another try, where we set the force sensor as the feedback device in MAX, pressed SAVE and pressed INITIALISE.....the actuator subsequently started rattling, without us issueing another move command??.....does anybody know, what this could mean and what we should do????......
    THANKS a LOT FOR ANY ANSWER AND YOUR EFFORTS.......
    p.s. We know that there is also the option of "Force Control using Monitoring Force", but after some discussion on here, it appears that the Analog Feedback-method seems to give better force control results in our application....

    Hi janClose,
    You can change the feedback programmatically by using flex_config_axis(). The axis needs to be stopped when you call this function.
    The control behavior differs significantly when you change the feedback resource, so yes, you will have to tune your axes for both feedback modes seperately. You can change the PID parameters by using flex_load_pid_parameters(). Please note, that you can define two sets of PID parameters and you can switch between these two sets by calling flex_load_single_pid_parameter().
    The last paragraph in the online help for flex_load_pid_parameters() discusses this feature.
    Parameter changes in MAX are not applied before you reinitialize the board, so if you just save the changes the board's operation mode is not affected. The reason why the motor starts rattling when you initialize it, is due to the fact that you are still using the position control PID parameters, which are typically not valid after changing to force control.
    I hope that helps,
    Jochen

  • Error - 200609 USB 6259

    Hola estoy construyendo un VI para probar una planta lo importante es que yo necesito hacer un control PID para ello utilizo la DAQ USB-6259 en Labview 8.2 para Windows XP pero no me sale siempre me manda error 200609 o otros tengo el problema con tamaños de bufer que segun eso es pero no entiendo nada ya me arte, bueno  yo quiero usar la DAQ en modo Continuo y tengo usando dos asistentes para in y out como le puedo hacer para que ya pueda ver mis datos.y que tantas muestras y frecuencia debo de poner por que ya probe con muchos valores y nada
    Attachments:
    escalon.vi ‏158 KB

    Que tal Daniel;
    El error 200609 normalmente sucede cuando el tamaño del buffer creado es muy pequeño, puedes realizar cambios programáticos en el buffer con los VIs avanzados de DAQ, te envío la liga a un documento que explica más a fondo como utilizarlo.
    http://digital.ni.com/public.nsf/websearch/E1E67695E76BA75B86256DB1004E9B07?OpenDocument
    Espero que la información te sea de ayuda.
    Suerte
    Francisco Arellano
    National Instruments Mexico
    Field Systems Engineer - Energy Segment
    www.ni.com/soporte

  • Why data memory is not completely wiped out while closing a VI?

    I am facing some memory allocation issue in my LabVIEW project. Help me sorting it out. Followed below steps,
    1. Launching LabVIEW 2011.
    2. Checking memory allocation (say it is n kB) 3. Opening my project VI.
    4. Again checking memory allocation (say it is n + 10 kB) 5. Closing the VI.
    6. Again checking memory allocation.
    7. Expected it to be n KB. But it is not. There is some residual memory which is not properly wiped out.
    8. Repeated these same steps for NI example VI (C:\Program Files\National Instruments\LabVIEW 2011\examples\control\PID\Autotuning PID Online with Gain
    Scheduling.vi) found same results.
    Explain me why the data memory allocated while opening the VI is not completely wiped out after closing it.
    We are doing some memeory optimization in our LabVIEW project. So a clear justification is required for this question.
    Thanks,
    Rameshkannan

    mrk1 wrote:
    I am facing some memory allocation issue in my LabVIEW project. Help me sorting it out. Followed below steps,
    1. Launching LabVIEW 2011.
    2. Checking memory allocation (say it is n kB) 3. Opening my project VI.
    4. Again checking memory allocation (say it is n + 10 kB) 5. Closing the VI.
    6. Again checking memory allocation.
    7. Expected it to be n KB. But it is not. There is some residual memory which is not properly wiped out.
    8. Repeated these same steps for NI example VI (C:\Program Files\National Instruments\LabVIEW 2011\examples\control\PID\Autotuning PID Online with Gain
    Scheduling.vi) found same results.
    Explain me why the data memory allocated while opening the VI is not completely wiped out after closing it.
    We are doing some memeory optimization in our LabVIEW project. So a clear justification is required for this question.
    Thanks,
    Rameshkannan
    YOu may be seeing the file alloaction info being cached. LV will try to remeber where it found files so it can find them faster next time.
    I suspect you should ignore that part and focus on the parts of your code that is suffering from memory abuse.
    You can use the Profile VIs tools to locate who is gobling up the memory.
    Then use "show buffer allocations" to figure out where the issue is.
    Post image if you want the gang here to "play along".
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

Maybe you are looking for

  • BMP image not printing on LIPI Dot MAtrix printer

    Hello everybody . I am facing a promlem while printing a signature ( bmp image ) in a report . In print preview it is showing coreclty but while printing to LIPI Dot matrix printer model TALLY 2500 that Signature( bmp image ) is not getting printer.

  • Hp laserjet 1018 with windows 7-32 driver problems

    We've used this printer with our new computers for 2 yrs now. The last 4 months, we've had issues with it not printing all of the time, but. Could turn it off and back on and it would work. Now it's not printing at all. I have downloaded driver and u

  • Can mac mini support two monitors?

    how do you configure setup using two separate monitors with Mac Mini?

  • About 1356 ERROR:pifreg:can not open registry database error

    I test the simpsver using simpclw run on the same machine, the simpsver seen to run normally. After config the correct network option,I test the simpsver on the different machine using simpclw, now I get the "1356 ERROR:pifreg:can not open registry d

  • Adding background image in JavaFX

    I am using javafx integrated with jswing.How to add a backgroung image to gridpane layout in javafx?The image must be resizable on maximizing the frame.Please help. Edited by: EJP on 17/02/2012 17:50: fixed your title. No shouting here thanks.