MC_StepReferencePulseDetection_BkPlcMc
Der Funktionsbaustein dient zum Referenzieren eines inkrementellen Wegmesssystems. Dabei gibt der Funktionsbaustein die Position des Referenzpuls über RecordedPosition nach außen. Es wird keine Position gesetzt.
Eingänge
VAR_INPUT
Execute: BOOL;
Direction: MC_Direction_BkPlcMc;
Velocity: LREAL;
Acceleration: LREAL;
Deceleration: LREAL;
Jerk: LREAL;
SetPosition: LREAL;
TorqueLimit: LREAL;
TimeLimit: TIME;
DistanceLimit: LREAL;
BufferMode: MC_BufferMode_BkPlcMc:=Aborting_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Eine steigende Flanke an diesem Eingang startet die Referenzierfahrt. |
Direction | MC_Direction_BkPlcMc | Über MC_Direction_BkPlcMc wird die Richtung vorgegeben. |
Velocity | LREAL | [mm/s] Die geforderte Geschwindigkeit der Bewegung in Istwert-Einheiten der Achse pro Sekunde. |
Acceleration | LREAL | [mm/s2] Die geforderte Beschleunigung in Istwert-Einheiten der Achse pro Quadrat-Sekunde. Ist dieser Parameter 0.0 wird er durch einen Defaultwert aus den Achsparametern ersetzt. |
Deceleration | LREAL | [mm/s2] Die geforderte Verzögerung in Istwert-Einheiten der Achse pro Quadrat-Sekunde. Ist dieser Parameter 0.0 wird er durch einen Defaultwert aus den Achsparametern ersetzt. |
Jerk | LREAL | [mm/s3] Die geforderte Ruck in Istwert-Einheiten der Achse pro Quadrat-Sekunde. Ist dieser Parameter 0.0 wird er durch einen Defaultwert aus den Achsparametern ersetz. |
SetPosition | LREAL | Geforderte Position an der Referenziernocke. |
TorqueLimit | LREAL | reserviert |
TimeLimit | TIME | Nach dieser Zeit wird die Referenzierung mit Fehler abgerochen. Bei null ist die Zeitüberwachung deaktiviert. |
DistanceLimit | LREAL | Nach dieser Wegstrecke wird die Referenzierung mit Fehler abgerochen. Bei null ist die Wegstreckenüberwachung deaktiviert. |
BufferMode | MC_BufferMode_BkPlcMc | reserviert |
Ein-/Ausgänge
VAR_IN_OUT
Axis: AXIS_REF_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | AXIS_REF_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ AXIS_REF_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
Done: BOOL;
Busy: BOOL;
Active: BOOL;
CommandAborted: BOOL;
Error: BOOL;
ErrorID: UDINT;
RecordedPosition: LREAL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Done | BOOL | Hier wird die erfolgreiche Abarbeitung signalisiert |
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Active | BOOL | Hier wird die Betriebsbereitschaft signalisiert. |
CommandAborted | BOOL | Hier wird ein Abbruch des Kommandos signalisiert. |
Error | BOOL | Hier wird das Auftreten eines Fehlers signalisiert. |
ErrorID | UDINT | Hier wird eine codierte Fehlermeldung bereitgestellt. |
RecordedPosition | LREAL | [mm] Ermittelte Position am Referenzpuls. |
Verhalten des Funktionsbausteins
Auf eine steigende Flanke an Execute hin untersucht der Funktionsbaustein das übergebene Achsinterface. Dabei können Probleme erkannt und gemeldet werden:
- Bei der Direction wird MC_Positive_Direction_BkPlcMc, MC_Negative_Direction_BkPlcMc, akzeptiert
Die Parameter Velocity, Acceleration, Deceleration und Jerk werden an MC_MoveVelocity_BkPlcMc übergeben. Nachdem die Nocke erkannt wurde, wird die Position über RecordedPosition mitgeteilt und ein MC_Halt_BkPlcMc hält die Bewegung an. Wird innerhalb von DistanceLimit oder TimeLimit keine Referenzpuls erkannt, so wird die Referenzierung mit Fehler abgebrochen
Während der Bearbeitung meldet der Funktionsbaustein Busy und Active. Nach erfolgreichem Positionssetzen wird Done zurückgemeldet. Meldet ein unterlagerter Funktionsbaustein ein Fehler so wird dieser über Error und ErrorID zurückgemeldet.