MATLAB Answers

0

problem while tuning PID controller

Asked by Martin1986 on 12 Dec 2011
Latest activity Commented on by Nail
on 14 May 2018
I try to tune a PID-Controller in Matlab2010b if i use a discrete one i get the error Message "The second input argument of the "d2d" command must be a positive scalar." if i use a continuous one i get "Input to SVD must not contain NaN or Inf." what i have to pay attention that this block works fine? My system can became NaN due to a Sqrt-expression....

  0 Comments

Sign in to comment.

Tags

Products

5 Answers

Answer by Arkadiy Turevskiy on 6 Feb 2012
 Accepted Answer

What is the purpose of the memory block that you are using at the output of the PID controller? Long story short, that is what creates the problem.

  0 Comments

Sign in to comment.


Answer by Arkadiy Turevskiy on 12 Dec 2011

Can you provide the plant model?

  0 Comments

Sign in to comment.


Answer by Martin1986 on 13 Dec 2011

yes sure i put it on file exchange or you go to here
the file is created on linux with 2010b it is only a part of the system, the massflow(the output which i try to control) will normally have a influence to the 3. input of the subsystem too...

  0 Comments

Sign in to comment.


Answer by Yoni
on 19 Jan 2012

Hi Martin,
I've had the same problem.
It seems the discrete PID option does not handle a sampling time of "-1" (should have inherited the sampling time it that case)
So the workaround for your problem is to enter your own explicit expression for the sampling time. do not leave it on "-1".
This should eliminate the "The second input argument of the "d2d" command must be a positive scalar."
Cheers, Yoni

  1 Comment

Nail
on 14 May 2018
Also, simulation time must not be set to "inf".

Sign in to comment.


Answer by Martin1986 on 8 Feb 2012

o.O actually this was a try to avoid this problems(and avoid a algebric loop because the starting value must be 0), finally i made some small changes in my Model and than it works also fine ;) i think the block works fine but the debuging is a little bit problematic ;) because if you have a bigger plant it is quite tricky to find the exact cause of the problem

  0 Comments

Sign in to comment.