MC_StepReferencePulseDetection_BkPlcMc
Der Funktionsbaustein dient zum Referenziren eines inkrementellen Wegmesssystems. Dabei gibt der Baustein 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_INOUT
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 Bausteins
Auf eine steigende Flanke an Execute hin untersucht der Baustein 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 Baustein Busy und Active. Nach erfolgreichem Positionssetzen wird Done zurückgemeldet. Meldet ein unterlagerter Baustein ein Fehler so wird dieser über Error und ErrorID zurückgemeldet.