Simulink PID Tuner does not work

60 views (last 30 days)
Christoph Thale
Christoph Thale on 27 Oct 2019
Answered: Jesús Zambrano on 5 Dec 2019
Hi,
I got a PID Block in my Simulink model. The problem is, that I cannot tune the PID controller.
Always, the error
Simulink Control Design: Not enough input arguments.
appears in the Diagnostic Viewer. This error only comes up when I want to tune the PID. The model is working btw.
I also got in the PID Tuner window:
Plant cannot be linearized. Use the Plant menu to create or select a new plant.
Does anyone know how I could fix that problem?
(using Matlab_R2019a)
Many thanks and greets,
Christoph

Answers (1)

Jesús Zambrano
Jesús Zambrano on 5 Dec 2019
Hi Christoph,
Even if the dynamics equations are fine, some nonlinear systems are difficult or impossible to linearize. A possible way is to use data to estimate a model of the system.
The workflow is as follows:
  • In the PID Tuner tab, select Identify New Plant.
  • The Plant Identification tab will open. Select Get I/O Data, then Simulate Data so to generate identification data by simulating the model.
  • It will open the Simulate I/O Data tab, where you specify the input data (for example a step function) used for the plant identification.
  • Click Run Simulation. Then, click Apply and Close.
  • Then, the Plant Identification tab will open showing the results of the plant identification. Once in there you can modify the response by moving or adding factors (for example delay, zero, integrator).
  • Select Apply. It will create a new variable in the Data Browser section of the PID Tuner.
  • Go to the PID Tuner tab, select Step Plot: reference tracking plot. Here the PID is using the new identified plant. You can still improve the system response by moving the sliders.
  • Click Update Block and simulate the model with the new PID parameters.
Hope this can help to solve your question.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!