Maszyna stanów i odczyt z USB/COM

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
lala166
Posty: 19
Rejestracja: 15 kwie 2011 12:28
Wersja środowiska: LabVIEW 2010

Maszyna stanów i odczyt z USB/COM

Post autor: lala166 »

Tworzę system pomiarowy, którego priorytetem będzie jak najszybsze zbieranie danych.

Zrobiłem więc maszynę stanów: While, w nim Case ze stanami w tym "Wait for Event", a w "Wait for Event", Event Structure.
Wydaje mi się że odczyt z portów powinien być w drugim while'u, gdzie tą pętle umieścić? Całkiem oddzielnie - niech dwa while'y pracują równolegle? Czy jeden w drugim ? A może w Wait for event ?

Pozdrawiam
TMa
Posty: 203
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017

Re: Maszyna stanów i odczyt z USB/COM

Post autor: TMa »

Dwie pętle mogę nie wystarczyć... proponuje wstępnie rozważyć trzy :)
1. Pierwsza pętla ma Event Structure i czeka na zdarzenia z panelu. Wysyła komendy poprzez kolejkę do pętli głównej.
2. Druga pętla czeka na dane z portu. Za pomocą lokalnej maszyny stanów rozpoznaje jaka ramka przyszła. Wysyła komendy poprzez kolejkę do pętli głównej.
3. Trzecia pętla - logika aplikacji. Odbiera dane z obu kolejek i decyduje co dalej z tym bałaganem ma zrobić.

To tak teoretycznie. Praktycznie może się okazać że potrzebujesz jeszcze równoległego logowania, raportowania czy innych fanaberii.
ODPOWIEDZ