Witam. Mam problem związany z sub_vi. A mianowicie mierze limity wartości (Mask and limit testing) i po przekroczeniu danego limitu dane (wartość, ustawienia limitów itd.) oraz sama informacja o przekroczeniu limitu sa przekazywane do build table a nastepnie wyswietlanej tabeli. Po stworzeniu sub_vi i 3 krotnym wykorzystaniu go w petli while, podpialem rozne zestawy wartości do roznych sub_vi jak rowniez rozne tabele na ktorych maja byc wyswietlane informacje o przekroczonych limitach. po przekroczeniu jakies wartosci na wejsciu jednego sub_vi informacja zostaje wyswietlona na wszystkich tablicach pomimo tego, ze do wyjscia tegoz sub_vi jest podpieta tylko jedna....
Jestem początkującym uzytkownikiem wiec z gory przepraszam jeśli problem jest trywialny i zgory dziekuje za jakiekolwiek info. Pozdrawiam....
Sub_vi
Witam
Pozdrawiam
Pokaż diagram - zbyt wiele się nasuwa...mierze limity wartości (Mask and limit testing) i po przekroczeniu danego limitu dane (wartość, ustawienia limitów itd.) oraz sama informacja o przekroczeniu limitu sa przekazywane do build table a nastepnie wyswietlanej tabeli. Po stworzeniu sub_vi i 3 krotnym wykorzystaniu go w petli while, podpialem rozne zestawy wartości do roznych sub_vi jak rowniez rozne tabele na ktorych maja byc wyswietlane informacje o przekroczonych limitach. po przekroczeniu jakies wartosci na wejsciu jednego sub_vi informacja zostaje wyswietlona na wszystkich tablicach pomimo tego, ze do wyjscia tegoz sub_vi jest podpieta tylko jedna....
Pozdrawiam
Daje link gdzie mozna ściągnąć Sub_vi i vi ktore je wykorzystuje.
http://janusz.garbacki.w.interia.pl/3.html
Pozdrawiam....
http://janusz.garbacki.w.interia.pl/3.html
Pozdrawiam....
Witaj. Wykorzystujesz równolegle ten sam VI (sub_vi_alarm.vi) i tutaj jest problem.JanekG pisze:Daje link gdzie mozna ściągnąć Sub_vi i vi ktore je wykorzystuje. http://janusz.garbacki.w.interia.pl/3.html Pozdrawiam....
Jeśli chcesz go stosować równolegle i zabezpieczyć się przed kopiowaniem danych należy pozwolić LabVIEW na stworzenie równoległej kopii VI'a czyli oznaczyć sposób jego wykonywania jako Reentrant. Ctrl+I lub "VI Properties" (dla sub_vi_alarm.vi): Category: Execution>> trzeba zaznaczyć checkbox "Reentrant execution"
Witam
Powodem, dla którego dzieje się tak jak się dzieje, jest zastosowanie express vi'ow. Moim zdaniem należy ich unikać zawsze - jeżeli to możliwe. Zastosowany przez ciebie express vi do wpisywania do tabeli pamięta prawdopodobnie poprzedni stan i wypisuje go przy okazji w innym miejscu. Aby tego uniknąć należy zrezygnować z express vi'ów albo - jak proponowal Mikrobi - ustawić opcję Reentrant execution. Proponuję jednak tą pierwszą opcję - więcej zachodu ale to wyjdzie na dobre. Może zechcesz później zrobić ten sub'vi jako dialogowy - po zaznaczeniu Reentrant nie można uczynić panelu widocznym w trakcie pracy programu.
Aby poprawnie wpisywać do tabeli pamiętając poprzedni stan należy pamiętać o poprawnym indeksowaniu wierszy, lub korzystać z shift register'ów - aby w programie głównym a nie w sub'vi (bo uzyskasz taki sam efekt jak obecnie)
Pozdrawiam.
PS. Zmień ikonę w programie - druty nie mogą wisieć w powietrzu!! - wystarczy czarna ramka dookoła.
Powodem, dla którego dzieje się tak jak się dzieje, jest zastosowanie express vi'ow. Moim zdaniem należy ich unikać zawsze - jeżeli to możliwe. Zastosowany przez ciebie express vi do wpisywania do tabeli pamięta prawdopodobnie poprzedni stan i wypisuje go przy okazji w innym miejscu. Aby tego uniknąć należy zrezygnować z express vi'ów albo - jak proponowal Mikrobi - ustawić opcję Reentrant execution. Proponuję jednak tą pierwszą opcję - więcej zachodu ale to wyjdzie na dobre. Może zechcesz później zrobić ten sub'vi jako dialogowy - po zaznaczeniu Reentrant nie można uczynić panelu widocznym w trakcie pracy programu.
Aby poprawnie wpisywać do tabeli pamiętając poprzedni stan należy pamiętać o poprawnym indeksowaniu wierszy, lub korzystać z shift register'ów - aby w programie głównym a nie w sub'vi (bo uzyskasz taki sam efekt jak obecnie)
Pozdrawiam.
PS. Zmień ikonę w programie - druty nie mogą wisieć w powietrzu!! - wystarczy czarna ramka dookoła.