Strona 1 z 1

jaka strukttura

: 03 mar 2009 14:18
autor: skalag
Witam
Mam do zrobienia projekt ktory bedzie obslugiwal 2 rozne urzadzenia.
jedno to karta pomiarowa - 16 kanalkow wejsciowych i 4 wyjsciowe
drugie to power analyzer

Jaka bedzie najlepsza architektura do tego zadania?
Myslalem nad 3 rownoleglymi watkami ( 2 do obslugi urzadzen) a 3 do wizualizacji i zapisu dancyh.

Tylko nie wiem za bardzo jak te dane przekazywac w szybki i bezstratny sposob i co najwazniejsze jak te dane ze soba synchronizowac?
Co do synchronizacji to karta daje 1000 probek z 10k na kazdy kanal w systemie ciaglym
a power analyzer daje probki jak sie pojawia na wyjsciu.

Dodam jeszcze ze bedzie 4 watek do kontrolowania innego PC poprzez TCP/IP.


Jakies sugestie?

Jakby ktos mial jakis podobny przyklad to z checia polukam.

Projekt ma byc w LV8.0

Pzdr

Re: jaka strukttura

: 04 mar 2009 14:47
autor: skalag
Witam
Nikt nie ma koncepcji co do architektury??

Sprobowalem zrobic to na 3 watkach ale nie jestem pewnien co do synchronizacji kanalow.
Nie mialem do czynienia z synchronizacja urzadzen.
Moglby ktos luknac i powiedziec ktory sposob synchroinizacji jest lepszy ?


Pzdr

Re: jaka strukttura

: 05 mar 2009 20:44
autor: skalag
nikt chetny luknac i ocenic moje pliki?

pzdr

Re: jaka strukttura

: 06 mar 2009 21:39
autor: jogurt_owocowy
Możesz opisać dokładniej jak to ma działać?

Re: jaka strukttura

: 06 mar 2009 22:06
autor: skalag
jedna petla obsluguje zczytywanie danych z karty pomiarowej i jest to 16 kanalow po 1000 probek z fp ustalana na poczatku. typowo 10k.potem kazdy kanal jest usredniany tak wiec mam 1 probke na kanal co 0.1 s.
druga petla obsluguje zczytywanie danych z power analyzera i tam jest 15 kanalow ale zczytuje dane juz usrednione co czas usredniania.czas usredniania ustalam tez na poczatku.typowo 0.1 s.
Oba kanaly musza byc zsynchronizowane co do zczytywania dancyh, bez straty dancyh.
potem te dane musza byc przekazane do innej petli co obsluguje przetwarzanie danych( wyswietlanie , zapis do pliku itp).
te 2 pliki co zrobilem upload to sa z generatorami dancyh zamiast realnych urzadzen pomiarowych.

Re: jaka strukttura

: 08 mar 2009 18:15
autor: jogurt_owocowy
Oba kanaly musza byc zsynchronizowane co do zczytywania dancyh, bez straty dancyh
Ok, ale nie ma żadnej wspólnej podstawy czasu dla tych dwóch urządzeń, więc co to znaczy, że mają być zsynchronizowane?

Re: jaka strukttura

: 09 mar 2009 09:15
autor: skalag
no musi byc wspolna podstawa czasu.
zaczynam przy inicjalizacji. jak ustawiam N i fs dla karty pomiarowej to te parametry ustalaja mi averaging time dla power analyzera.
np fp=10k , N=1000 - dla kazdego kanalu to samo to wtedy
averaging time = N/fp;

karta pomiarowa probkuje w sposob ciagly i pakuje dane do kolejnych buferow , wiec nie ma mozliwosci zarzymania petli co pobierania tych danych bo nastapi overbuffer error i koniec pobierania danych z tej karty.

Z kolei power analyzer pobiera ostatnia usredniona dana.
wiec nie zaleznie kiedy wysle zapytanie jakas wartosc przyjedzie.
moze sie tak stac ze wysle 2 zapytania i przyjdzie ta sama dana w przypadku kiedy nowa usredniona dana jest nie gotowa.

chcialbym zeby w chwili kiedy chytam dane z karty (powedzmy co 0.1 s)
rownoczesnie wziasc dane z power analyzera.

i potem w petli pobierania danych dane powinny byc czytanne z obu urzadzen i przekazywane dalej do obrobki.

mam nadzieje ze tym razem dobrze wytlumaczylem.

przyklad pierwszy dziala na notifier i ocurrance ale ja nie wiem czy to dobrze.
to moj pierwszy projekt z synchronizacja wiec nie mam wiedzy o tym.

Moze ktos ma jakies przyklady ktore mogl bym luknac.

pzdr

Re: jaka strukttura

: 09 mar 2009 13:45
autor: jogurt_owocowy
Jeśli driver pobierający dane z karty czeka na napełnienie się bufora i wówczas zwraca jego zawartość, to możesz zrobić odczyt danych z karty i analizatora w jednej pętli: najpierw odczytanie danych z karty, następnie odpytanie analizatora. Teraz obydwa te wyniki stanowiące (jak sądzę) logiczną całość weź w klaster i wspólnie wyślij za pośrednictwem kolejki do wątku wizualizacji/zapisu danych.

Pozdrawiam