3. Uruchamianie oraz testowanie systemów mechatronicznych

3.2. Sposób testowania programu użytkowego PLC

Rozwój systemów informatycznych w ogólności doprowadził do wzrostu stopnia interakcji użytkownika takich systemów z komputerem na skutek rozwoju interfejsów typu człowiek-maszyna HCI (ang. Human Computer Interaction). Jak wspomniano w module pierwszym, moment pojawienia się sterowników PLC przypada na okres końca lat 70-tych ubiegłego wieku. W tamtym czasie istniejące oprogramowanie narzędziowe, najczęściej „pod DOS-em” umożliwiało jedynie utworzenie oraz załadowanie programu użytkowego do pamięci sterownika PLC. Spotykana diagnostyka dotyczyła jedynie określania poprawności przesłania programu z programatora do sterownika PLC, nie zaś działania samego programu użytkowego. Ubogie możliwości grafiki takiego programatora (najczęściej ekranem była matryca LED) oraz „prymitywność” systemu operacyjnego nie pozwalały po prostu na nic więcej.

 

Obecnie większość oprogramowania narzędziowego dla różnych rodzin sterowników PLC pozwala na dużo efektywniejszą diagnostykę nie tylko poprawności ładowania oraz załadowania programu użytkowego do pamięci sterownika PLC, ale również i diagnostykę oraz monitorowanie działania samego programu użytkowego. (Autor skupił się na tym ostatnim zagadnieniu pomijając omawianie zagadnień wizualizacji procesów mechatronicznych narzędziami typu SCADA ze względu na jego obszerność niemożliwą do opisania poprzez jakąś skróconą formę).

Wspomniane monitorowanie działania programu użytkowego polega na używaniu przez osobę nadzorującą działanie sterownika PLC mechanizmów, które zostały wbudowane w każdy język programowania, objęty omówioną już normą IEC 1131-3. Wyjaśnijmy powyższe na przykładzie monitorowania programu użytkowego PLC dla wybranego układu sterowania silnikiem elektrycznym z przykładu 4.1.1, którego postać w języku LAD (załadowaną do pamięci sterownika PLC bez jego uruchomienia - np. tryb STOP) ilustruje rysunek 66.

 

Rysunek 66: Program w języku LAD dla sterowania silnikiem elektrycznym z przykładu 4.1.1

 

Wyjaśniając powyższe stwierdza się, że postać programu użytkowego w języku LAD, która zilustrowana jest na rysunku 66 pokazuje tak naprawdę scan ekranu programatora (np. monitora komputera typu PC) w przypadku, gdy jednostka CPU sterownika PLC znajduje się w trybie STOP. W tym trybie na ekranie programatora widoczny jest załadowany program, ale najczęściej nie pojawiają się jakiekolwiek komunikaty graficzne, które osoba obsługująca mogłaby odpowiednio zinterpretować. Dopiero „przestawienie” modułu CPU na tryb pracy RUN wywoła pojawienie się komunikatów graficznych, które uwidoczniono na rysunku 67. (W dalszym ciągu silnik elektryczny nie pracuje, mówimy tylko o momencie uruchomienia programu użytkowego PLC). 

 

Rysunek 67: Postać ekranu monitora programatora po wywołaniu trybu RUN modułu CPU

 

Przełączenie jednostki CPU na tryb RUN spowodowało naniesienie w wybranych miejscach sieci programowych (tutaj Network 1 i Network 3) graficznych „komunikatów” o stanie niektórych operandów programu użytkowego. „Zapalony” został adres I0.0, który mówi o aktywnym sygnale od czujnika termicznego F3, oraz zapalony został adres Q0.2, co wywoła zaświecenie sygnalizacji zatrzymania silnika H2. Podświetlenie adresu K1:Q0.0 jest niczym innym jak użyciem mechanizmu programowego adekwatnego do użycia zestyku pomocniczego stycznika K1 w sterowaniu stykowym z rysunku 34A) (gałąź druga).

Zatem podsumowując, po włączeniu układu sterowania silnikiem elektrycznym, który oparty został o sterownik PLC (rysunek 46) oraz po przełączeniu trybu pracy modułu CPU na tryb RUN, silnik elektryczny nie pracuje, co pokazuje zapalony sygnalizator optyczny H2 (na pulpicie sterującym) oraz zapalony operand Q0.2 w programie LAD (rysunek 56). Jest to tzw. stan oczekiwania na pobudzenie przez operatora przycisku sterującego S1

W momencie pobudzenia przez operatora systemu mechatronicznego przycisku sterującego S1 silnik elektryczny zostanie załączony, a ekran monitora programatora będzie miał postać jak na rysunku 68.

 

Rysunek 68: Postać ekranu monitora programatora przy trwałym pobudzeniu przycisku sterującego S1

 

Uważny Czytelnik natychmiast zauważy, że nastąpiła zmiana w sygnalizacji optycznej zaistniałej „nowej” sytuacji sterowania silnikiem. Sieć Network 1 „załączyła” stycznik K1 (poprzez adres Q0.0), „zestyk pomocniczy” tego adresu w sieci Network 2 załączył sygnalizator optyczny ruchu silnika H1 (poprzez ten sam adres Q0.0) oraz sieć Network 3 wyłączyła sygnalizację optyczną zatrzymania silnika H2.

Ponieważ rodzaj sterowania silnikiem elektrycznym z rysunku 34A) jest sterowaniem bez tzw. podtrzymania przycisku S1, to warunkiem uruchomienia i działania silnika elektrycznego jest jednoczesne spełnienie dwóch warunków: brakiem przegrzania silnika (czyli F3=OFF, co skutkuje zwartym jego zestykiem, gdyż jest on typu NC) oraz występujące trwałe pobudzenie przycisku S1. Warunki te widać dokładnie w sieci Network 1. Przy wystąpieniu przegrzania silnika elektrycznego (F3=ON) postać ekranu programatora będzie jak na rysunku 69.

 

Rysunek 69: Postać ekranu monitora programatora przy zadziałaniu przekaźnika termicznego F3 przy S1=ON