Discrete to continuous in Simulink.

4 次查看(过去 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 个评论
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