Programując sterowniki PLC w środowisku Siemens TIA Portal możemy korzystać z rzeczywistego urządzenia lub oprogramowania symulacyjnego. W ofercie producenta dostępne są dwa pakiety oprogramowania umożliwiającego symulowanie i testowanie programu sterownika PLC:

  • PLCSIM – darmowy pakiet oprogramowania,

  • PLCSIM Advanced – płatny pakiet oprogramowania. 

 
Na samym wstępie warto zaznaczyć, że darmowy PLCSIM oferuje możliwość uruchomienia wszystkich sterowników z rodziny Siemens SIMATIC S7, tj. S7-300, S7-400, S7-1200, S7-1500 oraz ET 200SP CPU.  
 
W przypadku PLCSIM Advanced symulować możemy wyłącznie sterowniki bazujące na rozwiązaniach S7-1500, ET 200SP, ET 200pro, Software controller i oczywiście S7-1500.
Widok PLCSIM Advanced V7

Gdzie zatem tkwi haczyk? Darmowy PLCSIM umożliwia lokalne uruchomienie sterownika PLC i co najwyżej jego testowanie z panelem operatorskim HMI lub systemem SCADA. Z kolei PLCSIM Advanced oferuje wirtualny adapter sieciowy, za pomocą którego (poza standardowym testowaniem programu PLC i integracją z HMI/SCADA) możliwe jest testowanie poprawności komunikacji z wykorzystaniem otwartych protokołów komunikacyjnych takich jak:

 
Uwaga! PROFINET, jako deterministyczny protokół czasu rzeczywistego nie może być symulowany w żadnym z omawianych pakietów oprogramowania.
Otwarte protokoły obsługiwane przez sterowniki S7-1500

Co więcej, niezależne instancje PLCSIM Advanced mogą wymieniać między sobą dane (z wykorzystaniem wspomnianych wcześniej otwartych protokołów). Nie jest to jednak koniec – PLCSIM Advanced, wraz z innym pakietem oprogramowania, Test Suite, umożliwia tworzenie testów jednostkowych.

testsuite
TestSuite - opcjonalny pakiet do testów jednostkowych

Klasyczna symulacja oprogramowania PLC sprowadza się do konieczności ręcznej manipulacji sygnałów wejściowych. Jak inaczej sprawdzić, że stycznik potwierdził zadziałanie zwarciem pomocniczych styków NO? Lub robot zwrócił sygnał do sterownika PLC o rozpoczęciu pracy? Właśnie poprzez manipulację sygnału wejściowego %I o odpowiednim adresie. 

Problem inżynierski - jak potwierdzać pracę symulowanych urządzeń?

Warto wiedzieć, że darmowy PLCSIM posiada wbudowane narzędzie o nazwie Sequences, które umożliwia tworzenie sekwencji w czasie – wówczas użytkownik określa jaką wartość przyjmie dowolny sygnał w konkretnej chwili czasu. Wady? Program musimy samodzielnie monitorować w czasie rzeczywistym, stąd konieczne jest odpowiednie określenie czasów aktywacji zmiennych sterownika PLC. Ponadto, należy pamiętać o inicjalizacji stanu początkowego odpowiednimi wartościami zmiennych, gdy uruchomimy sekwencję czasową ponownie – w przeciwnym razie program może „utknąć” w nieokreślonym stanie.

Czas [ss:ms] Sygnał Adres Wartość
0:000
iReadyP10
%I502.3
TRUE
0:500
„dbProcess”.activateP10
–
TRUE
1:000
iInOperationP10
%I502.4
TRUE

Symulacyjne „potwierdzenie pracy” pompy jest realizowane w narzędziu Sequences poprzez wprowadzenie wartości TRUE do zmiennej  iInOperationP10 %I502.4. Zwróć uwagę, że ta sama pompa jest uruchamiana poprzez aktywację zmiennej „dbProcess”.activateP10 po 500ms od startu symulacji, a na samym początku ustawia się jej gotowość. Innymi słowy – wszystko, co rzeczywisty układ automatyki otrzymałby za pomocą sygnałów elektrycznych czy przycisków do modułów wejściowych, musimy obsłużyć sami. 😊

Testy jednostkowe to procedura weryfikacji poprawności kodu bez konieczności testowania na rzeczywistym urządzeniu czy też – wspomnianej wcześniej – manipulacji sygnałami wejściowymi. Innymi słowy użytkownik pisze test, który zawiera kolejne kroki sprawdzenia algorytmu, a każdy krok składa się z 3 elementów:

  • inicjacji wartości zmiennych
  • uruchomienia wirtualnego PLC na zadaną liczbę cykli lub zadany czas
  • sprawdzenie oczekiwanych rezultatów na zasadzie zdany/niezdany (PASS/FAIL). 
Przykładowy test jednostkowy w Test Suite

Uwaga! Testy jednostkowe to dodatkowa procedura, która nie obejmuje programowania PLC. Jest to forma sprawdzenia poprawności działania kodu. Do uruchomienia testów jednostkowych wymagane jest posiadanie licencji PLCSIM Advanced oraz opcjonalnego pakietu Test Suite. Warto w tym miejscu dodać, że cena oprogramowania PLCSIM Advanced nie jest pomijalna:

Oprogramowanie Wersja Cena katalogowa
PLCSIM Advanced V7
Download
2973€
PLCSIM Advanced V7
USB + DVD
3568€
PLCSIM Advanced V7 + TestSuite
Download
3784€

Cena samego pakietu PLCSIM Advanced, nawet w tańszej wersji Download stanowi równowartość pakietów STEP 7 Professional oraz WinCC Unified Comfort.

Podsumowanie

Ilu programistów, tyle podejść. Niektórzy uważają, że program PLC powinno testować się bezpośrednio na maszynie. Wielu wykorzystuje możliwości darmowego PLCSIM, ponieważ pozwala to znacząco skrócić czas potrzebny na fizyczne uruchomienie maszyny czy linii poprzez wychwycenie błędów już na etapie projektowania. Najmniejsza grupa to Ci, którzy korzystają z pakietu PLCSIM Advanced. Z mojego doświadczenie wynika to z ceny, którą należy ponieść na zakup oprogramowania. Przecież nie chciałby takich możliwości? 

W razie zainteresowania zakupem licencji zapraszam do kontaktu.

 

kontakt@marcinpodsiadly.pl