PI Control Error Between Process Variable and Set Point

I've developed a PI program that uses measurements from a pressure transducer as the process variable to control air pressure released from a motorized valve. The program works great at lower pressures, but as the set point pressure increases the error between the process variable and set point increases. I've tried several things....adjusting the P seems to initially increase the overshoot but the process variable always settles down below the set point....tried adjusting the EGU min and max values but no real pattern develops with this. It appears as the process variable get closer to the max EGU value of 70000 pascals the error increases.
I've attached three screen shots showing the process variable curve and setpoint value. The graph of interest is the one in the upper right hand corner.
Any recommendation or advice would be appreciated.
tks, Terry
Attachments:
Low Pressure.JPG ‏267 KB
High Pressure.JPG ‏398 KB
Mid Pressure.JPG ‏266 KB

Kyle,
First off....I appreciate your comments. No...there is no value is system represented as U16.
Actually errors start to develop quite a bit before the maximum. If you look at the mid pressure.jpg file you'll notice that the set point (~28125 Pascals) and process variable (~25625 Pascals) are roughly off by about 2500 Pascals. Then if you look at the high pressure.jpg file you'll notice that the set point (~53000 Pascals) and process variable (~45500 Pascals) are roughly off by about 7500 Pascals. Therefore it appears as the setpoint pressure increases towards maximum the error tends to increase.
I was curious about something....the set point value I'm inputting into the PID.VI , shown in the high pressure.jpg file, is from EGU to percent.VI. It would look exactly like the EGU to percent VI feeding the process variable input of the PID.VI with the set point value feeding the EGU to percent.VI input. Would I be better off feeding the actual set point value to the PID.VI input instead of percentage?
Thanks, Terry

Similar Messages

  • Explanation of PID process variable and set point timing and optimization

    Hello I've been a longtime viewer and fan of the NI discussions forums and finally have a question worthy of the expertise.
    Recently I've been trying to tackle to PID loop control system. I've been able to tune a system and create a  crude but functional simulation. Unfortunately I feel I'm missing some of the crucial rules of the PID loop. For example I've heard people say that the process variable need to run faster than the setpoint, and if this is so then how do you have the PID in a loop that is running slower than the process variable actually utilize the faster updating of the feedback. I've research the dt function and the timming of loops but have yet to been able to grasp how this actually works. I understand that the process variable needs to run faster than the setpoint, so would this require just slowing down the set point and keeping the PID loop, feedback, and motor control in a faster loop. That's the way I seem to be understanding it, but people mention the dt function all the time in order to tune timings. I'm interesting learning how exactly and all the ways the control system on the PID loop is actually optimized. Any help would be greatly appreciated.
    Thanks
    Taylor S. Amarel 
    Learning is living.
    Co-Founder and CEO of http://3dprintingmodel.com/
    "If we did all the things we are capable of, we would literally astound ourselves."
    -Thomas Edison

    Hi Taylor,
    Can you link me to where you were reading this previously about setpoint speed and all this?
    Generally, you simply stick the PID.vi into a loop and wire things up as you would expect. You can use timed loops as you discussed and can sync them up to other clocks (perhaps even a DAQ clock) if you so desire, but it's not critical.
    Is there some strange behavior you're seeing that you're trying to alleviate?
    Jeff | LabVIEW Software Engineer

  • Error in process chain creation :  SET SCREEN not allowed in subscreens

    Hello,
    We are getting an  Error in process chain creation  :  SET SCREEN not allowed in subscreens  SAPRSSM 0100.
    Please give a solution. Thanks in advance.
    RR.

    Just do detail view on in the process chain. It will take you to the error. See the message and then display message. You can know why the message is appearing.

  • What is difference between local variable and property node ?

    What is difference between local variable and property node ?
    " 一天到晚游泳的鱼"
    [email protected]
    我的个人网站:LabVIEW——北方客栈 http://www.labview365.com
    欢迎加入《LabVIEW编程思想》组——http://decibel.ni.com/content/groups/thinking-in-labview

    To make things clear, here are two small examples that show how nasty locals and value properties can be to the naive programmer.
    - Open the diagram of the race condition.vi before running it and try to predict what will be the values of the two counters after the third run.
    - Use the Compare Locals Properties and Wires.vi to find out how slow locals and value properties can be (times 1000+).
    This being demonstrated, I must add that I use globals and value properties quite often, because they are often very convenient
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Race condition.vi ‏9 KB
    Compare Locals Properties and Wires.vi ‏18 KB

  • I have a communication error between Lightroom 5 and my printer. It prints photos about 1/2 strength in color. Printer checks out ok. WHAT CAN I DO?

    I have a communication error between Lightroom 5 and my printer. It prints photos about 1/2 strength in color.. The printer checks out ok. What can I do?

  • Need help to find out link between process order and purchase order.

    Hi All,
    Need help to find out link between process order and purchase order.
    We have purchase order, we can find out associated process order in MD09 (No Purchase Requisition found in Purchase order). When I tired to replicate this scenario with same material in system but not able to do.
    Please suggest me what needs to check to get purchase order link to process order.. (this is not subcontracting )
    Edited by: SAP PQ on Sep 26, 2011 5:24 PM
    Thanks,
    SAP PQ
    Edited by: SAP PQ on Sep 26, 2011 5:24 PM

    MD09 is pegging. In SAP pegging is dynamic, meaning that there's no fixed link between purchase order and process order in your case.
    This is why you did not get the same result when you tried again later.
    Such a link can exist only if you do direct procurement for the order.

  • Difference between process order and Production order

    Hi Experts,
    Can any buddy tell me the difference between process order and production order. Why process order is used for process industries. Why do we use recipe for it and routing for production order ?
    Regards,
    Amit

    Hi Amit
    There is a difference between production order and process order.
    Supposing a 10,000 lit tank is being manufactured in discrete manufacturing. You have to follow the necessary routing steps and can make by physically seeing its development stage by stage. For this type production you can have a production order.
    In case of process of order if some chemical in a reactor is loaded with intial temp of 30 C and need to be heated to 80 C then there is phase change. Hence we use Heating as an operation and the change of temp is phase. For such type of process we process order.
    Hope this is useful. Pl reward.
    Nanduri

  • What is the difference between Instance variable and Global variable?

    Hi folks,
    Could you please explain me, "what is the difference between Instance variable and Global variable?"
    Are they really same or not?
    --Subbu                                                                                                                                                                                                                                                                                                               

    Hi flounder,
    I too know that there is no such a term GLOBAL in java.
    generally people use to say a variable which is accessible throught out the class or file has global access
    and that will be called as a global variable...
    my point is very much similar to what Looce said.
    In simple that is not a technical term, but just a causual term.
    In technically my question is, "What is the difference between a instance variable and public variable?".
    Hi looce,
    Thanks for the reply. even thats what my understanding too....in order to confirm that i raised this question..
    Your reply has given a clear answer...... thanks again.
    --Subbu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Difference between process chain and event collector

    what is the difference between process chain and event collector and also plz explain about metachain.In what scenarios they are used.
    Many Thanks,

    hi,
    have a look at these help docs
    Process Chain:
    http://help.sap.com/saphelp_nw04/helpdata/en/8f/c08b3baaa59649e10000000a11402f/content.htm
    Event Collector:
    http://help.sap.com/saphelp_bw30b/helpdata/en/c1/6c0538c7cb583ae10000009b38f8cf/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/6e/192756029db54192427cf6853c77a7/content.htm
    Creating an event colector:
    http://help.sap.com/saphelp_bw30b/helpdata/en/45/253d3873130057e10000009b38f842/content.htm
    regards
    sham'm

  • What is difference between distribution list and share point group? Can we add distribution list into person and group column of share point list?

    what is difference between distribution list and share point group? Can we add distribution list into person and group column of share point list?

    there is a workaround you can try, create audience and add DL to them and deal with the audience or convert DL to groups
    https://social.technet.microsoft.com/Forums/en-US/02f0d773-8188-4d94-a448-0c04d838b0cf/distribution-lists-in-sharepoint?forum=sharepointgenerallegacy
    Kind Regards,
    John Naguib
    Technical Consultant/Architect
    MCITP, MCPD, MCTS, MCT, TOGAF 9 Foundation
    Please remember to mark your question as answered if this solves your problem

  • Relation between Sales org and Shipping Point

    Hai all,
           Can any one tell me wt is the relation between Sales Org and Shipping point?
    Ravi
    < PLEASE DONT USE SMS LANGUAGE AND PLEASE SEARCH THE FORUMS.  >

    Hi Ravi,
    There is no direct relation.
    Sales organisation in broader level, it is responsible for selling a product in a company.
    It is liable to the customer interms of service of the product or service and confirmation of the sale order, delivery and invoicing.
    Shipping Point is a logical point from where the shipment / dispatch begins.
    Both Sales organisation & Shipping point wil be linked to plant (one or more).
    In case of sale order, sales org will decide the delivering plant.
    Shipping point will be picked based on delivery plant, sh.conditions (cmr) & loading grp (mmr).
    hope this is clear to you now!

  • Mapping errors between data object and automated activity

    Hi,
    in a automated activity of a bpm process I try to call a web service method ("addBook") which exptects an object called u201CbookWrapperu201D. The object "bookWrapper" consist of three variables: u201Cbidu201D (Integer), u201Cauthoru201D (String), u201Ctitleu201D (String).
    When I try to directly map, for example u201Ctitleu201D, out of an existing Data Object (Filled by an human activity: u201CDO_CreateBooku201D) I got the error:
    Expected: xsd:string
    Found list of u2018com.sap.dictionary.stringu2019
    Severity and Description     Path     Resource     Location     Creation Time     Id
    The literal: "Expression for target path 'DO_BookWrapper/title' has errors." do not have type, in expression: "#erroneous=true;sources=TaskOutput/UIResponse/start/title#TaskOutput/UIResponse/start/title".     LocalDevelopmentLocalDevelopmentbook_chapter_process~demo.sap.com/src/bpmn     create book and chapter.bpmn     Expression for target path 'DO_BookWrapper/title' has errors. [Galaxy, Rule, Literal]     1260878200220     4720
    I do not know why this error occurs because both type are strings. Is it due to the fact that I do not have an object instead of variables as input parameters? I used the automatically generated data types as data objects.
    May anybody help me please? Can I make casts?
    Regards

    Hi Martin,
    From the error that you get, it is indicated that you try to map a list to a single variable.
    If you want to do so, please see the documentation http://help.sap.com/saphelp_nwce711/helpdata/en/47/63604e42bf6831e10000000a421937/frameset.htm where it is said:
    If you map a node, whose content is a list or a node, with one or more parents that are lists, to a single-valued node, you get an error. Depending on your needs you could provide custom expression, for example to aggregate the list to a single value, or you could do parent mapping between the multi-valued parent nodes.
    So you need to create an EJB function that does the conversion between a list and single value type. Here is the help for functions: http://help.sap.com/saphelp_nwce711/helpdata/en/47/63604e42bf6831e10000000a421937/frameset.htm and especially for EJB functions http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/609c9982-39af-2b10-768b-e5bd8813c1f3.
    I hope this helps you.
    Best regards,
    Radost

  • What's the difference between global variables and instance variables?

    hi im just a biginner,
    but what is the difference between these two?
    both i declare them above the constructor right.
    and both can access by any method in the class but my teacher said
    global variables are not permitted in java....
    but i don't know what that means....and i got started to confuse these two types,,
    im confusing.......
    and why my teacher said declaring global variables is not permitted,,,,,,
    why.....

    instance variables are kindof like Global variables. I'm not surprised you are confused.
    The difference is not in how they are declared, but rather in how they are used.
    There are two different "styles" of programming
    - procedural programming.
    - object oriented programming.
    Global variables are a term from Procedural programming.
    In this style of programming, you have only one class, and one "main" procedure. You only create one instance of the class, and then "run" it.
    There is one thread of control, which goes through various methods/procedures to accomplish your task.
    In this style of programming instance variables ARE "global" variables. They are accessible to all methods. There is only one instance of the class, and thus only one instance of the variables.
    Global variables are "bad" BECAUSE you can change them in any method you like. Even from places that shouldn't have to. Also if you use the same name as a global variable and a local variable, you can cause great trouble. This can lead to very subtle bugs, as the procedures interact in ways you don't expect.
    The preferred method in procedural programming is to pass the values as parameters to the methods, and only refer to the parameters, and local variables. This means that you can track exactly what your method is doing, and what it affects. It makes it simpler to understand. If you use global variables in your methods, it becomes harder to understand.
    So when are instance variables not global variables?
    When you are actually using the class as an Object, rather than just a program to run. If you are creating multiple instances of an object, all with different values for their instance variables, then they are not global variables. For instance you declare a Person object with an attribute "firstname". Your "main" program then creates many instances of the Person object, each with their own "firstname"
    I guess at the end of all this, it comes down to definitions.
    Certainly you can write procedural code in java. You can treat your instance variables, for all intents and purposes like global variables.
    I can only think to show a sort of example
    public class Test1
       User[] users;
       public void printUsers(){
         // loop through and print all the users
         // uses a global variable
          for(int i=0; i<users.length; i++){
            users.printUser();
    public void printUsers(User[] users){
    // preferred method - pass it the info it needs to do the job
    for(int i=0; i<users.length; i++){
    users[i].printUser();
    public Test1(){
    User u1 = new User("Tom", 20);
    User u2 = new User("Dick", 42);
    User u3 = new User("Harry", 69);
    users = new User[3];
    users[0] = u1;
    users[1] = u2;
    users[2] = u3;
    printUsers();
    printUsers(users);
    public static void main(String[] args)
    new Test1();
    class User{
    String firstName;
    int age;
    public User(String name, int age){
    this.firstName = name;
    this.age = age;
    public void printUser(){
    // here they are used as instance variables and not global variables
    System.out.println(firstName + " Age: " + age);
    Shit thats a lot of typing, and I'm not even sure I've explained it any good.
    Hope you can make some sense out of this drivel.
    Cheers,
    evnafets

  • Diff between call screen and set screen

    diff CALL SCREEN and SET SCREEN

    With SET SCREEN the current screen simply specifies the next screen in the chain , control branches to this next screen as sonn as th e current screen has been processed .Return from next screen to current screen is not automatic .It does not interrupt processing of the current screen.If we want to branch to the next screen without finishing the current one ,use LEAVE SCREEN.
    - With CALL SCREEN , the current (calling) chain is suspended , and a next screen (screen chain) is called .The called can then return to the suspended chain with the statement LEAVE SCREEN TO SCREEN 0 .Sometime we might want to let an user call a pop up screen from the main application screen to let him enter secondary information.After they have completed their enteries, the users should be able to close the popup and return directly to the place where they left off in the main screen.Here comes CALL SCREEN into picture .This statement lets us insert such a sequence intp the current one

  • File transfer errors between WP8.1 and W8.1

    This is probably in the wrong forum. But I cannot find anything which this falls under.
    Also please forgive my lack of competence in filing an issue like this.
    I own a Lumia 1020 and was trying to move photos off my phone to laptop. More specifically was trying to move the DNGs. I had already moved the jpegs. When it came to cutting or copying the DNGs I keep getting an unknown error saying that the operation would
    not work. (sorry I don't have a screenshot of the prompt)
    Now, I decided to restart my phone and lo and behold that batch of DNGs are now lost. Which I must say is quite a bad thing given that those photos were rather important.
    Since that cannot be undone, I decided to move the other DNGs which to my surprise actually did start the transfer process without any hiccup. But, when my phone went to sleep it seemed to sever the connection between my laptop and phone thus killing the
    file transfer process and generally 'unplugging' itself from my laptop until I unlocked it again.
    Again I'm not sure how to submit this or under what category it falls. But this is an issue which shouldn't be happening with the finalised version of WP8.1

    Hello,
    You could also ask in the
    Windows 8.1 forum on Microsoft Community.
    Karl
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer.
    My Blog: Unlock PowerShell
    My Book:
    Windows PowerShell 2.0 Bible
    My E-mail: -join ('6F6C646B61726C406F75746C6F6F6B2E636F6D'-split'(?<=\G.{2})'|%{if($_){[char][int]"0x$_"}})

Maybe you are looking for

  • Can't install itunes on my windows

    when I try to install itunes or quicktime, the file will not open. it hs been downloaded to my machine, but it will not open when try.I have deleted old quicktime and itunes files, but it didn't help. what shall I do?

  • Bug In Payment Wizard Report

    We have found an obscure bug in the BP Summary Report from the payment Wizard. We created historical transactions for the suppliers using one journal for each month with line level remarks & dates. Where the journal has several lines for the same sup

  • Can't rename event in iCal?

    Hi everyone! We're having quite a problem at our company common iCal. Aprox 20 different calendars are created and most is in use 5/7 days a week. During last week we suddenly discovered a new issue - we couldn't create new events. When double clicki

  • OLD RFC export structure being referred to

    Hello all, I am testing a XI to RFC call in PI. The structure of the export parameter was changed after being imported into IR and accordingly I did re-import the modified RFC into IR. The export parameter in IR reflects the latest correct structure.

  • ASA Oracle SQLNET Disconnects

    I wanted to make a post to help other people. I have an ASA5585-40 FO pair running 8.4.5 code in my data center that protects various subnets containing oracle servers and application servers.  After installing the FW with wide open IP ANY ANY rules