MATLAB Answers

Is ir possible to use more than one reference signals when using looptune in MATLABR2012a?

1 view (last 30 days)
Kah Wei
Kah Wei on 25 Dec 2014
Edited: Kah Wei on 31 Dec 2014
Hello everyone.I have a question here.
Currently I am trying to use sl.looptune to tune the parameters of my PID controller.The system that I am investigating is a 3 by 3 system as shown in the attached simulink model.
Tracking requirement is the objective that I wish to achieve by using sl.looptune. However I encounter an error that says:
"Zero or more than one input signals match the reference signal identifier "R1"."
Does that mean I only can use one reference signal for the system when applying tuning requirement in sl.looptune for my 3 by 3 system?

  2 Comments

Arkadiy Turevskiy
Arkadiy Turevskiy on 29 Dec 2014
Can you please attach your script and also indicate which release you are using (to do that type >>ver )
Kah Wei
Kah Wei on 30 Dec 2014
Hi Arkadiy.Thanks for taking time to answer.I already attached the script in this question as requested.
Ther version of MATLAB that I am using is MATLAB Version: 7.14.0.739 (R2012a)

Sign in to comment.

Accepted Answer

Arkadiy Turevskiy
Arkadiy Turevskiy on 30 Dec 2014
Edited: Arkadiy Turevskiy on 30 Dec 2014
Ok, with the script provided, the problem is obvious. The script is referring to signals u1, u2,u3, and y1,y2,y3 in the model, but they are not defined there. All you need to do is name those signals in the model, as is done in the attached file.
Change your script to refer to this mdl file in lines 19 and 22.
I ran your script to line 49 and ran the model with the tuned gains to confirm a nice, stable design.
Arkadiy
P.S. If you have access to R2014a or R2014b, you can now do this workflow from a nice app (GUI) called Control System Tuner - makes it easier to setup the problem and not screw up the code.
Check it out here .

More Answers (1)

Arkadiy Turevskiy
Arkadiy Turevskiy on 29 Dec 2014
Most likely you need to specify signals of interest as I/O points, and then this problem would go away.
I.e., before you refer to R1 in something like TuningGoal.Tracking, define it as an input IO point:
ST0.addIO({'R1','R2','R3'},'input') % setpoint commands

  1 Comment

Kah Wei
Kah Wei on 30 Dec 2014
I already proceed to define R and Y as my inputs and outputs respectively and yet I still encounter the error as shown below:
Zero or more than one output signals match the tracking signal identifier "y1"
I still cant figure out what is the problem....

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!