Problem z wydobyciem danych z pętli
: 11 mar 2009 19:24
Witam wszystkich!
Jestem nowy na forum, a za razem w samym temacie środowiska LabVIEW, więc proszę o wyrozumiałość.
Aktualnie pracuję nad programem sterującym zasilaczem Agilent E3631A. Wersja LabVIEW 8.5. Program składa się z części głównej ('zasilacz_ster_main.vi') oraz jednego subVI ('zasilacz_ster_core.vi').
WPROWADZENIE DO TEMATU:
Pierwsze okno struktury Flat Sequence programu 'zasilacz_ster_main.vi' to moja koncepcja sterowania pojedynczą linią karty pomiarowej, wykorzystywana w innej części projektu. Drugie okno zawiera podprogram 'zasilacz_ster_core.vi' i wyprowadzenia na panel czołowy. Cały program wykonuje się dwukrotnie dzięki pętli While Loop.
Jeśli chodzi o program 'zasilacz_ster_core.vi', służy on do zmiany napięcia w kanale +25V w zakresie (0-2)V (w przyszłości do 15V) z przyrostem 0.2 V/s. Tyle tytułem wprowadzenia.
MOJE PYTANIE:
Wszystko działa poprawnie z punktu widzenia zasilacza, jednak mam problem z wyświetlaniem aktualnych wartości napięcia i prądu na panelu czołowym głównego programu. Odświeżenie następuje dopiero po zakończeniu pracy pętli While Loop wewnątrz subVI (tudzież samego subVI), skutkiem czego obserwuję na panelu głównym jedynie osiągnięcie wartości ~2 V, zamiast regularnego przyrostu co 0.2 V. Na panelu podprogramu wartości te zmieniają się na bieżąco.
Z moich poszukiwań na forum wywnioskowałem, że sprawę mogłyby załatwić zmienne globalne, lub opcja Property Node. Niestety wszystkie moje próby zakończyły się niepowodzeniem - nie potrafię wyciągnąć bieżących wartości z pętli/podprogramu przed jej/jego zakończeniem. Domyślam się, że mogę popełniać jakiś elementarny błąd... tylko jaki?
W załączniku oprócz mojego programu dodaję używane przeze mnie sterowniki (Agilent E363X Series).
Jestem nowy na forum, a za razem w samym temacie środowiska LabVIEW, więc proszę o wyrozumiałość.
Aktualnie pracuję nad programem sterującym zasilaczem Agilent E3631A. Wersja LabVIEW 8.5. Program składa się z części głównej ('zasilacz_ster_main.vi') oraz jednego subVI ('zasilacz_ster_core.vi').
WPROWADZENIE DO TEMATU:
Pierwsze okno struktury Flat Sequence programu 'zasilacz_ster_main.vi' to moja koncepcja sterowania pojedynczą linią karty pomiarowej, wykorzystywana w innej części projektu. Drugie okno zawiera podprogram 'zasilacz_ster_core.vi' i wyprowadzenia na panel czołowy. Cały program wykonuje się dwukrotnie dzięki pętli While Loop.
Jeśli chodzi o program 'zasilacz_ster_core.vi', służy on do zmiany napięcia w kanale +25V w zakresie (0-2)V (w przyszłości do 15V) z przyrostem 0.2 V/s. Tyle tytułem wprowadzenia.
MOJE PYTANIE:
Wszystko działa poprawnie z punktu widzenia zasilacza, jednak mam problem z wyświetlaniem aktualnych wartości napięcia i prądu na panelu czołowym głównego programu. Odświeżenie następuje dopiero po zakończeniu pracy pętli While Loop wewnątrz subVI (tudzież samego subVI), skutkiem czego obserwuję na panelu głównym jedynie osiągnięcie wartości ~2 V, zamiast regularnego przyrostu co 0.2 V. Na panelu podprogramu wartości te zmieniają się na bieżąco.
Z moich poszukiwań na forum wywnioskowałem, że sprawę mogłyby załatwić zmienne globalne, lub opcja Property Node. Niestety wszystkie moje próby zakończyły się niepowodzeniem - nie potrafię wyciągnąć bieżących wartości z pętli/podprogramu przed jej/jego zakończeniem. Domyślam się, że mogę popełniać jakiś elementarny błąd... tylko jaki?
W załączniku oprócz mojego programu dodaję używane przeze mnie sterowniki (Agilent E363X Series).