MCV_RmvPlug
Mit dem FB MCV_RmvPlug wird überprüft, ob und welche der 16 Achsschnittstellen durch nicht quittierte Aufträge der PLCopen-FB blockiert sind. Nach erfolgter Überprüfung können detektierte Blockierungen unter Verwendung dieses FB entfernt werden.
Hinweis
Der FB dient zu Diagnosezwecken und ist nur während der Entwicklungsphase eines Projektes zu verwenden.
Blockdiagramm
Parameter des FB
VAR_INPUT | ||
Variablenname | Datentyp | Beschreibung |
check_plug | BOOL | Startet die Überprüfung, welche der maximal 16 Achsschnittstellen durch einen von der SPS nicht quittierten Auftrag blockiert ist. |
clear_all_plugs | BOOL | Quittiert alle die Aufträge, die eine Achsschnittstelle blockieren. |
clear_ax_01 | BOOL | Mit diesen 16 Eingängen kann für jede Achse separat die Blockierung ihrer Achsschnittstelle durch einen nicht quittierten Auftrag behoben werden. |
… | BOOL | |
clear_ax_16 | BOOL |
VAR_OUTPUT | ||
Variablenname | Datentyp | Beschreibung |
any_blocked | BOOL | Ist TRUE, wenn nach dem Start der Überprüfung der Achsschnittstellen auf irgendeiner Achsschnittstelle die Blockierung durch einen nicht quittierten Auftrag detektiert wurde. |
highest_id_blocked | BOOL | Zeigt die Ordnungsnummer der Achse mit der größten Nummer an, die durch einen nicht quittierten Auftrag blockiert ist. |
blocked_ax_01 | BOOL | Es existieren 16 Ausgänge, wobei jeder für genau eine Achse anzeigt, ob diese durch einen nicht quittierten Auftrag blockiert ist. Ist der Wert TRUE, ist die Achse blockiert. |
… | BOOL | |
blocked_ax_16 | BOOL |
Verhalten des FB:
- Die Beauftragung des Bausteins ist unabhängig vom Zustand der Achse möglich.
- Über den Eingang „check_plug“ wird die Überprüfung auf blockierte Achsschnittstellen gestartet. Eine Achsschnittstelle gilt als blockiert und damit unfähig die Abarbeitung anderer Beauftragungen der zugeordneten Achse zu melden, wenn mehr als 10 aufeinanderfolgende SPS-Zyklen ein Auftrag an der Schnittstelle als abgearbeitet anliegt, aber durch die SPS nicht quittiert wird. Der blockierende Auftrag wird durch seine Ordnungsnummer identifiziert und diese gespeichert.
- Der Ausgang „any_blocked“ wird TRUE, wenn mindestens eine Achsschnittstelle blockiert ist.
- Ist eine Achse blockiert, wird der einer Achse zugeordnete Ausgang „blocked_ax_01“ ... „blocked_ax_16“ TRUE.
- Ist irgendeine Achse blockiert, zeigt der Ausgang „highest_id_blocked“ die größte Ordnungsnummer aller blockierten Achsen an.
- Über den Eingang „clear_all_plugs“ wird für jede blockierte Achse genau der Auftrag durch diesen FB quittiert, dessen Ordnungsnummer für diese Achse gespeichert wurde.
- Über die Eingänge „clear_ax_01“ ... „clear_ax_16“ kann die Blockierung für jede Achse einzeln entfernt werden.