DeltaV - MPC: Question mark at the output of the MPC block.

Hello guys,

First of all I am sorry if my question is something very basic and I'm just wasting your time, but I tried to solve the issue and until now I got no positive results. I am trying to use the DeltaV model predictive control (MPC block) to control some parameters of a evaporator plant for my undergraduate thesis and the initial goal is to control the voltage value applied to a motor based on a level value; however, I always get an yellow circle with a question mark in it at the output. The control is working flawlessly when I use a PID control though. 

Thank you very much for your help!

Pedro.

--------------

EDIT 1: Thank you very much for all the support, I'm sorry for the long time I took to answer but this week has been very busy. Anyway, I am attaching two images, the first one shows how I was connecting the MPC block, the interrogation mark was showing up over the MNPLT1 output. I read about it and it could mean that that output was OOS. As I couldn't figure out how to solve the problem, I decided to connect the MPC block directly to the main panel in which I have all the inputs and outputs as shown in the second picture below to see if it would work properly. Apparently, the problem was solved, but I still would like to use a separate module like the one shown in the first picture. Too clarify, the LT001 represents a level sensor and the SC001 represents the signal that goes to the frequency inverter responsible for the pump.

--------------

EDIT 2: Hello guys, as I said in the last edit, the MPC block seemed to work fine when inserted in the same module as the inputs and outputs (Attempt #2). However, when I tried to use it as the input to a PID controller, I got a problem similar to the initial one described on the main post, a yellow question mark at the BKCAL_OUT of the PID block. Both the MPC and the PID seemed to work just fine when working alone, but I can't get them to work together. Another problem is that the PID keeps changing the actual mode to MANUAL although it is configured to CASCADE.

Again, thank you very much.

--------------

EDIT 3: Yellow question mark problem was solved; however, MNLPT and BKCAL_IN values of the MPC block equal to zero.

Attempt #1: DIDN'T WORK - Yellow question mark over the MNPLT

Attempt #2: IT WORKED

Attempt #3: DIDN'T WORK - Yellow question mark over the BKCAL_OUT in the PID block.

Attempt #4: DIDN'T WORK - MNPLT and BKCAL_IN of the MPC block equal to zero

MPC Operate: 

  • In reply to James Beall:

    They are all in the same module, I just don't know why I can't connect the MPC block to the PID block with the PID in cascade mode, since they work very well when working alone in this case.
  • In reply to Pedro Torreao:

    Did you allow the CAS mode in the PID? The scaling issue is usually just a warning and will let the MPC control, but the effective model may not be correct. If the scales don't match (inside the model folder files). If you want, you could send me the configuration and the model files from the DVDATA/Predict folder.
  • In reply to James Beall:

    Yes, I did, but even though I configured the PID block to CAS mode, it always goes back to manual in the 'Actual mode'.
  • In reply to Pedro Torreao:

    The IN to the PID must have good status.
  • In reply to James Beall:

    If I am using the MPC block as the master to the PID, I would have to use the CAS_IN of the PID, right?! The control works fine when I use only the MPC or only the PID, the problem happens when I try to use the PID in cascade mode with the MPC as its master.

  • In reply to Pedro Torreao:

    Pedro,
    Yes, you are correct. (Actually you can us the RCAS mode also.) However, if the IN to the PID has a BAD status, the PID cannot go to CAS or even AUTO! So, you must be able to put the PID in Auto if it has a chance to go to CAS! Thus, you can just configure the PID1/IN with value and a status of "GOODNONCASCADE". This should allow the PID to go to AUTO. If it will go to Auto, it should be able to go to CAS when you put the MPC in MPC control Mode. If you can't get the PID to Auto, it won't go to CAS!
    Try this and let me know.
    James
  • In reply to James Beall:

    James,
    First of all, thank you for the support. Based on your previous orientation I was able to put the PID block in the cascade mode; however, the values of the MNPLT1, BKCAL_IN of the MPC block and the value of the BKCAL_OUT of the PID block are equal to zero and when I try to use the Predict to identify the model I get an error that says that the it was not possible to perform the test because the value is constant. Also, I included a picture of the new settings.
    Pedro.

  • In reply to Pedro Torreao:

    That is great! However, the PID has no active "IN", or PV, that is responding to the change in the PID/OUT. Thus, the PV remains 0 and the PID/OUT ends up at a limit (0).
    But before I proceed, I need to know what you really want. I suspect that you don't really want the PID as the slave loop. You really just want the MPC to manipulate the AO. If that is the case, delete the PID and wire the MNPLT1 to the AO/CAS_IN and the AO/BKCAL_OUT to the MPC/BKCAL_IN1. I hope the AO scale is the same as the PID PV_SCALE or you might get the "scale changed" warning on the MPC. Let me know how you want this to work, do you really want the PID slave loop or just the AO?
    James
  • In reply to James Beall:

    I actually need the PID as the slave loop because the process is not stable so I need the PID to stabilize it.
  • In reply to Pedro Torreao:

    Ok. So the PID needs a process value. What process is it controlling? You need to connect the process measurement to the PID/IN. Have you tuned the PID loop for this process? So is CV of the MPC a process value that is impacted by changing the SP of the slave PID (once you get it running)?
    James
  • Pedro. MPC are designed to replace PID functions as main controllers and as such they typically will control the AO directly.

    Sent from my iPhone

    Jose Carias | Project Manager II
    Control Southern Inc. | 3850 Lakefield Drive | Suwanee | Georgia | 30024
    T: - | M: 770-243-0619 | F: 770-623-3663
    Jose.Carias@controlsouthern.com
    Facebook
    LinkedIn
    Twitter
    YouTube
    Products & Services | After Hours Emergency
    Check out our website!
    www.ControlSouthern.com
    ​A Member of the Emerson Local Business Partner Network
    On Jun 26, 2018, at 2:03 PM, Pedro Torreao <bounce-Pedro_Torreao@emersonexchange365.com> wrote:

    Update from Emerson Exchange 365
    <4U4NFM53MD4I-jpg_2D00_70x70x2-jpg>
    Pedro Torreao

    I actually need the PID as the slave loop because the process is not stable so I need the PID to stabilize it.

    View online

     

    You received this notification because you subscribed to the forum.  To unsubscribe from only this thread, go here.

    Flag this post as spam/abuse.

  • In reply to JoseCarias:

    Jose,
    MPC, MPCPro and MPCPlus can run as fast as 1/second (Tss/120) and so there are many application where it is appropriate to them to go to the AO. However, they can, and most often do, go to a slave PID controller. It depends on the application but you make a good point.
    James
  • You make a good point James and theoretically you could do it. However  the implementation could have issues on the future because the models are going to be tied to the tuning parameters on the pid modules

    Sent from my iPhone

    Jose Carias | Project Manager II
    Control Southern Inc. | 3850 Lakefield Drive | Suwanee | Georgia | 30024
    T: - | M: 770-243-0619 | F: 770-623-3663
    Jose.Carias@controlsouthern.com
    Facebook
    LinkedIn
    Twitter
    YouTube
    Products & Services | After Hours Emergency
    Check out our website!
    www.ControlSouthern.com
    ​A Member of the Emerson Local Business Partner Network
    On Jun 26, 2018, at 2:28 PM, James Beall <bounce-James_Beall@emersonexchange365.com> wrote:

    Update from Emerson Exchange 365
    James Beall

    Jose,
    MPC, MPCPro and MPCPlus can run as fast as 1/second (Tss/120) and so there are many application where it is appropriate to them to go to the AO. However, they can, and most often do, go to a slave PID controller. It depends on the application but you make a good point.
    James

    View online

     

    You received this notification because you subscribed to the forum.  To unsubscribe from only this thread, go here.

    Flag this post as spam/abuse.

  • In reply to JoseCarias:

    Jose,
    You are correct, the closed loop response of the PID loop (impacted by its tuning) is included in the process models of the MPC. Of the 70+ DeltaV MPC/MPCPro/MPCPlus applications that I have commissioned in the past 10 years, only about 5 used AO's for the MV. Most applications used PID's as the MV. This provides linearity and load rejection. Most often the closed loop PID dynamics are a much much faster, as they should be, that the MPC CV response (model).
    James
  • In reply to James Beall:

    I connected the process measurement to the PID/IN as you mentioned, and the PID loop for the process was already tuned. Also, answering your last question, the CV of the MPC is a process value that is impacted by a change of the SP of the slave PID. After that, the control seemed to work; however, when I try to use the Predict to identify the model, I am getting an error that says that 'The number of samples is too small.", maybe I will have to test it again for a larger amount of time.