Uczę się korzystać z LabVIEW w ramach mojego projektu z wyróżnieniem i zastanawiałem się, jakie zalety ma język programowania graficznego nad tekstowym?Dlaczego warto korzystać z LabVIEW?
Odpowiedz
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.
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.
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.
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.
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?
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
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.
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?
Dziękuję za to, myślałem tak samo :) – alex77