Simulink: To Workspace block, collects only one or two data points (Running in External mode)

I am running a simulink model in external mode, and I get only one data point after the run from "To workspace block". I have tinkered with the settings a lot to get this to work, but I am not able to get more than two data points.
I am using Matlab R2015b, model is running on Arduino Mega 2560. The following are the screenshots of the settings I am using: Model:
To Worksoace block setting:
Solver settings:
Data Import/Export:

 Accepted Answer

Unfortunately I have the same problem. It worked fine with R2014b and doesn't work with R2015a and R2015b.
If you (or someone else) finds a solution, I'm very interested.

2 Comments

How can my answer be the accepted one? I just said I have the same problem and still have the problem.
because you are only one who has given an effort

Sign in to comment.

More Answers (5)

Hi,
I notice that in your model, the sample rate used is 6ms. Typically, the gap in output data is observed when the sample rate is less than 10ms because the target tries to upload the data to the host every few seconds.
To resolve the issue,
1) Please increase the duration further in your model and see if it satisfies your requirements. Ideally, it is not recommended to run external mode on Arduino targets at very high rates (such as 1 ms).
2) If your requirement is to have data archiving at very high speeds, it is recommended to use a serial block for data upload. You would then use an ICT receive block on the Host to log data into MATLAB.
I hope this addresses your query.
Regards,
Vidya Viswanathan

1 Comment

I am encountering the same issues with the MinSeg.
The dynamic data goes to scope without issue, but only the final value goes to the workspace.
I have tried an (inherited) simulation step of 0.1 [s], and also set the decimation to 10. This did not have any effect; only the final value appears.
[r2015b]

Sign in to comment.

I am having the same problem in R2015b. Any update on this issue will be very much appreciated.
I was having a similar issue where no data was being output to the workspace. I fixed it by going to tab Code > External mode control panel > Data Archiving. Then here I enabled Data Archiving, selected a directory and typed my desired file name. Now I have my variable in the To Workspace block being written to workspace, although I also get a file in the same directory with the name I set in Data Archiving.

Categories

Products

Asked:

on 29 Nov 2015

Answered:

on 10 Mar 2022

Community Treasure Hunt

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

Start Hunting!