Results 1 to 5 of 5

Thread: AIA Verses PID

  1. #1
    Join Date
    Jun 2005
    Location
    Ohio
    Posts
    1,720

    AIA Verses PID

    With the help from many, I was able to create my first simple Spyder program, simulate, and it ran....cool. I'll try to load it into a Spyder next.
    I was looking at the AIA (Adaptive Integral Action) object and was wondering if anyone is using this successfully instead of a PID object. If so, in what applications?
    jogas

  2. #2
    Join Date
    Apr 2006
    Location
    New England
    Posts
    189
    Quote Originally Posted by jogas View Post
    With the help from many, I was able to create my first simple Spyder program, simulate, and it ran....cool. I'll try to load it into a Spyder next.
    I was looking at the AIA (Adaptive Integral Action) object and was wondering if anyone is using this successfully instead of a PID object. If so, in what applications?
    jogas
    what is AIA? Can you describe how it works?

  3. #3
    Join Date
    Jun 2005
    Location
    Ohio
    Posts
    1,720
    Quote Originally Posted by drafty888 View Post
    what is AIA? Can you describe how it works?
    Here's the Help explanation:
    This function is an Adaptive Integral Action controller (AIA). It can be used in place of the PID. This control works better than PID when delays in the process being controlled cause integral windup resulting in undershoot or overshoot that leads to instability.


    Err = Sensor – Set Point.

    If Direct/Reverse is set to reverse, then Err term is set to –Err.

    Tr (throttling range) is Error value that results in an Output change of the maximum value (MaxAOchange) from one step to the next. MaxAOchange is the maximum amount(%) that Output will change for a single cycle of the control (1 sec). This is typically set to 100%/(actuator speed(sec/full stroke)). Deadband is the absolute value that Error must be greater than before the output will change.

    EffErr = Err – dead band

    If Err > 0 , ErrSign = 1 else ErrSign = -1

    If |Err| < dead band, then AbsErr = 0.

    Otherwise( |Err |> dead band), AbsErr = |Err| - deadband

    Output = output + ErrSign*[( maxAOchng – minAO)*(AbsErr/(ThrottlingRange-Deadband))**3 + MinAO)].

    From iteration to iteration, the Function Block keeps track of the old proportional error. On power up/reset this is cleared.

    jogas

  4. #4
    Join Date
    Jun 2005
    Location
    Ohio
    Posts
    1,720
    Attached is a Hnywl brochure excerpt on AIA.
    jogas

    [IMG]file:///C:/DOCUME%7E1/jogas/LOCALS%7E1/Temp/moz-screenshot.jpg[/IMG] [IMG]file:///C:/DOCUME%7E1/jogas/LOCALS%7E1/Temp/moz-screenshot-1.jpg[/IMG]
    Attached Images Attached Images  

  5. #5
    Join Date
    Jan 2005
    Location
    steeler nation
    Posts
    2,055
    i was told the aia isn't subject to integral wind up. however the output doesn't go below 0 so if you use it with a stager the last stage won't turn off. i have a thread on here about it and code and lwarren offered some advice.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Comfortech Show Promo Image

Related Forums

Plumbing Talks | Contractor Magazine
Forums | Electrical Construction & Maintenance (EC&M) Magazine
Comfortech365 Virtual Event