to store data array while running a simulation in in real time.

5 次查看(过去 30 天)
Hello, in my simulink system i want to store incoming real time signal data in a data array for one iteration.I need to use this data in the next iteration.Is there some way to do that?
Just to be clear here is a brief description of my simulink model: 1)the whole system is iterative and iterates after every 25 seconds 2)I have a enabled subsystem in my model which runs for 0.2 seconds every iteration. I need to store the data at every sample time during this 0.2 second interval for some function in the next iteration. Any suggestions on how I can do this in simulink?

回答(2 个)

TAB
TAB 2012-5-15
Have you tried Unit Delay block ?
[Edited 16 May,2012]
Try using Discrete/Tapped Delay block. It returns the multiple delayed value in an array. You can set the Number of delays property value of the block to 0.2/0.00025 = 800 as you need previous 800 samples.
  2 个评论
Rohan
Rohan 2012-5-15
The sample time of my system is 0.00025 seconds and I want an array of data of the samples stored in 0.2 seconds for the next iteration for some computation. Using unit delay we can store only the last sample value. I need to store (0.2/0.00025) samples every iteration. so i dont think unit delay will work.

请先登录,再进行评论。


K E
K E 2012-5-15
At each time step, could you write out a mat file using the To File block containing the last 80 samples then at the next time step read in this file and perform your calculation? You would need to wait until you had at least 80 samples completed. I am not sure this will work, just a suggestion.
  2 个评论
Rohan
Rohan 2012-5-15
I am working on a real time environment using dSPACE. so during the simulation is running will the 'To File' and 'From File' blocks update in real time?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by