Simulink: To Workspace block, collects only one or two data points (Running in External mode)
25 views (last 30 days)
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:
More Answers (5)
Vidya Viswanathan on 1 Apr 2016
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.
Auralius Manurung on 26 Feb 2016
I am having the same problem in R2015b. Any update on this issue will be very much appreciated.
Number seven on 10 Mar 2022
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.