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 Pedro Torreao:

    Pedro.
    Great! More progress! How long is the time to steady state for the CV for a step MV change? That is, if you move the MV of the MPC in Manual (or a step setpoint change of the PID in Auto), how long does it take for the CV to line out (assuming it is self regulating). If you know the dynamics of the CV response, Tss will be about deadtime+4*time constant. I assume you are using the Predict automated testing and model id feature. In the Predict Test Setup, you specify the Tss (estimate on the long side). I have had better luck using 2 cycles of the auto test. It takes about 7*Tss for one test cycle and about 14*Tss for two cycles. It will tell you how long the test takes. Make sure you have downloaded the historian before you test.
    James
  • In reply to James Beall:

    James,

    I did the math that you suggested and I tried to test it again (the test took almost 40 minutes); however, when trying to 'Autogenerate' I'm still getting an error that says that the number os samples is too small and a status message that says "ERROR - Failed to read process data". Also, the MPC/MNPLT1 has a 'GoodCascade Const' status and when I try to set it to 'GoodCascade' I get another error that says that I have an invalid target. Additionally, when I try the option 'Create Model' on Predict, it gives me a warning that I have bad or missing samples and when I check the details, there is a BAD status assigned to the MPC/MNPLT1 for the entire duration of the test.

    Thank you,

    Pedro.

  • In reply to Pedro Torreao:

    Pedro,
    Is the DeltaV Continuous Historian enabled? Have you downloaded the Historian. Is the historical data being collected on the MPC CV and MV? The Predict program uses the data out of the historian to determine the process model. Please send a screen shot of the MPC Operate screen during the test with the CV and MV checked to show up on the trend.
    James
  • In reply to James Beall:

    James,
    I really believe that the Continuous Historian is enabled, but just so I can check if I did the correct procedure, how would I enable the DeltaV Continuous Historian and download the Historian? Regarding the screenshot of the MPC Operate screen, as soon as I'm back in the lab, I'll send you one.
    Thank you,
    Pedro.
  • In reply to James Beall:

    Pedro,
    In DeltaV Explorer, right click on the Continuous Historian, select Properties, check the Enabled button. You must assign the Area that has the MPC into the Historians areas. Right click on Historian to download. The correct points (CV and MV) are automatically set to be historized.
    James
  • In reply to Pedro Torreao:

    Pedro,
    Sorry, I missed your last response! Make sure you set the "Time to Steady State" in the Test Setup long enough cover the full response. For Predict with the MPC block, you can set it to make more than 1 test cycle. I like 2 cycles or more.
  • In reply to James Beall:

    James,
    I just finished the project and the controller seems to work very well; however, while I could set the control horizon just fine, I never found where to set the prediction horizon. Anyway, thank you very much for your support, it has been fundamental for my project.
  • In reply to Pedro Torreao:

    Pedro,

    That is great news!  Congratulations!  Now that you are an expert in DeltaV MPC, you can indeed change the control horizon.  Search Books On Line for "Using DeltaV PredictPro" and you will find:

    Extending the control horizon

    The potential benefit from extending the control horizon would occur in processes with significantly different deadtimes and response times. For the MPCPro block, the default value for control horizon is 16 and the allowed range is from 1 to 32. For MPCPlus, the default value is 14 and the allowed range is up to 40. Refer to Changing the advanced options for the MPCPro block for information on how to extend the control horizon.

    Following the link to Changing the advanced options for the MPCPro block, you will find how to change the control horizon.  Below is an excerpt from this section.

    Changing the advanced options for the MPCPro block

    In order to use these options the controller must be generated at least once for the selected block and model pair.

    1. Close the PredictPro application.
    2. Navigate to DVData\PredictPro\module name\block name\Modeldata&ID.
    3. Right-click the ControllerHeader.predictPro file, and then select Properties from the context menu.
    4. Uncheck the Read-Only check box, and then click OK.
    5. Open the file with Notepad.

      Use the example file (ControllerHeader.predictPro) that follows this list for guidance in performing the next steps.

    6. To enable and disable MV targets in the MPC controller, enter True (enabled) or False (disabled) in the Penalty on MV Error Enabled section of the file.
    7. To adjust the MV targets' controller weights coefficients, edit the Penalty on MV Error section of the file. Each consecutive parameter corresponds to a consecutive MV. The default weights are 0.0. It is recommended that the weights not exceed 2.0.
    8. In the Control Horizon section, edit the number.

    Good luck!  Let me know if I can help.

    James

  • In reply to James Beall:

    James,
    Just one last question, is the prediction horizon set to be equal to the Tss by default?
    Thank you,
    Pedro.
  • In reply to Pedro Torreao:

    Yes, that is correct.