Strona 1 z 1

Maszyna stanów i odczyt z USB/COM

: 17 sty 2014 13:20
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

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

: 17 sty 2014 16:09
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.