Is there a MATLAB simulation time command supported by Simulink Design Verifier?

조회 수: 3 (최근 30일)
I am working on a Simulink model with a MATLAB Function block. The function in the function block requires the current simulation time. At the moment this is solved via an input with a Digital Clock block.
Is there a MATLAB command that could do this and is compatible with the Simulink Design Verifier?
  댓글 수: 4
Pat Canny
Pat Canny 2024년 10월 18일
I got several options from some internal experts:
  • To get the simulation time at the MATLAB prompt: "get_param(bdroot,'SimulationTime')"
  • To get the simulation time inside a MATLAB System block: matlab.system.getcurrenttime
  • To get the simulation time inside a Stateflow chart (MATLAB action language): getSimulationTime();
  • To get the simulation time inside a MATLAB Function block: we don't think there is a function for that. If the block is fixed-step discrete, the recommendation is to take the sample time as a parameter and count the time in the code.
Hopefully that helps. If so, let me know and I can submit this as an Answer.
Joshua
Joshua 2024년 10월 18일
Hi
Yes that was very helpfull.
Thank you.

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

채택된 답변

TED MOSBY
TED MOSBY 2024년 10월 19일
Hi @Joshua,
In a MATLAB Function block in Simulink, you can access the current simulation time without needing a Digital Clock block. You can do this by passing the simulation time as an input to your function.
Add a Clock Block:
  • In your Simulink model, add a Clock block from the Simulink library (found under Sources).
Connect the Clock Block:
  • Connect the output of the Clock block to the input of your MATLAB Function block. This will pass the current simulation time to the function.
Define the MATLAB Function:
  • Edit your MATLAB Function block to accept the simulation time as an input. Here’s an example of how to define your function:
function output = myFunction(time)
% Use the current simulation time
currentTime = time;
% Example operation using current time
output = currentTime^2; % Replace with your desired computation
end
Hope this helps!
Here is the documentation for the “clock block”:

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 General Applications에 대해 자세히 알아보기

태그

제품


릴리스

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by