Cześć,
mam przypadek, w którym próbuję odebrać dane z innego komputera w postaci kolejnych wartości liczbowych. Dane wyświetlane są na string indicator i z każdą nową nadchodzącą wartością, aktualizuje się pole z nową liczbą. Próbuję zasygnalizować za pomocą np kontrolki, że dane przestały napływać. Myślałem o rozwiązaniu takim, że póki znów nie ma nadchodzących danych to jest puste pole, ale ostatnia wartość, która przyszła jest wciąż wyświetlona dlatego nic się nie może zadziać. Może jest jakiś Property Node, który umożliwia czyszczenie tego okna żeby można było stwierdzic, że skoro pole jest puste to jest to "pusty string"?
Z góry przepraszam za dość zawiłe przedstawienie problemu i proszę o podpowiedź.
Pozdrawiam
Status o braku otrzymania danych
-
- Posty: 188
- Rejestracja: 03 lut 2012 15:09
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Warszawa
- Kontakt:
Re: Status o braku otrzymania danych
Możesz ewentualnie użyć "Reinitialize to Default Value".
- cyjan1
- Posty: 70
- Rejestracja: 08 paź 2012 11:55
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: podkarpacie
Re: Status o braku otrzymania danych
Cześć,
a może w momencie odbierania danych odczytuj datę systemową i wrzucaj ją w inny indicator. Nie wiem jaką masz architekturę ale możesz np. co sekundę sprawdzać czas i liczyć różnicę pomiędzy bieżącym czasem a czasem ostatniej aktualizacji danych.
Czyszczenie kontrolki to jedno, można do tego użyć funkcji Reinitialize to Default Value albo po prostu zmienić wartość na "", ale jakie chcesz mieć kryterium określające, kiedy tą kontrolkę czyścić?
a może w momencie odbierania danych odczytuj datę systemową i wrzucaj ją w inny indicator. Nie wiem jaką masz architekturę ale możesz np. co sekundę sprawdzać czas i liczyć różnicę pomiędzy bieżącym czasem a czasem ostatniej aktualizacji danych.
Czyszczenie kontrolki to jedno, można do tego użyć funkcji Reinitialize to Default Value albo po prostu zmienić wartość na "", ale jakie chcesz mieć kryterium określające, kiedy tą kontrolkę czyścić?
Pozdrawiam
Zenek
Zenek
Re: Status o braku otrzymania danych
Zależy jakiego protokołu używasz, ale w większości przypadków jest możliwość sprawdzenia Timeout'u (czyli braku nowych danych podczas odczytu). I np. w przypadku TCP można sprawdzić czy nie pojawił się błąd 56.
Używanie reinit to default jest trochę armatą na komara ;)
Używanie reinit to default jest trochę armatą na komara ;)
- Załączniki
-
- snip.png (16.01 KiB) Przejrzano 4085 razy