MC_MoveJog_BkPlcMc
Der Funktionsbaustein startet und überwacht die Bewegung einer Achse.
Eingänge
VAR_INPUT
JogForward: BOOL;
JogBackwards: BOOL;
Mode: E_TcMcJogMode;
Position: LREAL;
Velocity: LREAL;
Acceleration: LREAL;
Deceleration: LREAL
Jerk: LREAL
END_VAR
Name | Typ | Beschreibung |
---|---|---|
JogForward | BOOL | Mit der steigenden Flanke wird das Kommando ausgeführt und die Achse wird in positiver Fahrtrichtung bewegt. Je nach Betriebsart (siehe Mode), fährt die Achse solange das Signal TRUE bleibt oder stoppt automatisch nach einer festgelegten Distanz. Während der Bewegung werden keine weiteren Signalflanken angenommen, auch nicht am Eingang JogBackwards. Bei gleichzeitiger Signalflanke an den Eingängen JogForward und JogBackwards hat JogForward Vorrang. |
JogBackwards | BOOL | Mit der steigenden Flanke wird das Kommando ausgeführt und die Achse wird in negativer Fahrtrichtung bewegt. JogForward und JogBackwards sollten alternativ getriggert werden, sind aber auch intern gegeneinander verriegelt. |
Mode | E_TcMcJogMode | Der Eingang legt die Betriebsart E_TcMcJogMode fest, in der die Handfunktion ausgeführt werden soll. |
Position | LREAL | [mm] relative Distanz, um die in der Betriebsart MC_JOGMODE_INCHING verfahren wird. |
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] 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
Busy: BOOL;
Done: BOOL;
CommandAborted: BOOL;
Error: BOOL;
ErrorID: UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Done | BOOL | Hier wird die erfolgreiche Abarbeitung der Bewegung signalisiert. |
CommandAborted | BOOL | Hier wird ein Abbruch der Bewegung signalisiert. |
Error | BOOL | Hier wird das Auftreten eines Fehlers signalisiert. |
ErrorID | UDINT | Hier wird eine codierte Fehlerursache bereitgestellt. |
Direction: reserviert. Dieser Eingang wurde nur aus Kompatibilitätsgründen ergänzt und sollte nicht oder mit der Konstanten MC_Shortest_Way_BkPlcMc belegt werden. (ab V3.0.8)
BufferMode: reserviert. Dieser Eingang wurde vorbereitend ergänzt und sollte derzeit nicht oder mit der Konstanten Aborting_BkPlcMc belegt werden. (ab V3.0.8)
Verhalten des Bausteins
Auf eine steigende Flanke an JogForward oder JogBackwards wird, abhängig vom verwendeten Mode eine Bewegung gestartet.
- MC_JOGMODE_STANDARD_SLOW: triggert ein MC_MoveVelocity_BkPlcMc bei steigender Flanke und ein MC_Stop_BkPlcMc bei fallender Flanke.
- MC_JOGMODE_STANDARD_FAST: triggert ein MC_MoveVelocity_BkPlcMc bei steigender Flanke und ein MC_Stop_BkPlcMc bei fallender Flanke.
- MC_JOGMODE_CONTINOUS: triggert ein MC_MoveVelocity_BkPlcMc bei steigender Flanke und ein MC_Stop_BkPlcMc bei fallender Flanke.
- MC_JOGMODE_INCHING: triggert ein MC_MoveRelative_BkPlcMc bei steigender Flanke.
Die unterlagerten Bausteine überprüfen das übergeordnete Achsinterfeace und melden die Probleme am Ausgang Error und ErrorID
Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten, wird die Bewegung initiiert.
Sollte während der Abarbeitung der Bewegung vom Bewegungsalgorithmus ein Fehlercode signalisiert werden, wird mit Error und ErrorID:=Bewegungsalgorithmus-Fehlercode reagiert. Wird die vollständige Bewegung durch die Aktivität eines anderen Bausteins verhindert, wird mit CommandAborted reagiert. Erreicht der Bewegungsalgorithmus die Zielbedingungen der Achse, wird mit Done reagiert.
Eine fallende Flanke an Execute löscht alle anstehenden Ausgangssignale. Wird Execute bereits bei noch aktiver Bewegung auf FALSE gesetzt, wird die eingeleitete Bewegung unbeeinflusst weiter bearbeitet. Die Signale am Ende der Bewegung (Error, ErrorID, CommandAborted, Done ) werden für einen Zyklus gegeben.