How to use external simulation time in simulink?

6 Ansichten (letzte 30 Tage)
Jan Theiss
Jan Theiss am 4 Mär. 2021
Kommentiert: Fangjun Jiang am 16 Mär. 2021
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?

Antworten (1)

Fangjun Jiang
Fangjun Jiang am 4 Mär. 2021
USE "XY Graph" block. X is the received time, Y is the received data.
  2 Kommentare
Jan Theiss
Jan Theiss am 16 Mär. 2021
Bearbeitet: Jan Theiss am 16 Mär. 2021
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 am 16 Mär. 2021
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Simulink finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by