MC_StepReferencePulseDetection_BkPlcMc

MC_StepReferencePulseDetection_BkPlcMc 1:

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.

MC_StepReferencePulseDetection_BkPlcMc 2: 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

MC_StepReferencePulseDetection_BkPlcMc 3: 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.

MC_StepReferencePulseDetection_BkPlcMc 4: 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:

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.