1

Temat: Ekran błędów w Galileo

Witam,
na początek dodajemy do zmiennych globalnych:

    ERROR: ARRAY [0..128] OF BOOL;     (* TABLICA BLEDOW 0 *)
    Control: ARRAY [0..7] OF WORD;       (* SLOWO KONTROLNE *)
    Status: ARRAY [0..7] OF WORD;        (* SLOWO STATUSOWE *)

tworzymy nowy podprogram w CoDeSys pod nazwą przykładową Monitor Awarii
zmienne:

PROGRAM MONITOR_AWARII
VAR
    i: BYTE;
    wynik: WORD;
    zam_stron: BOOL;
END_VAR

program:

(*Obsługa błędów i wyświetlanie strony z błędami*)
    wynik:=0;
FOR i:=0 TO 128 DO  (* Końcowa komórka tabeli błędów*)
      wynik:=wynik+BOOL_TO_BYTE( error[i]);
END_FOR
IF wynik =0 THEN
BRAK_AWARII1:=FALSE;
ELSE BRAK_AWARII1:=TRUE;
END_IF
(* jezeli jakikolwiek alarm wtedy wynik >0 *)
   IF wynik >0 THEN
    BRAK_AWARII:=TRUE;
    zam_stron:=TRUE;
    Control[1] :=2;        (* Strona na którą przełączy się panel - nr strony w Galileo z tabelą błędów*)
    Control[0].6:=TRUE;    (* Odświeżanie komunikatów błędów*)
    Control[0].12:=TRUE;   (* ZMIANA MASKI NA TA KTORĄ PADANO W 2 SLOWIE KONTROLNYM*)

(* SPRAWDZENIE SLOWA KONTROLNEGO*)
           IF Status[0].6  THEN     Control[0].6:=FALSE; END_IF
(*           IF Status[1]=2 THEN     Control[0].12:=FALSE; END_IF*)
ELSE
    Control[0].6:=TRUE;    (* ODSWIEŻANIE KOMONIKATOW  BLEDOW*)
    IF zam_stron THEN
    Control[1] :=0;            (* STRONA NA KTORA PRZELACZY SIE EKRAN*)
    Control[0].12:=TRUE;   (* ZMIANA MASKI NA TA KTORA PADANO W 2 SLOWIE KONTROLNYM*)
(* SPRAWDZENIE SLOWA KONTROLNEGO*)
           IF Status[0].6  THEN     Control[0].6:=FALSE; END_IF
(*           IF  Status[1] =0     THEN     Control[0].12:=FALSE;zam_stron:=FALSE ; END_IF *)
    END_IF

END_IF
error[0];

następnie deklarujemy i przypisujemy tagi ERROR i słowo Control i Status w Galielo, tworzymy tabelę błędów i cieszymy się działającym ekranem...;)

Cokolwiek coś robisz, zawsze ktoś Ci pomaga...
www.falowniki.com - www.codesys.pl - www.psa.pl - www.directautomation.eu - www.szr.pl

2

Odp: Ekran błędów w Galileo

Jak zadeklarować tagi Control i Status? Tagi z Codesysa importuję do Galileo. W Galileo w standardzie są już zadeklarowane te tagi jako systemowe. Program sam narzuca zmianę nazwy na Control1 jako Word.
Tag ERROR zmieniłem na tag typu err i zaznaczam w Tabeli Alarmów.

3

Odp: Ekran błędów w Galileo

Więc jak to zrobić?

4

Odp: Ekran błędów w Galileo

Skontroluj w Galileo czy "uaktywnione" są Status i Control oraz czy są przypisane do komunikacji.
Zdeklaruj je ręcznie w zmiennych globalnych w CoDeSys. (widok: jak.. pierwszy post!)

Cokolwiek coś robisz, zawsze ktoś Ci pomaga...
www.falowniki.com - www.codesys.pl - www.psa.pl - www.directautomation.eu - www.szr.pl

5

Odp: Ekran błędów w Galileo

Wracam do tematu alarmów. Powyższy przykład fajnie działa, ale jak zrobić żeby alarm po wyświetleniu w ERROR WINDOW nie znikał po zaniku taga. Chciałbym żeby w ERROR WINDOW były wyświetlane alarmy historyczne. Jak do tego podejść?

6

Odp: Ekran błędów w Galileo

Jeśli działa to nic nie znika..
wystarczy jak dodasz: fuction key > show history on/off - bedziesz miał przełącznik zdarzenia archiwalne i aktualne
Wszystko jest w przykładach i manualu !!!!
Poczytaj też o ustawianiu markerów alarmów i ich potwierdzaniu dodawaniu do historii itd..