Discrete to continuous in Simulink.

2 views (last 30 days)
Nguyen Hieu
Nguyen Hieu on 25 Aug 2022
Commented: Paul on 29 Aug 2022
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 Comments
Paul
Paul on 29 Aug 2022
Apparently Ui is supposed to be scalar, but its coded as a 2001-element vector. Why is it coded as a vector?

Sign in to comment.

Answers (1)

Abderrahim. B
Abderrahim. B on 25 Aug 2022
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 Comments
Nguyen Hieu
Nguyen Hieu on 29 Aug 2022
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 on 29 Aug 2022
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.

Sign in to comment.

Categories

Find more on General Applications in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!