Discrete to continuous in Simulink.

조회 수: 5 (최근 30일)
Nguyen Hieu
Nguyen Hieu 2022년 8월 25일
댓글: Paul 2022년 8월 29일
Hi, I use PID controller to control the input voltage (Ui) of the servo valve to adjust the spool displacement [-10< Ui <10 (V)].
I coded Ui =[-10:0.01:10]; and Simulink show the error: "Encountered unknown exception". So i think that discrete value from Ui can't calculate for the continuous system ( have PID controller and Intergator). It has any block or code to make Ui become continuous? Thank you for help.
  댓글 수: 5
Nguyen Hieu
Nguyen Hieu 2022년 8월 29일
Math equation is: @Paul
Paul
Paul 2022년 8월 29일
Apparently Ui is supposed to be scalar, but its coded as a 2001-element vector. Why is it coded as a vector?

댓글을 달려면 로그인하십시오.

답변 (1개)

Abderrahim. B
Abderrahim. B 2022년 8월 25일
Hi!
Use d2c and/or c2d functions in a MATLAB function !
Check out the link below, some others methods to do this conversion are listed there.
Note that most of these methods require Control System Toolbox.
Hope this helps
  댓글 수: 2
Nguyen Hieu
Nguyen Hieu 2022년 8월 29일
My code is:
U =[-10:0.1:10];
Ui=d2c(U);
And Matlab show:
Error using d2c (line 33)
Not enough input arguments.
Error in half_car_supension (line 16)
Ui=d2c(U);
Can you help for this. Thank you.
Abderrahim. B
Abderrahim. B 2022년 8월 29일
d2c and c2d accept model object as input, will not work in your case. To convert a vector(discrete) to continuous use quantizer and zero-order hold blocks.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by