Beschreibung
Das Motion Control Kommando BM_MoveRelative führt eine kontrollierte Bewegung um die angegebene relative Position zum Zeitpunkt der Aufschaltung aus.
Parameter Eingang |
Datentyp |
Beschreibung |
Execute |
BOOL |
Flankensensitive Ausführung |
Distance |
REAL |
Relative Distanz der Bewegung; [Inc] |
Velocity |
REAL |
Betrag der Geschwindigkeit der Zielpositionierung; [Inc/ms] |
Acceleration |
REAL |
Betrag der Beschleunigung innerhalb der Zielpositionierung; [Inc/ms²] |
Deceleration |
REAL |
Betrag der Verzögerung innerhalb der Zielpositionierung; [Inc/ms²] |
Jerk |
REAL |
Betrag des Sprungs; [Inc/ms³] |
Direction |
BOOL |
Positionierung Richtung; |
Parameter Ausgang |
Datentyp |
Beschreibung |
|
Done |
BOOL |
Zielposition erreicht. Die Achse wechselt in den Zustand Standstill |
|
Moving |
BOOL |
Positionierung gestartet und Ziel nicht erreicht. |
|
Busy |
BOOL |
Parameter Lesen/Schreiben aktiv. |
|
CommandAborted |
BOOL |
Abbruch durch ein anderes Motion Control Kommando, BM_Stop oder Errorstop… |
|
Error |
BOOL |
Parameter Lesen/Schreiben Fehler; ErrorID ist gültig |
|
ErrorID |
DWORD |
Kommunikation ErrorID-Siemens Fehlerliste |
|
Parameter Ein- und Ausgang |
Datentyp |
Beschreibung |
|
Axis |
UDT |
BM Motion Control Achsvariable |
|
Beschreibung
Das
Kommando BM_MoveRelative führt eine kontrollierte relative Positionierung
ausgehend vom Positionsistwert durch. Ist eine absolute Positionierung mit dem
Zustand Standstill abgeschlossen, so wird die absolute Position um den Eingang
Distance relativ geändert.
Das Kommando schließt mit Done = TRUE und dem Zustand Standstill ab.
Mit Execute = TRUE erfolgt eine flankensensitive Ausführung, wobei
die Eingangswerte übernommen werden und das Kommando an dem an Axis definierten
Antrieb umgesetzt wird. Ein erneutes Aufschalten des Kommandos erfordert ein
FALSE nach TRUE Wechsel am Eingang Execute, wobei dieser Wechsel zur
Ausführungszeit des Kommandos mit neuen Eingangswerten eine erneute relative
änderung des Positionierzieles darstellt.
Bewegungskommando:
Die flankensensitive Ausführung bewirkt einen Abbruch des aktiven Bewegungskommandos. Die Ausführung von Abbruch wird mit BM_Stop, fehlender Betriebsbereitschaft an BM_Power oder Errorstop abgebrochen. Bei der Ergebnismeldung ist immer nur eines der Ausgangsbits Done, Busy, CommandAborted aktiv.
Flankensensitive Ausführung:
Zur Ausführung des Kommandos kann der Eingang Execute ein Zyklus TRUE sein. Anschließend wird das Kommando ausgeführt, das Ergebnis Done nur einen Zyklus lang gemeldet. wenn Eingang Execute = 1, Anschließend wird das Kommando ausgeführt, das Ergebnis Done =1. Done wird zurückgestzt, wenn Eingang Execute =0.
Diagramm für Flankensensitive Ausführung:
Diagramm 1:
Diagramm 2:
Zustandskontrolle
über BM_ReadStatus:
Aus Zustand: Standstill,
DiscreteMotion, ContinuousMotion, SynchronizedMotion.
Nach Zustand: DiscreteMotion.
Empfohlene Task: OB1.
Hinweis:
Die resultierende Zielposition muss innerhalb der Positionierstrecke liegen und kann mit geräteseitigen sowie Software-Endschalter begrenzt werden. Wird der Zustand DiscreteMotion in einen anderen Bewegungszustand, z. B. ContinuousMotion verlassen, so ist anschließend gegebenenfalls eine Referenzfahrt (BM_Home) durchzuführen.
Ein Befehl von "BM_MoveRelative" darf nicht aktiviert werden, bevor einem Befehl von andere Funktion Bausein noch nicht erfolgreich ausgeführt wurde.
Und Kommando sollte nicht aktiviert werden bei "BM".AXIS[x].DRIVE.BM_AXIS_STATUS.ParmRW_Active =1, Error durch BM_Reset zurücksetzen.
Eingang Execute:
TRUE:
Flankensensitive Ausführung, die Eingangsparameter werden übernommen.
FALSE: Keine Ausführung, oder Reset der FC-Ausgänge, wenn Initialised bereits
TRUE ist zum Zeitpunkt Execute=FALSE.
Eingang Distance:
Vorzeichenbehaftete Angabe der relativen Distanz in Inkrementen. Bei Baumüller Antrieben entspricht eine Achsumdrehung einer Auflösung von 65536 Inkrementen, die auch Benutzereinheiten genannt werden.
Eingang Velocity:
Angabe als Betrag in Inkrementen pro Millisekunden. Es handelt sich um die maximale Geschwindigkeit der Zielpositionierung die nicht notwendigerweise erreicht werden muss.
Eingang Acceleration:
Positive Beschleunigung als Betrag in Inkrementen pro Millisekunden².
Minimal: 0.07 [Inc/ms²], maximal: 655.35 [Inc/ms²]
Default: 2.00 [Inc/ms²]
Eingang Deceleration:
Negative Beschleunigung als Betrag in Inkrementen pro Millisekunden.
Minimal: 0.07 [Inc/ms²], maximal: 655.35 [Inc/ms²]
Default: 2.00 [Inc/ms²]
Eingang Jerk:
Sprung der Beschleunigungspositionierung. Betrag in Inkrementen pro Millisekunden³.
Minimal: 0.07 [Inc/ms³], maximal: 655.35 [Inc/ms³]
Default: 0.25 [Inc/ms³]
Ausgang Done:
TRUE = Positionierung
ist ausgeführt. Achse wechselt in den Zustand Standstill.
FALSE = Kommando aktiv oder nicht möglich.
Ausgang Moving:
TRUE:
Zielposition noch nicht Erreicht bei einer gestarteten Positionierung.
FALSE: nicht aktiv.
Ausgang Busy:
TRUE: die Service Kommunikation für Parameter Lesen/Schreiben aktiv.
FALSE: nicht aktiv.
Ausgang CommandAborted:
TRUE: Abbruch durch ein anderes Motion Control Kommando, BM_Stop Kommando,
Errorstop oder fehlender Betriebsbereitschaft an BM_Power.
FALSE: nicht aktiv.
Ausgang Error:
TRUE: ein Fehler bei Service Kommunikation für Parameter Lesen/Schreiben vorhanden Info an ErrorID gültig und Error Info. siehe S7 Beschreibung.
FALSE: Kein Fehler aktiv.
Ausgang ErrorID:
die Information von Service Kommunikation Fehler(genaue Info. siehe S7 Beschreibung)
Ein- und Ausgang Axis:
Ein-/Ausgang Parameter Axis ist Nummer von angesteuerte bmaXX Antrieb Gerät.
Am Ein- und Ausgang Axis wird die BM Motion Control Referenz vom Type CPU1500_BM_AXIS_REF angeschlossen. Bei der Programmierung mit der Datenbausteinvorlage "DB5" wird die Variable wie folgt verwendet: "BM.AXIS[x]"
Dabei ist "x" die Achsennummer des Antriebs.