Strona 1 z 1
labview + Agilent
: 17 gru 2013 10:18
autor: marmajgabin
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
labview + Agilent
: 17 gru 2013 12:22
autor: Jamal79
Bylo by prosciej jakbys zamiescil chociaz czesc kodu...
Tak na predko...
labview + Agilent
: 17 gru 2013 12:28
autor: milten
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.
labview + Agilent
: 17 gru 2013 15:14
autor: Jamal79
Pisze ze udalo mu sie wyswietlic wykres na monitorze, zakladam, ze w LabView.
labview + Agilent
: 17 gru 2013 20:06
autor: marmajgabin
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.
labview + Agilent
: 18 gru 2013 08:12
autor: Jamal79
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.
labview + Agilent
: 18 gru 2013 09:24
autor: marmajgabin
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.
labview + Agilent
: 18 gru 2013 10:12
autor: Jamal79
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