Fehlermanagement unter Codesys

Begonnen von JoeFire, 12. Januar 2012, 21:21:51

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

JoeFire

Hallo zusammen

Ich bin vor allem in der Programmierung von mobilen Arbeitsmaschinen tätig. Und da stellt sich ein Problem, welches bestimmt auch bei der Home-Automation interessant ist:

Ein System Verursacht proportional zur Anzahl Ein- und Ausgänge Fehler: z.B Wert Ausserhalb des gültigen Bereichs, Kein Signal, Kurzschluss an einem Ausgang, etc.
Ausserdem können Messwerte Alarmwerte erreichen, es können unplausible Kombinationen von Signalen (z.B Endschalter) entstehen oder Unerlaubte Handlungen ausgeführt werden (losfahren bei gezogener Handbremse).

Fehler sollen auf der Visualisierung gemeldet und geloggt werden.
Ich stelle mir in etwa folgende Varianten von Fehlern vor:

1. Informatonen: z.B. Treibstofftank auf kritischem Niveau. Dies soll gemeldet werden, die Meldung durch Tastendruck quittiert, und erst z.B bei Neustart wieder erscheinen. Auf den betrieb hat dieser Fehler keinen Einfluss.

2. Warnungen: Ausfall eines Sensors der keinen direkten Einfluss auf die Funktion hat, z.B. Treibstofftemperatur.
Dieser Fehler wird wahrscheinlich ähnlich wie eine Warnung gehandhabt.

3. Unkritische Fehler: z.B. Motortemperatur zu hoch. Dieser Fehler Stellt die Motorleistung auf Leerlauf, Der Benutzer kann aber trotzdem Die Drehzahl wieder hochstellen, z.B. um die Maschine von der Strasse weg zu bewegen.

4. Kritische Fehler: z.B. Gassteller defekt. Dieser Fehler stellt den Motor ab. Der Motor kann erst wieder gestartet werden, wenn der Fehler verschwunden ist.

Das sind nur so einige Ideen. Erweiterungen sind natürlich möglich

Wie lässt sich so ein Fehlermanagement beherrschen? So etwas müsste wie ein Schatten mit der ganzen Software mitlaufen. Jeder Eingang, jeder Ausgang, jede Funktion, jeder Wert könnte so auf Gültigkeit geprüft und überwacht werden. Dies wäre vor allem für die Ferndiagnose von entscheidendem Vorteil. (Wenn der Kunde anruft und sagt: "Es geht nichts mehr")

Ich hoffe irgendjemand hier hat schon Erfahrungen mit solchen Systemen und kann mir in dieser Beziehung weiterhelfen.

Grüsse aus der Schweiz
Joel

mactoolz

Hallo,

also wenn es um Auswertung deiner Sensoren geht, musst du dir vom Hersteller die Angaben besorgen.

z.B. sind bei manchen Analoge Eingangswerte gewisse einzelne Bits in dem Wort zum Auswerten der Karte reserviert.
Damit kann man dann seine Ereignisse auslösen lassen.

Daher kann man nicht ganz pauschal sagen wie man seine Störverwaltung aufbaut.
Dafür bist du verantwortlich. Es geben teilweise vom Hersteller eigene Entwicklungsumgebungen die mit Ihren
eigenen Produkten schon selber die Busteilnehmer abfragen und auf Störungen oder sontige Meldungen reagieren.

Aber in erster Linie solltest du selber mal deine Verwaltung erstellen.


MacToolz

T0M

Hallo,
das ist in der Tat ein weites Feld und für die Hausautomatisierung sicherlich interessant.

Eine Möglichkeit, soetwas (im Hintergrund) in den Griff zu bekommen wäre sicherlich, in der Hochsprachenprogrammierung als Wrapping bezeichnetes Verfahren.
Du schreibst Dir Deine eigenen Ausgabe bzw. Eingabe Funktionen. Diesen übergibst Du als Parameter bereits Grenzwerte, Triggerausgänge usw. Damit kannst Du innerhalb Deines Projektes ohne weiteres Überlegen auf die Eingänge und Ausgänge zugreifen, und Deine Wrapfunktion erledigt den Rest.

Das ist aber nur so daherphilosophiert...
Gruß
T0M