Status o braku otrzymania danych

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
tomekk
Posty: 6
Rejestracja: 17 cze 2021 20:38
Wersja środowiska: LabVIEW 2018

Status o braku otrzymania danych

Post autor: tomekk »

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
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: Status o braku otrzymania danych

Post autor: spalinowy »

Możesz ewentualnie użyć "Reinitialize to Default Value".
Awatar użytkownika
cyjan1
Posty: 63
Rejestracja: 08 paź 2012 11:55
Wersja środowiska: LabVIEW 2017
Lokalizacja: podkarpacie

Re: Status o braku otrzymania danych

Post autor: cyjan1 »

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ć?
Pozdrawiam
Zenek
marek323
OptiNav
Posty: 20
Rejestracja: 19 cze 2011 13:27
Wersja środowiska: LabVIEW 2017

Re: Status o braku otrzymania danych

Post autor: marek323 »

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 ;)
Załączniki
snip.png
snip.png (16.01 KiB) Przejrzano 3086 razy
ODPOWIEDZ