Basic concept of loop PID closed

Hello

I have a problem of very basic concept of PID loop closed. I read a lot of material of the PID controller but still confused.

I understand that the error between the measure and the desired will be processed by PID controller, but I do not understand how the controller output (sum of three P/I/D) set the right plant behand the controller. For example, an electric motor fan will be below on a Board, the force of the wind on the motherboard could be detected by the tension and of course the fan speed could be adjusted by tension. But the error of the setpoint and the process variable will go directly to the fan in Labview without identifying the mechanisms on the plant (fan). I wonder if anyone knows how this error is treated by the plant. And why we need not care about the transfer of the factory function.

If you have a transfer function for your plants, you don't need PID, because the output of the optimal control can be determined directly from the transfer function! (Well, more specifically, often in this case you would use the transfer to feed-forward control function, which you would combine with PID to correct minor variations between the reality and transfer function model.)

The output of PID is not a sum of errors. It is a sum of the outputs of regulation - the proportional output, the full output and the derived products output. The gains set the regulator to the specific system, and if they are not chosen correctly, the control will be terrible and potentially unstable.

In your hypothetical example of two systems - Yes, it is quite possible that one moment the error and so the output will be the same. But if the systems are very different, the next iteration of control errors will be different, so the next controller output value will be different, etc. And if the systems are very different, they should not have the same gains.

Tags: NI Software

Similar Questions

  • basic concepts

    I was using java with JCOP of 3-4 months, but I do have a few basic concepts. PS please can someone explain me the steps of initialling a java card. I mean that, as when a computer starts, it has some steps, then what are the steps of java card? How is to be initialization by the JCOP, and what is the concept of the keys that are stored by the JCOP in java card?

    The best thing to do, it is write code! More, you can implement the best from scratch. Try implementing a secured on a card (ISO7816) e-mail system. Develop code chaining from scratch.

  • Windows Vista Home Basic Edition keeps looping and will not start

    Windows Vista Home Basic Edition will not boot to the Welcome screen. It keeps restarting loop. I tried to go into safe mode, but who does not start too. Loops of safe mode and return to the start screen.

    I have a dell laptop and I just restalled operating system. I had Windows Update set to automatically download and install. PC worked great until the next day (after the time programmed for automatic updates). I'm assuming that the started after some windows updates when installed. Unfortunately, I can not enter in Windows or Normal or Safe Mode.

    Bill

    If safe mode does not and you do not have a Vista DVD from Microsoft, do a repair disc to do a Startup Repair:

    Download the ISO on the link provided and make a record of repair time it starts.

    Go to your Bios/Setup, or the Boot Menu at startup and change the Boot order to make the DVD/CD drive 1st in the boot order, then reboot with the disk in the drive.

    At the startup/power on you should see at the bottom of the screen either F2 or DELETE, go to Setup/Bios or F12 for the Boot Menu.

    When you have changed that, insert the Bootable disk you did in the drive and reboot.

    http://www.bleepingcomputer.com/tutorials/tutorial148.html

    Link above shows what the process looks like and a manual, it load the repair options.

    NeoSmart containing the content of the Windows Vista DVD 'Recovery Centre', as we refer to him. It cannot be used to install or reinstall Windows Vista, and is just a Windows PE interface to recovering your PC. Technically, we could re-create this installation with downloadable media media freely from Microsoft (namely the Microsoft WAIK, several gigabyte download); but it is pretty darn decent of Microsoft to present Windows users who might not be able to create such a thing on their own.

    Read all the info on the website on how to create and use it.

    http://NeoSmart.net/blog/2008/Windows-Vista-recovery-disc-download/

    ISO Burner: http://www.snapfiles.com/get/active-isoburner.html

    It's a very good Vista startup repair disk.

    You can do a system restart tool, system, etc it restore.

    It is NOT a disc of resettlement.

    And the 32-bit is what normally comes on a computer, unless 64-bit.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Dell recovery options:

    http://supportapj.Dell.com/support/topics/global.aspx/support/DSN/en/document?journalid=67E9C215C4BABD6CE040AE0AB5E14F05&docid=339949

    Above is Dell to reinstall Vista from the DVD on your computer.

    http://supportapj.Dell.com/support/topics/global.aspx/support/DSN/en/document?journalid=67E9C215C4BABD6CE040AE0AB5E14F05&docid=336966

    And that way if you have a recovery partition on your hard drive.

    See you soon

    Mick Murphy - Microsoft partner

  • Basic concepts of Replay/AA

    Hi all

    As the title says, I have a difficult time in my head around a few basics of packaging. I looked for a guide of the user to Replay 4.7, but they apparently were fired. I have read a few KB and release notes, but they are not helping.

    (1) where I can d/l a guide to 4.7?

    (2) for the choice of a just restore point choose the most recent time regardless of the size and if so how does it work? During the day on a 1.5 to is a snapshot of server files maybe 600 GB and another 4 hours later is 20 GB. How could a snapshot of 20 GB (more the base image I suppose) give me a full 1.5 TB of data recovery?

    (3) make other people experience extremely slow LAN speed of transfer for the large restorations? I'm talking about 48 hours or more? VM side, how ever would that be useful? What can I do to speed up the process?

    Thanks in advance.

    Hi Corrigun:

    You can find some Replay 4 docs on the link below. I suspect that the backup Admin Guide is what might meet your needs. However, the other docs can help by giving you a better picture about the features of this product.

    'https://drive.google.com/folderview?id=0B6sabJ17inbxQjlTeU0yX2VTZjg&usp=sharing '.

  • Help in the basic Concept

    Hi all

    1. by using this code below, a slight difference between the base line (see the second screenshot (output :) box

    2 but I need in the third box (base exactly line)

    Where I'm missing, because I use the concept of geometricbounds only.

    Help, please...

    var baseline = app.selection[0].baseline;  
    var obj = app.selection[0].createOutlines();  
    var gb = obj[0].geometricBounds;  
    app.documents[0].undo();  
    var baselineValue = gb[0] - baseline;  
    alert(baselineValue)
    app.selection[0].baselineShift = baselineValue;  
    

    Screen Shot 2015-04-29 at 1.16.33 PM.png

    Thank you

    Siraj

    Use .visibleBounds instead of geometricBounds

  • I have a question in the basic concepts of OBIEE

    Hello
    I'm prasanna Undapalli.I have question, can u please someone solve this problem.

    Can I use a backend of OLTP database to create a dashboard?

    Thank you inadvance.
    Prasanna

    Hello

    Technically you can use OBIEE with OLTP as well. However in real-world OLTP-related scenarios makes it difficult for OBIEE create OLTP star schemas. OBIEE is also an engine to run the analytical queries, while in most cases the queries generated on OLTP patterns are operational in nature. Best option is to use BI publisher and finish with OBIEE when querying against OLTP.
    OBIEE works with any database if you make do. If you want to follow best practices, its recommended to use with OLAP systems. Once all the OBIEE analytical reporting tool and OLAP databases are designed to the requirements of statement. For its always advised to use OLAP for better performance and more analytical of OBIEE.

    Bottom line, you can use OLTP with OBIEE, but performance will be a problem (not recommended).

    See also below:

    Best Reporting OLTP tool

    Kind regards
    Young

    NOTE: Please mention if this solved your problem/still face and close the thread for help

    other people with similar problems.

  • review of basic concepts OCP 9i 0z1-007

    Hello

    then a help to find free tests of simulation for bases sql 9i ocp review?

    concerning
    Sunil

    user10983091 wrote:
    Hello

    Thank you for your valuable advice...

    You are welcome

    But how to get practice for the exam?

    You can use [software SelfTest | http://www.selftestsoftware.com/product.aspx?product%5Fid=1Z0%2D007&] in order to make certain practices and feel that you are in the real exam
    But in addition, I suggest you to read the documentation and consult book Sybex "[Introduction to Oracle9i SQL Study Guide: exam 1Z0-007 |]" http://www.Sybex.com/WileyCDA/SybexTitle/OCA-OCP-introduction-to-Oracle9i-SQL-study-guide-exam-1Z0-007.productCd-0782140629.html] ".» This book helped me a lot to take this examination :)

    Good luck!

    - - - - - - - - - - - - - - - - - - - - -
    Kamran Agayev a. (10g OCP)
    http://kamranagayev.WordPress.com
    [Step by step installation Oracle Linux and automate the installation by using Shell Script | http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/]

  • I use the full version of DASYLab 8.0, how to add PID module in the design of the façade (window layout)? while I can vary the p, i, d values in the window layout

    I use the full version of DASYLab 8.0, how to add PID module in the design of the façade (window layout)? while I can vary the p, i, d values in the window layout

    To do that you will need to change the varibles PID values and then use the sliders to add numbers to a latch for variables that point.

    This is how I think it works in Version 8.

    In all cases, you should move on to 12 more stable summer.

    In addition, unless that is a very slow process, I generally do not like closed loop PID with DASYLab due to the fact that computers is not reliable with timing.

  • concept between MS SQL and Oracle

    Hi, everyone, I'm very new to Oracle. Read a few books and confused about some basic concepts:
    in the world of MS SQL, you can install several INSTANCE on a physical server, in each INSTANCE, you can create multiple databases, each DATABASE has it is the log data\transaction the disk file.

    In the Oracle world, my understanding is, INSTANCE = structure memory + the physical database file (which is about identifying MS SQL). similar to MS SQL, you can have multiple INSTANCEs on each physical server. but who is the "DATABASE" in the oracle world? The closest I think is TABLESPACE. I can assign one or more physical data for each TABLESPACE files. but all the TABLESPACE set the log to roll forward inside the same undo TABLESPACE? In addition, for each application, I need to create one or more table SPACE inside an INSTANCE (it's what I usually do in MS SQL)?

    Thank you for your help. Please forgive me if my question is stupid.

    Published by: user3614365 on June 14, 2012 14:57

    Please forgive me if my question is stupid.

    Firs of all, your questions are not stupid at all. You can get better understand by defining analogies and comparisons with a product, with that you're familiar with one product. I used the same method when I learned about MS SQL comparing it with Oracle.

    So, welcome aboard the Oracle!

    in the world of MS SQL, you can install several INSTANCE on a physical server,

    You can have multiple instances of Oracle, belonging to the same or a House of Oracle on the same physical machine.

    within each INSTANCE, you can create multiple databases

    In the Oracle instance, you can have only one database. That's how it is.

    each DATABASE has it is the log data\transaction the disk file.

    Even in MS SQL there may be several files of data per database.

    >
    In the Oracle world, my understanding is, INSTANCE = structure memory + the physical database file (which is about identifying MS SQL). similar to MS SQL, you can have multiple INSTANCEs on each physical server.
    >
    Yes

    >
    but who is the "DATABASE" in the oracle world? The closest I think is TABLESPACE. I can assign one or more physical data for each TABLESPACE files. but all the TABLESPACE set the log to roll forward inside the same undo TABLESPACE?
    >
    Here is little similarity between the Oracle TABLESPACE and the MS SQL database.
    In MS SQL Database has not only the files associated with it, it has its own security and piece of data dictionary. It can have its own rating, you can detach an instance and attach to the other, you can save some separately, etc...
    I'd say MS DB's unit "autonomous and self-containing", comparing to Oracle TS.
    Oracle TS is a way to organize the data files and definition some default of the common properties of storage for tables and other segments contained in TS.
    TS of Oracle have no separate security and data dictionary. Normally TS can be spare an instance and attached to the other. However, there is a special type of TS - transportable tablespace, which can be seen as a little more closely what is DB Ms.
    In any case Oracle TS is not even close to MS DB.
    And he does not need to be. It has a completely different purpose.

    In addition, for each application, I need to create one or more table SPACE inside an INSTANCE (it's what I usually do in MS SQL)?

    You don't have to. But you better to do this way, a point of view organization data. To make things look well organized.
    Sometimes a single application can use multiple TS, for example when he needs different block size for some tables.
    Also, you can share Costs between multiple applications, as you can do with MS DB.

    What else is different?
    There is no separation between the connections and users in Oracle db. It is an entity - USER. He has his security settings and can have its database objects.

    In Oracle, can only be a single scheme by the user, even named as a user. Basically it's the same thing - user and schema is the same thing and created and managed by the same CREATE/ALTER USER command.
    However, when we talk about storage and a place where objects belong to we say SCHEMA.
    When we talk about security and the owner where the objects belong to-we say USER. :)
    Schema is like Home in OS users. What the user creates belongs to his 'home' - the schema. And the user is the owner of it.
    If a user creates something of the other schema this thing belongs to the than the other schema and that another user will be owner, not the user who calls the CREATE statement.

    However, a user can change the current schema for the current session, for do not implicitly by specifying another schema as a prefix for the objects in this schema to another.
    CONNECT scott
    SELECT * FROM joe.emp;
    ALTER SESSION SET CURRENT_SCHEMA = joe;
    SELECT * FROM emp;

    In MS SQL schemas are more like directories, there may be objects of different users in the same pattern and the same user in different schemas.

    In Oracle, there are DB that is similar to the linked server connection.
    When it is called, DB Link is specified after the name of the object, separated by @.
    SELECT * FROM emp@anotherDB;

    That's the main differences.

    Oh yes, Oracle is a release management engine, and MS SQL's engine block, but it can be anything from the latter.

  • A loop using the SQL select query.

    Hello

    I wanted to know, if the concept of loop is possible thanks to the SQL select statement.

    For example
    =======

    Table T1

    Col1 Col2
    Slim 10

    I want to write a query in such a way, so that when I get the result of the query, I format below.

    Col1 Col2
    Slim 10
    Slim 10
    Slim 10

    Basically what I'm trying to achieve is, I have a table with two columns and it has a single line displayed above.

    I want to display this line several times as the output of my SELECT query.

    Let me know, if this target is achievable.

    Kind regards
    Saurabh

    Like this?

    SQL> SELECT 10 col1, 'Sourabh' col2
      2    FROM DUAL
      3  CONNECT BY LEVEL <= 3;
    
          COL1 COL2
    ---------- -------
            10 Sourabh
            10 Sourabh
            10 Sourabh
    
    SQL> 
    
  • PID and series

    Gurus,

    I try to use Labview PID control on a piece of hardware. I use the model single-loop PID. Instead of reading in tension, I read a value of a serial port. However, I can't serial port read software to work. I section reading inside the while loop of the PID VI. I have followed the issue down to a timed loop that counts the number of bytes to the serial port. For some reason, the timed loop is simply not triggering

    If I slightly separated from the running code to read the serial port that performs the same function, all is well. I tried to copy the timed loop from one VI to another (rename), no joy. Re-written to remove the first order idiocy, no joy. Someone at - it ideas?

    Attached are the 3 screws I use (I cut it down to simplicity). Loop simple SNAQ PID.vi is the principal, the question is on frame 1 of the reader.vi 4300. What I don't understand is that if I use the port configuration and 4300 drive after a re-start without having to open the SNAQ PID.vi loop. they work!

    Thanks in advance

    Thanks for the reply, I'll look tomorrow for 'tips tidyness' on the screws.

    After all to uninstall older versions of Labview, deleting the files from the control PC and rewrite with all the outputs wired error upwards, I discovered the problem. You cannot use a timed within an evanescent VI loop structure. The PID screws are all the time-critical. I lowered the priority high-grade properties VI and everything worked. Who took all day! I was going to post tomorrow.

    I tried your suggestion of wiring of the reference in the code yesterday. It does not have a difference, although I suspect that it is more effective this way to program.

    As for the timed loop... The courage of the VI is several years old. When I upgraded my version of Labview, I tried the new features. At the time, call loops was one of them.

    Thanks again, I will watch your screws

    Paul

  • PID tuning - temperature control

    Hello

    I'm working on a project of PID control with a dreaded heating control.  The radiator is small enough ~ 10 watts, so the response time is very fast.  My set point increases, my HP decreases.  I'm controlling the radiator with a continuous feed, so the nominal value is an environment of tension and I left PID +/-100% 0 voltage swing at full scale.

    The Kc is of about 0.4.

    With a control P, Kp = 0.2, I get a damped oscillation, which hovers at about 2-4% higher than the set value.

    With IP control, Kp = 0.2, Ki = 0.00001, I get a constant oscillation around the setpoint.

    An example with PI control is attached.  It seems that my sample rate is too slow (the PV and SP are made with GPIB).

    The sequence of events is--> order SP-> (wait)--> PV read--> PID use to set the new SP--> (loop)

    I tried to improve it by putting the measure of PV in a parallel loop.  This seems to help some, but does not eliminate the oscillation.  Old time loop was ~ 0.3 seconds, now it is 0.15 seconds.  Faster and my loop time< pv="" measurement="">

    Any suggestions?  I tried the Autotune PID vi, but he could never solve the system.

    I've done a few things to improve the response:

    1.), I use a PID of two floors.  The "inner loop" PID control constantly power from 0 to full scale.  The "outer loop" adjusts the power + / to reach the set point. (fine adjustment)   Each PID loop has its own set of PID parameters.

    (2.) for some reason, control PID never worked well because my point was inversely proportional to the power.  I created a formula that has converted my set point to a function which is proportional to the power in watts.

  • Sequence structure flat inside the timed loop and execution order

    I have some problems trying to implement a flat sequence structure when you use a loop timed on a target of cRio VI

    I tried with or without the while loop around the structure of sequence flat, and I also tried to replace the 'Non-deterministic loop' with a timed loop

    The problem is that the program seems to run only once, then get stuck somewhere

    I am writing a program that performs the following operations as soon as possible:
    1. read the Pos_MC of entry on the FPGA
    2 send the value of Pos_MC to the VI target (on cRio CPU)
    3. calculate a value of output based on Pos_MC with a PID block ("exit PID')
    4. send 'PID output' to the FPGA
    5 write "PID output" analog output "MOOG".

    In addition, I want the program to return the measured value "Pos_MC" to a host VI for the recording of data

    So that the output of PID is calculated and sent to the FPGA as quickly as possible, I placed a flat sequence structure to ensure that it happens before you send the output to the nondeterministic loop for recording data

    Also, I want the digital input 'Stop' to be able to stop the loop deterministic (the timed loop)

    I read much more entries than that and the help of several PID and exit, but I rewrote the code for a single entry and exit to make it easier to illustrate

    Screenshot of the code is shown in 'target code.png' and 'fpga code.png.

    The VI themselves are attached in the next post (cannot attach files of more than 3)

    Question 1:
    Any advice on how to get this race? Thank you!

    Question 2:
    Is also my correct understanding in that, using this structure, each 0.9ms (fpga loop time) comes the following:
    1. the input ("Pos_MOOG") is read on the fpga
    2. the production of PID is calculated on the cRio with some delay to computation (for example 0.1ms)
    3. the output of PID is then written for analog output "MOOG" in all about 0, 1 - 0.2ms
    4. the FPGA program then waits until 0.9ms spent and repeat the process

    As opposed to the next pass whenever performing a loop is started on the FPGA:

    1. the FPGA reads the input and written on the output (the output of the execution of the previous loop PID)

    2. then the entry is sent the cRio, PID output is calculated and sent to the FPGA

    3. the new release of PID is maintained until the next time through the loop

    Thank you!

    PHG wrote:

    Thanks for the input guys, any advice as to how I could get the feature in scenario 1?

    I still say that the best route is just putting all the logic of the control in the FPGA.

    Other alternatives include 1) the use of DMA FIFO sedn data back or 2) use interruptions so that the FPGA code can not read the output level until the RT.

    DMA FIFOs are usually very limited, and I would not use them in this situation since I belive said it this code to do for the many outputs.

  • Reading loop DAQmx only reaches the speed of Communication series

    Hello everyone,

    This is my first post in this Forum. I have a program with 4 loops, 2 separate and 2 connected by a queue. The first loop (see attachment loop PID) runs at maximum speed, the second a (serial communication) works at maximum speed (very slow because of the speed of series).

    To find the error I deleted from the queue to get 4 separate loops. The loop with the calculations (calculate loop) now also runs at the maximum speed, but the analog read loop just past the loop of serial communication speed. On the inside of the Sub - VI is just the configuration for the DAQmx with internal sampling. I have no connection between the loop of serial communication and analog playback loop. Is it possible that the DAQmx is slowed down because of the serial communication? Serial communication also uses a windows DLL.

    I hope you can help me.

    Best regards

    Jannik

    Thank you for your quick response. I found the answer, I guess that: I deleted the Subvi and the use of the DAQmx in the loop directly, it has worked. I think that the Subvi took too long because of the additional options to run at 1 kHz.

  • two PID.vi effect each other or not in the same program?

    Hello!

    I know that the PID.vi can be used in a multi-channel manner, and controls of this case different PID do not distrube each other. What if I use the same loop PID.vi two s to control two independent processes? They will be the effect each other? I want them to work independently, how can I handle this?

    Thank you!

    If they are reentrant, each instance in the schema will work independently and is want you want. No changes are necessary.

    (Do not change system screws or things will break up with the next update of the software )

Maybe you are looking for