How to use external simulation time in simulink?

1 次查看(过去 30 天)
Hello :)
I have sensors and pumps that are connected to a board which has a tcp connection to simulink. Since round times from simulink to the board and back are too long and flickers a little, the control algorithm is executed on the board. It sends data back to simulink after every execution (20 ms) and a time stamp at which the data was sent. I would like to use this time stamp as simulation time to have the data shown correctly in a scope even if they arrived with different latency or maybe even different order. Is there any way to achieve that?

回答(1 个)

Fangjun Jiang
Fangjun Jiang 2021-3-4
USE "XY Graph" block. X is the received time, Y is the received data.
  2 个评论
Jan Theiss
Jan Theiss 2021-3-16
编辑:Jan Theiss 2021-3-16
That solves the problem of displaying it correctly. But what if other blocks should use that as their simulation time to calculate other things? Maybe by using a shorter sim interval and delay the simulation so that it matches the received time?
It is a little hard to me to find the right way between discrete simulation of continous signals...
Fangjun Jiang
Fangjun Jiang 2021-3-16
That is the "latency" you have to deal with. You can slow down the simulation on the computer or "wait" for the message coming from TCP/IP. But there is no other way better than reducing this "latency" directly if possible.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by