# Fehlerhandling in Codesys



## Bensen83 (25 Dezember 2012)

Hallo Leute wie regelt ihr denn euer Fehlerhandling? 
Habt ihr einen Baustein, in welchem ihr die Fehler zusammenfasst? Oder habt ihr es irgendwie mit baustein-fehlernummern geregelt? 
Grundvoraussetzung sollte sein, dass mehrere Fehler in der Visu angezeigt werden können. Das wäre ja bei nur einer Fehlernummer nicht so einfach, bzw man müsste die Variable immer wieder mit dem neuen Fehler beschreiben und somit würden die Fehler nicht gleichzeitig in der Visu hoch kommen. 

Habt ihr ne gute Idee für sowas?


----------



## Bensen83 (25 Dezember 2012)

*Struktur einer Fehlerneldung*

Bei Siemens könnte man ja die bausteinnummern nutzen, um eine gewisse Struktur hinterlegen zu können und damit die Fehlernummern lesbar zu machen. 

Wie könnte man das bei codesys machen?
Würdet ihr die Fehler auch in den einzelnen Programmen oder Bausteinen setzen, oder alles in einem Baustein zusammenführen?


----------



## Ralle (26 Dezember 2012)

Fürs Erste vielleicht ein Bitfeld, wie bei ProTool/WinCCFlex. Kommt ja auch darauf an, was für eine Visu zum Melden der Fehler genutzt werden soll.


----------



## Blockmove (26 Dezember 2012)

Ein zentraler Fehlerbaustein als Kopplung zur Visu hat den Vorteil, dass die Instandhalter eine erste "Anlaufstelle" haben.
Egal ob nun eine Störlampe blinkt oder auf der Visu eine Meldung angezeigt wird, der Instandhalter kann sich durch den Störbaustein klicken und schauen was Sache ist.
Oft reiche ich auch nur Bits (z.B. Störmeldung von NC -> Meldebit Visu) durch. Bei großen Anlagen gibt es halt pro Station einen solchen Baustein.

Hat sich bei uns als recht gut erwiesen.

Gruß
Dieter


----------



## Bensen83 (26 Dezember 2012)

*Also externen Baustein*

Ok also wertet Uhr quasi auch nen laufteitfehler von bspw. Einem Ventil in dem Ventilatoren aus, der laufteitfehler setzt aber in einem Zentralen Fehlerbaustein ein fehlerbit, welches die Fehlermeldung in der Visu aufpoppen lässt?

Also schon für jede Meldung ein Bit?


----------



## MSB (26 Dezember 2012)

Bensen83 schrieb:


> Also schon für jede Meldung ein Bit?


Daran wird wohl kein Weg vorbeiführen.
Wie du diese Bits dann mal auf ein gemeinsames Array, Bitfeld, oder ähnliches zusammenfügst,
damit dann auch die meisten Visus was damit anfangen können sei dir überlassen.

Mfg
Manuel


----------



## Bensen83 (26 Dezember 2012)

*Premium HMI*

Ich soll Premium HMI von Asem verwenden. Kennt sich damit jemand aus? Oder sollte ich dies bezüglich lieber in der HMI Kategorie Posten?


----------



## Ralle (26 Dezember 2012)

Bensen83 schrieb:


> Ich soll Premium HMI von Asem verwenden. Kennt sich damit jemand aus? Oder sollte ich dies bezüglich lieber in der HMI Kategorie Posten?



Ich würde da zuerst einmal die Bedienungsanleitung von Asem lesen, das sollte doch was zum Alarmhandling drinstehen, so es das gibt.


----------



## Bensen83 (26 Dezember 2012)

*Ja gib es*

Also man kann jeder Meldung eine Variable und Wert zuweisen. Und wenn dieses Ereignis dann erfüllt ist erscheint die Fehlermeldung.


----------



## Ralle (26 Dezember 2012)

Das heißt, du kannst das an Boolsche oder auch numerische Variablen binden? Man könnte ein Array "Error-Meldungen" anlegen und diese Variablen zur Fehlermeldung nutzen. Oder auch eine Globale Struct, in die jede einzelne Meldung mit einem sinnvollen Namen abgelegt wird, mit dieser Struct dann eine globale Variable "Error-Meldungen" anlegen.


----------



## Bensen83 (26 Dezember 2012)

*Struktur ist Super*

Ich denke ne Struktur ist ganz gut. Muss mir nur erst noch mal ansehen wie premium HMI das mit den Variablen regelt. Also wenn mehrer bools hintereinander kommen, denn für nur ein Bool wird auch ein Byte belegt. Und wenn ich eine kleine Lizenz habe mit 512 Bytes, dann verbaler ich ja schon so viele für die Meldungen. :-(


----------

