labview + Agilent
-
- Posty: 3
- Rejestracja: 25 kwie 2013 19:28
- Wersja środowiska: LabVIEW 2011
labview + Agilent
Cześć,
Przygodę z labview dopiero zaczynam, a z fizycznym urządzeniem, do którego mam stworzyć interfejs, spotykam się pierwszy raz, stąd też moje pytania.
Może od początku: Celem jest stworzenie programu, który będzie realizował zadania licznika energii. Jako urządzenie mierzące napięcie i prąd wykorzystywany jest oscyloskop Agilent Technologies InfiniiVision DSO 7012B.
Udało mi się połączyć oscyloskop z komputerem i wyświetlać sygnały na monitorze komputera. Problem pojawia w momencie gdy chcę mnożyć dwa sygnały ( do pomiaru mocy potrzbuję iloczyn dwóch sygnałów, a później jeszcze je scałkować i będę miał energię).
W jaki sposób moge pobrać chwilową wartość sygnałów, żeby wykonać na niej działanie?
Z góry dzięki za pomoc,
mam nadzieję, że to dobry dział, ew. proszę o przeniesienie we właściwe miejsce.
Marcin
Przygodę z labview dopiero zaczynam, a z fizycznym urządzeniem, do którego mam stworzyć interfejs, spotykam się pierwszy raz, stąd też moje pytania.
Może od początku: Celem jest stworzenie programu, który będzie realizował zadania licznika energii. Jako urządzenie mierzące napięcie i prąd wykorzystywany jest oscyloskop Agilent Technologies InfiniiVision DSO 7012B.
Udało mi się połączyć oscyloskop z komputerem i wyświetlać sygnały na monitorze komputera. Problem pojawia w momencie gdy chcę mnożyć dwa sygnały ( do pomiaru mocy potrzbuję iloczyn dwóch sygnałów, a później jeszcze je scałkować i będę miał energię).
W jaki sposób moge pobrać chwilową wartość sygnałów, żeby wykonać na niej działanie?
Z góry dzięki za pomoc,
mam nadzieję, że to dobry dział, ew. proszę o przeniesienie we właściwe miejsce.
Marcin
-
- Posty: 289
- Rejestracja: 01 maja 2012 14:14
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Farum
labview + Agilent
Bylo by prosciej jakbys zamiescil chociaz czesc kodu...
Tak na predko...
Tak na predko...
- Załączniki
-
- xxx.png (82.04 KiB) Przejrzano 10972 razy
labview + Agilent
Prawdopodobnie komunikacja z tym oscyloskopem odbywa się przez RS-232 (może też być to na przykład TCP, ale zasada ta sama), czyli dostajesz z niego jakiś ciąg stringów. Jedyne, co musisz zrobić, to wyciągnąć z niego interesujące Cię wartości i przekonwertować je na liczby (paleta Numeric).
Zamieść może program, bo tak na sucho, to nie wiadomo dokładnie z czym masz problem.
Zamieść może program, bo tak na sucho, to nie wiadomo dokładnie z czym masz problem.
-
- Posty: 289
- Rejestracja: 01 maja 2012 14:14
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Farum
labview + Agilent
Pisze ze udalo mu sie wyswietlic wykres na monitorze, zakladam, ze w LabView.
-
- Posty: 3
- Rejestracja: 25 kwie 2013 19:28
- Wersja środowiska: LabVIEW 2011
labview + Agilent
Cześć,
dzięki za odpowiedź,
na razie mój program wygląda w ten sposób:
Uploaded with ImageShack.us
Jamal79 ten blok wygląda interesująco, jednak nie mogę go u siebie znaleźć, dysponuję jakąś okrojoną wersją 2011, taką z uczelni dostałem, może da się to czymś innym zastąpić?
Oscyloskop jest podłączony przez USB.
dzięki za odpowiedź,
na razie mój program wygląda w ten sposób:
Uploaded with ImageShack.us
Jamal79 ten blok wygląda interesująco, jednak nie mogę go u siebie znaleźć, dysponuję jakąś okrojoną wersją 2011, taką z uczelni dostałem, może da się to czymś innym zastąpić?
Oscyloskop jest podłączony przez USB.
-
- Posty: 289
- Rejestracja: 01 maja 2012 14:14
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Farum
labview + Agilent
Napewno masz taki, to jest expresvi'aj Formula. Zreszta mozesz zapisac moj obrazek na dysk i wrzucic go sobie na block diagrama. To jest snippet.
Tobie raczej przyda sie bardziej kontrolka "Get Waveform Components", jak ja podepniesz rownolegle do "Waveform Data" otrzymasz 1D arraya z danymi. Zobacz tez, Formula Node.
Tobie raczej przyda sie bardziej kontrolka "Get Waveform Components", jak ja podepniesz rownolegle do "Waveform Data" otrzymasz 1D arraya z danymi. Zobacz tez, Formula Node.
-
- Posty: 3
- Rejestracja: 25 kwie 2013 19:28
- Wersja środowiska: LabVIEW 2011
labview + Agilent
Dzięki, znalazłem, później sygnał wyjściowy z bloku Formula daję na Time Domain i powinienem mieć energię.
Mam jeszcze takie pytanie, cały program jest zamknięty w pętli, po uruchomieniu dane z oscyloskopu są odczytywane z tym że oscyloskop działa w trybie pojedynczego wyzwolenia, czy da radę jakoś zmienić to, żeby działanie było ciągłe? W przypadku pojedynczego wyzwalania pomiar będzie bardzo niedokładny.
Mam jeszcze takie pytanie, cały program jest zamknięty w pętli, po uruchomieniu dane z oscyloskopu są odczytywane z tym że oscyloskop działa w trybie pojedynczego wyzwolenia, czy da radę jakoś zmienić to, żeby działanie było ciągłe? W przypadku pojedynczego wyzwalania pomiar będzie bardzo niedokładny.
-
- Posty: 289
- Rejestracja: 01 maja 2012 14:14
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Farum
labview + Agilent
Pewnie ze mozna, ale to jest ograniczone jedynie przez oscyloskop i typ komunikacji. Jezeli moze nadawac ciagle to i bedziesz mial ciagly odczyt danych. Jezeli jest tak jak piszesz, to musisz zrobic trigera, ktory bedzie odczytywal dane w okreslonym czasie.
PS. masz tam "triger level" sprawdz w ustawieniach Agilenta, mozliwe ze to on jest odpowiedzialny za sposob odczytu danych.
Ciezko to opisac, ale najlepiej jakbys zrobil eventa. Wrzucil wszystkie bloczki konfiguracyjne do jednego casa i po ustawieniu, kanalu, czasow, itd. przechodzil do casa, ktory ma ciagly odczyt z dealeyem. Zamiast eventa mozesz uzyc Whila albo case.
1. Zmienne configuracyje sa i tak poza loopem, wiec niemasz mozliwosci ich zmiany podczas trwania loopa. Poczytaj tu na forum o maszynach stanow itd. Jest sporo tu podobnych wontkow...
2. Bloczek odczytujacy
PS. masz tam "triger level" sprawdz w ustawieniach Agilenta, mozliwe ze to on jest odpowiedzialny za sposob odczytu danych.
Ciezko to opisac, ale najlepiej jakbys zrobil eventa. Wrzucil wszystkie bloczki konfiguracyjne do jednego casa i po ustawieniu, kanalu, czasow, itd. przechodzil do casa, ktory ma ciagly odczyt z dealeyem. Zamiast eventa mozesz uzyc Whila albo case.
1. Zmienne configuracyje sa i tak poza loopem, wiec niemasz mozliwosci ich zmiany podczas trwania loopa. Poczytaj tu na forum o maszynach stanow itd. Jest sporo tu podobnych wontkow...
2. Bloczek odczytujacy
Ostatnio zmieniony 18 gru 2013 10:13 przez Jamal79, łącznie zmieniany 1 raz.