Testowanie programu na fizycznej linii ma trzy ograniczenia: linia musi już istnieć, błąd może uszkodzić sprzęt lub zatrzymać produkcję, a rzadkich sytuacji trudno celowo wywołać. Działający model usuwa wszystkie trzy. To właśnie oznacza wirtualne uruchomienie: testowanie i programowanie sterowania na modelu, zanim linia fizycznie powstanie.
Co jest testowane
- Sekwencje: czy kroki przebiegają w kolejności wymaganej przez proces, łącznie z pierwszym cyklem po starcie i ostatnim przed zatrzymaniem.
- Blokady: czy wspólna strefa jest naprawdę zablokowana, gdy znajduje się w niej inna oś.
- Wymiana sygnałów: czy PLC i robot są zgodne co do tego, kto na kogo czeka i co się dzieje, gdy oczekiwany sygnał nie nadchodzi.
- Timeouty i obsługa usterek: jak program reaguje na brak części, niereagujący czujnik lub głowicę utraconą z chwytaka.
- Wznowienie po usterce: czy stacja potrafi wrócić do pracy ze stanu, w którym faktycznie się znajduje.
- Wydajność: czy założony takt osiąga program, a nie tylko sama mechanika.
Błędy mają w modelu konsekwencje
Model jest użyteczny tylko wtedy, gdy błędy mają w nim konsekwencje. W procesie lampy LED 24V transport natychmiast zgłasza usterkę, gdy separator przepuści dwie palety przy jednym opuszczeniu, gdy paleta minie opuszczony stoper doku lub gdy tłumik dosunąłby paletę do poprzedniej. Ruch jest sprawdzany pod kątem kolizji na ruchomej geometrii. Usterka stacji zatrzymuje tylko tę stację, jak na rzeczywistej linii, a wyłącznik awaryjny lub otwarte drzwi zatrzymują wszystko.
Znaczenie ma też czas. Programowy PLC skanuje w każdym kroku fizyki, więc czas PLC jest równy czasowi symulacji, a linia zachowuje się tak samo niezależnie od odświeżania ekranu. Wolny komputer nie ukryje problemu między dwiema klatkami, co potwierdzają także przebiegi z celowo niskim FPS.
Jak testowana jest zmiana
Program jest wymiennym modułem, tak samo jak w fizycznym sterowniku. Widzi proces wyłącznie przez obraz procesu, bez dostępu do wnętrza symulacji, a błąd programu jest zgłaszany z nazwą pliku i numerem wiersza. Po zmianie reset modelu wczytuje nową wersję i linia rusza od nowa ze zdefiniowanego stanu, bez przebudowy aplikacji.
Każda zmiana linii lampy przechodzi zestaw automatycznych przebiegów: produkcyjny, z niskim FPS oraz z resetem stacji. Zmiana, która psuje wcześniejsze zachowanie, wychodzi tutaj, zanim ktokolwiek zobaczy ją na ekranie.
Zachowanie przy wznowieniu
Logika wznowienia należy do najdroższych miejsc na błąd, a rzadko testuje się ją tak dokładnie jak normalną produkcję. W procesie lampy obowiązuje następująca konwencja. Przy resecie stacji wyjścia trzymające część pozostają aktywne: podciśnienie z potwierdzoną częścią, szczęki zamknięte na części. Oś, która nie może bezpiecznie pojechać prosto do pozycji bazowej, zostaje na miejscu, a program prowadzi ją w bezpiecznej kolejności, na przykład najpierw w górę, a potem w bok. Następnie program ustala na podstawie wejść, gdzie znajduje się stacja, i kontynuuje pracę. Każda z tych zasad jest wykonywana i sprawdzana na modelu.
Sterowniki i roboty
Model komunikuje się ze sterownikiem przez obraz procesu, więc ten sam model może pracować z wbudowanym programowym PLC lub sterownikiem zewnętrznym. Wspieramy wszystkie popularne marki sterowników i robotów. Dzięki temu możemy zaproponować możliwie najlepsze rozwiązanie dla danego procesu, bez przywiązania do jednego producenta.
Sam proces lampy działa na programowym PLC wewnątrz modelu i dlatego tak go opisujemy. W projekcie klienta to miejsce zajmuje jego sterownik i kod, a zakres testów jest uzgadniany jako lista testów sekwencji i sygnałów z określonym wynikiem.
Zastosowanie po uruchomieniu
Model pozostaje użyteczny, gdy linia już pracuje. Nowy wariant produktu lub zmieniona sekwencja mogą najpierw przejść przez model, bez przerywania produkcji. To także sposób oceny zmian z wyprzedzeniem, ponieważ modyfikacja programu maszyny może mieć skutki formalne w świetle przepisów o maszynach.
Czego model nie pokaże
Model usuwa błędy logiczne: złe sekwencje, czasy, wymianę sygnałów i strefy kolizji. Nie pokazuje mechanicznej rzeczywistości na hali, takiej jak tolerancje, drgania, dryf czujników czy zachowanie konkretnego materiału. To kwestie dokładnej regulacji na miejscu, a nie przeprojektowania, ale istnieją.
Model nie zastępuje też walidacji funkcji bezpieczeństwa. Trzeba je przetestować na fizycznym sprzęcie, niezależnie od tego, co pokazał model.
Co to oznacza dla projektu
Zobowiązanie umowne jest konkretne: programy przetestowane na modelu opartym na rzeczywistym systemie sterowania, według uzgodnionej listy testów. Dla integratora oznacza to, że duża część pracy wykonywanej zwykle podczas uruchomienia odbywa się w biurze. Dla zakładu oznacza to, że pierwszy start linii nie jest pierwszym testem jej logiki.
Ten sam model, z tą samą logiką i tymi samymi usterkami, służy też kolejnej grupie użytkowników: osobom, które będą obsługiwać linię.