Symulacje i testy oprogramowania przed wdrożeniem. Jakich programów i sposobów używacie?

Cześć

Czy wykorzystujecie przy programowaniu off-line symulacje? Jakich programów używacie? Słyszałem o factoryIO, ale nigdy nie korzystałem. Jak wygląda stosowanie takich programów w praktyce?

1lajk

Z oprogramowania dodatkowego (typu Factory IO) nie korzystałem. Albo wykorzystywałem wbudowany symulator programu PLC albo w parze z panelem HMI.

Przy prostych aplikacjach działałem w następujący sposób:
Program PLC powstawał w parze z wizualizacją HMI. Na pewnym etapie to wizualizacja na panelu była moim symulatorem gdyż załączenia i procesy były wyraźnie sygnalizowane. Program PLC natomiast testowałem ręcznie zmieniając np. dane w tablicach zmiennych lub korzystając z funkcji symulacji PLC.

Przy niestandardowych programach. Jeżeli miałem taką możliwość to zawsze budowałem stanowisko testowe, gdzie podłączałem wszystkie moduły IO, urządzenia, z którymi ma się komunikować sterownik itp. Cały system sterowania powstawał “na biurku” a do tego wykorzystywałem różnego rodzaju zadajniki sygnałów. Na przykład coś takiego jak to:

Jak pracowałem w branży WOD-KAN to sporo było powtarzalnych aplikacji, więc testy przeprowadzane były najpierw bezpośrednio w zbudowanej szafie na warsztacie (z zadajnikami) a ostateczne testy już na obiekcie.

Z FactoryIO nie pracowalem ale wyglada do szybkich testow i mam w planach zapoznanie sie.
Do tego co robie zwykle wystarcza mi PLCSim Advanced + API gdzie moge z zewnatrz narzucic procedure testowa I/O przede wszystkim.
Nie chce robic zadnej reklamy, ale jesli potrzeba faktycznie kompleksowo cos przetestowac to w zanadrzu mam SIMIT i MCD ale nie jest to soft to casualowego testowania a raczej do pelnoprawnej symulacji maszyny i napewno wiaze sie z tym pewien naklad pracy inzynierskiej.

2lajki

Symulowanie małych urządzeń OK. Większa linia produkcyjna? Chyba jednak na żywym organizmie. Nie wyobrażam sobie symulacji całego ukladu safety, kilkunastu robotów, drukarek, przepływu medium, systemów wizyjnych i całej sieci z tym związanej :wink: a w praktyce jest tego jeszcze więcej.

1lajk

U mnie do tej pory symulacje wykonywane są w ten sposób, że programista pisze symulator i testuje zachowanie właściwego programu oraz aplikacji na HMI lub scadzie.

Ostatnio jednak dostałem kilka projektów cel z robotami, gdzie nie jest już tak kolorowa. Koledzy robotycy tworzyli symulacje w swoich oprogramowaniach, ale to bardziej w celu sprawdzenia konstrukcji, czy nie ma kolizji itp. Podobno idzie połączyć powyższe oprogramowanie z PLC, ale niestety w firmie nie ma na to licencji.

Planuje zapoznać się też z FactoryIO, aczkolwiek nie liczę na zakup licencji przez kierownictwo. Zastanawiałem się czy są jeszcze inne alternatywy.

Widzę jednak, że raczej większość z nas bazuje na własnej wyobraźni testując “w biurze”, a prawdziwe testy zaczynają się “on-line”. Jestem ciekaw dalszej dyskusji i doświadczeń ze środowiskami symulacyjnymi.

2lajki

Factory IO raczej oprogramowanie do “zabawy” niż testowania komercyjnych projektów.

2lajki

No dobrze, ale to jakie rozwiązania uważasz za sensowne do zastosowań komercyjnych?

1lajk

Z własnej praktyki nie mogę nic polecić, ale wiem że Siemens ma narzędzia inżynierskie pozwalające na testowanie HW, softweru, oraz konstrukcji mechanicznej, a także całościowego prowadzenia projektu, wszystko to można połączyć. W skład wchodzi m.in wyżej wymieniony Simit, PLCSim-Advance, a także TeamCenter. Lecz jak to bywa z rozwiązaniami Siemensa nie da one tanie.

Jesli o rozwiazania Siemensa chodzi to zalezy czego potrzebujemy.
PLCSim Advanced do testowania programu na sterowniku. Jest API wiec mozna zbudowac wlasny symulator i spiac go z PLCSim Adv i symulowac nie tylko reakcje I/O ale rowniez np. wypiecie modulu remote I/O.
Poza tym mozliwosc symulacji komunikacji, wiec mozemy podpiac przykladowo fizyczny panel do PC ktore obsluguje symulacje i sterowac za pomoca fizycznego panelu - fajna opcja jesli mowimy np. o szkoleniu nowych operatorow.

SIMIT to rozwiazanie ktore wywodzi sie z procesowki, stosowane do symulacji zaworow, pomp itd. W aplikacjach dyskretnych SIMIT pozwoli nam symulowac fizyczne I/O po podpieciu do instancji PLCSim Advanced ale nie tylko, bo mozemy np. zasymulowac telegram Profidrive i zasymulowac komunikacje z napedami.

Ostatnia czescia ukladanki jesli mowimy o pojedynczej maszynie bedzie mechanika jako taka. Jesli chcemy przetestowac nasza sekwencje, zobaczyc czy nie mamy kolizji itp. to mozemy to zrobic przy pomocy NX MCD (Mechatronics Concept Designer) - wrzucamy nasze pliki CAD, okreslamy ktore obiekty maja brac udzial w symulacji, a ktore beda tlem, definiujemy relacje miedzy nimi i podpinamy albo bezposrednio do PLCSim Advanced albo jesli korzystamy to do SIMIT.

To byloby rozwiazanie jesli chodzi o test maszyny. Jesli chcemy rozmawiac o linii to jest Process Simulate przykladowo.
Jesli chcemy sie cofnac do doboru komponentow mechanicznych, napedow itd. to w tym moze pomoc AmeSim.

Jest tego softu troche - wszystko zalezy od aplikacji i tego jak wiele rzeczy chcielibysmy faktycznie zasymulowac.

2lajki

Opisałem w artykule jeden z możliwych sposobów symulacji, zapraszam do przeczytania
https://iautomatyka.pl/python-plc-symulacja-procesu/

2lajki

TeamCenter jest do zarządzania projektem nie do symulowania urzadzenia. Są inne specjalizujące się oprogramowania w tworzeniu “cyfrowych bliźniaków” które współpracują z PLCSIM ADV

Konwencja fajna ale umówmy się, że przy dużych projektach nie ma to racji bytu za dużo roboty. Są specjalne programy do rapid prototyping, które same przygotują interfejs do komunikacji z symulatorem/PLC. Polecam konferencje Siemens Innovation Tour tam jest przedstawiona automatyka na naprawdę najwyższym poziomie.

Oczywiście, że są specjalne programy, ale to wszystko kosztuje i większość czasu leży niewykorzystane.
Co do wielkości projektów to każde narzędzie służy do konkretnego zadania, to rozwiązanie jest w sam raz dla małych firm i małych projektów :slight_smile:
Ps. Siemens to 50% rynku na świecie, nie cały i nie powinno się o tym zapominać.

Uwierz mi, że prędzej CI licencje na robienie cyfrowych bliźniaków niż licencje na Mat Laba, żeby sobie za modelować proces :slight_smile:

Czyli nie czytałeś artykułu? Matlab jest tam wspominany ze względu na pozostałość po studiach.
Model został opracowany na podstawie równań fizycznych i identyfikacji zaworów oraz pompy, co można wykonać w każdym środowisku

Z tego co wiem, to koledzy robotycy często do nawet dużych projektów tworzą symulacje offline. Jakby się dało do tego podłączyć PLC i móc choćby stworzyć sekwencje dla robotów i obrobić komunikację z nimi + jakieś taśmociągi to wydaje mi się, że pozwoliłoby to przyspieszyć prace na “OnLine”.