
dioda świecąca po spełnieniu warunku
dioda świecąca po spełnieniu warunku
Witam. Jestem nowy na forum w Labview bawię się dopiero któryś dzień. Mam pytanie, gdyż zajmuję się stworzeniem aplikacji czytającej tablice rejestracyjne. Jak na razie wszystko działa i chcę zrobić diodę sygnalizacyjną która zaświeci się gdy tablica zostanie rozpoznana w całości bądź chociaż w jakimś stopniu (kilka znaków). Czy ktoś mógłby mnie chociaż nakierować jak to można zrobic? Pozdrawiam, i z góry dziękuję z jakiekolwiek odpowiedzi badz checi pomocy 

- Pitol
- Moderator
- Posty: 987
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
dioda świecąca po spełnieniu warunku
Witaj,
Czy Ty się pytasz o to jak rozpoznać tablice rejestracyjne czy jak zaświecić kontrolkę?
Bo to zasadniczo dwie różne kwestie ;)
Czy Ty się pytasz o to jak rozpoznać tablice rejestracyjne czy jak zaświecić kontrolkę?
Bo to zasadniczo dwie różne kwestie ;)
dioda świecąca po spełnieniu warunku
Chodzi mi o samą kontrolką. Jest jakies rozpoznanie tablicy. W pelni badz np w 50 % i jesli ten warunek by byl spelniony zapalala by sie dioda.
- Pitol
- Moderator
- Posty: 987
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
dioda świecąca po spełnieniu warunku
Skoro masz jakieś rozpoznawanie obiektu, to gdzieś wynik tego porównania masz. W postaci np. True/False, Numeric czy String.
Więc teraz korzystasz podstawowych bloczków z palety Comparison (Equal, Less, Greater, etc.) i masz z nich sygnał True/False, który bezpośrednio podłączasz do diody.
Napisz konkretniej jaki sygnał wynikowy z porównania otrzymujesz to będziemy w stanie więcej powiedzieć. Ale na ten czas to proponuję paletę Comparison i ćwiczyć, ćwiczyć, ćwiczyć...
Więc teraz korzystasz podstawowych bloczków z palety Comparison (Equal, Less, Greater, etc.) i masz z nich sygnał True/False, który bezpośrednio podłączasz do diody.
Napisz konkretniej jaki sygnał wynikowy z porównania otrzymujesz to będziemy w stanie więcej powiedzieć. Ale na ten czas to proponuję paletę Comparison i ćwiczyć, ćwiczyć, ćwiczyć...
Re: dioda świecąca po spełnieniu warunku
tak dokładnie. mój wynik jest w postaci string gdzie pokazuje albo odczytane numery z tablicy albo pokazuje znaki zapytania gdyż nie odczytalo. zazwyczaj minimum polowa znakow jest odczytana. i w tym przypadku chce aby zapalila sie dioda. troche zakrecilem chyba :/ dzięki za jakąs mysl, bede probowac:)
- Pitol
- Moderator
- Posty: 987
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
dioda świecąca po spełnieniu warunku
Ok... no to już trochę więcej informacji.
Jeżeli chodzi o porównywanie stringów to w palecie String masz też sporo ciekawych funkcji.
Najprościej będzie np. w pętli porównywać znak po znaku i zliczać ile się zgadza a ile nie i na podstawie tego świecić lub nie diodą.
W razie problemów pisz, będziemy interweniować.
Jeżeli chodzi o porównywanie stringów to w palecie String masz też sporo ciekawych funkcji.
Najprościej będzie np. w pętli porównywać znak po znaku i zliczać ile się zgadza a ile nie i na podstawie tego świecić lub nie diodą.
W razie problemów pisz, będziemy interweniować.
Re: dioda świecąca po spełnieniu warunku
A w jaki sposób się do tego podpiąć? Tzn chodzi mi o to który objekt wybrac. Czy użycie Match True/False String jest dobrym pomyslem? Ostatecznie mozna by zalozyc ze zapalilo by sie gdyby byl caly warunek spelniony tzn gdyby cala byla poprawnie odczytana. Bo troche rzezbie ale srednio mi to idzie
moze jakis przykladowy schemat? :/

- Pitol
- Moderator
- Posty: 987
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Re: dioda świecąca po spełnieniu warunku
Nie dam przykładu ale powiem czego użyć... lekko nie będzie, musisz sam się pomęczyć.
Z jakiejś logiki wychodzi Ci string, w którym masz informacje o porównaniu (KR 554??W).
Następnie potrzebujesz jakiegoś wzorca w postaci stałej string (KR 554JSW).
Kolejnym etapem będzie skorzystanie z bloczka String Length aby określić ile znaków musisz sprawdzić (nieważne czy z wzorca czy z pomiaru bo mają taką samą długość).
Informacja ta pozwoli Ci wyznaczyć liczbę iteracji pętli FOR, w której to nastąpi porównanie.
W pętli FOR umieść bloczek String Subset, który to w połączeniu z wyjścia iteratora pętli (niebieski kwadracik z literą i) pozwoli Ci wyciągać kolejne znaki ze stringa (zakładam, że wiesz jak działa pętla FOR i jej iterator).
W taki sam sposób wyciągasz kolejny znak z wzorca.
Następnie porównujesz oba znaki (np. bloczek equal) i gotowe.
Wszystko to co napisałem wyżej (z wyjątkiem String Length) powinno znajdować się wewnątrz pętli FOR.
W kolejnej iteracji pętli FOR będzie wyciągany kolejny znak i porównywany, aż skończą się znaki i otrzymasz tablicę wartości BOOLEAN, którą to możesz za pomocą np. funkcji logicznych zsumować do TRUE lub FALSE.
Jeżeli mój opis będzie dla Ciebie niezrozumiały to w końcu może się zmuszę i odpalę LabVIEW, żeby przygotować Ci przykład. Jednak liczę na Twoje zacięcie i mam nadzieję, że nie będę musiał więcej pisać ;)
Z jakiejś logiki wychodzi Ci string, w którym masz informacje o porównaniu (KR 554??W).
Następnie potrzebujesz jakiegoś wzorca w postaci stałej string (KR 554JSW).
Kolejnym etapem będzie skorzystanie z bloczka String Length aby określić ile znaków musisz sprawdzić (nieważne czy z wzorca czy z pomiaru bo mają taką samą długość).
Informacja ta pozwoli Ci wyznaczyć liczbę iteracji pętli FOR, w której to nastąpi porównanie.
W pętli FOR umieść bloczek String Subset, który to w połączeniu z wyjścia iteratora pętli (niebieski kwadracik z literą i) pozwoli Ci wyciągać kolejne znaki ze stringa (zakładam, że wiesz jak działa pętla FOR i jej iterator).
W taki sam sposób wyciągasz kolejny znak z wzorca.
Następnie porównujesz oba znaki (np. bloczek equal) i gotowe.
Wszystko to co napisałem wyżej (z wyjątkiem String Length) powinno znajdować się wewnątrz pętli FOR.
W kolejnej iteracji pętli FOR będzie wyciągany kolejny znak i porównywany, aż skończą się znaki i otrzymasz tablicę wartości BOOLEAN, którą to możesz za pomocą np. funkcji logicznych zsumować do TRUE lub FALSE.
Jeżeli mój opis będzie dla Ciebie niezrozumiały to w końcu może się zmuszę i odpalę LabVIEW, żeby przygotować Ci przykład. Jednak liczę na Twoje zacięcie i mam nadzieję, że nie będę musiał więcej pisać ;)
Re: dioda świecąca po spełnieniu warunku
Dzięki wielkie myślę ze teraz już coś będę mógł stworzyć 

Re: dioda świecąca po spełnieniu warunku
Witam ponownie, mam jeszcze jedno pytanko. Czy wiesz moze który bloczek by byl najlepszy do wczytania wartosci string z jakiegos pliku np. tekstowego czy coś. Bo jak narazie mam tylko zrobione z wartoscia stała string która wpisuje ręcznie. Pozdrawiam:)
- cyjan1
- Posty: 70
- Rejestracja: 08 paź 2012 11:55
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: podkarpacie
Re: dioda świecąca po spełnieniu warunku
Spróbuj Read from Text File.vi.
Ogólnie cała zakładka File I/O jest pomocna do takich zadań.
Ogólnie cała zakładka File I/O jest pomocna do takich zadań.
Pozdrawiam
Zenek
Zenek
-
- Posty: 289
- Rejestracja: 01 maja 2012 14:14
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Farum
dioda świecąca po spełnieniu warunku
Polecam XML'a podpinasz calego Clustera z czym badz, w moim przypadku, sa stringi, numeric i jakis tam bolean...
- Załączniki
-
- xml.png (13.76 KiB) Przejrzano 16116 razy
Re: dioda świecąca po spełnieniu warunku
Wracam ponownie z kolejnym problemem. Po zapoznaniu się z waszymi podpowiedziami i klikaniem w labview zrobiłem coś troszkę innego, na czego pomysł wpadłem przeglądając forum. I tutaj mam problem, którego zrzut zamieszczam w załączniku. I już piszę w czym problem. Do pętli wchodzi mi string rozpoznany przez OCR ze zdjecia. Mam ciąg znaków (nr rejestracyjny), idzie do Match T/F String gdzie jest porównywany z numerami pobieranymi z pliku txt. W pliku txt numery są jeden pod drugim i czytane zostaja kolejno wiersz po wierszy w kazdej kolejnej iteracji petli. Gdy napotka taki numer jak sie znajduje w txt powinno podac na wyjsciu z Match T/F String wartosc True a tak sie nie dzieje. Mam nadzieje ze w miare sensownie wytlumaczylem moj problem. Ma ktoś jakiś pomysł co by zmienić zeby to chodzilo? Pozdrawiam;)
- Załączniki
-
- Bez tytułu.png (8.27 KiB) Przejrzano 16079 razy
-
- Posty: 289
- Rejestracja: 01 maja 2012 14:14
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Farum
dioda świecąca po spełnieniu warunku
OK, teraz popatrz na twoj projekt i podpowiedzi Pitola.
W obecnej formie probujesz porownac numer rejestracyjny z cala zawartoscia pliku txt.
Musisz zrobic mechanizm, ktory odczyta plik i podzieli go na poszczegolne numery rejestracujne i je np zindeksuje... a co bedzie jak niebedzie w nim twojego numeru? albo niebedzie sie zgadzal w 100%...
Moj przyklad moze i bedzie dalal, ale jego predkosc bedzie zalezna od wielkosci bazy danych. Sugerowal bym wstepnie podzielic baze danych np alfabetycznie i kazde wpj w innym stringu... jest wiele mozliwosci. Albo obsluge wyszukiwania i porownania powiez innym narzedziom dzialajacym na bazach danych.
W obecnej formie probujesz porownac numer rejestracyjny z cala zawartoscia pliku txt.
Musisz zrobic mechanizm, ktory odczyta plik i podzieli go na poszczegolne numery rejestracujne i je np zindeksuje... a co bedzie jak niebedzie w nim twojego numeru? albo niebedzie sie zgadzal w 100%...
Moj przyklad moze i bedzie dalal, ale jego predkosc bedzie zalezna od wielkosci bazy danych. Sugerowal bym wstepnie podzielic baze danych np alfabetycznie i kazde wpj w innym stringu... jest wiele mozliwosci. Albo obsluge wyszukiwania i porownania powiez innym narzedziom dzialajacym na bazach danych.
- Załączniki
-
- txtaa.png (18.81 KiB) Przejrzano 16074 razy
dioda świecąca po spełnieniu warunku
A to nie jest tak ze porównuje on z kolejnymi wierszami w kolejnych petlach? Za kazdym razem po petli na wyjsciu z Match T/F pojawia sie False a na samym końcu gdy wiersze w pliku txt sie skonczą wyrzuca True dopiero. Czemu tak się dzieje?