Herunterladen Inhalt Inhalt Diese Seite drucken

Scanlab RTC 5 Installation Und Inbetriebnahme Seite 578

Inhaltsverzeichnis

Werbung

Kontrollbefehl stepper_init
Hinweise
• Zur Programmierung der Schrittmotorsignale siehe
erung", Seite
• stepper_init stoppt unmittelbar jede zuvor gestartete Schrittmotor-Bewegung des mit
No angegebenen Schrittmotors.
• Das ENABLE-Signal wird lediglich durchgereicht und immer entsprechend gesetzt, hat
jedoch keinerlei Einfluss auf die internen Abläufe.
• Für Period > 0 und Dir >= 0 wird mit Schrittmotor No eine Referenzfahrt mit der ange-
gebenen CLOCK-Pulsperiode in die angegebene Richtung gestartet und der Init-Status
gesetzt. Der erste Clock-Puls wird erst nach einer vollen CLOCK-Pulsperiode gesetzt.
– Ist gleich zu Beginn ein Endschalter aktiviert, versucht die Steuerung in einem Bereich
von ±Tol um die aktuelle Position herum eine Position mit deaktiviertem Endschalter
zu finden, zunächst entgegengesetzt zur angegebenen Richtung. Gelingt dies nicht,
bricht die Suche ab. In diesem Fall bleibt das Status-Bit SWITCH gesetzt (siehe
get_stepper_status).
– Wird ein Endschalter während einer Bewegung aktiviert, so stoppt dort die Referenz-
fahrt. Anschließend wird die Endschalter-Position mehrmals überfahren und ein Mit-
telwert für diese Position berechnet. Zuletzt wird der Schrittmotor mit einer
normalen Zielpositionsfahrt (Init-Status zurückgesetzt, Busy-Status gesetzt) um den
Toleranzwert Tol in die entgegengesetzte Richtung gefahren. Dabei wechselt das
DIRECTION-Status-Signal, während es bei Suchfahrten mit mehrmals wechselnder
Bewegungsrichtung konstant bleibt. Sowohl die interne Positionsvariable (für die
aktuelle Position) als auch der interne Zielpositionswert werden auf den über den
Parameter Pos festgelegten Wert gesetzt. Dieser Wert entspricht also einer gegenü-
ber dem Endschalter um Tol verschobenen Position.
– Wird kein Endschalter gefunden (z. B. weil in der angegebenen Richtung gar kein
Endschalter vorhanden ist), so führt der Schrittmotor eine Endlosfahrt aus. Der
Befehl kehrt dann zwar nach WaitTime Sekunden zurück, damit die Anwendung wie-
der die Kontrolle über das System hat. Die Endlosfahrt des Schrittmotors läuft aber
so lange weiter, bis sie mit einem erneuten stepper_init-Befehl oder mit
stepper_control(Period = 0) gestoppt wird. Siehe hierzu auch
von Endlosfahrten", Seite
• Für Period = 0, Dir < 0 und/oder WaitTime = 0 kehrt der Befehl sofort zurück, damit
die Anwendung sofort wieder die Kontrolle über das System hat. Das Beenden der Refe-
renzfahrt kann dann mit
• Period = 0 und/oder Dir < 0 können für einen Not-Halt genutzt werden. Es wird dann
gegebenenfalls eine zuvor gestartete Schrittmotor-Bewegung gestoppt, aber keine
Referenzfahrt ausgeführt. Auch hier werden Positionsvariable und Zielpositionswert auf
den Wert Pos gesetzt. Dieser Wert entspricht dann der jeweils aktuellen Schrittmotor-
Position. Das DIRECTION-Signal bleibt unverändert.
• Für Period = 0 werden Init- und Busy-Status zurückgesetzt. Es werden keine weiteren
Clock-Pulse mehr ausgegeben, bis Period wieder auf einen positiven Wert gesetzt wird
(dies beeinflusst dann auch nachfolgende Zielpositions-Befehle wie
stepper_rel).
®
®
RTC
4 RTC
5 Neuer Befehl.
Versionsinfo
• Verfügbar ab Version DLL 527, OUT 529, RBF 519.
• Bei älteren RTC
wird der Befehl nicht ausgeführt (get_last_error-Returncode: RTC5_TYPE_REJECTED).
®
®
RTC
5 PCI-Karte, RTC
5 PCI-Express-Karte, RTC
Rev. 1.10 d
10 Befehle und Funktionen
227.
228.
get_stepper_status
®
5-Karten mit DSP-Versionsnummer < 2
®
®
5 PC/104-Plus-Karte, RTC
5 PCIe/104-Karte
Kapitel 9.1.5 "Schrittmotoransteu-
Abschnitt "Anhalten
überprüft werden.
stepper_abs
(get_rtc_version
oder
Bits #16-23)
578

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis