Fehlerbehandlung auf FBSD Ebene

An dieser Stelle könnte man nun zu der Ansicht gelangen, dass der FB bei einer unzulässigen Beauftragung den FBSD in einen Fehlerzustand versetzt, weil es sich ja um einen Beauftragungszustandsautomaten handelt. Dem ist jedoch nach PLCopen Spezifikation nicht so, denn für den FBSD gilt:

Note 3: The transition Error refers to errors from the axis and axis control, and not from the Function Block instances.

These axis errors may also be reflected in the output of the Function Blocks ‘FB instances errors’.

Das bedeutet: ein Bewegungs-FB versetzt den FBSD niemals in den Zustand ERROR, sondern nur ein Fehler, der vom Motion-Controller gemeldet wird. Dazu ist es erforderlich, dass ein achsspezifischer Handler-Prozess die Fehlermeldungen vom HLI entnimmt und in den achsspezifischen Arbeitsdaten, sprich im FBSD, ablegt. Die einzelnen FB sehen den Fehlerzustand der Achse dann über ihre AXIS_REF.

Error-handler versorgt die achsspezifischen FBSD Arbeitsdaten
Abb.: Error-handler versorgt die achsspezifischen FBSD Arbeitsdaten