logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak odczytać i kontynuować pracę nad programami w LabVIEW po śmierci pracownika?

_jta_ 07 Mar 2019 22:39 810 8
REKLAMA
  • #1 17826996
    _jta_
    Specjalista elektronik
    Posty: 49104
    Pomógł: 3212
    Ocena: 4254
    Problem jest taki: niespodziewanie zmarł pracownik, który od dłuższego czasu (to, co istotne, około roku) tworzył oprogramowanie w LabVIEW. Potrzebne jest dokończenie jego pracy - niestety nie pozostawił on żadnych wskazówek, jak się za to zabierać - tylko kawałki programów. Być może pozostały jeszcze jakieś notatki, ale jak dotąd nie udało się nic takiego rozpoznać.

    Żeby móc kontynuować tę pracę, potrzebuję ustalić, co, po co, w jaki sposób zostało zrobione - zanosi się na to, że to będzie duża robota.

    Potrzebuję wiedzieć, w jaki sposób można odczytać takie programy, żeby dojść, co który robi. To są jakieś obrazki, które marnie nadają się do czytania - obrazki są dobre na wystawie, jako dzieła sztuki, ale oglądając program napisany obrazkami łatwo coś istotnego przegapić - mam wrażenie, że tekst jest pod tym względem dużo lepszy.

    I nie wiem, czy LabVIEW ma jakieś udogodnienia, jakieś narzędzia wspomagające czytanie programu - np. coś, co mi wygeneruje jakiś uporządkowany raport w postaci tekstu - czy muszę oglądać obrazek po obrazku i pilnować, żeby nic nie przegapić. Niestety w LabVIEW jestem nowicjuszem i nie wiem, jak się za coś takiego efektywnie zabrać.
  • REKLAMA
  • #2 17827294
    Steryd3
    Poziom 33  
    Posty: 1641
    Pomógł: 241
    Ocena: 301
    Z LabVIEW miałem do czynienia na studiach (ponad 10 lat temu), potem jeszcze troszkę ...i nasze drogi się rozeszły. Mam wrażenie, że do tego środowiska trzeba mieć jakiś inny umysł choć prawdą jest, że to co programista w innym języku "tekstowym" pisze linijka po linijce w LabWIEW ma swoje odzwierciedlenie. Też są typy zmiennych, pętle...wszystko w postaci kafelków i zakreślania obszarów.
    Jest to język który pozwala zaimplementować dość szybko urządzenie National Instrument, z innymi już tak dobrze to nie wygląda.

    Wracając jednak do problemu...
    Opcje są dwie- albo będziesz to przyswajał i uczył się LabWIEW albo znajdź gościa który to ogarnia.

    Osobiście polecam to drugie rozwiązanie...mnie np. LabWIEW nie leży i już. Upuczył bym pewnie coś w tym gdyby mnie zmuszono ale były by to dla mnie istne katusze. Mam wrażenie, że Ty też należysz do kategorii programistów "tekstowych". Są natomiast ludzie którym takie bloczkowe rozwiązania pasują i czują się w tym jak ryba w wodzie.
    Jeżeli Pan robił to rok, miał na to jakąś koncepcję w głowie to laikowi trudno będzie to rozszyfrować. Trzeba gościa który to środowisko ogarnia w stopniu co najmniej takim jak poprzednik...a może i wyższym.

    No i druga opcja...moim zdaniem mniej przyjemna tj. ogarnianie tematu we własnym zakresie. Jest to opcja dość niebezpieczna...sam z resztą to widzisz.
    Są do tego materiały, nawet książka po polsku z BTC. Można się też wybrać na organizowane przez NI od czasu do czasu warsztaty z tej tematyki. Są też dostępne szkolenia z tego zakresu (kilka stopni wtajemniczenia....chyba nie najtańsze).

    Ostatecznie można tez projekt zarzucić w LabWIEV i przepisać to na coś innego...ale to już kwestia pieniędzy i możliwości (bo czas to zajmie i odgrzebywanie pomysłów z bloczków jak i pisanie nowego kodu...nie do końca wiadomo co będzie szybsze).
  • REKLAMA
  • #3 17827394
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #4 17828571
    _jta_
    Specjalista elektronik
    Posty: 49104
    Pomógł: 3212
    Ocena: 4254
    Nie mam nic przeciwko temu, żeby to zrobił ktoś inny - jeśli zrobi to rzetelnie, jeśli koszt nie przekroczy możliwości zlecającego (to nie jest dla przemysłu, który często ma pieniędzy w nadmiarze, tylko dla nauki, na którą u nas w Polsce coraz bardziej skąpią pieniędzy), jeśli na czas uzyska się to, czego zlecający potrzebuje. Jest ktoś chętny?

    Jest w tym spory bałagan - już w trakcie pisania programu były jakieś zmiany założeń projektu, i mogą być dalsze - trzeba móc szybko dostosować do nich program. Same założenia są udokumentowane, ale chyba nie mam aktualnej wersji tej dokumentacji (a nawet nie wiem, czy już powstała) - w każdym razie o pewnych szczegółach wiem, że mają być inne, niż znalazłem w tej dokumentacji, do której dotarłem.

    Dotarła do mnie informacja, że już paru programistów w LabVIEW (i to fachowców po szkoleniach i z dużym doświadczeniem) próbowało do tego podchodzić, i "polegli" - stwierdzili, że nie dadzą rady. Ten, który to robił, znalazł rozwiązanie problemu (chodziło o jakąś optymalizację, dzięki której program działał szybciej, bez niej coś robił za wolno), ale nie ma dokumentacji, która by je pokazywała - pozostały tylko fragmenty programu, do tego nie wiadomo, które z nich były nieudanymi próbami, a które okazały się dobre - trzeba będzie się w tym połapać.

    Ponoć ten, który to pisał, stwierdził że prościej byłoby to zrobić pisząc program w C - ale był wymóg, żeby to zrobić w LabVIEW.

    Odniosłem co do LabVIEW wrażenie, że jest to coś podobnego do Write-Only-Language - że jest kiepsko dostosowany do czytania tego, co się w nim napisało, i robi się to mało efektywnie. Być może się mylę (moje doświadczenie z LabVIEW to na razie parędziesiąt godzin i jeszcze bardzo mało go znam) - może jest jakiś efektywny sposób czytania - jeśli ktoś o takim sposobie wie, prosiłbym o jego wskazanie, ja dotąd w opisach takiego nie znalazłem.

    Miałem kiedyś do czynienia z językiem Clarion i 'designerem' pozwalającym bardzo szybko tworzyć aplikacje w tym języku (w ciągu godziny robiło się coś, co inaczej zajęłoby tygodnie) - wszystko pięknie do momentu, kiedy trzeba było coś zmienić, a nie zrobiło się wcześniej dokumentacji z każdego kroku tworzenia programu, albo zrobić cokolwiek spoza zestawu rzeczy, do których 'designer' był dobrze dostosowany. Nawet wpisanie w nim bardziej złożonego polecenia groziło nieprzewidywalnością działania programu, i dokumentacja tu nie pomagała - po prostu firma nie raczyła udokumentować pewnych właściwości tworzonego kodu. Rozpracowałem je i opisałem, oraz napisałem program, który mając 'projekt' utworzony przez 'designer' generował informację, co właściwie w tym projekcie jest - to mi pozwoliło tworzyć programy w Clarionie ze świadomością tego, co robię, bez próbowania "po omacku", jak to było, gdy korzystałem tylko z tego, co dostarczyła firma. LabVIEW jest nieco lepiej czytelny ('projekt' w 'designerze' Clariona to był już zdecydowanie W-O-L), i ma przewidziane miejsce na komentarze, ale mam wrażenie, że wciąż za mało - albo trzeba wiedzieć o jakimś narzędziu, znaleźć jakąś wskazówkę w opisach LabVIEW.
  • #5 17876021
    _jta_
    Specjalista elektronik
    Posty: 49104
    Pomógł: 3212
    Ocena: 4254
    I co? Nikt nic nie podpowie? Czy wszyscy, którzy tu używają LabVIEW, tylko piszą, nigdy nie czytają?

    Mom jeszcze pewien problem z EPICS-em pod LabVIEW: napisałem klienta i serwera, klient wpisuje do serwera jedną zmienną, czyta drugą. Przy startowaniu klienta jest sygnalizowany błąd dla zmiennej, którą wpisuje. W załączniku projekty serwera i klienta.
    Załączniki:
    • epics8.zip (39.05 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #6 17970082
    _jta_
    Specjalista elektronik
    Posty: 49104
    Pomógł: 3212
    Ocena: 4254
    Mam jeszcze pytanie dotyczące LabVIEW: gdzie szukać przykładów w miarę prostych i dobrze napisanych programów, żeby nauczyć się dobrego stylu programowania w LabVIEW? Mam wrażenie, że to, co mogę znaleźć w materiałach NI, pozostawia sobie sporo do życzenia, czy są jakieś lepsze materiały? Coś w stylu podręcznika Wirtha dla Pascala?
  • #7 17986101
    willyvmm
    Poziom 31  
    Posty: 1757
    Pomógł: 164
    Ocena: 364
    "The LabVIEW Style Book"

    Jakis czas temu musialem nauczyć się lv od zera i jako osoba nie majaca do tej pory z tym stycznosci mialem dokladnie takie samo zdanie.

    Ogólnie programowac w lv trzeba nauczyc sie od zera. Zapomniec wszystko co wiesz i przestawic się na klikanie myszą. Przesiadka nie jest łatwa, ale możliwa.
    Po kilku projektach jakos już idzie, jednak na początku zawsze wychodzi tzw. "Spaghetti Code". Dlatego wazne jest budowanie sobie "klockow" i skladanie ich w większą całość. Klocki wszedzie klocki.
    Programujac w LV żaden monitor nie bedzie za duży. Zawsze będzie brakować miejsca ;) nie probowalem jeszcze monitora 4k, ale musiałby miec chyba z 40" zeby klocki byly widoczne ;)
    LV jest dla mnie zlem koniecznym i unikam jak mogę.
  • #8 18010406
    _jta_
    Specjalista elektronik
    Posty: 49104
    Pomógł: 3212
    Ocena: 4254
    Niestety, nie mam wyboru, w czym to będzie pisane - jest umowa (międzynarodowa), że ma być w LabWIEW, i raczej nie ma realnych szans, by ten jej element zmienić.

    I nie mam wśród osób pracujących w pobliżu nikogo, kto by mógł mi doradzać w trudniejszych sprawach - jak zacząłem pytać kolegę, który w naszym zakładzie chyba najlepiej zna LabVIEW, to odpowiedział, że on za takie zaawansowane rzeczy się nie zabierał i się na nich nie zna.

    Na Elektrodzie właśnie założyłem kolejny temat dotyczący czegoś z LabVIEW, ale widzę, że już dwa są bez odpowiedzi, czy i ten czeka taki sam los? Pytania za trudne?

    27 Mar 2019 09:40 protokół EPICS - jak diagnozować brak łączności?
    09 Cze 2019 00:04 LabVIEW - czy ma błąd w czekaniu na wiele notifier-ów?
    13 Cze 2019 23:27 LabVIEW - jak asynchronicznie uruchomić VI-a?
  • #9 18338908
    _jta_
    Specjalista elektronik
    Posty: 49104
    Pomógł: 3212
    Ocena: 4254
    Anonymous napisał:
    Należy znaleźć kogoś, kto pracuje w LabView.

    Dobrze by było... tylko skąd wziąć kogoś, kto sobie z tym poradzi. Zagadnienie, którego dotyczy program, jest znacznie bardziej złożone, niż sobie wyobrażali ci, którzy wcześniej do tego podchodzili, aktualnie mamy dwóch ludzi ze sporym doświadczeniem programowania w LabVIEW, którzy byli z tego szkoleni (jeden z nich już odchodzi - wyjeżdża do dość prestiżowego ośrodka naukowego w Rosji), drugi ponoć ma przy tym pracować, ale patrząc na wyniki tego, co robili, nie widzę, żeby umieli wystarczająco dobrze programować w LabVIEW, by zrobić to, o co chodzi.

    Chyba jakimś sprawdzianem dostępności specjalistów od LabVIEW stały się pytania, które zadaję na forum - jak trochę się nauczyłem, i zacząłem pytać o trudniejsze sprawy, to jakoś wszędzie jest 0 odpowiedzi (poza moimi) - cóż, może to już dla wszystkich za trudne, nie tylko dla mnie?

Podsumowanie tematu

✨ W dyskusji poruszono problem kontynuacji pracy nad oprogramowaniem w LabVIEW po śmierci pracownika, który nie pozostawił dokumentacji. Uczestnicy sugerują, że LabVIEW, jako środowisko programistyczne oparte na grafice, wymaga specyficznego podejścia i umiejętności. Wskazano na konieczność znalezienia specjalisty w LabVIEW, ponieważ nauka tego narzędzia od podstaw może zająć kilka miesięcy, a dokończenie projektu bez odpowiedniej wiedzy jest ryzykowne. Uczestnicy podkreślają, że programowanie w LabVIEW może prowadzić do tzw. "spaghetti code", dlatego ważne jest budowanie modularnych komponentów. Wskazano również na trudności w znalezieniu odpowiednich materiałów edukacyjnych oraz na potrzebę wsparcia ze strony doświadczonych programistów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA