Sub_vi

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
JanekG
Posty: 15
Rejestracja: 15 gru 2004 00:00

Sub_vi

Post autor: JanekG »

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....
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Post autor: PMaj »

Witam
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....
Pokaż diagram - zbyt wiele się nasuwa...
Pozdrawiam
JanekG
Posty: 15
Rejestracja: 15 gru 2004 00:00

Post autor: JanekG »

Daje link gdzie mozna ściągnąć Sub_vi i vi ktore je wykorzystuje.
http://janusz.garbacki.w.interia.pl/3.html
Pozdrawiam....
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Post autor: Mikrobi »

JanekG pisze:Daje link gdzie mozna ściągnąć Sub_vi i vi ktore je wykorzystuje. http://janusz.garbacki.w.interia.pl/3.html Pozdrawiam....
Witaj. Wykorzystujesz równolegle ten sam VI (sub_vi_alarm.vi) i tutaj jest problem.
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"
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Post autor: PMaj »

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.
ODPOWIEDZ