Fehlermeldungen per Blinklicht ausgeben

Zuviel Werbung?
-> Hier kostenlos registrieren
Habe seit einigen Monaten einen WäscheTrockner, der über ein rechteckiges Feld mit mir zu kommunizieren versucht, in dem in einigen Zeilen und Spalten angeordnet, winzige Symbole rot aufleuchten oder auch nicht.
Du musst noch von chinesisch auf deutsch umschalten. In unserer Sprache gibt es weniger Symbole 😂
 
Das daraus eine handfeste Diskussion werden würde hätte ich nicht gedacht 😁
Das überrascht mich jetzt nicht wirklich.

Leidenschaftliche Diskussionen, ob an einer so einfachen Maschine ein so teures Display wirklich notwendig ist, dürften schon öfters geführt worden sein.



Besonders ist mir eine kleine Maschine für eine Messe in Erinnerung. In der Planungsphase musste ich mich bereits rechtfertigen, warum ich ein Grafik-Display einsetzen will.

Meine Argumente waren:
- Identisches Bedienkonzept (verglichen mit den etwas aufwändigeren Anlagen)
- Copy/Paste zu 90% anstatt Suche nach ganz neuen Lösungen
- identische Artikel für vereinfachte Ersatzteilhaltung
- Flexibilität für Erweiterungen

Nach heißen Wortgefechten blieb es dann bei einer roten Lampe für einen „Sammelfehler“ (ohne Morsecode!). Die 5 infrage kommenden Fehler sollte ein durchschnittlich intelligenter Bediener innerhalb 5 Minuten alle prüfen können.

Sonntag Abend vor dem ersten Messetag klingelte mein Telefon. Am Apparat der verantwortliche Entscheidungsträger für die rote Lampe. Er war sehr freundlich (obwohl wir uns sonst nicht immer toll verstanden) und schilderte mir sein Problem: „Die Maschine ist aufgestellt, mit Spannung versorgt, die rote Lampe leuchtet und es ist absolut kein Problem ersichtlich.“
Das fand ich so nett, dass ich auch ganz freundlich war (mir das laute lachen verkniff), und antwortete: „Kann ja nicht so wild sein, ein durchschnittlich intelligenter Bediener sollte doch in 5 Minuten alle erdenklichen Möglichkeiten geprüft haben. Falls das doch nicht klappt, dann einfach nochmals anrufen.“

Nach ungefähr 25 Minuten klingelte das Telefon erneut – leider nicht mit der Info, dass der Fehler gefunden war.
Hilfsbereit wie ich bin, gingen wir gemeinsam alle Fehlermeldungen der Wahrscheinlichkeit nach durch. Das dauerte etwas, denn die 5 ursprünglich geplanten Fehlermeldungen wuchsen bis zur Fertigstellung auf über 35 an.
Am Ende der Liste angekommen war der Fehler nicht gefunden!

Jetzt kam ich selber ins Schwimmen – hatte ich in der Software doch noch ein Schnitzer der bisher unentdeckt blieb?
Laut denkend erwähnte ich: „Wir sind inzwischen alle möglichen Fehler durchgegangen – mit Ausnahme vom Not-Aus, weil ist ja selbstverständlich – jetzt weiß ich nicht mehr weiter…“
Da höre ich im Hintergrund ein „Klack“ – „Juhu, es geht!“

Seither hatte ich deutlich weniger Diskussionen, wenn wiedermal ein an einer kleinen Maschine ein „überteuertes“ Display zum Einsatz kommen sollte. :cool:
 
Deckt sich mit meiner Erfahrung. Ich sag den Leuten immer, BEVOR der Quittierknopf gedrückt wird, nen Handyfoto von der Alarmtafel und dem Visubild machen! Manchmal klappts auch ;)
Ansonsten stehn die Meldungen dann aber im Alarmarchiv bzw. im Leitsystem. Also sinnlos sind die ausführlichen Meldungen nicht 😑
Scheinbar wird das schnelle quittieren von Störmeldungen zum Reflex.
Ganz besonders wenn die Blinklampe noch von einer Hupe unterstützt wird.
Daher sind Meldearchive eine sehr gute Erfindung!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Scheinbar wird das schnelle quittieren von Störmeldungen zum Reflex.
Ganz besonders wenn die Blinklampe noch von einer Hupe unterstützt wird.
Daher sind Meldearchive eine sehr gute Erfindung!
Also wer zu seinem Blinkcode noch ein Meldearchiv will. Ich hätte hier noch einen Epson Traktor Nadeldrucker.
Bekommt man das Papier eigentlich noch?
 
Jetzt kam ich selber ins Schwimmen – hatte ich in der Software doch noch ein Schnitzer der bisher unentdeckt blieb?
Laut denkend erwähnte ich: „Wir sind inzwischen alle möglichen Fehler durchgegangen – mit Ausnahme vom Not-Aus, weil ist ja selbstverständlich – jetzt weiß ich nicht mehr weiter…“
Da höre ich im Hintergrund ein „Klack“ – „Juhu, es geht!“
Alarmmeldungen mit Archiv ist ein Muss.
Sicherlich wird viele Anwender von ein Alarmflut überwältigt. Dafür ist eine sinnvolle Visu Design ebenso wichtig. Wenn ein Not-Aus gedrückt ist, muss es deutlich auf den HMI angezeigt werden. Den Not-Aus hat sicherlich eine viel höhere Priorität als andere Störungen und muss dementsprechend deutlich angezeigt werden.
Mann kan den Alarmflut auch verringern inden man versucht die von den Not-Aus ausgelöste Folgealarme in das Programm zu muten. Dies benötigt eine gewisse Fleissarbeit, aber ist es Wert genau wegen den bessere Fehlerhantierung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Alarmmeldungen mit Archiv ist ein Muss.
Sicherlich wird viele Anwender von ein Alarmflut überwältigt. Dafür ist eine sinnvolle Visu Design ebenso wichtig. Wenn ein Not-Aus gedrückt ist, muss es deutlich auf den HMI angezeigt werden. Den Not-Aus hat sicherlich eine viel höhere Priorität als andere Störungen und muss dementsprechend deutlich angezeigt werden.
Mann kan den Alarmflut auch verringern inden man versucht die von den Not-Aus ausgelöste Folgealarme in das Programm zu muten. Dies benötigt eine gewisse Fleissarbeit, aber ist es Wert genau wegen den bessere Fehlerhantierung.
Zu dieser Thematik habe ich mir eine doch recht effektive Strategie überlegt. Ich habe ein Signal von der Sicherheitssteuerung an die SPS ob die Sicherheitskreise bereit sind zum quittieren. Solange der Sicherheitskreis unterbrochen ist, wird der Resetbutton ausgeblendet, was einem als Anwender auch sofort ins Auge sticht. Button nicht da: Sicherheit ist n.i.O.
 
Mit 2 Meldeleuchten kann man 16 Meldungen realtiv gut darstellen.
Dazu muss man nur eine Stoerungstabelle anbringen.

hier der Baustein dazu für Step 7 Classic

Code:
FUNCTION FC 74 : VOID
TITLE =Meldungen (16Stk) mittels 2er Meldeleuchten anzeigen
//HINWEISE:
AUTHOR :
FAMILY :
VERSION : 0.1


VAR_INPUT
  MSG_1_8 : BYTE ;    //Meldung 1 bis 8 als Bits
  MSG_9_16 : BYTE ;  
  TAKT_BYTE : BYTE ;    //System Taktmerkerbyte
END_VAR
VAR_OUTPUT
  ML1 : BOOL ;  
  ML2 : BOOL ;  
END_VAR
VAR_TEMP
  MSG_1 : BOOL ;  
  MSG_2 : BOOL ;  
  MSG_3 : BOOL ;  
  MSG_4 : BOOL ;  
  MSG_5 : BOOL ;  
  MSG_6 : BOOL ;  
  MSG_7 : BOOL ;  
  MSG_8 : BOOL ;  
  MSG_9 : BOOL ;  
  MSG_10 : BOOL ;  
  MSG_11 : BOOL ;  
  MSG_12 : BOOL ;  
  MSG_13 : BOOL ;  
  MSG_14 : BOOL ;  
  MSG_15 : BOOL ;  
  MSG_16 : BOOL ;  
  TAKT_100 : BOOL ;  
  TAKT_200 : BOOL ;  
  TAKT_400 : BOOL ;  
  TAKT_500 : BOOL ;  
  TAKT_800 : BOOL ;  
  TAKT_1000 : BOOL ;  
  TAKT_1600 : BOOL ;  
  TAKT_2000 : BOOL ;  
END_VAR
BEGIN
NETWORK
TITLE =Meldungsbits für Einzelbitverarbeitung in Lokaldatenbereich

      L     #MSG_1_8;
      T     LB     0;

      L     #MSG_9_16;
      T     LB     1;

      L     #TAKT_BYTE;
      T     LB     2;

      L     LW     0; // Alle 16 Meldungsbits laden
      L     0; // und auf 0 prüfen
      ==I   ; // wenn 0, dann keine Meldung
      SPB   E0; // keine Meldung

NETWORK
TITLE =Meldung nach Priorität auswählen
//Durch vertauschen der Auswertungen und Sprünge kann die Priortät der
//angezeigten Meldungen in gewünschter Reihenfolge festgelegt werden
      U     #MSG_1;
      SPB   E1;
      U     #MSG_2;
      SPB   E2;
      U     #MSG_3;
      SPB   E3;
      U     #MSG_4;
      SPB   E4;
      U     #MSG_5;
      SPB   E5;
      U     #MSG_6;
      SPB   E6;
      U     #MSG_7;
      SPB   E7;
      U     #MSG_8;
      SPB   E8;
      U     #MSG_9;
      SPB   E9;
      U     #MSG_10;
      SPB   E10;
      U     #MSG_11;
      SPB   E11;
      U     #MSG_12;
      SPB   E12;
      U     #MSG_13;
      SPB   E13;
      U     #MSG_14;
      SPB   E14;
      U     #MSG_15;
      SPB   E15;
      U     #MSG_16;
      SPB   E16;

NETWORK
TITLE =Meldungen 0..3: ML2=AUS

E0:   CLR   ; // keine Störung
      =     #ML1;
      SPA   M0;

E1:   U     #TAKT_1000;
      =     #ML1;
      SPA   M0;

E2:   U     #TAKT_400;
      =     #ML1;
      SPA   M0;

E3:   SET   ;
      =     #ML1;

M0:   CLR   ;
      =     #ML2;
      SPA   END;

NETWORK
TITLE =Meldungen 4..7: ML2=TAKT_400ms

E4:   CLR   ;
      =     #ML1;
      SPA   M1;

E5:   U     #TAKT_1000;
      =     #ML1;
      SPA   M1;

E6:   U     #TAKT_400;
      =     #ML1;
      SPA   M1;

E7:   SET   ;
      =     #ML1;

M1:   U     #TAKT_1000;
      =     #ML2;
      SPA   END;

NETWORK
TITLE =Meldungen 8..11: ML2=TAKT_1000ms

E8:   CLR   ;
      =     #ML1;
      SPA   M2;

E9:   U     #TAKT_1000;
      =     #ML1;
      SPA   M2;

E10:  U     #TAKT_400;
      =     #ML1;
      SPA   M2;

E11:  SET   ;
      =     #ML1;

M2:   U     #TAKT_400;
      =     #ML2;
      SPA   END;

NETWORK
TITLE =Meldungen 12..15: ML2=EIN

E12:  CLR   ;
      =     #ML1;
      SPA   M3;

E13:  U     #TAKT_1000;
      =     #ML1;
      SPA   M3;

E14:  U     #TAKT_400;
      =     #ML1;
      SPA   M3;

E15:  SET   ;
      =     #ML1;

M3:   SET   ;
      =     #ML2;
NETWORK
TITLE =Meldung 16: Beide Lampen blinken abwechselnd

E16:  U     #TAKT_1000;
      =     #ML1;
      UN    #TAKT_1000;
      =     #ML2;

NETWORK
TITLE =

END:  BEA   ;

END_FUNCTION
 

Anhänge

  • Stoerungstabelle.pdf
    40,4 KB · Aufrufe: 9
Zurück
Oben