How to get system date and time into simulink?

Is there a way to get the system date and time (not simulation time) into simulink?

2 Comments

In which datatype & formate?
How you are going to use it in simulink?
As integers, I'm going to use it to calculate the position of the sun (which depends on location and date/time).

Sign in to comment.

 Accepted Answer

Use below code in embedded matlab function block. It will give the date and time components as separate output.
function [Y, M, D, H, MN, S] = fcn()
eml.extrinsic('now');
eml.extrinsic('datevec');
Y = 0;
M = 0;
D = 0;
H = 0;
MN = 0;
S = 0;
[Y, M, D, H, MN, S] = datevec(now);
end

4 Comments

eml.extrinsic has been deprecated. The new syntax is coder.extrinsic.
In my project, I ve to compare my simulink pattern time and actual time.So i need to get System Date and time. While reading System Date and time, simulink shows the error as
Unsupported: structure access
Function 'Embedded MATLAB Function' (#40.40.53), line 2, column 4: "eml.extrinsic" please help to sort this issue
Sathish: Please post this as a new question along with your code.
Can the new question's link be shared here, it shall help out many!

Sign in to comment.

More Answers (4)

A slightly simpler version:
function [Y, M, D, H, MN, S] = sysClock()
coder.extrinsic('clock');
Y = 0;
M = 0;
D = 0;
H = 0;
MN = 0;
S = 0;
[Y, M, D, H, MN, S] = clock;
end
Please try using the MATLAB Function block with the code:
function t = sysTime
t = now;
end
HTH.

5 Comments

Unfortunately, this doesn't work:
The function 'now' is not supported by Embedded MATLAB for code generation. See the documentation for eml.extrinsic to learn how you can use this function in simulation.
Function 'Embedded MATLAB Function' (#45.25.28), line 2, column 5:
"now"
Try.........
function t = sysTime
eml.extrinsic('now');
t=0;
t = now;
end
Note:
'now' returns the current date and time as a serial date number.
Sorry, I forgot to include the extrinsic declaration. Thanks, TAB.
how to call the current time only, not with the current date?
There is no way to fetch only the time without the date. The sysClock routine that Rick showed above can be modified to discard the date portions and return only the time components.

Sign in to comment.

I tried to use it under 'Real-Time Windows Target', but it doesn't work. Any ideas how to read system time under 'Real-Time Windows Target'?

2 Comments

Me too. With the error of "The extrinsic function 'clock' is not available for standalone code generation. It must be eliminated for stand-alone code to be generated."
I have also encountered that problem. Is there any solutions?

Sign in to comment.

Categories

Find more on Deployment, Integration, and Supported Hardware in Help Center and File Exchange

Tags

Asked:

on 28 Feb 2012

Commented:

on 11 Dec 2023

Community Treasure Hunt

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

Start Hunting!