top of page

TIA Portal v16 - Symulacja sterownika, uruchomienie i nowe funkcje

W poprzednim artykule, przygotowaliśmy program, który pozwoli nam na zbadanie nowych funkcji związanych z symulacją w TIA Portal V16. Chcąc wykorzystać własny program, zalecam najpierw przeczytać artykuł, żeby sprawdzić, które elementy kodu możemy zdiagnozować wykorzystując nowe funkcje, a do których wystarczy nam podstawowa wiedza i umiejętności.


Przechodzimy do włączenia symulacji postępując zgodnie z poniższymi rysunkami:


Najpierw klikamy zaznaczony element na rysunku 7.

Następnie, akceptujemy ostrzeżenia, które się pojawiają np. rys. 8.

Na końcu, powinno nam się ukazać okno pozwalające na wybór podłączonego wirtualnego sterownika rys. 9. Gdyby nie wyświetliło się nam żadne dostępne urządzenie, to należy kliknąć przycisk Start search i odczekać chwilę. W przypadku wirtualnego sterownika postępujemy identycznie jak ze sterownikiem fizycznym, czyli musimy wgrać na niego program, który chcemy symulować.

W przypadku poprawnej konfiguracji i wgrania programu niezawierającego żadnych błędów powinno ukazać się poniższe okno. Musimy je rozwinąć poprzez kliknięcie zaznaczonego elementu.

Aby korzystać z symulacji, musimy stworzyć projekt/profil, w którym zapisywane będą parametry symulacji. W tym celu klikamy przycisk 1 na rys. 11. Jeżeli wcześniej utworzyliśmy projekt, możemy go także wczytać przyciskiem 2. Zaznaczony obszar numerem 3 jest odpowiedzialny za sterowanie wirtualnym sterownikiem. Pod numerem cztery znajduje się przycisk pozwalający na powrót okna do postaci z rysunku 10.

W naszym przypadku zaczynamy od zera, czyli tworzymy nowy projekt. Z lewej strony ukaże się panel projektu zawierający potrzebne do symulacji narzędzia rys 12.

Ostatnią rzeczą, jaką musimy wykonać, jest utworzenie tablicy symulacji wejść/wyjść SIM. W przypadku dużego programu najlepszym rozwiązaniem jest wykorzystanie tablicy SIM table_1, do której wpisujemy nazwy tagów albo adresy zmiennych tak samo, jak do zwykłej tablicy tagów.


W naszym przypadku posłużymy się funkcją Browse z rysunku powyżej (rys. 12).

Browse pozwala na przepisanie do symulacji całych tablic z tagami. Pisząc mały program (30 tagów), przepisanie zmiennych, które chcemy wykorzystać, sprowadza się do kilku kliknięć. Uzyskaliśmy poniższą tablicę SIM.

Po wykonaniu wcześniejszych kroków przyszedł czas na przedstawienie oraz omówienie nowych funkcji. Po prawej stronie ekranu symulacji, prócz standardowego panelu operatora, który pozwala na sterowanie stanem PLC, doszedł nowy panel Scan control. Aby móc zmieniać sposoby skanowania stanów sterownika, musi on być wpierw zatrzymany przyciskiem pauzy.


Standardowo wybrana jest opcja Continuous scan, która polega na ciągłej pracy sterownika. Pozwala ona na wykorzystywanie sekwencji wejść/wyjść oraz na podstawową symulację sterownika.


Pierwszą nowością jest opcja Pause after running startup OBs, która pozwala na sprawdzenie stanu sterownika tuż po wykonaniu bloku startowego. W naszym programie w bloku startowym (rys.4) wymuszamy stan wyjścia Q0.0, który będzie prawdziwy tylko podczas pierwszego cyklu programu. W kolejnych cyklach wyjście będzie zmieniało się zgodnie z programem głównym (rys.6).


Przechodzimy do tablicy SIM i aktywujemy bit odpowiedzialny za wejście I0.0, a następnie w zakładce Scan control wybieramy opcję Pause after running startup OBs i klikamy przycisk Go poniżej wybranej opcji. Pamiętamy, że aby móc wybrać którąkolwiek z opcji, sterownik musi być zatrzymany. Symulacja będzie trwała bardzo krótko, a po jej wykonaniu sterownik przejdzie w stan pauzy. Wynik badanej opcji jest widoczny w tablicy SIM.

Jak widać na załączonym wyżej obrazku, wyjście jest aktywne pomimo tego, że według pętli głównej aktywne nie powinno być. Można to sprawdzić poprzez zatrzymanie sterownika przyciskiem na panelu operatorskim STOP, ustawienie opcji Continuous scan i wciśnięcie przycisku Go. Sterownik zostanie uruchomiony w normalnym trybie pracy, a wyjście (przy ciągle aktywnym wejściu I0.0) nie będzie aktywne przez 3s. Dotyczy się to wszystkich wyjść, zmiennych i innych parametrów, które mają być ustawione tylko przez okres trwania bloku startowego.


Kolejną nową funkcją jest Specify scan duration i pozwala ona na określenie czasu trwania albo liczby cykli symulacji. Programista może ustalić liczbę cykli od 1 do 9999, a dzięki temu może badać przebieg programu cykl po cyklu.

Postępujemy zgodnie z kolejnością na rysunku powyżej. Wybieramy opcję Specify scan duration, następnie wybieramy rozwijanej listy zaznaczony symbol i wpisujemy liczbę skanów, po której chcemy zatrzymać symulację.


Kolejną możliwością jest ustalenie czasu trwania symulacji w milisekundach, sekundach albo minutach. Wystarczy z rozwiniętej listy wybrać dogodną opcję (rys. 18).

W naszym przypadku możemy sprawdzić, czy podczas 10ms trwania programu zostanie wykonane przerwania, które powinno się wykonywać cyklicznie co 5ms. W tym celu ustawiamy Specify scan duration, z listy wybieramy milliseconds i wpisujemy czas 10.


Przechodzimy do tablicy SIM i wpisujemy wartość z zakresu od 0 do 24000 w pole pod adresem IW64. Następnie uruchamiamy symulację przyciskiem Go w panelu Scan control.

Na powyższym rysunku zostały przedstawione dwa wycinki. Pierwszy pokazuje wartość obliczoną w przerwaniu po czasie 10ms, a drugi po czasie 100ms. Pomimo że przerwanie powinno się wykonać co najmniej raz, w przypadku 10ms, nie wykonało się wcale. W ten sposób można badać czas potrzebny na wykonanie przerwania, złożonej funkcji lub całego programu.


Wnioski

Przedstawione opcje nie współgrają z tablicą sekwencji. Wynika to ze sposobu działania sekwencji. Tablica sekwencji jest aktywowana zawsze przez programistę, a moment rozpoczęcia jej wykonywania (moment wykonania pierwszego rozkazu) następuje natychmiast lub poprzez warunek, którym jest określona wartość zmiennej.


Natychmiastowe wykonanie, nie zależy od stanu sterownika. PLC może być zatrzymany, a sekwencja i tak się wykona. W przypadku krótkiego czasu obserwacji symulacji, rzędu milisekund, programista nie ma fizycznej możliwości zgrania przebiegu sygnałów wejściowych z ograniczoną czasowo symulacją. Rozwiązaniem jest obserwacja sterownika przez czas długi na tyle, żeby programista zdążył aktywować sekwencję i mógł przeanalizować pracę sterownika.


Wykonanie tablicy sekwencji, której warunkiem startu jest wartość zmiennej również, nie pozwala na zgranie czasowe ze stanem sterownika. Jeżeli zastosujemy zmienną, której wartość początkowa jest taka sama jak wartość wymagana do aktywacji warunku, sekwencja zacznie się wykonywać w chwili aktywacji przez programistę. Rozwiązaniem jest zastosowanie zmiennej, która ma inną wartość na początku i inną jako warunek aktywacji sekwencji. Brzmi to logicznie, ale nie pozwala na zgranie czasowe co do 1ms.


Omówione nowe tryby, nie sprawdzą się podczas symulacji prostych programów, ponieważ ich potencjał nie zostanie wykorzystany. Pisząc duży program, który jest krytyczny czasowo i musi być wykonywany jak najszybciej, nowe tryby symulacji sprawdzą się idealnie. Jest to narzędzie dla profesjonalistów, którzy czasem muszą sprawdzić działanie programu cykl po cyklu.

1910 wyświetleń0 komentarzy

Ostatnie posty

Zobacz wszystkie
bottom of page