Wyświetlanie danych referencyjnych

| Technika

W procesie produkcyjnym zdarza się, że zaprojektowana aplikacja zaczyna źle działać. Do zadań inżyniera utrzymania ruchu należy szybka reakcja na zaistniałą sytuację oraz znalezienie i próba wyeliminowania błędów. W artykule przedstawione zostały podstawowe funkcje sterowników PLC Simatic firmy Siemens, które pozwalają na przeprowadzenie testów diagnostycznych i wykrywanie błędów występujących wtedy, gdy sterownik wciąż pracuje, ale zapisana na nim aplikacja działa nieprawidłowo. Dobra znajomość omawianych funkcji pozwala na szybką reakcję obsługi, próbę poprawy działania aplikacji oraz skrócenie czasu przestoju, co pozwala na zmniejszenie strat i poniesionych kosztów związanych z zaistniałymi błędami.

Wyświetlanie danych referencyjnych

FORSOWANIE WARTOŚCI ZMIENNYCH

Za pomocą funkcji Force możliwe jest ustawienie wartości zmiennych niezależnie od programu sterowania. Okno Force Values jest otwierane tylko dla CPU. W sterowniku S7-300 można wymuszać obszary odwzorowania wejść i wyjść (I/Q). Przed uruchomieniem funkcji Force należy sprawdzić, czy nie jest już ona uruchomiona dla danego CPU.

"Wymuszanie" wartości zmiennych może być skasowane lub zakończone tylko za pomocą polecenia menu Variable -> Stop Forcing. Zamknięcie okna Force Values lub zamknięcie aplikacji Monitor / Modify Variables nie przerywa operacji wymuszania. W celu uruchomienia funkcji Force należy wybrać CPU, w którym będą wymuszane zmienne z poziomu programu Simatic Manager, a następnie:

  • wybrać opcje PLC -> Display Force Values, po czym to ostanie uruchomiona aplikacja Monitor/Modify Variables z oknem Force Values i listą adresów, które aktualnie są wymuszone w CPU wraz odpowiadającymi im wartościami (rys. 5),
  • w kolumnie Address wprowadzić zmienną i w kolumnie Force Values podać wartość, jaką chcemy nadać zmiennej,
  • uruchomić wymuszanie za pomocą opcji Variable -> Force,
  • W momencie zakończenia wymuszania wybrać opcję Variable -> Stop Forcing.

Rys. 9. Okno funkcji Call Environment of the Block

Rys. 10. Określenie sposobu wyświetlania danych referencyjnych

PUNKTY ZATRZYMANIA

Za pomocą punktów zatrzymania (breakpoints) istnieje możliwość przetestowania programu linia po linii z każdorazowym wyświetleniem zawartości rejestrów. Ustawienie punktów zatrzymania jest możliwe tylko w języku programowania STL. Można zaznaczyć kilka punktów zatrzymania w momencie przetwarzania programu, jednak ich liczba zależy od typu CPU. Z punktów zatrzymania można skorzystać, jeżeli zostaną spełnione następujące wymagania: w parametrach CPU musi być ustawiony tryb Test Operation, testowany blok musi być otwarty w trybie online, w edytorze LAD/FBD/STL musi być wybrana opcja View -> STL, testowany blok nie może być zabezpieczony.

Testowanie z wykorzystaniem punktów zatrzymania można uruchomić w edytorze LAD/FBD/STL poprzez menu Test lub za pomocą paska narzędziowego Breakpoint Bar (rys. 6), uaktywnianego za pomocą opcji menu View -> Breakpoint Bar. Kolejne funkcje z paska Breakpoint Bar są opisane w tabeli 1. Jeżeli przetwarzanie programu zawierało zatrzymanie w ustawionych punktach, CPU przełączy się z trybu RUN w tryb HOLD. W tym trybie świeci się czerwona dioda LED Stop oraz jednocześnie miga dioda zielona LED Run. Wyjścia są dezaktywowane dla celów bezpieczeństwa. Funkcje Execute Next Statement i Execute Call wymagają wolnych zasobów w zakresie wolnych punktów zatrzymania.

TESTOWANIE BLOKÓW

Do sprawdzania działania programu wewnątrz wybranego bloku może być wykorzystywana funkcja testująca Monitor Block, pozwalająca na wyświetlanie w momencie przetwarzania programu stanów oraz wartości adresów wykorzystanych w bloku programowym. Aktywacja aplikacji monitorującej status bloku (rys. 7) jest wykonywana na bloku otwartym pod edytorem LAD/STL/FBD poprzez wybranie opcji Debug -> Monitor lub za pomocą ikony .

Rys. 11. Okno ze strukturą programu, ustawianie filtru

Rys. 12. Lista Cross-referencess

Monitorowanie stanu może być uaktywnione dla otwartego bloku typu online lub offline. W momencie aktywacji sprawdzane jest, czy blok otwarty w edytorze jest identyczny z blokiem umieszczonym w sterowniku. W przypadku różnic edytor nie pozwoli na monitorowanie i należy testowany blok przeładować do CPU lub otworzyć blok znajdujący się w CPU. Stan bloku jest wyświetlany tylko wtedy, gdy jednostka centralna jest w trybie RUN oraz instrukcje są przetwarzane przez system.

W trybie testowym stany adresów i elementy graficzne LAD/ FBD są wyświetlane w różnych kolorach (zmianę ustawień definiuje się za pomocą opcji Options -> Customize), np. jeżeli warunek jest spełniony, to element jest wyświetlany na zielono, natomiast jeśli warunek nie jest spełniony, to element jest wyświetlany na niebiesko.

Podczas monitorowaniu programu w języku STL istnieje możliwość określenia, jakie informacje mają być wyświetlane (określa się je za pomocą opcji Options -> Customize -> STL), są to: RLO - wynik sprawdzenia logicznego; STAT - status adresu (binarnego); Default (Akumulator 1)/ Accumulator 2 - zawartość akumulatorów 1 i 2; AR1/AR2 - rejestry adresowe 1 i 2, wartość podawana tylko przy adresowaniu pośrednim; DB Register 1/DB Register 2 - Numer globalnego lub pierwszego/drugiego otwartego bloku DB; Indirect - Zawartości MD, DBD lub LD, które są wykorzystywane przy adresowaniu pośrednim; Status Word - Stan bitów statusu (OV, OS, BR).

Standardowo wyświetlane są dane: RLO, STATUS i STANDARD (akumulator 1). Istnieją dwa tryby pracy testowej CPU, tzw. przetwarzanie procesowe lub testowe, które mają wpływ na czas cyklu przetworzenia programu. Wywoływane są z poziomu edytora LAD/ STL/FBD poprzez wybranie Debug -> Operation i zaznaczenie opcji Test Operation / Process Operation (Rys. 8) lub w konfiguracji sprzętowej CPU (HW Config): CPU -> Protection -> Process Mode / Test Mode.

Rys. 13. Filtrowanie listy Cross-References

Rys. 14. Otwieranie bloku z listy Cross-References

W trybie Test Operation wszystkie funkcje testowe mogą być wykonywane bez ograniczeń. Status pętli programowej jest uzależniony od każdorazowego jej przetworzenia. Czas cyklu programowego może się zmieniać w zależności od liczby wykorzystywanych funkcji testowych. CPU przechodzi w tryb Stop tylko w momencie przekroczenia nastawionego czasu skanowania. W trybie Process Operation istnieje możliwość czasowego ograniczenia liczby funkcji testowych. W tym trybie definiuje się o ile maksymalnie może wzrosnąć cykl programowy podczas programowego testowania CPU.

Przy wybraniu tej opcji nie jest możliwe krokowe testowanie programu lub poprzez zaznaczenie punktów zatrzymania (breakpoint) oraz monitorowanie jednego z kilku wywołań tego samego parametryzowalnego bloku. Do monitorowania parametryzowanego bloku (FC,FB), który jest kilka razy wywoływany w programie z różnymi parametrami aktualnymi, służy kolejna funkcja diagnostyczna - Call Environment of the Block (rys. 9).

Funkcja jest uaktywniana z menu edytora LAD/FBD/ STL: Debug -> Call Environment. W konfiguracji sprzętowej HW Config musi być zdefiniowany tryb Test Mode. Za jej pomocą definiowane jest monitorowanie wybranego wywołania bloku, jednak musi być ono zaprogramowane jako wywołanie bezwarunkowe. Jeżeli blok jest otwarty, pod edytorem LAD/STL/FBD istnieją dwie możliwości warunków wywołania (Call environment) monitorowanego bloku: Call-up Path oraz Open Data Block.

Za pomocą wywołania Call-up Path (wykorzystanie stosu B STACK) zaznacza się monitorowany blok w drzewie struktury (można zdefiniować do trzech zagnieżdżeń monitorowania). Za pomocą wywołania Open Data Blocks definiuje się blok, który ma być monitorowany i z jakimi blokami danych: Global DB Number (1 rejestr DB) lub Instance DB Number (2 rejestr DB).

WYŚWIETLANIE DANYCH REFERENCYJNYCH

Przy rozległych programach praktycznie zawsze jest stosowane wyświetlanie danych referencyjnych. Szczególnie kiedy mają być sprawdzone: aktualny stan adresu, gdzie i w jaki sposób adres został użyty, które wejścia i wyjścia są aktualnie wykorzystywane w programie oraz jakie są elementy programu i jaka jest jego budowa. Funkcja Reference Data umożliwia przegląd struktury programu sterowania oraz listy użytych adresów.

Tabela 1. Funkcje paska narzędziowego punktów zatrzymania

Dane referencyjne są generowane na podstawie programu zapisanego na programatorze w trybie offline. Korzystając z danych referencyjnych razem z funkcją Program Status, można szybko znaleźć błędy funkcjonalne np. podwójnie zastosowany adres. Generowanie i wyświetlanie danych referencyjnych jest wywoływane z poziomu oprogramowania SIMATIC Manager (przy zaznaczonym katalogu "Blocks") lub w edytorze LAD/STL/FBD poprzez wybranie opcji Options -> Reference Data -> Display lub ->Filter and Display (rys. 10). W oknie Customize określa się postać list, w których będą wyświetlane dane referencyjne.