Błędy czasu zwykle występują podczas uruchamiania sterownika S7-1200. Błędy czasu mogą być wywołane przez dowolny z następujących warunków:
- Przekroczono maksymalny czas cyklu
- Nazywany OB nadal wykonywany
- Przepełnienie kolejki
- Utrata przerwań z powodu nadmiernego obciążenia przerwaniami
Wszystkie zdarzenia błędów czasu wyzwalają wykonanie OB 80, jeśli istnieje. OB 80 zawiera informacje startowe, które pomagają określić, które zdarzenie i OB wygenerowały błąd czasu. Jeśli OB 80 nie istnieje, wówczas CPU ignoruje błąd, gdy przekroczony zostanie maksymalny czas cyklu.
Zdarzenie błędów czasu – co to jest ?
lp. | Zrozumienie zdarzenia błędu czasu |
1. | „Przekroczono maksymalny czas cyklu” Jeśli program cykliczny przekroczy maksymalny czas cyklu, reakcja będzie następująca:
System operacyjny monitoruje czas wykonania programu cyklicznego pod kątem konfigurowalnego górnego limitu znanego jako „Maksymalny czas cyklu”. „Maksymalny czas cyklu” znajduje się we właściwościach sterownika PLC S7-1200.
|
2. | „Wywoływany OB nadal jest wykonywany” Wywoływany OB jest aktualnie wykonywany. Jest to możliwe dla OB przerwań opóźnionych czasowo i OB przerwań cyklicznych. |
3. | „Przepełnienie kolejki” Wystąpiło przepełnienie kolejki OB przerwań. Dla każdej grupy priorytetów przerwań istnieje kolejka. Jeśli zdarzenie przerwania wystąpi, gdy odpowiednia kolejka jest pełna, generowane jest zdarzenie błędu czasu. |
4. | „Utrata przerwań z powodu nadmiernego obciążenia przerwaniami” Przerwanie zostało utracone z powodu nadmiernego obciążenia przerwaniami. |
Instrukcja „RE_TRIGR”
Instrukcja „RE_TRIGR” (monitorowanie czasu cyklu ponownego wyzwalania) umożliwia zresetowanie timera mierzącego czas cyklu. Jednak ta instrukcja musi być wykonana w OB cyklu programu. Instrukcja „RE_TRIGR” jest ignorowana, jeśli jest wykonywana w innych blokach (na przykład OB 80). Jeśli maksymalny czas cyklu skanowania zostanie przekroczony dwukrotnie w tym samym cyklu programu bez wykonanej instrukcji „RE_TRIGR”, CPU natychmiast przełączy się w STOP.
Aby wstawić instrukcję „RE_TRIGR”:
- Przejrzyj okienko instrukcji, aby znaleźć „Instrukcje rozszerzone” > „Sterowanie programem” > „RE_TRIGR”.
- Przeciągnij i upuść tę instrukcję do sieci OB cyklu programu.
Rys. 02
Informacje dodatkowe!
Używaj instrukcji „RE_TRIGR” ostrożnie. Powtarzające się wykonanie instrukcji „RE_TRIGR” może stworzyć nieskończoną pętlę lub bardzo długi skan. W wyniku tej niekończącej się pętli program cykliczny nigdy się nie kończy, a wyjściowy obraz procesu nigdy nie zostanie zapisany. Dlatego nigdy nie otrzymasz stanu zachowania na wyjściach.
Obsługa zdarzenia błędu czasu za pomocą OB „Przerwanie błędu czasu”
System operacyjny wywołuje OB 80 „Przerwanie błędu czasu”, jeśli wystąpi jedno z wcześniej wymienionych zdarzeń.
Lp. |
Obsługa zdarzenie błędu czasu za pomocą OB „Przerwanie błędu czasu” |
1. | Dodaj OB „Przerwanie błędu czasu”
UWAGA!!!
|
2. | Monitorowanie informacji startowych OB „Przerwanie błędu czasu”
|
3. | Analiza informacji startowych OB „Przerwanie błędu czasu” OB „Przerwanie błędu czasu” zawiera następujące informacje startowe:„identyfikator błędu” (BYTE) „fault_id” określa typ błędu.
„csg_OBnr „(OB-DOWOLNY) „csg_prio” (UINT) |
A Ty już przekroczyłeś czas cyklu PLC? Opisz w komentarzu Twoją sytuację
Kurs wideo
Więcej na temat programowania w języku SCL znajdziesz w kursie Sterownik PLC w praktyce: