2008-10-22 7 views

Odpowiedz

6

Wszystko na temat sterowników sprzętu i możliwości użytkownika. NI (Labview) ma dobrze obsługiwany zestaw sterowników sprzętu laboratoryjnego, które są łatwo połączone. Operator testowy (a nie programista) potrzebuje gui z dużym zielonym/czerwonym przyciskiem przejścia/niepowodzenia. Zaimplementowałem skomplikowaną automatyzację za pomocą Pythona w cygwin. Programista Labview mógł wywołać system cygwin/python i dane kopać pliki dziennika. Więc możesz zrobić jedno i drugie. System Pythona jest przenośny, łatwy w utrzymaniu, rozszerzalny, można go używać, a co najważniejsze - bezpłatnie.

6

Użyłem wcześniej labview do obliczenia parametrów, aby dostroić maszynę nMRI. Istnieją, ponieważ teoretycznie łatwiej jest komuś, kto ma niewielkie doświadczenie w programowaniu, stworzyć program. Struktury sterowania i struktury decyzyjne mogą być ustawione graficznie i mogą wpisywać ich formuły tam, gdzie chcą.

Dla profesorów i asystentów laboratoryjnych ... pomocny. Dla prawdziwych programistów ... łatwiej byłoby pisać w innym języku.

+0

Dziękuję za to, myślałem tak samo :) – alex77

5

Używałem LabView w przeszłości, a do gromadzenia danych, wirtualnego oprzyrządowania itp. - nie ma nic lepszego. Ostatni raz użyłem go 10 lat temu i nic, co widziałem od tamtej pory, nie pasuje do tego, gdzie było w połowie lat 90.

3

Niektóre zalety LabVIEW moim zdaniem są:

  • Wbudowany elementów interfejsu użytkownika, takich jak guziki, wykresy itp dosłownie nie wymagają programowania niezależnie; po prostu umieszczasz je na przednim panelu, a terminale danych pojawiają się na schemacie blokowym.

  • Istnieje duża biblioteka sterowników do sprzętu do pozyskiwania danych i przyrządów testujących. Jeśli Twoim zadaniem jest zasadniczo pozyskiwanie danych do iz nich oraz umieszczanie na nich interfejsu użytkownika, możesz go osiągnąć prawie bez programowania.

  • Równoległe wykonywanie wielu zadań jest obsługiwane automatycznie - umieść dwie niezależne pętle na schemacie i będą one wykonywane jednocześnie. Często jest to wymagane w aplikacjach do zbierania danych i sterowania.

Wiele osób, w tym „deweloperów oprogramowania”, uważa, że ​​paradygmat graficzny odpowiada ich sposób myślenia i wizualizować swoje oprogramowanie lepsze niż jednego tekstowej. Są niewątpliwie rzeczy, dla których języki tekstowe są lepsze niż LabVIEW (omówiony w innej dyskusji na tej stronie), ale tam, gdzie LabVIEW jest odpowiedni, jest bardzo dobry w wykonaniu pracy.

19

Dla mnie korzyść z LabVIEW nie ma charakteru graficznego ani tekstowego.

To przepływ danych a imperatyw.

Dataflow programming nadaje się do współbieżności, ponieważ twoje wykonanie jest zamodelowane jako czarne skrzynki, które są wykonywane, gdy ich wejścia są ważne, a ich wejścia/wyjścia są połączone razem. To w przeciwieństwie do stanu niejawnego z listą instrukcji, jak go modyfikować. (Luźno parafrazując "kipedia, powyższy artykuł jest lepszy.)

Każda czarna skrzynka może działać na oddzielnym rdzeniu/procesorze/węźle, co zapewnia efektywną darmową współbieżność, jeśli zorganizujesz swój program w sposób umożliwiający przepływ danych.

Niestety (i jest to jeden z najpoważniejszych problemów z programowaniem przepływu danych w ogóle) najlepszym sposobem wizualizacji i edycji programów przepływu danych jest graficzne, a nie tekstowe. To sprawia, że ​​korzystanie z narzędzi takich jak kontrola rewizji i generatory kodu jest bardzo trudne.

Pytanie brzmi: Czy zalety obiegu danych przeważają nad wadami, dla Ciebie i Twojego projektu?

+4

Chociaż dotyczy to prostych programów, Labview wciąż ma problemy z współbieżnością podczas robienia większych projektów. Łatwo jest nieświadomie napisać vi (metoda), która nie jest powtórnie wprowadzana i ma spore problemy z debugowaniem czasu. – num1

7

Jedną z głównych zalet programowania graficznego w LabVIEW jest to, że kod źródłowy jest bardzo podobny do schematów obwodów, więc jest to bardzo łatwy język dla inżynierów elektryki/elektroniki. Jest to jeden z powodów, dla których LabVIEW stał się tak popularny w dziedzinie akwizycji danych i automatyzacji, gdzie EE są obfite.

Kolejną zaletą, którą odkryłem, była szybkość rozwoju. Składasz GUI z palety dostępnych kontrolek na panelu przednim, bardzo podobnie do sposobu, w jaki robisz to w Visual Studio. Kod źródłowy jest napisany w podobny sposób, z wieloma predefiniowanymi komponentami, które można wstawiać z menu i łączyć ze sobą.

Trzecią zaletą jest zgodność ze sprzętem. Głównym przedmiotem działalności National Instruments jest sprzęt do gromadzenia danych i dokładają wszelkich starań, aby wszystkie produkty mogły komunikować się z oprogramowaniem LabVIEW natychmiast po wyjęciu z pudełka. Wielu innych dostawców sprzętu w branży akwizycji danych i automatyzacji robi to samo.

1

Dla mnie sprowadza się to do tego, z czym czujesz się komfortowo, jeśli czujesz się komfortowo w językach tekstowych, prawdopodobnie odkryjesz, że Labview po prostu wprowadza kolejną krzywą uczenia się. O ile nie masz określonego celu nauki i korzystania z Labview, nie widzę sensu dla twojego projektu.

Z drugiej strony, jeśli nie czujesz się komfortowo w językach tekstowych, wydaje mi się, że Labview jest łatwiejszy do zrozumienia i uczenia się, szczególnie w przypadku inżynierów spoza oprogramowania.

Bardzo często używam języków tekstowych do testowania, jak również Labview i TestStand, a dla mnie bardziej chodzi o to, kto inny użyje mojego oprogramowania, niż o mnie. Niektóre firmy mają kilka osób przeszkolonych przez Labview, a inne wolą pisać w językach tekstowych. Szkolenie dla innego języka może być bardzo kosztowne w skali całej firmy i zmienia wymagania dotyczące zatrudniania na stanowiskach w firmie, więc niektóre firmy są praktycznie "zamknięte" na jeden lub drugi paradygmat. Powiedziałbym, że najlepiej, jeśli zamierzasz pracować w branży, aby być zorientowanym w obu, w ten sposób jesteś elastyczny. Jeśli tak jest i będziesz miał czas, aby się czegoś nauczyć, powiedziałabym, że pracujesz w tym, w którym czujesz się najmniej komfortowo i poszerzasz swoją wiedzę, tak właśnie jest w szkole?