Chcę pobrać dane z simulink podczas symulacji i użyć funkcji sieci szeregowej, aby wysłać te dane do innego programu. Ponieważ muszę użyć innego programu, aby wykonać pewne sztuczki i wysłać polecenie z powrotem do simulink, więc muszę pobierać dane z simulink podczas pracy, aby inny program mógł wykonać odpowiednie polecenie.Jak wyeksportować dane Simulink do obszaru roboczego podczas symulacji?
Próbowałem już za pomocą To Workspace bloku, aby wyeksportować dane.
Mogę jednak tylko dostał wartość na samym początku symulacji.
Próbowałem też użyć zakresu i zmienić niektóre właściwości: zaznacz Zapisz dane w obszarze roboczym i odznacz Limituj dane do Ostatniej.
Najpierw zacząłem symulacji i znalazłem ScopeData nie pojawiają się w obszarze roboczym. Dopiero po zatrzymaniu symulacji ScopeData pojawi się w przestrzeni roboczej.
A potem mogę wykorzystać ScopeData.signals.values uzyskać wartości.
Ale ja chcę: kiedy rozpocznę symulację, ScopeData pojawi się w przestrzeni roboczej, dzięki czemu będę mógł wysłać te dane do innego programu.
Czy ktoś wie, jak to osiągnąć?
Znalazłem this page może być pomocne, ale nadal nie wiem jak do ciągłego eksportu danych podczas symulacji.
Czy wysyłasz dane do programu Matlab lub innego programu, takiego jak Excel lub coś podobnego? Jeśli tak, to jaki inny program? –
Wysyłam dane do Proteus, ponieważ chcę napisać kilka poleceń na mikroczipie, aby kontrolować bloki w simulink. –
Wiem, że można uzyskać dane na liniach simulin za pomocą ['get_param'] (http://www.mathworks.com/help/simulink/slref/get_param.html) cammand, gdy Simulink jest ustawiony na ** zewnętrzny Tryb ** podczas symulacji (nie jestem pewien innych trybów). Możesz ustawić timer (z tą samą częstotliwością simulink) i zrobić to w swoim "callbacku". – pm89