Przerwanie powoduje zawieszenie wykonywania programu cyklicznego i wykonanie w tym czasie programu obsługi przerwania. W momencie zakończenia obsługi przerwania następuje powrót do miejsca w programie cyklicznym, w którym nastąpiło jego zawieszenie. Przerwanie czasowe pozwalają zawieszać bieżące działanie programu cyklicznego i wykonywać procedurę przerwania co określony czas. Przerwanie od wejścia cyfrowego reaguje na zmiany sygnału na konkretnym wejściu cyfrowym sterownika. W zależności od konfiguracji może ono wystąpić na zbocze narastające lub opadające sygnału.
Aby dodać przerwanie w ISPSofcie należy w drzewie projektu kliknąć PPM na [Tasks] -> [Task Property], następnie w nowo otwartym oknie pojawi się lista dostępnych przerwań. Wybieramy jego typ, a w zakładce [Task description] definiujemy ustawienia dla tego przerwania. Wyjątkiem są ustawienia interwału czasowego dla przerwania cyklicznego, które ustawiamy w HWCONFIG w zakładce [Hardware Configuration] -> [System Setting] -> [System Parameter].
Następnie wśród stworzonych programów w projekcie należy wybrać, który z nich ma być przerwaniowy, a który cykliczny. W tym celu w zakładce [Task Manager] dla konkretnego przerwania przypisujemy program, który ma być wykonany poprzez wybranie strzałki, tak aby program znalazł się w oknie Assigned POU’s.
Aby program główny mógł zostać wstrzymany na rzecz przerwania w dowolnym momencie należy w pierwszej linii kodu programu głównego dodać instrukcję EI (Enable Interruption). W przypadku, gdy chcemy ograniczyć obszar kodu głównego, w którym zezwalamy na przerwanie należy dodatkowo dodać instrukcję DI (Disable Interruption), która wyłącza zezwolenie na przerwanie. Zatem używając instrukcji EI oraz DI można wyznaczyć konkretny obszar w programie głównym, w którym może wystąpić przerwanie.
Odpowiedzi udzielił Dział Wsparcia Technicznego
telefon: +48 22 290 31 78 wew.3
pomoc@induprogress.pl