IDENTYFIKACJA BŁĘDÓW FUNKCJONALNYCH
W poprzedniej części kursu dokonano podziału błędów na dwie podstawowe kategorie, w zależności od miejsca gdzie się pojawiają. Pierwsze to błędy systemowe, identyfikowane przez system operacyjny PLC, zwykle związane z błędami CPU oraz modułów peryferyjnych, m.in. błędy komunikacji, zasilania, uszkodzenie sterownika. Diagnostyka błędów systemowych z wykorzystaniem STEP 7 została opisany w poprzednim artykule z tej serii.
Znacznie poważniejszy problem pojawia się, gdy CPU przetwarza program sterowania, ale skonfigurowana funkcja systemu nie jest w całości przetwarzana lub jest przetwarzana błędnie. Użytkownik potrafi stwierdzić, że występuje błąd, ale CPU wciąż jest w trybie RUN. Występują wtedy błędy funkcjonalne, znacznie trudniejsze do zidentyfikowania niż błędy systemowe.
Istnieją dwie podstawowe grupy błędów funkcjonalnych: błędy procesowe - identyfikowane jako złe funkcjonowanie różnych elementów systemu sterowania m.in. okablowanie czujnika/elementu wykonawczego, uszkodzenie czujnika/elementu wykonawczego oraz błędy logiczne programu - błędy programowe, które nie zostały zidentyfikowane podczas pisania oraz uruchomienia programu, np. dwukrotne wysterowanie wyjścia w programie, złe adresowanie wejść/wyjść, itp.
W artykule zostaną opisane podstawowe procedury diagnozowania sterownika PLC np. S7-300 z wykorzystaniem środowiska STEP 7, w którym zaimplementowano mechanizmy pozwalające na szybkie wykrycie błędów funkcjonalnych. Pozwala to na usystematyzowanie testów diagnostycznych działającej aplikacji.
MONITOROWANIE I MODYFIKOWANIE ZMIENNYCH - TABLICA VAT
Do przeprowadzenia testów diagnostycznych często przydatna jest aplikacja Monitor/Modify Variables, uruchamiana z poziomu Simatic Managera lub z edytora LAD/STL/ FBD po wybraniu opcji PLC -> Monitor/ Modify Variables (rys. 1). Służy do monitorowania oraz ewentualnej modyfikacji zmiennych w dowolnym formacie.
Dotyczy to wszystkich zmiennych z pamięci sterownika i adresów z wyjątkiem zmiennych lokalnych przypisanych do bloku programowego. Funkcja ta może być wykorzystywana do następujących procedur testowych: test okablowania wejść, symulowanie stanu wejść, znalezienie różnic pomiędzy błędami sprzętowymi/programowymi.
Sposób pracy z aplikacją Monitor/Modify Variables może być następujący:
- utworzenie nowej lub otworzenie istniejącej tablicy zmiennych VAT (VAriable Table),
- edycja lub sprawdzenie zawartości tablicy VAT,
- utanowienie połączenia online pomiędzy daną tablicą VAT a określonym CPU,
- określenie punktu czasowego odczytania zmiennej i częstotliwości odczytu,
- włączenie lub wyłączenie funkcji monitorowania/modyfikacji zmiennych,
- zapisanie tabeli VAT.
Zmienne, których wartości są sprawdzane lub modyfikowane, należy wprowadzić do tablicy zmiennych VAT. Sposób wyświetlania zmiennych w tablicy definiuje się, korzystając z opcji View. W tablicy możemy wyświetlić następujące kolumny:
- Address - absolutny adres zmiennej,
- Symbol - symboliczna nazwa zmiennej,
- Symbol comment - komentarz do wyświetlanej zmiennej, pobierany z tablicy symboli i wyświetlany bez możliwości modyfikacji,
- Display format - format w jakim ma być wyświetlana dana (np. binarny, dziesiętny),
- Status value - aktualna wartość zmiennej w wybranym formacie,
- Modify value - wartość, jaką wpisujemy do zmiennej.
Każdą zmienną możemy wprowadzać poprzez podawanie adresu absolutnego lub symbolicznego (jeżeli został wcześniej wprowadzony). W przypadku sprawdzania okablowania wejść/wyjść (bez względu na warunki wysterowania w programie) można także monitorować i wymuszać adresy na poziomie narzędzia HWConfig. Punkt czasowy odczytania zmiennej definiuje się za pomocą funkcji Variable -> Set Trigger... lub poprzez wciśnięcie odpowiedniej ikony na pasku narzędziowym aplikacji Monitor/Modify Variables (rys. 2).
Otwiera się wtedy okno Trigger (rys. 3), w którym definiujemy się punkty czasowe monitorowania i modyfikacji zmiennych. W polach Trigger Point for Monitoring/Trigger Point for Modifying definiowane są punkty uaktualniania wartości monitorowanych/modyfikowanych zmiennych (rys. 3). W polach Trigger Condition for Monitoring/Trigger Condition for Modyfying definiuje się, czy wartość wyświetlanej/ modyfikowanej zmiennej będzie sprawdzana tylko raz, czy też w każdym cyklu programowym.
Tablica VAT jest zapisywana w katalogu "Blocks" w programie S7 i może być w każdym momencie powtórnie wykorzystana poprzez podwójnie wybranie jej klawiszem myszy. Jednak przed uaktywnieniem funkcji Monitor i Modify musi być ustalone połączenie online z CPU.
Ustanowienie połączenia może być wykonanie poprzez wybranie następujących opcji z menu PLC -> Connect to i wybranie odpowiedniej opcji: Configured CPU - automatycznie ustalane połączenie ze stacją MPI, której konfiguracja została zdefiniowana w projekcie i tablica VAT jest zapisana w programie tej stacji; Direct CPU - połączenie jest ustalane z CPU bezpośrednio podłączonym z programatorem poprzez kabel PG-MPI; Accessible CPU - wyświetlane okno dialogowe z listą programów, po wybraniu programu połączenie z CPU jest ustalane na podstawie konfiguracji sprzętowej w programie.
MODYFIKACJA WYJŚĆ W TRYBIE STOP
Modyfikację wyjść umożliwia funkcja Enable Peripheral Outputs, która może być aktywowana tylko w przypadku, kiedy jednostka centralna jest w trybie STOP. Pozwala ona na test okablowania wyjść peryferyjnych. Funkcja ta może być również wykorzystana do sterowania urządzeniami w przypadku wystąpienia błędów.
Sposób modyfikacji wyjść w trybie STOP jest następujący (rys.4):
- otworzyć tablicę zmiennych (VAT) zawierającą listę wyjść peryferyjnych, które muszą być przetestowane lub modyfikowane (modyfikować można poprzez adresowanie typu bajt, słowo lub podwójne słowo - nie można modyfikować pojedynczych bitów wyjściowych!),
- ustanowić połączenie z CPU, wybierając opcje PLC -> Connect to, przełączyć CPU w tryb STOP,
- wprowadzić wartość dla odpowiednich adresów w kolumnie Modify Value,
- uaktywnić modyfikację wyjść, wybierając opcje Variable -> Enable Peripheral Outputs,
- wymusić wartość na wyjściach wybierając opcje Variable -> Activate Modify Values, uaktualnić nowo wpisaną wartość, wybierając Variable -> Activate Modify Values.
Modyfikacja lub wymuszanie wyjść peryferyjnych jest aktywne do momentu dezaktywacji poprzez Variable -> Enable Peripheral Outputs lub wciśnięcie przycisku ESC. Przy zmianie trybu pracy CPU ze STOP na RUN lub STARTUP funkcja jest dezaktywowana z wyświetleniem meldunku.