Przekazywanie danych pomiędzy pętlami

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
mnawotka
Posty: 46
Rejestracja: 15 lut 2016 20:13
Wersja środowiska: LabVIEW 2017
Has thanked: 4 times

Przekazywanie danych pomiędzy pętlami

Post autor: mnawotka » 30 wrz 2020 21:36

Cześć forumowicze.

Zagwostka taka nad rozwiązaniem optymalnym. Odczyt danych z 4 urządzęń (po rs232), rozbite na 4 pętle, obrótka danych w pętli nr 5. Nie są to pomiary dynamiczne, odczyt co 1-2 sekundy. Dane do 5 pętli przekazywać ?

- 4 kolejki do piątej pętli ?
- global variable ?
- channels ? (nie wykorzystywałem ich jeszcze)
- jakiś lepszy sposób ?

matowc1991
Posty: 3
Rejestracja: 20 gru 2018 10:54
Wersja środowiska: LabVIEW 2019
Has thanked: 2 times
Been thanked: 1 time

Re: Przekazywanie danych pomiędzy pętlami

Post autor: matowc1991 » 30 wrz 2020 23:15

Kolejki wydają się zasadniczo dobrym pomysłem, global variables odradzam, a channele w większości to też kolejki, tylko że w interesującym opakowaniu :)
Nie znam szczegółów aplikacji, ale skłaniałbym się ku channelom, choćby ze względu na to, że byłaby okazja je poznać.

Pieczywo
Posty: 14
Rejestracja: 03 paź 2018 20:57
Wersja środowiska: LabVIEW 2017
Has thanked: 1 time
Been thanked: 1 time

Re: Przekazywanie danych pomiędzy pętlami

Post autor: Pieczywo » 03 paź 2020 19:31

Ciężko bez wymagań wydajnościowych określić co będzie najlepszym rozwiązaniem. Jeśli interesuje nas ostatnia wartość bo odczyt jest dużo częstszy od wyniku przetwarzania to kierowałbym się w stronę zmiennych lokalnych/globalnych (globalnych używasz tylko w przypadku gdy to niezbędne tj z kilku plików vi bez opcji przekazania danych do nich w inny sposób. Jeśli odczyty są rzadkie, przetwarzanie szybkie i zależy nam na przetworzeniu wszystkich odczytanych wartości to kolejki.

szyms
OptiNav
Posty: 1
Rejestracja: 22 sty 2020 08:16
Wersja środowiska: LabVIEW 2019

Re: Przekazywanie danych pomiędzy pętlami

Post autor: szyms » 28 paź 2020 15:39

A czemu nie jedna kolejka do piątej pętli?

pawhan11
Posty: 64
Rejestracja: 21 wrz 2011 16:25
Wersja środowiska: LabVIEW 2012
Been thanked: 1 time

Re: Przekazywanie danych pomiędzy pętlami

Post autor: pawhan11 » 29 paź 2020 16:28

Zależy od pętli analizującej dane.
- Jeżeli analiza dopuszcza zgubienie/zdublowanie jakiejś próbki może być global variable albo notifier
- Jeżeli zgubienie próbki nie wchodzi w grę to kolejki lub UE. Czy 4 kolejki/UE czy 1 kolejka/UE zależy od preferencji i logiki w pętli przetwarzającej dane. Przy odczycie rzędu 1-2 sek rozważania co będzie bardziej optymalne nie mają sensu.
CLS - Certified LabVIEW Student

ODPOWIEDZ